From 79fb086734eded0656fc1274308de894e1c0324e Mon Sep 17 00:00:00 2001 From: Ali Mihandoost Date: Wed, 20 Sep 2023 02:11:17 +0330 Subject: [PATCH 01/20] chore(issue_template): update from latest alwatr --- .github/ISSUE_TEMPLATE/1-bug-report.md | 44 ++++++++++ .github/ISSUE_TEMPLATE/1-bug-report.yaml | 81 ------------------- .github/ISSUE_TEMPLATE/2-feature-request.md | 23 ++++++ .github/ISSUE_TEMPLATE/2-feature-request.yaml | 43 ---------- .github/ISSUE_TEMPLATE/config.yml | 12 ++- 5 files changed, 75 insertions(+), 128 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.md delete mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.yaml create mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.md delete mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.yaml diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md new file mode 100644 index 00000000..79d60038 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug-report.md @@ -0,0 +1,44 @@ +--- +name: 🐞 Bug report +about: File a bug/issue +title: '[BUG] ' +labels: 'bug-report' +assignees: 'njfamirm' +--- + +<!-- +Note: Please search to see if an issue already exists for the bug you encountered. +--> + +### Current Behavior + +<!-- A concise description of what you're experiencing. --> + +### Expected Behavior + +<!-- A concise description of what you expected to happen. --> + +### Steps To Reproduce + +<!-- +Example: steps to reproduce the behavior: +1. In this environment... +1. With this config... +1. Run '...' +1. See error... +--> + +### Environment + +<!-- +Example: +- OS: Ubuntu 20.04 +- Node: 13.14.0 +- npm: 7.6.3 +--> + +### Anything else + +<!-- +Links? References? Anything that will give us more context about the issue that you are encountering! +--> diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yaml b/.github/ISSUE_TEMPLATE/1-bug-report.yaml deleted file mode 100644 index 433fb8ec..00000000 --- a/.github/ISSUE_TEMPLATE/1-bug-report.yaml +++ /dev/null @@ -1,81 +0,0 @@ -name: Bug Report -description: Report a bug to help us improve -labels: - - bug - -body: - - type: dropdown - id: affected-packages - attributes: - label: Package(s) - description: Which @alwatr/* package(s) are the source of the bug? - options: - - fetch - - logger - - router - - signal - - Don't known / other - multiple: true - validations: - required: true - - - type: textarea - id: description - attributes: - label: Description - description: A clear and concise description of what the bug is. - validations: - required: true - - - type: input - id: reproduction - attributes: - label: reproduction link - description: Please provide a link to a minimal reproduction of the bug, for example use [JSBin](https://jsbin.com/) to make a demo. - - - type: textarea - id: exception-or-error - attributes: - label: Please provide the exception or error you saw (Preferably with a screenshot) - - - type: textarea - id: device - attributes: - label: Device or platform - description: What is your device and platform? - placeholder: | - Device: Desktop or Phone - OS: iOS 14.1 - Browser: Chrome - Version: 100 - validations: - required: true - - - type: textarea - id: registeredList - attributes: - label: Alwatr registered list - description: Please provide the Alwatr registered list by running `console.log(JSON.stringify(window.Alwatr.registeredList, null, 2));` in the browser console. - render: console - placeholder: | - [ - { - "name": "@alwatr/logger", - "version": "1.2.3" - }, - { - "name": "@alwatr/signal", - "version": "1.2.3" - }, - { - "name": "@alwatr/router", - "version": "1.2.3" - } - ] - validations: - required: true - - - type: textarea - id: other - attributes: - label: Anything else? diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.md b/.github/ISSUE_TEMPLATE/2-feature-request.md new file mode 100644 index 00000000..0a387f5d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-feature-request.md @@ -0,0 +1,23 @@ +--- +name: '💡 Feature request' +about: 'Request new features or options. Please search for existing issues first. Also see CONTRIBUTING.' +title: '[FR] <title>' +labels: 'feature-request' +assignees: 'njfamirm' +--- + +## Please Describe The Problem To Be Solved + +<!-- Please present a concise description of the problem to be addressed by this feature request. Please be clear what parts of the problem are considered to be in-scope and out-of-scope. --> + +## Suggest A Solution (Optional) + +<!-- +A concise description of your preferred solution. Things to address include: + + * Details of the technical implementation + * Tradeoffs made in design decisions + * Caveats and considerations for the future + +If there are multiple solutions, please present each one separately. Save comparisons for the very end.) +--> diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.yaml b/.github/ISSUE_TEMPLATE/2-feature-request.yaml deleted file mode 100644 index 8f4ee60c..00000000 --- a/.github/ISSUE_TEMPLATE/2-feature-request.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: 'Feature Request' -description: Suggest a feature for Alwatr packages - -body: - - type: dropdown - id: affected-packages - attributes: - label: Package(s) - description: Which @alwatr/* package(s) are the source of the bug? - options: - - fetch - - logger - - router - - signal - - token - - nano-server - - element - - i18n - - math - - font - - Don't known / other - multiple: true - validations: - required: true - - - type: textarea - id: description - attributes: - label: Description - validations: - required: true - - - type: textarea - id: proposed-solution - attributes: - label: Proposed solution - validations: - required: true - - - type: textarea - id: alternatives-considered - attributes: - label: Alternatives considered diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index b86618e0..fb027d79 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,9 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - - name: Telegram group of Alwatr developers - url: 'https://t.me/AlwatrWG' - about: Communication with developers + - name: Discussions + url: https://github.com/AliMD/alwatr/discussions + about: Please ask and answer questions here. + + - name: Contact up + url: 'https://t.me/AlwatrSupport' + about: Direct contact to Alwatr support team at Telegram. From 989d106fd86b63a2a1b01c43d99dd593e8488dbc Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:12:06 +0330 Subject: [PATCH 02/20] chore(workflow): cleanup and update from latest alwatr --- .github/labels.yml | 9 +- .github/workflows/build-lint.yaml | 7 +- .github/workflows/codeql.yaml | 10 +- .github/workflows/lock-closed.yml | 44 ---- .github/workflows/pr-labels.yml | 25 --- .../workflows/publish-alwatr-container.yml | 159 -------------- .github/workflows/publish-npm.yml | 1 - .../workflows/publish-special-container.yml | 201 ------------------ .github/workflows/stale.yml | 52 ----- 9 files changed, 12 insertions(+), 496 deletions(-) delete mode 100644 .github/workflows/lock-closed.yml delete mode 100644 .github/workflows/pr-labels.yml delete mode 100644 .github/workflows/publish-alwatr-container.yml delete mode 100644 .github/workflows/publish-special-container.yml delete mode 100644 .github/workflows/stale.yml diff --git a/.github/labels.yml b/.github/labels.yml index e0e111fe..ec053315 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -1,3 +1,10 @@ +- name: 'bug-report' + color: ee0811 + description: 'Inconsistencies or issues which will cause a problem for users or implementors.' +- name: 'feature-request' + color: 0e9a26 + description: 'Request new features or options.' + - name: 'breaking-change' color: ee0701 description: 'A change that changes the API or breaks backward compatibility for users.' @@ -12,7 +19,7 @@ description: 'Enhancement of the code, not introducing new features.' - name: 'refactor' color: 1d76db - description: 'Updating the code with simpler, easier to understand or more efficient syntax or methods, but not introducing new features.' + description: 'Updating the code with simpler, easier to understand or more efficient syntax or methods.' - name: 'performance' color: 1d76db description: 'Improving performance of the project, not introducing new features.' diff --git a/.github/workflows/build-lint.yaml b/.github/workflows/build-lint.yaml index 0cfcc336..83b68964 100644 --- a/.github/workflows/build-lint.yaml +++ b/.github/workflows/build-lint.yaml @@ -39,10 +39,5 @@ jobs: - name: 🚀 Build Typescript run: yarn build - - name: 🚀 Extra Packages Build - run: yarn build:r - - name: 🚀 Run ESLint - run: yarn lint:ts - env: - NODE_OPTIONS: "--max-old-space-size=4096 --max-semi-space-size=64" + run: yarn lint diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index dbc6037a..5e0c2e37 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -5,10 +5,6 @@ name: CodeQL on: workflow_dispatch: - push: - branches: - - main - schedule: - cron: '0 7 * */2 *' # │ │ │ │ │ @@ -39,14 +35,14 @@ jobs: uses: actions/checkout@v4.0.0 - name: 🏗 Initialize CodeQL - uses: github/codeql-action/init@v2.21.7 + uses: github/codeql-action/init@v2.21.8 with: languages: ${{ matrix.language }} # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality - name: 🏗 Auto build - uses: github/codeql-action/autobuild@v2.21.7 + uses: github/codeql-action/autobuild@v2.21.8 - name: 🚀 Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2.21.7 + uses: github/codeql-action/analyze@v2.21.8 diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml deleted file mode 100644 index e6f77142..00000000 --- a/.github/workflows/lock-closed.yml +++ /dev/null @@ -1,44 +0,0 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json - -name: Lock closed - -on: - workflow_dispatch: - - schedule: - - cron: '5 8 * * *' - # * * * * * - # │ │ │ │ │ - # │ │ │ │ └───── day of the week (0 - 6 or SUN-SAT) - # │ │ │ └─────── month (1 - 12 or JAN-DEC) - # │ │ └───────── day of the month (1 - 31) - # │ └─────────── hour (0 - 23) - # └───────────── minute (0 - 59) - -jobs: - lock: - name: Lock closed issues and PRs - runs-on: ubuntu-latest - - permissions: - issues: write - pull-requests: write - - concurrency: - group: lock-closed - - steps: - - name: 🔒 Lock closed issues and PRs - uses: dessant/lock-threads@v4.0.1 - with: - github-token: ${{ github.token }} - issue-inactive-days: 7 - pr-inactive-days: 1 - pr-lock-reason: resolved - issue-comment: > - Issue closed and locked due to lack of activity. - - If you encounter this same issue, please open a new issue and refer - to this closed one. - # pr-comment: > - # Pull Request closed and locked due to lack of activity. diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml deleted file mode 100644 index db96d579..00000000 --- a/.github/workflows/pr-labels.yml +++ /dev/null @@ -1,25 +0,0 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json - -name: PR Labels - -on: - pull_request: - types: [opened, labeled, unlabeled, synchronize] - -jobs: - pr_labels: - name: PR Labels Verify - runs-on: ubuntu-latest - - permissions: - pull-requests: read - - steps: - - name: 🏷 Verify PR has a valid label - uses: jesusvasquez333/verify-pr-label-action@v1.4.0 - with: - github-token: '${{ secrets.GITHUB_TOKEN }}' - valid-labels: >- - breaking-change, bugfix, documentation, enhancement, - refactor, release, performance, new-feature, maintenance, ci, dependencies - disable-reviews: true diff --git a/.github/workflows/publish-alwatr-container.yml b/.github/workflows/publish-alwatr-container.yml deleted file mode 100644 index c4620ed7..00000000 --- a/.github/workflows/publish-alwatr-container.yml +++ /dev/null @@ -1,159 +0,0 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json - -name: Publish Alwatr Containers - -on: - workflow_dispatch: - - push: - tags: - - 'v*.*.*' - branches: - - next - - main - - pull_request: - paths: - - 'cloud/container/alwatr-*.dockerfile' - - '.github/workflows/publish-alwatr-container.yml' - -env: - REGISTRY: ghcr.io - USERNAME: ${{github.repository_owner}} - # USERNAME: ${{github.actor}} - # USERNAME: Alwatr - -jobs: - build: - if: github.repository_owner == 'AliMD' - - name: Build Container - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - include: - # services - - image: comment - source: services/comment - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Comment API Nanoservice, Distributed simple and fast comment nanoservice. - - - image: flight-crawler - source: services/flight-crawler - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Flight Crawler Nanoservice, Distributed simple and fast flight crawler nanoservice. - - - image: form-registration - source: services/form-registration - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Form Registration API Nanoservice, Distributed simple and fast nanoservice for registering form information. - - - image: storage-server - source: services/storage-server - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Storage Server, Elegant micro in-memory json-like storage nanoservice with disk backed, Fastest NoSQL Database. - - - image: telegram-notifier - source: services/telegram-notifier - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Telegram Notify Microservice, Distributed simple and fast telegram notify nanoservice. - - # uniquely - - image: soffit-pwa - source: uniquely/soffit-pwa - dockerfile: cloud/container/alwatr-pwa.dockerfile - description: Soffit PWA. - - - image: com-pwa - source: uniquely/com-pwa - dockerfile: cloud/container/alwatr-pwa.dockerfile - description: Customer Order Management PWA. - - - image: keep-pwa - source: uniquely/keep-pwa - dockerfile: cloud/container/alwatr-pwa.dockerfile - description: Keep PWA. - - - image: com-api - source: uniquely/com-api - dockerfile: cloud/container/alwatr-services.dockerfile - description: Customer Order Management API. - - - image: flight-finder-api - source: uniquely/flight-finder-api - dockerfile: cloud/container/alwatr-services.dockerfile - description: Alwatr Flight Finder Application API. - - # - image: flight-finder-pwa - # source: uniquely/flight-finder-pwa - # dockerfile: cloud/container/alwatr-pwa.dockerfile - # description: Alwatr Flight Finder PWA. - - - permissions: - contents: read - packages: write - # This is used to complete the identity challenge - # with sigstore/fulcio when running outside of PRs. - id-token: write - - steps: - - name: ⤵️ Checkout repository - uses: actions/checkout@v4.0.0 - - - name: 🏗 Setup Docker Buildx - uses: docker/setup-buildx-action@v3.0.0 - - - name: 🏗 Log into registry ${{ env.REGISTRY }} - if: ${{ github.event_name != 'pull_request' }} - uses: docker/login-action@v3.0.0 - with: - registry: ${{ env.REGISTRY }} - username: ${{ env.USERNAME }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: 🏗 Extract metadata - id: meta - uses: docker/metadata-action@v5.0.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - images: name=${{ env.REGISTRY }}/${{ env.USERNAME }}/${{ matrix.image }},enable=true - - labels: | - org.opencontainers.image.authors=Ali.Mihandoost@gmail.com - org.opencontainers.image.title=@alwatr/${{ matrix.image }} - org.opencontainers.image.description=${{ matrix.description }} - - tags: | - type=semver,enable=true,pattern={{major}} - type=semver,enable=true,pattern={{major}}.{{minor}} - type=semver,enable=true,pattern={{version}} - type=ref,enable=true,event=pr - type=ref,enable=true,event=branch - - - name: 🚀 Build and push container image - id: build-and-push - uses: docker/build-push-action@v5.0.0 - with: - push: ${{ github.event_name != 'pull_request' }} - github-token: ${{ secrets.GITHUB_TOKEN }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - context: . - file: ${{ matrix.dockerfile }} - build-args: | - PACKAGE_SOURCE=${{ matrix.source }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: 🏗 Install cosign - if: ${{ github.event_name != 'pull_request' }} - uses: sigstore/cosign-installer@v3.1.2 - - - name: 🏗 Sign the published container image - if: ${{github.event_name != 'pull_request'}} - env: - COSIGN_EXPERIMENTAL: 'true' - run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 299490bd..aa33ed0c 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -21,7 +21,6 @@ jobs: permissions: contents: read - security-events: write steps: - name: ⤵️ Checkout repository diff --git a/.github/workflows/publish-special-container.yml b/.github/workflows/publish-special-container.yml deleted file mode 100644 index a09aa103..00000000 --- a/.github/workflows/publish-special-container.yml +++ /dev/null @@ -1,201 +0,0 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json - -name: Publish Special Containers - -on: - workflow_dispatch: - - push: - branches: - - next - - main - - pull_request: - paths: - - 'cloud/container/**' - - '.github/workflows/publish-special-container.yml' - -env: - REGISTRY: ghcr.io - -jobs: - build: - if: github.repository_owner == 'AliMD' - - name: Build & Publish Containers - runs-on: ubuntu-latest - - strategy: - fail-fast: true - max-parallel: 1 - matrix: - include: - - image: traefik - path: cloud/container/traefik - description: Clone of Traefik. - version: - short: 1 - full: 1.7-alpine - - - image: alpine - path: cloud/container/alpine - description: A minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size! - version: - short: 3 - full: 3.17 - - - image: nginx - path: cloud/container/nginx - description: High performance Accelerated NGINX optimized for serve static content like CDN. - version: - short: 1 - full: 1.9.2-1.25-alpine - - - image: nginx-pwa - path: cloud/container/nginx-pwa - description: High performance Accelerated NGINX optimized for serve progressive web applications. - version: - short: 1 - full: 1.9.2-1.25-alpine - - - image: nginx-ws - path: cloud/container/nginx-ws - description: High performance Accelerated NGINX optimized for serve static website. - version: - short: 1 - full: 1.9.2-1.25-alpine - - - image: nginx-storage - path: cloud/container/nginx-storage - description: High performance Accelerated NGINX optimized for serve alwatr storage server json. - version: - short: 1 - full: 1.9.2-1.25-alpine - - - image: adminer - path: cloud/container/adminer - description: Clone of Adminer. - version: - short: 4 - full: 4 - - - image: mariadb - path: cloud/container/mariadb - description: Clone of Mariadb. - version: - short: 10 - full: 10.9 - - - image: nocodb - path: cloud/container/nocodb - description: Clone of Nocodb. - version: - short: 0.109 - full: 0.109.2 - - - image: php - path: cloud/container/php/7.4-apache - description: Clone of PHP Apache. - version: - short: 7-apache - full: 7.4-apache - - - image: php - path: cloud/container/php/7.4-fpm - description: Clone of PHP FPM. - version: - short: 7-fpm - full: 7.4-fpm - - - image: php - path: cloud/container/php/8.2-fpm - description: Clone of PHP FPM. - version: - short: 8-fpm - full: 8.2-fpm - - - image: wordpress - path: cloud/container/wordpress/php7.4 - description: Clone of Wordpress. - version: - short: 6-php7 - full: 6.1-php7.4-fpm # latest version support php 7.4 is 6.1 - - - image: wordpress - path: cloud/container/wordpress/php8.2 - description: Clone of Wordpress. - version: - short: 6 - full: 6.2-php8.2-fpm - - # - image: tdlib - # path: cloud/container/tdlib - # description: Cross-platform library for building Telegram clients. - # version: - # short: 1 - # full: 1.8 - - permissions: - contents: read - packages: write - # This is used to complete the identity challenge - # with sigstore/fulcio when running outside of PRs. - id-token: write - - steps: - - name: ⤵️ Checkout repository - uses: actions/checkout@v4.0.0 - - - name: 🏗 Extract Docker metadata - id: meta - uses: docker/metadata-action@v5.0.0 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - images: | - name=${{env.REGISTRY}}/alwatr/${{matrix.image}},enable=false - name=${{env.REGISTRY}}/${{github.repository_owner}}/${{matrix.image}},enable=true - - labels: | - org.opencontainers.image.authors=Ali.Mihandoost@gmail.com - org.opencontainers.image.title=@Alwatr/${{matrix.image}} - org.opencontainers.image.description=${{matrix.description}} - - tags: | - type=ref,event=branch - type=ref,event=pr - type=raw,value=${{matrix.version.short}} - type=raw,value=${{matrix.version.full}} - # type=semver,pattern={{version}},prefix=alwatr- - # type=semver,pattern={{major}}.{{minor}},prefix=alwatr- - - - name: 🏗 Install cosign - if: ${{ github.event_name != 'pull_request' }} - uses: sigstore/cosign-installer@v3.1.2 - - - name: 🏗 Setup Docker Buildx - uses: docker/setup-buildx-action@v3.0.0 - - - name: 🏗 Log into registry ${{env.REGISTRY}} - if: ${{ github.event_name != 'pull_request' }} - uses: docker/login-action@v3.0.0 - with: - registry: ${{env.REGISTRY}} - username: ${{github.repository_owner}} - password: ${{secrets.GITHUB_TOKEN}} - - - name: 🚀 Build and push container image - id: build-and-push - uses: docker/build-push-action@v5.0.0 - with: - context: ${{matrix.path}} - push: ${{github.event_name != 'pull_request'}} - tags: ${{steps.meta.outputs.tags}} - labels: ${{steps.meta.outputs.labels}} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: 🏗 Sign the published container image - if: ${{github.event_name != 'pull_request'}} - env: - COSIGN_EXPERIMENTAL: 'true' - run: echo "${{steps.meta.outputs.tags}}" | xargs -I {} cosign sign --yes {}@${{steps.build-and-push.outputs.digest}} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index c0e74f85..00000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,52 +0,0 @@ -# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json - -name: Stale - -on: - workflow_dispatch: - schedule: - - cron: '2 8 * * *' - -jobs: - stale: - name: Clean up stale issues and PRs - runs-on: ubuntu-latest - - permissions: - issues: write - pull-requests: write - - steps: - - name: 🧹 Clean up stale issues and PRs - uses: actions/stale@v8.0.0 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - days-before-stale: 60 - days-before-close: 7 - remove-stale-when-updated: true - stale-issue-label: stale - stale-pr-label: stale - exempt-issue-labels: 'no-stale,help-wanted,good first issue' - exempt-pr-labels: no-stale - close-issue-label: auto-closed - close-pr-label: auto-closed - stale-issue-message: > - There hasn't been any activity on this issue recently, and in order - to prioritize active issues, it will be marked as stale. - - Please make sure to update to the latest version and - check if that solves the issue. Let us know if that works for you - by leaving a 👍 - - Because this issue is marked as stale, it will be closed and locked - in 7 days if no further activity occurs. - - Thank you for your contributions! - stale-pr-message: > - There hasn't been any activity on this pull request recently, and in - order to prioritize active work, it has been marked as stale. - - This PR will be closed and locked in 7 days if no further activity - occurs. - - Thank you for your contributions! From 1222f871925635a8dc385dd6e8ca05e38618138f Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:12:43 +0330 Subject: [PATCH 03/20] chore(dependabot): update from latest alwatr --- .github/dependabot.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 845dd220..3592b543 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -2,8 +2,7 @@ version: 2 updates: - - - package-ecosystem: github-actions + - package-ecosystem: github-actions directory: / open-pull-requests-limit: 20 reviewers: @@ -17,10 +16,9 @@ updates: groups: github-actions: patterns: - - "*" + - '*' - - - package-ecosystem: npm + - package-ecosystem: npm directory: / versioning-strategy: increase open-pull-requests-limit: 20 @@ -35,11 +33,15 @@ updates: - maintenance groups: production-dependencies: - dependency-type: "production" + dependency-type: 'production' development-dependencies: - dependency-type: "development" + dependency-type: 'development' exclude-patterns: - - "*lint*" + - '*lint*' lint-dependencies: patterns: - - "*lint*" + - '*lint*' + alwatr-dependencies: + patterns: + - '@alwatr/*' + - 'fract' From 32f1280a8a4244365235013da35369f071dfdec0 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:12:52 +0330 Subject: [PATCH 04/20] chore(pr-template): update from latest alwatr --- .github/pull_request_template.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 53729bee..ab55d8be 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,17 +1,3 @@ ## Description -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. - -Fixes #(issue) - -## PR Checklist - -Please check if your PR fulfills the following requirements: - -- [ ] Open an issue for bug report or feature request and mention it to this PR. -- [ ] The commit message follows our guidelines: <https://github.com/AliMD/alwatr/blob/main/CONTRIBUTING.md#commit-message-format> -- [ ] All methods have proper description in `jsdocs` format with `@example` section. -- [ ] Docs have been added / updated (for bug fixes / features). -- [ ] I have performed a self-review of my own code. - -## Other information +<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. --> From fe689492bde6116c4f22d085f2f5ff4cd6afe5d5 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:14:17 +0330 Subject: [PATCH 05/20] chore(.vscode): update from latest alwatr --- .vscode/extensions.json | 4 --- .vscode/settings.json | 59 ++++++++++------------------------------- 2 files changed, 14 insertions(+), 49 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 7becb259..80fa2c0f 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -5,12 +5,8 @@ "dbaeumer.vscode-eslint", "editorconfig.editorconfig", "esbenp.prettier-vscode", - "humao.rest-client", - "irongeek.vscode-env", "jgclark.vscode-todo-highlight", - "redhat.vscode-yaml", "runem.lit-plugin", - "william-voyek.vscode-nginx", "streetsidesoftware.code-spell-checker-persian", "streetsidesoftware.code-spell-checker", "stylelint.vscode-stylelint", diff --git a/.vscode/settings.json b/.vscode/settings.json index 69ee4483..05e9c96e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,4 @@ { - "eslint.packageManager": "yarn", "npm.packageManager": "yarn", "lit-plugin.strict": true, "editor.wordWrapColumn": 120, @@ -15,52 +14,22 @@ "**/*.d.ts": true, "**/*.tsbuildinfo": true }, + "files.associations": { + "*.mt": "routeros", + "*.conf.template": "nginx", + "ssh_config": "ssh_config", + "*.njk": "html", + "ssh-config": "ssh_config" + }, + "markdownlint.ignore": [ + "**/CHANGELOG.md" + ], "cSpell.language": "en,fa,fa-IR", "cSpell.words": [ - "alimd", - "alwatr", - "bottomness", - "calt", - "chatbox", - "checkmark", - "cssprop", - "currentcolor", - "datetime", - "Disconnectable", - "esbuild", - "Fatemeh", - "Fract", - "kubernetes", - "mastmalize", - "metafile", - "mihandoost", - "nanoserver", - "nanoservice", - "noncallable", - "outbase", - "outdir", - "preconnect", - "preload", - "publistore", - "requestable", - "roundot", - "securage", - "Stringifyable", - "Superfast", - "tailwindcss", - "tnum", - "topness", - "tsbuildinfo", - "typescale", - "vazirmatn", - "videocam", - "xlarge", - "xsmall", - "zindex" + "Alwatr" ], "typescript.tsdk": "node_modules/typescript/lib", - "githubPullRequests.ignoredPullRequestBranches": [ - "main", - "next" - ] + "git.autoStash": true, + "git.branchProtection": ["main", "next"], + "githubPullRequests.ignoredPullRequestBranches": ["main", "next"] } From 2147478d7e9e55d31d717634285766b9e1e70e34 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:14:42 +0330 Subject: [PATCH 06/20] chore: cleanup --- .gitconfig | 101 ---------------------------------------- docs/CODE_OF_CONDUCT.md | 11 ----- docs/CONTRIBUTING.md | 67 -------------------------- docs/SECURITY.md | 16 ------- docs/image/logo.svg | 44 ----------------- logo.md | 70 ---------------------------- 6 files changed, 309 deletions(-) delete mode 100644 .gitconfig delete mode 100644 docs/CODE_OF_CONDUCT.md delete mode 100644 docs/CONTRIBUTING.md delete mode 100644 docs/SECURITY.md delete mode 100644 docs/image/logo.svg delete mode 100644 logo.md diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index 17e5b836..00000000 --- a/.gitconfig +++ /dev/null @@ -1,101 +0,0 @@ -[user] - # name = Ali Mihandoost - # email = ali.mihandoost@gmail.com - -[alias] - c = commit -m - ca = commit -am - cl = clone - cl1 = clone --depth=1 - pl = pull --prune --progress --autostash --rebase=true - plm = pull --prune --progress --autostash --rebase=false - p = push - pp = push --prune - pa = push --all - pt = push --tags - b = branch - ba = branch -avv - bd = push origin --delete - s = status -s - st = stash -u - sp = stash pop - m = merge - r = rebase - rc = rebase --continue - ra = rebase --abort - rs = rebase --skip - co = checkout - sw = switch - f = fetch - chp = cherry-pick - d = diff --color --color-words --abbrev - rn = !"git pl && git rebase origin/${1:-next} && git push -f #" - feat = !"git fetch && git switch -c feat/$1 origin/next && git push -u #" - sep = !"git fetch && git switch -c feat/$1 origin/v2 && shift && git cherry-pick $@ && git push -u && gh pr create --assignee @me --base v2 --fill --web #" - l = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- - # Show the diff between the latest commit and the current state - df = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat" - ru = rebase-update # depot_tools specific - t = tag -ln3 - - hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short - type = cat-file -t - dump = cat-file -p - -[help] - autocorrect = 1 - -[push] - default = current - -[pull] - rebase = false - -# so much color -[color] - ui = always - -[color "diff"] - meta = yellow bold - commit = green bold - frag = magenta bold - old = red bold - new = green bold - whitespace = red reverse - -[color "diff-highlight"] - oldNormal = red bold - oldHighlight = "red bold 52" - newNormal = "green bold" - newHighlight = "green bold 22" - -[color "branch"] - current = yellow reverse - local = yellow - remote = green - -[color "status"] - added = yellow - changed = green - untracked = cyan - -[http] - sslVerify = false - -# [credential] -# helper = manager - -[core] - autocrlf = input - -[init] - defaultBranch = main - -[commit] - gpgsign = true - -[filter "lfs"] - process = git-lfs filter-process - required = true - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md deleted file mode 100644 index b86c3580..00000000 --- a/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,11 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of the Alwatr projects, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities. - -Communication through any of Alwatr channels (GitHub, Telegram, Twitter, etc.) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. - -We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the Alwatr projects to do the same. - -If any member of the community violates this code of conduct, the maintainers of the Alwatr projects may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate. - -If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at [ali.mihandoost@gmail.com](mailto:ali.mihandoost@gmail.com). diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index 8dd06315..00000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,67 +0,0 @@ -# Contributing to Alwatr projects - -We would love for you to contribute to Alwatr projects and help make it even better than it is today! -As a contributor, here are the guidelines we would like you to follow: - -## Code of Conduct - -Help us keep Alwatr projects open and inclusive. -Please read and follow our [Code of Conduct](./CODE_OF_CONDUCT.md). - -## Found a Bug? - -If you find a bug in the source code, you can help us by _submitting an issue_ to our GitHub Repository. -Even better, you can _submit a Pull Request_ with a fix. - -## Missing a Feature? - -You can _request_ a new feature by _submitting an issue_ to our GitHub Repository. -After accepted issue, if you would like to _implement_ the feature, you can _submit a Pull Request_. - -## Commit Message Format - -[Follow The Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) - -```txt -<type>(<scope>): <short summary> - │ │ │ - │ │ └─⫸ Summary in present tense. Not capitalized. No period at the end. - │ │ - │ └─⫸ Commit Scope: PackageName|Concept (optional) - │ - └─⫸ Commit Type: fix|feat|refactor|perf|docs|lint|chore|merge|release -``` - -## Type - -Must be one of the following: - -- **fix**: A bug fix -- **feat**: A new feature -- **refactor**: A code change that neither fixes a bug nor adds a feature -- **perf**: A code change that improves performance -- **docs**: Documentation only changes -- **lint**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, lint rules, etc) -- **chore**: Other changes that don't modify `src` -- **merge**: Merge branches, solve conflict, etc -- **release**: Release new version - -## Example - -``` -feat(signal): support signal providers -``` - -### Commit message with description and breaking change footer - -``` -feat(api): allow provided config object to extend other configs - -BREAKING CHANGE: `extends` key in config file is now used for extending other config files -``` - -### Commit message with ! to draw attention to breaking change - -``` -feat(api)!: send an email to the customer when a product is shipped -``` diff --git a/docs/SECURITY.md b/docs/SECURITY.md deleted file mode 100644 index 4bad6071..00000000 --- a/docs/SECURITY.md +++ /dev/null @@ -1,16 +0,0 @@ -# Security Policy - -## Reporting a Vulnerability - -If there are any vulnerabilities in **The Alwatr Library**, don't hesitate to _report them_. - -1. Contact me by `report@mihandoost.com`. -2. Describe the vulnerability. - - If you have a fix, that is most welcome -- please attach or summarize it in your message! - -3. We will evaluate the vulnerability and, if necessary, release a fix or mitigating steps to address it. We will contact you to let you know the outcome, and will credit you in the report. - - Please **do not disclose the vulnerability publicly** until a fix is released! - -4. Once we have either a) published a fix, or b) declined to address the vulnerability for whatever reason, you are free to publicly disclose it. diff --git a/docs/image/logo.svg b/docs/image/logo.svg deleted file mode 100644 index e43746f7..00000000 --- a/docs/image/logo.svg +++ /dev/null @@ -1,44 +0,0 @@ -<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg73227" viewBox="0 0 1024 768" height="768px" width="1024px" version="1.1"> - <linearGradient spreadMethod="pad" y2="30%" x2="-10%" y1="120%" x1="30%" id="3d_gradient2-logo-b5810260-19b1-474e-903f-0767ed69171d"> - <stop id="stop73208" stop-opacity="1" stop-color="#ffffff" offset="0%"></stop> - <stop id="stop73210" stop-opacity="1" stop-color="#000000" offset="100%"></stop> - </linearGradient> - <linearGradient gradientTransform="rotate(-30)" spreadMethod="pad" y2="30%" x2="-10%" y1="120%" x1="30%" id="3d_gradient3-logo-b5810260-19b1-474e-903f-0767ed69171d"> - <stop id="stop73213" stop-opacity="1" stop-color="#ffffff" offset="0%"></stop> - <stop id="stop73215" stop-opacity="1" stop-color="#cccccc" offset="50%"></stop> - <stop id="stop73217" stop-opacity="1" stop-color="#000000" offset="100%"></stop> - </linearGradient> - <g id="logo-group"> - <g id="logo-center" transform="translate(0 0)"> - <g id="slogan" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" transform="translate(0 0)"> - <path id="path73235" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 260.68203,-4.1319943 V -14.46198 c 0,-6.381635 -4.22382,-8.585366 -8.90674,-8.263988 1.19368,0 3.12195,1.193687 3.12195,2.846484 V -4.1319943 C 254.89724,-2.0200861 253.19853,0 251.13253,0 h 13.36012 c -2.11191,0 -3.81062,-2.0200861 -3.81062,-4.1319943 z m 14.50789,0 V -14.46198 c 0,-6.381635 -4.26973,-8.585366 -8.90674,-8.263988 1.19369,0 3.12195,1.193687 3.12195,2.846484 V -4.1319943 C 269.40513,-2.0200861 267.70642,0 265.59451,0 h 13.36012 c -2.066,0 -3.76471,-2.0200861 -3.76471,-4.1319943 z m -29.01578,0 V -22.404591 c -4.132,2.111908 -6.70301,3.213773 -9.87088,3.213773 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 240.43526,-2.0200861 238.73655,0 236.62464,0 h 13.36012 c -2.11191,0 -3.81062,-2.0200861 -3.81062,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(219.39306499999992 64.661272) scale(1) translate(-236.30326 22.756232)"></path> - <path id="path73237" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 303.80739,-1.8364419 c -1.14778,0 -2.02009,-0.8723099 -2.02009,-2.0200861 v -10.743185 c 0,-6.427547 -5.23386,-9.779053 -11.89096,-8.080344 3.62697,-0.229556 6.10617,0.87231 6.10617,3.443328 v 14.370158 c 0,2.6628407 2.20373,4.866571 4.91248,4.866571 1.74462,0 3.25969,-0.91822095 4.132,-2.2496413 -0.36729,0.2754663 -0.78049,0.4131994 -1.2396,0.4131994 z M 286.63666,-14.04878 c 2.15782,0 3.85653,-1.74462 3.85653,-3.856528 0,-2.15782 -1.69871,-3.856528 -3.85653,-3.856528 -2.11191,0 -3.85653,1.698708 -3.85653,3.856528 0,2.111908 1.74462,3.856528 3.85653,3.856528 z m 3.21377,11.6154945 c -1.10186,-1.7446198 -1.14778,-4.1319943 -0.64275,-6.0602583 0.50502,-1.9282642 1.60688,-3.7187952 3.12195,-4.9583932 -4.45337,0.321377 -9.9627,3.443329 -9.9627,8.1262555 0,6.06025826 7.52941,5.92252512 10.32999,4.63701579 -1.19369,0 -2.20373,-0.78048779 -2.84649,-1.74461979 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(267.4567349999999 64.29902200000001) scale(1) translate(-282.36693 23.118482)"></path> - <path id="path73239" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 330.25377,-4.1319943 V -35.167862 C 326.12177,-33.101865 323.55075,-32 320.38289,-32 h 0.32138 c 2.066,0 3.7647,2.020086 3.7647,4.131994 V 0 h 9.59541 c -2.11191,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z M 320.06151,-22.725968 c -6.38163,0 -11.84505,3.581061 -11.84505,11.523672 0,7.9426116 5.46342,11.52367333 11.84505,11.52367333 -3.03013,0 -5.78479,-3.85652793 -5.78479,-11.52367333 0,-7.667144 2.75466,-11.523672 5.78479,-11.523672 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(295.3062649999999 52.249642) scale(1) translate(-308.21646 35.167862)"></path> - <path id="path73241" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 343.4488,-13.038737 c 0,-6.152081 3.30559,-9.64132 4.5911,-9.64132 -6.38163,0 -11.52367,5.142037 -11.52367,11.477761 0,6.381636 5.14204,11.52367333 11.52367,11.52367333 3.16787,0 6.06026,-1.28550932 8.12626,-3.35150643 -9.04448,3.25968434 -12.71736,-3.856528 -12.71736,-10.0086079 z m 8.49354,1.560975 -4.82066,0.275466 h 11.11048 c 0,-7.116212 -4.77475,-11.477761 -9.22812,-11.477761 3.12195,0.826398 2.9383,8.35581 2.9383,11.202295 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(325.6060349999999 64.737447) scale(1) translate(-336.51623 22.680057)"></path> - <path id="path73243" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 415.31142,-14.875179 c 2.15782,0 3.90244,-1.698709 3.90244,-3.856528 0,-2.111908 -1.74462,-3.856528 -3.90244,-3.856528 -2.1119,0 -3.85652,1.74462 -3.85652,3.856528 0,2.157819 1.74462,3.856528 3.85652,3.856528 z m -32,-7.529412 c -3.25968,0 -5.50932,0.964132 -5.50932,0.964132 2.11191,0 4.40746,1.055954 5.0043,3.121951 l 4.31564,15.0588236 C 387.67297,-1.3314204 389.41759,0 391.43768,0 h 2.34146 l -5.23386,-18.456241 c -0.68866,-2.341463 -2.80057,-3.94835 -5.23386,-3.94835 z m 15.93114,0 c -3.25969,0 -5.50933,0.964132 -5.50933,0.964132 2.11191,0 4.45337,1.055954 5.05022,3.121951 l 4.26972,15.0588236 C 403.60411,-1.3314204 405.34873,0 407.36881,0 h 2.38738 l -5.27977,-18.456241 c -0.64276,-2.341463 -2.80058,-3.94835 -5.23386,-3.94835 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(368.8919049999999 64.829269) scale(1) translate(-377.8021 22.588235)"></path> - <path id="path73245" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 429.83151,-26.444763 c 2.20373,0 3.99426,-1.790531 3.99426,-3.994261 0,-2.203731 -1.79053,-3.994262 -3.99426,-3.994262 -2.20373,0 -3.99426,1.790531 -3.99426,3.994262 0,2.20373 1.79053,3.994261 3.99426,3.994261 z m 3.03013,22.2668577 V -22.404591 c -4.132,2.065997 -6.70301,3.167862 -9.87088,3.167862 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 v 10.9268297 c 0,2.1119082 -1.69871,4.13199425 -3.81062,4.13199425 h 13.36012 c -2.11191,0 -3.81062,-2.02008605 -3.81062,-4.13199425 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(416.0805649999999 52.984218) scale(1) translate(-422.99076 34.433286)"></path> - <path id="path73247" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 451.19189,-2.0659971 c -1.74462,0 -3.12195,-1.4232425 -3.12195,-3.1219513 V -21.761836 h 5.14204 v -0.642755 h -5.14204 v -12.166428 c -4.13199,2.111909 -6.70301,3.213774 -9.87087,3.213774 h 0.32137 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 v 21.5781922 c 0,3.3055954 2.66284,5.96843613 5.96844,5.96843613 2.75466,0 5.05021,-1.83644193 5.78479,-4.36154953 -0.45911,1.1477762 -1.60689,1.9741751 -2.8924,1.9741751 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(433.28887499999985 52.846485) scale(1) translate(-438.19907 34.571019)"></path> - <path id="path73249" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 465.66679,-4.1319943 V -35.167862 C 461.53479,-33.101865 458.96377,-32 455.79591,-32 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 459.92791,-2.0200861 458.2292,0 456.11729,0 h 13.36011 c -2.11191,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z m 14.50789,0 V -14.46198 c 0,-6.381635 -4.22382,-8.585366 -8.90675,-8.263988 1.19369,0 3.12196,1.193687 3.12196,2.846484 V -4.1319943 C 474.38989,-2.0200861 472.69118,0 470.62518,0 h 13.36011 c -2.1119,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(452.88571499999983 52.249642) scale(1) translate(-455.79591 35.167862)"></path> - <path id="path73251" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 512.54179,-4.1319943 V -35.167862 C 508.40979,-33.101865 505.83877,-32 502.67091,-32 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 506.80291,-2.0200861 505.1042,0 502.99229,0 h 13.36011 c -2.11191,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(501.76071499999983 52.249642) scale(1) translate(-502.67091 35.167862)"></path> - <path id="path73253" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 530.74901,-22.725968 c -6.38163,0 -11.84505,3.581061 -11.84505,11.523672 0,7.9426116 5.46342,11.52367333 11.84505,11.52367333 -3.03013,0 -5.78479,-3.85652793 -5.78479,-11.52367333 0,-7.667144 2.75466,-11.523672 5.78479,-11.523672 z m 1.92827,0 c 2.98422,0 5.73888,3.856528 5.73888,11.523672 0,7.6671454 -2.75466,11.52367333 -5.73888,11.52367333 6.33572,0 11.79914,-3.58106173 11.79914,-11.52367333 0,-7.942611 -5.46342,-11.523672 -11.79914,-11.523672 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(519.9937649999998 64.691536) scale(1) translate(-518.90396 22.725968)"></path> - <path id="path73255" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 566.08321,-14.875179 c 2.15782,0 3.90244,-1.698709 3.90244,-3.856528 0,-2.111908 -1.74462,-3.856528 -3.90244,-3.856528 -2.1119,0 -3.85652,1.74462 -3.85652,3.856528 0,2.157819 1.74462,3.856528 3.85652,3.856528 z m -15.33429,-7.529412 c -3.25968,0 -5.50932,0.964132 -5.50932,0.964132 2.11191,0 4.40746,1.055954 5.0043,3.121951 l 4.31564,15.0588236 C 555.11047,-1.3314204 556.85509,0 558.87518,0 h 2.34146 l -5.23386,-18.456241 c -0.68866,-2.341463 -2.80057,-3.94835 -5.23386,-3.94835 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(548.3294049999998 64.829269) scale(1) translate(-545.2396 22.588235)"></path> - <path id="path73257" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 579.4488,-13.038737 c 0,-6.152081 3.30559,-9.64132 4.5911,-9.64132 -6.38163,0 -11.52367,5.142037 -11.52367,11.477761 0,6.381636 5.14204,11.52367333 11.52367,11.52367333 3.16787,0 6.06026,-1.28550932 8.12626,-3.35150643 -9.04448,3.25968434 -12.71736,-3.856528 -12.71736,-10.0086079 z m 8.49354,1.560975 -4.82066,0.275466 h 11.11048 c 0,-7.116212 -4.77475,-11.477761 -9.22812,-11.477761 3.12195,0.826398 2.9383,8.35581 2.9383,11.202295 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(577.6060349999998 64.737447) scale(1) translate(-572.51623 22.680057)"></path> - <path id="path73259" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 622.43338,-22.450502 v -10.835007 c 0,-1.790531 1.92826,-4.131995 3.16786,-4.131995 -4.77475,0 -8.90675,2.15782 -8.90675,8.585366 v 24.6542327 c 0,2.1119082 -1.6987,4.13199425 -3.81061,4.13199425 h 13.36011 c -2.11191,0 -3.81061,-2.02008605 -3.81061,-4.13199425 V -21.807747 h 5.14203 v -0.642755 z m 6.47345,-6.381636 c 1.51507,0 2.75467,-1.239598 2.75467,-2.754663 0,-1.515064 -1.2396,-2.754662 -2.75467,-2.754662 -1.51506,0 -2.75466,1.239598 -2.75466,2.754662 0,1.515065 1.2396,2.754663 2.75466,2.754663 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(619.9736849999998 50) scale(1) translate(-612.88388 37.417504)"></path> - <path id="path73261" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 640.43651,-22.725968 c -6.38163,0 -11.84505,3.581061 -11.84505,11.523672 0,7.9426116 5.46342,11.52367333 11.84505,11.52367333 -3.03013,0 -5.78479,-3.85652793 -5.78479,-11.52367333 0,-7.667144 2.75466,-11.523672 5.78479,-11.523672 z m 1.92827,0 c 2.98422,0 5.73888,3.856528 5.73888,11.523672 0,7.6671454 -2.75466,11.52367333 -5.73888,11.52367333 6.33572,0 11.79914,-3.58106173 11.79914,-11.52367333 0,-7.942611 -5.46342,-11.523672 -11.79914,-11.523672 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(637.6812649999998 64.691536) scale(1) translate(-628.59146 22.725968)"></path> - <path id="path73263" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 674.27762,-15.655667 c 2.15782,0 3.90244,-1.74462 3.90244,-3.856528 0,-2.157819 -1.74462,-3.902439 -3.90244,-3.902439 -2.11191,0 -3.85653,1.74462 -3.85653,3.902439 0,2.111908 1.74462,3.856528 3.85653,3.856528 z m -6.97848,11.5236727 V -22.404591 c -4.132,2.111908 -6.70301,3.213773 -9.87088,3.213773 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 661.56026,-2.0200861 659.86155,0 657.74964,0 h 13.36012 c -2.11191,0 -3.81062,-2.0200861 -3.81062,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(668.5180649999999 64.00287) scale(1) translate(-657.42826 23.414634)"></path> - <path id="path73265" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 704.79179,-4.1319943 V -35.167862 C 700.65979,-33.101865 698.08877,-32 694.92091,-32 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 699.05291,-2.0200861 697.3542,0 695.24229,0 h 13.36011 c -2.11191,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z m 14.50789,0 V -14.46198 c 0,-6.381635 -4.22382,-8.585366 -8.90675,-8.263988 1.19369,0 3.12196,1.193687 3.12196,2.846484 V -4.1319943 C 713.51489,-2.0200861 711.81618,0 709.75018,0 h 13.36011 c -2.1119,0 -3.81061,-2.0200861 -3.81061,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(708.0107149999999 52.249642) scale(1) translate(-694.92091 35.167862)"></path> - <path id="path73267" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="m 734.01901,-26.444763 c 2.20373,0 3.99426,-1.790531 3.99426,-3.994261 0,-2.203731 -1.79053,-3.994262 -3.99426,-3.994262 -2.20373,0 -3.99426,1.790531 -3.99426,3.994262 0,2.20373 1.79053,3.994261 3.99426,3.994261 z m 3.03013,22.2668577 V -22.404591 c -4.132,2.065997 -6.70301,3.167862 -9.87088,3.167862 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 v 10.9268297 c 0,2.1119082 -1.69871,4.13199425 -3.81062,4.13199425 h 13.36012 c -2.11191,0 -3.81062,-2.02008605 -3.81062,-4.13199425 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(742.2680649999999 52.984218) scale(1) translate(-727.17826 34.433286)"></path> - <path id="path73269" style="font-style:normal;font-weight:normal;font-size:32px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:none;text-align:center;text-anchor:middle" d="M 769.24453,-4.1319943 V -14.46198 c 0,-6.381635 -4.22382,-8.585366 -8.90674,-8.263988 1.19368,0 3.12195,1.193687 3.12195,2.846484 V -4.1319943 C 763.45974,-2.0200861 761.76103,0 759.69503,0 h 13.36012 c -2.11191,0 -3.81062,-2.0200861 -3.81062,-4.1319943 z m 14.50789,0 V -14.46198 c 0,-6.381635 -4.26973,-8.585366 -8.90674,-8.263988 1.19369,0 3.12195,1.193687 3.12195,2.846484 V -4.1319943 C 777.96763,-2.0200861 776.26892,0 774.15701,0 h 13.36012 c -2.066,0 -3.76471,-2.0200861 -3.76471,-4.1319943 z m -29.01578,0 V -22.404591 c -4.132,2.111908 -6.70301,3.213773 -9.87088,3.213773 h 0.32138 c 2.11191,0 3.81062,2.020086 3.81062,4.131994 V -4.1319943 C 748.99776,-2.0200861 747.29905,0 745.18714,0 h 13.36012 c -2.11191,0 -3.81062,-2.0200861 -3.81062,-4.1319943 z" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423" transform="translate(5.684341886080802e-14 393.27455941650004) translate(761.9555649999999 64.661272) scale(1) translate(-744.86576 22.756232)"></path> - </g> - <g id="title" style="font-style:normal;font-weight:normal;font-size:72px;line-height:1;font-family:'Brandmark Serif 1 Color';font-variant-ligatures:normal;text-align:center;text-anchor:middle" transform="translate(0 0)"> - <g id="path73272" aria-label="A" transform="translate(0 290.0021118835) translate(210.04609124081583 9.06020100000002) scale(1.67) translate(-335.59986 71.8967)"> <path class="c1" d="M130.45412,136.0127h-8.55176h-5.73682h-1.46436v-0.09784 c-4.90967-0.59015-9.04883-4.09705-10.35791-8.96619L89.91359,73.27136C88.63869,68.59326,85.03273,64,80.31007,64h7.11133h3.33789 h2.39893c5.53711,0,10.38477,3.71667,11.82227,9.06403l14.42969,53.67743 C120.6797,131.46417,125.73146,136.0127,130.45412,136.0127z" transform="translate(273.86018 -135.8967)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> <path class="c3" d="M81.52661,126.8394c0,5.464-4.42946,9.89346-9.89347,9.89346c-5.464,0-9.89346-4.42946-9.89346-9.89346 c0-5.46401,4.42946-9.89347,9.89346-9.89347C77.09715,116.94593,81.52661,121.37539,81.52661,126.8394z" transform="translate(273.86018 -135.8967)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423"></path> </g> - <g id="path73274" aria-label="l" transform="translate(0 290.0021118835) translate(338.4983162408158 -3.015552299999996) scale(1.67) translate(-409.51736 79.12769)"> <path class="c1" d="M115.39272,135.98645h-8.55151h-5.76099h-1.44019h-5.76111h-8.55151 c4.7229,0,8.55151-4.54877,8.55151-9.27167V73.24536c0-4.7229-3.82861-9.27167-8.55151-9.27167h-0.72009 c7.14111,0,12.91187-2.48407,22.23389-7.20129v7.20129v62.74109C106.8412,131.43768,110.66982,135.98645,115.39272,135.98645z" transform="translate(324.91004 -135.90009)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> </g> - <g id="path73276" aria-label="W" style="display: none;"> <path class="c1" d="M132.77895,136h-5.73682c-5.53711,0-10.38477-3.71674-11.82227-9.06403l-14.42969-53.67706l0,0 c-1.26953-4.7229-6.32104-9.27167-11.04395-9.27167h8.55151h5.73682h1.46436v0.09778 c4.90991,0.59009,9.04907,4.09717,10.35815,8.96625L132.77895,136z M63.08949,64.08508v-0.09784h-1.46436h-5.73682h-0.00024 h-8.55151c4.7229,0,9.77441,4.54871,11.04395,9.27161l14.42969,53.67712C74.2477,132.28326,79.09535,136,84.63271,136h5.73682 L73.4474,73.05127C72.13857,68.18219,67.99916,64.67523,63.08949,64.08508z" transform="translate(400.54802 -135.990239)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> <path class="c3" d="M152.66336,73.20929c0,5.4909-4.45125,9.94215-9.94215,9.94215c-5.49089,0-9.94215-4.45126-9.94215-9.94215 s4.45126-9.94215,9.94215-9.94215C148.21211,63.26714,152.66336,67.71839,152.66336,73.20929z" transform="translate(400.54802 -135.990239)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423"></path> </g> - <g id="path73278" aria-label="a" transform="translate(0 290.0021118835) translate(571.2013894591842 42.25999138000002) scale(1.67) translate(-551.28653 52.016586)"> <path class="c3" d="M92.81198,95.67287c0,4.80633-3.89629,8.70262-8.70262,8.70262s-8.70263-3.89629-8.70263-8.70262 s3.8963-8.70263,8.70263-8.70263S92.81198,90.86655,92.81198,95.67287z" transform="translate(476.803 -135.979582)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423"></path> <path class="c1" d="M125.51649,130.8963c-1.94861,3.07715-5.37329,5.1037-9.28491,5.1037 c-6.07202,0-10.99414-4.92224-10.99414-10.99408v-21.9093l0,0V92.67084c0-5.77515-5.60547-8.30469-13.78052-7.71332 c14.93555-3.84058,26.7428,3.70215,26.7428,18.1391v24.26324c0,2.49243,2.02051,4.51294,4.51294,4.51294 C123.77223,131.8728,124.74648,131.50763,125.51649,130.8963z M91.355,130.52014c-2.495-3.92169-2.57288-9.25568-1.45789-13.63892 c1.10559-4.34613,3.56592-8.36798,7.05029-11.21008c-10.04639,0.74463-22.46387,7.84131-22.46387,18.36176 c0,13.57349,16.91797,13.33148,23.26221,10.38977C95.09499,134.40155,92.73769,132.6936,91.355,130.52014z" transform="translate(476.803 -135.979582)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> </g> - <g id="path73280" aria-label="t" transform="translate(0 290.0021118835) translate(659.4198575591842 -0.772912639999987) scale(1.67) translate(-601.11196 77.784792)"> <path class="c1" d="M117.87318,126.94781c-0.00073,0.00177-0.00195,0.00323-0.00244,0.005 c0.00098-0.00409,0.00269-0.00793,0.00391-0.01202L117.87318,126.94781z M111.37099,131.33075 c-3.87256,0-7.01172-3.13922-7.01172-7.01166V86.99786h11.52222v-1.44025h-11.52222V65.39404v-7.20123 c-9.32202,4.71722-15.09277,7.20123-22.23389,7.20123h0.72021c4.72241,0,8.55078,4.54816,8.55151,9.27045v48.59625 c0,7.45184,6.04077,13.4928,13.49268,13.4928c6.17163,0,11.375-4.1438,12.98096-9.80072 C116.82948,129.5199,114.31166,131.33075,111.37099,131.33075z" transform="translate(518.98658 -135.977602)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> </g> - <g id="path73282" aria-label="r" transform="translate(0 290.0021118835) translate(735.9790369591842 41.14720191000001) scale(1.67) translate(-643.95578 52.682927)"> <path class="c1" d="M107.4391,136h-8.55151H93.1266h-1.44019h-5.76099h-8.55176c4.72314,0,8.55176-4.54877,8.55176-9.27167 v-24.66437c0-4.72284-3.82861-9.27161-8.55176-9.27161H76.6537c7.14111,0,12.91187-2.48407,22.23389-7.20129v7.20129v33.93597 C98.88759,131.45123,102.7162,136,107.4391,136z" transform="translate(567.30208 -136.000657)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#fcfcfc" stroke="#fcfcfc"></path> <path class="c3" d="M123.34632,92.02036c0,4.80633-3.8963,8.70262-8.70263,8.70262s-8.70262-3.89629-8.70262-8.70262 s3.89629-8.70263,8.70262-8.70263S123.34632,87.21404,123.34632,92.02036z" transform="translate(567.30208 -136.000657)" stroke-width="0" stroke-linejoin="miter" stroke-miterlimit="2" fill="#d69423" stroke="#d69423"></path> </g> - </g> - <image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAIABJREFUeF7tfXmcHFW1//dUT08SkgCZqg4QQF80EYTp6oBhVUCQRVF54BKZrk4woiL4RMH154I8FBR4gohsKrJkqoMDz+3H5gL8QEWBSNLdAwEDooKBTHdPgExI0jNd5/e5NdWTzmSWqu6q6m7m3r8gc+85535vfbvq3nsWgmwSAYnAuAiQxEYiIBEYHwFJEPl0SAQmQEASRD4eEgFJEPkMSARqQ0C+QWrDTY6aIghIgkyRhZbTrA0BSZDacJOjpggCkiBTZKHlNGtDQBKkNtzkqCmCgCTIFFloOc3aEJAEqQ03OWqKICAJMkUWWk6zNgQkQWrDTY6aIghIgkyRhZbTrA0BSZDacJOjpggCkiBTZKHlNGtDQBKkNtzkqCmCgCTIFFloOc3aEJAEqQ03OWqKICAJMkUWWk6zNgQkQWrDTY6aIghIgkyRhZbTrA0BSZDacJOjpggCkiBNtNCFbHp/wLqRrbblsUWn/62JTJuypkiCNMnS92e74xbo9wDmMqHAZeXEuYu6VjeJeVPWDEmQJlj6vtXmQiWCPwpyVJmzkYETYrrx1yYwccqaIAnS4KXPP75yHkWsh0F44xim9JPCR6mdqScbbOaUVS8J0sClX7/qhl3a22f9AcDB45tB/yaiI9R41/MNNHXKqpYEadDSMzMVcyt7AP7QZCYQY005Ej1qbueSgcn6yr/7i4AkiL94upZWzKbPZ/D3XA8A3aHGu5YQEbsfI3vWi4AkSL0I1jC+kFl5GMgSm/I2L8MJOF/VjSu9jJF960NAEqQ+/DyPdvYdWQBv9jwYGGS2Do8llj5ew1g5pAYEJEFqAK2eIYWc+X0wPluHjKc2zS4dNH/+8q11yJBDXSIgCeISKD+6FdaYh0LBXwDUhzvhEi1ufM0Pm4KQsSF325vbrPL7Op6O/pCWLCkHoSMsmfUtVFhWvg70MF+oFHMLHwGw2IfplMmihLoo+YQPsnwR8eqqtDYYtVJMtNQ5tr5Z043lvghvoBBJkJDAL2bTyxn8Ux/V3a/Gk8c3+lSrkEkfB8LZAJ8CoL0yP0Xhd3R0pv7k43wbIkoSJATY1627e9qcLRvXAdjXT3VMyvti8a67/JTpRpaYT8fWjSke3kvFdxpDWKfFjbe4kdXsfSRBQlihQs48F4yrAlCVU+PrFhFdaAUgeyeRzz/cM2OXmaWzmOiLAOaNp5PBF8X01DfDsCloHZIgASPMq26IFttn/R3APoGoInxQixs/D0S2I9Sew7TZnwKzOBjYY1JdFDlAi5++dtJ+LdBBEiTgRSrk0ikwrwhQzV/VePKQoPYixVx6CTNf4uHe5ilNN94a4HxDFS0JEjDchaz5mE8nV+Naqlh0VMeipLiZ960V16QPZIWvAXCMN6F0maYnv+xtTPP2lgQJcG3ymRUHEymBx3MwuCempz7ix1SG9xmDFzHhc15dYYR+Br0zpicf9MOWZpAhCRLgKhRy5rVgcQQaeBtsL9G8XRcnC/Vo6susOEpRlBvBWFijnM2qEu2gziWlGsc33TBJkICWhB94oK2grX+RGFpAKnYUS3SuFk9eXYsu7u1pL1iD3yHgvLpu+Qm/0eLGu2uxoVnHSIIEtDLFXPoEZv5tQOJ3EkugP6h68miv+pxw39smDtpyKZXp61oiebHL3i3RTRIkoGUq5LqvAdM5AYkfSyyXifbaI57c4Fanc0J1I4BZbsdM2I/pXVoieb8vsppEiCTIGAuRz3V/PhZPeQhm2lGIiBYs5NLPEjA/1HVm/qiWSN0ymU7u6Yn07zf4XSZ8YbK+Hv7ONIN3VxemXvUwpum7SoKMWqJ81jQI6Fa4HO9ILOutZQX7nlixQCkrwrUk1EaE29S40TWR0uK67l15C90O4ERfjXsduZdU4yIJUoVGX2/Pnoo1KDKIzCHQj1U9+claHqJC1vwogJtqGVvnmPVqPLnPeJeGxdzKfZkt4bu1s/9UnYpB+F8tbkwaX1+vmrDHS4JUIV7Ipm+vSqKwjYeUN8UO7lrvdVGKWfMGBmoil1ddo/u3cflNuyeWPTf6352LP3FoMK4PVZ26v63pxjfqlNF0wyVBnCXJ51a+l9i6c4cVIlynxQ3PG+1C1hSXgxOk8gnuOSDmD6uJ1B3VGvK5lYuJrXsBqIFpJizT4kaQLjWBmT6RYEkQAM89d9P0XTe1P8HAm0aBNQSK6F4c78QGuLj/oEjPM70RK0qgz6t68oqK7v7e7rdbFt0NYNcg7QnC3SVIe93KlgQBUMiYXwVhvPP7B9V48li3zoCN2qDbC074jUrRUyo32U6Ir8j3O9vtA1FrP0UZemNH5xn/qnX8ROPsU7cDSvtZFhYB2I+Y5oMwjxgqK5jJjDYCygy8RsBGBm9QoNyr6sm694FTniAvZW6d20aRZyZ8iBjnaAnjOjeLX8x1n8hMv3HT1+c+j1tK9JhKcrm+XnORYkHcSczxWc+Y4rYMRHfZ98glW/zS1d97yxssq+0UME4CQVyAenkDWlD4cK0zJRxF62qhEKR/Vc9uVvvgPQD+DsaTCvHqbUPtq/Y6eEm+Lut9GFzImj8E8OlJRL0Giix286lVzJlnMuMnPpjmRcQLPKQcVjlQEEkTIlx+eFQybC/yPPfVdHE6Xl/r6+2ZRdZgkgBxCnhErdIY9P2YnhRuM3W3uiflxoJ8tvsTBPrRGH2fJuBBJr6XpuO+sC+ZNq5e+R/liPV0dSz1+PPhtdy+7bDY/mdummjOxaz5DQYucoOLT322WJby9kqphBcf74lF2wYFORb4JN+VGDW+LlJrZGNhzS17s9J2PgEf9/imGMu2F2kG7+/XsxQKQYpZ80GG/ZqcqJUI+D0z91iR9v8NIw9tPmP+hAhnunoC7E98vqvjqfb/nCiVTT5rXuE4/bkVW1c/ZkrGEsmVQogT+/7/ABxel9AaBpdKAzPnLT7rNS9DX3mip6NUHvwaDb/Bp3kZO25foqVaPNnti6y6PDddWuB847/kUZcA+mdMyrWxeNcql6o8dXMuzZ4FEPU0EPRTNd718fE27YWsKTKXhJPuhvEDLWGMJKErZNM3A3yGt/n401spRXfvWLzkFTfSRAqkQm7BmQT6LoAON2Nc9nlMja87vNY32Vg6An+D1PtNzow/QeHvap3GXW5PktyAWU+GQwLf0BE3zh7LnnzGvI0IvgQvTTKPx1Ql+o7KiVUxY36WCd93M/cg+rQBHbvrxsbJZNub73LbzSAcO1lfr38PIlgrcIIUsmYPgA97newY/VdbwNdj8eQ99RLFOTR4oU4v1rRaGvgoLT5rsNpWH+c7EWQDZYos2iN+ungDophNH8Hgh2qJAPRhXWwRkXJpzpyDlr88kbx8ZsUpRIpwptzdL71Vcn6n6Ya//mUeP3s8z8nJJtjn6w0u44FyxDpvj86lGc8GOQOEty4x/U+t46vG/d5SoqdV75cKGfNWEER2wcAagT5WOeN/OWvOGQLWAHhDYApdCLaU6Ozx9o22d3M2/U0iBJYKiJiPUBMpkdbV1xboG6TY230AWxREekyLgatYiV7gdTM/XLgmLTxta8muPgb4/Eg00n7ybgcu6Rd/HD5FGrof4E5fV6oijHGnqidPqbxFC9n0zwE+LRBdHoSqxXlROvbYodFD7JRB0Vk3BvyjcZ+mG8d7MNd110AJErhXK+OfrFgfjcWXipMbV62QNQWQv3PV2WUnAmWiJRxfiQnfkEvvEQH/oY7Y7vE0vwpr6ABt0Rn/Fh0KGXMZCJPGf7icRj3dSppu7HQKJUJ5i9ag+MT+z3qETzaWiE5U40lf17SiM2iCiBjp/5psgvX+nYgv79i2+Wuj9wNjyS1mu9MMmjBmokZ7cu0lOq5CEucmWOSm9TNh3Gc03RAXmxB3B1DaRLxKEN/zniAQZatjcSNWPUjE5Bc71v8MhA94Eua5M/Wq8S693n3peGqDJsh9AI7zPOfaBvwF1tCHKr+uY4lwNucvAphRm4pJR62OlEvHVTarziemIEn9DzFhnbpt4MDKj0Ax230ng947qUXhdHha0439K6rEZ2x/zryOQWcFrZ7Bn4zpqR8HpSdogohPgaDiD8bAhF8iKB9Q9eSfxwIs8E8+kReK8aetm6MnVPyS+rLm0crwJ91I5vMaF3O5phs3i7H5TPr9RPzrGuX4PowJf4zFjaMqgkM8ct5kKdF5XvehXgAIjCDOrW4jqiBtBcEYK19tPtt9D4GCT0sjNtJPR0+t3LgXcuZSMG71sjCj+uY3zpiz78KFJ28T/17MptcwOFGHPL+H3q7pxhKbvFnzbQSIOigRv5WMlkfAj1TdCPQtFRhBXs7cOn+IIiJpcyMaM/CpmG6M+H9tXH3T7uVIuzhy9nhzXqP5o4KtCtn0pQB/qUZpl2q68RUxtpDpfheIhAt70zQGrozpxvnD5DXPY2AkHiVII4mUt6vxLuF3FlgLjCDFTPfhTDTmp05gsxkluDq6Lp8xTyeC7bMUViPm89REyr7ddgKpROCS58sstiL7xRad/jebIDuGBYc1lQn1EONzasKwyzvks+krCSzSlgbaCPh7Rzy5IKjNecX4AAmSfjcTCxf3hjUiPkmNp+zkbYWsKRzYjJCNKZOF96qLDDs+RJQpK7WzqFDrpZDOnzXdOFKMdzx1xb4unLegS7CY+P2xeMoOVy5kzV8Gfaxrm8X0HS2R/KpLE2vuFhxBhtPm/6xmy+ofuG3LQHSO2Cw7l4PCYXJu/WI9S9jYxuW3VRIpOG9WkYnd5Tc6/5emp0SWdQRYiMfzpKoH7PiGM8XF8AF1CXQxmIHFMd0IPDF4YASp5JdyMdegujyo6cY7hfD+XFq3mGt2TfHBwNUbZ8w5orLJLmTTXwH4Oy7kWkNc3mvPxDKxdxK/zo8COMTFuDC7lNTivJniFt2++1DXC0/soN9wL6jx5BuC/rwSIAZGEB9ObupaZAa+FdONC5rml5f4Wi2esiMX7Rjr/QfvnzRGhvGAljDse6SXsuab2gDbObGZGjHWqAnjoGGcb3sruCzyigXahDe1qqc+FagSR3hgBGnEprgaMGJ6j5pIilQ3zbSxPVXTjV8Jm5xoxtyEHsVVGdsLWVMUpRHxE83WbtJ042PCqHwm3UXE6cANDKHsXGUOgRGkkE2fCvAvAgdrHAXt0SFt17eeUXQI8gLAezfKlope4ZLBFI3P7Vwi9kPixOcsAl8/nl2RNvzHnAOMfw7PofsvAB3W6DnspL8qoUUxY17uc77fMadbvbZB4xEcQRp4Xs/AczHdsHNcOelEhXtJkzT6taYnbec9JxxAZB4Zq8zZk5puHCj62c6PzGIOga1XreBYlnJwJR6+kDWF06jHkm2eNec03dA9j6pxQGCAb+hdkYhYiohTaECjX2h60naS68uaJytA6LXEJ5x0Vdx0PrNiPyIlO9oVpfryrYm8dkdPa5P6VHSO8BhwqvmKgKldAl1wxvVawgijapc9jcAI0shf7h026O5PjAJd12rh4lNr2jZ6a8Xzt5Dr/jaYRInlkWYB752rG+JisVF3OJPiwcA9Md042bZxjXkoFNvFJOg24pMWtKJACeLcPYgjv9BTcFZn+ihku1cAlAoDTG866BZNT4r8T3gpc+vMNoo8VeUaX+b2rXMqKYYK2e4XAdrTm/zgezPhi7G4YUdmhnWIoID1Dj0lDjdCaYG9QYZB634SoNBrZldfIhVy5iNgHBoKmt6UsKLwUR2dKeEOj3y2O0kg0xHxV003Fg9jmN4f4LXeRIfTWyFKdMST4vNQEER4LAcS1Vc1m0G1NDDTTdyPXwgES5CceQcYH/TLWLdyqjNsFLKmqPwaXFZzt0aN3e9xNb7uEJGmxtmwi5jqQ1CVzmeCpHv1aa5/9POabthx8M4bUIQc1+vSP4lV1KvpSf9rm0ygNVCCFLPpCxj83/WvhScJrOmGIkY4IZ+2i3gTt5Fv6kImfRyI72OwEdNT9n1CqHm2vIF0jaYbdrRoIWuKUznhgxVsa0CRnkAJMmbNjWAhtKWrSnSayBfl7IPKQR5G+DCd5zfNLr1l/vzlduxMIWvex1bk7O3eu6YIq7WPe5upsYLjYp3GA3WS2AK4j5heYoJ4A21i8DYFKEP4kbC9fxUFRkVE5h4Abgm7SE+gBBGpJQfLg/ZlXZhtcCg6t5IYu5A1xdHjbmHq96qruqaHCDjS4utWi8+u5x/umTFj1qDIBezSsdGr5pr796lPRedVHe+Ki8/JMiSKDPqPMtMaJn6CKfL03G2v/CvM/UQtsw2UIM6vS+i/gGRRp7ooaacbKmRNkZz6LbWAE+KYvlJpYP7o3LaF3u5DYJFwUGyyxldreupcYVRxjXkSK7BdenZs/BIz3aUo9Nsh4EEv5ambabKBEySfNb9HgB1tFlYjC++uxGCEdLriw9T4y5qeuqxaUDGbXs5gkeu3qRqTckglZ/KoRHl9IKwkpp91xP/2yGQ5coX378bYv+ZZQ217Wgq0CPFstjCdFGpjRpkZW6HwgIJI/xBow6vTd32h4hEdFiCBEySIPFSTg7NDDMW1YIR28zq5beP26FdK0TdVJ4Au5rovY6Yv1iEziKEjrh6inodiDQoXmIdBfL26bfOd430y5Z9csZcyGDmSyVpMIN0C3krD2SC9fD4yQOsBfgqEXoBWWUr5L3MPXCo+3wJpgRPEcUFw843q5wS3n7BkzLNBuNZP4QHK+oamG9+uyC9kTeHseWqA+ryLrvIwFi74UYWnq52pnVzcRd3HWQPT30WwRGqi4wNIoldtuyDN/czK3ZHBtrvdZpl3M/nACSKMKGTTNwJsu0SH0UTqnVjCeIetOzwXCD+mtmHjjDlv3B5YZYqEBDVXWvLDoFEyykNcnlcJ4BotX9zl9PcuOJ5Z5CYmcfQbeG3EMeZYAuO3pHB3//SOX9b7SRYKQfK5Fe8kVuwjwR0a458grAbxE2B6Bkz/IsYGq73cr0Rp87ZXNg8p0Rm0SztPL29tnz3UBg3W0DwFynxW+C0M0okhgnVmjpK8RS0N7CZe96E50fn0NBKwRNWN24d/WMxvAfi6T6L9EPN7TTdOGC3IPq20SmfBorNAeKMfinySUSTGTUoUP6yEDXiVGwpBnPuIvwE8a/hkg39nRfih2AFL63ZDFxu9fGx9Z8Si4xgscl6JMNsogY6sJJArZE2RNMFzNhGvYPrSn3GnljDeL2Q11iN659kwkIrpRsUdBmJfgaHIlwj8ycC9eOsDV9yF3QaKXOymzmS1qlAIMvypc8veauK5Fyc72agPB8BOLxotnaoQ+jr0lJ1VpZBLfwbMP6hXdkjjtw1xWd0zsWzz8Fsk3RTBXuJEd9Ps0j4jF5qZ9CUgO71PUGlcg4DbAmgFsfV1NZES9WEmbaERZCxLRG0LC3y4BdKZsICYFoB4b7B9sSe+XwX4okDNFoBfc25c/wk7qzuvhcWPav37ZMdKu1+tzym3JiLzGjrfSVfD6cBMp8QSyf8r/jfAZNtuzRnuV5Vmx0mn+qA3AU3Ve4so/9Y/Y/dLJ9ujhPrAOFkvxCeQOJkRJbiEp2+9Nmwl4FGL6U6w8quKi8bo5Qgp2s2np4Au0/SkiEFvlrffVkuJzq+ECjdj8roagH+GQMvGy+NckVfvw+nKrnxu5WJiPtsp9BJ0Yfsnmfin7Ur7TZWiNs6DlgLzClcGN7pTVTaTfDZ9DIFd1z8JyPSRY3OnBrvwTvByfxGQWTWJHWLgOy/PmHPxZG8PIT0wggxXMl3YRYCowtqIXE5bmWFqevITwu/NSaYtPrOE01uztz5NN2w7nSrBGxpo8GZLiS4YSTThsXR2A+0eS/UzTEqXl8rJvhPErg2RXfkBJr4ojAx7ky3ADqGrmfTXQDxyETfZ2Eb+fYjLs7Zv1M0tjYjMdH5BL1B1Qxw3o++JFQuUsiKCt9oaiU1tuunXNMNaqi5MveplvK8E6c/c2mlRRGRUb6bLrZH6dcV13bvyFnrOheepFwwD6Tsqnee/PObz9cumZzfNLnVud8VP3w7wh/wSHpYcYvxPh578Ui2ZGH0hiPP5Ii60xMYy6LSTnnGtroCaz5lfIMblnoWEPUDhQ7XO1GP2/ilrirDWUCPp7OkyH68lUqJKmMjh1Qx7Ic+rUB0373mwH3sQpw7IHQAOrsWAUMZUbXrtKEMe7A3YN6juaVnAMXN1Q9Q+FwRZBeBtdQv1IqAqvY4Tmbm6GT6ZvUyhuiyDl3HVfet6gzilwETlpPpr8NU6A5fjFPDJIxeHDUxq59JcKAq/o5LQoQEEeXKIy4dW9kD5rHkRAd9wa3sz9CPChWrcqDvcu2aCOLfTomhKzTJCBnKH7+li1ryBAeEi0ZRtVMZCsTEeKZIZsMGbQJHDKi4ZTtCWcJpsoY359pRK9WJV08M9VqKzeg0Jafy3KzHNTiYOUV9iv5B0e1JDpLxBjXc973xiiXCBMI6nGcBplQTbzqGGKPjzZk/GN7Iz4dGN0+cc7eaOw42ZngnSiAhBNxNx2WeImI9SEymRXgfFNekDWWHx3yIxQDO1sloamGF7I/f0RIr7D5YA2JlagmzVsfGOg+nPmy4eZWIAXo2UlcScg7r+4RdOnggSVvY8vyY3jpxnuX3rQduzFtopa8SDEPgD6GFez2q6sUD0d+4e1nkYW2vXkUKhQkA+Y15IhG/WKqxB43xPS+qaIGHUGA8PVPq1Gu86tXIuXsiaIr/T1eHpn0QT4+dawrAT7oVSE51wlRY3RgpvNrr4UU3rQPiNFjd8L/HtiiBO7WuRInNaTcY356CR/Ygwr5Dr/j9guqQ5TN2ewCHwX3LCJVrcGEmc7eQyE6G+TXefNcHa9PGQclDs4K71fq/fpAQR9cWHIu2PEzDfb+WNlsfEZ8fiqZECNvlc9+eJyU7G3Mi2Q9aQrCmq9O4UxeeDfSKI6HOabvywIquY6z6RmUQFrNATjtcxn62KwsdXjsTrkDPm0EkJIrKSEOFMZixyTnwmHeO3kQHKs5hhxBLGbRUdzufFjQ38Bd2gxpN7VTlYbgwgKOllsnB6JTVS1adcT4uRQ5D8g5VTtyCeE08Pu4jWK08rHUVMJwE4BcNpW1q9CZA/runGzZWJ9K9Jv8NSrNsbU3Jge1K2fK77fcRkB0752P7axuUPV8pSC7nFXPfHmOmG1rrrgMXAsuoQYB8xGhHliSCjDShm00cA1hkMMprwqNQLXkygL6h68orKIKcAkPASCOLzZlzbdvi8ypm3gLHMy0Qm6FsG02Xq4KZvVnJXDWeUX3AxQF/xSUdYYiwCfVzVkzcFrbAuglSMyz9142ylNOMTDP48gHlBGx2UfCb8RNs2cM72B4ipmEuL0s2ipnkIdyX8iKanDhfzc5KyiQvC0Rlbapn+48JrIKYb4mLUbq+uSmuldhYJGFojmcX2WQ+BaLkWT3bXAoTXMb4QpKJUJAvbddO0cxgsPHuDjhz0Ole3/f8cKSvJ6sumYqZ7Hyh0OTNOdyukpn5V5Y0LmfQ5IL6mJjkjg/glBi7Q4s/cWJ0sozDsiybejq32Y7aFiZfE4qk768PF/WhfCTLy67T2FnVbqe1SIohkcYHocD/Fmnq+wsCnR3/f2n5JTN8CQ+zBfG3EWNOhJw+2s/6LT5/ehU/V4XGcB+iKIR66uuJwKIwVb3oqTRdvw3NacF36wMopWqIrjDqII2sb6MPrFIQRm999fX2aQhImilS2lZVzRrsu9K1ZeZBC1nkgfNinU58SWDm6svj5rGkQUMsnhIjHv3pw2+ZbR2eKL+a6P8LDR9j7hASfb2oIlFHKdKqfLiRujQuUIMIIcY9Sjky7BWBx6tWK7TUwXaUMtl06OuerSFs0CFpCzB8B4agaT4G2EXNKTaRETA1ETZBdZg32MmDXeXfR+gm4gxS+day7AHGQYhFfRgw7FWurNQKvHGTrE9VvwjDnEDhBxGSE41shm/4mES5owVd7ZT2KYFzRRrhud90QdxM7NPFDYCnT3sVkHQOIoqEkit1PmFSNgIfKCj47t9MYqSdfzHZfz6CzJngIxLH0GoDuYyrfoxX2+eNYecHEUXVZ4a8S8J4wHygfdYn9xvnVF7k+ynYtKhSCVKxxLuFEvYsWii3YCcsBADdbCm6sfrBH9xL7iJfXLty3PEhvhoJ5ZFkaE81icBRQ1hPwoKYnRennkVbYnlRiCMArIqkJCCKz4rOA8pTFnLG4/Nfxfk3tilQzS0tAJE7eGpFJxvWDN1FHsR9DhI2xssb7osCDkFAJIuwqZNOnAixubFvJ12dMSMVCssI9VFZ+Xalo5QH7nbqKTfTANGWwkiTBjSyRnLt/2sxjLYuWEEEkVGjqcnOTzKlEoIs7Spu+0yyl2UIniE2SnPkBMARJWjX52Fjr/A8w/sBEfwKXH9u6edrafY9cItL1+N7ymRX7gZRjaLguubjHaGVSOPiQSI539ui3qu/geRTYEIIIG53yYj9psjgMj/BN2H0DgU6bLLWlV4XOBd8fmzUS0ut8APyDiL6sxpPiB7PpWsMIMvy5ZQcridtcP26Lmwlcs71En9t1cbLgxqhKfXTRVxwtx3Tj5InGibIDNKT8vtWyjIyaUx+BLu2fsfs1foXHusHaa5+GEkQY29drLiILP399uNPzWoDO1XRDPLyu26hs6WMWqRktTBStGSoP/oKBo10rao6OLzLhirJVvq5RR7deYGg4QYSx4j5hCCTKtJ3mxfgm6psHcJFanHf9ZKUYxrJ52HuY/+D87X5NN97lZm529axpsy4H2/mPm72JvFo/2DhjzspmfmOMBrEpCFIxytmXCI/aps+z5dj8MoGutNq3XFmJca/lKe3v7X67ZZHYV4hvrAe0hHGcFzn92e73WCCR8rXZbslfBegOMP0obBcRL/hN1LepCDL8ydWzp2INfg9A0q9JBiBHVFW9imbgeq/JkMeypS+z4iiFFDuLIgBXn1ij5Tjev8JJVLxNGhkRuInB9yiZ9YrZAAAHO0lEQVSM21/b3H5XUCd5AazpmCKbjiAjb5PcyiMtWJc2k4uEqJ4LwnVaaaDHz3P6fK95LFm43557nckHRKk7RNq+CMaZ4bjowwKQIcZ9TPiNqkQfos4lIk3R66I1LUEq6Dqu2SKgR5z5N6K9AFAapNzstQCkW2OLmfS7mdiup4iqIp5ux4/VTyR9s7YoXQo4ycCRPnkvCDeXZ0DohYXHSaHHMN16xI+3aD1zDXJs0xOkMvnh0grKJwESn15qkKAAvJYIdwKRX3Z0nv7nWtLme7GvkOs+DUwiNxcY3BPTUx/xMn6yvutX3bBL+/SZB4JpXzDmMUMj4g6AZjN4F4ISBVgBo0zE2wBlAMyvMEEcU28gon+Xh/gfsfLAP/x8c05mdzP8vWUIUgFLnNzk22edQITTiOk9AO9dJ5Ai3aZIzPYwgR4iZfC+js4zRD2O0NqoPFQ3a7qxPDTlUtGECLQcQUbPRrhdKAq9nS06hIE4kZ3keaw3zFZAOP7hORCvA9NaJqu3bWhozZyDlr/cyOdkh+hBxg+0hNEKx7aNhCw03S1PkLGQEk5/2NYuwklnWkr0leg2pTA6liM0hF0oKmTMr4JwsdN1h4R2LobLLgEi8LokSIB4BSK6mDEvZ8IXhHBiPk9NpL4fiCIp1DMCkiCeIfN/QCFrivQ1H7UlE5ZpcaM1ylX7D0XTSZQEaYIlKWbNuxiwHRTFwYOaSN7bBGZJE1o4/PV1tXiFrCmK1BwkJlVWrEV7dC7NvK4m2MKTkW+QJli8QtbsAxATprSXKObWTb4JTH/dmyAJ0uAlFsn2Zm9qr0QeblXjyV2Cvphs8JRbSr0kSIOXq5BN7y9u7h0zntZ0I6xinQ2eeWuolwRp8Do5rup3CzMYfG9MT7Vqmp4GIxmMekmQYHB1LbWQM88FQ5TTFhS5WtNT57oeLDsGjoAkSOAQT6ygkOu+BkwiVy5AdK4WTzZPrcQGY9MM6iVBGrwKhWz6AYDf6Zhxgtd49gab/7pXLwnSwCV2apGLeHbbuZKHlL2DKETZwCm2vGpJkAYuoZO+p1KZtV+NJzV5xNvABRlDtSRIA9ejL2uerAB3OSa4zmbSQJOnnGpJkAYueSFriiQL37I/r4ArYrohStjJ1kQISII0cDEKWfOXAER2STCjq7ocdQPNkqqrEJAEadDj4GzQRZHOucKEMkUW7BE//dkGmSPVjoOAJEiDHo2+J1YsUMqKiIUXLa/Gk3vIDXqDFmMCtZIgDVoTJ4ukKCYkbgh/oenJDzTIFKlWEqT5noFCzrwFjGU2PYDzVd24svmslBbJN0gDngFn//HPSvVfS8FBE5Vza4CJUqWDgCRIAx4FkaqISKnUJyyq8XVziS4UKTxlazIEJEEasCCFXPozYP6BUB1EJsUGTOl1q1ISpAFLW8iZ94Jx0vD+gz6m6kmR1US2JkRAEiTkRRFJ7ag0XeS8bbffIG3WvNgBS18M2QypziUCkiAugfKrWzGT/iAT3+HIe0zTjUP9ki3l+I+AJIj/mE4osZA1RdHS4eJATF/XEslKytGQLZHq3CAgCeIGJZ/6rFt397Q5WzaKFD+72vsPhQ9UO1NP+iReigkAAUmQAEAdT2Q+s+IUIuVXw3/ntZqeOiBE9VJVDQhIgtQAWq1D8hnzNiLYxXGY8d+xhHFhrbLkuHAQkAQJB2f0r+rZzWofFN67doFNtiL7xRad/reQ1Es1NSIgCVIjcF6HFTPpjzPxj+1xhEe1uHGYVxmyf/gISIKEhHkhaz4M4Ijh7Qd9Wkskrw1JtVRTBwKSIHWA53Zosbf7ALboCaf/tjZgr911Y6Pb8bJf4xCQBAkB+0LGvAqESsbEtKYbRghqpQofEJAE8QHEiUT09fbMUqxBUTx0N9HPAo6ZqxsPBaxWivcJAUkQn4AcT0w+1/0pYrpu+O/Uq8a7dBlaGzDoPoqXBPERzNGimC9UirmFYu9hlzRg0KdievKGAFVK0T4jIAniM6DV4vK5le8ltu50/q2/VBrYd97is14LUKUU7TMCkiA+A1otrpg1H2Tg6OGvK1yixY2vBahOig4AAUmQAEAVIou5lUcyW39yxJcsJfrGuZ1LxE26bC2EgCRIQItVyHV/G0zDbwzG9VrCODsgVVJsgAhIggQEbn+2O26BRGm1AWI+QU2kxFGvbC2GgCRIiy2YNDdcBCRBwsVbamsxBCRBWmzBpLnhIiAJEi7eUluLISAJ0mILJs0NFwFJkHDxltpaDAFJkBZbMGluuAhIgoSLt9TWYghIgrTYgklzw0VAEiRcvKW2FkNAEqTFFkyaGy4CkiDh4i21tRgCkiAttmDS3HARkAQJF2+prcUQkARpsQWT5oaLgCRIuHhLbS2GgCRIiy2YNDdcBCRBwsVbamsxBCRBWmzBpLnhIiAJEi7eUluLISAJ0mILJs0NFwFJkHDxltpaDAFJkBZbMGluuAhIgoSLt9TWYgj8f9XtDZtnjlrKAAAAAElFTkSuQmCC" id="icon" x="439" y="-90" width="105.25711697368423" height="105.25711697368423" transform="translate(0 290.0021118835) translate(407.5815736408158 7.680114669999995) scale(1.67) translate(-447.88458 72.723099)"></image> - </g> - </g> -</svg> \ No newline at end of file diff --git a/logo.md b/logo.md deleted file mode 100644 index 77d23456..00000000 --- a/logo.md +++ /dev/null @@ -1,70 +0,0 @@ -# Alwatr logo - -``` - _ __ _ - / \ [ | / |_ - / _ \ | | _ _ __ ,--. `| |-'_ .--. - / ___ \ | |[ \ [ \ [ ]`'_\ : | | [ `/'`\] - _/ / \ \_ | | \ \/\ \/ / // | |,| |, | | -|____| |____|[___] \__/\__/ \'-;__/\__/[___] -``` - -``` -█████ ██ ██ ██ █████ ████████ ██████ -██ ██ ██ ██ ██ ██ ██ ██ ██ ██ -███████ ██ ██ █ ██ ███████ ██ ██████ -██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██ -██ ██ ███████ ███ ███ ██ ██ ██ ██ ██ -``` - -``` - █████╗ ██╗ ██╗ ██╗ █████╗ ████████╗██████╗ -██╔══██╗██║ ██║ ██║██╔══██╗╚══██╔══╝██╔══██╗ -███████║██║ ██║ █╗ ██║███████║ ██║ ██████╔╝ -██╔══██║██║ ██║███╗██║██╔══██║ ██║ ██╔══██╗ -██║ ██║███████╗╚███╔███╔╝██║ ██║ ██║ ██║ ██║ -╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ -``` - -``` - ▄▄▄ ██▓ █ █░ ▄▄▄ ▄▄▄█████▓ ██▀███ -▒████▄ ▓██▒ ▓█░ █ ░█░▒████▄ ▓ ██▒ ▓▒▓██ ▒ ██▒ -▒██ ▀█▄ ▒██░ ▒█░ █ ░█ ▒██ ▀█▄ ▒ ▓██░ ▒░▓██ ░▄█ ▒ -░██▄▄▄▄██ ▒██░ ░█░ █ ░█ ░██▄▄▄▄██░ ▓██▓ ░ ▒██▀▀█▄ - ▓█ ▓██▒░██████▒░░██▒██▓ ▓█ ▓██▒ ▒██▒ ░ ░██▓ ▒██▒ - ▒▒ ▓▒█░░ ▒░▓ ░░ ▓░▒ ▒ ▒▒ ▓▒█░ ▒ ░░ ░ ▒▓ ░▒▓░ - ▒ ▒▒ ░░ ░ ▒ ░ ▒ ░ ░ ▒ ▒▒ ░ ░ ░▒ ░ ▒░ - ░ ▒ ░ ░ ░ ░ ░ ▒ ░ ░░ ░ - ░ ░ ░ ░ ░ ░ ░ ░ -``` - -``` - ▄████████ ▄█ ▄█ █▄ ▄████████ ███ ▄████████ - ███ ███ ███ ███ ███ ███ ███ ▀█████████▄ ███ ███ - ███ ███ ███ ███ ███ ███ ███ ▀███▀▀██ ███ ███ - ███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ -▀███████████ ███ ███ ███ ▀███████████ ███ ▀▀███▀▀▀▀▀ - ███ ███ ███ ███ ███ ███ ███ ███ ▀███████████ - ███ ███ ███▌ ▄ ███ ▄█▄ ███ ███ ███ ███ ███ ███ - ███ █▀ █████▄▄██ ▀███▀███▀ ███ █▀ ▄████▀ ███ ███ - ▀ ███ ███ -``` - -``` - AAA LLLLLLLLLLL WWWWWWWW WWWWWWWW AAA TTTTTTTTTTTTTTTTTTTTTTTRRRRRRRRRRRRRRRRR - A:::A L:::::::::L W::::::W W::::::W A:::A T:::::::::::::::::::::TR::::::::::::::::R - A:::::A L:::::::::L W::::::W W::::::W A:::::A T:::::::::::::::::::::TR::::::RRRRRR:::::R - A:::::::A LL:::::::LL W::::::W W::::::W A:::::::A T:::::TT:::::::TT:::::TRR:::::R R:::::R - A:::::::::A L:::::L W:::::W WWWWW W:::::W A:::::::::A TTTTTT T:::::T TTTTTT R::::R R:::::R - A:::::A:::::A L:::::L W:::::W W:::::W W:::::W A:::::A:::::A T:::::T R::::R R:::::R - A:::::A A:::::A L:::::L W:::::W W:::::::W W:::::W A:::::A A:::::A T:::::T R::::RRRRRR:::::R - A:::::A A:::::A L:::::L W:::::W W:::::::::W W:::::W A:::::A A:::::A T:::::T R:::::::::::::RR - A:::::A A:::::A L:::::L W:::::W W:::::W:::::W W:::::W A:::::A A:::::A T:::::T R::::RRRRRR:::::R - A:::::AAAAAAAAA:::::A L:::::L W:::::W W:::::W W:::::W W:::::W A:::::AAAAAAAAA:::::A T:::::T R::::R R:::::R - A:::::::::::::::::::::A L:::::L W:::::W:::::W W:::::W:::::W A:::::::::::::::::::::A T:::::T R::::R R:::::R - A:::::AAAAAAAAAAAAA:::::A L:::::L LLLLLL W:::::::::W W:::::::::W A:::::AAAAAAAAAAAAA:::::A T:::::T R::::R R:::::R - A:::::A A:::::A LL:::::::LLLLLLLLL:::::L W:::::::W W:::::::W A:::::A A:::::A TT:::::::TT RR:::::R R:::::R - A:::::A A:::::A L::::::::::::::::::::::L W:::::W W:::::W A:::::A A:::::A T:::::::::T R::::::R R:::::R - A:::::A A:::::A L::::::::::::::::::::::L W:::W W:::W A:::::A A:::::A T:::::::::T R::::::R R:::::R -AAAAAAA AAAAAAALLLLLLLLLLLLLLLLLLLLLLLL WWW WWW AAAAAAA AAAAAAA TTTTTTTTTTT RRRRRRRR RRRRRRR -``` From e77df2b373a47ad8ce41081c03c7cbb3fc15bd2e Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:26:51 +0330 Subject: [PATCH 07/20] chore: update root dotfiles from latest alwatr --- .eslintrc.json | 12 ++---------- .gitattributes | 3 --- .gitignore | 11 ++--------- lerna.json | 8 +++++--- 4 files changed, 9 insertions(+), 25 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 9ce8e5a3..80e2c496 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -2,15 +2,13 @@ "root": true, "extends": [ "eslint:recommended", - "google", "plugin:@typescript-eslint/strict", "plugin:@typescript-eslint/stylistic", // "plugin:@typescript-eslint/strict-type-checked", // "plugin:@typescript-eslint/stylistic-type-checked", "plugin:import/recommended", "plugin:import/typescript", - "plugin:wc/best-practice", - "plugin:lit/recommended" + "plugin:lit/all" ], "env": { "shared-node-browser": true, @@ -22,7 +20,7 @@ "ecmaVersion": 2021, "sourceType": "module" }, - "plugins": ["@typescript-eslint", "import", "wc"], + "plugins": ["@typescript-eslint", "import", "lit"], "settings": { "import/resolver": { "typescript": { @@ -31,9 +29,6 @@ "projectFolderIgnoreList": ["**/node_modules/**"] }, "node": true - }, - "wc": { - "elementBaseClasses": ["LitElement"] } }, "rules": { @@ -57,10 +52,7 @@ } ], "@typescript-eslint/prefer-string-starts-ends-with": "off", - "lit/attribute-value-entities": "off", "@typescript-eslint/no-dynamic-delete": "off", - "import/no-unresolved": "off", - "wc/guard-super-call": "off", "@typescript-eslint/no-non-null-assertion": "off", "no-throw-literal": "off", "require-jsdoc": "off", diff --git a/.gitattributes b/.gitattributes index 6ffa6257..bdb4e166 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,2 @@ -cloud/classic/lib/* filter=crypt diff=crypt merge=crypt -ssh-* filter=crypt diff=crypt merge=crypt **/secret/** filter=crypt diff=crypt merge=crypt *.env filter=crypt diff=crypt merge=crypt -*.http filter=crypt diff=crypt merge=crypt diff --git a/.gitignore b/.gitignore index 5f28a2e2..696f10c6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,14 +14,14 @@ Desktop.ini *.log* # Build +dist +build .tsbuildinfo *.map *.d.ts *.js !*.config.js !**/res/*.js -dist -build # Dependencies node_modules @@ -35,10 +35,3 @@ package-lock.json # dotenv environment variables file .env -# *.env -# !example.env - -temp -_data -db -chrome-profile diff --git a/lerna.json b/lerna.json index b776729b..e81fb0b1 100644 --- a/lerna.json +++ b/lerna.json @@ -2,18 +2,20 @@ "$schema": "node_modules/@lerna-lite/cli/schemas/lerna-schema.json", "version": "independent", "npmClient": "yarn", - "packages": ["core/*", "services/*", "ui/*", "uniquely/*", "labs/*"], + "packages": ["packages/*", "demo"], "loglevel": "verbose", "command": { "version": { "conventionalCommits": true, "changelog": true, - "changelogPreset": "angular", + "changelogPreset": "conventional-changelog-angular", "changelogIncludeCommitsClientLogin": " by @%l", "ignoreChanges": ["*.md"], - "message": "release: new independent version", + "message": "release:", "private": false, "forceGitTag": true, + "signGitTag": true, + "signGitCommit": true, "push": true, "createRelease": "github" }, From 4cf07912a46b411ccd9df634b9c69e4305516136 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:32:29 +0330 Subject: [PATCH 08/20] feat: update package name and root deps --- .vscode/settings.json | 3 ++- README.md | 26 +++++++++++++++++++++++++- package.json | 31 ++++++++++--------------------- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 05e9c96e..86912e05 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,7 +26,8 @@ ], "cSpell.language": "en,fa,fa-IR", "cSpell.words": [ - "Alwatr" + "Alwatr", + "Fract" ], "typescript.tsdk": "node_modules/typescript/lib", "git.autoStash": true, diff --git a/README.md b/README.md index 05925044..38508eaa 100644 --- a/README.md +++ b/README.md @@ -1 +1,25 @@ -![Alwatr](./docs/image/logo.svg#gh-dark-mode-only) +# Fract by Alwatr + +## Introduction + +Fract is an open source App Development Framework that makes it easy to build top quality Native and Progressive Web Apps with web technologies. + +Contains the following packages: + +1. [Logger](./packages/logger): Fancy colorful console debugger with custom scope. + +<!-- @TODO: update this list--> + +## Installation + +```bash +npm install @alwatr/module-name +``` + +## Usage + +Follow each package's README for usage instructions. + +## License + +[MIT](./LICENSE) diff --git a/package.json b/package.json index 096845ea..23bf2d16 100644 --- a/package.json +++ b/package.json @@ -1,22 +1,16 @@ { - "name": "@alwatr/monorepo", - "description": "The Alwatr Library", - "repository": "https://github.com/AliMD/alwatr/", + "name": "alwatr-fract", + "description": "Fract is an open source App Development Framework that makes it easy to build top quality Native and Progressive Web Apps with web technologies.", + "repository": "https://github.com/AliMD/fract", "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", "license": "MIT", "type": "module", "private": true, "engines": { - "node": ">=18.13.0", - "npm": ">=8.0.0", - "yarn": ">=1.22.0" + "node": ">=18.16.0" }, "workspaces": [ - "core/*", - "services/*", - "ui/*", - "uniquely/*", - "labs/*", + "packages/*", "demo" ], "scripts": { @@ -30,10 +24,10 @@ "f": "yarn format", "fl": "yarn format:eslint", "fp": "yarn format:prettier", - "rl": "run-s pull ver", + "rl": "run-s pull release", "lint": "run-s lint:*", "lint:ts": "eslint . --config .eslintrc.json --ext .ts", - "build": "yarn build:ts", + "build": "run-s build:ts build:r", "build:ts": "tsc --build", "build:r": "lerna run build", "format": "run-s format:prettier format:eslint", @@ -43,9 +37,8 @@ "serve": "wds", "watch": "run-p watch:* serve", "watch:ts": "yarn build:ts --watch --preserveWatchOutput", - "ver": "lerna version", "pull": "git pull", - "push": "git push && git push --tags", + "release": "lerna version", "publish": "lerna publish from-package" }, "devDependencies": { @@ -58,19 +51,15 @@ "@lerna-lite/run": "^2.5.1", "@lerna-lite/version": "^2.5.1", "@types/node": "^20.6.1", - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", "@web/dev-server": "^0.3.1", - "@webcomponents/webcomponentsjs": "^2.8.0", "autoprefixer": "^10.4.15", "esbuild": "^0.19.3", "eslint": "^8.49.0", - "eslint-config-google": "^0.14.0", "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-lit": "^1.9.1", - "eslint-plugin-wc": "^2.0.0", - "nodemon": "^3.0.1", "npm-run-all": "^4.1.5", "postcss": "^8.4.29", "postcss-cli": "^10.1.0", From 158e2e37b73d526e18d7fa9e27cee48288c7d225 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:35:41 +0330 Subject: [PATCH 09/20] chore: cleanup old packages --- core/README.md | 1 - core/i18n/CHANGELOG.md | 266 --------------------- core/i18n/README.md | 3 - core/i18n/package.json | 40 ---- core/i18n/src/core.ts | 241 ------------------- core/i18n/src/index.ts | 12 - core/i18n/tsconfig.json | 18 -- core/router/README.md | 160 ------------- core/router/package.json | 39 --- core/router/src/core.ts | 263 -------------------- core/router/src/index.ts | 23 -- core/router/src/trigger-click.ts | 95 -------- core/router/src/trigger-popstate.ts | 34 --- core/router/src/type.ts | 158 ------------ core/router/tsconfig.json | 18 -- core/type/CHANGELOG.md | 261 -------------------- core/type/README.md | 3 - core/type/package.json | 31 --- core/type/src/chat.ts | 20 -- core/type/src/customer-order-management.ts | 218 ----------------- core/type/src/event-signal.ts | 10 - core/type/src/flight-finder.ts | 28 --- core/type/src/global.ts | 15 -- core/type/src/i18n.ts | 33 --- core/type/src/index.ts | 14 -- core/type/src/photo.ts | 15 -- core/type/src/service-response.ts | 43 ---- core/type/src/storage.ts | 27 --- core/type/src/type-helper.ts | 29 --- core/type/src/user.ts | 69 ------ core/type/tsconfig.json | 13 - core/util/CHANGELOG.md | 113 --------- core/util/README.md | 3 - core/util/package.json | 50 ---- core/util/src/_logger.ts | 3 - core/util/src/browser-task.ts | 17 -- core/util/src/client-id.ts | 19 -- core/util/src/default-export.ts | 13 - core/util/src/delay.ts | 20 -- core/util/src/flat-str.ts | 8 - core/util/src/index.ts | 9 - core/util/src/json.ts | 11 - core/util/src/local-storage.ts | 16 -- core/util/src/node/fs.ts | 240 ------------------- core/util/src/node/index.ts | 1 - core/util/src/polyfill.ts | 24 -- core/util/src/render-state.ts | 46 ---- core/util/src/string.ts | 3 - core/util/tsconfig.json | 16 -- 49 files changed, 2812 deletions(-) delete mode 100644 core/README.md delete mode 100644 core/i18n/CHANGELOG.md delete mode 100644 core/i18n/README.md delete mode 100644 core/i18n/package.json delete mode 100644 core/i18n/src/core.ts delete mode 100644 core/i18n/src/index.ts delete mode 100644 core/i18n/tsconfig.json delete mode 100644 core/router/README.md delete mode 100644 core/router/package.json delete mode 100644 core/router/src/core.ts delete mode 100644 core/router/src/index.ts delete mode 100644 core/router/src/trigger-click.ts delete mode 100644 core/router/src/trigger-popstate.ts delete mode 100644 core/router/src/type.ts delete mode 100644 core/router/tsconfig.json delete mode 100644 core/type/CHANGELOG.md delete mode 100644 core/type/README.md delete mode 100644 core/type/package.json delete mode 100644 core/type/src/chat.ts delete mode 100644 core/type/src/customer-order-management.ts delete mode 100644 core/type/src/event-signal.ts delete mode 100644 core/type/src/flight-finder.ts delete mode 100644 core/type/src/global.ts delete mode 100644 core/type/src/i18n.ts delete mode 100644 core/type/src/index.ts delete mode 100644 core/type/src/photo.ts delete mode 100644 core/type/src/service-response.ts delete mode 100644 core/type/src/storage.ts delete mode 100644 core/type/src/type-helper.ts delete mode 100644 core/type/src/user.ts delete mode 100644 core/type/tsconfig.json delete mode 100644 core/util/CHANGELOG.md delete mode 100644 core/util/README.md delete mode 100644 core/util/package.json delete mode 100644 core/util/src/_logger.ts delete mode 100644 core/util/src/browser-task.ts delete mode 100644 core/util/src/client-id.ts delete mode 100644 core/util/src/default-export.ts delete mode 100644 core/util/src/delay.ts delete mode 100644 core/util/src/flat-str.ts delete mode 100644 core/util/src/index.ts delete mode 100644 core/util/src/json.ts delete mode 100644 core/util/src/local-storage.ts delete mode 100644 core/util/src/node/fs.ts delete mode 100644 core/util/src/node/index.ts delete mode 100644 core/util/src/polyfill.ts delete mode 100644 core/util/src/render-state.ts delete mode 100644 core/util/src/string.ts delete mode 100644 core/util/tsconfig.json diff --git a/core/README.md b/core/README.md deleted file mode 100644 index 8a614984..00000000 --- a/core/README.md +++ /dev/null @@ -1 +0,0 @@ -# Alwatr Core Packages diff --git a/core/i18n/CHANGELOG.md b/core/i18n/CHANGELOG.md deleted file mode 100644 index 2fc036a6..00000000 --- a/core/i18n/CHANGELOG.md +++ /dev/null @@ -1,266 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.2](https://github.com/AliMD/alwatr/compare/@alwatr/i18n@1.1.1...@alwatr/i18n@1.1.2) (2023-09-12) - -**Note:** Version bump only for package @alwatr/i18n - -## [1.1.1](https://github.com/AliMD/alwatr/compare/@alwatr/i18n@1.1.0...@alwatr/i18n@1.1.1) (2023-09-12) - -**Note:** Version bump only for package @alwatr/i18n - -# 1.1.0 (2023-09-12) - -# 1.0.0 (2023-06-14) - -# 0.32.0 (2023-05-27) - -# 0.31.0 (2023-05-08) - -### Bug Fixes - -* new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) - -### Features - -* **i18n:** date method for convert date to active locale ([8b51a97](https://github.com/AliMD/alwatr/commit/8b51a97c780ffd3ed653124f64c0752af779f41c)) - -### Performance Improvements - -* **i18n:** use toLocaleDateString for convert date ([f1efcec](https://github.com/AliMD/alwatr/commit/f1efcecb2480e310d289333d840a0dd27fa3881d)) - -# 0.30.0 (2023-03-06) - -### Features - -* **i18n:** l18eReadyPromise ([85c7570](https://github.com/AliMD/alwatr/commit/85c7570d71c3d5b9ec87b0e357ecf41f47f96227)) -* **i18n:** make number with fixed decimal ([86e60ec](https://github.com/AliMD/alwatr/commit/86e60ec4c89b8bd485bd32674df286885366ee1b)) -* **i18n:** optional number args ([b571385](https://github.com/AliMD/alwatr/commit/b5713853a035e78b06bd4b97cb703e74de0e86ce)) -* **i18n:** work background without delay ([2876d00](https://github.com/AliMD/alwatr/commit/2876d009a96e586544fa00798ec35574209ae2a9)) - -# 0.29.0 (2023-02-10) - -### Bug Fixes - -* **i18n:** prevent duplicate loader ([711cb56](https://github.com/AliMD/alwatr/commit/711cb5698a4b8887b684be79808b30a40f8e9e8a)) -* **i18n:** review and docs ([8574523](https://github.com/AliMD/alwatr/commit/85745235085e6957ab87a9c4e7fb836e73d649f6)) - -### Features - -* **i18n:** add replaceNumber and auto detect setLocale from html ([3413471](https://github.com/AliMD/alwatr/commit/341347149f8685bc259034f5593048aa7db0b927)) - -# 0.28.0 (2023-01-20) - -# 0.27.0 (2022-12-29) - -# 0.26.0 (2022-12-22) - -### Bug Fixes - -* set correct path ([d01ce6f](https://github.com/AliMD/alwatr/commit/d01ce6ffa749a5e3e0e11e35b4ed61d75d61fec9)) -* tsconfig ([e96dcd3](https://github.com/AliMD/alwatr/commit/e96dcd30774a9f06f7d051e0504192cbbe019e35)) - -### Features - -* improve accident debugging ([d697e6c](https://github.com/AliMD/alwatr/commit/d697e6c4c7d0a4172f4dba9caf6fbd478f79de9c)) -* improve error debugging ([1fba504](https://github.com/AliMD/alwatr/commit/1fba50400a1e8ececc10bbe8ea11cc8dcea2289c)) - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Bug Fixes - -- new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) - -### Features - -- **i18n:** date method for convert date to active locale ([8b51a97](https://github.com/AliMD/alwatr/commit/8b51a97c780ffd3ed653124f64c0752af779f41c)) - -### Performance Improvements - -- **i18n:** use toLocaleDateString for convert date ([f1efcec](https://github.com/AliMD/alwatr/commit/f1efcecb2480e310d289333d840a0dd27fa3881d)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Features - -- **i18n:** l18eReadyPromise ([85c7570](https://github.com/AliMD/alwatr/commit/85c7570d71c3d5b9ec87b0e357ecf41f47f96227)) -- **i18n:** make number with fixed decimal ([86e60ec](https://github.com/AliMD/alwatr/commit/86e60ec4c89b8bd485bd32674df286885366ee1b)) -- **i18n:** optional number args ([b571385](https://github.com/AliMD/alwatr/commit/b5713853a035e78b06bd4b97cb703e74de0e86ce)) -- **i18n:** work background without delay ([2876d00](https://github.com/AliMD/alwatr/commit/2876d009a96e586544fa00798ec35574209ae2a9)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Bug Fixes - -- **i18n:** prevent duplicate loader ([711cb56](https://github.com/AliMD/alwatr/commit/711cb5698a4b8887b684be79808b30a40f8e9e8a)) -- **i18n:** review and docs ([8574523](https://github.com/AliMD/alwatr/commit/85745235085e6957ab87a9c4e7fb836e73d649f6)) - -### Features - -- **i18n:** add replaceNumber and auto detect setLocale from html ([3413471](https://github.com/AliMD/alwatr/commit/341347149f8685bc259034f5593048aa7db0b927)) - -# [0.28.0](https://github.com/AliMD/alwatr/compare/v0.27.0...v0.28.0) (2023-01-20) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.27.0](https://github.com/AliMD/alwatr/compare/v0.26.0...v0.27.0) (2022-12-29) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.26.0](https://github.com/AliMD/alwatr/compare/v0.25.0...v0.26.0) (2022-12-22) - -### Bug Fixes - -- set correct path ([d01ce6f](https://github.com/AliMD/alwatr/commit/d01ce6ffa749a5e3e0e11e35b4ed61d75d61fec9)) -- tsconfig ([e96dcd3](https://github.com/AliMD/alwatr/commit/e96dcd30774a9f06f7d051e0504192cbbe019e35)) - -### Features - -- improve accident debugging ([d697e6c](https://github.com/AliMD/alwatr/commit/d697e6c4c7d0a4172f4dba9caf6fbd478f79de9c)) -- improve error debugging ([1fba504](https://github.com/AliMD/alwatr/commit/1fba50400a1e8ececc10bbe8ea11cc8dcea2289c)) - -# [0.25.0](https://github.com/AliMD/alwatr/compare/v0.24.1...v0.25.0) (2022-12-07) - -**Note:** Version bump only for package @alwatr/i18n - -## [0.24.1](https://github.com/AliMD/alwatr/compare/v0.24.0...v0.24.1) (2022-12-01) - -### Bug Fixes - -- **i18n:** setLocal type ([d801958](https://github.com/AliMD/alwatr/commit/d801958bcc130e93677a1efe2c0c2c6dc420b700)) - -### Features - -- **i18n:** improve i18n types ([cf7d1cb](https://github.com/AliMD/alwatr/commit/cf7d1cb863ac039ec42fadeeb40ac371cfe936c5)) - -# [0.24.0](https://github.com/AliMD/alwatr/compare/v0.23.0...v0.24.0) (2022-11-28) - -### Bug Fixes - -- use ~ for package version ([4e027ff](https://github.com/AliMD/alwatr/commit/4e027ff63875e03b088ebcdc1bdf2495f4494eec)) - -# [0.23.0](https://github.com/AliMD/alwatr/compare/v0.22.1...v0.23.0) (2022-11-23) - -**Note:** Version bump only for package @alwatr/i18n - -## [0.22.1](https://github.com/AliMD/alwatr/compare/v0.22.0...v0.22.1) (2022-11-21) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.22.0](https://github.com/AliMD/alwatr/compare/v0.21.0...v0.22.0) (2022-11-20) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.21.0](https://github.com/AliMD/alwatr/compare/v0.20.0...v0.21.0) (2022-11-13) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.20.0](https://github.com/AliMD/alwatr/compare/v0.19.0...v0.20.0) (2022-11-05) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.19.0](https://github.com/AliMD/alwatr/compare/v0.18.0...v0.19.0) (2022-11-01) - -### Bug Fixes - -- Import error in webpack ([1a52f67](https://github.com/AliMD/alwatr/commit/1a52f67ff2788c51abd13126f34353c26aa669c3)) - -# [0.18.0](https://github.com/AliMD/alwatr/compare/v0.17.0...v0.18.0) (2022-10-22) - -### Bug Fixes - -- **i18n:** compatible with new fetch api ([b06a6a5](https://github.com/AliMD/alwatr/commit/b06a6a5958a4be8d84b74187f1c145f70370c06b)) - -# [0.17.0](https://github.com/AliMD/alwatr/compare/v0.16.1...v0.17.0) (2022-10-21) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.16.0](https://github.com/AliMD/alwatr/compare/v0.15.0...v0.16.0) (2022-09-08) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.15.0](https://github.com/AliMD/alwatr/compare/v0.14.0...v0.15.0) (2022-09-01) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.14.0](https://github.com/AliMD/alwatr/compare/v0.13.0...v0.14.0) (2022-08-19) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.13.0](https://github.com/AliMD/alwatr/compare/v0.12.0...v0.13.0) (2022-08-06) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.12.0](https://github.com/AliMD/alwatr/compare/v0.11.0...v0.12.0) (2022-07-22) - -### Bug Fixes - -- **i18n:** load resources issue ([19b9e39](https://github.com/AliMD/alwatr/commit/19b9e39d5a415e60901c117be3f8f82d09ef8444)) - -# [0.11.0](https://github.com/AliMD/alwatr/compare/v0.10.1...v0.11.0) (2022-04-16) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.10.0](https://github.com/AliMD/alwatr/compare/v0.9.0...v0.10.0) (2022-04-02) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.9.0](https://github.com/AliMD/alwatr/compare/v0.8.0...v0.9.0) (2022-03-22) - -### Bug Fixes - -- **i18n:** access signal issue ([097b354](https://github.com/AliMD/alwatr/commit/097b354da71b5fb4ce1e15f5cbc4accbe12bb6e1)) - -# [0.8.0](https://github.com/AliMD/alwatr/compare/v0.7.2...v0.8.0) (2022-03-14) - -**Note:** Version bump only for package @alwatr/i18n - -## [0.7.2](https://github.com/AliMD/alwatr/compare/v0.7.1...v0.7.2) (2022-03-12) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.7.0](https://github.com/AliMD/alwatr/compare/v0.6.1...v0.7.0) (2022-03-12) - -**Note:** Version bump only for package @alwatr/i18n - -## [0.6.1](https://github.com/AliMD/alwatr/compare/v0.6.0...v0.6.1) (2022-03-12) - -### Bug Fixes - -- **i18n:** package name in readme! ([5325e7f](https://github.com/AliMD/alwatr/commit/5325e7ff5f2b83862221544a4bcd931ed8b9f12f)) - -# [0.6.0](https://github.com/AliMD/alwatr/compare/v0.5.0...v0.6.0) (2022-03-11) - -### Bug Fixes - -- alalwatr ([898aa6e](https://github.com/AliMD/alwatr/commit/898aa6ed0888eab9265c83b96a50f1b8c216d143)) -- **packages:** duplicate alwatr keyword ([77d4aa2](https://github.com/AliMD/alwatr/commit/77d4aa2105ad47515c3eee251fd6b8c281d0d1fc)) - -# [0.5.0](https://github.com/AliMD/alwatr/compare/v0.4.0...v0.5.0) (2022-03-11) - -**Note:** Version bump only for package @alwatr/i18n - -# [0.4.0](https://github.com/AliMD/alwatr/compare/v0.3.0...v0.4.0) (2022-03-11) - -### Bug Fixes - -- **i18n:** build issue [#75](https://github.com/AliMD/alwatr/issues/75) ([fe7a108](https://github.com/AliMD/alwatr/commit/fe7a108904176e63b8aa7e388d95ee8a90c6b71f)) - -# [0.3.0](https://github.com/AliMD/alwatr/compare/v0.2.1...v0.3.0) (2022-03-06) - -### Features - -- **i18n:** implement core methods ([6449bb4](https://github.com/AliMD/alwatr/commit/6449bb42837335c2e2e5b4a75e98139528e2e7da)) -- **i18n:** implement initialI18n ([87da5e4](https://github.com/AliMD/alwatr/commit/87da5e46943ba12a8067fcac06c1dcced1e6fb92)) -- **i18n:** localize method ([544edfd](https://github.com/AliMD/alwatr/commit/544edfdd1bc52befab6afe4cbfb62ce1638aff2d)) -- **i18n:** start new package for i18n/l10n ([88a6c28](https://github.com/AliMD/alwatr/commit/88a6c28ad038ed02ca45128378e669f6d9c6949d)) diff --git a/core/i18n/README.md b/core/i18n/README.md deleted file mode 100644 index 4bef30db..00000000 --- a/core/i18n/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Alwatr Internationalization - `@alwatr/i18n` - -Elegant powerful translation module (i18n/l10n) with dynamic json storage written in tiny TypeScript, ES module. diff --git a/core/i18n/package.json b/core/i18n/package.json deleted file mode 100644 index 4a994637..00000000 --- a/core/i18n/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@alwatr/i18n", - "version": "1.1.2", - "description": "Elegant powerful translation module (i18n/l10n) with dynamic json storage written in tiny TypeScript, ES module.", - "keywords": [ - "i18n", - "internationalization", - "l10n", - "localization", - "typescript", - "esm", - "alwatr" - ], - "main": "index.js", - "type": "module", - "types": "index.d.ts", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", - "license": "MIT", - "files": [ - "**/*.{d.ts.map,d.ts,js.map,js,html,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "core/i18n" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/core/i18n#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "dependencies": { - "@alwatr/logger": "^1.1.2", - "@alwatr/math": "^1.1.2", - "@alwatr/signal": "^1.1.2", - "tslib": "^2.6.2" - } -} diff --git a/core/i18n/src/core.ts b/core/i18n/src/core.ts deleted file mode 100644 index f54c597f..00000000 --- a/core/i18n/src/core.ts +++ /dev/null @@ -1,241 +0,0 @@ -import {createLogger, globalAlwatr} from '@alwatr/logger'; -import {UnicodeDigits, type UnicodeLangKeys} from '@alwatr/math'; -import {contextProvider, contextConsumer, ListenerSpec} from '@alwatr/signal'; - -import type {L18eContext, LocaleContext, MaybePromise} from '@alwatr/type'; - -globalAlwatr.registeredList.push({ - name: '@alwatr/i18n', - version: _ALWATR_VERSION_, -}); - -const loadingStr = '…' as const; - -export const logger = createLogger('alwatr/i18n'); - -/** - * Locale context provider. - */ -export const localeContextProvider = contextProvider.bind<LocaleContext>('locale_context'); - -/** - * Locale context consumer. - */ -export const localeContextConsumer = contextConsumer.bind<LocaleContext>(localeContextProvider.id); - -/** - * LocalizationResource (L18e) context provider. - */ -export const l18eContextProvider = contextProvider.bind<L18eContext>('localization_resource_context'); - -/** - * LocalizationResource (L18e) context consumer. - */ -export const l18eContextConsumer = contextConsumer.bind<L18eContext>(l18eContextProvider.id); - -/** - * Promise resolved after LocalizationResource context ready. - */ -export const l18eReadyPromise = l18eContextConsumer.untilChange().then(()=>{ - logger.logMethod?.('readyPromise'); -}); - -/** - * Common useful locales. - */ -export const commonLocale = { - en: { - code: 'en-US', - language: 'en', - direction: 'ltr', - }, - fa: { - code: 'fa-IR', - language: 'fa', - direction: 'rtl', - }, - ar: { - code: 'ar-IQ', - language: 'ar', - direction: 'rtl', - }, -} as const; - -let activeLocaleContext: LocaleContext | null = null; -let activeNumberFormatter: Intl.NumberFormat | null = null; -let activeL18eContext: L18eContext | null = null; -let activeUnicodeDigits: UnicodeDigits | null = null; - -/** - * Update activeLocaleContext and activeNumberFormatter. - */ -localeContextConsumer.subscribe( - (locale) => { - activeLocaleContext = locale; - activeNumberFormatter = new Intl.NumberFormat(locale.code); - activeUnicodeDigits = new UnicodeDigits(locale.language as UnicodeLangKeys); - - // Update root meta in browser - if (typeof document !== 'undefined') { - document.documentElement.setAttribute('lang', locale.code); - document.documentElement.setAttribute('dir', locale.direction); - } - }, - {priority: true, receivePrevious: 'NextCycle'}, -); - -/** - * Update activeL18eContext. - */ -l18eContextConsumer.subscribe( - (l18eContext) => { - activeL18eContext = l18eContext; - }, - {priority: true, receivePrevious: 'NextCycle'}, -); - -/** - * Set global locale in the application. - * - * alias for localeProvider.setValue(localeObject) - * - * Example: - * - * ```ts - * setLocale(); - * ``` - */ -export const setLocale = (locale?: LocaleContext): void => { - if (locale == null) { - const lang = document.documentElement.lang; - locale = Object.values(commonLocale).find((l) => l.code === lang); - - if (locale == null) { - logger.error('setLocale', 'document_lang_not_supported', {lang}); - locale = commonLocale.fa; - } - } - - logger.logMethodArgs?.('setLocale', locale); - if (activeLocaleContext?.code !== locale.code) { - localeContextProvider.setValue(locale, {debounce: 'No'}); - } -}; - -let _l18eLoaderListener: ListenerSpec | null = null; - -/** - * Set loader function for provide l18e (LocalizationResource). - * - * Example: - * - * ```ts - * setL18eLoader((locale) => { - * return import(`/l18e/${locale.code}.js`); - * }) - * ``` - */ -export const setL18eLoader = (l18eLoader: (locale: LocaleContext) => MaybePromise<L18eContext>): void => { - logger.logMethod?.('setL18eLoader'); - - if (_l18eLoaderListener !== null) { - localeContextConsumer.unsubscribe(_l18eLoaderListener); - logger.accident( - 'setL18eLoader', - 'l18e_loader_exist', - 'Multi l18e loader register, the previous one was removed to avoid errors.', - ); - } - - _l18eLoaderListener = localeContextConsumer.subscribe(async (locale) => { - logger.logMethodArgs?.('l18eLoader', locale); - - if (activeL18eContext?.meta.code === locale.code) { - logger.incident?.('l18eLoader', 'load_skipped', 'Request l18e (LocalizationResource) is same as active l18n', { - request: locale.code, - active: activeL18eContext.meta.code, - }); - return; - } - - if (l18eContextProvider.getValue()) { - l18eContextProvider.expire(); - activeL18eContext = null; - } - - try { - const l18e = await l18eLoader(locale); - l18eContextProvider.setValue(l18e, {debounce: 'No'}); - } - catch (err) { - logger.error('l18eLoader', 'loader_function_error', err); - } - }, {receivePrevious: 'NextCycle'}); -}; - -/** - * - * Get message by key from the l18e (LocalizationResource) Context. - * - * return `i18nOptions.loadingStr` if the l18e is not yet loaded. - * - * return "{key}" if the key not defined in the l18e. - * - * return null if the key is null or undefined (for optional input). - * - * Example: - * - * ```ts - * message('hello_world'); // Hello world! - * ``` - */ -export function message(key: string): string; -export function message(key?: null): undefined; -export function message(key?: string | null): string | undefined -export function message(key?: string | null): string | undefined { - if (key == null) return; - - key = key.trim(); - if (key === '') return ''; - - if (activeL18eContext == null) return loadingStr; - - const msg = activeL18eContext.data[key]; - if (msg == null) { - logger.accident('message', 'l10n_key_not_found', 'Key not defined in the localization resource', { - key, - locale: activeL18eContext?.meta.code, - }); - return `{${key}}`; - } - - return msg; -} - -/** - * Format number to active locale string unicode and digital group. - */ -export const number = (number?: number | null, decimal = 2): string => { - if (number == null) return loadingStr; - if (activeNumberFormatter === null) return String(number); - decimal = Math.pow(10, decimal); - number = Math.round(number * decimal) / decimal; - return activeNumberFormatter.format(number); -}; - -/** - * Replace all number in string to active locale number unicode. - */ -export const replaceNumber = (str: string): string => { - if (activeUnicodeDigits === null) return str; - return activeUnicodeDigits.translate(str); -}; - -/** - * Format date to active locale string. - */ -export const date = (date: number | Date, options?: Intl.DateTimeFormatOptions): string => { - if (activeLocaleContext === null) return loadingStr; - if (typeof date === 'number') date = new Date(date); - return date.toLocaleDateString(activeLocaleContext.code, options); -}; diff --git a/core/i18n/src/index.ts b/core/i18n/src/index.ts deleted file mode 100644 index f9b6f92d..00000000 --- a/core/i18n/src/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { - setLocale, - setL18eLoader, - message, - number, - date, - replaceNumber, - localeContextConsumer, - l18eContextConsumer, - commonLocale, - l18eReadyPromise, -} from './core.js'; diff --git a/core/i18n/tsconfig.json b/core/i18n/tsconfig.json deleted file mode 100644 index 1777dad8..00000000 --- a/core/i18n/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": "." - }, - - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../type"}, - {"path": "../logger"}, - {"path": "../math"}, - {"path": "../signal"} - ] -} diff --git a/core/router/README.md b/core/router/README.md deleted file mode 100644 index 8a853469..00000000 --- a/core/router/README.md +++ /dev/null @@ -1,160 +0,0 @@ -# Alwatr Router - `@alwatr/router` - -Elegant powerful router (fundamental advance browser page routing) based on the simplicity of the signals written in tiny TypeScript module. - -## Example usage - -### Prepare - -```ts -import {router} from 'https://esm.run/@alwatr/router'; - -/** - * Initial and config the Router. - */ -router.initial(); - -/** - * Add listener to `route-change` signal. - */ -router.signal.addListener((route) => { - console.log(route); -}); -``` - -### Route object - -Example page url: `https://example.com/product/100/book?cart=1&color=white#description` - -```ts -interface Route { - sectionList: Array<string | number | boolean>; // [product, 100, book] - queryParamList: ParamList; // {cart: 1, color: 'white'} - hash: string; // '#description' -} -``` - -### Dynamic page rendering - -```ts -const routes: routesConfig = { - map: (route: Route) => route.sectionList[0]?.toString(), - - list: { - 'about': { - render: () => html`<page-about></page-about>`, - }, - 'product-list': { - render: () => { - import('./page-product-list.js'); // lazy loading page - html`<page-product-list></page-product-list>`, - } - }, - 'contact': { - render: () => html`<page-contact></page-contact>`, - }, - - 'home': { - render: () => html`<page-home></page-home>`, - }, - '404': { - render: () => html`<page-404></page-404>`, - }, - }, -}; - -... - -// Any render function can be used. -render() { - router.outlet(routes); -} - -... - -// Request update (call render again) on route change. -router.signal.addListener(() => this.requestUpdate()); -``` - -### Make link from semantic route - -`router.makeUrl(route)` - -Make anchor valid href from route. - -```html -<a href=${ router.makeUrl({sectionList: ['product', 100]}) }> -``` - -### Full example with [lit-element](https://lit.dev) - -<!-- prettier-ignore --> -```ts -import {css, html, LitElement} from '@alwatr/element'; -import {customElement} from 'lit/decorators/custom-element.js'; -import {router} from '@alwatr/router'; - -import type {ListenerInterface} from '@alwatr/signal'; -import type {RoutesConfig} from '@alwatr/router'; - -@customElement('my-element') -export class MyElement extends LitElement { - static override styles = css` - :host { - display: block; - } - `; - - private _routes: RoutesConfig = { - map: (route) => route.sectionList[0]?.toString(), - list: { - home: { - render: () => html`<page-home>Page Home ...</page-home>`, - }, - about: { - render: () => html`<page-about>Page About ...</page-about>`, - }, - article: { - render: (route) => - route.sectionList[1] != null ? - html`<page-article>Page Article ${route.sectionList[1]} ...</page-article>` : - this._routes.list['404'], - }, - }, - }; - - constructor() { - super(); - router.initial(); - } - - private _listenerList: Array<unknown> = []; - - override connectedCallback(): void { - super.connectedCallback(); - this._listenerList.push(router.signal.addListener(() => this.requestUpdate())); - } - - override disconnectedCallback(): void { - super.disconnectedCallback(); - this._listenerList.forEach((listener) => - (listener as ListenerInterface<keyof AlwatrSignals>).remove() - ); - } - - override render() { - return html` - <h2>Hello World!</h2> - - <menu> - <li><a href=${router.makeUrl({sectionList: ['home']})}>Home</a></li> - <li><a href=${router.makeUrl({sectionList: ['about']})}>About</a></li> - <li><a href=${router.makeUrl({sectionList: ['article', 100]})}>Article 100</a></li> - <li><a href=${router.makeUrl({sectionList: ['contact']})}>Contact</a></li> - </menu> - - <div class="page-container">${router.outlet(this._routes)}</div> - `; - } -} -``` diff --git a/core/router/package.json b/core/router/package.json deleted file mode 100644 index 50d75823..00000000 --- a/core/router/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@alwatr/router", - "version": "1.1.2", - "description": "Elegant powerful router (fundamental advance browser page routing) based on the simplicity of the signals written in tiny TypeScript module.", - "keywords": [ - "router", - "route", - "routing", - "typescript", - "esm", - "alwatr" - ], - "main": "index.js", - "type": "module", - "types": "index.d.ts", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com>", - "license": "MIT", - "files": [ - "**/*.{d.ts.map,d.ts,js.map,js,html,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "core/router" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/core/router#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "dependencies": { - "@alwatr/logger": "^1.1.2", - "@alwatr/math": "^1.1.2", - "@alwatr/signal": "^1.1.2", - "tslib": "^2.6.2" - } -} diff --git a/core/router/src/core.ts b/core/router/src/core.ts deleted file mode 100644 index 097e71af..00000000 --- a/core/router/src/core.ts +++ /dev/null @@ -1,263 +0,0 @@ -import {createLogger, globalAlwatr} from '@alwatr/logger'; -import {isNumber} from '@alwatr/math'; -import {contextConsumer, contextProvider} from '@alwatr/signal'; - -import type {PushState, RouteContext, RouteContextBase, RoutesConfig} from './type.js'; -import type {ParamValueType, QueryParameters} from '@alwatr/type'; - -globalAlwatr.registeredList.push({ - name: '@alwatr/router', - version: _ALWATR_VERSION_, -}); - -export const logger = createLogger('alwatr/router'); - -export const routeContextConsumer = contextConsumer.bind<RouteContext>('route-context'); -export const routeContextProvider = contextProvider.bind<RouteContext>('route-context'); - -const documentBaseUrl = document.querySelector('base')?.href || '/'; - -/** - * The result of calling the current route's render() callback base on routesConfig. - * - * alias for `routesConfig.templates[routesConfig.routeId(currentRoute)](currentRoute)` - * - * if the location is app root and `routeId()` return noting then redirect to `home` automatically - * if `routeId()` return noting or render function not defined in the `templates` redirected to `_404` routeId. - * - * Example: - * - * ```ts - * const routeConfig = { - * routeId: (routeContext) => routeContext.sectionList[0]?.toString(), - * templates: { - * 'about': () => html`<page-about></page-about>`, - * 'product-list': () => { - * import('./page-product-list.js'); // lazy import - * return html`<page-product-list></page-product-list>`, - * }, - * 'contact': () => html`<page-contact></page-contact>`, - * 'home': () => html`<page-home></page-home>`, - * '_404': () => html`<page-404></page-404>`, - * }, - * }; - * - * routerOutlet(routeConfig); - * ``` - */ -export const routerOutlet = (routesConfig: RoutesConfig, thisArg: unknown = null): unknown => { - logger.logMethodArgs?.('routerOutlet', {routesConfig}); - - const routeContext = routeContextConsumer.getValue(); - - if (routeContext == null) { - logger.accident('routerOutlet', 'route_context_undefined', 'Route context not provided yet.'); - return; - } - - const routeId = routesConfig.routeId(routeContext) ?? ''; - let render = routesConfig.templates[routeId]; - - while (typeof render === 'string') { - render = routesConfig.templates[render]; - } - - try { - if (typeof render === 'function') { - return render.call(thisArg, routeContext); - } - // else - if (routeId === '') { - return routesConfig.templates.home(routeContext); - } - // else - logger.incident?.('routerOutlet', 'page_not_found', 'Requested page not defined in routesConfig.templates', { - routeId, - routeContext, - routesConfig, - }); - return routesConfig.templates._404(routeContext); - } - catch (err) { - logger.error('routerOutlet', 'render_failed', err); - return routesConfig.templates.home(routeContext); - } -}; - -/** - * Make anchor valid href from RouteContext format. - * - * Example: - * - * ```html - * <a href=${ url({sectionList: ['product', 100]}) }> - * ``` - */ -export const url = (route: Partial<RouteContextBase>): string => { - logger.logMethodArgs?.('url', {route}); - - let href = ''; - - if (Array.isArray(route.sectionList)) { - href += documentBaseUrl + route.sectionList.join('/'); - } - - href += toQueryParamString(route.queryParamList); - - if (route.hash != null && route.hash !== '') { - if (route.hash.indexOf('#') !== 0) { - route.hash = '#' + route.hash; - } - href += route.hash; - } - - return href; -}; - -/** - * Redirect to desire url. - * - * Example: - * - * ```ts - * redirect({ - * sectionList: ['product', 'book', 100], - * queryParamList: {cart: 1}, - * hash: '#description', - * }) - * ``` - */ -export const redirect = ( - route: string | Partial<RouteContextBase> | undefined, - pushState: PushState = true, - keepSectionSlice = 0, -): void => { - if (route == null) return; - logger.logMethodArgs?.('redirect', route); - if (keepSectionSlice > 0 && typeof route === 'object' && Array.isArray(route.sectionList)) { - const routeContext = routeContextConsumer.getValue(); - if (routeContext != null) { - route.sectionList = [...routeContext.sectionList.slice(0, keepSectionSlice), ...route.sectionList]; - } - } - const href = typeof route === 'string' ? route : url(route); - updateBrowserHistory(href, pushState); - routeContextProvider.setValue(makeRouteContext(), {debounce: 'Timeout'}); -}; - -// ---- - -/** - * Update browser history state (history.pushState or history.replaceState). - */ -export const updateBrowserHistory = (url: string, pushState: PushState): void => { - if (pushState === false || globalThis.history == null) return; - - logger.logMethodArgs?.('updateBrowserHistory', url); - if (location.href === url) return; - - if (pushState === 'replace') { - history.replaceState(null, '', url); - } - else { - history.pushState(null, '', url); - } -}; - -/** - * Make route context from url. - */ -export function makeRouteContext(): RouteContext { - logger.logMethod?.('makeRouteContext'); - - const sectionList = location.pathname - .split('/') - .map(_decodeURIComponent) // decode must be after split because encoded '/' maybe include in values. - .filter((section) => section.trim() !== '') - .map(sanitizeValue); - - const queryParamList = parseQueryParamString(location.search); - - const protocol = location.protocol === 'https:' ? 'HTTPS' : 'HTTP'; - - return { - href: location.href, - hostname: location.hostname, - origin: location.origin, - pathname: location.pathname, - port: location.port, - protocol, - sectionList, - queryParamList, - hash: location.hash, - }; -} - -/** - * Sanitize string value to valid parameters types. - */ -export const sanitizeValue = (value?: string | null): ParamValueType => { - if (value == null) { - return ''; - } - // else - value = value.trim(); - if (value === '') { - return value; - } - // else - const lowerValue = value.toLocaleLowerCase(); - if (lowerValue === 'true' || lowerValue === 'false') { - return lowerValue === 'true'; - } - // else - if (isNumber(value)) { - return +value; - } - // else - return value; -}; - -/** - * Convert `QueryParameters` object to `queryParameter` string. - */ -export const toQueryParamString = (queryParameterList?: QueryParameters): string => { - if (queryParameterList == null) return ''; - const list: string[] = []; - for (const key of Object.keys(queryParameterList)) { - list.push(`${key}=${String(queryParameterList[key])}`); - } - return '?' + list.join('&'); -}; - -/** - * Convert `queryParameter` string to `QueryParameters` object. - */ -export const parseQueryParamString = (queryParameter?: string): QueryParameters => { - logger.logMethodArgs?.('parseQueryParamString', {queryParamString: queryParameter}); - - const queryParamList: QueryParameters = {}; - - if (queryParameter == null) return queryParamList; - if (queryParameter.indexOf('?') === 0) queryParameter = queryParameter.substring(1); - if (queryParameter === '') return queryParamList; - - for (const parameter of queryParameter.split('&')) { - const parameterArray = parameter.split('='); - queryParamList[parameterArray[0]] = sanitizeValue(parameterArray[1]); - } - - return queryParamList; -}; - -/** - * decodeURIComponent without throwing error. - */ -export function _decodeURIComponent(val: string): string { - try { - return decodeURIComponent(val); - } - catch (err) { - return val; - } -} diff --git a/core/router/src/index.ts b/core/router/src/index.ts deleted file mode 100644 index a69db07f..00000000 --- a/core/router/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import {logger, makeRouteContext, routeContextProvider} from './core.js'; -import {clickTrigger} from './trigger-click.js'; -import {popstateTrigger} from './trigger-popstate.js'; - -export {routerOutlet, routeContextConsumer, url, redirect} from './core.js'; -export {clickTrigger, popstateTrigger}; -export type {RouteContext, RoutesConfig} from './type.js'; - -/** - * Initial process when dom loaded. - */ -((): void => { - logger.logMethod?.('initialize'); - - clickTrigger.enable = popstateTrigger.enable = true; - - if (routeContextProvider.getValue() === undefined) { - routeContextProvider.setValue(makeRouteContext(), {debounce: 'Timeout'}); - } - else { - logger.incident?.('initialize', 'skip_route_context', 'Route context already have value'); - } -})(); diff --git a/core/router/src/trigger-click.ts b/core/router/src/trigger-click.ts deleted file mode 100644 index 0cfbbba1..00000000 --- a/core/router/src/trigger-click.ts +++ /dev/null @@ -1,95 +0,0 @@ -import {logger, redirect} from './core.js'; - -let _enabled = false; - -/** - * A navigation trigger for Alwatr Router that translated clicks on `<a>` links into navigation signal. - * - * Only regular clicks on in-app links are translated. - * Only primary mouse button, no modifier keys, the target href is within the app's URL space. - */ -export const clickTrigger = { - /** - * Alwatr router global click handler. - */ - _clickHandler(event: MouseEvent): void { - logger.logMethod?.('_clickHandler'); - - if ( - // ignore if the default action is prevented. - event.defaultPrevented || - // ignore if the left mouse button is not pressed. - event.button !== 0 || - // ignore if the meta key is pressed. - event.metaKey || - // ignore if the ctrl key is pressed. - event.ctrlKey || - // ignore if the shift key is pressed. - event.shiftKey || - // ignore if the alt key is pressed. - event.altKey - ) { - return; - } - - // prettier-ignore - // find the <a> element that the click is at (or within) - const anchor = event - .composedPath() - .find( - (target) => (target as HTMLElement)?.tagName?.toLowerCase() === 'a', - ) as HTMLAnchorElement | undefined; - - if ( - // ignore if the anchor is not found. - anchor == null || - // ignore if the anchor is not an <a> element. - anchor.tagName?.toLowerCase() !== 'a' || - // ignore if the <a> element has a non-default target. - (typeof anchor.target === 'string' && anchor.target !== '' && anchor.target.toLowerCase() !== '_self') || - // ignore if the <a> element has a download attribute. - anchor.hasAttribute('download') || - // ignore if the <a> element has a rel attribute. - anchor.getAttribute('rel') === 'external' || - // ignore if the <a> element has a `router-ignore` attribute. - anchor.hasAttribute('router-ignore') || - // ignore the anchor protocols other than HTTP and HTTPS (mailto, ftp, ...). - (anchor.protocol !== 'http:' && anchor.protocol !== 'https:') || - // ignore if the anchor points to another origin (include the port number). - anchor.href.indexOf(window.location.origin) !== 0 - ) { - return; - } - - event.preventDefault(); - - // ignore if the target URL is the current page(after prevent default). - if (anchor.href === window.location.href) { - return; - } - - // if none of the above, convert the click into a navigation signal. - redirect(anchor.href, true); - - // for a click event, the scroll is reset to the top position. - if (event.type === 'click') { - window.scrollTo(0, 0); - } - }, - - set enable(enable: boolean) { - logger.logProperty?.('clickTrigger.enable', enable); - - if (enable && !_enabled) { - window.document.addEventListener('click', clickTrigger._clickHandler); - } - if (!enable && _enabled) { - window.document.removeEventListener('click', clickTrigger._clickHandler); - } - _enabled = enable; - }, - - get enable(): boolean { - return _enabled; - }, -}; diff --git a/core/router/src/trigger-popstate.ts b/core/router/src/trigger-popstate.ts deleted file mode 100644 index de8b1b48..00000000 --- a/core/router/src/trigger-popstate.ts +++ /dev/null @@ -1,34 +0,0 @@ -import {logger, redirect} from './core.js'; - -let _enabled = false; - -/** - * A navigation trigger for Alwatr Router that translates popstate events into navigation signal. - */ -export const popstateTrigger = { - /** - * Alwatr router global popstate handler. - */ - _popstateHandler(event: PopStateEvent): void { - const href = globalThis.location?.href; - logger.logMethodArgs?.('_popstateHandler', href); - if (event.state === 'router-ignore') return; - redirect(href, false); - }, - - set enable(enable: boolean) { - logger.logProperty?.('popstateTrigger.enable', enable); - - if (enable && !_enabled) { - globalThis.addEventListener('popstate', popstateTrigger._popstateHandler); - } - if (!enable && _enabled) { - globalThis.removeEventListener('popstate', popstateTrigger._popstateHandler); - } - _enabled = enable; - }, - - get enable(): boolean { - return _enabled; - }, -}; diff --git a/core/router/src/type.ts b/core/router/src/type.ts deleted file mode 100644 index 5635c755..00000000 --- a/core/router/src/type.ts +++ /dev/null @@ -1,158 +0,0 @@ -import type {QueryParameters, StringifyableRecord} from '@alwatr/type'; - -/** - * Route context base type. - * - * Sample: - * - * ```js - * // http://example.com:8080/product/100/book?cart=1&color=white#description - * { - * sectionList: [product, 100, book], - * queryParamList: {cart: 1, color: 'white'}, - * hash: '#description', - * } - * ``` - */ -export interface RouteContextBase extends StringifyableRecord { - sectionList: (string | number | boolean)[]; - queryParamList: QueryParameters; - hash: string; -} - -/** - * Global route context type. - * - * Sample: - * - * ```js - * { - * href: 'http://example.com:8080/product/100/book?cart=1&color=white#description' - * pathname: '/product/100/book', - * hostname: 'example.com', - * port: 8080, - * origin: http://example.com:8080, - * protocol: 'http', - * sectionList: [product, 100, book], - * queryParamList: {cart: 1, color: 'white'}, - * hash: '#description', - * } - * ``` - */ -export interface RouteContext extends RouteContextBase { - href: string; - pathname: string; - hostname: string; - port: string; - origin: string; - protocol: 'HTTP' | 'HTTPS'; -} - -export type PushState = boolean | 'replace'; - -/** - * Initial router options. - */ -export interface InitOptions { - /** - * A navigation trigger for Alwatr Router that translated clicks on `<a>` links into navigation signal. - * - * Only regular clicks on in-app links are translated. - * Only primary mouse button, no modifier keys, the target href is within the app's URL space. - * - * @default true - */ - clickTrigger?: boolean; - - /** - * @TODO: description - * - * @default true - */ - popstateTrigger?: boolean; -} - -/** - * Type of `routeConfig.templates` items. - */ -export type TemplateCallback = (routeContext: RouteContext) => unknown; - -/** - * Type of `routeConfig.templates`. - */ -export interface RouterTemplates { - [x: string]: TemplateCallback | string | undefined; - home: TemplateCallback; - _404: TemplateCallback; -} - -/** - * Routes config for routerOutlet. - * - * The `routerOutlet` return `list[map(currentRoute)].render(currentRoute)`. - * - * Example: - * - * ```ts - * const routeConfig = { - * routeId: (routeContext) => routeContext.sectionList[0]?.toString(), - * templates: { - * 'about': () => html`<page-about></page-about>`, - * 'product-list': () => { - * import('./page-product-list.js'); // lazy import - * return html`<page-product-list></page-product-list>`, - * }, - * 'contact': () => html`<page-contact></page-contact>`, - * 'home': () => html`<page-home></page-home>`, - * '_404': () => html`<page-404></page-404>`, - * }, - * }; - * - * routerOutlet(routeConfig); - * ``` - */ -export interface RoutesConfig { - /** - * Define function to generate routeId (same as pageName) from current routeContext. - * - * if the location is app root and `routeId()` return noting then redirect to `home` automatically - * if `routeId()` return noting or render function not defined in the `templates` redirected to `_404` routeId. - * - * Example: - * - * ```ts - * router.outlet({ - * routeId: (routeContext) => routeContext.sectionList[0]?.toString(), - * templates: { - * // ... - * }, - * }) - * ``` - */ - routeId: (routeContext: RouteContext) => string | undefined; - - /** - * Define templates of the routes (pages). - * - * Example: - * - * ```ts - * const routeConfig = { - * routeId: (routeContext) => routeContext.sectionList[0]?.toString(), - * templates: { - * 'about': () => html`<page-about></page-about>`, - * 'product-list': () => { - * import('./page-product-list.js'); // lazy import - * return html`<page-product-list></page-product-list>`, - * }, - * 'contact': () => html`<page-contact></page-contact>`, - * 'home': () => html`<page-home></page-home>`, - * '_404': () => html`<page-404></page-404>`, - * }, - * }; - * - * routerOutlet(routeConfig); - * ``` - */ - templates: RouterTemplates; -} diff --git a/core/router/tsconfig.json b/core/router/tsconfig.json deleted file mode 100644 index df45a08b..00000000 --- a/core/router/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": "." - }, - - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../logger"}, - {"path": "../math"}, - {"path": "../type"}, - {"path": "../signal"} - ] -} diff --git a/core/type/CHANGELOG.md b/core/type/CHANGELOG.md deleted file mode 100644 index dc80b3b6..00000000 --- a/core/type/CHANGELOG.md +++ /dev/null @@ -1,261 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.1](https://github.com/AliMD/alwatr/compare/@alwatr/type@1.1.0...@alwatr/type@1.1.1) (2023-09-12) - -**Note:** Version bump only for package @alwatr/type - -# 1.1.0 (2023-09-12) - -# 1.0.0 (2023-06-14) - -### Bug Fixes - -* **type/photo:** make meta optional ([5cea716](https://github.com/AliMD/alwatr/commit/5cea716d77bfe4db57c8f25307c4ee18862bb716)) - -# 0.32.0 (2023-05-27) - -### Bug Fixes - -* **com-api:** user-list-inc-order permission ([91beb27](https://github.com/AliMD/alwatr/commit/91beb27cbe372e6b66c99928e26fa4679b751c23)) -* **fetch:** userAuth in StringifyableFetchOptions ([f554b57](https://github.com/AliMD/alwatr/commit/f554b575584cb1464d48fbe8a8c4006125365853)) -* **type/com:** orderInfoSchema ([b90d872](https://github.com/AliMD/alwatr/commit/b90d87268429fc802fb9966fd6efd43912bc851a)) -* **type:** `data` type ([0601384](https://github.com/AliMD/alwatr/commit/06013843612fb2400d664a4dd084f70278a5eaa4)) -* **type:** `orderInfoSchema` ([47ca524](https://github.com/AliMD/alwatr/commit/47ca5243f6de3c966c3fb3bd10256134d100e4e9)) - -### Features - -* **com-pwa:** car count ([d2ea9c1](https://github.com/AliMD/alwatr/commit/d2ea9c12863d214afe5daa7d07997175c19ca859)) -* **type/com:** ComUserIncOrder ([8ddf5bf](https://github.com/AliMD/alwatr/commit/8ddf5bf0b75b601582751f017f293a26c74b1815)) -* **type/com:** rewrite ([1829673](https://github.com/AliMD/alwatr/commit/1829673cf63746d4356aaa3673aefc001b042258)) -* **type/user:** add token! ([de23795](https://github.com/AliMD/alwatr/commit/de237957a7a045c1998cf43b585125027fad5d7d)) -* **type:** add `priceListName` to `ComUser` ([b22555e](https://github.com/AliMD/alwatr/commit/b22555ebe508cc0d732e6af0e1bbf99f99eaca16)) -* **type:** user permissions ([e3d7091](https://github.com/AliMD/alwatr/commit/e3d70916fb7e93f8daf51a8c4aaf856f109b01be)) -* **type:** user permissions ([6bb0aac](https://github.com/AliMD/alwatr/commit/6bb0aacb991e11a930a30dc9071a5de0edf77368)) - -# 0.31.0 (2023-05-08) - -### Bug Fixes - -* **com-pwa/new-order:** debugging ([9027eb0](https://github.com/AliMD/alwatr/commit/9027eb013e6803b1f77dc7cbf4cc14704f49557d)) -* **type/service-response:** default generics ([04dfe54](https://github.com/AliMD/alwatr/commit/04dfe549c272878756544481f0a0d301d6e3c228)) -* **type:** fix `ComUser` ([670660f](https://github.com/AliMD/alwatr/commit/670660fb3b18e63ad54d22a76297b982c77533be)) -* **type:** Stringifyable ([058381b](https://github.com/AliMD/alwatr/commit/058381b50641ba44f4ac60e2173b5b91449e58cd)) -* **validator:** array support ([08f5215](https://github.com/AliMD/alwatr/commit/08f521534a0e937e5cf0f92bf5ca274838f41f93)) - -### Features - -* **com-pwa:** `sing-in` process ([407e9c6](https://github.com/AliMD/alwatr/commit/407e9c640899efdd2bc4633bb966665c6f9b00be)) -* **com-pwa:** change order_shipping_car i18n key ([b8f7daa](https://github.com/AliMD/alwatr/commit/b8f7daa2622506d45e85274db38dbe20a2518f1f)) -* **com-pwa:** validate shipping form and item list before enable submit ([9af59d7](https://github.com/AliMD/alwatr/commit/9af59d72a2678249776d738ea79e4f248a442c5c)) -* **type/com:** ComUser/permissions ([a962366](https://github.com/AliMD/alwatr/commit/a9623669a83f1cce0f96428d5c2d126ad3e5984b)) -* **type/com:** order schema ([d1aacdb](https://github.com/AliMD/alwatr/commit/d1aacdb56cb9995bc05d54bb78bc67e3f629e12c)) -* **type/com:** qtyStep const ([3c928d4](https://github.com/AliMD/alwatr/commit/3c928d406859c85cf939827ece98db6fc39ff914)) -* **type:** ArrayItems ([4f20d8a](https://github.com/AliMD/alwatr/commit/4f20d8ab312787d3073a43594e813bcddeb99aeb)) -* **type:** MaybeArray ([0c61708](https://github.com/AliMD/alwatr/commit/0c6170890faad306a052c3d8242df21f780ef1c3)) -* **type:** SingleOrArray, Prop, Values, Merge ([c3d2a86](https://github.com/AliMD/alwatr/commit/c3d2a8669f4ae83abeb69a1cfef51ecc23c76a10)) -* **type:** user permissions ([aff0853](https://github.com/AliMD/alwatr/commit/aff08538d183e3f6b2d637e56fe2f2281c4da768)) -* **type:** UserAuth ([c902144](https://github.com/AliMD/alwatr/commit/c9021444743c5a0a5a333688830cd0a7dd7d9867)) - -# 0.30.0 (2023-03-06) - -### Bug Fixes - -* **type:** com orderStatusCS ([b789640](https://github.com/AliMD/alwatr/commit/b789640b01165e403e9e12a014c9c777b61689b7)) -* **type:** export user and photo ([27e352e](https://github.com/AliMD/alwatr/commit/27e352e231aed966d4d049cc2f1f93781f386952)) - -### Features - -* **button:** click signal with detail ([03c2dc1](https://github.com/AliMD/alwatr/commit/03c2dc1e64562815505b468c761ac245554470ed)) -* **com-pwa:** carType/ladingType ([94a2e96](https://github.com/AliMD/alwatr/commit/94a2e969465c20f7b52b7f18050b9ae0d3fec62d)) -* **i18n:** l18eReadyPromise ([85c7570](https://github.com/AliMD/alwatr/commit/85c7570d71c3d5b9ec87b0e357ecf41f47f96227)) -* **type/com:** OrderDraft, orderDeliverySchema ([4417877](https://github.com/AliMD/alwatr/commit/44178779fbeba5d14a465380541c64ffb3f4f597)) -* **type:** ProductPrice ([7fe7b32](https://github.com/AliMD/alwatr/commit/7fe7b321c0ab94c8abc4527b4aa33191cf5a9213)) - -# 0.29.0 (2023-02-10) - -### Bug Fixes - -* **storage-server:** type ([5e033d7](https://github.com/AliMD/alwatr/commit/5e033d75d158a3b634a0d05da741241ff76f58d9)) - -### Features - -* **icon-button:** new content prop with click signal event ([bb5dae6](https://github.com/AliMD/alwatr/commit/bb5dae6048fcacb4a4e70aab514e4900fd5a96ea)) -* **route:** makeRouteContext ([16be581](https://github.com/AliMD/alwatr/commit/16be5815a4a44f22bd17c4a87f1b7ef30f9aec6c)) -* **router:** new api from scratch! ([2b26a8d](https://github.com/AliMD/alwatr/commit/2b26a8d9f95b5968dbda003edc9d540ea95fadd1)) -* **type:** enhance com types ([ed91385](https://github.com/AliMD/alwatr/commit/ed9138584b0096377e73251557cc4ff8aa92a3cc)) -* **type:** OmitFirstParam ([b5a778f](https://github.com/AliMD/alwatr/commit/b5a778f3da03244a0ad693ab15ef8dd782039163)) -* **type:** Stringifyable ([c2e0771](https://github.com/AliMD/alwatr/commit/c2e077118e0371fb32a5fc3fc81cf7f87d65104b)) - -# 0.28.0 (2023-01-20) - -### Bug Fixes - -* **type:** ChatPhotoMessage ([c72bcb2](https://github.com/AliMD/alwatr/commit/c72bcb24bfa936cd325728b42ad0f2acf463865d)) -* **type:** cleanup ([15c7d64](https://github.com/AliMD/alwatr/commit/15c7d648819914820374e752b91d41f287db574b)) -* **type:** export alwatrRegisteredList ([fa308b5](https://github.com/AliMD/alwatr/commit/fa308b5208e0a2ef0ed33e0fe7299cae0af51a97)) -* **type:** import type ([efaf4eb](https://github.com/AliMD/alwatr/commit/efaf4eb0ccbbf5eba5f34ece72bf27758f175521)) -* **type:** revert paramkey ([f1ad066](https://github.com/AliMD/alwatr/commit/f1ad06621f7fe80018573e50804e9f3c1b2edde1)) - -### Features - -* **type:** add optional text on ChatPhotoMessage ([af83f5b](https://github.com/AliMD/alwatr/commit/af83f5b8604cecd3c9b0cb2375267458fd02431d)) -* **type:** C.O.M ([d4655d8](https://github.com/AliMD/alwatr/commit/d4655d83f196990a3ffad2e4753be7b77639ee19)) -* **type:** chat ([4b7ac95](https://github.com/AliMD/alwatr/commit/4b7ac95522dcb637ebab2eda0b8f3e0cd80d59b0)) -* **type:** i18nString ([614037d](https://github.com/AliMD/alwatr/commit/614037d690415b257f34fb13c7143f76dfa2c6ca)) -* **type:** id in storage meta type ([146b9eb](https://github.com/AliMD/alwatr/commit/146b9eb4ebc748eda852988328b88abb75651945)) -* **type:** order ([79426ea](https://github.com/AliMD/alwatr/commit/79426ea696a0ca0723a8c7bfb6259c83a15c32d9)) -* **type:** order storage ([bd5f11c](https://github.com/AliMD/alwatr/commit/bd5f11c93f35ff235fb2f85df6cecd8823ea34fc)) -* **type:** photo ([7e38283](https://github.com/AliMD/alwatr/commit/7e38283113606a0a01c705caeb1f773a75dfd97c)) -* **type:** photo ([742005f](https://github.com/AliMD/alwatr/commit/742005f8588e408e818188a60eb9cf4a1fe9592f)) -* **type:** service-response ([18f8be3](https://github.com/AliMD/alwatr/commit/18f8be3f91f1678d6f5fb779c1f782736e29a010)) -* **type:** storage ([d4b3a95](https://github.com/AliMD/alwatr/commit/d4b3a956fb17b80b748d0587f12e818c021e3985)) -* **type:** user ([a0d8242](https://github.com/AliMD/alwatr/commit/a0d824202d91d75678945d72497965a55c4deba7)) -* **type:** user ([30b8edb](https://github.com/AliMD/alwatr/commit/30b8edb17aad0f20ccb887c1a71c65c385104ee3)) - -# 0.27.0 (2022-12-29) - -### Bug Fixes - -* **core/type:** remove extras ([63fe462](https://github.com/AliMD/alwatr/commit/63fe462e88e1d3e0dca8696f0c4c073ebc94c490)) -* resolve conflict ([052314d](https://github.com/AliMD/alwatr/commit/052314d2adb3b9b0e44e54f9b8e6d60fc1827075)) -* review issue ([e5d192c](https://github.com/AliMD/alwatr/commit/e5d192cbee6917c2de01146cf8bd026895724ab8)) - -### Features - -* **core/type:** make package ([1d8d1bd](https://github.com/AliMD/alwatr/commit/1d8d1bdfc39c4b1e238770a69d7c8e0cad593251)) -* **type:** add types ([2de3842](https://github.com/AliMD/alwatr/commit/2de384297b70b9818ec8d62ce8d31be4822d95a4)) -* **type:** define alwatrRegistredList ([25406c2](https://github.com/AliMD/alwatr/commit/25406c268f39cf3e055ea05c9fc7b50bd3dd0a17)) -* **type:** define chat type ([e4a345a](https://github.com/AliMD/alwatr/commit/e4a345a7c932d88f0d13e2df1b3dd7d2ad745932)) -* **type:** define chat type ([174fb02](https://github.com/AliMD/alwatr/commit/174fb02fe287c6fee6e9783f91dfa1928dbaf2ce)) -* **type:** define constructor type ([39c5ab7](https://github.com/AliMD/alwatr/commit/39c5ab74f0a1471d5e20beff89f6885265907633)) -* **type:** define math types ([8c19f40](https://github.com/AliMD/alwatr/commit/8c19f4058d4361b7d3f4f714595e34cb6fa21109)) - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -### Bug Fixes - -- **com-api:** user-list-inc-order permission ([91beb27](https://github.com/AliMD/alwatr/commit/91beb27cbe372e6b66c99928e26fa4679b751c23)) -- **type/photo:** make meta optional ([5cea716](https://github.com/AliMD/alwatr/commit/5cea716d77bfe4db57c8f25307c4ee18862bb716)) - -### Features - -- **type/com:** ComUserIncOrder ([8ddf5bf](https://github.com/AliMD/alwatr/commit/8ddf5bf0b75b601582751f017f293a26c74b1815)) - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -### Bug Fixes - -- **fetch:** userAuth in StringifyableFetchOptions ([f554b57](https://github.com/AliMD/alwatr/commit/f554b575584cb1464d48fbe8a8c4006125365853)) -- **type/com:** orderInfoSchema ([b90d872](https://github.com/AliMD/alwatr/commit/b90d87268429fc802fb9966fd6efd43912bc851a)) -- **type:** `data` type ([0601384](https://github.com/AliMD/alwatr/commit/06013843612fb2400d664a4dd084f70278a5eaa4)) -- **type:** `orderInfoSchema` ([47ca524](https://github.com/AliMD/alwatr/commit/47ca5243f6de3c966c3fb3bd10256134d100e4e9)) - -### Features - -- **com-pwa:** car count ([d2ea9c1](https://github.com/AliMD/alwatr/commit/d2ea9c12863d214afe5daa7d07997175c19ca859)) -- **type/com:** rewrite ([1829673](https://github.com/AliMD/alwatr/commit/1829673cf63746d4356aaa3673aefc001b042258)) -- **type/user:** add token! ([de23795](https://github.com/AliMD/alwatr/commit/de237957a7a045c1998cf43b585125027fad5d7d)) -- **type:** add `priceListName` to `ComUser` ([b22555e](https://github.com/AliMD/alwatr/commit/b22555ebe508cc0d732e6af0e1bbf99f99eaca16)) -- **type:** user permissions ([e3d7091](https://github.com/AliMD/alwatr/commit/e3d70916fb7e93f8daf51a8c4aaf856f109b01be)) -- **type:** user permissions ([6bb0aac](https://github.com/AliMD/alwatr/commit/6bb0aacb991e11a930a30dc9071a5de0edf77368)) - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Bug Fixes - -- **com-pwa/new-order:** debugging ([9027eb0](https://github.com/AliMD/alwatr/commit/9027eb013e6803b1f77dc7cbf4cc14704f49557d)) -- **type/service-response:** default generics ([04dfe54](https://github.com/AliMD/alwatr/commit/04dfe549c272878756544481f0a0d301d6e3c228)) -- **type:** fix `ComUser` ([670660f](https://github.com/AliMD/alwatr/commit/670660fb3b18e63ad54d22a76297b982c77533be)) -- **type:** Stringifyable ([058381b](https://github.com/AliMD/alwatr/commit/058381b50641ba44f4ac60e2173b5b91449e58cd)) -- **validator:** array support ([08f5215](https://github.com/AliMD/alwatr/commit/08f521534a0e937e5cf0f92bf5ca274838f41f93)) - -### Features - -- **com-pwa:** `sing-in` process ([407e9c6](https://github.com/AliMD/alwatr/commit/407e9c640899efdd2bc4633bb966665c6f9b00be)) -- **com-pwa:** change order_shipping_car i18n key ([b8f7daa](https://github.com/AliMD/alwatr/commit/b8f7daa2622506d45e85274db38dbe20a2518f1f)) -- **com-pwa:** validate shipping form and item list before enable submit ([9af59d7](https://github.com/AliMD/alwatr/commit/9af59d72a2678249776d738ea79e4f248a442c5c)) -- **type/com:** ComUser/permissions ([a962366](https://github.com/AliMD/alwatr/commit/a9623669a83f1cce0f96428d5c2d126ad3e5984b)) -- **type/com:** order schema ([d1aacdb](https://github.com/AliMD/alwatr/commit/d1aacdb56cb9995bc05d54bb78bc67e3f629e12c)) -- **type/com:** qtyStep const ([3c928d4](https://github.com/AliMD/alwatr/commit/3c928d406859c85cf939827ece98db6fc39ff914)) -- **type:** ArrayItems ([4f20d8a](https://github.com/AliMD/alwatr/commit/4f20d8ab312787d3073a43594e813bcddeb99aeb)) -- **type:** MaybeArray ([0c61708](https://github.com/AliMD/alwatr/commit/0c6170890faad306a052c3d8242df21f780ef1c3)) -- **type:** SingleOrArray, Prop, Values, Merge ([c3d2a86](https://github.com/AliMD/alwatr/commit/c3d2a8669f4ae83abeb69a1cfef51ecc23c76a10)) -- **type:** user permissions ([aff0853](https://github.com/AliMD/alwatr/commit/aff08538d183e3f6b2d637e56fe2f2281c4da768)) -- **type:** UserAuth ([c902144](https://github.com/AliMD/alwatr/commit/c9021444743c5a0a5a333688830cd0a7dd7d9867)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Bug Fixes - -- **type:** com orderStatusCS ([b789640](https://github.com/AliMD/alwatr/commit/b789640b01165e403e9e12a014c9c777b61689b7)) -- **type:** export user and photo ([27e352e](https://github.com/AliMD/alwatr/commit/27e352e231aed966d4d049cc2f1f93781f386952)) - -### Features - -- **button:** click signal with detail ([03c2dc1](https://github.com/AliMD/alwatr/commit/03c2dc1e64562815505b468c761ac245554470ed)) -- **com-pwa:** carType/ladingType ([94a2e96](https://github.com/AliMD/alwatr/commit/94a2e969465c20f7b52b7f18050b9ae0d3fec62d)) -- **i18n:** l18eReadyPromise ([85c7570](https://github.com/AliMD/alwatr/commit/85c7570d71c3d5b9ec87b0e357ecf41f47f96227)) -- **type/com:** OrderDraft, orderDeliverySchema ([4417877](https://github.com/AliMD/alwatr/commit/44178779fbeba5d14a465380541c64ffb3f4f597)) -- **type:** ProductPrice ([7fe7b32](https://github.com/AliMD/alwatr/commit/7fe7b321c0ab94c8abc4527b4aa33191cf5a9213)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Bug Fixes - -- **storage-server:** type ([5e033d7](https://github.com/AliMD/alwatr/commit/5e033d75d158a3b634a0d05da741241ff76f58d9)) - -### Features - -- **icon-button:** new content prop with click signal event ([bb5dae6](https://github.com/AliMD/alwatr/commit/bb5dae6048fcacb4a4e70aab514e4900fd5a96ea)) -- **route:** makeRouteContext ([16be581](https://github.com/AliMD/alwatr/commit/16be5815a4a44f22bd17c4a87f1b7ef30f9aec6c)) -- **router:** new api from scratch! ([2b26a8d](https://github.com/AliMD/alwatr/commit/2b26a8d9f95b5968dbda003edc9d540ea95fadd1)) -- **type:** enhance com types ([ed91385](https://github.com/AliMD/alwatr/commit/ed9138584b0096377e73251557cc4ff8aa92a3cc)) -- **type:** OmitFirstParam ([b5a778f](https://github.com/AliMD/alwatr/commit/b5a778f3da03244a0ad693ab15ef8dd782039163)) -- **type:** Stringifyable ([c2e0771](https://github.com/AliMD/alwatr/commit/c2e077118e0371fb32a5fc3fc81cf7f87d65104b)) - -# [0.28.0](https://github.com/AliMD/alwatr/compare/v0.27.0...v0.28.0) (2023-01-20) - -### Bug Fixes - -- resolve conflict ([052314d](https://github.com/AliMD/alwatr/commit/052314d2adb3b9b0e44e54f9b8e6d60fc1827075)) -- review issue ([e5d192c](https://github.com/AliMD/alwatr/commit/e5d192cbee6917c2de01146cf8bd026895724ab8)) -- **type:** ChatPhotoMessage ([c72bcb2](https://github.com/AliMD/alwatr/commit/c72bcb24bfa936cd325728b42ad0f2acf463865d)) -- **type:** cleanup ([15c7d64](https://github.com/AliMD/alwatr/commit/15c7d648819914820374e752b91d41f287db574b)) -- **type:** export alwatrRegisteredList ([fa308b5](https://github.com/AliMD/alwatr/commit/fa308b5208e0a2ef0ed33e0fe7299cae0af51a97)) -- **type:** import type ([efaf4eb](https://github.com/AliMD/alwatr/commit/efaf4eb0ccbbf5eba5f34ece72bf27758f175521)) -- **type:** revert paramkey ([f1ad066](https://github.com/AliMD/alwatr/commit/f1ad06621f7fe80018573e50804e9f3c1b2edde1)) - -### Features - -- **type:** add optional text on ChatPhotoMessage ([af83f5b](https://github.com/AliMD/alwatr/commit/af83f5b8604cecd3c9b0cb2375267458fd02431d)) -- **type:** add types ([2de3842](https://github.com/AliMD/alwatr/commit/2de384297b70b9818ec8d62ce8d31be4822d95a4)) -- **type:** C.O.M ([d4655d8](https://github.com/AliMD/alwatr/commit/d4655d83f196990a3ffad2e4753be7b77639ee19)) -- **type:** chat ([4b7ac95](https://github.com/AliMD/alwatr/commit/4b7ac95522dcb637ebab2eda0b8f3e0cd80d59b0)) -- **type:** define alwatrRegistredList ([25406c2](https://github.com/AliMD/alwatr/commit/25406c268f39cf3e055ea05c9fc7b50bd3dd0a17)) -- **type:** define chat type ([e4a345a](https://github.com/AliMD/alwatr/commit/e4a345a7c932d88f0d13e2df1b3dd7d2ad745932)) -- **type:** define chat type ([174fb02](https://github.com/AliMD/alwatr/commit/174fb02fe287c6fee6e9783f91dfa1928dbaf2ce)) -- **type:** define constructor type ([39c5ab7](https://github.com/AliMD/alwatr/commit/39c5ab74f0a1471d5e20beff89f6885265907633)) -- **type:** define math types ([8c19f40](https://github.com/AliMD/alwatr/commit/8c19f4058d4361b7d3f4f714595e34cb6fa21109)) -- **type:** i18nString ([614037d](https://github.com/AliMD/alwatr/commit/614037d690415b257f34fb13c7143f76dfa2c6ca)) -- **type:** id in storage meta type ([146b9eb](https://github.com/AliMD/alwatr/commit/146b9eb4ebc748eda852988328b88abb75651945)) -- **type:** order ([79426ea](https://github.com/AliMD/alwatr/commit/79426ea696a0ca0723a8c7bfb6259c83a15c32d9)) -- **type:** order storage ([bd5f11c](https://github.com/AliMD/alwatr/commit/bd5f11c93f35ff235fb2f85df6cecd8823ea34fc)) -- **type:** photo ([7e38283](https://github.com/AliMD/alwatr/commit/7e38283113606a0a01c705caeb1f773a75dfd97c)) -- **type:** photo ([742005f](https://github.com/AliMD/alwatr/commit/742005f8588e408e818188a60eb9cf4a1fe9592f)) -- **type:** service-response ([18f8be3](https://github.com/AliMD/alwatr/commit/18f8be3f91f1678d6f5fb779c1f782736e29a010)) -- **type:** storage ([d4b3a95](https://github.com/AliMD/alwatr/commit/d4b3a956fb17b80b748d0587f12e818c021e3985)) -- **type:** user ([a0d8242](https://github.com/AliMD/alwatr/commit/a0d824202d91d75678945d72497965a55c4deba7)) -- **type:** user ([30b8edb](https://github.com/AliMD/alwatr/commit/30b8edb17aad0f20ccb887c1a71c65c385104ee3)) - -# [0.27.0](https://github.com/AliMD/alwatr/compare/v0.26.0...v0.27.0) (2022-12-29) - -### Bug Fixes - -- **core/type:** remove extras ([63fe462](https://github.com/AliMD/alwatr/commit/63fe462e88e1d3e0dca8696f0c4c073ebc94c490)) - -### Features - -- **core/type:** make package ([1d8d1bd](https://github.com/AliMD/alwatr/commit/1d8d1bdfc39c4b1e238770a69d7c8e0cad593251)) diff --git a/core/type/README.md b/core/type/README.md deleted file mode 100644 index 1b351e97..00000000 --- a/core/type/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Alwatr Types - `@alwatr/type` - -Alwatr projects common entities types. diff --git a/core/type/package.json b/core/type/package.json deleted file mode 100644 index c27a59b3..00000000 --- a/core/type/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@alwatr/type", - "version": "1.1.1", - "description": "Alwatr projects common entities types", - "keywords": [ - "type", - "typescript", - "esm", - "alwatr" - ], - "type": "module", - "main": "index.js", - "types": "index.d.ts", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", - "license": "MIT", - "files": [ - "**/**/*.{d.ts.map,d.ts,js.map,js,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "core/type" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/core/type#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - } -} diff --git a/core/type/src/chat.ts b/core/type/src/chat.ts deleted file mode 100644 index 19477cc2..00000000 --- a/core/type/src/chat.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type {AlwatrDocumentObject, AlwatrDocumentStorage} from './storage.js'; - -type CommonMessage = AlwatrDocumentObject & { - from: string; - replyId?: string; -}; - -export type ChatTextMessage = CommonMessage & { - type: 'text'; - text: string; -}; - -export type ChatPhotoMessage = CommonMessage & { - type: 'photo'; - photo: unknown; -}; - -export type ChatMessage = ChatTextMessage | ChatPhotoMessage; - -export type ChatStorage = AlwatrDocumentStorage<ChatTextMessage>; diff --git a/core/type/src/customer-order-management.ts b/core/type/src/customer-order-management.ts deleted file mode 100644 index ade9bb1c..00000000 --- a/core/type/src/customer-order-management.ts +++ /dev/null @@ -1,218 +0,0 @@ -import type {MultiLangStringObj} from './i18n.js'; -import type {Photo} from './photo.js'; -import type {AlwatrDocumentObject} from './storage.js'; -import type {StringifyableRecord} from './type-helper.js'; -import type {User} from './user.js'; - -// -- Const value -- - -export const ladingTypeCS = ['hand', 'pallet'] as const; -export type LadingType = (typeof ladingTypeCS)[number]; - -export const carTypeCS = [ - 'trailer_truck', - 'camion_dual', - 'camion_solo', - 'camion_911', - 'camion_800', - 'camion_600', - 'camion_mini', - 'nissan', -] as const; -export type CarType = (typeof carTypeCS)[number]; - -export const timePeriodCS = ['auto', '3_4w', '2_3w', '1_2w'] as const; -export type TimePeriod = (typeof timePeriodCS)[number]; - -export const discountTypeCS = ['number', 'percent'] as const; -export type DiscountType = (typeof discountTypeCS)[number]; - -export const orderStatusCS = [ - 'draft', - 'registered', - 'processing', - 'payment_pending', - 'preparing', - 'shipping', - 'delayed', - 'on_hold', - 'canceled', - 'refunded', -] as const; -export type OrderStatus = (typeof orderStatusCS)[number]; - -export const userPermissionsCS = ['user/patch', 'price/patch', 'product/patch', 'user-list-inc-order/read'] as const; -export type UserPermission = (typeof userPermissionsCS)[number]; - -// -- Document object -- - -export interface Product extends AlwatrDocumentObject { - /** - * Product global unique id. - */ - id: string; - - /** - * Product title - */ - title: MultiLangStringObj; - - /** - * Product image - */ - image: Photo; -} - -export interface ProductPrice extends AlwatrDocumentObject { - /** - * Product global unique id. - */ - id: string; - - /** - * Product price in this list. - */ - price: number; -} - -export interface Order extends AlwatrDocumentObject { - /** - * Order auto incremental unique id. - */ - id: string; - - /** - * Order Status - */ - status: OrderStatus; - - /** - * Order cart list. - */ - itemList: OrderItem[]; - - /** - * Delivery info - */ - shippingInfo: Partial<OrderShippingInfo>; - - // discount: number; - // discountType: DiscountType; - - /** - * The total price of this order exclude shippings. - */ - subTotalMarket: number; - - subTotalAgency: number; - - /** - * The cost of lading the order. - */ - ladingFee: number; - - /** - * The cost of pallet. - */ - palletCost: number; - - /** - * The cost of shipping price. - */ - shippingFee: number; - - /** - * Total shipping const. - */ - totalShippingFee: number; - - /** - * Customer device uuid. - */ - clientId: string; - - /** - * Customer device ip address. - */ - remoteAddress: string; -} - -export interface OrderDraft extends Partial<Order> { - id: 'new'; - status: 'draft'; -} - -// -- child types -- - -export interface OrderItem extends StringifyableRecord { - productId: string; - - /** - * The selling price of single product in the market. - */ - marketPrice: number; - - /** - * The selling price of a product after any discounts to this buyer. - */ - agencyPrice: number; - - /** - * Quantity of this item. - */ - qty: number; -} - -export interface OrderShippingInfo extends StringifyableRecord { - recipientName: string; - recipientNationalCode: string; - address: string; - description: string; - ladingType: LadingType; - carType: CarType; - timePeriod: TimePeriod; -} - -export interface ComUser extends User { - permissions?: UserPermission[] | 'root'; - shopName?: string; - priceListName?: string; -} - -export interface ComUserIncOrder extends ComUser { - orderList: Record<string, Order>; -} - -// -- Schema -- - -export const orderInfoSchema = { - id: String, - status: String, - itemList: [ - { - productId: String, - marketPrice: Number, - agencyPrice: Number, - qty: Number, - }, - ], - shippingInfo: { - recipientName: String, - recipientNationalCode: String, - address: String, - carType: String, - ladingType: String, - timePeriod: String, - // description: String, - }, - // discount: Number, - // discountType: String, - subTotalMarket: Number, - subTotalAgency: Number, - ladingFee: Number, - palletCost: Number, - shippingFee: Number, - totalShippingFee: Number, -}; - -export const orderShippingInfoSchema = orderInfoSchema.shippingInfo; diff --git a/core/type/src/event-signal.ts b/core/type/src/event-signal.ts deleted file mode 100644 index 7c3ff0c2..00000000 --- a/core/type/src/event-signal.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type {Stringifyable, StringifyableRecord} from './type-helper.js'; - -export interface ClickSignalType<T extends Stringifyable = Stringifyable> extends StringifyableRecord { - readonly x: number; - readonly y: number; - readonly altKey: boolean; - readonly ctrlKey: boolean; - readonly metaKey: boolean; - detail: T; -} diff --git a/core/type/src/flight-finder.ts b/core/type/src/flight-finder.ts deleted file mode 100644 index 782b5534..00000000 --- a/core/type/src/flight-finder.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type {AlwatrDocumentObject} from './storage.js'; -import type {StringifyableRecord} from './type-helper.js'; - -export interface Job extends AlwatrDocumentObject { - detail: JobDetail; - resultList: JobResult[]; -} - -export interface JobDetail extends StringifyableRecord { - origin: string; - destination: string; - date: string; - seatCount: number; - maxPrice: number | null; - description: string; - minHour: number | null; - maxHour: number | null; -} - -export interface JobResult extends StringifyableRecord { - price: number; - time: string; - seatCount: number; - airline: string; - airplane: string; - flightId: string; - arrivalTime: string; -} diff --git a/core/type/src/global.ts b/core/type/src/global.ts deleted file mode 100644 index b5dc0367..00000000 --- a/core/type/src/global.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable no-var */ - -export interface AlwatrPackageInfo { - name: string; - version: string; -} - -export interface GlobalAlwatr { - registeredList: AlwatrPackageInfo[]; -} - -declare global { - var _ALWATR_VERSION_: string; - var Alwatr: GlobalAlwatr; -} diff --git a/core/type/src/i18n.ts b/core/type/src/i18n.ts deleted file mode 100644 index f734b85a..00000000 --- a/core/type/src/i18n.ts +++ /dev/null @@ -1,33 +0,0 @@ -import {AlwatrServiceResponseSuccessWithMeta} from './service-response.js'; -import {StringifyableRecord} from './type-helper.js'; - -export type LocaleCode = `${Lowercase<string>}-${Uppercase<string>}`; - -export type L18eContext = AlwatrServiceResponseSuccessWithMeta<Record<string, string>, { - code: LocaleCode; - rev: number; -}>; - -export interface LocaleContext extends StringifyableRecord { - /** - * fa-IR, en-US, ... - */ - code: LocaleCode; - - /** - * fa, en, ... - */ - language: Lowercase<string>; - - /** - * ltr, rtl - */ - direction: 'rtl' | 'ltr'; -} - -/** - * Multi language string - * - * {fa: 'سلام', en: 'hello'} - */ -export type MultiLangStringObj = Record<Lowercase<string>, string>; diff --git a/core/type/src/index.ts b/core/type/src/index.ts deleted file mode 100644 index a6181ede..00000000 --- a/core/type/src/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './chat.js'; -export * from './service-response.js'; -export * from './storage.js'; -export * from './global.js'; -export * from './i18n.js'; -export * from './type-helper.js'; -export * from './event-signal.js'; -export * from './user.js'; -export * from './photo.js'; - -Alwatr.registeredList.push({ - name: '@alwatr/type', - version: _ALWATR_VERSION_, -}); diff --git a/core/type/src/photo.ts b/core/type/src/photo.ts deleted file mode 100644 index 0c7920c9..00000000 --- a/core/type/src/photo.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {AlwatrDocumentObject} from './storage.js'; - -export type Photo = AlwatrDocumentObject & { - /** - * Primary Photo ID - * - * like full relative path (include extension) to image CDN (temporary) - */ - id: string; // path/file-name.png - - /** - * Photo extra meta information for future maintenances - */ - meta?: Record<string, string | number>; // meta: {order: 1233, customer: 1334} -}; diff --git a/core/type/src/service-response.ts b/core/type/src/service-response.ts deleted file mode 100644 index f620081f..00000000 --- a/core/type/src/service-response.ts +++ /dev/null @@ -1,43 +0,0 @@ -import {Stringifyable, StringifyableRecord} from './type-helper.js'; - -export type Methods = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'TRACE' | 'OPTIONS' | 'PATCH'; - -export type ParamKeyType = 'string' | 'number' | 'boolean'; -export type ParamValueType = string | number | boolean; -export type QueryParameters = Record<string, string | number | boolean>; - -export interface AlwatrServiceResponseFailed extends StringifyableRecord { - ok: false; - statusCode: number; - errorCode: string; - meta?: StringifyableRecord; - data?: never; -} - -export interface AlwatrServiceResponseSuccess<TData extends Stringifyable = Stringifyable> - extends StringifyableRecord { - ok: true; - statusCode?: number; - errorCode?: never; - meta?: never; - data: TData; -} - -export interface AlwatrServiceResponseSuccessWithMeta< - TData extends Stringifyable = Stringifyable, - TMeta extends StringifyableRecord = StringifyableRecord -> extends StringifyableRecord { - ok: true; - statusCode?: number; - errorCode?: never; - meta: TMeta; - data: TData; -} - -export type AlwatrServiceResponse< - TData extends Stringifyable = Stringifyable, - TMeta extends StringifyableRecord = StringifyableRecord -> = - | AlwatrServiceResponseSuccess<TData> - | AlwatrServiceResponseSuccessWithMeta<TData, TMeta> - | AlwatrServiceResponseFailed; diff --git a/core/type/src/storage.ts b/core/type/src/storage.ts deleted file mode 100644 index 011232ef..00000000 --- a/core/type/src/storage.ts +++ /dev/null @@ -1,27 +0,0 @@ -import {AlwatrServiceResponseSuccessWithMeta} from './service-response.js'; -import {StringifyableRecord} from './type-helper.js'; - -export interface AlwatrDocumentObject extends StringifyableRecord { - id: string; - meta?: { - rev: number; - created: number; - updated: number; - }; -} - -export interface AlwatrStorageMeta extends StringifyableRecord { - id: string; - formatVersion: number; - reversion: number; - lastUpdated: number; - lastAutoId: number; -} - -// export type AlwatrDocumentStorage<T extends AlwatrDocumentObject> = Omit< -// AlwatrServiceResponseSuccessWithMeta<Record<string, T>, AlwatrStorageMeta>, -// 'statusCode' | 'errorCode' -// >; - -export type AlwatrDocumentStorage<T extends AlwatrDocumentObject = AlwatrDocumentObject> = - AlwatrServiceResponseSuccessWithMeta<Record<string, T>, AlwatrStorageMeta>; diff --git a/core/type/src/type-helper.ts b/core/type/src/type-helper.ts deleted file mode 100644 index 03d2feda..00000000 --- a/core/type/src/type-helper.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ - -export type Constructor<T> = new (...args: any[]) => T; - -export type MaybePromise<T> = T | Promise<T>; -export type SingleOrArray<T> = T | T[]; - -export type OmitFirstParam<F> = F extends (x: any, ...args: infer A) => infer R ? (...args: A) => R : never; - -/** - * Object that can be JSON.stringify. - */ -export type Stringifyable = - | string - | number - | boolean - | null - | undefined - | { [P: string]: Stringifyable } - | Stringifyable[]; - -export type StringifyableRecord = Record<string, Stringifyable>; - -export type Prop<T, K> = K extends keyof T ? T[K] : never; - -export type Values<T> = T[keyof T]; -export type ArrayItems<T> = T extends (infer K)[] ? K : T; - -export type Merge<M, N> = Omit<M, keyof N> & N; diff --git a/core/type/src/user.ts b/core/type/src/user.ts deleted file mode 100644 index 5b5fc183..00000000 --- a/core/type/src/user.ts +++ /dev/null @@ -1,69 +0,0 @@ -import {StringifyableRecord} from './type-helper.js'; - -import type {AlwatrDocumentObject} from './storage.js'; - -export const genderCS = ['male', 'female'] as const; -export type Gender = typeof genderCS[number]; - -export interface User extends AlwatrDocumentObject { - /** - * User global unique id (verifiable) - */ - id: string; - - /** - * Link pass epoch number, started from 1 and increased by token revoke. - */ - lpe: number; - - /** - * User token, used for user authorization. - * DANGER: This field should not be save in public storage. - */ - token?: string; - - /** - * User authorization permissions list. - */ - permissions?: string[] | 'root'; - - fullName: string; - - phoneNumber: number; - - gender: Gender; - - email?: string; - - landlinePhone?: string; - - /** - * Country Code. - */ - country: string; - - /** - * Province Code. - */ - province?: string; - - /** - * City Code. - */ - city?: string; - - /** - * User full address. - */ - address?: string; - - /** - * Postal code - */ - postalCode?: string; -} - -export interface UserAuth extends StringifyableRecord { - id: string; - token: string; -} diff --git a/core/type/tsconfig.json b/core/type/tsconfig.json deleted file mode 100644 index 7af594af..00000000 --- a/core/type/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": "." - }, - // files, include and exclude from the inheriting config are always overwritten. - "include": ["src/**/*.ts"], - "exclude": [], - "references": [] -} diff --git a/core/util/CHANGELOG.md b/core/util/CHANGELOG.md deleted file mode 100644 index 6acb0e72..00000000 --- a/core/util/CHANGELOG.md +++ /dev/null @@ -1,113 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.2.0](https://github.com/AliMD/alwatr/compare/@alwatr/util@1.1.1...@alwatr/util@1.2.0) (2023-09-12) - -### Features - -* **util:** browser-task ([efc4c6e](https://github.com/AliMD/alwatr/commit/efc4c6efe5d0f716a4855e5c0fd7778a81b53885)) by @AliMD - -## [1.1.1](https://github.com/AliMD/alwatr/compare/@alwatr/util@1.1.0...@alwatr/util@1.1.1) (2023-09-12) - -**Note:** Version bump only for package @alwatr/util - -# 1.1.0 (2023-09-12) - -### Features - -* **util:** defaultExport ([82cc24e](https://github.com/AliMD/alwatr/commit/82cc24e84b9e18cebf7c149e6f6cbb1c2c44858c)) -* **util:** renderState ([19a6030](https://github.com/AliMD/alwatr/commit/19a603018c87065191f99a55cdcdfc8193dc493d)) - -# 1.0.0 (2023-06-14) - -### Bug Fixes - -* **util/fs:** makeLinkForce throw error ([8bfcc80](https://github.com/AliMD/alwatr/commit/8bfcc80b11ad59538478440fe6e88cc9ee12df77)) - -### Features - -* **util:** add string capitalize ([c499456](https://github.com/AliMD/alwatr/commit/c4994562f75471184d49f46ba3c6d7acdb4ab796)) - -# 0.32.0 (2023-05-27) - -### Features - -* **util/fs:** existFile option option ([c8c2020](https://github.com/AliMD/alwatr/commit/c8c202097f6a1fb568993f7987977a140dde5273)) -* **util:** flatStr ([09462ec](https://github.com/AliMD/alwatr/commit/09462ec88082a2339e633975c346f2fa17997400)) - -# 0.31.0 (2023-05-08) - -### Features - -* **util/node:** makeLinkForce ([f0c091e](https://github.com/AliMD/alwatr/commit/f0c091e454c1cb0b47b5126bd025b450e05b81fb)) -* **util:** generic types ([7a69fa7](https://github.com/AliMD/alwatr/commit/7a69fa78b6b36834816fcdb4376f9d53d3243713)) -* **util:** readJsonFile ([940cba6](https://github.com/AliMD/alwatr/commit/940cba67d2e56c6292aba02d01d0395edfa1b217)) -* **util:** readJsonFileSync ([659b2ea](https://github.com/AliMD/alwatr/commit/659b2ead425264073d53b561c0a7f6e2476ff8cc)) -* **util:** setLocalStorageItem ([46e248c](https://github.com/AliMD/alwatr/commit/46e248cb79b7846f568eadc5a6d5a2214fe4faf3)) -* **util:** writeJsonFile ([3707070](https://github.com/AliMD/alwatr/commit/3707070ef0c7716718e84ccfb6c44e316983e2f2)) -* **util:** writeJsonFileSync ([230f415](https://github.com/AliMD/alwatr/commit/230f4157a19ea539f6c245ef77e02512b7c9c91a)) - -# 0.30.0 (2023-03-06) - -### Features - -* **util:** add getClientId ([f9c1008](https://github.com/AliMD/alwatr/commit/f9c1008da682555e22178aa8d23cf742937b76a4)) -* **util:** add getLocalStorageItem ([dc5fa8b](https://github.com/AliMD/alwatr/commit/dc5fa8b9620a9add1aa3c838d38fb9ed9d364010)) -* **util:** add parseJson ([543da2c](https://github.com/AliMD/alwatr/commit/543da2cbb7079f74fe3f280f9c07b8fe6fc8e987)) -* **util:** polyfil requestAnimationFrame, requestIdleCallbackFallback ([6dc4b73](https://github.com/AliMD/alwatr/commit/6dc4b7347b97d2d2fdd562917e02cbe4d6d1328b)) - -# 0.29.0 (2023-02-10) - -### Features - -* **util:** arrow fn and untilEvent types ([ced1de6](https://github.com/AliMD/alwatr/commit/ced1de64f7d7458d14578096484f492be35665fc)) -* **util:** new package ([a7b1fb3](https://github.com/AliMD/alwatr/commit/a7b1fb38d93867b5013ec35c4a0a06d6ffe8716a)) -* **util:** until functions ([3b17ef2](https://github.com/AliMD/alwatr/commit/3b17ef22e2074c0a76751795af15330b6cb08090)) - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -### Bug Fixes - -- **util/fs:** makeLinkForce throw error ([8bfcc80](https://github.com/AliMD/alwatr/commit/8bfcc80b11ad59538478440fe6e88cc9ee12df77)) - -### Features - -- **util/fs:** existFile option option ([c8c2020](https://github.com/AliMD/alwatr/commit/c8c202097f6a1fb568993f7987977a140dde5273)) -- **util:** add string capitalize ([c499456](https://github.com/AliMD/alwatr/commit/c4994562f75471184d49f46ba3c6d7acdb4ab796)) - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -### Features - -- **util:** flatStr ([09462ec](https://github.com/AliMD/alwatr/commit/09462ec88082a2339e633975c346f2fa17997400)) - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Features - -- **util/node:** makeLinkForce ([f0c091e](https://github.com/AliMD/alwatr/commit/f0c091e454c1cb0b47b5126bd025b450e05b81fb)) -- **util:** generic types ([7a69fa7](https://github.com/AliMD/alwatr/commit/7a69fa78b6b36834816fcdb4376f9d53d3243713)) -- **util:** readJsonFile ([940cba6](https://github.com/AliMD/alwatr/commit/940cba67d2e56c6292aba02d01d0395edfa1b217)) -- **util:** readJsonFileSync ([659b2ea](https://github.com/AliMD/alwatr/commit/659b2ead425264073d53b561c0a7f6e2476ff8cc)) -- **util:** setLocalStorageItem ([46e248c](https://github.com/AliMD/alwatr/commit/46e248cb79b7846f568eadc5a6d5a2214fe4faf3)) -- **util:** writeJsonFile ([3707070](https://github.com/AliMD/alwatr/commit/3707070ef0c7716718e84ccfb6c44e316983e2f2)) -- **util:** writeJsonFileSync ([230f415](https://github.com/AliMD/alwatr/commit/230f4157a19ea539f6c245ef77e02512b7c9c91a)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Features - -- **util:** add getClientId ([f9c1008](https://github.com/AliMD/alwatr/commit/f9c1008da682555e22178aa8d23cf742937b76a4)) -- **util:** add getLocalStorageItem ([dc5fa8b](https://github.com/AliMD/alwatr/commit/dc5fa8b9620a9add1aa3c838d38fb9ed9d364010)) -- **util:** add parseJson ([543da2c](https://github.com/AliMD/alwatr/commit/543da2cbb7079f74fe3f280f9c07b8fe6fc8e987)) -- **util:** polyfil requestAnimationFrame, requestIdleCallbackFallback ([6dc4b73](https://github.com/AliMD/alwatr/commit/6dc4b7347b97d2d2fdd562917e02cbe4d6d1328b)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Features - -- **util:** arrow fn and untilEvent types ([ced1de6](https://github.com/AliMD/alwatr/commit/ced1de64f7d7458d14578096484f492be35665fc)) -- **util:** new package ([a7b1fb3](https://github.com/AliMD/alwatr/commit/a7b1fb38d93867b5013ec35c4a0a06d6ffe8716a)) -- **util:** until functions ([3b17ef2](https://github.com/AliMD/alwatr/commit/3b17ef22e2074c0a76751795af15330b6cb08090)) diff --git a/core/util/README.md b/core/util/README.md deleted file mode 100644 index 9fc30104..00000000 --- a/core/util/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Alwatr Util - `@alwatr/util` - -Util library written in tiny TypeScript module. diff --git a/core/util/package.json b/core/util/package.json deleted file mode 100644 index d0b7273d..00000000 --- a/core/util/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@alwatr/util", - "version": "1.2.0", - "description": "Util library written in tiny TypeScript module.", - "keywords": [ - "util", - "typescript", - "esm", - "alwatr" - ], - "main": "index.js", - "type": "module", - "types": "index.d.ts", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com>", - "contributors": [ - "S. Amir Mohammad Najafi <njfamirm@gmail.com> (njfamirm.ir)" - ], - "license": "MIT", - "files": [ - "**/*.{d.ts.map,d.ts,js.map,js,html,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "core/util" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/core/util#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "exports": { - ".": { - "default": "./index.js" - }, - "./node.js": { - "default": "./node/index.js" - } - }, - "dependencies": { - "@alwatr/math": "^1.1.2", - "@alwatr/type": "^1.1.1", - "tslib": "^2.6.2" - }, - "devDependencies": { - "flatstr": "^1.0.12" - } -} diff --git a/core/util/src/_logger.ts b/core/util/src/_logger.ts deleted file mode 100644 index 5ee3e8dc..00000000 --- a/core/util/src/_logger.ts +++ /dev/null @@ -1,3 +0,0 @@ -import {createLogger} from '@alwatr/logger'; - -export const logger = createLogger('alwatr/util'); diff --git a/core/util/src/browser-task.ts b/core/util/src/browser-task.ts deleted file mode 100644 index 2ea86667..00000000 --- a/core/util/src/browser-task.ts +++ /dev/null @@ -1,17 +0,0 @@ -const {port1, port2} = new MessageChannel(); -port2.start(); - -export const browserTask = (): Promise<void> => { - return new Promise((resolve) => { - const uid = Math.random(); - const onMessage = (event: MessageEvent) => { - if (event.data !== uid) { - return; - } - port2.removeEventListener('message', onMessage); - resolve(); - }; - port2.addEventListener('message', onMessage); - port1.postMessage(uid); - }); -}; diff --git a/core/util/src/client-id.ts b/core/util/src/client-id.ts deleted file mode 100644 index 289f8c07..00000000 --- a/core/util/src/client-id.ts +++ /dev/null @@ -1,19 +0,0 @@ -import {random} from '@alwatr/math'; - -import {getLocalStorageItem, setLocalStorageItem} from './local-storage.js'; - -const localStorageId = 'client_id_x1'; -let clientId: string | null = null; - -export const getClientId = (): string => { - if (clientId != null) { - return clientId; - } - // else - clientId = getLocalStorageItem(localStorageId, null); - if (clientId == null) { - clientId = random.uuid; - setLocalStorageItem(localStorageId, clientId); - } - return clientId; -}; diff --git a/core/util/src/default-export.ts b/core/util/src/default-export.ts deleted file mode 100644 index 87970212..00000000 --- a/core/util/src/default-export.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Get default export from dynamic es-module import without resolve promise. - * - * Example: - * - * ```ts - * const starIcon = defaultExport(import('@alwatr/icon/svg/star-outline.svg')); - * - * render(`<div class="icon">${await starIcon}</div>`) - * ``` - */ -export const defaultExport = <K extends string, T extends {default: K}>(m: Promise<T>): Promise<K> => - m.then((_m) => _m.default); diff --git a/core/util/src/delay.ts b/core/util/src/delay.ts deleted file mode 100644 index 8fbade65..00000000 --- a/core/util/src/delay.ts +++ /dev/null @@ -1,20 +0,0 @@ -import {requestAnimationFrame} from './polyfill.js'; - -export const delay = (duration: number): Promise<void> => { - return new Promise((resolve) => setTimeout(resolve, duration)); -}; - -export const untilNextFrame = (): Promise<DOMHighResTimeStamp> => { - return new Promise((resolve) => requestAnimationFrame(resolve)); -}; - -export const untilIdle = (timeout?: number): Promise<IdleDeadline> => { - return new Promise((resolve) => requestIdleCallback(resolve, {timeout})); -}; - -export const untilEvent = <T extends keyof HTMLElementEventMap>( - element: HTMLElement, - eventName: T, -): Promise<HTMLElementEventMap[T]> => { - return new Promise((resolve) => element.addEventListener(eventName, resolve, {once: true, passive: true})); -}; diff --git a/core/util/src/flat-str.ts b/core/util/src/flat-str.ts deleted file mode 100644 index a8f97994..00000000 --- a/core/util/src/flat-str.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Flattens the underlying C structures of a concatenated JavaScript string. - */ -export const flatStr = (s: string): string => { - // @ts-expect-error because it alters wrong compilation errors. - s | 0; - return s; -}; diff --git a/core/util/src/index.ts b/core/util/src/index.ts deleted file mode 100644 index 5f98d7dc..00000000 --- a/core/util/src/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './delay.js'; -export * from './json.js'; -export * from './local-storage.js'; -export * from './client-id.js'; -export * from './polyfill.js'; -export * from './flat-str.js'; -export * from './string.js'; -export * from './render-state.js'; -export * from './default-export.js'; diff --git a/core/util/src/json.ts b/core/util/src/json.ts deleted file mode 100644 index 6a2d441e..00000000 --- a/core/util/src/json.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type {Stringifyable} from '@alwatr/type'; - -export const parseJson = <T extends Stringifyable>(str: string): T | null => { - try { - return JSON.parse(str) as T; - } - catch (err) { - console.error(err); - return null; - } -}; diff --git a/core/util/src/local-storage.ts b/core/util/src/local-storage.ts deleted file mode 100644 index d1c21eab..00000000 --- a/core/util/src/local-storage.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {parseJson} from './json.js'; - -import type {Stringifyable} from '@alwatr/type'; - -export const getLocalStorageItem = <T extends Stringifyable>(name: string, defaultValue: T): T => { - const value = localStorage.getItem(name); - if (value === 'null' || value === 'undefined') return defaultValue; - return value == null ? defaultValue : parseJson(value) ?? defaultValue; -}; - -export const setLocalStorageItem = <T extends Stringifyable>(name: string, value: T): void => { - if (value == null) { - localStorage.removeItem(name); - } - localStorage.setItem(name, JSON.stringify(value)); -}; diff --git a/core/util/src/node/fs.ts b/core/util/src/node/fs.ts deleted file mode 100644 index dc8f469e..00000000 --- a/core/util/src/node/fs.ts +++ /dev/null @@ -1,240 +0,0 @@ -import {existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, renameSync} from 'node:fs'; -import {mkdir, writeFile, readFile, rm, symlink, copyFile, rename} from 'node:fs/promises'; -import {dirname} from 'node:path'; - -import {createLogger} from '@alwatr/logger'; - -import {flatStr} from '../flat-str.js'; - -import type {StringifyableRecord} from '@alwatr/type'; - -const logger = createLogger('alwatr/util/fs', true); - -/** - * Enhanced read json file. - * @example - * const fileContent = readJsonFileSync('./file.json'); - */ -export const readJsonFileSync = <T extends StringifyableRecord = StringifyableRecord>(path: string): T | null => { - logger.logMethodArgs?.('readJsonFileSync', path); - - if (!existsSync(path)) { - return null; - } - - const timeKey = path.substring(path.lastIndexOf('/') + 1); - - let fileContent: string; - logger.time?.(`readFileSync ${timeKey}`); - try { - fileContent = flatStr(readFileSync(path, {encoding: 'utf-8', flag: 'r'})); - } - catch (err) { - logger.error('readJsonFileSync', 'read_file_failed', err); - throw new Error('read_file_failed'); - } - logger.timeEnd?.(`readFileSync ${timeKey}`); - - let data; - logger.time?.(`jsonParse ${timeKey}`); - try { - data = JSON.parse(fileContent) as T; - } - catch (err) { - logger.error('readJsonFileSync', 'invalid_json', err); - throw new Error('invalid_json'); - } - logger.timeEnd?.(`jsonParse ${timeKey}`); - - return data; -}; - -/** - * Enhanced read json file. - * @example - * const fileContent = await readJsonFile('./file.json'); - */ -export const readJsonFile = async <T extends StringifyableRecord = StringifyableRecord>( - path: string, -): Promise<T | null> => { - logger.logMethodArgs?.('readJsonFileSync', path); - - if (!existsSync(path)) { - // existsSync is much faster than access. - return null; - } - - const timeKey = path.substring(path.lastIndexOf('/') + 1); - - let fileContent: string; - logger.time?.(`readFile ${timeKey}`); - try { - fileContent = flatStr(await readFile(path, {encoding: 'utf-8', flag: 'r'})); - } - catch (err) { - logger.error('readJsonFile', 'read_file_failed', err); - throw new Error('read_file_failed'); - } - logger.timeEnd?.(`readFile ${timeKey}`); - - let data; - logger.time?.(`jsonParse ${timeKey}`); - try { - data = JSON.parse(fileContent) as T; - } - catch (err) { - logger.error('readJsonFile', 'invalid_json', err); - throw new Error('invalid_json'); - } - logger.timeEnd?.(`jsonParse ${timeKey}`); - - return data; -}; - -/** - * Enhanced write json file. - * @example - * writeJsonFileSync('./file.json', { a:1, b:2, c:3 }); - */ -export const writeJsonFileSync = <T extends StringifyableRecord = StringifyableRecord>( - path: string, - data: T, - existFile: 'replace' | 'copy' | 'rename' = 'replace', - space?: string | number, -): void => { - logger.logMethodArgs?.('writeJsonFileSync', path); - - const timeKey = path.substring(path.lastIndexOf('/') + 1); - - let jsonContent; - logger.time?.(`jsonParse ${timeKey}`); - try { - jsonContent = flatStr(JSON.stringify(data, null, space)); - } - catch (err) { - logger.error('writeJsonFileSync', 'stringify_failed', err); - throw new Error('stringify_failed'); - } - logger.timeEnd?.(`jsonParse ${timeKey}`); - - if (existsSync(path)) { - try { - if (existFile === 'copy') { - copyFileSync(path, path + '.bk'); - } - else if (existFile === 'rename') { - renameSync(path, path + '.bk'); - } - } - catch (err) { - logger.error('writeJsonFileSync', 'rename_copy_failed', err); - } - } - else { - try { - mkdirSync(dirname(path), {recursive: true}); - } - catch (err) { - logger.error('writeJsonFileSync', 'make_dir_failed', err); - throw new Error('make_dir_failed'); - } - } - - logger.time?.(`writeFileSync ${timeKey}`); - try { - writeFileSync(path, jsonContent, {encoding: 'utf-8', flag: 'w'}); - } - catch (err) { - logger.error('writeJsonFileSync', 'write_file_failed', err); - throw new Error('write_file_failed'); - } - logger.timeEnd?.(`writeFileSync ${timeKey}`); -}; - -/** - * Enhanced write json file. - * @example - * await writeJsonFile('./file.json', { a:1, b:2, c:3 }); - */ -export const writeJsonFile = async <T extends StringifyableRecord = StringifyableRecord>( - path: string, - data: T, - existFile: 'replace' | 'copy' | 'rename' = 'replace', - space?: string | number, -): Promise<void> => { - logger.logMethodArgs?.('writeJsonFile', path); - - const timeKey = path.substring(path.lastIndexOf('/') + 1); - logger.time?.(`writeJsonFile(${timeKey})`); - - let jsonContent; - logger.time?.(`jsonParse ${timeKey}`); - try { - jsonContent = flatStr(JSON.stringify(data, null, space)); - } - catch (err) { - logger.error('writeJsonFile', 'stringify_failed', err); - throw new Error('stringify_failed'); - } - logger.timeEnd?.(`jsonParse ${timeKey}`); - - if (existsSync(path)) { - try { - if (existFile === 'copy') { - await copyFile(path, path + '.bk'); - } - else if (existFile === 'rename') { - await rename(path, path + '.bk'); - } - } - catch (err) { - logger.error('writeJsonFile', 'rename_copy_failed', err); - } - } - else { - try { - await mkdir(dirname(path), {recursive: true}); - } - catch (err) { - logger.error('writeJsonFile', 'make_dir_failed', err); - throw new Error('make_dir_failed'); - } - } - - logger.time?.(`writeFile ${timeKey}`); - try { - await writeFile(path, jsonContent, {encoding: 'utf-8', flag: 'w'}); - } - catch (err) { - logger.error('writeJsonFile', 'write_file_failed', err); - throw new Error('write_file_failed'); - } - logger.timeEnd?.(`writeFile ${timeKey}`); -}; - -/** - * Make a symbolic link - * - * **CAUTION: the destination path will be removed if exists** - */ -export const makeLinkForce = async (src: string, dest: string): Promise<void> => { - logger.logMethodArgs?.('makeLink', {src, dest}); - - try { - if (existsSync(dest)) { - await rm(dest, {recursive: false, force: true}); - } - else { - const destDir = dirname(dest); - if (!existsSync(destDir)) { - await mkdir(dirname(dest), {recursive: true}); - } - } - - await symlink(src, dest); - } - catch (error) { - logger.error('makeLink', 'symlink_failed', error); - throw error; - } -}; diff --git a/core/util/src/node/index.ts b/core/util/src/node/index.ts deleted file mode 100644 index e4b5d1a5..00000000 --- a/core/util/src/node/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './fs.js'; diff --git a/core/util/src/polyfill.ts b/core/util/src/polyfill.ts deleted file mode 100644 index 8e1255e0..00000000 --- a/core/util/src/polyfill.ts +++ /dev/null @@ -1,24 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -type IndexableWindow = Record<string, any>; - -export const win = globalThis as IndexableWindow; - -const requestAnimationFrameFallback = (callback: FrameRequestCallback): ReturnType<typeof setTimeout> => - setTimeout(() => callback(Date.now()), 1000 / 60); - -export const requestAnimationFrame: typeof globalThis.requestAnimationFrame = - win.requestAnimationFrame || - win.webkitRequestAnimationFrame || - win.mozRequestAnimationFrame || - requestAnimationFrameFallback; - -const requestIdleCallbackFallback = ( - callback: () => void, - options?: IdleRequestOptions, -): ReturnType<typeof setTimeout> => setTimeout(callback, options?.timeout ?? 2000); - -export const requestIdleCallback: typeof globalThis.requestIdleCallback = - win.requestIdleCallback || - win.webkitRequestIdleCallback || - win.mozRequestIdleCallback || - requestIdleCallbackFallback; diff --git a/core/util/src/render-state.ts b/core/util/src/render-state.ts deleted file mode 100644 index 3f11badb..00000000 --- a/core/util/src/render-state.ts +++ /dev/null @@ -1,46 +0,0 @@ -import {logger} from './_logger.js'; - -export const renderState = <R, T extends string>( - state: T, - renderRecord: Record<T | '_default', undefined | T | (() => R)>, - thisArg: unknown = null, -): R | undefined => { - logger.logMethodArgs?.('renderState', {state, renderRecord}); - - let render = renderRecord[state]; - - if (typeof render === 'string') { - render = renderRecord[render as T]; - } - - if (render === undefined) { - if (renderRecord._default === undefined) { - logger.error('renderState', 'invalid_render_state'); - return; - } - // else - if (typeof renderRecord._default === 'string') { - if (renderRecord[renderRecord._default] === undefined) { - logger.error('renderState', 'invalid_default_render'); - return; - } - // else - return renderState(renderRecord._default, renderRecord, thisArg); - } - // else - render = renderRecord._default; - } - - if (typeof render !== 'function') { - logger.error('renderState', 'invalid_render_state'); - return; - } - - try { - return render.call(thisArg); - } - catch (err) { - logger.error('renderState', 'render_error', err); - return; - } -}; diff --git a/core/util/src/string.ts b/core/util/src/string.ts deleted file mode 100644 index 214d23d8..00000000 --- a/core/util/src/string.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const capitalize = <T extends string>(str: T): Capitalize<T> => { - return (str[0].toUpperCase() + str.substring(1).toLowerCase()) as Capitalize<T>; -}; diff --git a/core/util/tsconfig.json b/core/util/tsconfig.json deleted file mode 100644 index f3c2df15..00000000 --- a/core/util/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": "." - }, - - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../type"}, - {"path": "../math"}, - ] -} From db8373edf9ed11aa18f4a3a5b25d6549b0f58e64 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:36:26 +0330 Subject: [PATCH 10/20] chore: rename core to packages --- {core => packages}/fract/CHANGELOG.md | 0 {core => packages}/fract/README.md | 0 {core => packages}/fract/package.json | 0 {core => packages}/fract/src/directive.ts | 0 {core => packages}/fract/src/directives/map.ts | 0 {core => packages}/fract/src/directives/observe.ts | 0 {core => packages}/fract/src/dynamic-directive.ts | 0 {core => packages}/fract/src/index.ts | 0 {core => packages}/fract/src/lit-html.ts | 0 {core => packages}/fract/tsconfig.json | 0 {core => packages}/i18n2/CHANGELOG.md | 0 {core => packages}/i18n2/README.md | 0 {core => packages}/i18n2/package.json | 0 {core => packages}/i18n2/src/index.ts | 0 {core => packages}/i18n2/src/l10n.ts | 0 {core => packages}/i18n2/src/locale-list.ts | 0 {core => packages}/i18n2/src/type.ts | 0 {core => packages}/i18n2/tsconfig.json | 0 {core => packages}/router/CHANGELOG.md | 0 {core => packages}/router2/CHANGELOG.md | 0 {core => packages}/router2/README.md | 0 {core => packages}/router2/package.json | 0 {core => packages}/router2/src/index.ts | 0 {core => packages}/router2/src/router2.ts | 0 {core => packages}/router2/src/type.ts | 0 {core => packages}/router2/tsconfig.json | 0 26 files changed, 0 insertions(+), 0 deletions(-) rename {core => packages}/fract/CHANGELOG.md (100%) rename {core => packages}/fract/README.md (100%) rename {core => packages}/fract/package.json (100%) rename {core => packages}/fract/src/directive.ts (100%) rename {core => packages}/fract/src/directives/map.ts (100%) rename {core => packages}/fract/src/directives/observe.ts (100%) rename {core => packages}/fract/src/dynamic-directive.ts (100%) rename {core => packages}/fract/src/index.ts (100%) rename {core => packages}/fract/src/lit-html.ts (100%) rename {core => packages}/fract/tsconfig.json (100%) rename {core => packages}/i18n2/CHANGELOG.md (100%) rename {core => packages}/i18n2/README.md (100%) rename {core => packages}/i18n2/package.json (100%) rename {core => packages}/i18n2/src/index.ts (100%) rename {core => packages}/i18n2/src/l10n.ts (100%) rename {core => packages}/i18n2/src/locale-list.ts (100%) rename {core => packages}/i18n2/src/type.ts (100%) rename {core => packages}/i18n2/tsconfig.json (100%) rename {core => packages}/router/CHANGELOG.md (100%) rename {core => packages}/router2/CHANGELOG.md (100%) rename {core => packages}/router2/README.md (100%) rename {core => packages}/router2/package.json (100%) rename {core => packages}/router2/src/index.ts (100%) rename {core => packages}/router2/src/router2.ts (100%) rename {core => packages}/router2/src/type.ts (100%) rename {core => packages}/router2/tsconfig.json (100%) diff --git a/core/fract/CHANGELOG.md b/packages/fract/CHANGELOG.md similarity index 100% rename from core/fract/CHANGELOG.md rename to packages/fract/CHANGELOG.md diff --git a/core/fract/README.md b/packages/fract/README.md similarity index 100% rename from core/fract/README.md rename to packages/fract/README.md diff --git a/core/fract/package.json b/packages/fract/package.json similarity index 100% rename from core/fract/package.json rename to packages/fract/package.json diff --git a/core/fract/src/directive.ts b/packages/fract/src/directive.ts similarity index 100% rename from core/fract/src/directive.ts rename to packages/fract/src/directive.ts diff --git a/core/fract/src/directives/map.ts b/packages/fract/src/directives/map.ts similarity index 100% rename from core/fract/src/directives/map.ts rename to packages/fract/src/directives/map.ts diff --git a/core/fract/src/directives/observe.ts b/packages/fract/src/directives/observe.ts similarity index 100% rename from core/fract/src/directives/observe.ts rename to packages/fract/src/directives/observe.ts diff --git a/core/fract/src/dynamic-directive.ts b/packages/fract/src/dynamic-directive.ts similarity index 100% rename from core/fract/src/dynamic-directive.ts rename to packages/fract/src/dynamic-directive.ts diff --git a/core/fract/src/index.ts b/packages/fract/src/index.ts similarity index 100% rename from core/fract/src/index.ts rename to packages/fract/src/index.ts diff --git a/core/fract/src/lit-html.ts b/packages/fract/src/lit-html.ts similarity index 100% rename from core/fract/src/lit-html.ts rename to packages/fract/src/lit-html.ts diff --git a/core/fract/tsconfig.json b/packages/fract/tsconfig.json similarity index 100% rename from core/fract/tsconfig.json rename to packages/fract/tsconfig.json diff --git a/core/i18n2/CHANGELOG.md b/packages/i18n2/CHANGELOG.md similarity index 100% rename from core/i18n2/CHANGELOG.md rename to packages/i18n2/CHANGELOG.md diff --git a/core/i18n2/README.md b/packages/i18n2/README.md similarity index 100% rename from core/i18n2/README.md rename to packages/i18n2/README.md diff --git a/core/i18n2/package.json b/packages/i18n2/package.json similarity index 100% rename from core/i18n2/package.json rename to packages/i18n2/package.json diff --git a/core/i18n2/src/index.ts b/packages/i18n2/src/index.ts similarity index 100% rename from core/i18n2/src/index.ts rename to packages/i18n2/src/index.ts diff --git a/core/i18n2/src/l10n.ts b/packages/i18n2/src/l10n.ts similarity index 100% rename from core/i18n2/src/l10n.ts rename to packages/i18n2/src/l10n.ts diff --git a/core/i18n2/src/locale-list.ts b/packages/i18n2/src/locale-list.ts similarity index 100% rename from core/i18n2/src/locale-list.ts rename to packages/i18n2/src/locale-list.ts diff --git a/core/i18n2/src/type.ts b/packages/i18n2/src/type.ts similarity index 100% rename from core/i18n2/src/type.ts rename to packages/i18n2/src/type.ts diff --git a/core/i18n2/tsconfig.json b/packages/i18n2/tsconfig.json similarity index 100% rename from core/i18n2/tsconfig.json rename to packages/i18n2/tsconfig.json diff --git a/core/router/CHANGELOG.md b/packages/router/CHANGELOG.md similarity index 100% rename from core/router/CHANGELOG.md rename to packages/router/CHANGELOG.md diff --git a/core/router2/CHANGELOG.md b/packages/router2/CHANGELOG.md similarity index 100% rename from core/router2/CHANGELOG.md rename to packages/router2/CHANGELOG.md diff --git a/core/router2/README.md b/packages/router2/README.md similarity index 100% rename from core/router2/README.md rename to packages/router2/README.md diff --git a/core/router2/package.json b/packages/router2/package.json similarity index 100% rename from core/router2/package.json rename to packages/router2/package.json diff --git a/core/router2/src/index.ts b/packages/router2/src/index.ts similarity index 100% rename from core/router2/src/index.ts rename to packages/router2/src/index.ts diff --git a/core/router2/src/router2.ts b/packages/router2/src/router2.ts similarity index 100% rename from core/router2/src/router2.ts rename to packages/router2/src/router2.ts diff --git a/core/router2/src/type.ts b/packages/router2/src/type.ts similarity index 100% rename from core/router2/src/type.ts rename to packages/router2/src/type.ts diff --git a/core/router2/tsconfig.json b/packages/router2/tsconfig.json similarity index 100% rename from core/router2/tsconfig.json rename to packages/router2/tsconfig.json From 52898cb34ee3561a2ad7f11f635f3c2331adffe6 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:37:28 +0330 Subject: [PATCH 11/20] chore(i18n): fix package path --- packages/{i18n2 => i18n}/CHANGELOG.md | 0 packages/{i18n2 => i18n}/README.md | 0 packages/{i18n2 => i18n}/package.json | 0 packages/{i18n2 => i18n}/src/index.ts | 0 packages/{i18n2 => i18n}/src/l10n.ts | 0 packages/{i18n2 => i18n}/src/locale-list.ts | 0 packages/{i18n2 => i18n}/src/type.ts | 0 packages/{i18n2 => i18n}/tsconfig.json | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename packages/{i18n2 => i18n}/CHANGELOG.md (100%) rename packages/{i18n2 => i18n}/README.md (100%) rename packages/{i18n2 => i18n}/package.json (100%) rename packages/{i18n2 => i18n}/src/index.ts (100%) rename packages/{i18n2 => i18n}/src/l10n.ts (100%) rename packages/{i18n2 => i18n}/src/locale-list.ts (100%) rename packages/{i18n2 => i18n}/src/type.ts (100%) rename packages/{i18n2 => i18n}/tsconfig.json (100%) diff --git a/packages/i18n2/CHANGELOG.md b/packages/i18n/CHANGELOG.md similarity index 100% rename from packages/i18n2/CHANGELOG.md rename to packages/i18n/CHANGELOG.md diff --git a/packages/i18n2/README.md b/packages/i18n/README.md similarity index 100% rename from packages/i18n2/README.md rename to packages/i18n/README.md diff --git a/packages/i18n2/package.json b/packages/i18n/package.json similarity index 100% rename from packages/i18n2/package.json rename to packages/i18n/package.json diff --git a/packages/i18n2/src/index.ts b/packages/i18n/src/index.ts similarity index 100% rename from packages/i18n2/src/index.ts rename to packages/i18n/src/index.ts diff --git a/packages/i18n2/src/l10n.ts b/packages/i18n/src/l10n.ts similarity index 100% rename from packages/i18n2/src/l10n.ts rename to packages/i18n/src/l10n.ts diff --git a/packages/i18n2/src/locale-list.ts b/packages/i18n/src/locale-list.ts similarity index 100% rename from packages/i18n2/src/locale-list.ts rename to packages/i18n/src/locale-list.ts diff --git a/packages/i18n2/src/type.ts b/packages/i18n/src/type.ts similarity index 100% rename from packages/i18n2/src/type.ts rename to packages/i18n/src/type.ts diff --git a/packages/i18n2/tsconfig.json b/packages/i18n/tsconfig.json similarity index 100% rename from packages/i18n2/tsconfig.json rename to packages/i18n/tsconfig.json From 6e5028c1ffa176a1dc9a87cc9dd2f30816ab3a75 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:38:33 +0330 Subject: [PATCH 12/20] chore(router): fix package path --- packages/{router2 => router}/README.md | 0 packages/{router2 => router}/package.json | 0 packages/{router2 => router}/src/index.ts | 0 packages/{router2 => router}/src/router2.ts | 0 packages/{router2 => router}/src/type.ts | 0 packages/{router2 => router}/tsconfig.json | 0 packages/router2/CHANGELOG.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename packages/{router2 => router}/README.md (100%) rename packages/{router2 => router}/package.json (100%) rename packages/{router2 => router}/src/index.ts (100%) rename packages/{router2 => router}/src/router2.ts (100%) rename packages/{router2 => router}/src/type.ts (100%) rename packages/{router2 => router}/tsconfig.json (100%) delete mode 100644 packages/router2/CHANGELOG.md diff --git a/packages/router2/README.md b/packages/router/README.md similarity index 100% rename from packages/router2/README.md rename to packages/router/README.md diff --git a/packages/router2/package.json b/packages/router/package.json similarity index 100% rename from packages/router2/package.json rename to packages/router/package.json diff --git a/packages/router2/src/index.ts b/packages/router/src/index.ts similarity index 100% rename from packages/router2/src/index.ts rename to packages/router/src/index.ts diff --git a/packages/router2/src/router2.ts b/packages/router/src/router2.ts similarity index 100% rename from packages/router2/src/router2.ts rename to packages/router/src/router2.ts diff --git a/packages/router2/src/type.ts b/packages/router/src/type.ts similarity index 100% rename from packages/router2/src/type.ts rename to packages/router/src/type.ts diff --git a/packages/router2/tsconfig.json b/packages/router/tsconfig.json similarity index 100% rename from packages/router2/tsconfig.json rename to packages/router/tsconfig.json diff --git a/packages/router2/CHANGELOG.md b/packages/router2/CHANGELOG.md deleted file mode 100644 index e69de29b..00000000 From 446db515fd166a7051fe85f2255533f8338be6e9 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:39:50 +0330 Subject: [PATCH 13/20] chore: cleanup ui packages --- ui/element/CHANGELOG.md | 341 --------- ui/element/README.md | 5 - ui/element/package.json | 43 -- ui/element/src/base-element.ts | 10 - ui/element/src/directives/map.ts | 58 -- ui/element/src/index.ts | 21 - ui/element/src/lit.ts | 14 - ui/element/src/mixins/direction.ts | 77 -- ui/element/src/mixins/localize.ts | 31 - ui/element/src/mixins/logging.ts | 88 --- ui/element/src/mixins/router.ts | 33 - .../src/mixins/schedule-update-to-frame.ts | 18 - ui/element/src/mixins/signal.ts | 37 - ui/element/src/mixins/toggle.ts | 39 - ui/element/src/mixins/unresolved.ts | 20 - ui/element/tsconfig.json | 25 - ui/pwa-helper/CHANGELOG.md | 158 ---- ui/pwa-helper/README.md | 1 - ui/pwa-helper/esbuild.mjs | 175 ----- ui/pwa-helper/package.json | 40 - ui/pwa-helper/pwa-dev-server.config.js | 25 - ui/pwa-helper/src/config.ts | 30 - ui/pwa-helper/src/context.ts | 8 - ui/pwa-helper/src/logger.ts | 8 - ui/pwa-helper/src/pwa-element.ts | 127 ---- .../src/signal/back-to-home-click.ts | 11 - .../src/signal/browser-back-click.ts | 16 - .../signal/register-service-worker-command.ts | 68 -- ui/pwa-helper/src/signal/sw-user-notify.ts | 36 - ui/pwa-helper/tsconfig.json | 25 - ui/ui-kit/CHANGELOG.md | 272 ------- ui/ui-kit/README.md | 5 - ui/ui-kit/icon/icon.scss | 21 - ui/ui-kit/navigation-bar2/navigation-bar.scss | 23 - ui/ui-kit/package.json | 47 -- ui/ui-kit/src/button/button.ts | 138 ---- ui/ui-kit/src/button/icon-button.ts | 136 ---- ui/ui-kit/src/card/icon-box.ts | 151 ---- ui/ui-kit/src/card/image-box.ts | 173 ----- ui/ui-kit/src/card/product-card.ts | 170 ----- ui/ui-kit/src/card/surface.ts | 173 ----- ui/ui-kit/src/chat/chat-avatar.ts | 42 - ui/ui-kit/src/chat/chat-bubble.ts | 52 -- ui/ui-kit/src/chat/chat-footer.ts | 46 -- ui/ui-kit/src/chat/chat-list.ts | 86 --- ui/ui-kit/src/chat/chat-message.ts | 89 --- ui/ui-kit/src/chat/chat-text-input.ts | 88 --- ui/ui-kit/src/chat/chat.ts | 146 ---- ui/ui-kit/src/icon/icon.scss | 21 - ui/ui-kit/src/icon/icon.ts | 29 - ui/ui-kit/src/navigation-bar/context.ts | 6 - .../src/navigation-bar/navigation-bar.ts | 153 ---- .../src/navigation-bar2/navigation-bar.scss | 23 - .../src/navigation-bar2/navigation-bar.ts | 39 - ui/ui-kit/src/navigation-bar2/type.ts | 20 - ui/ui-kit/src/radio-group/radio-group.ts | 117 --- ui/ui-kit/src/snackbar/controller.ts | 49 -- ui/ui-kit/src/snackbar/element.ts | 135 ---- ui/ui-kit/src/snackbar/show-snackbar.ts | 26 - ui/ui-kit/src/snackbar/type.ts | 36 - ui/ui-kit/src/text-field/text-field.ts | 191 ----- ui/ui-kit/src/top-app-bar/top-app-bar.ts | 239 ------ ui/ui-kit/src/top-app-bar2/top-app-bar.scss | 82 -- ui/ui-kit/src/top-app-bar2/top-app-bar.ts | 42 - ui/ui-kit/src/top-app-bar2/type.ts | 38 - ui/ui-kit/style/helper/colors.css | 180 ----- ui/ui-kit/style/helper/demo.css | 273 ------- ui/ui-kit/style/helper/elevation-extra.css | 97 --- ui/ui-kit/style/helper/mdc-grid-temp.css | 718 ------------------ ui/ui-kit/style/helper/typography.css | 105 --- ui/ui-kit/style/mobile-only.css | 4 - ui/ui-kit/style/pwa.css | 77 -- ui/ui-kit/style/theme/color.css | 124 --- ui/ui-kit/style/theme/palette-260.css | 111 --- ui/ui-kit/style/theme/palette-270.css | 111 --- ui/ui-kit/style/theme/palette-300.css | 111 --- ui/ui-kit/style/theme/palette-40.css | 111 --- ui/ui-kit/style/theme/palette-85.css | 111 --- ui/ui-kit/style/theme/palette-dynamic.css | 123 --- ui/ui-kit/style/token.css | 8 - ui/ui-kit/style/token/motion.css | 16 - ui/ui-kit/style/token/radius.css | 9 - ui/ui-kit/style/token/safe-area.css | 23 - ui/ui-kit/style/token/scrollbar.css | 14 - ui/ui-kit/style/token/spacing.css | 58 -- ui/ui-kit/style/token/surface.css | 51 -- ui/ui-kit/style/token/typography.css | 117 --- ui/ui-kit/style/token/z-index.css | 15 - ui/ui-kit/top-app-bar2/top-app-bar.scss | 82 -- ui/ui-kit/tsconfig.json | 30 - 90 files changed, 7371 deletions(-) delete mode 100644 ui/element/CHANGELOG.md delete mode 100644 ui/element/README.md delete mode 100644 ui/element/package.json delete mode 100644 ui/element/src/base-element.ts delete mode 100644 ui/element/src/directives/map.ts delete mode 100644 ui/element/src/index.ts delete mode 100644 ui/element/src/lit.ts delete mode 100644 ui/element/src/mixins/direction.ts delete mode 100644 ui/element/src/mixins/localize.ts delete mode 100644 ui/element/src/mixins/logging.ts delete mode 100644 ui/element/src/mixins/router.ts delete mode 100644 ui/element/src/mixins/schedule-update-to-frame.ts delete mode 100644 ui/element/src/mixins/signal.ts delete mode 100644 ui/element/src/mixins/toggle.ts delete mode 100644 ui/element/src/mixins/unresolved.ts delete mode 100644 ui/element/tsconfig.json delete mode 100644 ui/pwa-helper/CHANGELOG.md delete mode 100644 ui/pwa-helper/README.md delete mode 100755 ui/pwa-helper/esbuild.mjs delete mode 100644 ui/pwa-helper/package.json delete mode 100644 ui/pwa-helper/pwa-dev-server.config.js delete mode 100644 ui/pwa-helper/src/config.ts delete mode 100644 ui/pwa-helper/src/context.ts delete mode 100644 ui/pwa-helper/src/logger.ts delete mode 100644 ui/pwa-helper/src/pwa-element.ts delete mode 100644 ui/pwa-helper/src/signal/back-to-home-click.ts delete mode 100644 ui/pwa-helper/src/signal/browser-back-click.ts delete mode 100644 ui/pwa-helper/src/signal/register-service-worker-command.ts delete mode 100644 ui/pwa-helper/src/signal/sw-user-notify.ts delete mode 100644 ui/pwa-helper/tsconfig.json delete mode 100644 ui/ui-kit/CHANGELOG.md delete mode 100644 ui/ui-kit/README.md delete mode 100644 ui/ui-kit/icon/icon.scss delete mode 100644 ui/ui-kit/navigation-bar2/navigation-bar.scss delete mode 100644 ui/ui-kit/package.json delete mode 100644 ui/ui-kit/src/button/button.ts delete mode 100644 ui/ui-kit/src/button/icon-button.ts delete mode 100644 ui/ui-kit/src/card/icon-box.ts delete mode 100644 ui/ui-kit/src/card/image-box.ts delete mode 100644 ui/ui-kit/src/card/product-card.ts delete mode 100644 ui/ui-kit/src/card/surface.ts delete mode 100644 ui/ui-kit/src/chat/chat-avatar.ts delete mode 100644 ui/ui-kit/src/chat/chat-bubble.ts delete mode 100644 ui/ui-kit/src/chat/chat-footer.ts delete mode 100644 ui/ui-kit/src/chat/chat-list.ts delete mode 100644 ui/ui-kit/src/chat/chat-message.ts delete mode 100644 ui/ui-kit/src/chat/chat-text-input.ts delete mode 100644 ui/ui-kit/src/chat/chat.ts delete mode 100644 ui/ui-kit/src/icon/icon.scss delete mode 100644 ui/ui-kit/src/icon/icon.ts delete mode 100644 ui/ui-kit/src/navigation-bar/context.ts delete mode 100644 ui/ui-kit/src/navigation-bar/navigation-bar.ts delete mode 100644 ui/ui-kit/src/navigation-bar2/navigation-bar.scss delete mode 100644 ui/ui-kit/src/navigation-bar2/navigation-bar.ts delete mode 100644 ui/ui-kit/src/navigation-bar2/type.ts delete mode 100644 ui/ui-kit/src/radio-group/radio-group.ts delete mode 100644 ui/ui-kit/src/snackbar/controller.ts delete mode 100644 ui/ui-kit/src/snackbar/element.ts delete mode 100644 ui/ui-kit/src/snackbar/show-snackbar.ts delete mode 100644 ui/ui-kit/src/snackbar/type.ts delete mode 100644 ui/ui-kit/src/text-field/text-field.ts delete mode 100644 ui/ui-kit/src/top-app-bar/top-app-bar.ts delete mode 100644 ui/ui-kit/src/top-app-bar2/top-app-bar.scss delete mode 100644 ui/ui-kit/src/top-app-bar2/top-app-bar.ts delete mode 100644 ui/ui-kit/src/top-app-bar2/type.ts delete mode 100644 ui/ui-kit/style/helper/colors.css delete mode 100644 ui/ui-kit/style/helper/demo.css delete mode 100644 ui/ui-kit/style/helper/elevation-extra.css delete mode 100644 ui/ui-kit/style/helper/mdc-grid-temp.css delete mode 100644 ui/ui-kit/style/helper/typography.css delete mode 100644 ui/ui-kit/style/mobile-only.css delete mode 100644 ui/ui-kit/style/pwa.css delete mode 100644 ui/ui-kit/style/theme/color.css delete mode 100644 ui/ui-kit/style/theme/palette-260.css delete mode 100644 ui/ui-kit/style/theme/palette-270.css delete mode 100644 ui/ui-kit/style/theme/palette-300.css delete mode 100644 ui/ui-kit/style/theme/palette-40.css delete mode 100644 ui/ui-kit/style/theme/palette-85.css delete mode 100644 ui/ui-kit/style/theme/palette-dynamic.css delete mode 100644 ui/ui-kit/style/token.css delete mode 100644 ui/ui-kit/style/token/motion.css delete mode 100644 ui/ui-kit/style/token/radius.css delete mode 100644 ui/ui-kit/style/token/safe-area.css delete mode 100644 ui/ui-kit/style/token/scrollbar.css delete mode 100644 ui/ui-kit/style/token/spacing.css delete mode 100644 ui/ui-kit/style/token/surface.css delete mode 100644 ui/ui-kit/style/token/typography.css delete mode 100644 ui/ui-kit/style/token/z-index.css delete mode 100644 ui/ui-kit/top-app-bar2/top-app-bar.scss delete mode 100644 ui/ui-kit/tsconfig.json diff --git a/ui/element/CHANGELOG.md b/ui/element/CHANGELOG.md deleted file mode 100644 index a6e23392..00000000 --- a/ui/element/CHANGELOG.md +++ /dev/null @@ -1,341 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.2](https://github.com/AliMD/alwatr/compare/@alwatr/element@1.1.1...@alwatr/element@1.1.2) (2023-09-12) - -**Note:** Version bump only for package @alwatr/element - -## [1.1.1](https://github.com/AliMD/alwatr/compare/@alwatr/element@1.1.0...@alwatr/element@1.1.1) (2023-09-12) - -**Note:** Version bump only for package @alwatr/element - -# 1.1.0 (2023-09-12) - -### Features - -* **element:** new `export`s ([a210deb](https://github.com/AliMD/alwatr/commit/a210deb1a6526e4bd145a31718b77385ab28e5e1)) - -# 1.0.0 (2023-06-14) - -# 0.32.0 (2023-05-27) - -# 0.31.0 (2023-05-08) - -### Bug Fixes - -* compatible with new _addSignalListener signal mixin ([e2be863](https://github.com/AliMD/alwatr/commit/e2be863acd9b99c4fc8f0a81c4efe2ac6db50c39)) -* **element/fsmc:** all render state must defined ([93f8ea3](https://github.com/AliMD/alwatr/commit/93f8ea31b8fa4f8845871a795eb2de107797f669)) -* **element/fsm:** compatible old mixins ([fe4427e](https://github.com/AliMD/alwatr/commit/fe4427ef62c2fd1680bcb3212feed681add4c2d4)) -* **element:** build issue ([224799c](https://github.com/AliMD/alwatr/commit/224799c5c664bcc11dac8061048c85708b3ba5ef)) -* **element:** check type of `actions` ([f39d617](https://github.com/AliMD/alwatr/commit/f39d617f106e03748d8ed9f539a77f4e810765b5)) -* **element:** remove old fsm mixin ([23efdf2](https://github.com/AliMD/alwatr/commit/23efdf25d2bbb768b70fd65f45f9fed3affcbd15)) -* **fsm:** cleanup old ([aa43264](https://github.com/AliMD/alwatr/commit/aa432644d76a0f81ea6e5c3b93da63f998ab159c)) -* new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) - -### Features - -* **element/fsm:** rewrite state machine for lit ([592fc8d](https://github.com/AliMD/alwatr/commit/592fc8dd586255e719a31785d3989a348f63cce8)) -* **element/logger:** log remove ([f6dc4c6](https://github.com/AliMD/alwatr/commit/f6dc4c65292f7a491007f445749b798c4551ebfc)) -* **element/mixins/signal:** _addSignalListener ([fc987b3](https://github.com/AliMD/alwatr/commit/fc987b32db20975354e406ae89d4b4c006bf798d)) -* **element:** add reactive controller ([7d7d6cb](https://github.com/AliMD/alwatr/commit/7d7d6cb6e473177aa2062d5a57490a57e6b027ff)) -* **element:** export from `ref` ([bbaaca4](https://github.com/AliMD/alwatr/commit/bbaaca4bb19efa29f80c4206eff5985a2d86f62c)) -* **element:** export lit guard ([b51627f](https://github.com/AliMD/alwatr/commit/b51627fbd63f401aa4404ebb1d59281216247d80)) -* **element:** refactor fsm controller with new fsm api ([e51aaa2](https://github.com/AliMD/alwatr/commit/e51aaa241ea21a91df4e7399a4c7801be41ded49)) -* **element:** register and remove necessary listeners ([833e9cc](https://github.com/AliMD/alwatr/commit/833e9cc58a5515edcc1c1c72b2761c124557201d)) -* **element:** ScheduleUpdateToFrameMixin ([8a4307d](https://github.com/AliMD/alwatr/commit/8a4307dd3a6cc58f826e6faaa261cb3cb9e13d22)) -* **element:** use the new logger functions(time & timeEnd) ([2c4d919](https://github.com/AliMD/alwatr/commit/2c4d9191e2b296e17e86f20eebcf61523f1e0e3b)) - -# 0.30.0 (2023-03-06) - -### Bug Fixes - -* **element/router-mixin:** prevent to duplicate first render ([453403e](https://github.com/AliMD/alwatr/commit/453403e8d42902ff2fe5391513dbecb8cc8a9948)) -* **element:** null able mapIterable items ([7bb7f01](https://github.com/AliMD/alwatr/commit/7bb7f01a5381389a9264005927e460725e4db842)) -* **element:** router mixin error ([c890b69](https://github.com/AliMD/alwatr/commit/c890b69feb6f7ea68d1a565bf9fadb55a55da90e)) -* **element:** state machine tender names ([c9b806a](https://github.com/AliMD/alwatr/commit/c9b806a983f38f7c438f709b8929f23d9c8164fb)) -* **router:** add _routeContextUpdated to interface ([72865b8](https://github.com/AliMD/alwatr/commit/72865b808db4c2267dac07347e26dc8914f7c3f0)) - -### Features - -* **element/fsm:** add render_unresolved, render_resolving ([5b8674c](https://github.com/AliMD/alwatr/commit/5b8674cd15558280bf2ad3d39bcd2ab89ab72508)) -* **element/state-machine-mixin:** add stateUpdated method ([d599282](https://github.com/AliMD/alwatr/commit/d599282c4056cafa3e68817e4697c11721ccf09b)) -* **element/StateMachineMixin:** reflect state to host attrib ([b054b50](https://github.com/AliMD/alwatr/commit/b054b5052b8ce452470e80838cdd49c26fdc533b)) -* **element/toggle:** selected property ([5d6c0a9](https://github.com/AliMD/alwatr/commit/5d6c0a9e08abe933932943c842a0d6766a311076)) -* **element:** add live directive ([4a95b0f](https://github.com/AliMD/alwatr/commit/4a95b0fef0e3c3fdc3a79396e7c8f749d0e380f3)) -* **element:** mapIterable, mapObject directives ([8958655](https://github.com/AliMD/alwatr/commit/89586552a9294b167462d025080e1b93c9088845)) -* **element:** router mixin ([5e80f82](https://github.com/AliMD/alwatr/commit/5e80f82882e930675e15ecc0448e7451708a36d5)) -* **element:** StateMachineMixin ([b395b79](https://github.com/AliMD/alwatr/commit/b395b795e4d115fd74632e25a4373db2c36fdad0)) -* **element:** toggle mixin ([5140b22](https://github.com/AliMD/alwatr/commit/5140b226f5b8330f2e930f3e125d73a0c6791b90)) -* **element:** UnresolvedMixin ([4a1c89a](https://github.com/AliMD/alwatr/commit/4a1c89aa41d7479b5b9f8e33252a11e5d372206c)) - -### Performance Improvements - -* **element/StateMachineMixin:** limit scheduleUpdate to animation frame ([e23317e](https://github.com/AliMD/alwatr/commit/e23317e2bc5efeeb6f0198b3f49f12d682bcc8e1)) -* **element:** clear signal listeners memory cost ([fe20757](https://github.com/AliMD/alwatr/commit/fe2075730436becf8642dcabd44116b40d33a4c7)) - -# 0.29.0 (2023-02-10) - -### Bug Fixes - -* compatible with i18n ([89c4a90](https://github.com/AliMD/alwatr/commit/89c4a90444db12930b1d0211942c9b84185cbb32)) -* **element:** compatible with new signal api ([020a083](https://github.com/AliMD/alwatr/commit/020a0837de496d8c4943fe5cdb659fee3dc0e051)) -* **element:** import issue ([87b3e12](https://github.com/AliMD/alwatr/commit/87b3e12a289fc477b072c1321aca160db46dc69c)) -* **element:** import type ([b125318](https://github.com/AliMD/alwatr/commit/b1253186036df3dcafca06f1bc4aca613c220f51)) -* **element:** logger mixin issue ([db5d96d](https://github.com/AliMD/alwatr/commit/db5d96d3a3b3cf5e07c60474e69ebf75a77978c4)) - -### Features - -* **element/direction:** compute mode and improve performance ([9d3b2ed](https://github.com/AliMD/alwatr/commit/9d3b2ed4443585e0b2eb497dd24501d8753983c5)) -* **element:** ali ([25422c4](https://github.com/AliMD/alwatr/commit/25422c4dee951be8c8bd37ec709f1492946731ad)) -* **element:** rewrite all mixins with new api ([baa1e5e](https://github.com/AliMD/alwatr/commit/baa1e5e546654658f473622b148ceb7e7e8e3da6)) -* **pwa-helper:** new package ([a77c049](https://github.com/AliMD/alwatr/commit/a77c0491a6337cb48b42a667a0ee67c7f9f150fa)) -* review ([53726b7](https://github.com/AliMD/alwatr/commit/53726b77274be429c87b2fd322fe2d939b048c77)) -* **surface-element:** active-outline ([3261091](https://github.com/AliMD/alwatr/commit/3261091bdfbb3dd777aa2676f1bf0ce5d3aa7192)) - -# 0.28.0 (2023-01-20) - -### Bug Fixes - -* **element/sw-helper:** reload on new update ([b07db77](https://github.com/AliMD/alwatr/commit/b07db77bf8a9c28235cdfe9f1d0aff972feda73c)) -* **pwa-element:** prevent to default import css for backward compatibility ([89591a2](https://github.com/AliMD/alwatr/commit/89591a28d1d829512200c8a0a026cbb7558e198d)) -* **pwa:** debug mode scripts ([681fdc2](https://github.com/AliMD/alwatr/commit/681fdc24897b7bd4f677f26fd45ea048d5f9a675)) -* version in package.json ([403baa5](https://github.com/AliMD/alwatr/commit/403baa53159db2a0fff5b3651769b85e66b13191)) - -### Features - -* **demo-pwa:** register service worker ([ad8e2d8](https://github.com/AliMD/alwatr/commit/ad8e2d8073327d289bd069069847e98b12dba302)) -* **element:** separate _initLocale, _initRouter and _routeChanged ([a0af8ec](https://github.com/AliMD/alwatr/commit/a0af8ecfb6f5da24898da629de822cfe54ea5586)) -* **element:** service worker register ([c98b1f6](https://github.com/AliMD/alwatr/commit/c98b1f601b7a277d2bf713637f7475b037961f3a)) -* **element:** service-worker helper ([6ec8b59](https://github.com/AliMD/alwatr/commit/6ec8b59a617d514315926dac7c3e3318867782d2)) -* **icon-box:** new style and layout ([2003e33](https://github.com/AliMD/alwatr/commit/2003e33e5095358e24fd4e07b3fc92a3b8a9d7d7)) -* **pwa:** unresolved state for show skeleton or loading ([8c4e834](https://github.com/AliMD/alwatr/commit/8c4e834b1415df14d6c76ef4d2040c60dc638b9e)) -* **ui/element:** export `unsafeHTML` ([2cb6d49](https://github.com/AliMD/alwatr/commit/2cb6d49aca60dbbda45990bf13e0b9622725a0ef)) -* **ui:** new AlwatrSurfaceElement with elevation/tint/state simulation ([0877f4f](https://github.com/AliMD/alwatr/commit/0877f4f3dd780321f3c7498cffde66653a24de43)) - -# 0.27.0 (2022-12-29) - -### Bug Fixes - -* **element:** build issues ([0bfb016](https://github.com/AliMD/alwatr/commit/0bfb0167a82c1dfbd04884a049b76cf7f6033f86)) -* **element:** signal mixing safety check ([2f3c871](https://github.com/AliMD/alwatr/commit/2f3c87141e162e8f600246bf863fcfe93f41f53b)) -* **ui/element:** listener list type ([e089d01](https://github.com/AliMD/alwatr/commit/e089d018ed29eae8f0ba92767b12d37f5ad1729c)) - -### Features - -* **element/root:** host box-sizing ([0c4ce83](https://github.com/AliMD/alwatr/commit/0c4ce83c5f777aecb2317c832817854ff4cadcf9)) -* **element:** AlwatrRootElement ([3b4e59f](https://github.com/AliMD/alwatr/commit/3b4e59f840f600ebedf07c27a9e4cf4c5f1253c0)) -* **element:** DirectionMixin ([d2670dd](https://github.com/AliMD/alwatr/commit/d2670dd247f93759e3b6457b339a066cc2433269)) -* **element:** export from lit ([21f15d8](https://github.com/AliMD/alwatr/commit/21f15d86319a40fab02d86f24a1451c056f36a7c)) -* **element:** LocalizeMixin ([94f0f7f](https://github.com/AliMD/alwatr/commit/94f0f7f832ff885d7176884f243c57a2a03c7bdb)) -* **element:** use logger ([95708a7](https://github.com/AliMD/alwatr/commit/95708a7b8a8418ffe0cb9a98c6d5ed50ff6308e1)) -* **page-chat:** new demo ([451d63f](https://github.com/AliMD/alwatr/commit/451d63fc0b904bb780c898c2909b1d7a116b353f)) -* **type:** define constructor type ([39c5ab7](https://github.com/AliMD/alwatr/commit/39c5ab74f0a1471d5e20beff89f6885265907633)) -* **ui/element/i18n:** localization mixin ([999e1b1](https://github.com/AliMD/alwatr/commit/999e1b11f0af55704fdd5859398908aeedbb833c)) -* **ui/element:** seprate mixins ([a305c5d](https://github.com/AliMD/alwatr/commit/a305c5d0e027b4c19fb1a22e4dc75797d205655a)) - -# 0.26.0 (2022-12-22) - -### Bug Fixes - -* **ui/*:** package path in refrences ([841d86d](https://github.com/AliMD/alwatr/commit/841d86dc2555fdc86a950b490ea2eb9fffe4df2d)) - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -**Note:** Version bump only for package @alwatr/element - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -**Note:** Version bump only for package @alwatr/element - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Bug Fixes - -- compatible with new \_addSignalListener signal mixin ([e2be863](https://github.com/AliMD/alwatr/commit/e2be863acd9b99c4fc8f0a81c4efe2ac6db50c39)) -- **element/fsmc:** all render state must defined ([93f8ea3](https://github.com/AliMD/alwatr/commit/93f8ea31b8fa4f8845871a795eb2de107797f669)) -- **element/fsm:** compatible old mixins ([fe4427e](https://github.com/AliMD/alwatr/commit/fe4427ef62c2fd1680bcb3212feed681add4c2d4)) -- **element:** build issue ([224799c](https://github.com/AliMD/alwatr/commit/224799c5c664bcc11dac8061048c85708b3ba5ef)) -- **element:** check type of `actions` ([f39d617](https://github.com/AliMD/alwatr/commit/f39d617f106e03748d8ed9f539a77f4e810765b5)) -- **element:** remove old fsm mixin ([23efdf2](https://github.com/AliMD/alwatr/commit/23efdf25d2bbb768b70fd65f45f9fed3affcbd15)) -- **fsm:** cleanup old ([aa43264](https://github.com/AliMD/alwatr/commit/aa432644d76a0f81ea6e5c3b93da63f998ab159c)) -- new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) - -### Features - -- **element/fsm:** rewrite state machine for lit ([592fc8d](https://github.com/AliMD/alwatr/commit/592fc8dd586255e719a31785d3989a348f63cce8)) -- **element/logger:** log remove ([f6dc4c6](https://github.com/AliMD/alwatr/commit/f6dc4c65292f7a491007f445749b798c4551ebfc)) -- **element/mixins/signal:** \_addSignalListener ([fc987b3](https://github.com/AliMD/alwatr/commit/fc987b32db20975354e406ae89d4b4c006bf798d)) -- **element:** add reactive controller ([7d7d6cb](https://github.com/AliMD/alwatr/commit/7d7d6cb6e473177aa2062d5a57490a57e6b027ff)) -- **element:** export from `ref` ([bbaaca4](https://github.com/AliMD/alwatr/commit/bbaaca4bb19efa29f80c4206eff5985a2d86f62c)) -- **element:** export lit guard ([b51627f](https://github.com/AliMD/alwatr/commit/b51627fbd63f401aa4404ebb1d59281216247d80)) -- **element:** refactor fsm controller with new fsm api ([e51aaa2](https://github.com/AliMD/alwatr/commit/e51aaa241ea21a91df4e7399a4c7801be41ded49)) -- **element:** register and remove necessary listeners ([833e9cc](https://github.com/AliMD/alwatr/commit/833e9cc58a5515edcc1c1c72b2761c124557201d)) -- **element:** ScheduleUpdateToFrameMixin ([8a4307d](https://github.com/AliMD/alwatr/commit/8a4307dd3a6cc58f826e6faaa261cb3cb9e13d22)) -- **element:** use the new logger functions(time & timeEnd) ([2c4d919](https://github.com/AliMD/alwatr/commit/2c4d9191e2b296e17e86f20eebcf61523f1e0e3b)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Bug Fixes - -- **element/router-mixin:** prevent to duplicate first render ([453403e](https://github.com/AliMD/alwatr/commit/453403e8d42902ff2fe5391513dbecb8cc8a9948)) -- **element:** null able mapIterable items ([7bb7f01](https://github.com/AliMD/alwatr/commit/7bb7f01a5381389a9264005927e460725e4db842)) -- **element:** router mixin error ([c890b69](https://github.com/AliMD/alwatr/commit/c890b69feb6f7ea68d1a565bf9fadb55a55da90e)) -- **element:** state machine tender names ([c9b806a](https://github.com/AliMD/alwatr/commit/c9b806a983f38f7c438f709b8929f23d9c8164fb)) -- **router:** add \_routeContextUpdated to interface ([72865b8](https://github.com/AliMD/alwatr/commit/72865b808db4c2267dac07347e26dc8914f7c3f0)) - -### Features - -- **element/fsm:** add render_unresolved, render_resolving ([5b8674c](https://github.com/AliMD/alwatr/commit/5b8674cd15558280bf2ad3d39bcd2ab89ab72508)) -- **element/state-machine-mixin:** add stateUpdated method ([d599282](https://github.com/AliMD/alwatr/commit/d599282c4056cafa3e68817e4697c11721ccf09b)) -- **element/StateMachineMixin:** reflect state to host attrib ([b054b50](https://github.com/AliMD/alwatr/commit/b054b5052b8ce452470e80838cdd49c26fdc533b)) -- **element/toggle:** selected property ([5d6c0a9](https://github.com/AliMD/alwatr/commit/5d6c0a9e08abe933932943c842a0d6766a311076)) -- **element:** add live directive ([4a95b0f](https://github.com/AliMD/alwatr/commit/4a95b0fef0e3c3fdc3a79396e7c8f749d0e380f3)) -- **element:** mapIterable, mapObject directives ([8958655](https://github.com/AliMD/alwatr/commit/89586552a9294b167462d025080e1b93c9088845)) -- **element:** router mixin ([5e80f82](https://github.com/AliMD/alwatr/commit/5e80f82882e930675e15ecc0448e7451708a36d5)) -- **element:** StateMachineMixin ([b395b79](https://github.com/AliMD/alwatr/commit/b395b795e4d115fd74632e25a4373db2c36fdad0)) -- **element:** toggle mixin ([5140b22](https://github.com/AliMD/alwatr/commit/5140b226f5b8330f2e930f3e125d73a0c6791b90)) -- **element:** UnresolvedMixin ([4a1c89a](https://github.com/AliMD/alwatr/commit/4a1c89aa41d7479b5b9f8e33252a11e5d372206c)) - -### Performance Improvements - -- **element/StateMachineMixin:** limit scheduleUpdate to animation frame ([e23317e](https://github.com/AliMD/alwatr/commit/e23317e2bc5efeeb6f0198b3f49f12d682bcc8e1)) -- **element:** clear signal listeners memory cost ([fe20757](https://github.com/AliMD/alwatr/commit/fe2075730436becf8642dcabd44116b40d33a4c7)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Bug Fixes - -- compatible with i18n ([89c4a90](https://github.com/AliMD/alwatr/commit/89c4a90444db12930b1d0211942c9b84185cbb32)) -- **element:** compatible with new signal api ([020a083](https://github.com/AliMD/alwatr/commit/020a0837de496d8c4943fe5cdb659fee3dc0e051)) -- **element:** import issue ([87b3e12](https://github.com/AliMD/alwatr/commit/87b3e12a289fc477b072c1321aca160db46dc69c)) -- **element:** import type ([b125318](https://github.com/AliMD/alwatr/commit/b1253186036df3dcafca06f1bc4aca613c220f51)) -- **element:** logger mixin issue ([db5d96d](https://github.com/AliMD/alwatr/commit/db5d96d3a3b3cf5e07c60474e69ebf75a77978c4)) - -### Features - -- **element/direction:** compute mode and improve performance ([9d3b2ed](https://github.com/AliMD/alwatr/commit/9d3b2ed4443585e0b2eb497dd24501d8753983c5)) -- **element:** ali ([25422c4](https://github.com/AliMD/alwatr/commit/25422c4dee951be8c8bd37ec709f1492946731ad)) -- **element:** rewrite all mixins with new api ([baa1e5e](https://github.com/AliMD/alwatr/commit/baa1e5e546654658f473622b148ceb7e7e8e3da6)) -- **pwa-helper:** new package ([a77c049](https://github.com/AliMD/alwatr/commit/a77c0491a6337cb48b42a667a0ee67c7f9f150fa)) -- review ([53726b7](https://github.com/AliMD/alwatr/commit/53726b77274be429c87b2fd322fe2d939b048c77)) -- **surface-element:** active-outline ([3261091](https://github.com/AliMD/alwatr/commit/3261091bdfbb3dd777aa2676f1bf0ce5d3aa7192)) - -# [0.28.0](https://github.com/AliMD/alwatr/compare/v0.27.0...v0.28.0) (2023-01-20) - -### Bug Fixes - -- **element/sw-helper:** reload on new update ([b07db77](https://github.com/AliMD/alwatr/commit/b07db77bf8a9c28235cdfe9f1d0aff972feda73c)) -- **pwa-element:** prevent to default import css for backward compatibility ([89591a2](https://github.com/AliMD/alwatr/commit/89591a28d1d829512200c8a0a026cbb7558e198d)) -- **pwa:** debug mode scripts ([681fdc2](https://github.com/AliMD/alwatr/commit/681fdc24897b7bd4f677f26fd45ea048d5f9a675)) -- version in package.json ([403baa5](https://github.com/AliMD/alwatr/commit/403baa53159db2a0fff5b3651769b85e66b13191)) - -### Features - -- **demo-pwa:** register service worker ([ad8e2d8](https://github.com/AliMD/alwatr/commit/ad8e2d8073327d289bd069069847e98b12dba302)) -- **element:** separate \_initLocale, \_initRouter and \_routeChanged ([a0af8ec](https://github.com/AliMD/alwatr/commit/a0af8ecfb6f5da24898da629de822cfe54ea5586)) -- **element:** service worker register ([c98b1f6](https://github.com/AliMD/alwatr/commit/c98b1f601b7a277d2bf713637f7475b037961f3a)) -- **element:** service-worker helper ([6ec8b59](https://github.com/AliMD/alwatr/commit/6ec8b59a617d514315926dac7c3e3318867782d2)) -- **icon-box:** new style and layout ([2003e33](https://github.com/AliMD/alwatr/commit/2003e33e5095358e24fd4e07b3fc92a3b8a9d7d7)) -- **pwa:** unresolved state for show skeleton or loading ([8c4e834](https://github.com/AliMD/alwatr/commit/8c4e834b1415df14d6c76ef4d2040c60dc638b9e)) -- **type:** define constructor type ([39c5ab7](https://github.com/AliMD/alwatr/commit/39c5ab74f0a1471d5e20beff89f6885265907633)) -- **ui/element:** export `unsafeHTML` ([2cb6d49](https://github.com/AliMD/alwatr/commit/2cb6d49aca60dbbda45990bf13e0b9622725a0ef)) -- **ui:** new AlwatrSurfaceElement with elevation/tint/state simulation ([0877f4f](https://github.com/AliMD/alwatr/commit/0877f4f3dd780321f3c7498cffde66653a24de43)) - -# [0.27.0](https://github.com/AliMD/alwatr/compare/v0.26.0...v0.27.0) (2022-12-29) - -### Bug Fixes - -- **element:** build issues ([0bfb016](https://github.com/AliMD/alwatr/commit/0bfb0167a82c1dfbd04884a049b76cf7f6033f86)) -- **element:** signal mixing safety check ([2f3c871](https://github.com/AliMD/alwatr/commit/2f3c87141e162e8f600246bf863fcfe93f41f53b)) -- **ui/element:** listener list type ([e089d01](https://github.com/AliMD/alwatr/commit/e089d018ed29eae8f0ba92767b12d37f5ad1729c)) - -### Features - -- **element/root:** host box-sizing ([0c4ce83](https://github.com/AliMD/alwatr/commit/0c4ce83c5f777aecb2317c832817854ff4cadcf9)) -- **element:** AlwatrRootElement ([3b4e59f](https://github.com/AliMD/alwatr/commit/3b4e59f840f600ebedf07c27a9e4cf4c5f1253c0)) -- **element:** DirectionMixin ([d2670dd](https://github.com/AliMD/alwatr/commit/d2670dd247f93759e3b6457b339a066cc2433269)) -- **element:** export from lit ([21f15d8](https://github.com/AliMD/alwatr/commit/21f15d86319a40fab02d86f24a1451c056f36a7c)) -- **element:** LocalizeMixin ([94f0f7f](https://github.com/AliMD/alwatr/commit/94f0f7f832ff885d7176884f243c57a2a03c7bdb)) -- **element:** use logger ([95708a7](https://github.com/AliMD/alwatr/commit/95708a7b8a8418ffe0cb9a98c6d5ed50ff6308e1)) -- **page-chat:** new demo ([451d63f](https://github.com/AliMD/alwatr/commit/451d63fc0b904bb780c898c2909b1d7a116b353f)) -- **ui/element/i18n:** localization mixin ([999e1b1](https://github.com/AliMD/alwatr/commit/999e1b11f0af55704fdd5859398908aeedbb833c)) -- **ui/element:** seprate mixins ([a305c5d](https://github.com/AliMD/alwatr/commit/a305c5d0e027b4c19fb1a22e4dc75797d205655a)) - -# [0.26.0](https://github.com/AliMD/alwatr/compare/v0.25.0...v0.26.0) (2022-12-22) - -### Bug Fixes - -- **ui/\*:** package path in refrences ([841d86d](https://github.com/AliMD/alwatr/commit/841d86dc2555fdc86a950b490ea2eb9fffe4df2d)) - -# [0.25.0](https://github.com/AliMD/alwatr/compare/v0.24.1...v0.25.0) (2022-12-07) - -**Note:** Version bump only for package @alwatr/element - -## [0.24.1](https://github.com/AliMD/alwatr/compare/v0.24.0...v0.24.1) (2022-12-01) - -**Note:** Version bump only for package @alwatr/element - -# [0.24.0](https://github.com/AliMD/alwatr/compare/v0.23.0...v0.24.0) (2022-11-28) - -### Bug Fixes - -- use ~ for package version ([4e027ff](https://github.com/AliMD/alwatr/commit/4e027ff63875e03b088ebcdc1bdf2495f4494eec)) - -# [0.23.0](https://github.com/AliMD/alwatr/compare/v0.22.1...v0.23.0) (2022-11-23) - -**Note:** Version bump only for package @alwatr/element - -# [0.22.0](https://github.com/AliMD/alwatr/compare/v0.21.0...v0.22.0) (2022-11-20) - -**Note:** Version bump only for package @alwatr/element - -# [0.21.0](https://github.com/AliMD/alwatr/compare/v0.20.0...v0.21.0) (2022-11-13) - -**Note:** Version bump only for package @alwatr/element - -# [0.20.0](https://github.com/AliMD/alwatr/compare/v0.19.0...v0.20.0) (2022-11-05) - -**Note:** Version bump only for package @alwatr/element - -# [0.19.0](https://github.com/AliMD/alwatr/compare/v0.18.0...v0.19.0) (2022-11-01) - -### Bug Fixes - -- Import error in webpack ([1a52f67](https://github.com/AliMD/alwatr/commit/1a52f67ff2788c51abd13126f34353c26aa669c3)) - -# [0.18.0](https://github.com/AliMD/alwatr/compare/v0.17.0...v0.18.0) (2022-10-22) - -**Note:** Version bump only for package @alwatr/element - -# [0.17.0](https://github.com/AliMD/alwatr/compare/v0.16.1...v0.17.0) (2022-10-21) - -**Note:** Version bump only for package @alwatr/element - -# [0.16.0](https://github.com/AliMD/alwatr/compare/v0.15.0...v0.16.0) (2022-09-08) - -**Note:** Version bump only for package @alwatr/element - -# [0.15.0](https://github.com/AliMD/alwatr/compare/v0.14.0...v0.15.0) (2022-09-01) - -**Note:** Version bump only for package @alwatr/element - -# [0.14.0](https://github.com/AliMD/alwatr/compare/v0.13.0...v0.14.0) (2022-08-19) - -**Note:** Version bump only for package @alwatr/element - -# [0.13.0](https://github.com/AliMD/alwatr/compare/v0.12.0...v0.13.0) (2022-08-06) - -**Note:** Version bump only for package @alwatr/element - -# [0.12.0](https://github.com/AliMD/alwatr/compare/v0.11.0...v0.12.0) (2022-07-22) - -**Note:** Version bump only for package @alwatr/element - -# [0.11.0](https://github.com/AliMD/alwatr/compare/v0.10.1...v0.11.0) (2022-04-16) - -### Features - -- **element:** init new package ([a9a65d9](https://github.com/AliMD/alwatr/commit/a9a65d94beb86583cb7e5e2b47b8f235994310cb)) -- **element:** LoggerMixin ([e5825e1](https://github.com/AliMD/alwatr/commit/e5825e160324cde596dbf3982bf080d54ba9955f)) diff --git a/ui/element/README.md b/ui/element/README.md deleted file mode 100644 index c6ca965c..00000000 --- a/ui/element/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Alwatr Element - `@alwatr/element` - -Elegant powerful web component (lit-element) helper mixins written in tiny TypeScript module. - -<!-- @TODO: ## Example usage --> diff --git a/ui/element/package.json b/ui/element/package.json deleted file mode 100644 index c0133f79..00000000 --- a/ui/element/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "@alwatr/element", - "version": "1.1.2", - "description": "Elegant powerful web component (lit-element) helper mixins written in tiny TypeScript module.", - "keywords": [ - "element", - "lit", - "lit-element", - "web-component", - "mixin", - "typescript", - "esm", - "alwatr" - ], - "main": "index.js", - "type": "module", - "types": "index.d.ts", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", - "license": "MIT", - "files": [ - "**/*.{d.ts.map,d.ts,js.map,js,html,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "ui/element" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/ui/element#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "dependencies": { - "@alwatr/fsm": "^1.1.2", - "@alwatr/i18n": "^1.1.2", - "@alwatr/logger": "^1.1.2", - "@alwatr/router": "^1.1.2", - "lit": "^2.8.0", - "tslib": "^2.6.2" - } -} diff --git a/ui/element/src/base-element.ts b/ui/element/src/base-element.ts deleted file mode 100644 index 829a41bb..00000000 --- a/ui/element/src/base-element.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {LitElement} from 'lit'; - -import {LoggerMixin} from './mixins/logging.js'; - -/** - * Alwatr Base Element - * - * Include: LoggerMixin - */ -export const AlwatrBaseElement = LoggerMixin(LitElement); diff --git a/ui/element/src/directives/map.ts b/ui/element/src/directives/map.ts deleted file mode 100644 index dc1d4915..00000000 --- a/ui/element/src/directives/map.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Returns an iterable containing the result of calling `f(value)` on each value in `items`. - * - * @example - * - * ```ts - * render() { - * return html` - * <ul> - * ${mapIterable(this, items, (i) => html`<li>${i}</li>`, 'loading...')} - * </ul> - * `; - * } - * ``` - */ -export function* mapIterable<T>( - _this: unknown, - items: Iterable<T> | undefined | null, - f: (value: T) => unknown, - loading?: unknown, -): unknown { - if (items == null) { - return loading; - } - for (const value of items) { - yield f.call(_this, value); - } -} - -/** - * Returns an iterable containing the result of calling `f(value)` on each value in `items`. - * - * @example - * - * ```ts - * render() { - * return html` - * <ul> - * ${mapObject(this, items, (i) => html`<li>${i}</li>`, 'loading...')} - * </ul> - * `; - * } - * ``` - */ -export function* mapObject<T>( - _this: unknown, - items: Record<string, T> | undefined | null, - f: (value: T, key: string) => unknown, - loading?: unknown, -): unknown { - if (items == null) { - return loading; - } - for (const key in items) { - if (!Object.prototype.hasOwnProperty.call(items, key)) continue; - yield f.call(_this, items[key], key); - } -} diff --git a/ui/element/src/index.ts b/ui/element/src/index.ts deleted file mode 100644 index 4d86b7ef..00000000 --- a/ui/element/src/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import {globalAlwatr} from '@alwatr/logger'; - -export * from './base-element.js'; - -export * from './mixins/localize.js'; -export * from './mixins/router.js'; -export * from './mixins/direction.js'; -export * from './mixins/logging.js'; -export * from './mixins/signal.js'; -export * from './mixins/toggle.js'; -export * from './mixins/unresolved.js'; -export * from './mixins/schedule-update-to-frame.js'; - -export * from './directives/map.js'; - -export * from './lit.js'; - -globalAlwatr.registeredList.push({ - name: '@alwatr/element', - version: _ALWATR_VERSION_, -}); diff --git a/ui/element/src/lit.ts b/ui/element/src/lit.ts deleted file mode 100644 index 23965ee4..00000000 --- a/ui/element/src/lit.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from 'lit'; -export * from 'lit/decorators.js'; -export {map} from 'lit/directives/map.js'; -export {when} from 'lit/directives/when.js'; -export {live} from 'lit/directives/live.js'; -export {guard} from 'lit/directives/guard.js'; -export {repeat} from 'lit/directives/repeat.js'; -export {ifDefined} from 'lit/directives/if-defined.js'; -export {unsafeSVG} from 'lit/directives/unsafe-svg.js'; -export {unsafeHTML} from 'lit/directives/unsafe-html.js'; -export {cache} from 'lit/directives/cache.js'; -export {ref, createRef, type Ref} from 'lit/directives/ref.js'; -export {directive} from 'lit/directive.js'; -export {AsyncDirective} from 'lit/async-directive.js'; diff --git a/ui/element/src/mixins/direction.ts b/ui/element/src/mixins/direction.ts deleted file mode 100644 index 26ca1d79..00000000 --- a/ui/element/src/mixins/direction.ts +++ /dev/null @@ -1,77 +0,0 @@ -import {localeContextConsumer} from '@alwatr/i18n'; - -import type {SignalMixinInterface} from './signal.js'; -import type {Constructor, LocaleContext} from '@alwatr/type'; - -export declare class DirectionMixinInterface extends SignalMixinInterface { - protected _dirParent: HTMLElement | null; - protected _localeChange: (localeContext: LocaleContext) => void; - protected _updateDir: () => void; -} - -type ComputeMode = 'locale' | 'parents' | 'computed-style'; -const defaultComputeStyleMode: ComputeMode = 'parents'; - -export function DirectionMixin<T extends Constructor<SignalMixinInterface>>( - superClass: T, - computeMode: ComputeMode = defaultComputeStyleMode, -): Constructor<DirectionMixinInterface> & T { - class DirectionMixinClass extends superClass { - /** - * Parent element for get direction in parents mode. - */ - protected _parentEl: HTMLElement | null = null; - - override connectedCallback(): void { - super.connectedCallback(); - this._addSignalListeners(localeContextConsumer.subscribe(() => this._updateDir())); - } - - /** - * Update direction from this._dirParent or l10n.locale - */ - protected _updateDir(dir?: string): void { - this._logger.logMethodArgs?.('_updateDir', {dir, computeMode}); - - if (typeof dir === 'string') { - // console.timeEnd('_updateDir'); - return this.setAttribute('dir', dir === 'rtl' ? dir : 'ltr'); - } - - // console.time('_updateDir'); - // else, calculate - if (computeMode === 'locale') { - return this._updateDir(localeContextConsumer.getValue()?.direction ?? document.documentElement.dir); - } - // else - if (computeMode === 'computed-style') { - const dir = window.getComputedStyle(this).getPropertyValue('direction'); - return this._updateDir(dir); - } - // else if (computeMode === 'parents') - if (this._parentEl !== null) { - return this._updateDir(this._parentEl.dir); - } - // else - let parentEl = (this.assignedSlot || this.parentNode) as HTMLElement | null; - while (parentEl != null && parentEl !== document.documentElement && !parentEl.dir) { - // prettier-ignore - parentEl = ( - parentEl.assignedSlot || - parentEl.parentNode || - (parentEl as unknown as ShadowRoot).host - ) as HTMLElement; - } - - if (parentEl?.dir) { - this._parentEl = parentEl; - return this._updateDir(parentEl.dir); - } - // else - computeMode = 'locale'; - this._updateDir(); - } - } - - return DirectionMixinClass as unknown as Constructor<DirectionMixinInterface> & T; -} diff --git a/ui/element/src/mixins/localize.ts b/ui/element/src/mixins/localize.ts deleted file mode 100644 index f5d2a71b..00000000 --- a/ui/element/src/mixins/localize.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {l18eContextConsumer} from '@alwatr/i18n'; - -import type {SignalMixinInterface} from './signal.js'; -import type {Constructor, L18eContext} from '@alwatr/type'; - -export declare class LocalizeMixinInterface extends SignalMixinInterface { - protected _l18eContextUpdated(_l18eContext: L18eContext): void; -} - -export function LocalizeMixin<T extends Constructor<SignalMixinInterface>>( - superClass: T, -): Constructor<LocalizeMixinInterface> & T { - class LocalizeMixinClass extends superClass { - override connectedCallback(): void { - super.connectedCallback(); - this._addSignalListeners( - l18eContextConsumer.subscribe(this._l18eContextUpdated.bind(this)), - ); - } - - /** - * On localization resource context update. - */ - protected _l18eContextUpdated(l18eContext: L18eContext): void { - this._logger.logMethodArgs?.('_l18eContextUpdated', l18eContext.meta); - this.requestUpdate(); - } - } - - return LocalizeMixinClass as unknown as Constructor<LocalizeMixinInterface> & T; -} diff --git a/ui/element/src/mixins/logging.ts b/ui/element/src/mixins/logging.ts deleted file mode 100644 index 1e406cd6..00000000 --- a/ui/element/src/mixins/logging.ts +++ /dev/null @@ -1,88 +0,0 @@ -import {createLogger, type AlwatrLogger} from '@alwatr/logger'; - -import type {LitElement, PropertyValues} from '../lit.js'; -import type {Constructor} from '@alwatr/type'; - -let _lastAli = 0; - -export declare class LoggerMixinInterface extends LitElement { - /** - * Alwatr logger index! - * - * Element index for logger ;) - */ - ali: number; - - protected _logger: AlwatrLogger; -} - -export function LoggerMixin<T extends Constructor<LitElement>>(superClass: T): Constructor<LoggerMixinInterface> & T { - class LoggerMixinClass extends superClass { - ali: number = ++_lastAli; - protected _logger = createLogger(`<${this.tagName.toLowerCase()}-${this.ali}>`); - - private _$firstUpdated?: true; - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - constructor(...args: any[]) { - super(...args); - this._logger.logMethod?.('constructor'); - } - - override connectedCallback(): void { - this._logger.logMethod?.('connectedCallback'); - super.connectedCallback(); - } - - override disconnectedCallback(): void { - this._logger.logMethod?.('disconnectedCallback'); - super.disconnectedCallback(); - } - - protected override update(changedProperties: PropertyValues): void { - this._logger.logMethodArgs?.('update', {changedProperties}); - this._logger.time?.(this._$firstUpdated ? 'update-time' : 'first-update-time'); - super.update(changedProperties); - } - - protected override firstUpdated(changedProperties: PropertyValues): void { - this._logger.logMethodArgs?.('firstUpdated', {changedProperties}); - this._logger.timeEnd?.('first-update-time'); - super.firstUpdated(changedProperties); - } - - protected override updated(changedProperties: PropertyValues): void { - // this._logger.logMethodArgs('updated', {changedProperties}); - if (this._logger.devMode) { - if (this._$firstUpdated) { - this._logger.timeEnd?.('update-time'); - } - else { - this._$firstUpdated = true; - } - } - - super.updated(changedProperties); - } - - protected override render(): unknown { - this._logger.logMethod?.('render'); - return; - } - - override dispatchEvent(event: Event): boolean { - this._logger.logMethodArgs?.('dispatchEvent', { - type: event.type, - detail: (event as Event & {detail?: unknown}).detail, - }); - return super.dispatchEvent(event); - } - - override remove(): void { - this._logger.logMethod?.('remove'); - super.remove(); - } - } - - return LoggerMixinClass as unknown as Constructor<LoggerMixinInterface> & T; -} diff --git a/ui/element/src/mixins/router.ts b/ui/element/src/mixins/router.ts deleted file mode 100644 index 8e03bddd..00000000 --- a/ui/element/src/mixins/router.ts +++ /dev/null @@ -1,33 +0,0 @@ -import {routeContextConsumer, type RouteContext} from '@alwatr/router'; - -import type {SignalMixinInterface} from './signal.js'; -import type {Constructor} from '@alwatr/type'; - -export declare class RouterMixinInterface extends SignalMixinInterface { - protected _routeContextUpdated(routeContext: RouteContext): void; -} - -export function RouterMixin<T extends Constructor<SignalMixinInterface>>( - superClass: T, -): Constructor<RouterMixinInterface> & T { - class RouterMixinClass extends superClass { - override connectedCallback(): void { - super.connectedCallback(); - this._addSignalListeners( - routeContextConsumer.subscribe((routeContext) => this._routeContextUpdated(routeContext), { - receivePrevious: 'No', - }), - ); - } - - /** - * On route context update. - */ - protected _routeContextUpdated(routeContext: RouteContext): void { - this._logger.logMethodArgs?.('_routeContextUpdated', routeContext); - this.requestUpdate(); - } - } - - return RouterMixinClass as unknown as Constructor<RouterMixinInterface> & T; -} diff --git a/ui/element/src/mixins/schedule-update-to-frame.ts b/ui/element/src/mixins/schedule-update-to-frame.ts deleted file mode 100644 index 9e496f66..00000000 --- a/ui/element/src/mixins/schedule-update-to-frame.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {untilNextFrame} from '@alwatr/util'; - -import type {SignalMixinInterface} from './signal.js'; -import type {Constructor} from '@alwatr/type'; - -export declare class ScheduleUpdateToFrameMixinInterface extends SignalMixinInterface {} - -export function ScheduleUpdateToFrameMixin<T extends Constructor<SignalMixinInterface>>( - superClass: T, -): Constructor<ScheduleUpdateToFrameMixinInterface> & T { - class ScheduleUpdateToFrameMixinClass extends superClass { - protected override async scheduleUpdate(): Promise<void> { - await untilNextFrame(); - super.scheduleUpdate(); - } - } - return ScheduleUpdateToFrameMixinClass as unknown as Constructor<ScheduleUpdateToFrameMixinInterface> & T; -} diff --git a/ui/element/src/mixins/signal.ts b/ui/element/src/mixins/signal.ts deleted file mode 100644 index e383b08d..00000000 --- a/ui/element/src/mixins/signal.ts +++ /dev/null @@ -1,37 +0,0 @@ -import {unsubscribe} from '@alwatr/signal/core.js'; - -import type {LoggerMixinInterface} from './logging.js'; -import type {ListenerSpec} from '@alwatr/signal/type.js'; -import type {Constructor, SingleOrArray} from '@alwatr/type'; - -export declare class SignalMixinInterface extends LoggerMixinInterface { - private _signalListenerList: ListenerSpec[]; - protected _addSignalListeners(listeners: SingleOrArray<ListenerSpec>): void; -} - -export function SignalMixin<T extends Constructor<LoggerMixinInterface>>( - superClass: T, -): Constructor<SignalMixinInterface> & T { - class SignalMixinClass extends superClass { - private _signalListenerList: ListenerSpec[] = []; - - protected _addSignalListeners(listeners: SingleOrArray<ListenerSpec>): void { - if (Array.isArray(listeners)) { - this._signalListenerList = this._signalListenerList.concat(listeners); - } - else { - this._signalListenerList.push(listeners); - } - } - - override disconnectedCallback(): void { - for (const listener of this._signalListenerList) { - unsubscribe(listener); - } - this._signalListenerList.length = 0; - super.disconnectedCallback(); - } - } - - return SignalMixinClass as unknown as Constructor<SignalMixinInterface> & T; -} diff --git a/ui/element/src/mixins/toggle.ts b/ui/element/src/mixins/toggle.ts deleted file mode 100644 index 191cc029..00000000 --- a/ui/element/src/mixins/toggle.ts +++ /dev/null @@ -1,39 +0,0 @@ -import {property} from 'lit/decorators.js'; - -import type {LoggerMixinInterface} from './logging.js'; -import type {Constructor} from '@alwatr/type'; - -export declare class ToggleMixinInterface extends LoggerMixinInterface { - selected: boolean; - protected _click(event: MouseEvent): void -} - -export function ToggleMixin<T extends Constructor<LoggerMixinInterface>>( - superClass: T, -): Constructor<ToggleMixinInterface> & T { - class ToggleMixinClass extends superClass { - @property({type: Boolean, reflect: true}) - selected = false; - - override connectedCallback(): void { - super.connectedCallback(); - this.addEventListener('click', this._click); - } - override disconnectedCallback(): void { - super.disconnectedCallback(); - this.removeEventListener('click', this._click); - } - - /** - * On host click event. - */ - protected _click(event: MouseEvent): void { - this._logger.logMethod?.('_click'); - if (event.metaKey || event.altKey || event.shiftKey) return; - this.selected = !this.selected; - this.dispatchEvent(new CustomEvent('selected-change')); - } - } - - return ToggleMixinClass as unknown as Constructor<ToggleMixinInterface> & T; -} diff --git a/ui/element/src/mixins/unresolved.ts b/ui/element/src/mixins/unresolved.ts deleted file mode 100644 index 16763905..00000000 --- a/ui/element/src/mixins/unresolved.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type {LoggerMixinInterface} from './logging.js'; -import type {PropertyValues} from '../lit.js'; -import type {Constructor} from '@alwatr/type'; - -export declare class UnresolvedMixinInterface extends LoggerMixinInterface {} - -export function UnresolvedMixin<T extends Constructor<LoggerMixinInterface>>( - superClass: T, -): Constructor<UnresolvedMixinInterface> & T { - class UnresolvedMixinClass extends superClass { - protected override firstUpdated(_changedProperties: PropertyValues<this>): void { - super.firstUpdated(_changedProperties); - if (this.hasAttribute('unresolved')) { - this.removeAttribute('unresolved'); - } - } - } - - return UnresolvedMixinClass as unknown as Constructor<UnresolvedMixinInterface> & T; -} diff --git a/ui/element/tsconfig.json b/ui/element/tsconfig.json deleted file mode 100644 index aefba943..00000000 --- a/ui/element/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": ".", - "plugins": [ - { - "name": "ts-lit-plugin", - "strict": true - } - ] - }, - // files, include and exclude from the inheriting config are always overwritten. - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../../core/logger"}, - {"path": "../../core/type"}, - {"path": "../../core/i18n"}, - {"path": "../../core/router"}, - {"path": "../../core/fsm"} - ] -} diff --git a/ui/pwa-helper/CHANGELOG.md b/ui/pwa-helper/CHANGELOG.md deleted file mode 100644 index 660ede58..00000000 --- a/ui/pwa-helper/CHANGELOG.md +++ /dev/null @@ -1,158 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.2](https://github.com/AliMD/alwatr/compare/@alwatr/pwa-helper@1.1.1...@alwatr/pwa-helper@1.1.2) (2023-09-12) - -**Note:** Version bump only for package @alwatr/pwa-helper - -## [1.1.1](https://github.com/AliMD/alwatr/compare/@alwatr/pwa-helper@1.1.0...@alwatr/pwa-helper@1.1.1) (2023-09-12) - -**Note:** Version bump only for package @alwatr/pwa-helper - -# 1.1.0 (2023-09-12) - -### Features - -* **pwa-helper/esbuild:** support scss files ([56a8965](https://github.com/AliMD/alwatr/commit/56a896569d089fdd83e79ff1472a3c851238cbf8)) -* **pwa-helper:** handle `svg` files ([2ad14e2](https://github.com/AliMD/alwatr/commit/2ad14e29176856fdcbbaa51aa98ab7dab6639188)) -* **wds:** add 0.0.0.0 hostname ([5addfb7](https://github.com/AliMD/alwatr/commit/5addfb72a58b5ee32e84346387edc17b45d26d73)) - -# 1.0.0 (2023-06-14) - -# 0.32.0 (2023-05-27) - -# 0.31.0 (2023-05-08) - -### Bug Fixes - -* compatible with new _addSignalListener signal mixin ([e2be863](https://github.com/AliMD/alwatr/commit/e2be863acd9b99c4fc8f0a81c4efe2ac6db50c39)) -* new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) -* **pwa-element:** scroll issue ([136dbd0](https://github.com/AliMD/alwatr/commit/136dbd07592fdae28bbe0969a38e82fd2f49c144)) -* **pwa-helper/esbuild:** hash entryNames ([0394a26](https://github.com/AliMD/alwatr/commit/0394a26d9f72d21ca762af3c04f5521e6e600f28)) -* **pwa-helper:** disable auto scroll on page changes temporary ([d2cc128](https://github.com/AliMD/alwatr/commit/d2cc12889664fbd324c53ecc00582995fd2ab552)) -* **pwa-helper:** render routerOutlet to this ([e06bc3a](https://github.com/AliMD/alwatr/commit/e06bc3ac95a9f640ff7e8d912328e4c2e3a64b21)) -* **pwa-helper:** show user notify version ([7a01234](https://github.com/AliMD/alwatr/commit/7a01234a5e05cbc66438c589c8783be2e2d8adf4)) - -### Features - -* **pwa-helper:** add build short sha to alwatr version ([0411b9c](https://github.com/AliMD/alwatr/commit/0411b9c7e92b243ed4f24337432c2f0412817920)) - -### Performance Improvements - -* **pwa:** optimize downloading performance ([39ef8b4](https://github.com/AliMD/alwatr/commit/39ef8b45065cbfff45273441cca527a1195d9750)) - -# 0.30.0 (2023-03-06) - -### Bug Fixes - -* configs ([00f85f5](https://github.com/AliMD/alwatr/commit/00f85f525f07334544cc9e007c49f2343ba8cec3)) -* **pwa-helper:** build banner ([359fe73](https://github.com/AliMD/alwatr/commit/359fe73eec0fa50299b07525684e4a5fa84cd3a6)) -* **pwa-helper:** dereference on copy ([7bd54eb](https://github.com/AliMD/alwatr/commit/7bd54eb775708ea625406268aa47735e7eb1f4a5)) -* **pwa-helper:** getConfKey type ([0b8901c](https://github.com/AliMD/alwatr/commit/0b8901cc74ba54d81b740a21b29e439513cc2a45)) -* **pwa-helper:** pwa version ([5a35f00](https://github.com/AliMD/alwatr/commit/5a35f00ec452726cb63f81e02d1387453af30ae8)) - -### Features - -* **pwa-helper:** back-click-event ([0937837](https://github.com/AliMD/alwatr/commit/0937837185dd9fd2a49e3d16086854f6244aa450)) -* **pwa-helper:** central pwa-dev-server.config.js ([147c7e7](https://github.com/AliMD/alwatr/commit/147c7e7bac17179619cfca153463db74f134ba7b)) -* **pwa-helper:** handle nack to home event ([4e30cdc](https://github.com/AliMD/alwatr/commit/4e30cdcc36f0cc450310ed7c98c1fae828efbf6e)) -* **pwa-helper:** new render layout with root top-app-bar and context ([62f7918](https://github.com/AliMD/alwatr/commit/62f79185fddf48175036b03577eeb06bd6335c19)) -* **pwa-helper:** scrollToTopCommand ([630d6cd](https://github.com/AliMD/alwatr/commit/630d6cd4543529f0f650ff99ad4a99803e85843b)) -* **pwa-helper:** using UnresolvedMixin ([3c0f95e](https://github.com/AliMD/alwatr/commit/3c0f95ee5395049aa7f10f3d562f0aa41773e531)) - -### Performance Improvements - -* **pwa-element:** scheduleUpdate by animation frame ([388004d](https://github.com/AliMD/alwatr/commit/388004dd3b355319968135206dfcd600d46921dd)) - -# 0.29.0 (2023-02-10) - -### Bug Fixes - -* **pwa-helper:** _routeChanged ([5a22e3f](https://github.com/AliMD/alwatr/commit/5a22e3f9bea3ed03a49889d7725cb807f359c02a)) -* **pwa-helper:** disable dynamic entryNames in build ([b829639](https://github.com/AliMD/alwatr/commit/b829639bf3b4940bee44ca6c73aa8ce74f35c3ca)) -* **pwa-helper:** show version ([9235dee](https://github.com/AliMD/alwatr/commit/9235dee636a76ad9e07686564ebdfa45f45e8928)) -* **pwa-helper:** version and old workbox config ([3646f14](https://github.com/AliMD/alwatr/commit/3646f144669b8b46266833b19fd1aff064b13ad8)) -* **snackbar:** padding ([6765f89](https://github.com/AliMD/alwatr/commit/6765f8900e798aea1f77e9e76be36e055411dd3e)) - -### Features - -* debug all renders ([73a0d34](https://github.com/AliMD/alwatr/commit/73a0d3483b7c42ab0a6247721073b81a01f7b258)) -* **icon-button:** new standard icon button ([b8e9836](https://github.com/AliMD/alwatr/commit/b8e98365fe3e8f1f6db1a21480257049c0294f03)) -* **pwa-helper:** esbuild ([9694294](https://github.com/AliMD/alwatr/commit/9694294815203a86fbbfde8288371ab347c5ec11)) -* **pwa-helper:** get config utils ([df0b593](https://github.com/AliMD/alwatr/commit/df0b593985440267f32ecf646422a3fa13692b03)) -* **pwa-helper:** new package ([a77c049](https://github.com/AliMD/alwatr/commit/a77c0491a6337cb48b42a667a0ee67c7f9f150fa)) -* **pwa-helper:** user toast on sw signals ([2569728](https://github.com/AliMD/alwatr/commit/2569728683e49e020ce77a573aa79f2453bfe774)) -* **soffit:** enhance develope scripts ([d4b5f5b](https://github.com/AliMD/alwatr/commit/d4b5f5b233f2da196192ad03ef755abda0dcb3cf)) - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -**Note:** Version bump only for package @alwatr/pwa-helper - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -**Note:** Version bump only for package @alwatr/pwa-helper - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Bug Fixes - -- compatible with new \_addSignalListener signal mixin ([e2be863](https://github.com/AliMD/alwatr/commit/e2be863acd9b99c4fc8f0a81c4efe2ac6db50c39)) -- new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) -- **pwa-element:** scroll issue ([136dbd0](https://github.com/AliMD/alwatr/commit/136dbd07592fdae28bbe0969a38e82fd2f49c144)) -- **pwa-helper/esbuild:** hash entryNames ([0394a26](https://github.com/AliMD/alwatr/commit/0394a26d9f72d21ca762af3c04f5521e6e600f28)) -- **pwa-helper:** disable auto scroll on page changes temporary ([d2cc128](https://github.com/AliMD/alwatr/commit/d2cc12889664fbd324c53ecc00582995fd2ab552)) -- **pwa-helper:** render routerOutlet to this ([e06bc3a](https://github.com/AliMD/alwatr/commit/e06bc3ac95a9f640ff7e8d912328e4c2e3a64b21)) -- **pwa-helper:** show user notify version ([7a01234](https://github.com/AliMD/alwatr/commit/7a01234a5e05cbc66438c589c8783be2e2d8adf4)) - -### Features - -- **pwa-helper:** add build short sha to alwatr version ([0411b9c](https://github.com/AliMD/alwatr/commit/0411b9c7e92b243ed4f24337432c2f0412817920)) - -### Performance Improvements - -- **pwa:** optimize downloading performance ([39ef8b4](https://github.com/AliMD/alwatr/commit/39ef8b45065cbfff45273441cca527a1195d9750)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Bug Fixes - -- configs ([00f85f5](https://github.com/AliMD/alwatr/commit/00f85f525f07334544cc9e007c49f2343ba8cec3)) -- **pwa-helper:** build banner ([359fe73](https://github.com/AliMD/alwatr/commit/359fe73eec0fa50299b07525684e4a5fa84cd3a6)) -- **pwa-helper:** dereference on copy ([7bd54eb](https://github.com/AliMD/alwatr/commit/7bd54eb775708ea625406268aa47735e7eb1f4a5)) -- **pwa-helper:** getConfKey type ([0b8901c](https://github.com/AliMD/alwatr/commit/0b8901cc74ba54d81b740a21b29e439513cc2a45)) -- **pwa-helper:** pwa version ([5a35f00](https://github.com/AliMD/alwatr/commit/5a35f00ec452726cb63f81e02d1387453af30ae8)) - -### Features - -- **pwa-helper:** back-click-event ([0937837](https://github.com/AliMD/alwatr/commit/0937837185dd9fd2a49e3d16086854f6244aa450)) -- **pwa-helper:** central pwa-dev-server.config.js ([147c7e7](https://github.com/AliMD/alwatr/commit/147c7e7bac17179619cfca153463db74f134ba7b)) -- **pwa-helper:** handle nack to home event ([4e30cdc](https://github.com/AliMD/alwatr/commit/4e30cdcc36f0cc450310ed7c98c1fae828efbf6e)) -- **pwa-helper:** new render layout with root top-app-bar and context ([62f7918](https://github.com/AliMD/alwatr/commit/62f79185fddf48175036b03577eeb06bd6335c19)) -- **pwa-helper:** scrollToTopCommand ([630d6cd](https://github.com/AliMD/alwatr/commit/630d6cd4543529f0f650ff99ad4a99803e85843b)) -- **pwa-helper:** using UnresolvedMixin ([3c0f95e](https://github.com/AliMD/alwatr/commit/3c0f95ee5395049aa7f10f3d562f0aa41773e531)) - -### Performance Improvements - -- **pwa-element:** scheduleUpdate by animation frame ([388004d](https://github.com/AliMD/alwatr/commit/388004dd3b355319968135206dfcd600d46921dd)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Bug Fixes - -- **pwa-helper:** \_routeChanged ([5a22e3f](https://github.com/AliMD/alwatr/commit/5a22e3f9bea3ed03a49889d7725cb807f359c02a)) -- **pwa-helper:** disable dynamic entryNames in build ([b829639](https://github.com/AliMD/alwatr/commit/b829639bf3b4940bee44ca6c73aa8ce74f35c3ca)) -- **pwa-helper:** show version ([9235dee](https://github.com/AliMD/alwatr/commit/9235dee636a76ad9e07686564ebdfa45f45e8928)) -- **pwa-helper:** version and old workbox config ([3646f14](https://github.com/AliMD/alwatr/commit/3646f144669b8b46266833b19fd1aff064b13ad8)) -- **snackbar:** padding ([6765f89](https://github.com/AliMD/alwatr/commit/6765f8900e798aea1f77e9e76be36e055411dd3e)) - -### Features - -- debug all renders ([73a0d34](https://github.com/AliMD/alwatr/commit/73a0d3483b7c42ab0a6247721073b81a01f7b258)) -- **icon-button:** new standard icon button ([b8e9836](https://github.com/AliMD/alwatr/commit/b8e98365fe3e8f1f6db1a21480257049c0294f03)) -- **pwa-helper:** esbuild ([9694294](https://github.com/AliMD/alwatr/commit/9694294815203a86fbbfde8288371ab347c5ec11)) -- **pwa-helper:** get config utils ([df0b593](https://github.com/AliMD/alwatr/commit/df0b593985440267f32ecf646422a3fa13692b03)) -- **pwa-helper:** new package ([a77c049](https://github.com/AliMD/alwatr/commit/a77c0491a6337cb48b42a667a0ee67c7f9f150fa)) -- **pwa-helper:** user toast on sw signals ([2569728](https://github.com/AliMD/alwatr/commit/2569728683e49e020ce77a573aa79f2453bfe774)) -- **soffit:** enhance develope scripts ([d4b5f5b](https://github.com/AliMD/alwatr/commit/d4b5f5b233f2da196192ad03ef755abda0dcb3cf)) diff --git a/ui/pwa-helper/README.md b/ui/pwa-helper/README.md deleted file mode 100644 index 30b635be..00000000 --- a/ui/pwa-helper/README.md +++ /dev/null @@ -1 +0,0 @@ -# Alwatr PWA Helper - `@alwatr/pwa-helper` diff --git a/ui/pwa-helper/esbuild.mjs b/ui/pwa-helper/esbuild.mjs deleted file mode 100755 index 65453971..00000000 --- a/ui/pwa-helper/esbuild.mjs +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable no-undef */ -/* eslint-disable @typescript-eslint/explicit-function-return-type */ -import {execSync} from 'child_process'; -import {promises as fs, existsSync} from 'node:fs'; - -import {createLogger} from '@alwatr/logger'; -import * as esbuild from 'esbuild'; -import {generateSW} from 'workbox-build'; - -import packageJson from './package.json' assert {type: 'json'}; - -const logger = createLogger('alwatr-pwa-build'); -const banner = '/* ..:: Alwatr PWA ::.. */\n'; - -const srcDir = 'src'; -const resDir = 'res'; -const outDir = 'dist'; -const srcFilename = 'alwatr-pwa'; - -const cleanMode = process.argv.includes('--clean'); -const watchMode = process.argv.includes('--watch'); -const debugMode = process.argv.includes('--debug'); -const prettyMode = process.argv.includes('--pretty'); - -const gitShortSha = execSync('git rev-parse --short HEAD').toString().trim(); - -logger.logOther?.(banner); - -logger.logProperty?.('cleanMode', cleanMode); -logger.logProperty?.('watchMode', watchMode); -logger.logProperty?.('debugMode', debugMode); -logger.logProperty?.('prettyMode', prettyMode); - -if (cleanMode) { - logger.logMethod?.('cleanDist'); - await fs.rm(outDir, {recursive: true, force: true}); -} - -const copyPromise = fs.cp(resDir, outDir, {recursive: true, force: true, dereference: true}); - -const esbuildContext = await esbuild.context({ - entryPoints: [`${srcDir}/${srcFilename}.ts`], - - logLevel: 'info', - platform: 'browser', - target: 'es2018', - format: 'esm', - conditions: debugMode ? ['development'] : undefined, - - minify: !prettyMode, - treeShaking: true, - sourcemap: true, - sourcesContent: debugMode, - bundle: true, - splitting: true, - charset: 'utf8', - legalComments: 'none', - metafile: true, - - define: { - _ALWATR_VERSION_: `'${packageJson.version}+${gitShortSha}'`, - }, - // drop: ['debugger'], - - loader: { - '.png': 'copy', - '.jpg': 'copy', - '.woff': 'copy', - '.woff2': 'copy', - '.svg': 'text', - '.scss': 'css', - }, - - banner: { - js: banner, - css: banner, - }, - - outbase: srcDir, - outdir: outDir, - assetNames: 'asset/[name]-[hash]', - entryNames: watchMode ? '[name]' : '[dir]/[name]-[hash]', - chunkNames: 'chunks/[name]-[hash]', -}); - -const esBuildPromise = esbuildContext.rebuild(); - -async function makeHtml() { - logger.logMethod?.('makeHtml'); - - let htmlContent = await fs.readFile(`${resDir}/index.html`, {encoding: 'utf-8'}); - - const metafile = (await esBuildPromise).metafile; - const outFiles = Object.keys(metafile.outputs); - - const jsFilename = outFiles - .find((filename) => filename.includes(srcFilename) && filename.endsWith('.js')) - .substring(outDir.length + 1); - - const cssFilename = outFiles - .find((filename) => filename.includes(srcFilename) && filename.endsWith('.css')) - .substring(outDir.length + 1); - - logger.logProperty?.('jsFilename', jsFilename); - logger.logProperty?.('cssFilename', cssFilename); - - if (!existsSync(`${outDir}/${jsFilename}`)) { - logger.error('makeHtml', 'js_filename_not_found', {jsFilename}); - throw new Error('js_filename_not_found'); - } - - if (!existsSync(`${outDir}/${cssFilename}`)) { - logger.error('makeHtml', 'css_filename_not_found', {cssFilename}); - throw new Error('css_filename_not_found'); - } - - htmlContent = htmlContent - .replaceAll('alwatr-pwa.css', cssFilename) - .replaceAll('alwatr-pwa.js', jsFilename); - - await copyPromise; // wait to cp done - await fs.writeFile(`${outDir}/index.html`, htmlContent, {encoding: 'utf-8', flag: 'w'}); -} - -async function buildServiceWorker() { - logger.logMethod?.('buildServiceWorker'); - - const build = await generateSW({ - swDest: `${outDir}/service-worker.js`, - globDirectory: `${outDir}/`, - clientsClaim: true, - skipWaiting: true, - globPatterns: [ - '**/*.{js,css,json,png,svg,ico,webp,woff2,html}', - ], - }); - - logger.logOther?.('serviceWorkerPath', build); -} - -if (watchMode) { - esbuildContext.watch({}); -} -else { - await makeHtml(); - esbuildContext.dispose(); - - - if (debugMode) { - console.log(await esbuild.analyzeMetafile((await esBuildPromise).metafile)); - } - - await buildServiceWorker(); // makeHtml must be done first -} - -/* - TODO: - - Input Config - - version - - Workbox and sw - - Res (all assets) hash - - PostCSS css file - - lit css loader - - PostCSS lit internal styles - - Dynamic from @alwatr/build - - sideEffects - https://esbuild.github.io/api/#ignore-annotations - https://webpack.js.org/guides/tree-shaking/ - - readme - https://esbuild.github.io/api/#write - https://github.com/fakundo/esbuild-plugin-replace-regex/blob/master/src/index.js#L30 - https://github.com/zandaqo/esbuild-plugin-lit/blob/master/css-loader.ts - https://github.com/chialab/rna/tree/main/packages/esbuild-plugin-html -*/ diff --git a/ui/pwa-helper/package.json b/ui/pwa-helper/package.json deleted file mode 100644 index 97001792..00000000 --- a/ui/pwa-helper/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@alwatr/pwa-helper", - "version": "1.1.2", - "description": "Alwatr PWA Helper", - "keywords": [ - "element", - "lit", - "lit-element", - "web-component", - "mixin", - "typescript", - "esm", - "alwatr" - ], - "type": "module", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", - "license": "MIT", - "files": [ - "**/*.{d.ts.map,d.ts,js.map,js,html,md}" - ], - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "ui/element" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/ui/pwa-helper#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "dependencies": { - "@alwatr/element": "^1.1.2", - "@alwatr/i18n": "^1.1.2", - "@alwatr/logger": "^1.1.2", - "@alwatr/ui-kit": "^1.0.0", - "tslib": "^2.6.2" - } -} diff --git a/ui/pwa-helper/pwa-dev-server.config.js b/ui/pwa-helper/pwa-dev-server.config.js deleted file mode 100644 index 24b1051a..00000000 --- a/ui/pwa-helper/pwa-dev-server.config.js +++ /dev/null @@ -1,25 +0,0 @@ -import {existsSync} from 'node:fs'; - -// https://modern-web.dev/docs/dev-server/cli-and-configuration/#configuration-file -/** @type {import('@web/dev-server').DevServerConfig} */ -export const config = { - hostname: '0.0.0.0', - port: 8080, - open: true, - watch: true, - // debug: true, - rootDir: 'dist', - appIndex: 'index.html', - plugins: [], - middleware: [(context, next) => { - // if file not found, return app index.html - if (!( - context.url === '/' || - context.url.startsWith('/__w') || - existsSync(config.rootDir + context.url) - )) { - context.url = config.appIndex; - } - return next(); - }], -}; diff --git a/ui/pwa-helper/src/config.ts b/ui/pwa-helper/src/config.ts deleted file mode 100644 index 17ba9771..00000000 --- a/ui/pwa-helper/src/config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import {getLocalStorageItem} from '@alwatr/util'; - -import type {Stringifyable, StringifyableRecord} from '@alwatr/type'; - -declare global { - // eslint-disable-next-line no-var - var appConfig: StringifyableRecord; -} - -// TODO: config-context with dynamic import like l18e - -/** - * Debug app config. - * - * Example: - * - * ```ts - * localStorage.setItem('DEBUG_CONFIG', JSON.stringify(globalThis.appConfig)) - * ``` - */ -const debugConfig = getLocalStorageItem('DEBUG_CONFIG', null); -if (debugConfig != null) { - globalThis.appConfig = debugConfig; -} - -export function getConfKey<T extends Stringifyable>(key: string): T { - const val = globalThis.appConfig?.[key]; - if (val == null) throw new Error('invalid_app_config', {cause: {key, val}}); - return val as T; -} diff --git a/ui/pwa-helper/src/context.ts b/ui/pwa-helper/src/context.ts deleted file mode 100644 index 08edc348..00000000 --- a/ui/pwa-helper/src/context.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {contextProvider, commandTrigger} from '@alwatr/signal'; - -import type {TopAppBarContent} from '@alwatr/ui-kit/top-app-bar/top-app-bar.js'; - -export const topAppBarContextProvider = contextProvider.bind<TopAppBarContent>('top_app_bar_context'); -// export const topAppBarContextConsumer = contextConsumer.bind<TopAppBarContent>(topAppBarContextProvider.id); - -export const scrollToTopCommand = commandTrigger.bind<{smooth?: boolean}, undefined>('command_scroll_to_top'); diff --git a/ui/pwa-helper/src/logger.ts b/ui/pwa-helper/src/logger.ts deleted file mode 100644 index 085991f5..00000000 --- a/ui/pwa-helper/src/logger.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {createLogger, globalAlwatr} from '@alwatr/logger'; - -export const logger = createLogger('pwa-helper'); - -globalAlwatr.registeredList.push({ - name: '@alwatr/pwa-helper', - version: _ALWATR_VERSION_, -}); diff --git a/ui/pwa-helper/src/pwa-element.ts b/ui/pwa-helper/src/pwa-element.ts deleted file mode 100644 index 5bf03ab9..00000000 --- a/ui/pwa-helper/src/pwa-element.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { - cache, - html, - css, - AlwatrBaseElement, - SignalMixin, - RouterMixin, - UnresolvedMixin, - type PropertyValues, - type CSSResultGroup, -} from '@alwatr/element'; -import {localeContextConsumer, setLocale} from '@alwatr/i18n'; -import {RouteContext, routerOutlet, type RoutesConfig} from '@alwatr/router'; -import {commandHandler, commandTrigger} from '@alwatr/signal'; -import '@alwatr/ui-kit/snackbar/controller.js'; -import '@alwatr/ui-kit/style/pwa.css'; -import '@alwatr/ui-kit/style/token.css'; -import '@alwatr/ui-kit/top-app-bar/top-app-bar.js'; -import {untilNextFrame} from '@alwatr/util'; - -import {scrollToTopCommand, topAppBarContextProvider} from './context.js'; -import './signal/back-to-home-click.js'; -import './signal/browser-back-click.js'; -import './signal/register-service-worker-command.js'; -import './signal/sw-user-notify.js'; - -/** - * Alwatr Root Base Element - * - * Include: AlwatrPwaElement, root styles, router config, multi-page render - */ -export class AlwatrPwaElement extends RouterMixin(SignalMixin(UnresolvedMixin(AlwatrBaseElement))) { - static override styles: CSSResultGroup = css` - :host { - contain: size layout paint style; - box-sizing: border-box; - height: 100%; - display: flex; - flex-direction: column; - flex-wrap: nowrap; - align-items: stretch; - overflow: hidden; - overflow: clip; - } - - main { - contain: size layout paint style; - flex-grow: 1; - flex-shrink: 0; - } - - .scroll-area { - overflow-y: auto; - } - - [unresolved] { - display: block; - text-align: center; - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - } - `; - - override connectedCallback(): void { - super.connectedCallback(); - - if (!localeContextConsumer.getValue()) { - setLocale(); - } - - this._addSignalListeners(commandHandler.define<{smooth?: boolean}, undefined>( - scrollToTopCommand.id, - async (option): Promise<undefined> => { - await untilNextFrame(); - this.renderRoot.querySelector('.scroll-area')?.scrollTo({ - top: 0, - left: 0, - behavior: option.smooth ? 'smooth' : 'auto', - }); - return; - }, - )); - } - - protected _routesConfig: RoutesConfig = { - routeId: (routeContext) => routeContext.sectionList[0]?.toString(), - templates: { - home: () => html`<h1>Page Home ;)</h1>`, - _404: () => html`<h1>404, Not found!</h1>`, - }, - }; - - protected override _routeContextUpdated(routeContext: RouteContext): void { - super._routeContextUpdated(routeContext); - scrollToTopCommand.request({smooth: true}); - } - - protected override async scheduleUpdate(): Promise<void> { - await untilNextFrame(); - super.scheduleUpdate(); - } - - override render(): unknown { - this._logger.logMethod?.('render'); - return [this._topAppBarTemplate(), this._mainTemplate(), this._navigationBarTemplate()]; - } - - protected override firstUpdated(changedProperties: PropertyValues<this>): void { - super.firstUpdated(changedProperties); - commandTrigger.request('register_service_worker_command', {}); - } - - protected _topAppBarTemplate(): unknown { - return html`<alwatr-top-app-bar context-signal=${topAppBarContextProvider.id}></alwatr-top-app-bar>`; - } - - protected _mainTemplate(): unknown { - return html`<main class="scroll-area">${cache(routerOutlet(this._routesConfig, this))}</main>`; - } - - protected _navigationBarTemplate(): unknown { - return html`<footer>Navigation bar...</footer>`; - } -} diff --git a/ui/pwa-helper/src/signal/back-to-home-click.ts b/ui/pwa-helper/src/signal/back-to-home-click.ts deleted file mode 100644 index d73d6b21..00000000 --- a/ui/pwa-helper/src/signal/back-to-home-click.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {redirect} from '@alwatr/router'; -import {eventListener} from '@alwatr/signal'; - -import {logger} from '../logger.js'; - -import type {ClickSignalType} from '@alwatr/type'; - -eventListener.subscribe<ClickSignalType>('back_to_home_click_event', () => { - logger.logMethod?.('back_to_home_click_event'); - redirect({sectionList: []}); -}); diff --git a/ui/pwa-helper/src/signal/browser-back-click.ts b/ui/pwa-helper/src/signal/browser-back-click.ts deleted file mode 100644 index 5b58878d..00000000 --- a/ui/pwa-helper/src/signal/browser-back-click.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {eventListener} from '@alwatr/signal'; - -import {logger} from '../logger.js'; - -import type {ClickSignalType} from '@alwatr/type'; - -eventListener.subscribe<ClickSignalType>('browser_back_click_event', () => { - logger.logMethod?.('browser_back_click_event'); - history.back(); -}); - -// TODO: replace all and remove this -eventListener.subscribe<ClickSignalType>('back-click-event', () => { - logger.logMethod?.('browser_back_click_event'); - history.back(); -}); diff --git a/ui/pwa-helper/src/signal/register-service-worker-command.ts b/ui/pwa-helper/src/signal/register-service-worker-command.ts deleted file mode 100644 index 26c359a6..00000000 --- a/ui/pwa-helper/src/signal/register-service-worker-command.ts +++ /dev/null @@ -1,68 +0,0 @@ -import {commandHandler, eventTrigger} from '@alwatr/signal'; -import {StringifyableRecord} from '@alwatr/type'; - -import {logger} from '../logger.js'; - -export interface Options extends StringifyableRecord { - /** - * Service worker path - * - * @default 'service-worker.js' - */ - path?: string, - - /** - * Service worker scope - * - * @default '/' - */ - scope?: string, -} - -commandHandler.define<Options, boolean>('register_service_worker_command', async (options = {}) => { - options.path ??= 'service-worker.js'; - options.scope ??= '/'; - logger.logMethodArgs?.('registerServiceWorker', options); - - if (!('serviceWorker' in navigator)) { - logger.incident?.('registerServiceWorker', 'sw_unsupported', 'Service worker not supported in this browser'); - return false; - } - - try { - const swRegistration = await navigator.serviceWorker.register(options.path); - swRegistration.addEventListener('updatefound', () => swUpdateFound(swRegistration.installing)); - logger.logOther?.('Service worker registered'); - eventTrigger.dispatch('service_worker_registered', null); - } - catch (err) { - logger.error('registerServiceWorker', 'sw_reg_fail', 'Service worker registration failed'); - eventTrigger.dispatch('service_worker_register_failed', null); - return false; - } - - return true; -}); - -function swUpdateFound(sw: ServiceWorker | null): void { - if (sw == null) return; - logger.logMethod?.('swUpdateFound'); - sw.addEventListener('statechange', () => swStateChange(sw)); -} - -function swStateChange(sw: ServiceWorker): void { - logger.logMethodArgs?.('swStateChange', sw.state); - if (sw.state === 'installed') { - // if old controller available then its update else its new install - if (navigator.serviceWorker.controller) { - // send sw-updated signal; - eventTrigger.dispatch('service_worker_updated', null); - } - else { - eventTrigger.dispatch('service_worker_installed', null); - } - } - else if (sw.state === 'redundant') { - logger.accident('swStateChange', 'sw_redundant', 'Service worker redundant'); - } -} diff --git a/ui/pwa-helper/src/signal/sw-user-notify.ts b/ui/pwa-helper/src/signal/sw-user-notify.ts deleted file mode 100644 index da32723f..00000000 --- a/ui/pwa-helper/src/signal/sw-user-notify.ts +++ /dev/null @@ -1,36 +0,0 @@ -import {replaceNumber, localeContextConsumer} from '@alwatr/i18n'; -import {eventListener} from '@alwatr/signal'; -import {snackbarSignalTrigger} from '@alwatr/ui-kit/snackbar/show-snackbar.js'; -import {delay, getLocalStorageItem, setLocalStorageItem} from '@alwatr/util'; - -// FIXME: i18n - -eventListener.subscribe('service_worker_registered', async () => { - if (getLocalStorageItem('notify_new_version', null) !== null) { - if (localeContextConsumer.getValue() == null) { - await localeContextConsumer.untilChange(); - } - localStorage.removeItem('notify_new_version'); - snackbarSignalTrigger.request({ - message: `به نسخه ${replaceNumber(_ALWATR_VERSION_.split('+')[0].replace('-beta.', ' بتا '))} خوش‌آمدید.`, - }); - } -}); - -eventListener.subscribe('service_worker_installed', () => void snackbarSignalTrigger.request({ - message: 'برنامه نصب شد و اکنون به صورت آفلاین در دسترس است.', -})); - -eventListener.subscribe('service_worker_updated', async () => { - setLocalStorageItem('notify_new_version', ''); - const response = await snackbarSignalTrigger.requestWithResponse({ - message: 'نسخه جدید این برنامه نصب و هم‌اکنون در دسترس است.', - actionLabel: 'به‌روزرسانی', - duration: -1, - }); - if (response.actionButton) { - await delay(500); - window.location.reload(); - } -}); - diff --git a/ui/pwa-helper/tsconfig.json b/ui/pwa-helper/tsconfig.json deleted file mode 100644 index ccff1682..00000000 --- a/ui/pwa-helper/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": ".", - "plugins": [ - { - "name": "ts-lit-plugin", - "strict": true - } - ] - }, - // files, include and exclude from the inheriting config are always overwritten. - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../../core/logger"}, - {"path": "../../core/i18n"}, - {"path": "../../core/type"}, - {"path": "../element"}, - {"path": "../ui-kit"}, - ] -} diff --git a/ui/ui-kit/CHANGELOG.md b/ui/ui-kit/CHANGELOG.md deleted file mode 100644 index b4735bfe..00000000 --- a/ui/ui-kit/CHANGELOG.md +++ /dev/null @@ -1,272 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.0.1](https://github.com/AliMD/alwatr/compare/v1.0.0...v1.0.1) (2023-06-21) - -**Note:** Version bump only for package @alwatr/ui-kit - -# [1.0.0](https://github.com/AliMD/alwatr/compare/v0.32.0...v1.0.0) (2023-06-14) - -### Bug Fixes - -- **keep:** color palette ([3cc5566](https://github.com/AliMD/alwatr/commit/3cc5566ffdd849fe930eb85b5be05bf0e75771af)) - -### Features - -- **ui/theme:** 20 palette ([41a86a2](https://github.com/AliMD/alwatr/commit/41a86a24a77aa92799b88b3fec19e28b02b3d917)) - -# [0.32.0](https://github.com/AliMD/alwatr/compare/v0.31.0...v0.32.0) (2023-05-27) - -**Note:** Version bump only for package @alwatr/ui-kit - -# [0.31.0](https://github.com/AliMD/alwatr/compare/v0.30.0...v0.31.0) (2023-05-08) - -### Bug Fixes - -- **button:** disabled issue ([7f9b457](https://github.com/AliMD/alwatr/commit/7f9b457dabec82636b7fb158206c70f2e150fefd)) -- compatible with new \_addSignalListener signal mixin ([e2be863](https://github.com/AliMD/alwatr/commit/e2be863acd9b99c4fc8f0a81c4efe2ac6db50c39)) -- **icon-button:** disable bug ([a92fee4](https://github.com/AliMD/alwatr/commit/a92fee48bfdf2cf92aa30e8b0fb506ac0fab5c64)) -- new logger api ([9d83a7d](https://github.com/AliMD/alwatr/commit/9d83a7dc5c103bc3bb4282dacfd85fa998915300)) -- **surface:** disabled color issue ([01a8140](https://github.com/AliMD/alwatr/commit/01a8140ef1f2f86920483e4ee4936dda5a155b9b)) -- **ui/icon-button:** default content value ([4303620](https://github.com/AliMD/alwatr/commit/4303620c26a34999db2ad7098c417e1c8f00414b)) -- **ui/snackbar:** check `actionLabelKey` ([9788f53](https://github.com/AliMD/alwatr/commit/9788f53a469db7cc677f30a5c62a68478018a832)) -- **ui/snackbar:** use label for action button content ([68beefa](https://github.com/AliMD/alwatr/commit/68beefa82532159225dbf5468255dff3adaba43a)) -- **ui/surface:** box sizing ([6ef9a45](https://github.com/AliMD/alwatr/commit/6ef9a45301a699875477f659447001ed5e4ab1c3)) -- **ui/text-field:** fix default of `value` & handle its `click` event ([a685899](https://github.com/AliMD/alwatr/commit/a685899f60f83ed26f43ec7a8f2ca16ec37c1078)) -- **ui/text-field:** set empty string for undefined value ([3efad6b](https://github.com/AliMD/alwatr/commit/3efad6b639ffad06bccb25d48de3fbe6fe2f7abb)) - -### Features - -- **ui-kit/snackbar:** message/actionLabelMessage l10n key ([e09f3e1](https://github.com/AliMD/alwatr/commit/e09f3e170998902e218e1d23a0d3b5ceabc55dc9)) -- **ui-kit/style:** add --sys-surface-reloading-opacity ([2ba6367](https://github.com/AliMD/alwatr/commit/2ba6367058290f8bfdf1eabe1d0cd3a634a7d9db)) -- **ui/button:** label on content ([df010a8](https://github.com/AliMD/alwatr/commit/df010a8ccb49759e5638eb5992898549ce3f55b0)) -- **ui/text-field:** readonly prop ([02a785e](https://github.com/AliMD/alwatr/commit/02a785ef8f842cdb86aea259e8019f01d7ba9e4e)) -- use button content ([a3f3872](https://github.com/AliMD/alwatr/commit/a3f3872c16e2bf5ad99c90cd03563007271fc530)) - -### Performance Improvements - -- **pwa:** optimize first load and rendering ([343d757](https://github.com/AliMD/alwatr/commit/343d757eefab6572df54fb4f7624698e9a9f9e11)) - -# [0.30.0](https://github.com/AliMD/alwatr/compare/v0.29.0...v0.30.0) (2023-03-06) - -### Bug Fixes - -- **text-field:** make it inline ([72320b7](https://github.com/AliMD/alwatr/commit/72320b74608902c1ee9525b5b93e3774732d7492)) -- **top-app-bar:** style shrink ([a398821](https://github.com/AliMD/alwatr/commit/a398821690ae6d81814b5920a3d4496ccef5fe32)) -- **ui-kit/button:** elevated ([2865804](https://github.com/AliMD/alwatr/commit/2865804b6c5970492ef490deba9f867ed5eddad5)) -- **ui-kit/chat:** footer icon button height ([8353fbc](https://github.com/AliMD/alwatr/commit/8353fbcec9cd2f982468ebf2bd949a76cb8f5e1d)) -- **ui-kit:** rename signalId to clickSignalId ([d8addc7](https://github.com/AliMD/alwatr/commit/d8addc7776e2f002f81207d6bcdc1c28d1568400)) -- **ui/icon-button:** remove bind \_click ([b678434](https://github.com/AliMD/alwatr/commit/b6784340e8dc669fe8b572c3d8c4fdb604f2f42a)) -- **ui/product-card:** toman icon ([8a6ddae](https://github.com/AliMD/alwatr/commit/8a6ddae2000639223d505fc67cf2d5f3738fa80e)) -- **ui/text-field:** width problem ([baf53a2](https://github.com/AliMD/alwatr/commit/baf53a279e311dba91bfbf029744993c8f8754e4)) -- **ui:** surface tinted attrib ([56310b0](https://github.com/AliMD/alwatr/commit/56310b04734d51841863cd03eb37e3b5c51957fc)) - -### Features - -- **button:** add icon ([476a14f](https://github.com/AliMD/alwatr/commit/476a14fea2cbab4bef5b0fd764fa83e82784c358)) -- **button:** add signalId for click event ([fdde714](https://github.com/AliMD/alwatr/commit/fdde714b40ca24526d60f7c590dcce3861e4a97d)) -- **button:** click signal with detail ([03c2dc1](https://github.com/AliMD/alwatr/commit/03c2dc1e64562815505b468c761ac245554470ed)) -- **button:** icon style ([11b736d](https://github.com/AliMD/alwatr/commit/11b736d8c518ff773e2dcb4ab34e8a20641960ff)) -- **com-pwa:** set default value on shipping form ([bbcdfcb](https://github.com/AliMD/alwatr/commit/bbcdfcbed84384711e1d6d81e0173106704d502d)) -- **icon-box:** headline ellipsis overflow ([935b49b](https://github.com/AliMD/alwatr/commit/935b49b50b947af3cc5b1e39123d6c05de05eabf)) -- **icon-box:** tinted ([436f989](https://github.com/AliMD/alwatr/commit/436f98960a6ea89be6153e9122ce94c20220332d)) -- **icon-button:** IconButtonContent.disabled ([a6c1ee9](https://github.com/AliMD/alwatr/commit/a6c1ee985d9e20bfd6f2586dade27f394fac35e0)) -- **product-card:** optional price ([a554ee5](https://github.com/AliMD/alwatr/commit/a554ee510af66e336b2a66173536b0bbb197f4d2)) -- **surface:** tinted ([129031a](https://github.com/AliMD/alwatr/commit/129031a2e4da66a3f6ecd303f787a98f60db77fe)) -- **text-field:** refactor with value prop and input-change event ([7bc0414](https://github.com/AliMD/alwatr/commit/7bc041438c032e224f0c84e849e38b2bf411bf0c)) -- **top-app-bar:** connect to context ([e690f08](https://github.com/AliMD/alwatr/commit/e690f088717ca9225e4e7d8bedfe160b61029715)) -- **top-app-bar:** tinted ([c943915](https://github.com/AliMD/alwatr/commit/c9439154adc40588361fdc140ba0dd8fde65bce0)) -- **ui-kit/card:** enhance toggle animation ([9950353](https://github.com/AliMD/alwatr/commit/99503532938349f3d1df93d87e2c0156b880670d)) -- **ui-kit/chat:** update ([3c51a71](https://github.com/AliMD/alwatr/commit/3c51a71682511affc3bdb20ce7fa21523e77011e)) -- **ui-kit/text-area:** new component ([e5a3ffb](https://github.com/AliMD/alwatr/commit/e5a3ffb342dfdf96b48bbea08b95dbd0c76f6a6a)) -- **ui-kit/text-field:** hide arrow on number input ([ce69ecf](https://github.com/AliMD/alwatr/commit/ce69ecfd4a30bbd06ce690d0c045613314d16fad)) -- **ui-kit:** enhance root unresolved styles ([ee0b581](https://github.com/AliMD/alwatr/commit/ee0b5816e202570acf836743bdea631694162c87)) -- **ui-kit:** move radio group from soffit-pwa ([0d5786f](https://github.com/AliMD/alwatr/commit/0d5786f4f7cfc950e988e8f35c9c9e80f53cac23)) -- **ui-kit:** selectable product card ([1a8d219](https://github.com/AliMD/alwatr/commit/1a8d219695677d8841f1fbbfb7b10a5a67ad3c24)) -- **ui/field:** refactor with new prop and change event ([e78821d](https://github.com/AliMD/alwatr/commit/e78821de09f27c470e15e502be19c79e04153a65)) -- **ui/product-card:** add id ([3d7cc2f](https://github.com/AliMD/alwatr/commit/3d7cc2f416b5630c15fc140d9a01295b776e42ae)) -- **ui/style:** color theme hct 85deg ([9be16f4](https://github.com/AliMD/alwatr/commit/9be16f43fc4e7037604afcd09edb8d6e7857c11d)) -- **ui/surface:** color animation ([ade9229](https://github.com/AliMD/alwatr/commit/ade9229b1bd34c5c87910db17bcf2f55f8dc0a47)) -- **ui/top-app-bar:** headlineKey and default values ([327c04e](https://github.com/AliMD/alwatr/commit/327c04e1bef597a058396b171055d981523c14f3)) - -### Performance Improvements - -- **ui-kit/style:** body render ([ef4ed24](https://github.com/AliMD/alwatr/commit/ef4ed24f165e92d335e96d98cf3b5252fb9173b6)) - -# [0.29.0](https://github.com/AliMD/alwatr/compare/v0.28.0...v0.29.0) (2023-02-10) - -### Bug Fixes - -- compatible with i18n ([89c4a90](https://github.com/AliMD/alwatr/commit/89c4a90444db12930b1d0211942c9b84185cbb32)) -- compatible with new element mixins ([d26e827](https://github.com/AliMD/alwatr/commit/d26e82731b2ae9c2483ba931c450c5a604633122)) -- compatible with new i18n api ([17a7c42](https://github.com/AliMD/alwatr/commit/17a7c42576f35888b16fee36209032c452183d1b)) -- demo-pwa and ui-kit surface element file name and imports ([9f9c382](https://github.com/AliMD/alwatr/commit/9f9c382cebd0d20d4b1bf9ae8490dfb960506ca1)) -- **icon-box:** IconBoxContent target type ([0e3afbc](https://github.com/AliMD/alwatr/commit/0e3afbcb639b45a2ff261a2be0222b2e8d3f079b)) -- **icon-button:** active margin state ([24d0b0f](https://github.com/AliMD/alwatr/commit/24d0b0ffd0303f92056bd84e8491e2cd7a4f2367)) -- **snackbar:** always keep permanent snackbar ([1932239](https://github.com/AliMD/alwatr/commit/193223966c33a778aba50bc20c5c3361a47cda04)) -- **snackbar:** padding ([6765f89](https://github.com/AliMD/alwatr/commit/6765f8900e798aea1f77e9e76be36e055411dd3e)) -- **snackbar:** position ([ad7cb96](https://github.com/AliMD/alwatr/commit/ad7cb9612e194f61464dc9bcab7667d1b8236c44)) -- **snackbar:** show snackbar bugs ([a26843e](https://github.com/AliMD/alwatr/commit/a26843ea2e88f5f8dcdbca8cd032da1b24bf939c)) -- **snackbar:** size and position ([5a2b46d](https://github.com/AliMD/alwatr/commit/5a2b46d1871c7bbdb9afd1ef70d9d1814b5a354b)) -- **snackbar:** z-index ([7212201](https://github.com/AliMD/alwatr/commit/7212201c195ade52838927a1f6de096bb6ce5f65)) -- **soffit-pwa:** build issue ([9294c58](https://github.com/AliMD/alwatr/commit/9294c58d970c7bd55cf93d4ed56d47c1510de358)) -- **soffit-pwa:** review ([8cdc94e](https://github.com/AliMD/alwatr/commit/8cdc94e015982a51e24381a7a3455212711b3c4a)) -- **style:** remove tap-highlight in webkit ([c44ce67](https://github.com/AliMD/alwatr/commit/c44ce6771724672e20675523ad71fa59f2a5d6b8)) -- **text-field:** elevation bug ([405a0e7](https://github.com/AliMD/alwatr/commit/405a0e7a822ada00bd58c53e7903164584ef05c2)) -- **toast:** use `signal` & complete its render(not completed) ([c5ff7af](https://github.com/AliMD/alwatr/commit/c5ff7af59246595a0db67cb6288eb8a534676d84)) -- **top-app-bar:** persian title alignment ([b19d7ed](https://github.com/AliMD/alwatr/commit/b19d7edacfd9fe3c0610d18fd5bea125c1fddba5)) -- **typescript:** rollback to 4.9.5 ([cc30f85](https://github.com/AliMD/alwatr/commit/cc30f8502bf95868ff41ba986120b2842acba36b)) -- **ui-kit/chat:** compatibility with new icon-button ([449effc](https://github.com/AliMD/alwatr/commit/449effc0f2e0a3a8c0f7217a49054a1f9e6a7ad8)) -- **ui-kit/icon-box:** false on undefined toggleAttribute ([d277458](https://github.com/AliMD/alwatr/commit/d27745890100d1c3236cc270dd1a7225ced94b7a)) -- **ui-kit/style:** vazirmatn css var name ([889882b](https://github.com/AliMD/alwatr/commit/889882bb97956978e0c321f96581dd33d145d9b9)) -- **ui-kit/top-app-bar:** import ([9fe764e](https://github.com/AliMD/alwatr/commit/9fe764ee47081542e5fa0cc9f8f106ee2a5555bb)) -- **ui-kit:** remove old toast ([0900d71](https://github.com/AliMD/alwatr/commit/0900d7105161ae44811c7cb7ffc194cbdd39dab9)) -- **ui/button:** line-height and white-space ([782d6e3](https://github.com/AliMD/alwatr/commit/782d6e32a431734de25c1323b4a8d0520e84f392)) -- **ui/style/mobile-only:** use --sys-breakpoint-handset ([19bd07d](https://github.com/AliMD/alwatr/commit/19bd07dfc1b0b88f31e984d67d2c2940d08a987b)) -- **ui/surface:** prevent ro overwrite all transition ([aff63c2](https://github.com/AliMD/alwatr/commit/aff63c255c7ae9b6f39f5021168394df3692b049)) - -### Features - -- **`alwatr-top-app-bar`:** new components ([c370160](https://github.com/AliMD/alwatr/commit/c370160f41f5252dec2d2954906ea55be51ac21a)) -- debug all renders ([73a0d34](https://github.com/AliMD/alwatr/commit/73a0d3483b7c42ab0a6247721073b81a01f7b258)) -- **fields:** name property ([37d9803](https://github.com/AliMD/alwatr/commit/37d9803a7c20033e0b8f99ea5590c7f1ebdf083f)) -- **icon-box:** ass slot, highlight, pre-line, enhance typescale, enhance template ([77f4b30](https://github.com/AliMD/alwatr/commit/77f4b3094cd902a352b7c29232dc416c17b5932b)) -- **icon-box:** height transition ([8fd7526](https://github.com/AliMD/alwatr/commit/8fd7526a7d31955ce9aada0d5954f82937bd3af2)) -- **icon-box:** more dynamic options ([c5ec98e](https://github.com/AliMD/alwatr/commit/c5ec98e857ad16c4c0119290c686c8872dca1b0f)) -- **icon-box:** pointer cursor on highlighted ([11f1787](https://github.com/AliMD/alwatr/commit/11f1787d5830b75e7dba5d50427a612a1d827594)) -- **icon-button:** new content prop with click signal event ([bb5dae6](https://github.com/AliMD/alwatr/commit/bb5dae6048fcacb4a4e70aab514e4900fd5a96ea)) -- **icon-button:** new standard icon button ([b8e9836](https://github.com/AliMD/alwatr/commit/b8e98365fe3e8f1f6db1a21480257049c0294f03)) -- **image-box:** selected style ([c092e2d](https://github.com/AliMD/alwatr/commit/c092e2d0f8428c0ddd9596346d073275298d14ab)) -- review ([53726b7](https://github.com/AliMD/alwatr/commit/53726b77274be429c87b2fd322fe2d939b048c77)) -- **snackbar:** command signal and controller ([6b81ed9](https://github.com/AliMD/alwatr/commit/6b81ed9f780b1fa7a34c03160259a2f36d272183)) -- **snackbar:** new ui-kit snackbar comp ([34857d9](https://github.com/AliMD/alwatr/commit/34857d93bafdcb3c902edf83d0c94e27a0210538)) -- **snackbar:** show-snackbar-command ([9916fdf](https://github.com/AliMD/alwatr/commit/9916fdff6701ab63914c483d59fa1ab5faecbfb5)) -- **soffit-pwa:** top app bar headline styles ([7f5f775](https://github.com/AliMD/alwatr/commit/7f5f7755ff98dd39913fc9d179c05085a0d5416f)) -- **soffit, snackbar:** enhance spacing ([4d421da](https://github.com/AliMD/alwatr/commit/4d421da25c691e2cd89a32d9ccf6c05fef787ba4)) -- **surface,icon-box:** disabled animation ([5723c6a](https://github.com/AliMD/alwatr/commit/5723c6aafec5bbb80f0a8613c31a081204c4754a)) -- **text-field:** sanitize number in values ([bb4a912](https://github.com/AliMD/alwatr/commit/bb4a9127b5566256a7ddae81d06801a4134290f4)) -- **toast:** action button ([4d46936](https://github.com/AliMD/alwatr/commit/4d4693600ca5b1decf8a57168a710e571e0008bd)) -- **toast:** add `toast` component ([9fa06d4](https://github.com/AliMD/alwatr/commit/9fa06d40e4ad5e91d46d8d8d77855d7bb7c384dc)) -- **toast:** close ([d9e5837](https://github.com/AliMD/alwatr/commit/d9e5837f3d61be92159e42797d0e083c6e8db7ca)) -- **toast:** improve ui ([7015c8a](https://github.com/AliMD/alwatr/commit/7015c8a49b9ef5d7c6a69532b48923d76422ff90)) -- **toast:** organaize styles ([0400c40](https://github.com/AliMD/alwatr/commit/0400c4076975882b292b160a3c32db64a1797b8e)) -- **top-app-bar:** new top app abr element ([753735f](https://github.com/AliMD/alwatr/commit/753735ff0c9cb0e17a4160a0293f1679a684b4c5)) -- **top-app-bar:** type center, small, medium, large ([4b6c696](https://github.com/AliMD/alwatr/commit/4b6c696cf4f69ae4c78004bf888ee6716767d68a)) -- **ui-kit/image-box:** checkmark on selected card ([397ef53](https://github.com/AliMD/alwatr/commit/397ef53d46e8ff535ae33c3b91aa3e8d3a294835)) -- **ui-kit/image-box:** new element ([1d73526](https://github.com/AliMD/alwatr/commit/1d73526f7d9ee9ad612a261686d3d49b83af5942)) -- **ui-kit/image-box:** selected style ([78d3976](https://github.com/AliMD/alwatr/commit/78d3976e012eaaccba9d85e1bb34520ffb5a6c19)) -- **ui-kit/image-box:** StringifyableRecord content type ([703bd90](https://github.com/AliMD/alwatr/commit/703bd90011ce61c12ba4f9075a8d4a9184dbb684)) -- **ui-kit/image-box:** update image box based on alwatr-con ([342fb5d](https://github.com/AliMD/alwatr/commit/342fb5d705c776e392077ea44d5796d1ae5d95b1)) -- **ui-kit/text-field:** value prop ([de06e45](https://github.com/AliMD/alwatr/commit/de06e45afd31b73c4f2e75011b82a9fba58a024b)) -- **ui-kit:** simple button element ([790236f](https://github.com/AliMD/alwatr/commit/790236f839e842a1ad2cd030a892797bacd68897)) -- **ui-kit:** text-field element ([f87862f](https://github.com/AliMD/alwatr/commit/f87862f9798baa6630dfdd7cc06ff6ddb9622d60)) -- **ui/style:** mobile only style ([2f6c339](https://github.com/AliMD/alwatr/commit/2f6c339926dd4f16bcdb7ad6bc569895683ab34d)) - -# [0.28.0](https://github.com/AliMD/alwatr/compare/v0.27.0...v0.28.0) (2023-01-20) - -### Bug Fixes - -- **card,focus-ring:** disable and active state ([50d3deb](https://github.com/AliMD/alwatr/commit/50d3deb2cf2020a4b6ec72c0c581fffb167a1b1a)) -- **card:** review styles ([481031c](https://github.com/AliMD/alwatr/commit/481031c93b0e49f7a541087da1fd283c5bfada36)) -- **chat:** --sys-radius vars ([b69b361](https://github.com/AliMD/alwatr/commit/b69b36162dd19446b75e9ac6c84e74581fce3d79)) -- **chat:** colors ([4cf93f6](https://github.com/AliMD/alwatr/commit/4cf93f6a5b2ee925e1b4a66f3535b4e6e7dfc1f0)) -- **icon-box:** optional description ([83ff766](https://github.com/AliMD/alwatr/commit/83ff76634d06775321ebd600de2ee630694d5ee0)) -- **icon-box:** style when desc is empty ([18fdde1](https://github.com/AliMD/alwatr/commit/18fdde1ce4e55869c491a90c603bb7059424bef5)) -- **icon-box:** target ([e108661](https://github.com/AliMD/alwatr/commit/e1086612704f8763daea1e1b0c58d21e580a4d66)) -- resolve conflict ([052314d](https://github.com/AliMD/alwatr/commit/052314d2adb3b9b0e44e54f9b8e6d60fc1827075)) -- **ui-kit/card:** filled `box-shadow` ([cf3a860](https://github.com/AliMD/alwatr/commit/cf3a86045d88bba39c6849b263e03af4bb5a247a)) -- **ui-kit/cards:** theming variables ([2ed156b](https://github.com/AliMD/alwatr/commit/2ed156b73540d2b6de42a79522729a84b44613cf)) -- **ui-kit/card:** styles ([738da92](https://github.com/AliMD/alwatr/commit/738da92a6ea6c99ab789a3af1f36beb15dbc2a04)) -- **ui-kit/focus-ring:** focus-within ([3d234bf](https://github.com/AliMD/alwatr/commit/3d234bf7055fd1e7db58877f7e8e9556e25f0e63)) -- **ui-kit/icon-box:** empty & linkable width ([e187b8a](https://github.com/AliMD/alwatr/commit/e187b8ac94dfe365145a0d1191654094d167c685)) -- **ui-kit/icon-box:** empty & linkable width ([533fccd](https://github.com/AliMD/alwatr/commit/533fccdbc867a44dd0f624d13287c16ccf825148)) -- **ui-kit/icon-button:** import path ([7770b9c](https://github.com/AliMD/alwatr/commit/7770b9c009d5362641d0da2d5cbf4f62a1b01f8c)) - -### Features - -- **cards:** update style variables ([ec2c0f2](https://github.com/AliMD/alwatr/commit/ec2c0f20e96ce6860ffc4a0c9c9ad5735c3913ab)) -- **chat-text-input:** use disabled surface for send btn ([80ae708](https://github.com/AliMD/alwatr/commit/80ae708702e5e44c9ba1978ba072f44028636066)) -- **chat-text:** filled icon color ([eb4e563](https://github.com/AliMD/alwatr/commit/eb4e5638e93ccb27e8307928a43ffbdb7483f5df)) -- **icon-box:** new style and layout ([2003e33](https://github.com/AliMD/alwatr/commit/2003e33e5095358e24fd4e07b3fc92a3b8a9d7d7)) -- **icon-box:** respect breaks in desc ([9c3aef8](https://github.com/AliMD/alwatr/commit/9c3aef811bea818bcbfd618d0c1b4f0c487f42bb)) -- **pwa:** unresolved state for show skeleton or loading ([8c4e834](https://github.com/AliMD/alwatr/commit/8c4e834b1415df14d6c76ef4d2040c60dc638b9e)) -- **standard-icon-button:** use new surface styles ([379c0f6](https://github.com/AliMD/alwatr/commit/379c0f6c1d11bd1c56f831ffc2477fac5d98e53f)) -- **type:** chat ([4b7ac95](https://github.com/AliMD/alwatr/commit/4b7ac95522dcb637ebab2eda0b8f3e0cd80d59b0)) -- **type:** define chat type ([e4a345a](https://github.com/AliMD/alwatr/commit/e4a345a7c932d88f0d13e2df1b3dd7d2ad745932)) -- **type:** define chat type ([174fb02](https://github.com/AliMD/alwatr/commit/174fb02fe287c6fee6e9783f91dfa1928dbaf2ce)) -- **type:** id in storage meta type ([146b9eb](https://github.com/AliMD/alwatr/commit/146b9eb4ebc748eda852988328b88abb75651945)) -- **ui-kit/card:** base card element ([4c88879](https://github.com/AliMD/alwatr/commit/4c888797e3cd28f4830760dc13c86a3047b55d89)) -- **ui-kit/card:** rewrite styles ([a50bc57](https://github.com/AliMD/alwatr/commit/a50bc57e76e9c7882ff04f37ddc61e1657ab5ca6)) -- **ui-kit/cards:** imporve styles & rename ([00c4b64](https://github.com/AliMD/alwatr/commit/00c4b643d70bf7c95d4e9dace5f19cf7710c8d0c)) -- **ui-kit/focus-ring:** new component ([12e19da](https://github.com/AliMD/alwatr/commit/12e19dab4b56c1b5fe30fe4c8d6f0df594822d37)) -- **ui-kit/icon-box:** inline if for target ([9ca6966](https://github.com/AliMD/alwatr/commit/9ca69663ddf924483a5ae41f1b2a0fbb062ebc1c)) -- **ui-kit/icon-box:** new component ([e13e319](https://github.com/AliMD/alwatr/commit/e13e3196f45d8f4566704e87f1c819bf3b418fd8)) -- **ui-kit/icon-box:** new component ([f381ab3](https://github.com/AliMD/alwatr/commit/f381ab343109e5a1c51df8842a77a83417c93f60)) -- **ui-kit/icon-button:** add css shadow part ([#667](https://github.com/AliMD/alwatr/issues/667)) ([c39b7a9](https://github.com/AliMD/alwatr/commit/c39b7a95874001724aa51e8f0786af41564a2c4b)) -- **ui-kit/icon-button:** use `focus-ring` ([9730f05](https://github.com/AliMD/alwatr/commit/9730f05df9a881ef14102006a67cc83848921f85)) -- **ui-kit/icon-button:** use focus ring ([cedd003](https://github.com/AliMD/alwatr/commit/cedd003eaaf3d331e7d5be6a11fe5e40e44703cd)) -- **ui-kit/style:** focus ring ([45232a9](https://github.com/AliMD/alwatr/commit/45232a9aa265ea97b4db42398468dc0ae1d5ebbe)) -- **ui-kit:** downloadable link on icon-box ([e249dba](https://github.com/AliMD/alwatr/commit/e249dba12c34665792ccd1c4215cb50e5e6a00e2)) -- **ui-kit:** elevated, filled, outlined card components ([1e9746e](https://github.com/AliMD/alwatr/commit/1e9746e7dcbfce6f7acfa828ad18418f1152ec24)) -- **ui:** add palette 260 and 270 ([a94ca31](https://github.com/AliMD/alwatr/commit/a94ca3105a4eaf38e467d57671e2b886e1f0bd66)) -- **ui:** new AlwatrSurfaceElement with elevation/tint/state simulation ([0877f4f](https://github.com/AliMD/alwatr/commit/0877f4f3dd780321f3c7498cffde66653a24de43)) - -# [0.27.0](https://github.com/AliMD/alwatr/compare/v0.26.0...v0.27.0) (2022-12-29) - -### Bug Fixes - -- **chat-avatar:** grow ([d935030](https://github.com/AliMD/alwatr/commit/d9350303d9345729ab83f410182afeb1b7823294)) -- **chat-avatar:** size with new root fs ([63c8f36](https://github.com/AliMD/alwatr/commit/63c8f3617856a2ee65ccf7b398d5635349afb019)) -- **chat-footer:** footer padding, demo \_changeLocale ([6454599](https://github.com/AliMD/alwatr/commit/6454599272bc0c1b01c223274f48b8de99655130)) -- **standard-icon-button:** style ([0cfe9ee](https://github.com/AliMD/alwatr/commit/0cfe9ee6ea3e782b95d8953686a25fdc6c7d2847)) -- **ui-kit/chat-footer:** styles ([38e3bbc](https://github.com/AliMD/alwatr/commit/38e3bbc5d35242466cd4e33bf4bcacd5c6a87368)) -- **ui-kit/chat-text-input:** direction mixin ([8f00eac](https://github.com/AliMD/alwatr/commit/8f00eac04fe64fe5aa933a37fddce93c24c1bc58)) -- **ui-kit/icon-button:** flip-rtl attr ([9607493](https://github.com/AliMD/alwatr/commit/9607493754ad454c27f26d0eba883ca4488fca67)) -- **ui-kit:** font sizes ([2569644](https://github.com/AliMD/alwatr/commit/25696442da35ba570682c31157489d5802153fbf)) -- **ui:** root sizes ([2bdf2d5](https://github.com/AliMD/alwatr/commit/2bdf2d5712905d75491f61a5d94322395987b6ab)) - -### Features - -- **chat-\*:** scrollbar and gaps ([c91e2d6](https://github.com/AliMD/alwatr/commit/c91e2d6ec5a4dcc80b2ae71f800dae46cdd8c1f8)) -- **chat-avatar:** new style ([ea11421](https://github.com/AliMD/alwatr/commit/ea114213ad811206897c57f885b2973182a62f94)) -- **chat-bubble:** rewrite with new styles ([f4c5f01](https://github.com/AliMD/alwatr/commit/f4c5f0154935a1df77493f309ac9ce9b072ce5a2)) -- **chat-bubble:** side attrib ([5c36f8d](https://github.com/AliMD/alwatr/commit/5c36f8d5093659b7d6b6a251822294530f235fd0)) -- **chat-list:** new element for list of chats ([3ddae05](https://github.com/AliMD/alwatr/commit/3ddae05cd0bcebb855327f0f449d3ee7c7e576cd)) -- **chat-list:** scrollbar style ([a02074d](https://github.com/AliMD/alwatr/commit/a02074d894d3d812bfe8fb63be37f0edde931c00)) -- **chat-list:** self property and gap and spaces ([9d9edca](https://github.com/AliMD/alwatr/commit/9d9edca5a9a1c4ae1cf9f085ca3da92dfad7acae)) -- **chat-message:** ChatTextMessage type ([227dda3](https://github.com/AliMD/alwatr/commit/227dda3611049f787bfaee2f4443420b005475e2)) -- **chat-message:** gap and spaces ([0b1043a](https://github.com/AliMD/alwatr/commit/0b1043a9a9ba2c67b664ca2edc7ad8610b05c210)) -- **chat-message:** new chat element ([12f9b72](https://github.com/AliMD/alwatr/commit/12f9b724ec35a55d5e7a1d8495dd11ba0f6a77a4)) -- **chat-text-input:** inputElement ([4abfdd6](https://github.com/AliMD/alwatr/commit/4abfdd6c4e73e5db588e6f099fc9d5e1b8cd06db)) -- **chat-text-input:** style ([8c302cc](https://github.com/AliMD/alwatr/commit/8c302ccd7045a91f596a6ddae601ae87a26a8fc5)) -- **chat:** use new color system ([045b188](https://github.com/AliMD/alwatr/commit/045b18891ca8b9ba0a556be6c621747cb8d0a639)) -- **chat:** use new spacing system ([4e0d44e](https://github.com/AliMD/alwatr/commit/4e0d44e419973e28d5584e609f8efbc68f07fcd2)) -- **chat:** use system shape var ([dcff276](https://github.com/AliMD/alwatr/commit/dcff276ec28e345306f1a278a69bd64c05c5e130)) -- **icon-button:** enhance styles and motion ([4b4a301](https://github.com/AliMD/alwatr/commit/4b4a301f53a059cc5faa4a75b22fc079f750bc38)) -- new ui design system ([8c9c8ba](https://github.com/AliMD/alwatr/commit/8c9c8ba29c477838f3e7034b902f4e0dafabd17c)) -- **page-chat:** new demo ([451d63f](https://github.com/AliMD/alwatr/commit/451d63fc0b904bb780c898c2909b1d7a116b353f)) -- **ui-kit/chat-footer:** build base ([30cf89a](https://github.com/AliMD/alwatr/commit/30cf89aac3a68e0fc028eb7a8a227efce85ba892)) -- **ui-kit/chat-footer:** component ([7041047](https://github.com/AliMD/alwatr/commit/70410476ff7846b14873dfdf6299d528e1de2f61)) -- **ui-kit/chat-footer:** new component ([5151d1c](https://github.com/AliMD/alwatr/commit/5151d1c50c1fd63e1bee479220a4363a9ab800e3)) -- **ui-kit/chat-text-input:** flex grow ([b8837ff](https://github.com/AliMD/alwatr/commit/b8837ff9772959a585e4862f48b9b5da390da561)) -- **ui-kit/chat-text-input:** improve ([28f08a9](https://github.com/AliMD/alwatr/commit/28f08a91ff49ac4567c86fea7d3bd4458d69cc4a)) -- **ui-kit/chat-text-input:** translations ([3d03d3d](https://github.com/AliMD/alwatr/commit/3d03d3d56d9fef34b35c76568fb9d7ec7069f1ee)) -- **ui-kit/chat-text-input:** typography ([e67113e](https://github.com/AliMD/alwatr/commit/e67113ec2e3c8e32a5e700162755995d852aec66)) -- **ui-kit/icon-button:** component ([7db86bf](https://github.com/AliMD/alwatr/commit/7db86bfa678d64237951a8c8002c38dd51d3d082)) -- **ui-kit/icon-button:** icon flip-rtl ([f6427b6](https://github.com/AliMD/alwatr/commit/f6427b62315389cea308f2a522e358af8b9838cd)) -- **ui-kit:** elevation sample ([ccd9e8a](https://github.com/AliMD/alwatr/commit/ccd9e8a9c7cc94a830a03bf11ddbf46891300f68)) -- **ui/chat:** new alwatr-chat element ([f711e12](https://github.com/AliMD/alwatr/commit/f711e12317a263d6e1d4bfc52dae54348cf64923)) -- **ui/ui-kit:** chat text input component ([586aefd](https://github.com/AliMD/alwatr/commit/586aefd7fcbfd520f36f035415dbb76d5ffa324f)) - -# [0.26.0](https://github.com/AliMD/alwatr/compare/v0.25.0...v0.26.0) (2022-12-22) - -### Bug Fixes - -- **ui/\*:** package path in refrences ([841d86d](https://github.com/AliMD/alwatr/commit/841d86dc2555fdc86a950b490ea2eb9fffe4df2d)) - -### Features - -- **ui-kit:** index file ([5888dde](https://github.com/AliMD/alwatr/commit/5888ddedc38da7a8b6ae07e3826c9bc52c91680f)) -- **ui-kit:** new package ([418b3a6](https://github.com/AliMD/alwatr/commit/418b3a66157658be3b88635947d5121cdc9a757f)) diff --git a/ui/ui-kit/README.md b/ui/ui-kit/README.md deleted file mode 100644 index 70ac0251..00000000 --- a/ui/ui-kit/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Alwatr UI-Kit - `@alwatr/ui-kit` - -Alwatr UI Elements Kit. - -<!-- @TODO: ## Example usage --> diff --git a/ui/ui-kit/icon/icon.scss b/ui/ui-kit/icon/icon.scss deleted file mode 100644 index 3fe354c6..00000000 --- a/ui/ui-kit/icon/icon.scss +++ /dev/null @@ -1,21 +0,0 @@ -.alwatr-icon { - display: inline-block; - width: 1em; - height: 1em; - contain: size layout paint style; - box-sizing: content-box; - vertical-align: middle; - - & svg { - display: block; - height: 100%; - width: 100%; - stroke: currentcolor; - fill: currentcolor; - } -} - -[dir='rtl'] .alwatr-icon.flip-icon-in-rtl svg, -[dir='rtl'] .flip-icon-in-rtl .alwatr-icon svg { - transform: scaleX(-1); -} diff --git a/ui/ui-kit/navigation-bar2/navigation-bar.scss b/ui/ui-kit/navigation-bar2/navigation-bar.scss deleted file mode 100644 index 54659ddd..00000000 --- a/ui/ui-kit/navigation-bar2/navigation-bar.scss +++ /dev/null @@ -1,23 +0,0 @@ -.navigation-bar { - display: flex; - justify-content: space-between; - align-items: center; - gap: calc(var(--sys-spacing-track) / 2); - padding: calc(1.5 * var(--sys-spacing-track)) 0 calc(2 * var(--sys-spacing-track)) 0; - color: var(--sys-color-on-surface-variant); - user-select: none; - - & a { - display: block; - height: 100%; - flex-grow: 1; - text-align: center; - text-decoration: none; - color: inherit; - } - - .alwatr-icon { - padding: calc(var(--sys-spacing-track) / 2) calc(2.5 * var(--sys-spacing-track)); - font-size: calc(3 * var(--sys-spacing-track)); - } -} diff --git a/ui/ui-kit/package.json b/ui/ui-kit/package.json deleted file mode 100644 index 31e97b52..00000000 --- a/ui/ui-kit/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@alwatr/ui-kit", - "version": "1.0.0", - "description": "Alwatr UI Elements Kit", - "keywords": [ - "element", - "ui-kit", - "ui", - "lit", - "lit-element", - "web-component", - "typescript", - "esm", - "alwatr" - ], - "type": "module", - "author": "S. Ali Mihandoost <ali.mihandoost@gmail.com> (https://ali.mihandoost.com)", - "license": "MIT", - "files": [ - "**/**/*.{d.ts.map,d.ts,js.map,js,md,css}" - ], - "private": true, - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/AliMD/alwatr", - "directory": "ui/ui-kit" - }, - "homepage": "https://github.com/AliMD/alwatr/tree/main/ui/ui-kit#readme", - "bugs": { - "url": "https://github.com/AliMD/alwatr/issues" - }, - "dependencies": { - "@alwatr/element": "^1.0.0", - "@alwatr/fetch": "^1.0.0", - "@alwatr/i18n": "^1.0.0", - "@alwatr/i18n2": "^1.0.0", - "@alwatr/icon": "^1.0.0", - "@alwatr/signal": "^1.0.0", - "@alwatr/signal2": "^1.0.0", - "@alwatr/util": "^1.0.0", - "@alwatr/router2": "^1.0.0", - "tslib": "^2.6.2" - } -} diff --git a/ui/ui-kit/src/button/button.ts b/ui/ui-kit/src/button/button.ts deleted file mode 100644 index 99fe36c4..00000000 --- a/ui/ui-kit/src/button/button.ts +++ /dev/null @@ -1,138 +0,0 @@ -import {PropertyValues, css, customElement, html, nothing, property} from '@alwatr/element'; -import {message} from '@alwatr/i18n'; -import '@alwatr/icon'; -import {eventTrigger} from '@alwatr/signal'; - -import {AlwatrSurface} from '../card/surface.js'; - -import type {ClickSignalType, Stringifyable, StringifyableRecord} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-button': AlwatrButton; - } -} - -export interface ButtonContent extends StringifyableRecord { - /** - * Label. - */ - label?: string - - /** - * Label i18n key. - */ - labelKey?: string; - - /** - * Icon name. - */ - icon?: string; - - /** - * Flip icon on rtl - */ - flipRtl?: true; - - /** - * Unique name for identify click event over signal. - */ - clickSignalId?: string; - - /** - * Dispatched signal with ClickSignalType and this detail. - */ - clickDetail?: Stringifyable; - - disabled?: boolean; -} - -/** - * Alwatr outlined text field. - * - * @attr click-signal-id - */ -@customElement('alwatr-button') -export class AlwatrButton extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - --_surface-color-on: var(--sys-color-primary-hsl); - background-color: transparent; - display: inline-flex; - align-items: center; - gap: var(--sys-spacing-track); - min-width: calc(6 * var(--sys-spacing-track)); - text-align: center; - vertical-align: middle; - padding: 0 calc(1.5 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-label-large-font-family-name); - font-weight: var(--sys-typescale-label-large-font-weight); - font-size: var(--sys-typescale-label-large-font-size); - letter-spacing: var(--sys-typescale-label-large-letter-spacing); - line-height: var(--sys-typescale-label-large-line-height); - line-height: calc(5 * var(--sys-spacing-track)); - border-radius: var(--sys-radius-xlarge); - white-space: nowrap; - user-select: none; - cursor: pointer; - } - - alwatr-icon { - font-size: calc(2.5 * var(--sys-spacing-track)); - } - `, - ]; - - @property({type: Object}) - content?: ButtonContent; - - protected override firstUpdated(_changedProperties: PropertyValues<this>): void { - super.firstUpdated(_changedProperties); - this.setAttribute('stated', ''); - } - - override connectedCallback(): void { - super.connectedCallback(); - this.addEventListener('click', this._click); - } - - override disconnectedCallback(): void { - super.disconnectedCallback(); - this.removeEventListener('click', this._click); - } - - protected override update(changedProperties: PropertyValues<this>): void { - super.update(changedProperties); - - if (this.content?.disabled != null && this.hasAttribute('disabled') !== this.content.disabled) { - this.toggleAttribute('disabled', this.content.disabled); - } - } - - override render(): unknown { - this._logger.logMethod?.('render'); - const content = this.content || {}; - - return [ - content.icon - ? html`<alwatr-icon .name=${content.icon} ?flip-rtl=${content.flipRtl}></alwatr-icon>` - : nothing, - html`<slot>${content.label ?? message(content.labelKey)}</slot>`, - ]; - } - - protected _click(event: MouseEvent): void { - if (this.content?.clickSignalId == null) return; - this._logger.logMethodArgs?.('click', {clickSignalId: this.content.clickSignalId}); - eventTrigger.dispatch<ClickSignalType>(this.content.clickSignalId, { - x: event.clientX, - y: event.clientY, - altKey: event.altKey, - ctrlKey: event.ctrlKey, - metaKey: event.metaKey, - detail: this.content.clickDetail, - }); - } -} diff --git a/ui/ui-kit/src/button/icon-button.ts b/ui/ui-kit/src/button/icon-button.ts deleted file mode 100644 index 174a80eb..00000000 --- a/ui/ui-kit/src/button/icon-button.ts +++ /dev/null @@ -1,136 +0,0 @@ -import {css, customElement, html, property, type PropertyValues} from '@alwatr/element'; -import '@alwatr/icon'; -import {eventTrigger} from '@alwatr/signal'; - -import {AlwatrSurface} from '../card/surface.js'; - -import type {StringifyableRecord, ClickSignalType, Stringifyable} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-icon-button': AlwatrStandardIconButton; - } -} - -export interface IconButtonContent extends StringifyableRecord { - /** - * Icon name. - */ - icon: string; - - /** - * Flip icon on rtl - */ - flipRtl?: true; - - /** - * Unique name for identify click event over signal. - */ - clickSignalId?: string; - - /** - * Dispatched signal with ClickSignalType and this detail. - */ - clickDetail?: Stringifyable; - - disabled?: boolean; -} - -/** - * Alwatr standard icon button element. - * - * @attr {Boolean} flip-rtl - * - * @cssprop {String} [--comp-icon-button-color-hsl=var(--sys-color-on-surface-variant-hsl)] - */ -@customElement('alwatr-icon-button') -export class AlwatrStandardIconButton extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - --_surface-color-on: var(--comp-icon-button-color-hsl, var(--sys-color-on-surface-variant-hsl)); - --_surface-state-color: var(--comp-icon-button-color-hsl, var(--sys-color-on-surface-variant-hsl)); - - display: inline-block; - padding: calc(0.5 * var(--sys-spacing-track)); - font-size: calc(3 * var(--sys-spacing-track)); /* icon size */ - background-image: none; - background-color: hsla(var(--_surface-state-color), var(--_surface-state-opacity)); - background-clip: content-box; - border-radius: 50%; - box-shadow: none; - - user-select: none; - cursor: pointer; - align-self: center; - vertical-align: middle; - flex-grow: 0; - flex-shrink: 0; - } - - alwatr-icon { - display: block; - padding: var(--sys-spacing-track); - } - `, - ]; - - @property({type: Object}) - content?: IconButtonContent; - - protected override firstUpdated(_changedProperties: PropertyValues<this>): void { - super.firstUpdated(_changedProperties); - this.setAttribute('stated', ''); - } - - override connectedCallback(): void { - super.connectedCallback(); - this.addEventListener('click', this._click); - } - - override disconnectedCallback(): void { - super.disconnectedCallback(); - this.removeEventListener('click', this._click); - } - - protected override update(changedProperties: PropertyValues<this>): void { - super.update(changedProperties); - - const disabled = Boolean(this.content?.disabled); - if (this.hasAttribute('disabled') !== disabled) { - this.toggleAttribute('disabled', disabled); - } - } - - override render(): unknown { - this._logger.logMethod?.('render'); - const content = this.content || {icon: ''}; - - return html`<alwatr-icon .name=${content.icon} ?flip-rtl=${content.flipRtl}></alwatr-icon>`; - } - - protected _click(event: MouseEvent): void { - const clickSignalId = this.content?.clickSignalId; - this._logger.logMethodArgs?.('click', {clickSignalId: clickSignalId}); - if (clickSignalId) { - eventTrigger.dispatch<ClickSignalType>(clickSignalId, { - x: event.clientX, - y: event.clientY, - altKey: event.altKey, - ctrlKey: event.ctrlKey, - metaKey: event.metaKey, - detail: this.content?.clickDetail, - }); - } - } -} - -/* - TODO: - 1. Filled icon button - 2. Filled tonal icon button - 3. Outlined icon button - 4. toggle/selected mode - https://m3.material.io/components/icon-buttons/specs -*/ diff --git a/ui/ui-kit/src/card/icon-box.ts b/ui/ui-kit/src/card/icon-box.ts deleted file mode 100644 index 2122f1cc..00000000 --- a/ui/ui-kit/src/card/icon-box.ts +++ /dev/null @@ -1,151 +0,0 @@ -import {css, customElement, html, property, nothing, ifDefined, when, PropertyValues} from '@alwatr/element'; -import '@alwatr/icon'; - -import {AlwatrSurface} from './surface.js'; - -import type {StringifyableRecord} from '@alwatr/type'; - - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-icon-box': AlwatrIconBox; - } -} - -export interface IconBoxContent extends StringifyableRecord { - icon?: string; - headline: string; - description?: string; - href?: string; - flipRtl?: boolean; - target?: 'download' | '_blank'; - highlight?: boolean; - stated?: boolean; - preLine?: boolean; - elevated?: number; - tinted?: number; -} - -/** - * Alwatr icon box element. - */ -@customElement('alwatr-icon-box') -export class AlwatrIconBox extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - display: block; - padding: 0; - transition-property: color, background-color, opacity, height; - transition-duration: var(--sys-motion-duration-small), var(--sys-motion-duration-small), - var(--sys-motion-duration-small), var(--sys-motion-duration-large); - transition-timing-function: var(--sys-motion-easing-normal); - font-family: var(--sys-typescale-body-small-font-family-name); - font-weight: var(--sys-typescale-body-small-font-weight); - font-size: var(--sys-typescale-body-small-font-size); - letter-spacing: var(--sys-typescale-body-small-letter-spacing); - line-height: var(--sys-typescale-body-small-line-height); - user-select: none; - -webkit-user-select: none; - } - - :host([highlight]) { - cursor: pointer; - } - - :host([highlight]:hover) { - --_surface-color-on: var(--sys-color-on-primary-hsl); - --_surface-color-bg: var(--sys-color-primary-hsl); - } - - .container { - display: block; - padding: calc(2 * var(--sys-spacing-track)); - border-radius: inherit; - color: inherit; - text-decoration: inherit; - } - - .headline { - margin: 0; - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - - .headline alwatr-icon { - display: block; - margin-bottom: var(--sys-spacing-track); - font-size: 1.5em; - color: var(--sys-color-primary); - transition: color var(--sys-motion-duration-small) var(--sys-motion-easing-normal); - } - :host([highlight]:hover) .headline alwatr-icon { - color: var(--sys-color-on-primary); - } - - .description { - margin-top: calc(2 * var(--sys-spacing-track)); - } - :host([pre-line]) .description { - white-space: pre-line; - } - `, - ]; - - @property({type: Object, attribute: false}) - content?: IconBoxContent; - - protected override update(changedProperties: PropertyValues<this>): void { - super.update(changedProperties); - if (changedProperties.has('content') && this.content != null) { - this.toggleAttribute('highlight', Boolean(this.content.highlight)); - this.toggleAttribute('stated', Boolean(this.content.stated)); - this.toggleAttribute('pre-line', Boolean(this.content.preLine)); - if (this.content.elevated != null && this.content.elevated > 0) { - this.setAttribute('elevated', this.content.elevated + ''); - } - else { - this.removeAttribute('elevated'); - } - if (this.content.tinted != null && this.content.tinted > 0) { - this.setAttribute('tinted', this.content.tinted + ''); - } - else { - this.removeAttribute('tinted'); - } - } - } - - override render(): unknown { - this._logger.logMethod?.('render'); - const content = this.content; - if (content == null) return nothing; - const target = content.target !== 'download' ? content.target : undefined; - - const template = html`<h3 class="headline"> - ${when(content.icon, () => html` - <alwatr-icon .name=${content.icon} ?flip-rtl=${content.flipRtl}></alwatr-icon> - `)} - <span>${content.headline}</span> - </h3> - <div class="description"><slot>${content.description}</slot></div>`; - - return when(content.href == null, - () => html`<div class="container">${template}</div>`, - () => html`<a - class="container" - href=${ifDefined(content.href)} - target=${ifDefined(target)} - ?download=${content.target === 'download'} - >${template}</a>`, - ); - } -} diff --git a/ui/ui-kit/src/card/image-box.ts b/ui/ui-kit/src/card/image-box.ts deleted file mode 100644 index 710e7b61..00000000 --- a/ui/ui-kit/src/card/image-box.ts +++ /dev/null @@ -1,173 +0,0 @@ -import {css, customElement, html, property, nothing, ifDefined, type PropertyValues} from '@alwatr/element'; -import '@alwatr/icon'; - -import {AlwatrSurface} from './surface.js'; - -import type {StringifyableRecord} from '@alwatr/type'; - - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-image-box': AlwatrImageBox; - } -} - -export interface ImageBoxContent extends StringifyableRecord { - image: string; - headline: string; - description?: string; - href?: string; - target?: 'download' | '_blank'; - highlight?: boolean; - stated?: boolean; - preLine?: boolean; - elevated?: number; -} - -/** - * Alwatr image box element. - */ -@customElement('alwatr-image-box') -export class AlwatrImageBox extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - position: relative; - display: block; - padding: 0; - transition-property: color, background-color, opacity, height; - transition-duration: var(--sys-motion-duration-small), var(--sys-motion-duration-small), - var(--sys-motion-duration-small), var(--sys-motion-duration-medium); - transition-timing-function: var(--sys-motion-easing-normal); - font-family: var(--sys-typescale-body-small-font-family-name); - font-weight: var(--sys-typescale-body-small-font-weight); - font-size: var(--sys-typescale-body-small-font-size); - letter-spacing: var(--sys-typescale-body-small-letter-spacing); - line-height: var(--sys-typescale-body-small-line-height); - user-select: none; - -webkit-user-select: none; - cursor: pointer; - } - - :host([selected]) { - --_surface-color-on: var(--sys-color-on-primary-hsl); - --_surface-color-bg: var(--sys-color-primary-hsl); - } - - .container { - display: block; - border-radius: inherit; - color: inherit; - } - - .content-container { - padding: calc(2 * var(--sys-spacing-track)); - } - - .image { - width: 100%; - height: auto; - border-radius: inherit; - } - - .headline { - margin: 0; - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - } - - .checkmark-icon { - display: none; - color: var(--sys-color-primary); - position: absolute; - font-size: var(--sys-typescale-headline-small-font-size); - padding: var(--sys-spacing-track); - filter: drop-shadow(var(--sys-surface-elevation-1)); - } - - :host([selected]) .checkmark-icon { - display: inline; - } - - .description { - margin-top: calc(2 * var(--sys-spacing-track)); - } - :host([pre-line]) .description { - white-space: pre-line; - } - `, - ]; - - @property({type: Object}) - content?: ImageBoxContent; - - @property({type: Boolean}) - selected = false; - - protected override update(changedProperties: PropertyValues<this>): void { - super.update(changedProperties); - if (changedProperties.has('content') && this.content != null) { - this.toggleAttribute('highlight', Boolean(this.content.highlight)); - this.toggleAttribute('stated', Boolean(this.content.stated)); - this.toggleAttribute('pre-line', Boolean(this.content.preLine)); - if (this.content.elevated != null && this.content.elevated > 0) { - this.setAttribute('elevated', this.content.elevated + ''); - } - else { - this.removeAttribute('elevated'); - } - } - } - - override connectedCallback(): void { - super.connectedCallback(); - this.addEventListener('click', this._toggleSelect); - } - - override disconnectedCallback(): void { - super.disconnectedCallback(); - this.removeEventListener('click', this._toggleSelect); - } - - protected _toggleSelect(): void { - this.selected = !this.selected; - - if (this.selected) { - this.setAttribute('selected', ''); - navigator.vibrate(30); - } - else { - this.removeAttribute('selected'); - navigator.vibrate(10); - } - } - - override render(): unknown { - this._logger.logMethod?.('render'); - const content = this.content; - if (content == null) return nothing; - const target = content.target !== 'download' ? content.target : undefined; - - const template = html` - <alwatr-icon class="checkmark-icon" .name=${'checkmark-circle-sharp'}></alwatr-icon> - <img class="image" src=${content.image} /> - <div class="content-container"> - <h3 class="headline">${content.headline}</h3> - <div class="description"><slot>${content.description}</slot></div> - </div> - `; - - return content.href == null - ? html`<div class="container">${template}</div>` - : html`<a - class="container" - href=${ifDefined(content.href)} - target=${ifDefined(target)} - ?download=${content.target === 'download'} - >${template}</a>`; - } -} diff --git a/ui/ui-kit/src/card/product-card.ts b/ui/ui-kit/src/card/product-card.ts deleted file mode 100644 index b4363c53..00000000 --- a/ui/ui-kit/src/card/product-card.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { - css, - customElement, - SignalMixin, - LocalizeMixin, - ToggleMixin, - nothing, - html, - property, - type PropertyValues, -} from '@alwatr/element'; -import {number} from '@alwatr/i18n'; -import '@alwatr/icon'; - -import {AlwatrSurface} from './surface.js'; -import '../button/icon-button.js'; - -import type {StringifyableRecord} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-product-card': AlwatrProductCard; - } -} - -export interface ProductCartContent extends StringifyableRecord { - id?: string; - title: string; - imagePath: string; - price?: number; - finalPrice?: number; -} - -/** - * Alwatr elevated card element. - */ -@customElement('alwatr-product-card') -export class AlwatrProductCard extends ToggleMixin(LocalizeMixin(SignalMixin(AlwatrSurface))) { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - display: block; - padding: 0; - cursor: pointer; - user-select: none; - -webkit-user-select: none; - --_surface-color-on: var(--sys-color-on-surface-hsl); - --_surface-color-bg: var(--sys-color-surface-hsl); - outline: 2px solid transparent; - } - - :host([selected]) { - --_surface-color-on: var(--sys-color-inverse-on-surface-hsl); - --_surface-color-bg: var(--sys-color-inverse-surface-hsl); - border-radius: var(--sys-radius-xlarge); - outline: 2px solid var(--sys-color-inverse-surface); - } - - img { - display: block; - box-sizing: border-box; - width: 100%; - min-height: 50px; - height: auto; - border-radius: 0 0 var(--sys-radius-medium) var(--sys-radius-medium); - filter: brightness(1); - transition: filter var(--sys-motion-duration-small) var(--sys-motion-easing-normal); - } - - :host([selected]) img { - filter: brightness(0.8); - } - - @media (prefers-color-scheme: dark) { - img { - filter: brightness(0.8); - } - :host([selected]) img { - filter: brightness(1); - } - } - - .content{ - padding: calc(2 * var(--sys-spacing-track)); - - } - .title { - margin: 0; - /* text-align: center; */ - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - margin-bottom: var(--sys-spacing-track); - } - - .price { - text-align: end; - color: var(--sys-color-on-surface-variant); - font-family: var(--sys-typescale-body-small-font-family-name); - font-weight: var(--sys-typescale-body-small-font-weight); - font-size: var(--sys-typescale-body-small-font-size); - letter-spacing: var(--sys-typescale-body-small-letter-spacing); - line-height: var(--sys-typescale-body-small-line-height); - } - :host([selected]) .price { - color: inherit; - } - - .price ins { - color: var(--sys-color-primary); - text-decoration: none; - font-weight: var(--ref-font-weight-medium); - vertical-align: middle; - } - - .price del { - display: block; - text-align: end; - padding-left: 1em; - } - - :host([selected]) .price ins { - color: var(--sys-color-inverse-primary); - } - - svg { - display: inline-block; - width: 1em; - height: 1em; - contain: strict; - vertical-align: middle; - } - `, - ]; - - @property({type: Object, attribute: false}) - content?: ProductCartContent; - - override connectedCallback(): void { - super.connectedCallback(); - this.setAttribute('stated', ''); - this.setAttribute('elevated', ''); - } - - protected override shouldUpdate(changedProperties: PropertyValues<this>): boolean { - return super.shouldUpdate(changedProperties) && this.content != null; - } - - override render(): unknown { - this._logger.logMethod?.('render'); - if (this.content == null) return nothing; - - // const icon = this.selected ? 'radio-button-on-outline' : 'radio-button-off-outline'; - - return html` - <img src=${this.content.imagePath} alt=${this.content.title} /> - <div class="content"> - <h2 class="title">${this.content.title}</h2> - <div class="price"> - <del>${number(this.content.price)}</del> - <ins>${number(this.content.finalPrice)}</ins> - <alwatr-icon .name=${'toman'}></alwatr-icon> - </div> - </div> - `; - } -} diff --git a/ui/ui-kit/src/card/surface.ts b/ui/ui-kit/src/card/surface.ts deleted file mode 100644 index 272801fd..00000000 --- a/ui/ui-kit/src/card/surface.ts +++ /dev/null @@ -1,173 +0,0 @@ -import {AlwatrBaseElement, customElement, html, css, type CSSResultGroup} from '@alwatr/element'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-surface': AlwatrSurface; - } -} - -/** - * Alwatr Surface Element - * - * @extends AlwatrBaseElement - * - * @attr {Boolean} stated - * @attr {Number|Boolean} elevated - * @attr {Number|Boolean} tinted - * @attr {Boolean} filled - * @attr {Boolean} outlined - * @attr {Boolean} active-outline - outline on active and focus - * @attr {Boolean} disabled - * - * @cssprop {String} [--_surface-color-on=var(--sys-color-on-surface-hsl)] - * @cssprop {String} [--_surface-color-bg=var(--sys-color-surface-hsl)] - * @cssprop {String} [--_surface-elevation=var(--sys-surface-elevation-0)] - * @cssprop {String} [--_surface-tint-color=var(--sys-color-surface-tint-hsl)] - * @cssprop {String} [--_surface-state-color=var(--_surface-color-on)] - * @cssprop {Number} [--_surface-tint-opacity=0] - * @cssprop {Number} [--_surface-state-opacity=0] - */ -@customElement('alwatr-surface') -export class AlwatrSurface extends AlwatrBaseElement { - static override styles: CSSResultGroup = css` - :host { - --_surface-color-on: var(--sys-color-on-surface-hsl); - --_surface-color-bg: var(--sys-color-surface-hsl); - --_surface-elevation: var(--sys-surface-elevation-0); - --_surface-tint-color: var(--sys-color-surface-tint-hsl); - --_surface-state-color: var(--_surface-color-on); - --_surface-tint-opacity: 0; - --_surface-state-opacity: 0; - - display: block; - box-sizing: border-box; - padding: calc(2 * var(--sys-spacing-track)); - color: hsl(var(--_surface-color-on)); - background-color: hsl(var(--_surface-color-bg)); - box-shadow: var(--_surface-elevation); - background-image: linear-gradient( - hsla(var(--_surface-tint-color), var(--_surface-tint-opacity)), - hsla(var(--_surface-tint-color), var(--_surface-tint-opacity)) - ), - linear-gradient( - hsla(var(--_surface-state-color), var(--_surface-state-opacity)), - hsla(var(--_surface-state-color), var(--_surface-state-opacity)) - ); - background-repeat: no-repeat; - outline: 0; - border-radius: var(--sys-radius-medium); - overflow: hidden; - overflow: clip; - transition-property: opacity, background-color, color, border-radius, border-color, outline-color; - transition-duration: var(--sys-motion-duration-small); - transition-timing-function: var(--sys-motion-easing-normal); - -webkit-tap-highlight-color: transparent; - } - - :host([outlined]) { - border: 1px solid var(--sys-color-outline); - } - - :host([filled]) { - --_surface-color-bg: var(--sys-color-surface-variant-hsl); - } - - :host([elevated]) { - --_surface-elevation: var(--sys-surface-elevation-1); - } - :host([elevated='2']) { - --_surface-elevation: var(--sys-surface-elevation-2); - } - :host([elevated='3']) { - --_surface-elevation: var(--sys-surface-elevation-3); - } - :host([elevated='4']) { - --_surface-elevation: var(--sys-surface-elevation-4); - } - - :host([tinted]), - :host([elevated]) { - --_surface-tint-opacity: var(--sys-surface-tint-opacity-1); - } - :host([tinted='2']), - :host([elevated='2']) { - --_surface-tint-opacity: var(--sys-surface-tint-opacity-2); - } - :host([tinted='3']), - :host([elevated='3']) { - --_surface-tint-opacity: var(--sys-surface-tint-opacity-3); - } - :host([tinted='4']), - :host([elevated='4']) { - --_surface-tint-opacity: var(--sys-surface-tint-opacity-4); - } - :host([tinted='5']) { - --_surface-tint-opacity: var(--sys-surface-tint-opacity-5); - } - - :host([stated]:hover) { - --_surface-state-opacity: var(--sys-surface-state-opacity-hover); - } - :host([stated]:active) { - --_surface-state-opacity: var(--sys-surface-state-opacity-pressed); - } - :host([stated]:focus), - :host([stated]:focus-within) { - --_surface-state-opacity: var(--sys-surface-state-opacity-focus); - } - - :host([active-outline]:active), - :host([active-outline]:focus), - :host([active-outline]:focus-within) { - border-color: var(--sys-color-primary); - box-shadow: 0 0 0.4px 0.8px var(--sys-color-primary); - } - - :host([stated]:hover:not(:active)), - :host([stated]:focus), - :host([stated]:focus-within) { - --_surface-elevation: var(--sys-surface-elevation-1); - --_surface-tint-opacity: var(--sys-surface-tint-opacity-1); - } - :host([stated][elevated]:hover:not(:active)), - :host([stated][elevated]:focus), - :host([stated][elevated]:focus-within) { - --_surface-elevation: var(--sys-surface-elevation-2); - --_surface-tint-opacity: var(--sys-surface-tint-opacity-2); - } - :host([stated][elevated='2']:hover:not(:active)), - :host([stated][elevated='2']:focus), - :host([stated][elevated='2']:focus-within) { - --_surface-elevation: var(--sys-surface-elevation-3); - --_surface-tint-opacity: var(--sys-surface-tint-opacity-3); - } - :host([stated][elevated='3']:hover:not(:active)), - :host([stated][elevated='3']:focus), - :host([stated][elevated='3']:focus-within) { - --_surface-elevation: var(--sys-surface-elevation-4); - --_surface-tint-opacity: var(--sys-surface-tint-opacity-4); - } - :host([stated][elevated='4']:hover:not(:active)), - :host([stated][elevated='4']:focus), - :host([stated][elevated='4']:focus-within) { - --_surface-elevation: var(--sys-surface-elevation-5); - --_surface-tint-opacity: var(--sys-surface-tint-opacity-5); - } - - :host([disabled]) { - pointer-events: none; - box-shadow: var(--sys-surface-elevation-0) !important; - /* color: var(--sys-color-on-surface) !important; */ - opacity: var(--sys-surface-disabled-opacity); - } - - :host([outlined][disabled]) { - opacity: var(--sys-surface-disabled-outlined-opacity); - } - `; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html`<slot></slot>`; - } -} diff --git a/ui/ui-kit/src/chat/chat-avatar.ts b/ui/ui-kit/src/chat/chat-avatar.ts deleted file mode 100644 index 16e7342c..00000000 --- a/ui/ui-kit/src/chat/chat-avatar.ts +++ /dev/null @@ -1,42 +0,0 @@ -import {AlwatrBaseElement, css, customElement, html, property} from '@alwatr/element'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-avatar': AlwatrChatAvatar; - } -} - -/** - * Alwatr chat message avatar element. - */ -@customElement('alwatr-chat-avatar') -export class AlwatrChatAvatar extends AlwatrBaseElement { - static override styles = css` - :host { - display: inline-block; - width: calc(5 * var(--sys-spacing-track)); - height: calc(5 * var(--sys-spacing-track)); - border-radius: 50%; - overflow: hidden; - overflow: clip; - overflow-clip-margin: content-box; - box-sizing: content-box; - flex-grow: 0; - flex-shrink: 0; - } - - img { - display: block; - width: inherit; - height: inherit; - } - `; - - @property() - user?: string; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html`<img src="https://i.pravatar.cc/40?u=${this.user}" alt="User ${this.user} profile image" />`; - } -} diff --git a/ui/ui-kit/src/chat/chat-bubble.ts b/ui/ui-kit/src/chat/chat-bubble.ts deleted file mode 100644 index eb1d1cc4..00000000 --- a/ui/ui-kit/src/chat/chat-bubble.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {AlwatrBaseElement, css, html, customElement, property, DirectionMixin, SignalMixin} from '@alwatr/element'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-bubble': AlwatrChatBubble; - } -} - -/** - * Alwatr chat message bubble box element. - * - * @attr {start|end} side - * - */ -@customElement('alwatr-chat-bubble') -export class AlwatrChatBubble extends DirectionMixin(SignalMixin(AlwatrBaseElement)) { - static override styles = css` - :host { - display: inline-block; - padding: - var(--sys-spacing-track) - calc(2 * var(--sys-spacing-track)) - calc(1.5 * var(--sys-spacing-track)) - ; - color: var(--sys-color-on-surface); - background-color: var(--sys-color-surface); - white-space: pre-line; - /* max-width: var(--sys-spacing-column-3); */ - border-radius: var(--sys-radius-large); - } - - :host([side='start']), - :host([side='end'][dir='rtl']) { - border-bottom-left-radius: var(--sys-radius-xsmall); - border-bottom-right-radius: var(--sys-radius-large); - } - - :host([side='end']), - :host([side='start'][dir='rtl']) { - border-bottom-left-radius: var(--sys-radius-large); - border-bottom-right-radius: var(--sys-radius-xsmall); - } - `; - - @property() - text?: string; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html`${this.text ?? '...'}`; - } -} diff --git a/ui/ui-kit/src/chat/chat-footer.ts b/ui/ui-kit/src/chat/chat-footer.ts deleted file mode 100644 index dc8b5ec5..00000000 --- a/ui/ui-kit/src/chat/chat-footer.ts +++ /dev/null @@ -1,46 +0,0 @@ -import {AlwatrBaseElement, css, customElement, html} from '@alwatr/element'; - -import './chat-text-input.js'; -import '../button/icon-button.js'; - -import type {IconButtonContent} from '../button/icon-button.js'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-footer': AlwatrChatFooter; - } -} - -/** - * Alwatr chat footer element. - */ -@customElement('alwatr-chat-footer') -export class AlwatrChatFooter extends AlwatrBaseElement { - static override styles = css` - :host { - display: flex; - gap: var(--sys-spacing-track); - padding: calc(2 * var(--sys-spacing-track)); - padding-inline-start: var(--sys-spacing-track); - border-top-left-radius: var(--sys-radius-large); - border-top-right-radius: var(--sys-radius-large); - color: var(--sys-color-on-surface); - background-color: var(--sys-color-surface); - } - `; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html` - <alwatr-icon-button - .content=${{icon: 'happy-outline'} as IconButtonContent} - @click=${this._sendMessage} - ></alwatr-icon-button> - <alwatr-chat-text-input></alwatr-chat-text-input> - `; - } - - protected _sendMessage(): void { - this._logger.logMethod?.('_sendMessage'); - } -} diff --git a/ui/ui-kit/src/chat/chat-list.ts b/ui/ui-kit/src/chat/chat-list.ts deleted file mode 100644 index 7725f56a..00000000 --- a/ui/ui-kit/src/chat/chat-list.ts +++ /dev/null @@ -1,86 +0,0 @@ -import {AlwatrBaseElement, css, customElement, html, mapObject, nothing, property} from '@alwatr/element'; - -import './chat-message.js'; - -import type {ChatStorage} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-list': AlwatrChatList; - } -} - -export function* map<T>( - items: Record<string, T> | undefined, - func: (value: T, index: string) => unknown, -): Generator<unknown, void, unknown> { - if (items !== undefined) { - for (const key in items) { - if (!Object.prototype.hasOwnProperty.call(items, key)) continue; - yield func(items[key], key); - } - } -} - -/** - * Alwatr chat message box element. - * - * @attr end-side - */ -@customElement('alwatr-chat-list') -export class AlwatrChatList extends AlwatrBaseElement { - static override styles = css` - :host { - display: flex; - flex-direction: column; - gap: calc(2 * var(--sys-spacing-track)); - border-top-left-radius: var(--sys-radius-large); - border-top-right-radius: var(--sys-radius-large); - padding: calc(2 * var(--sys-spacing-track)); - flex-grow: 1; - overflow-y: auto; - box-sizing: border-box; - } - - :host::-webkit-scrollbar { - width: var(--sys-scrollbar-size); - height: var(--sys-scrollbar-size); - } - - :host::-webkit-scrollbar-corner, - :host::-webkit-scrollbar-track { - background-color: var(--sys-scrollbar-background); - } - - :host::-webkit-scrollbar-track { - margin: var(--sys-spacing-track); - } - - :host::-webkit-scrollbar-thumb { - background-color: var(--sys-scrollbar-color); - border-radius: var(--sys-scrollbar-radius); - } - - :host(:hover)::-webkit-scrollbar-thumb { - background-color: var(--sys-scrollbar-color-hover); - } - `; - - @property({type: Object, attribute: false}) - storage?: ChatStorage; - - @property({type: String, attribute: false}) - currentUser?: string; - - override render(): unknown { - this._logger.logMethod?.('render'); - if (this.storage == null) return nothing; - return html`${mapObject( - this, - this.storage.data, - (message) => html` - <alwatr-chat-message .message=${message} ?self=${message.from === this.currentUser}></alwatr-chat-message> - `, - )}`; - } -} diff --git a/ui/ui-kit/src/chat/chat-message.ts b/ui/ui-kit/src/chat/chat-message.ts deleted file mode 100644 index 577eff1e..00000000 --- a/ui/ui-kit/src/chat/chat-message.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { - AlwatrBaseElement, - css, - customElement, - html, - nothing, - property, - DirectionMixin, - SignalMixin, -} from '@alwatr/element'; - -import './chat-avatar.js'; -import './chat-bubble.js'; - -import type {ChatMessage} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-message': AlwatrChatMessage; - } -} - -/** - * Alwatr chat message box element. - * - * @attr self - */ -@customElement('alwatr-chat-message') -export class AlwatrChatMessage extends DirectionMixin(SignalMixin(AlwatrBaseElement)) { - static override styles = css` - :host { - display: flex; - align-items: flex-end; - gap: var(--sys-spacing-track); - flex-direction: row; - justify-content: flex-start; - align-self: flex-start; - padding-left: 0; - padding-right: calc(6 * var(--sys-spacing-track)); - } - - :host([self]) { - justify-content: flex-end; - align-self: flex-end; - padding-right: 0; - padding-left: calc(9 * var(--sys-spacing-track)); - } - - :host([dir='rtl']) { - padding-right: 0; - padding-left: calc(6 * var(--sys-spacing-track)); - } - - :host([dir='rtl'][self]) { - padding-left: 0; - padding-right: calc(9 * var(--sys-spacing-track)); - } - - :host([self]) alwatr-chat-bubble { - color: var(--sys-color-on-secondary); - background-color: var(--sys-color-secondary); - } - - alwatr-chat-bubble { - max-width: var(--sys-spacing-column-3); - } - `; - - @property({type: Object, attribute: false}) - message?: ChatMessage; - - @property({type: Boolean, attribute: 'self', reflect: true}) - self = false; - - override render(): unknown { - this._logger.logMethod?.('render'); - if (this.message == null || this.message.type !== 'text') return nothing; - - const bubble = html`<alwatr-chat-bubble - .text=${this.message.text} - side=${this.self ? 'end' : 'start'} - ></alwatr-chat-bubble>`; - - // prettier-ignore - return this.self - ? bubble - : [html`<alwatr-chat-avatar .user=${this.message.from}></alwatr-chat-avatar>`, bubble]; - } -} diff --git a/ui/ui-kit/src/chat/chat-text-input.ts b/ui/ui-kit/src/chat/chat-text-input.ts deleted file mode 100644 index 41761178..00000000 --- a/ui/ui-kit/src/chat/chat-text-input.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { - type PropertyValues, - AlwatrBaseElement, - css, - customElement, - html, - LocalizeMixin, - SignalMixin, -} from '@alwatr/element'; -import {message} from '@alwatr/i18n'; - -import '../button/icon-button.js'; - -import type {AlwatrStandardIconButton, IconButtonContent} from '../button/icon-button.js'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat-text-input': AlwatrChatTextInput; - } -} - -/** - * Alwatr chat text input element. - */ -@customElement('alwatr-chat-text-input') -export class AlwatrChatTextInput extends LocalizeMixin(SignalMixin(AlwatrBaseElement)) { - static override styles = css` - :host { - --_height: calc(6 * var(--sys-spacing-track)); - display: flex; - user-select: none; - align-items: flex-end; - vertical-align: middle; - border-radius: calc(var(--_height) / 2); - color: var(--sys-color-on-surface-variant); - background-color: var(--sys-color-surface-variant); - flex-grow: 1; - } - - alwatr-icon-button { - --_surface-color-on: var(--sys-color-tertiary-hsl); - } - - textarea { - flex-grow: 1; - width: auto; - min-width: auto; - color: inherit; - resize: none; - border: none; - outline: 0; - background-color: transparent; - font-family: inherit; - word-wrap: break-word; - line-height: calc(2 * var(--sys-spacing-track)); - padding: var(--sys-spacing-track); - margin: var(--sys-spacing-track); - margin-inline-end: 0; - } - `; - - inputElement: HTMLTextAreaElement | null = null; - sendButtonElement: AlwatrStandardIconButton | null = null; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html` - <textarea rows="1" placeholder=${message('chat_text_input_placeholder')} @input=${this.__inputChange}></textarea> - <alwatr-icon-button - .content=${{icon: 'send-outline', flipRtl: true, clickSignalId: 'send-message'} as IconButtonContent} - disabled - ></alwatr-icon-button> - `; - } - - protected override firstUpdated(changedProperties: PropertyValues<this>): void { - super.firstUpdated(changedProperties); - this.inputElement = this.renderRoot.querySelector('textarea'); - this.sendButtonElement = this.renderRoot.querySelector('alwatr-icon-button'); - } - - private __inputChange(event: InputEvent): void { - const textarea = event.target as HTMLTextAreaElement; - const value = textarea.value; - textarea.rows = Math.min(value.split('\n').length, 6); - this.sendButtonElement?.toggleAttribute('disabled', value.length === 0); - } -} diff --git a/ui/ui-kit/src/chat/chat.ts b/ui/ui-kit/src/chat/chat.ts deleted file mode 100644 index 0b716b0a..00000000 --- a/ui/ui-kit/src/chat/chat.ts +++ /dev/null @@ -1,146 +0,0 @@ -import {customElement, css, html, AlwatrBaseElement, SignalMixin} from '@alwatr/element'; - -import './chat-footer.js'; -import './chat-list.js'; - -import type {ChatStorage} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-chat': AlwatrChat; - } -} - -const currentUser = 'user-1'; - -const chatStorage: ChatStorage = { - ok: true, - meta: { - id: `${currentUser}-chat`, - formatVersion: 4, - lastAutoId: 0, - lastUpdated: Date.now(), - reversion: 100, - }, - data: { - '1': { - id: '1', - from: 'user-1', - type: 'text', - text: 'به یاد اولتر...', - }, - '2': { - id: '2', - from: 'user-2', - type: 'text', - text: - 'با تمام جهل و مستی تصمیم گرفته‌ام دفترچه رزوگار را با پاک کنِ مهر و عطوفت پاک کنم\n' + - 'و از اول با نام تو روزگار را آغاز کنم.', - }, - '3': { - id: '3', - from: 'user-1', - type: 'text', - text: 'هنوز در نخستین صفحات آن مانده‌ام و مطلبی برای نوشتن ندارم.تا پایان نوشتن انتظارت می‌کشم.', - }, - '4': { - id: '4', - from: 'user-4', - type: 'text', - text: 'دیوانه مسلمانی که در روزهای انتظار هزار بار به دیوانگی‌اش ایمان می‌آورد….', - }, - '5': { - id: '5', - from: 'user-1', - type: 'text', - text: 'کودک که بودم پدرم جمعه ها صبح درب خانه را آب و جارو می کرد تا اگر مولا از آن حوالی عبور کند …', - }, - '6': { - id: '6', - from: 'user-2', - type: 'text', - text: 'و نو روز هر باره این حس را در من زنده می کند', - }, - '7': { - id: '7', - from: 'user-2', - type: 'text', - text: 'مردمی را می بینم که سراسر شوق و شورند ، خانه تکانی می کنند و لباس های نو برتن…', - }, - '8': { - id: '8', - from: 'user-2', - type: 'text', - text: 'اما برای چه ؟\nاینان منتظرند تا بهار شود ؟', - }, - '9': { - id: '1', - from: 'user-1', - type: 'text', - text: 'برای که ؟', - }, - '10': { - id: '4', - from: 'user-2', - type: 'text', - text: 'دیوانه مسلمانی که در روزهای انتظار هزار بار به دیوانگی‌اش ایمان می‌آورد….', - }, - '11': { - id: '9', - from: 'user-4', - type: 'text', - text: - 'سالهاست می اندیشم که هنگام بهار مگر چه می شود که اینگونه به هم می ریزیم' + - '،مهربان می شویم، به سراغ هم می رویم و از همه مهمتر منتظر می شویم…', - }, - '12': { - id: '10', - from: 'user-4', - type: 'text', - text: 'انتظار...', - }, - '13': { - id: '1', - from: 'user-1', - type: 'text', - text: 'زیبا بود مرسی', - }, - }, -}; - -/** - * Alwatr Demo Home Page - */ -@customElement('alwatr-chat') -export class AlwatrChat extends SignalMixin(AlwatrBaseElement) { - static override styles = css` - :host { - display: block; - padding-top: var(--sys-spacing-track); - box-sizing: border-box; - position: relative; - } - - alwatr-chat-list { - height: 100%; - color: var(--sys-color-on-surface-variant); - background-color: var(--sys-color-surface-variant); - padding-bottom: calc(12 * var(--sys-spacing-track)); - } - - alwatr-chat-footer { - position: absolute; - bottom: 0; - left: 0; - right: 0; - } - `; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html` - <alwatr-chat-list .storage=${chatStorage} .currentUser=${currentUser}></alwatr-chat-list> - <alwatr-chat-footer></alwatr-chat-footer> - `; - } -} diff --git a/ui/ui-kit/src/icon/icon.scss b/ui/ui-kit/src/icon/icon.scss deleted file mode 100644 index 9faa451f..00000000 --- a/ui/ui-kit/src/icon/icon.scss +++ /dev/null @@ -1,21 +0,0 @@ -.alwatr-icon { - display: inline-block; - width: 1em; - height: 1em; - contain: size layout paint style; - box-sizing: content-box; - vertical-align: middle; - - svg { - display: block; - height: 100%; - width: 100%; - stroke: currentcolor; - fill: currentcolor; - } -} - -[dir='rtl'] .alwatr-icon.flip-icon-in-rtl svg, -[dir='rtl'] .flip-icon-in-rtl .alwatr-icon svg { - transform: scaleX(-1); -} diff --git a/ui/ui-kit/src/icon/icon.ts b/ui/ui-kit/src/icon/icon.ts deleted file mode 100644 index 9f1bb3b5..00000000 --- a/ui/ui-kit/src/icon/icon.ts +++ /dev/null @@ -1,29 +0,0 @@ -import {AlwatrDynamicDirective, directive, html, unsafeSVG, type PartInfo} from '@alwatr/fract'; - -import './icon.scss'; - -import type {MaybePromise} from '@alwatr/type'; - -export class AlwatrIconDirective extends AlwatrDynamicDirective { - constructor(partInfo: PartInfo) { - super(partInfo, '<alwatr-icon>'); - } - - render(svg: MaybePromise<string>, flipIconInRtl = false): unknown { - if (svg instanceof Promise) { - svg.then((_svg) => { - this.setValue(this._render_icon(_svg)); - }); - return this._render_icon(); - } - else { - return this._render_icon(svg, flipIconInRtl ? 'flip-icon-in-rtl' : ''); - } - } - - _render_icon(svg?: string, customClass = ''): unknown { - return html`<div class="alwatr-icon ${customClass}">${svg ? unsafeSVG(svg) : ''}</div>`; - } -} - -export const alwatrIcon = directive(AlwatrIconDirective); diff --git a/ui/ui-kit/src/navigation-bar/context.ts b/ui/ui-kit/src/navigation-bar/context.ts deleted file mode 100644 index a7da0c37..00000000 --- a/ui/ui-kit/src/navigation-bar/context.ts +++ /dev/null @@ -1,6 +0,0 @@ -import {AlwatrContextSignal, AlwatrSignal} from '@alwatr/signal2'; - -import type {NavigationBarContent, NavigationBarItemContent} from './navigation-bar.js'; - -export const navigationBarContext = new AlwatrContextSignal<NavigationBarContent>({name: 'navigation-bar'}); -export const navigationBarEvent = new AlwatrSignal<NavigationBarItemContent>({name: 'navigation-bar'}); diff --git a/ui/ui-kit/src/navigation-bar/navigation-bar.ts b/ui/ui-kit/src/navigation-bar/navigation-bar.ts deleted file mode 100644 index 7696df81..00000000 --- a/ui/ui-kit/src/navigation-bar/navigation-bar.ts +++ /dev/null @@ -1,153 +0,0 @@ -import { - customElement, - property, - html, - mapIterable, - css, - type PropertyValueMap, -} from '@alwatr/element'; -import {l10n} from '@alwatr/i18n2'; -import {router} from '@alwatr/router2'; -import {MaybePromise} from '@alwatr/type'; - -import {navigationBarContext, navigationBarEvent} from './context.js'; -import {AlwatrSurface} from '../card/surface.js'; -import {alwatrIcon} from '../icon/icon.js'; - -import type {RouteContextBase} from '@alwatr/router2/type.js'; - -export interface NavigationBarItemContent { - id: string; - icon: MaybePromise<string>; - iconFlipRtl?: boolean; - link: RouteContextBase['sectionList']; - label?: string; - // badgeValue: string, -} -export interface NavigationBarContent { - itemList: NavigationBarItemContent[]; -} - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-navigation-bar': AlwatrNavigationBar; - } -} - -/** - * Alwatr Navigation Bar Element. - * - * @attr {String} context-signal - context signal name. - * @attr {String} active-item-id-signal - active item id signal name. - */ -@customElement('alwatr-navigation-bar') -export class AlwatrNavigationBar extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - gap: calc(var(--sys-spacing-track) / 2); - padding: calc(1.5 * var(--sys-spacing-track)) 0 calc(2 * var(--sys-spacing-track)) 0; - color: var(--sys-color-surface); - border-radius: 0; - user-select: none; - z-index: var(--sys-zindex-sticky); - cursor: pointer; - } - - :host > * { - height: 100%; - flex-grow: 1; - text-align: center; - text-decoration: none; - } - - .indicator { - display: inline-block; - } - .item[data-active] .indicator { - background-color: var(--sys-color-secondary-container); - color: var(--sys-color-secondary-container); - border-radius: var(--sys-radius-large); - } - - .alwatr-icon { - padding: calc(var(--sys-spacing-track) / 2) calc(2.5 * var(--sys-spacing-track)); - color: var(--sys-color-on-surface-variant); - font-size: calc(3 * var(--sys-spacing-track)); - } - .item[data-active] .alwatr-icon { - color: var(--sys-color-on-secondary-container); - } - - .label { - margin-top: calc(var(--sys-spacing-track)); - color: var(--sys-color-on-surface-variant); - font-family: var(--sys-typescale-label-medium-font-family-name); - font-weight: var(--sys-typescale-label-medium-font-weight); - font-size: var(--sys-typescale-label-medium-font-size); - letter-spacing: var(--sys-typescale-label-medium-letter-spacing); - line-height: var(--sys-typescale-label-medium-line-height); - } - .item[data-active] .label { - color: var(--sys-color-on-surface); - } - `, - ]; - - @property() - content?: NavigationBarContent; - - @property() - activeItemId?: string; - - protected override firstUpdated(_changedProperties: PropertyValueMap<this>): void { - super.firstUpdated(_changedProperties); - this.setAttribute('elevated', '2'); - this.setAttribute('tinted', ''); - } - - override connectedCallback(): void { - super.connectedCallback(); - - navigationBarContext.subscribe((context) => { - this.content = context; - }); - } - - override render(): unknown { - this._logger.logMethod?.('render'); - return mapIterable(this, this.content?.itemList, this.navigationItem); - } - - protected navigationItem(content: NavigationBarItemContent): unknown { - return html` - <a - class="item" - href=${router.url({sectionList: content.link})} - data-id=${content.id} - ?data-active=${this.activeItemId === content.id} - @click=${this.itemClickHandler} - > - <div class="indicator"> - ${alwatrIcon(content.icon)} - </div> - <div class="label">${l10n.message(content.label)}</div> - </a> - `; - } - - protected itemClickHandler(event: MouseEvent): void { - this._logger.logMethod?.('itemClickHandler'); - const target = event.currentTarget as HTMLDivElement; - const id = target.getAttribute('data-id'); - if (id == null) return; - - this.activeItemId = id; - navigationBarEvent.notify(this.content!.itemList.find((item) => item.id === id)!); - } -} diff --git a/ui/ui-kit/src/navigation-bar2/navigation-bar.scss b/ui/ui-kit/src/navigation-bar2/navigation-bar.scss deleted file mode 100644 index da73ca7e..00000000 --- a/ui/ui-kit/src/navigation-bar2/navigation-bar.scss +++ /dev/null @@ -1,23 +0,0 @@ -.navigation-bar { - display: flex; - justify-content: space-between; - align-items: center; - gap: calc(var(--sys-spacing-track) / 2); - padding: calc(1.5 * var(--sys-spacing-track)) 0 calc(2 * var(--sys-spacing-track)) 0; - color: var(--sys-color-on-surface-variant); - user-select: none; - - a { - display: block; - height: 100%; - flex-grow: 1; - text-align: center; - text-decoration: none; - color: inherit; - } - - .alwatr-icon { - padding: calc(var(--sys-spacing-track) / 2) calc(2.5 * var(--sys-spacing-track)); - font-size: calc(3 * var(--sys-spacing-track)); - } -} diff --git a/ui/ui-kit/src/navigation-bar2/navigation-bar.ts b/ui/ui-kit/src/navigation-bar2/navigation-bar.ts deleted file mode 100644 index 72ba4476..00000000 --- a/ui/ui-kit/src/navigation-bar2/navigation-bar.ts +++ /dev/null @@ -1,39 +0,0 @@ -import {AlwatrDirective, directive, html, noChange, map, ifDefined, type PartInfo, nothing} from '@alwatr/fract'; -import {l10n} from '@alwatr/i18n2'; - -import './navigation-bar.scss'; -import {alwatrIcon} from '../icon/icon.js'; - -import type {NavigationBarContent, NavigationBarItem} from './type.js'; - -export class AlwatrNavigationBarDirective extends AlwatrDirective { - constructor(partInfo: PartInfo) { - super(partInfo, '<alwatr-navigation-bar>'); - } - - render(content?: NavigationBarContent | null): unknown { - this._logger.logMethodArgs?.('render', content); - - if (content == null) { - this._logger.incident?.('render', 'invalid_content', 'content not defined'); - return noChange; - } - - return html`<div class="navigation-bar">${map(content.itemList, this._render_nav_item, this)}</div>`; - } - - protected _render_nav_item(item: NavigationBarItem): unknown { - return html`<a href=${ifDefined(item.href)}> - ${alwatrIcon(item.icon, item.flipIconInRtl)} - ${this._render_label(item)} - </a>`; - } - - protected _render_label(item: NavigationBarItem): unknown { - if (item.label === undefined && item.labelKey === undefined) return nothing; - const label = item.label || l10n.message(item.labelKey); - return html`<div class="label">${label}</div>`; - } -} - -export const alwatrNavigationBar = directive(AlwatrNavigationBarDirective); diff --git a/ui/ui-kit/src/navigation-bar2/type.ts b/ui/ui-kit/src/navigation-bar2/type.ts deleted file mode 100644 index 6459e8d6..00000000 --- a/ui/ui-kit/src/navigation-bar2/type.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type {MaybePromise} from '@alwatr/type'; - -export interface NavigationBarItem { - icon: MaybePromise<string>; - - /** - * @default ```false``` - */ - flipIconInRtl?: boolean; - - label?: string; - - labelKey?: string; - - href?: string; -} - -export interface NavigationBarContent { - itemList: NavigationBarItem[]; -} diff --git a/ui/ui-kit/src/radio-group/radio-group.ts b/ui/ui-kit/src/radio-group/radio-group.ts deleted file mode 100644 index 0d0fdb9b..00000000 --- a/ui/ui-kit/src/radio-group/radio-group.ts +++ /dev/null @@ -1,117 +0,0 @@ -import {customElement, css, html, map, AlwatrBaseElement, property, nothing, live} from '@alwatr/element'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-radio-group': AlwatrRadioGroup; - } -} - -export interface RadioOption {label: string; value: string} - -export interface RadioGroupOptions { - title: string; - radioGroup: RadioOption[]; -} - -/** - * Alwatr fieldset element - * - * @attr {String} name - */ -@customElement('alwatr-radio-group') -export class AlwatrRadioGroup extends AlwatrBaseElement { - static override styles = css` - :host { - display: block; - transition: opacity var(--sys-motion-duration-small) var(--sys-motion-easing-normal); - } - fieldset { - display: block; - padding: var(--sys-spacing-track) calc(2 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-body-large-font-family-name); - font-weight: var(--sys-typescale-body-large-font-weight); - font-size: var(--sys-typescale-body-large-font-size); - letter-spacing: var(--sys-typescale-body-large-letter-spacing); - line-height: var(--sys-typescale-body-large-line-height); - border: 1px solid var(--sys-color-outline); - border-radius: var(--sys-radius-small); - background-color: transparent; - margin: var(--sys-spacing-track) 0 0; - } - - fieldset:active, - fieldset:focus, - fieldset:focus-within { - border-color: var(--sys-color-primary); - } - - fieldset legend { - padding: 0 var(--sys-spacing-track); - } - - fieldset div { - margin-top: var(--sys-spacing-track); - } - fieldset div:first-of-type { - margin-top: 0; - } - - fieldset label, - input[type='radio'] { - display: inline-block; - vertical-align: middle; - margin: 0; - } - - input[type='radio'] { - width: 20px; - height: 20px; - accent-color: var(--sys-color-primary); - } - `; - - @property({type: Object}) - name = 'unknown'; - - @property({type: Object}) - options?: RadioGroupOptions; - - @property({type: String}) - value?: string; - - override render(): unknown { - this._logger.logMethod?.('render'); - return html` - <fieldset> - <legend>${this.options?.title}</legend> - ${this._optionsTemplate()} - </fieldset> - `; - } - - protected _optionsTemplate(): unknown { - const options = this.options; - if (options == null) return nothing; - return map(options.radioGroup, (radioItem, index) => { - const id: string = 'radioInput_' + index; - return html`<div> - <input - type="radio" - id=${id} - .name=${this.name} - .value=${radioItem.value} - .checked=${live(radioItem.value === this.value)} - @change=${this._inputChanged} - /> - <label for=${id}>${radioItem.label}</label> - </div>`; - }); - } - - private _inputChanged(event: Event): void { - const target = event.target as HTMLInputElement; - if (target == null) return; - this.value = target.value; - this.dispatchEvent(new CustomEvent('input-change')); - } -} diff --git a/ui/ui-kit/src/snackbar/controller.ts b/ui/ui-kit/src/snackbar/controller.ts deleted file mode 100644 index 061fe7d2..00000000 --- a/ui/ui-kit/src/snackbar/controller.ts +++ /dev/null @@ -1,49 +0,0 @@ -import {message} from '@alwatr/i18n'; -import {createLogger} from '@alwatr/logger'; -import {clamp} from '@alwatr/math'; -import {commandHandler} from '@alwatr/signal'; - -import './element.js'; - -import type {SnackbarOptions, SnackbarResponse} from './type.js'; - -const logger = createLogger('alwatr-snackbar-controller'); -const paintDelay = 60; -let closeLastSnackbar: ((response: SnackbarResponse) => void) | null = null; - -commandHandler.define<SnackbarOptions, SnackbarResponse>('show-snackbar-command', (options) => { - if (options.duration === -1 && !options.actionLabel) delete options.duration; - logger.logMethodArgs?.('showSnackbar', options); - return new Promise((resolve) => { - const element = document.body.appendChild(document.createElement('alwatr-snackbar')); - - let closed = false; - const _closeSnackbar = (response: SnackbarResponse): void => { - if (closed) return; - if (!response.actionButton && options.duration === -1) return; // keep it! - logger.logMethodArgs?.('closeSnackbar', response); - closed = true; - closeLastSnackbar = null; - element.open = false; - resolve(response); - setTimeout(() => { - element.remove(); - }, 500); - }; - - element.message = options.messageKey != null ? message(options.messageKey) : options.message; - if (options.actionLabel || options.actionLabelKey) { - element.actionLabel = options.actionLabelKey != null ? message(options.actionLabelKey) : options.actionLabel; - element.addEventListener('action-button-click', () => _closeSnackbar?.({actionButton: true}), {once: true}); - } - - setTimeout(() => { - element.open = true; - closeLastSnackbar?.({}); - closeLastSnackbar = _closeSnackbar; - if (options.duration !== -1) { - setTimeout(() => _closeSnackbar?.({}), clamp(options.duration ?? 5_000, 4_000, 10_000)); - } - }, paintDelay); - }); -}); diff --git a/ui/ui-kit/src/snackbar/element.ts b/ui/ui-kit/src/snackbar/element.ts deleted file mode 100644 index f9dd91fc..00000000 --- a/ui/ui-kit/src/snackbar/element.ts +++ /dev/null @@ -1,135 +0,0 @@ -import {html, css, customElement, property, when} from '@alwatr/element'; -import {untilEvent} from '@alwatr/util'; - -import '../button/button.js'; -import {AlwatrSurface} from '../card/surface.js'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-snackbar': AlwatrSnackbar; - } - - interface HTMLElementEventMap { - 'action-button-click': CustomEvent; - } -} - -/** - * Alwatr snackbar (toast) ui element. - */ -@customElement('alwatr-snackbar') -export class AlwatrSnackbar extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - --_surface-color-on: var(--sys-color-inverse-on-surface-hsl); - --_surface-color-bg: var(--sys-color-inverse-surface-hsl); - - display: flex; - align-items: center; - padding: calc(0.5 * var(--sys-spacing-track)) var(--sys-spacing-track); - gap: var(--sys-spacing-track); - position: fixed; - bottom: calc(2 * var(--sys-spacing-track)); - left: var(--sys-spacing-track); - right: var(--sys-spacing-track); - z-index: var(--sys-zindex-snackbar); - border-radius: var(--sys-radius-xsmall); - - box-sizing: border-box; - min-height: calc(6 * var(--sys-spacing-track)); - max-width: calc(var(--sys-breakpoint-handset) - 8 * var(--sys-spacing-track)); - /* margin: 0 auto; */ - - font-family: var(--sys-typescale-body-medium-font-family-name); - font-weight: var(--sys-typescale-body-medium-font-weight); - font-size: var(--sys-typescale-body-medium-font-size); - letter-spacing: var(--sys-typescale-body-medium-letter-spacing); - line-height: var(--sys-typescale-body-medium-line-height); - user-select: none; - - /* close state */ - opacity: 0; - transform: translateY(200%) scale(1); - pointer-events: none; - transition-property: opacity, transform; - transition-duration: var(--sys-motion-duration-medium-out); - transition-timing-function: var(--sys-motion-easing-exiting); - /* will-change: opacity, transform; */ - } - - :host([opened]) { - opacity: 1; - transform: translateY(0px) scale(1); - pointer-events: auto; - transition-duration: var(--sys-motion-duration-medium); - transition-timing-function: var(--sys-motion-easing-incoming); - } - - :host([closing]) { - transform: translateY(0px) scale(0.94); - } - - .message { - padding: 0 var(--sys-spacing-track); - flex-grow: 1; - flex-shrink: 1; - white-space: pre-line; - } - - alwatr-button { - --_surface-color-on: var(--sys-color-inverse-primary-hsl); - flex-grow: 0; - flex-shrink: 0; - align-self: flex-end; - } - `, - ]; - - private _opened = false; - set open(open: boolean) { - this._logger.logProperty?.('open', open); - if (this._opened === open) return; - this._opened = open; - this.updateComplete.then(async () => { - if (this._opened !== open) return; - this.toggleAttribute('opened', open); - this.toggleAttribute('closing', !open); - if (!open) { - await untilEvent(this, 'transitionend'); - this.removeAttribute('closing'); - } - }); - } - get open(): boolean { - return this._opened; - } - - @property({type: String}) - message?: string; - - @property({type: String}) - actionLabel?: string; - - override connectedCallback(): void { - super.connectedCallback(); - this.setAttribute('elevated', '3'); - } - - override render(): unknown { - this._logger.logMethod?.('render'); - return html`<span class="message">${this.message}</span>${when( - this.actionLabel, - () => - html`<alwatr-button - .content=${{label: this.actionLabel}} - @click=${this._actionButtonClick} - ></alwatr-button>`, - )}`; - } - - protected _actionButtonClick(): void { - this.dispatchEvent(new CustomEvent('action-button-click')); - } -} diff --git a/ui/ui-kit/src/snackbar/show-snackbar.ts b/ui/ui-kit/src/snackbar/show-snackbar.ts deleted file mode 100644 index d9b4e23a..00000000 --- a/ui/ui-kit/src/snackbar/show-snackbar.ts +++ /dev/null @@ -1,26 +0,0 @@ -import {commandTrigger} from '@alwatr/signal'; - -import type {SnackbarOptions, SnackbarResponse} from './type.js'; - -/** - * Show snackbar with optional action. - * - * Example: - * - * Simple toast: - * ```ts - * snackbarSignalTrigger.request({message: 'Form submitted successfully.'}); - * ``` - * - * With action label: - * ```ts - * const response = await snackbarSignalTrigger.requestWithResponse({ - * message: 'Email archived.', - * actionLabel: 'Undo', - * }); - * if (response.actionClicked) { - * // undo... - * } - * ``` - */ -export const snackbarSignalTrigger = commandTrigger.bind<SnackbarOptions, SnackbarResponse>('show-snackbar-command'); diff --git a/ui/ui-kit/src/snackbar/type.ts b/ui/ui-kit/src/snackbar/type.ts deleted file mode 100644 index 80188228..00000000 --- a/ui/ui-kit/src/snackbar/type.ts +++ /dev/null @@ -1,36 +0,0 @@ -import {StringifyableRecord} from '@alwatr/type'; - -export interface SnackbarOptions extends StringifyableRecord { - /** - * Snackbar message. - */ - message?: string; - - /** - * Snackbar L10n message. - */ - messageKey?: string; - - /** - * Snackbar action button label text. - */ - actionLabel?: string; - - /** - * Snackbar action button label L10n key. - */ - actionLabelKey?: string; - - /** - * Snackbar automatically disappear from the screen after a minimum of 4,000ms, and a maximum of 10,000ms. - * - * If duration is `-1` and `actionLabel` defined, snackbar remain until action button clicked. - * - * @default 5_000 - */ - duration?: number; -} - -export interface SnackbarResponse extends StringifyableRecord { - actionButton?: true; -} diff --git a/ui/ui-kit/src/text-field/text-field.ts b/ui/ui-kit/src/text-field/text-field.ts deleted file mode 100644 index f8964741..00000000 --- a/ui/ui-kit/src/text-field/text-field.ts +++ /dev/null @@ -1,191 +0,0 @@ -import {css, customElement, html, property, live, type PropertyValues} from '@alwatr/element'; -import '@alwatr/icon'; -import {UnicodeDigits} from '@alwatr/math'; - -import {AlwatrSurface} from '../card/surface.js'; - -const unicodeDigits = new UnicodeDigits('en'); - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-text-field': AlwatrTextField; - } -} - -export type InputType = - | 'text' - | 'textarea' - | 'search' - | 'tel' - | 'url' - | 'email' - | 'password' - | 'datetime' - | 'date' - | 'month' - | 'week' - | 'time' - | 'datetime-local' - | 'number'; - -/** - * Alwatr outlined text field. - * - * @attr {String} name - */ -@customElement('alwatr-text-field') -export class AlwatrTextField extends AlwatrSurface { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - --_surface-color-on: var(--sys-color-on-surface-variant-hsl); - display: inline-block; - box-sizing: border-box; - padding: var(--sys-spacing-track) calc(2 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-body-large-font-family-name); - font-weight: var(--sys-typescale-body-large-font-weight); - font-size: var(--sys-typescale-body-large-font-size); - letter-spacing: var(--sys-typescale-body-large-letter-spacing); - line-height: var(--sys-typescale-body-large-line-height); - border-radius: var(--sys-radius-xsmall); - background-color: transparent; - } - - :host([stated][outlined]:hover) { - --_surface-elevation: var(--sys-surface-elevation-0); - } - - input, - textarea { - display: block; - padding: 0; - font: inherit; - width: 100%; - box-sizing: border-box; - border-radius: inherit; - border: none; - outline: transparent; - resize: none; - text-align: inherit; - background-color: transparent; - color: var(--sys-color-on-surface); - caret-color: var(--sys-color-primary); - } - - input[type='number'] { - -moz-appearance: textfield; - } - - input::-webkit-outer-spin-button, - input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; - } - - /* So not group these selectors! */ - input::placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - input::-webkit-input-placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - input::-moz-placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - textarea::placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - textarea::-webkit-input-placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - textarea::-moz-placeholder { - font: inherit; - color: var(--sys-color-on-surface-variant); - } - `, - ]; - - @property({type: Object}) - name = 'unknown'; - - @property({type: String}) - type: InputType = 'text'; - - @property({type: Boolean}) - readonly = false; - - @property({type: String}) - value = ''; - - @property({type: String}) - placeholder = ''; - - inputElement: HTMLInputElement | HTMLTextAreaElement | null = null; - - constructor() { - super(); - this._inputChanged = this._inputChanged.bind(this); - } - - override connectedCallback(): void { - super.connectedCallback(); - this.addEventListener('click', this._click); - } - - override disconnectedCallback(): void { - super.disconnectedCallback(); - this.removeEventListener('click', this._click); - } - - override render(): unknown { - this._logger.logMethod?.('render'); - this.value ??= ''; - - if (this.type === 'textarea') { - return html`<textarea - .name=${this.name} - .placeholder=${this.placeholder} - .value=${live(this.value)} - .rows=${3} - ?readonly=${this.readonly} - @change=${this._inputChanged} - ></textarea>`; - } - // else - return html`<input - .name=${this.name} - .type=${this.type} - .placeholder=${this.placeholder} - .value=${live(this.value)} - ?readonly=${this.readonly} - @change=${this._inputChanged} - ></input>`; - } - - protected override firstUpdated(changedProperties: PropertyValues<this>): void { - super.firstUpdated(changedProperties); - this.inputElement = this.renderRoot.querySelector('input, textarea'); - } - - protected _click(): void { - this.inputElement?.focus(); - } - - private _inputChanged(event: Event): void { - this._logger.logMethod?.('_inputChanged'); - const target = event.target as HTMLInputElement | HTMLTextAreaElement; - if (target == null) return; - let inputValue = unicodeDigits.translate(target.value ?? ''); - if (this.type === 'number' || this.type === 'tel') { - inputValue = inputValue.replaceAll(' ', ''); - } - this.value = inputValue; - this.dispatchEvent(new CustomEvent('input-change')); - } -} diff --git a/ui/ui-kit/src/top-app-bar/top-app-bar.ts b/ui/ui-kit/src/top-app-bar/top-app-bar.ts deleted file mode 100644 index fe042168..00000000 --- a/ui/ui-kit/src/top-app-bar/top-app-bar.ts +++ /dev/null @@ -1,239 +0,0 @@ -import { - css, - html, - customElement, - property, - nothing, - map, - DirectionMixin, - SignalMixin, - LocalizeMixin, - type PropertyValues, -} from '@alwatr/element'; -import {message} from '@alwatr/i18n'; -import {contextConsumer} from '@alwatr/signal'; - -import '../button/icon-button.js'; -import {AlwatrSurface} from '../card/surface.js'; - -import type {IconButtonContent} from '../button/icon-button.js'; -import type {StringifyableRecord} from '@alwatr/type'; - -declare global { - interface HTMLElementTagNameMap { - 'alwatr-top-app-bar': AlwatrTopAppBar; - } -} - -export interface TopAppBarContent extends StringifyableRecord { - /** - * @default ```'small'``` - */ - type?: 'center' | 'small' | 'medium' | 'large'; - /** - * @default ```""``` - */ - headline?: string; - /** - * @default ```'loading'``` - */ - headlineKey?: string; - /** - * @default ```{icon: 'arrow-back-outline', flipRtl: true, clickSignalId: 'back-click-event'}``` - */ - startIcon?: IconButtonContent; - /** - * @default ```[]``` - */ - endIconList?: IconButtonContent[]; - /** - * @default ```2``` - */ - tinted?: number; - /** - * @default ```0``` - */ - elevated?: number; -} - -/** - * Alwatr top app bar. - * - * @attr {center|small|medium|large} [type=small] - * @attr {String} context-signal - context signal name - */ -@customElement('alwatr-top-app-bar') -export class AlwatrTopAppBar extends LocalizeMixin(DirectionMixin(SignalMixin(AlwatrSurface))) { - static override styles = [ - AlwatrSurface.styles, - css` - :host { - display: block; - flex-grow: 0; - flex-shrink: 0; - padding: var(--sys-spacing-track) calc(0.5 * var(--sys-spacing-track)); - z-index: var(--sys-zindex-sticky); - border-radius: 0; - user-select: none; - } - - .row { - display: flex; - } - - .leading-icon { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-hsl); - } - - .trailing-icons { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-variant-hsl); - } - - .title { - flex-grow: 1; - } - - :host([type=small]) .title, - :host([type=center]) .title { - padding: 0 calc(0.5 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-title-large-font-family-name); - font-weight: var(--sys-typescale-title-large-font-weight); - font-size: var(--sys-typescale-title-large-font-size); - letter-spacing: var(--sys-typescale-title-large-letter-spacing); - /* line-height: var(--sys-typescale-title-large-line-height); */ - line-height: calc(6 * var(--sys-spacing-track)); - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - overflow: clip; - } - - :host([dir=rtl][type=small]) .title, - :host([dir=rtl][type=center]) .title { - line-height: calc(6 * var(--sys-spacing-track) - 0.18em); /* 0.5 * track / title-line-height */ - } - - :host([type=center]) .title { - text-align: center; - } - - .headline { /* medium | large */ - display: none; - } - - :host([type=medium]) { - padding-bottom: calc(3 * var(--sys-spacing-track)); - } - :host([type=large]) { - padding-bottom: calc(3.5 * var(--sys-spacing-track)); - } - - :host([type=medium]) .headline, - :host([type=large]) .headline { - display: block; - padding: 0 calc(1.5 * var(--sys-spacing-track)); - } - - :host([type=medium]) .headline { - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - } - - :host([type=large]) .headline { - margin-top: calc(4 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-headline-medium-font-family-name); - font-weight: var(--sys-typescale-headline-medium-font-weight); - font-size: var(--sys-typescale-headline-medium-font-size); - letter-spacing: var(--sys-typescale-headline-medium-letter-spacing); - line-height: var(--sys-typescale-headline-medium-line-height); - } - `, - ]; - - @property({type: Object, attribute: false}) - content: Required<TopAppBarContent> = { - type: 'center', - headline: '', - headlineKey: 'loading', - startIcon: {icon: ''}, - endIconList: [], - tinted: 2, - elevated: 0, - }; - - override connectedCallback(): void { - super.connectedCallback(); - const contextSignal = this.getAttribute('context-signal'); - if (contextSignal) { - this._addSignalListeners( - contextConsumer.subscribe<TopAppBarContent>(contextSignal, (context) => { - this.content = { - type: 'small', - headline: '', - headlineKey: 'loading', - startIcon: {icon: 'arrow-back-outline', flipRtl: true, clickSignalId: 'back-click-event'}, - endIconList: [], - tinted: 2, - elevated: 0, - ...context, - }; - this.requestUpdate(); // Ensure update on child properties changes. - }, - {receivePrevious: 'NextCycle'}), - ); - } - } - - protected override shouldUpdate(changedProperties: PropertyValues<this>): boolean { - return super.shouldUpdate(changedProperties) && this.content != null; - } - - protected override update(changedProperties: PropertyValues<this>): void { - super.update(changedProperties); - if (changedProperties.has('content') && this.content != null) { - if (this.content.elevated != null && this.content.elevated > 0) { - this.setAttribute('elevated', this.content.elevated + ''); - } - else { - this.removeAttribute('elevated'); - } - if (this.content.tinted != null && this.content.tinted > 0) { - this.setAttribute('tinted', this.content.tinted + ''); - } - else { - this.removeAttribute('tinted'); - } - } - } - - override render(): unknown { - this._logger.logMethod?.('render'); - if (this.content == null) return nothing; - - this.setAttribute('type', this.content.type); - - const headline = this.content.headline || message(this.content.headlineKey); - const headlineTemplate = this.content.type === 'medium' || this.content.type === 'large' ? headline : nothing; - const titleTemplate = this.content.type === 'center' || this.content.type === 'small' ? headline : nothing; - - return html` - <div class="row"> - <alwatr-icon-button class="leading-icon" .content=${this.content.startIcon}></alwatr-icon-button> - <div class="title">${titleTemplate}</div> - ${map(this.content.endIconList, (iconContent) => html` - <alwatr-icon-button class="trailing-icons" .content=${iconContent}></alwatr-icon-button> - `)} - </div> - <div class="headline">${headlineTemplate}</div> - `; - } -} - -/* - TODO: - 1. - https://m3.material.io/components/top-app-bar/specs -*/ diff --git a/ui/ui-kit/src/top-app-bar2/top-app-bar.scss b/ui/ui-kit/src/top-app-bar2/top-app-bar.scss deleted file mode 100644 index 04f2bae8..00000000 --- a/ui/ui-kit/src/top-app-bar2/top-app-bar.scss +++ /dev/null @@ -1,82 +0,0 @@ -.alwatr-top-app-bar { - flex-grow: 0; - flex-shrink: 0; - padding: var(--sys-spacing-track) calc(0.5 * var(--sys-spacing-track)); - z-index: var(--sys-zindex-sticky); - border-radius: 0; - user-select: none; - - .alwatr-row { - display: flex; - } - - .leading-icon { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-hsl); - } - - .trailing-icons { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-variant-hsl); - } - - .title { - flex-grow: 1; - } - - &[type=small] .title, - &[type=center] .title { - padding: 0 calc(0.5 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-title-large-font-family-name); - font-weight: var(--sys-typescale-title-large-font-weight); - font-size: var(--sys-typescale-title-large-font-size); - letter-spacing: var(--sys-typescale-title-large-letter-spacing); - /* line-height: var(--sys-typescale-title-large-line-height); */ - line-height: calc(6 * var(--sys-spacing-track)); - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - overflow: clip; - } - - &[dir=rtl][type=small] .title, - &[dir=rtl][type=center] .title { - line-height: calc(6 * var(--sys-spacing-track) - 0.18em); /* 0.5 * track / title-line-height */ - } - - &[type=center] .title { - text-align: center; - } - - .headline { /* medium | large */ - display: none; - } - - &[type=medium] { - padding-bottom: calc(3 * var(--sys-spacing-track)); - } - &[type=large] { - padding-bottom: calc(3.5 * var(--sys-spacing-track)); - } - - &[type=medium] .headline, - &[type=large] .headline { - display: block; - padding: 0 calc(1.5 * var(--sys-spacing-track)); - } - - &[type=medium] .headline { - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - } - - &[type=large] .headline { - margin-top: calc(4 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-headline-medium-font-family-name); - font-weight: var(--sys-typescale-headline-medium-font-weight); - font-size: var(--sys-typescale-headline-medium-font-size); - letter-spacing: var(--sys-typescale-headline-medium-letter-spacing); - line-height: var(--sys-typescale-headline-medium-line-height); - } -} diff --git a/ui/ui-kit/src/top-app-bar2/top-app-bar.ts b/ui/ui-kit/src/top-app-bar2/top-app-bar.ts deleted file mode 100644 index c0f75f71..00000000 --- a/ui/ui-kit/src/top-app-bar2/top-app-bar.ts +++ /dev/null @@ -1,42 +0,0 @@ -import {AlwatrDirective, directive, html, noChange, nothing, map, type PartInfo} from '@alwatr/fract'; -import {l10n} from '@alwatr/i18n2'; - -import './top-app-bar.scss'; -import '../button/icon-button.js'; - -import type {TopAppBarContent} from './type.js'; - -export class AlwatrTopAppBarDirective extends AlwatrDirective { - constructor(partInfo: PartInfo) { - super(partInfo, '<alwatr-top-app-bar>'); - } - - render(content?: TopAppBarContent | null): unknown { - this._logger.logMethodArgs?.('render', content); - - if (content == null) { - this._logger.incident?.('render', 'invalid_content', 'content not defined'); - return noChange; - } - content.type ??= 'small'; - const headline = content.headline || l10n.message(content.headlineKey); - const headlineTemplate = content.type === 'medium' || content.type === 'large' ? headline : nothing; - const titleTemplate = content.type === 'center' || content.type === 'small' ? headline : nothing; - - return html` - <div class="alwatr-top-app-bar" type=${content.type}> - <div class="row"> - <alwatr-icon-button class="leading-icon" .content=${content.startIcon}></alwatr-icon-button> - <div class="title">${titleTemplate}</div> - ${map(content.endIconList, (iconContent) => html`<alwatr-icon-button - class="trailing-icons" - .content=${iconContent} - ></alwatr-icon-button>`)} - </div> - <div class="headline">${headlineTemplate}</div> - </div> - `; - } -} - -export const alwatrTopAppBar = directive(AlwatrTopAppBarDirective); diff --git a/ui/ui-kit/src/top-app-bar2/type.ts b/ui/ui-kit/src/top-app-bar2/type.ts deleted file mode 100644 index 68c3f9fb..00000000 --- a/ui/ui-kit/src/top-app-bar2/type.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type {IconButtonContent} from '../button/icon-button.js'; - -export interface TopAppBarContent { - /** - * @default ```'small'``` - */ - type?: 'center' | 'small' | 'medium' | 'large'; - - /** - * @default ```""``` - */ - headline?: string; - - /** - * @default ```'loading'``` - */ - headlineKey?: string; - - /** - * @default ```{icon: 'arrow-back-outline', flipRtl: true, clickSignalId: 'back-click-event'}``` - */ - startIcon?: IconButtonContent; - - /** - * @default ```[]``` - */ - endIconList?: IconButtonContent[]; - - /** - * @default ```2``` - */ - tinted?: number; - - /** - * @default ```0``` - */ - elevated?: number; -} diff --git a/ui/ui-kit/style/helper/colors.css b/ui/ui-kit/style/helper/colors.css deleted file mode 100644 index 49df998a..00000000 --- a/ui/ui-kit/style/helper/colors.css +++ /dev/null @@ -1,180 +0,0 @@ -.primary { - background-color: var(--sys-color-primary); -} -.primary-text { - color: var(--sys-color-primary); -} -.on-primary { - background-color: var(--sys-color-on-primary); -} -.on-primary-text { - color: var(--sys-color-on-primary); -} -.primary-container { - background-color: var(--sys-color-primary-container); -} -.primary-container-text { - color: var(--sys-color-primary-container); -} -.on-primary-container { - background-color: var(--sys-color-on-primary-container); -} -.on-primary-container-text { - color: var(--sys-color-on-primary-container); -} -.secondary { - background-color: var(--sys-color-secondary); -} -.secondary-text { - color: var(--sys-color-secondary); -} -.on-secondary { - background-color: var(--sys-color-on-secondary); -} -.on-secondary-text { - color: var(--sys-color-on-secondary); -} -.secondary-container { - background-color: var(--sys-color-secondary-container); -} -.secondary-container-text { - color: var(--sys-color-secondary-container); -} -.on-secondary-container { - background-color: var(--sys-color-on-secondary-container); -} -.on-secondary-container-text { - color: var(--sys-color-on-secondary-container); -} -.tertiary { - background-color: var(--sys-color-tertiary); -} -.tertiary-text { - color: var(--sys-color-tertiary); -} -.on-tertiary { - background-color: var(--sys-color-on-tertiary); -} -.on-tertiary-text { - color: var(--sys-color-on-tertiary); -} -.tertiary-container { - background-color: var(--sys-color-tertiary-container); -} -.tertiary-container-text { - color: var(--sys-color-tertiary-container); -} -.on-tertiary-container { - background-color: var(--sys-color-on-tertiary-container); -} -.on-tertiary-container-text { - color: var(--sys-color-on-tertiary-container); -} -.error { - background-color: var(--sys-color-error); -} -.error-text { - color: var(--sys-color-error); -} -.error-container { - background-color: var(--sys-color-error-container); -} -.error-container-text { - color: var(--sys-color-error-container); -} -.on-error { - background-color: var(--sys-color-on-error); -} -.on-error-text { - color: var(--sys-color-on-error); -} -.on-error-container { - background-color: var(--sys-color-on-error-container); -} -.on-error-container-text { - color: var(--sys-color-on-error-container); -} -.background { - background-color: var(--sys-color-background); -} -.background-text { - color: var(--sys-color-background); -} -.on-background { - background-color: var(--sys-color-on-background); -} -.on-background-text { - color: var(--sys-color-on-background); -} -.surface { - background-color: var(--sys-color-surface); -} -.surface-text { - color: var(--sys-color-surface); -} -.on-surface { - background-color: var(--sys-color-on-surface); -} -.on-surface-text { - color: var(--sys-color-on-surface); -} -.surface-variant { - background-color: var(--sys-color-surface-variant); -} -.surface-variant-text { - color: var(--sys-color-surface-variant); -} -.on-surface-variant { - background-color: var(--sys-color-on-surface-variant); -} -.on-surface-variant-text { - color: var(--sys-color-on-surface-variant); -} -.outline { - background-color: var(--sys-color-outline); -} -.outline-text { - color: var(--sys-color-outline); -} -.inverse-on-surface { - background-color: var(--sys-color-inverse-on-surface); -} -.inverse-on-surface-text { - color: var(--sys-color-inverse-on-surface); -} -.inverse-surface { - background-color: var(--sys-color-inverse-surface); -} -.inverse-surface-text { - color: var(--sys-color-inverse-surface); -} -.inverse-primary { - background-color: var(--sys-color-inverse-primary); -} -.inverse-primary-text { - color: var(--sys-color-inverse-primary); -} -.shadow { - background-color: var(--sys-color-shadow); -} -.shadow-text { - color: var(--sys-color-shadow); -} -.surface-tint { - background-color: var(--sys-color-surface-tint); -} -.surface-tint-text { - color: var(--sys-color-surface-tint); -} -.outline-variant { - background-color: var(--sys-color-outline-variant); -} -.outline-variant-text { - color: var(--sys-color-outline-variant); -} -.scrim { - background-color: var(--sys-color-scrim); -} -.scrim-text { - color: var(--sys-color-scrim); -} diff --git a/ui/ui-kit/style/helper/demo.css b/ui/ui-kit/style/helper/demo.css deleted file mode 100644 index 8e5c4523..00000000 --- a/ui/ui-kit/style/helper/demo.css +++ /dev/null @@ -1,273 +0,0 @@ -body { - padding: calc(2 * var(--sys-spacing-track)); -} - -.container { - display: flex; - gap: calc(2 * var(--sys-spacing-track)); - height: 100%; - overflow-y: auto; -} - -.row { - flex-grow: 1; -} - -.box { - height: calc(6 * var(--sys-spacing-track)); -} - -.row:nth-child(1) .box:nth-child(1) { - background-color: hsl(var(--ref-palette-primary0)); -} -.row:nth-child(1) .box:nth-child(2) { - background-color: hsl(var(--ref-palette-primary10)); -} -.row:nth-child(1) .box:nth-child(3) { - background-color: hsl(var(--ref-palette-primary20)); -} -.row:nth-child(1) .box:nth-child(4) { - background-color: hsl(var(--ref-palette-primary25)); - display: none; -} -.row:nth-child(1) .box:nth-child(5) { - background-color: hsl(var(--ref-palette-primary30)); -} -.row:nth-child(1) .box:nth-child(6) { - background-color: hsl(var(--ref-palette-primary35)); - display: none; -} -.row:nth-child(1) .box:nth-child(7) { - background-color: hsl(var(--ref-palette-primary40)); -} -.row:nth-child(1) .box:nth-child(8) { - background-color: hsl(var(--ref-palette-primary50)); -} -.row:nth-child(1) .box:nth-child(9) { - background-color: hsl(var(--ref-palette-primary60)); -} -.row:nth-child(1) .box:nth-child(10) { - background-color: hsl(var(--ref-palette-primary70)); -} -.row:nth-child(1) .box:nth-child(11) { - background-color: hsl(var(--ref-palette-primary80)); -} -.row:nth-child(1) .box:nth-child(12) { - background-color: hsl(var(--ref-palette-primary90)); -} -.row:nth-child(1) .box:nth-child(13) { - background-color: hsl(var(--ref-palette-primary95)); -} -.row:nth-child(1) .box:nth-child(14) { - background-color: hsl(var(--ref-palette-primary98)); -} -.row:nth-child(1) .box:nth-child(15) { - background-color: hsl(var(--ref-palette-primary99)); -} -.row:nth-child(1) .box:nth-child(16) { - background-color: hsl(var(--ref-palette-primary100)); -} - -.row:nth-child(2) .box:nth-child(1) { - background-color: hsl(var(--ref-palette-secondary0)); -} -.row:nth-child(2) .box:nth-child(2) { - background-color: hsl(var(--ref-palette-secondary10)); -} -.row:nth-child(2) .box:nth-child(3) { - background-color: hsl(var(--ref-palette-secondary20)); -} -.row:nth-child(2) .box:nth-child(4) { - background-color: hsl(var(--ref-palette-secondary25)); - display: none; -} -.row:nth-child(2) .box:nth-child(5) { - background-color: hsl(var(--ref-palette-secondary30)); -} -.row:nth-child(2) .box:nth-child(6) { - background-color: hsl(var(--ref-palette-secondary35)); - display: none; -} -.row:nth-child(2) .box:nth-child(7) { - background-color: hsl(var(--ref-palette-secondary40)); -} -.row:nth-child(2) .box:nth-child(8) { - background-color: hsl(var(--ref-palette-secondary50)); -} -.row:nth-child(2) .box:nth-child(9) { - background-color: hsl(var(--ref-palette-secondary60)); -} -.row:nth-child(2) .box:nth-child(10) { - background-color: hsl(var(--ref-palette-secondary70)); -} -.row:nth-child(2) .box:nth-child(11) { - background-color: hsl(var(--ref-palette-secondary80)); -} -.row:nth-child(2) .box:nth-child(12) { - background-color: hsl(var(--ref-palette-secondary90)); -} -.row:nth-child(2) .box:nth-child(13) { - background-color: hsl(var(--ref-palette-secondary95)); -} -.row:nth-child(2) .box:nth-child(14) { - background-color: hsl(var(--ref-palette-secondary98)); -} -.row:nth-child(2) .box:nth-child(15) { - background-color: hsl(var(--ref-palette-secondary99)); -} -.row:nth-child(2) .box:nth-child(16) { - background-color: hsl(var(--ref-palette-secondary100)); -} - -.row:nth-child(3) .box:nth-child(1) { - background-color: hsl(var(--ref-palette-tertiary0)); -} -.row:nth-child(3) .box:nth-child(2) { - background-color: hsl(var(--ref-palette-tertiary10)); -} -.row:nth-child(3) .box:nth-child(3) { - background-color: hsl(var(--ref-palette-tertiary20)); -} -.row:nth-child(3) .box:nth-child(4) { - background-color: hsl(var(--ref-palette-tertiary25)); - display: none; -} -.row:nth-child(3) .box:nth-child(5) { - background-color: hsl(var(--ref-palette-tertiary30)); -} -.row:nth-child(3) .box:nth-child(6) { - background-color: hsl(var(--ref-palette-tertiary35)); - display: none; -} -.row:nth-child(3) .box:nth-child(7) { - background-color: hsl(var(--ref-palette-tertiary40)); -} -.row:nth-child(3) .box:nth-child(8) { - background-color: hsl(var(--ref-palette-tertiary50)); -} -.row:nth-child(3) .box:nth-child(9) { - background-color: hsl(var(--ref-palette-tertiary60)); -} -.row:nth-child(3) .box:nth-child(10) { - background-color: hsl(var(--ref-palette-tertiary70)); -} -.row:nth-child(3) .box:nth-child(11) { - background-color: hsl(var(--ref-palette-tertiary80)); -} -.row:nth-child(3) .box:nth-child(12) { - background-color: hsl(var(--ref-palette-tertiary90)); -} -.row:nth-child(3) .box:nth-child(13) { - background-color: hsl(var(--ref-palette-tertiary95)); -} -.row:nth-child(3) .box:nth-child(14) { - background-color: hsl(var(--ref-palette-tertiary98)); -} -.row:nth-child(3) .box:nth-child(15) { - background-color: hsl(var(--ref-palette-tertiary99)); -} -.row:nth-child(3) .box:nth-child(16) { - background-color: hsl(var(--ref-palette-tertiary100)); -} - -.row:nth-child(4) .box:nth-child(1) { - background-color: hsl(var(--ref-palette-neutral0)); -} -.row:nth-child(4) .box:nth-child(2) { - background-color: hsl(var(--ref-palette-neutral10)); -} -.row:nth-child(4) .box:nth-child(3) { - background-color: hsl(var(--ref-palette-neutral20)); -} -.row:nth-child(4) .box:nth-child(4) { - background-color: hsl(var(--ref-palette-neutral25)); - display: none; -} -.row:nth-child(4) .box:nth-child(5) { - background-color: hsl(var(--ref-palette-neutral30)); -} -.row:nth-child(4) .box:nth-child(6) { - background-color: hsl(var(--ref-palette-neutral35)); - display: none; -} -.row:nth-child(4) .box:nth-child(7) { - background-color: hsl(var(--ref-palette-neutral40)); -} -.row:nth-child(4) .box:nth-child(8) { - background-color: hsl(var(--ref-palette-neutral50)); -} -.row:nth-child(4) .box:nth-child(9) { - background-color: hsl(var(--ref-palette-neutral60)); -} -.row:nth-child(4) .box:nth-child(10) { - background-color: hsl(var(--ref-palette-neutral70)); -} -.row:nth-child(4) .box:nth-child(11) { - background-color: hsl(var(--ref-palette-neutral80)); -} -.row:nth-child(4) .box:nth-child(12) { - background-color: hsl(var(--ref-palette-neutral90)); -} -.row:nth-child(4) .box:nth-child(13) { - background-color: hsl(var(--ref-palette-neutral95)); -} -.row:nth-child(4) .box:nth-child(14) { - background-color: hsl(var(--ref-palette-neutral98)); -} -.row:nth-child(4) .box:nth-child(15) { - background-color: hsl(var(--ref-palette-neutral99)); -} -.row:nth-child(4) .box:nth-child(16) { - background-color: hsl(var(--ref-palette-neutral100)); -} - -.row:nth-child(5) .box:nth-child(1) { - background-color: hsl(var(--ref-palette-neutral-variant0)); -} -.row:nth-child(5) .box:nth-child(2) { - background-color: hsl(var(--ref-palette-neutral-variant10)); -} -.row:nth-child(5) .box:nth-child(3) { - background-color: hsl(var(--ref-palette-neutral-variant20)); -} -.row:nth-child(5) .box:nth-child(4) { - background-color: hsl(var(--ref-palette-neutral-variant25)); - display: none; -} -.row:nth-child(5) .box:nth-child(5) { - background-color: hsl(var(--ref-palette-neutral-variant30)); -} -.row:nth-child(5) .box:nth-child(6) { - background-color: hsl(var(--ref-palette-neutral-variant35)); - display: none; -} -.row:nth-child(5) .box:nth-child(7) { - background-color: hsl(var(--ref-palette-neutral-variant40)); -} -.row:nth-child(5) .box:nth-child(8) { - background-color: hsl(var(--ref-palette-neutral-variant50)); -} -.row:nth-child(5) .box:nth-child(9) { - background-color: hsl(var(--ref-palette-neutral-variant60)); -} -.row:nth-child(5) .box:nth-child(10) { - background-color: hsl(var(--ref-palette-neutral-variant70)); -} -.row:nth-child(5) .box:nth-child(11) { - background-color: hsl(var(--ref-palette-neutral-variant80)); -} -.row:nth-child(5) .box:nth-child(12) { - background-color: hsl(var(--ref-palette-neutral-variant90)); -} -.row:nth-child(5) .box:nth-child(13) { - background-color: hsl(var(--ref-palette-neutral-variant95)); -} -.row:nth-child(5) .box:nth-child(14) { - background-color: hsl(var(--ref-palette-neutral-variant98)); -} -.row:nth-child(5) .box:nth-child(15) { - background-color: hsl(var(--ref-palette-neutral-variant99)); -} -.row:nth-child(5) .box:nth-child(16) { - background-color: hsl(var(--ref-palette-neutral-variant100)); -} diff --git a/ui/ui-kit/style/helper/elevation-extra.css b/ui/ui-kit/style/helper/elevation-extra.css deleted file mode 100644 index 121c40a3..00000000 --- a/ui/ui-kit/style/helper/elevation-extra.css +++ /dev/null @@ -1,97 +0,0 @@ -:root { - --sys-surface-elevation-6: - 0px 3px 5px -1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 6px 10px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 18px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-7: - 0px 4px 5px -2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 7px 10px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 2px 16px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-8: - 0px 5px 5px -3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 8px 10px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 3px 14px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-9: - 0px 5px 6px -3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 9px 12px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 3px 16px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-10: - 0px 6px 6px -3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 10px 14px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 4px 18px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-11: - 0px 6px 7px -4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 11px 15px 1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 4px 20px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-12: - 0px 7px 8px -4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 12px 17px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 5px 22px 4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-13: - 0px 7px 8px -4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 13px 19px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 5px 24px 4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-14: - 0px 7px 9px -4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 14px 21px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 5px 26px 4px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-15: - 0px 8px 9px -5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 15px 22px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 6px 28px 5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-16: - 0px 8px 10px -5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 16px 24px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 6px 30px 5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-17: - 0px 8px 11px -5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 17px 26px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 6px 32px 5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-18: - 0px 9px 11px -5px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 18px 28px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 7px 34px 6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-19: - 0px 9px 12px -6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 19px 29px 2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 7px 36px 6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-20: - 0px 10px 13px -6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 20px 31px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 8px 38px 7px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-21: - 0px 10px 13px -6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 21px 33px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 8px 40px 7px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-22: - 0px 10px 14px -6px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 22px 35px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 8px 42px 7px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-23: - 0px 11px 14px -7px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 23px 36px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 9px 44px 8px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-24: - 0px 11px 15px -7px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 24px 38px 3px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 9px 46px 8px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; -} diff --git a/ui/ui-kit/style/helper/mdc-grid-temp.css b/ui/ui-kit/style/helper/mdc-grid-temp.css deleted file mode 100644 index 13181ab4..00000000 --- a/ui/ui-kit/style/helper/mdc-grid-temp.css +++ /dev/null @@ -1,718 +0,0 @@ -/** - https://m2.material.io/develop/web/supporting/layout-grid -*/ -:root { - --mdc-layout-grid-margin-desktop: 24px; - --mdc-layout-grid-gutter-desktop: 24px; - --mdc-layout-grid-column-width-desktop: 72px; - --mdc-layout-grid-margin-tablet: 16px; - --mdc-layout-grid-gutter-tablet: 16px; - --mdc-layout-grid-column-width-tablet: 72px; - --mdc-layout-grid-margin-phone: 16px; - --mdc-layout-grid-gutter-phone: 16px; - --mdc-layout-grid-column-width-phone: 72px; -} - -@media (min-width: 840px) { - .mdc-layout-grid { - box-sizing: border-box; - margin: 0 auto; - padding: 24px; - padding: var(--mdc-layout-grid-margin-desktop, 24px); - } -} -@media (min-width: 600px) and (max-width: 839px) { - .mdc-layout-grid { - box-sizing: border-box; - margin: 0 auto; - padding: 16px; - padding: var(--mdc-layout-grid-margin-tablet, 16px); - } -} -@media (max-width: 599px) { - .mdc-layout-grid { - box-sizing: border-box; - margin: 0 auto; - padding: 16px; - padding: var(--mdc-layout-grid-margin-phone, 16px); - } -} - -@media (min-width: 840px) { - .mdc-layout-grid__inner { - display: flex; - flex-flow: row wrap; - align-items: stretch; - margin: -12px; - margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2 * -1); - } - @supports (display: grid) { - .mdc-layout-grid__inner { - display: grid; - margin: 0; - grid-gap: 24px; - grid-gap: var(--mdc-layout-grid-gutter-desktop, 24px); - grid-template-columns: repeat(12, minmax(0, 1fr)); - } - } -} -@media (min-width: 600px) and (max-width: 839px) { - .mdc-layout-grid__inner { - display: flex; - flex-flow: row wrap; - align-items: stretch; - margin: -8px; - margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2 * -1); - } - @supports (display: grid) { - .mdc-layout-grid__inner { - display: grid; - margin: 0; - grid-gap: 16px; - grid-gap: var(--mdc-layout-grid-gutter-tablet, 16px); - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - } -} -@media (max-width: 599px) { - .mdc-layout-grid__inner { - display: flex; - flex-flow: row wrap; - align-items: stretch; - margin: -8px; - margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2 * -1); - } - @supports (display: grid) { - .mdc-layout-grid__inner { - display: grid; - margin: 0; - grid-gap: 16px; - grid-gap: var(--mdc-layout-grid-gutter-phone, 16px); - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - } -} - -@media (min-width: 840px) { - .mdc-layout-grid__cell { - width: calc(33.3333333333% - 24px); - width: calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); - box-sizing: border-box; - margin: 12px; - margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2); - } - @supports (display: grid) { - .mdc-layout-grid__cell { - width: auto; - grid-column-end: span 4; - } - } - @supports (display: grid) { - .mdc-layout-grid__cell { - margin: 0; - } - } - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-desktop { - width: calc(8.3333333333% - 24px); - width: calc(8.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-desktop { - width: auto; - grid-column-end: span 1; - } - } - - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-desktop { - width: calc(16.6666666667% - 24px); - width: calc(16.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-desktop { - width: auto; - grid-column-end: span 2; - } - } - - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-desktop { - width: calc(25% - 24px); - width: calc(25% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-desktop { - width: auto; - grid-column-end: span 3; - } - } - - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-desktop { - width: calc(33.3333333333% - 24px); - width: calc(33.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-desktop { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-desktop { - width: calc(41.6666666667% - 24px); - width: calc(41.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-desktop { - width: auto; - grid-column-end: span 5; - } - } - - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-desktop { - width: calc(50% - 24px); - width: calc(50% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-desktop { - width: auto; - grid-column-end: span 6; - } - } - - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-desktop { - width: calc(58.3333333333% - 24px); - width: calc(58.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-desktop { - width: auto; - grid-column-end: span 7; - } - } - - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-desktop { - width: calc(66.6666666667% - 24px); - width: calc(66.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-desktop { - width: auto; - grid-column-end: span 8; - } - } - - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-desktop { - width: calc(75% - 24px); - width: calc(75% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-desktop { - width: auto; - grid-column-end: span 9; - } - } - - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-desktop { - width: calc(83.3333333333% - 24px); - width: calc(83.3333333333% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-desktop { - width: auto; - grid-column-end: span 10; - } - } - - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-desktop { - width: calc(91.6666666667% - 24px); - width: calc(91.6666666667% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-desktop { - width: auto; - grid-column-end: span 11; - } - } - - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-desktop { - width: calc(100% - 24px); - width: calc(100% - var(--mdc-layout-grid-gutter-desktop, 24px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-desktop { - width: auto; - grid-column-end: span 12; - } - } -} -@media (min-width: 600px) and (max-width: 839px) { - .mdc-layout-grid__cell { - width: calc(50% - 16px); - width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px)); - box-sizing: border-box; - margin: 8px; - margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2); - } - @supports (display: grid) { - .mdc-layout-grid__cell { - width: auto; - grid-column-end: span 4; - } - } - @supports (display: grid) { - .mdc-layout-grid__cell { - margin: 0; - } - } - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-tablet { - width: calc(12.5% - 16px); - width: calc(12.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-tablet { - width: auto; - grid-column-end: span 1; - } - } - - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-tablet { - width: calc(25% - 16px); - width: calc(25% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-tablet { - width: auto; - grid-column-end: span 2; - } - } - - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-tablet { - width: calc(37.5% - 16px); - width: calc(37.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-tablet { - width: auto; - grid-column-end: span 3; - } - } - - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-tablet { - width: calc(50% - 16px); - width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-tablet { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-tablet { - width: calc(62.5% - 16px); - width: calc(62.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-tablet { - width: auto; - grid-column-end: span 5; - } - } - - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-tablet { - width: calc(75% - 16px); - width: calc(75% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-tablet { - width: auto; - grid-column-end: span 6; - } - } - - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-tablet { - width: calc(87.5% - 16px); - width: calc(87.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-tablet { - width: auto; - grid-column-end: span 7; - } - } - - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-tablet { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-tablet { - width: auto; - grid-column-end: span 8; - } - } - - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-tablet { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-tablet { - width: auto; - grid-column-end: span 8; - } - } - - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-tablet { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-tablet { - width: auto; - grid-column-end: span 8; - } - } - - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-tablet { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-tablet { - width: auto; - grid-column-end: span 8; - } - } - - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-tablet { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-tablet { - width: auto; - grid-column-end: span 8; - } - } -} -@media (max-width: 599px) { - .mdc-layout-grid__cell { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - box-sizing: border-box; - margin: 8px; - margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2); - } - @supports (display: grid) { - .mdc-layout-grid__cell { - width: auto; - grid-column-end: span 4; - } - } - @supports (display: grid) { - .mdc-layout-grid__cell { - margin: 0; - } - } - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-phone { - width: calc(25% - 16px); - width: calc(25% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-1, - .mdc-layout-grid__cell--span-1-phone { - width: auto; - grid-column-end: span 1; - } - } - - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-phone { - width: calc(50% - 16px); - width: calc(50% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-2, - .mdc-layout-grid__cell--span-2-phone { - width: auto; - grid-column-end: span 2; - } - } - - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-phone { - width: calc(75% - 16px); - width: calc(75% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-3, - .mdc-layout-grid__cell--span-3-phone { - width: auto; - grid-column-end: span 3; - } - } - - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-4, - .mdc-layout-grid__cell--span-4-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-5, - .mdc-layout-grid__cell--span-5-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-6, - .mdc-layout-grid__cell--span-6-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-7, - .mdc-layout-grid__cell--span-7-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-8, - .mdc-layout-grid__cell--span-8-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-9, - .mdc-layout-grid__cell--span-9-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-10, - .mdc-layout-grid__cell--span-10-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-11, - .mdc-layout-grid__cell--span-11-phone { - width: auto; - grid-column-end: span 4; - } - } - - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-phone { - width: calc(100% - 16px); - width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); - } - @supports (display: grid) { - .mdc-layout-grid__cell--span-12, - .mdc-layout-grid__cell--span-12-phone { - width: auto; - grid-column-end: span 4; - } - } -} -.mdc-layout-grid__cell--order-1 { - order: 1; -} -.mdc-layout-grid__cell--order-2 { - order: 2; -} -.mdc-layout-grid__cell--order-3 { - order: 3; -} -.mdc-layout-grid__cell--order-4 { - order: 4; -} -.mdc-layout-grid__cell--order-5 { - order: 5; -} -.mdc-layout-grid__cell--order-6 { - order: 6; -} -.mdc-layout-grid__cell--order-7 { - order: 7; -} -.mdc-layout-grid__cell--order-8 { - order: 8; -} -.mdc-layout-grid__cell--order-9 { - order: 9; -} -.mdc-layout-grid__cell--order-10 { - order: 10; -} -.mdc-layout-grid__cell--order-11 { - order: 11; -} -.mdc-layout-grid__cell--order-12 { - order: 12; -} -.mdc-layout-grid__cell--align-top { - align-self: flex-start; -} -@supports (display: grid) { - .mdc-layout-grid__cell--align-top { - align-self: start; - } -} -.mdc-layout-grid__cell--align-middle { - align-self: center; -} -.mdc-layout-grid__cell--align-bottom { - align-self: flex-end; -} -@supports (display: grid) { - .mdc-layout-grid__cell--align-bottom { - align-self: end; - } -} - -@media (min-width: 840px) { - .mdc-layout-grid--fixed-column-width { - width: 1176px; - width: calc( - var(--mdc-layout-grid-column-width-desktop, 72px) * 12 + - var(--mdc-layout-grid-gutter-desktop, 24px) * 11 + - var(--mdc-layout-grid-margin-desktop, 24px) * 2 - ); - } -} -@media (min-width: 600px) and (max-width: 839px) { - .mdc-layout-grid--fixed-column-width { - width: 720px; - width: calc( - var(--mdc-layout-grid-column-width-tablet, 72px) * 8 + - var(--mdc-layout-grid-gutter-tablet, 16px) * 7 + - var(--mdc-layout-grid-margin-tablet, 16px) * 2 - ); - } -} -@media (max-width: 599px) { - .mdc-layout-grid--fixed-column-width { - width: 368px; - width: calc( - var(--mdc-layout-grid-column-width-phone, 72px) * 4 + - var(--mdc-layout-grid-gutter-phone, 16px) * 3 + - var(--mdc-layout-grid-margin-phone, 16px) * 2 - ); - } -} - -.mdc-layout-grid--align-left { - margin-right: auto; - margin-left: 0; -} - -.mdc-layout-grid--align-right { - margin-right: 0; - margin-left: auto; -} - -/*# sourceMappingURL=mdc.layout-grid.css.map*/ diff --git a/ui/ui-kit/style/helper/typography.css b/ui/ui-kit/style/helper/typography.css deleted file mode 100644 index f6db49d9..00000000 --- a/ui/ui-kit/style/helper/typography.css +++ /dev/null @@ -1,105 +0,0 @@ -.display-large { - font-family: var(--sys-typescale-display-large-font-family-name); - font-weight: var(--sys-typescale-display-large-font-weight); - font-size: var(--sys-typescale-display-large-font-size); - letter-spacing: var(--sys-typescale-display-large-letter-spacing); - line-height: var(--sys-typescale-display-large-line-height); -} -.display-medium { - font-family: var(--sys-typescale-display-medium-font-family-name); - font-weight: var(--sys-typescale-display-medium-font-weight); - font-size: var(--sys-typescale-display-medium-font-size); - letter-spacing: var(--sys-typescale-display-medium-letter-spacing); - line-height: var(--sys-typescale-display-medium-line-height); -} -.display-small { - font-family: var(--sys-typescale-display-small-font-family-name); - font-weight: var(--sys-typescale-display-small-font-weight); - font-size: var(--sys-typescale-display-small-font-size); - letter-spacing: var(--sys-typescale-display-small-letter-spacing); - line-height: var(--sys-typescale-display-small-line-height); -} -.headline-large { - font-family: var(--sys-typescale-headline-large-font-family-name); - font-weight: var(--sys-typescale-headline-large-font-weight); - font-size: var(--sys-typescale-headline-large-font-size); - letter-spacing: var(--sys-typescale-headline-large-letter-spacing); - line-height: var(--sys-typescale-headline-large-line-height); -} -.headline-medium { - font-family: var(--sys-typescale-headline-medium-font-family-name); - font-weight: var(--sys-typescale-headline-medium-font-weight); - font-size: var(--sys-typescale-headline-medium-font-size); - letter-spacing: var(--sys-typescale-headline-medium-letter-spacing); - line-height: var(--sys-typescale-headline-medium-line-height); -} -.headline-small { - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); -} -.body-large { - font-family: var(--sys-typescale-body-large-font-family-name); - font-weight: var(--sys-typescale-body-large-font-weight); - font-size: var(--sys-typescale-body-large-font-size); - letter-spacing: var(--sys-typescale-body-large-letter-spacing); - line-height: var(--sys-typescale-body-large-line-height); -} -.body-medium { - font-family: var(--sys-typescale-body-medium-font-family-name); - font-weight: var(--sys-typescale-body-medium-font-weight); - font-size: var(--sys-typescale-body-medium-font-size); - letter-spacing: var(--sys-typescale-body-medium-letter-spacing); - line-height: var(--sys-typescale-body-medium-line-height); -} -.body-small { - font-family: var(--sys-typescale-body-small-font-family-name); - font-weight: var(--sys-typescale-body-small-font-weight); - font-size: var(--sys-typescale-body-small-font-size); - letter-spacing: var(--sys-typescale-body-small-letter-spacing); - line-height: var(--sys-typescale-body-small-line-height); -} -.label-large { - font-family: var(--sys-typescale-label-large-font-family-name); - font-weight: var(--sys-typescale-label-large-font-weight); - font-size: var(--sys-typescale-label-large-font-size); - letter-spacing: var(--sys-typescale-label-large-letter-spacing); - line-height: var(--sys-typescale-label-large-line-height); -} -.label-medium { - font-family: var(--sys-typescale-label-medium-font-family-name); - font-weight: var(--sys-typescale-label-medium-font-weight); - font-size: var(--sys-typescale-label-medium-font-size); - letter-spacing: var(--sys-typescale-label-medium-letter-spacing); - line-height: var(--sys-typescale-label-medium-line-height); -} -.label-small { - font-family: var(--sys-typescale-label-small-font-family-name); - font-weight: var(--sys-typescale-label-small-font-weight); - font-size: var(--sys-typescale-label-small-font-size); - letter-spacing: var(--sys-typescale-label-small-letter-spacing); - line-height: var(--sys-typescale-label-small-line-height); -} -.title-large { - font-family: var(--sys-typescale-title-large-font-family-name); - font-weight: var(--sys-typescale-title-large-font-weight); - font-size: var(--sys-typescale-title-large-font-size); - letter-spacing: var(--sys-typescale-title-large-letter-spacing); - line-height: var(--sys-typescale-title-large-line-height); -} -.title-medium { - font-family: var(--sys-typescale-title-medium-font-family-name); - font-weight: var(--sys-typescale-title-medium-font-weight); - font-size: var(--sys-typescale-title-medium-font-size); - letter-spacing: var(--sys-typescale-title-medium-letter-spacing); - line-height: var(--sys-typescale-title-medium-line-height); -} -.title-small { - font-family: var(--sys-typescale-title-small-font-family-name); - font-weight: var(--sys-typescale-title-small-font-weight); - font-size: var(--sys-typescale-title-small-font-size); - letter-spacing: var(--sys-typescale-title-small-letter-spacing); - line-height: var(--sys-typescale-title-small-line-height); -} diff --git a/ui/ui-kit/style/mobile-only.css b/ui/ui-kit/style/mobile-only.css deleted file mode 100644 index 397ae7de..00000000 --- a/ui/ui-kit/style/mobile-only.css +++ /dev/null @@ -1,4 +0,0 @@ -body { - max-width: var(--sys-breakpoint-handset); - margin: 0 auto; -} diff --git a/ui/ui-kit/style/pwa.css b/ui/ui-kit/style/pwa.css deleted file mode 100644 index 4c0c1d77..00000000 --- a/ui/ui-kit/style/pwa.css +++ /dev/null @@ -1,77 +0,0 @@ -* { - -webkit-tap-highlight-color: transparent; - -webkit-touch-callout: none; -} - -html, -body { - margin: 0; - padding: 0; - width: 100%; - height: 100%; - max-width: 100%; - max-height: 100%; - box-sizing: border-box; -} - -html { - font-size: 62.5%; /* 10px */ - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - text-size-adjust: 100%; -} - -body { - contain: size layout paint style; - text-rendering: optimizeLegibility; - font-smoothing: antialiased; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - word-wrap: break-word; - text-size-adjust: none; - -webkit-text-size-adjust: none; - -webkit-user-drag: none; - -ms-content-zooming: none; - -ms-touch-action: pan-x pan-y pinch-zoom; - touch-action: pan-x pan-y pinch-zoom; - transform: translateZ(0); - overflow: hidden; - overflow: clip; - overscroll-behavior: contain; - - /* Theme */ - color: var(--sys-color-on-background); - background-color: var(--sys-color-background); - font-family: var(--sys-typescale-body-medium-font-family-name); - font-weight: var(--sys-typescale-body-medium-font-weight); - font-size: var(--sys-typescale-body-medium-font-size); - letter-spacing: var(--sys-typescale-body-medium-letter-spacing); - line-height: var(--sys-typescale-body-medium-line-height); -} - -.noscript { - text-align: center; - font-size: 2rem; - padding: 4rem 2rem; -} - -.noscript p { - margin: 0.5em 0; -} - -body.no-scroll { - overflow: hidden; -} - -[unresolved] { - display: block; - padding: calc(2 * var(--sys-spacing-track)); - text-align: center; - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - /* TODO: skeleton */ -} diff --git a/ui/ui-kit/style/theme/color.css b/ui/ui-kit/style/theme/color.css deleted file mode 100644 index b417ecba..00000000 --- a/ui/ui-kit/style/theme/color.css +++ /dev/null @@ -1,124 +0,0 @@ -:root { - /* theme light */ - --sys-color-primary-hsl: var(--ref-palette-primary40); - --sys-color-on-primary-hsl: var(--ref-palette-primary100); - --sys-color-primary-container-hsl: var(--ref-palette-primary90); - --sys-color-on-primary-container-hsl: var(--ref-palette-primary10); - - --sys-color-secondary-hsl: var(--ref-palette-secondary40); - --sys-color-on-secondary-hsl: var(--ref-palette-secondary100); - --sys-color-secondary-container-hsl: var(--ref-palette-secondary90); - --sys-color-on-secondary-container-hsl: var(--ref-palette-secondary10); - - --sys-color-tertiary-hsl: var(--ref-palette-tertiary40); - --sys-color-on-tertiary-hsl: var(--ref-palette-tertiary100); - --sys-color-tertiary-container-hsl: var(--ref-palette-tertiary90); - --sys-color-on-tertiary-container-hsl: var(--ref-palette-tertiary10); - - --sys-color-background-hsl: var(--ref-palette-neutral99); - --sys-color-on-background-hsl: var(--ref-palette-neutral10); - - --sys-color-surface-hsl: var(--ref-palette-neutral99); - --sys-color-on-surface-hsl: var(--ref-palette-neutral10); - - --sys-color-surface-variant-hsl: var(--ref-palette-neutral-variant90); - --sys-color-on-surface-variant-hsl: var(--ref-palette-neutral-variant30); - - --sys-color-outline-hsl: var(--ref-palette-neutral-variant50); - --sys-color-outline-variant-hsl: var(--ref-palette-neutral-variant80); - - --sys-color-error-hsl: var(--ref-palette-error40); - --sys-color-error-container-hsl: var(--ref-palette-error90); - --sys-color-on-error-hsl: var(--ref-palette-error100); - --sys-color-on-error-container-hsl: var(--ref-palette-error10); - - --sys-color-inverse-primary-hsl: var(--ref-palette-primary80); - --sys-color-inverse-surface-hsl: var(--ref-palette-neutral20); - --sys-color-inverse-on-surface-hsl: var(--ref-palette-neutral95); - - --sys-color-surface-tint-hsl: var(--sys-color-primary-hsl); - --sys-color-shadow-hsl: var(--ref-palette-neutral0); - --sys-color-scrim-hsl: var(--ref-palette-neutral0); - - /* make colors from hsl vars */ - --sys-color-primary: hsl(var(--sys-color-primary-hsl)); - --sys-color-on-primary: hsl(var(--sys-color-on-primary-hsl)); - --sys-color-primary-container: hsl(var(--sys-color-primary-container-hsl)); - --sys-color-on-primary-container: hsl(var(--sys-color-on-primary-container-hsl)); - - --sys-color-secondary: hsl(var(--sys-color-secondary-hsl)); - --sys-color-on-secondary: hsl(var(--sys-color-on-secondary-hsl)); - --sys-color-secondary-container: hsl(var(--sys-color-secondary-container-hsl)); - --sys-color-on-secondary-container: hsl(var(--sys-color-on-secondary-container-hsl)); - - --sys-color-tertiary: hsl(var(--sys-color-tertiary-hsl)); - --sys-color-on-tertiary: hsl(var(--sys-color-on-tertiary-hsl)); - --sys-color-tertiary-container: hsl(var(--sys-color-tertiary-container-hsl)); - --sys-color-on-tertiary-container: hsl(var(--sys-color-on-tertiary-container-hsl)); - - --sys-color-background: hsl(var(--sys-color-background-hsl)); - --sys-color-on-background: hsl(var(--sys-color-on-background-hsl)); - - --sys-color-surface: hsl(var(--sys-color-surface-hsl)); - --sys-color-on-surface: hsl(var(--sys-color-on-surface-hsl)); - - --sys-color-surface-variant: hsl(var(--sys-color-surface-variant-hsl)); - --sys-color-on-surface-variant: hsl(var(--sys-color-on-surface-variant-hsl)); - - --sys-color-outline: hsl(var(--sys-color-outline-hsl)); - --sys-color-outline-variant: hsl(var(--sys-color-outline-variant-hsl)); - - --sys-color-error: hsl(var(--sys-color-error-hsl)); - --sys-color-error-container: hsl(var(--sys-color-error-container-hsl)); - --sys-color-on-error: hsl(var(--sys-color-on-error-hsl)); - --sys-color-on-error-container: hsl(var(--sys-color-on-error-container-hsl)); - - --sys-color-inverse-primary: hsl(var(--sys-color-inverse-primary-hsl)); - --sys-color-inverse-surface: hsl(var(--sys-color-inverse-surface-hsl)); - --sys-color-inverse-on-surface: hsl(var(--sys-color-inverse-on-surface-hsl)); - - --sys-color-surface-tint: hsl(var(--sys-color-surface-tint-hsl)); - --sys-color-shadow: hsl(var(--sys-color-shadow-hsl)); - --sys-color-scrim: hsl(var(--sys-color-scrim-hsl)); -} - -@media (prefers-color-scheme: dark) { - :root { - /* theme dark */ - --sys-color-primary-hsl: var(--ref-palette-primary80); - --sys-color-on-primary-hsl: var(--ref-palette-primary20); - --sys-color-primary-container-hsl: var(--ref-palette-primary30); - --sys-color-on-primary-container-hsl: var(--ref-palette-primary90); - - --sys-color-secondary-hsl: var(--ref-palette-secondary80); - --sys-color-on-secondary-hsl: var(--ref-palette-secondary20); - --sys-color-secondary-container-hsl: var(--ref-palette-secondary30); - --sys-color-on-secondary-container-hsl: var(--ref-palette-secondary90); - - --sys-color-tertiary-hsl: var(--ref-palette-tertiary80); - --sys-color-on-tertiary-hsl: var(--ref-palette-tertiary20); - --sys-color-tertiary-container-hsl: var(--ref-palette-tertiary30); - --sys-color-on-tertiary-container-hsl: var(--ref-palette-tertiary90); - - --sys-color-background-hsl: var(--ref-palette-neutral10); - --sys-color-on-background-hsl: var(--ref-palette-neutral90); - - --sys-color-surface-hsl: var(--ref-palette-neutral10); - --sys-color-on-surface-hsl: var(--ref-palette-neutral90); - - --sys-color-surface-variant-hsl: var(--ref-palette-neutral-variant30); - --sys-color-on-surface-variant-hsl: var(--ref-palette-neutral-variant80); - - --sys-color-outline-hsl: var(--ref-palette-neutral-variant60); - --sys-color-outline-variant-hsl: var(--ref-palette-neutral-variant30); - - --sys-color-error-hsl: var(--ref-palette-error80); - --sys-color-error-container-hsl: var(--ref-palette-error30); - --sys-color-on-error-hsl: var(--ref-palette-error20); - --sys-color-on-error-container-hsl: var(--ref-palette-error90); - - --sys-color-inverse-primary-hsl: var(--ref-palette-primary40); - --sys-color-inverse-surface-hsl: var(--ref-palette-neutral90); - --sys-color-inverse-on-surface-hsl: var(--ref-palette-neutral20); - } -} diff --git a/ui/ui-kit/style/theme/palette-260.css b/ui/ui-kit/style/theme/palette-260.css deleted file mode 100644 index 3a683a8d..00000000 --- a/ui/ui-kit/style/theme/palette-260.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - /* HCT 260 */ - - /* primary */ - --ref-palette-primary0: 0, 0%, 0%; - --ref-palette-primary10: 211.5, 100%, 11.6%; - --ref-palette-primary20: 209.7, 100%, 18.6%; - --ref-palette-primary25: 208.7, 100%, 22.5%; - --ref-palette-primary30: 208.4, 100%, 26.5%; - --ref-palette-primary35: 209.2, 88.9%, 31.8%; - --ref-palette-primary40: 212, 66.8%, 39%; - --ref-palette-primary50: 214.2, 50.8%, 50.6%; - --ref-palette-primary60: 215.2, 65.3%, 61.6%; - --ref-palette-primary70: 215.6, 91.4%, 72.5%; - --ref-palette-primary80: 217.1, 100%, 82.5%; - --ref-palette-primary90: 220, 100%, 91.8%; - --ref-palette-primary95: 222, 100%, 96.1%; - --ref-palette-primary98: 240, 100%, 98.8%; - --ref-palette-primary99: 270, 100%, 99.2%; - --ref-palette-primary100: 0, 0%, 100%; - - /* secondary */ - --ref-palette-secondary0: 0, 0%, 0%; - --ref-palette-secondary10: 216, 41%, 12%; - --ref-palette-secondary20: 216.9, 25%, 20.4%; - --ref-palette-secondary25: 216.9, 20.6%, 24.7%; - --ref-palette-secondary30: 217.8, 18.1%, 29.2%; - --ref-palette-secondary35: 217.8, 15.6%, 33.9%; - --ref-palette-secondary40: 218.6, 14.1%, 38.8%; - --ref-palette-secondary50: 219.3, 11.7%, 48.4%; - --ref-palette-secondary60: 220, 14.3%, 58.8%; - --ref-palette-secondary70: 218.7, 19.7%, 69.2%; - --ref-palette-secondary80: 220.6, 30.7%, 80.2%; - --ref-palette-secondary90: 220.6, 68.9%, 91.2%; - --ref-palette-secondary95: 222, 100%, 96.1%; - --ref-palette-secondary98: 240, 100%, 98.8%; - --ref-palette-secondary99: 270, 100%, 99.2%; - --ref-palette-secondary100: 0, 0%, 100%; - - /* tertiary */ - --ref-palette-tertiary0: 0, 0%, 0%; - --ref-palette-tertiary10: 282.9, 42.4%, 12.9%; - --ref-palette-tertiary20: 282, 27.3%, 21.6%; - --ref-palette-tertiary25: 284, 22.7%, 25.9%; - --ref-palette-tertiary30: 284, 19.2%, 30.6%; - --ref-palette-tertiary35: 284.5, 17.3%, 35.1%; - --ref-palette-tertiary40: 285, 15.7%, 40%; - --ref-palette-tertiary50: 285.9, 13.4%, 49.8%; - --ref-palette-tertiary60: 287.6, 16.7%, 60%; - --ref-palette-tertiary70: 286.7, 24%, 70.6%; - --ref-palette-tertiary80: 287, 38.9%, 81.4%; - --ref-palette-tertiary90: 287.7, 100%, 92.4%; - --ref-palette-tertiary95: 297, 100%, 96.1%; - --ref-palette-tertiary98: 330, 100%, 98.4%; - --ref-palette-tertiary99: 300, 100%, 99.2%; - --ref-palette-tertiary100: 0, 0%, 100%; - - /* neutral */ - --ref-palette-neutral0: 0, 0%, 0%; - --ref-palette-neutral10: 210, 7.1%, 11%; - --ref-palette-neutral20: 225, 4.1%, 19.2%; - --ref-palette-neutral25: 225, 3.3%, 23.5%; - --ref-palette-neutral30: 225, 2.8%, 28.2%; - --ref-palette-neutral35: 228, 3%, 32.7%; - --ref-palette-neutral40: 240, 2.1%, 37.6%; - --ref-palette-neutral50: 225, 1.7%, 47.1%; - --ref-palette-neutral60: 240, 1.8%, 57.3%; - --ref-palette-neutral70: 240, 1.8%, 67.6%; - --ref-palette-neutral80: 255, 3.6%, 78.4%; - --ref-palette-neutral90: 255, 7.4%, 89.4%; - --ref-palette-neutral95: 255, 15.4%, 94.9%; - --ref-palette-neutral98: 255, 50%, 98.4%; - --ref-palette-neutral99: 270, 100%, 99.2%; - --ref-palette-neutral100: 0, 0%, 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: 0, 0%, 0%; - --ref-palette-neutral-variant10: 216, 17.2%, 11.4%; - --ref-palette-neutral-variant20: 223.6, 10.9%, 19.8%; - --ref-palette-neutral-variant25: 223.6, 8.9%, 24.1%; - --ref-palette-neutral-variant30: 218.2, 7.6%, 28.4%; - --ref-palette-neutral-variant35: 223.6, 6.5%, 33.1%; - --ref-palette-neutral-variant40: 223.6, 5.7%, 37.8%; - --ref-palette-neutral-variant50: 223.6, 4.5%, 47.6%; - --ref-palette-neutral-variant60: 220, 5.6%, 57.6%; - --ref-palette-neutral-variant70: 225, 7.4%, 68.2%; - --ref-palette-neutral-variant80: 229.1, 10.3%, 79%; - --ref-palette-neutral-variant90: 230, 24%, 90.2%; - --ref-palette-neutral-variant95: 230, 54.5%, 95.7%; - --ref-palette-neutral-variant98: 240, 100%, 98.8%; - --ref-palette-neutral-variant99: 270, 100%, 99.2%; - --ref-palette-neutral-variant100: 0, 0%, 100%; - - /* error */ - --ref-palette-error0: 0, 0%, 0%; - --ref-palette-error10: 358.2, 100%, 12.7%; - --ref-palette-error20: 357.1, 100%, 20.6%; - --ref-palette-error25: 356.7, 100%, 24.7%; - --ref-palette-error30: 355.9, 100%, 28.8%; - --ref-palette-error35: 356.6, 92%, 34.3%; - --ref-palette-error40: 0, 75.5%, 41.6%; - --ref-palette-error50: 2.4, 72.5%, 52.9%; - --ref-palette-error60: 3.6, 100%, 64.3%; - --ref-palette-error70: 5.5, 100%, 74.5%; - --ref-palette-error80: 6.4, 100%, 83.5%; - --ref-palette-error90: 5.9, 100%, 92%; - --ref-palette-error95: 8.6, 100%, 95.9%; - --ref-palette-error98: 7.5, 100%, 98.4%; - --ref-palette-error99: 300, 100%, 99.2%; - --ref-palette-error100: 0, 0%, 100%; -} diff --git a/ui/ui-kit/style/theme/palette-270.css b/ui/ui-kit/style/theme/palette-270.css deleted file mode 100644 index 0e3b9160..00000000 --- a/ui/ui-kit/style/theme/palette-270.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - /* HCT 260 */ - - /* primary */ - --ref-palette-primary0: 0, 0%, 0%; - --ref-palette-primary10: 218.9, 100%, 13.9%; - --ref-palette-primary20: 216.6, 100%, 22.2%; - --ref-palette-primary25: 217.4, 87.1%, 27.5%; - --ref-palette-primary30: 219.7, 67.3%, 33.5%; - --ref-palette-primary35: 220.9, 56.8%, 39%; - --ref-palette-primary40: 221.8, 49.6%, 44.3%; - --ref-palette-primary50: 222.7, 48.1%, 54.7%; - --ref-palette-primary60: 223, 63.8%, 65.3%; - --ref-palette-primary70: 223.3, 95%, 76.3%; - --ref-palette-primary80: 224.6, 100%, 84.7%; - --ref-palette-primary90: 227, 100%, 92.7%; - --ref-palette-primary95: 232.9, 100%, 96.7%; - --ref-palette-primary98: 257.1, 100%, 98.6%; - --ref-palette-primary99: 285, 100%, 99.2%; - --ref-palette-primary100: 0, 0%, 100%; - - /* secondary */ - --ref-palette-secondary0: 0, 0%, 0%; - --ref-palette-secondary10: 224.3, 35.4%, 12.7%; - --ref-palette-secondary20: 225, 22.2%, 21.2%; - --ref-palette-secondary25: 225, 18.5%, 25.5%; - --ref-palette-secondary30: 225.6, 16.3%, 30%; - --ref-palette-secondary35: 225.6, 14.1%, 34.7%; - --ref-palette-secondary40: 225.6, 12.4%, 39.4%; - --ref-palette-secondary50: 224.4, 10.8%, 49.2%; - --ref-palette-secondary60: 226.7, 13%, 59.4%; - --ref-palette-secondary70: 227.1, 18.4%, 70.2%; - --ref-palette-secondary80: 227.1, 28.6%, 80.8%; - --ref-palette-secondary90: 227.6, 70.7%, 92%; - --ref-palette-secondary95: 232.9, 100%, 96.7%; - --ref-palette-secondary98: 257.1, 100%, 98.6%; - --ref-palette-secondary99: 285, 100%, 99.2%; - --ref-palette-secondary100: 0, 0%, 100%; - - /* tertiary */ - --ref-palette-tertiary0: 0, 0%, 0%; - --ref-palette-tertiary10: 295.4, 41.9%, 12.2%; - --ref-palette-tertiary20: 297.8, 25.7%, 20.6%; - --ref-palette-tertiary25: 300, 21.3%, 24.9%; - --ref-palette-tertiary30: 300, 18.7%, 29.4%; - --ref-palette-tertiary35: 302.1, 16.6%, 34.3%; - --ref-palette-tertiary40: 302, 15%, 39.2%; - --ref-palette-tertiary50: 303.8, 12.8%, 49%; - --ref-palette-tertiary60: 303.5, 16.3%, 59.2%; - --ref-palette-tertiary70: 305, 23.4%, 69.8%; - --ref-palette-tertiary80: 304.9, 37.4%, 80.6%; - --ref-palette-tertiary90: 306.2, 95.1%, 92%; - --ref-palette-tertiary95: 315, 100%, 96.1%; - --ref-palette-tertiary98: 337.5, 100%, 98.4%; - --ref-palette-tertiary99: 300, 100%, 99.2%; - --ref-palette-tertiary100: 0, 0%, 100%; - - /* neutral */ - --ref-palette-neutral0: 0, 0%, 0%; - --ref-palette-neutral10: 240, 6.9%, 11.4%; - --ref-palette-neutral20: 240, 4%, 19.6%; - --ref-palette-neutral25: 240, 3.3%, 23.9%; - --ref-palette-neutral30: 240, 2.8%, 28.2%; - --ref-palette-neutral35: 240, 2.4%, 32.9%; - --ref-palette-neutral40: 240, 2.1%, 37.6%; - --ref-palette-neutral50: 240, 1.2%, 47.3%; - --ref-palette-neutral60: 255, 1.8%, 57.3%; - --ref-palette-neutral70: 264, 3%, 67.6%; - --ref-palette-neutral80: 255, 3.6%, 78.4%; - --ref-palette-neutral90: 270, 7.4%, 89.4%; - --ref-palette-neutral95: 270, 15.4%, 94.9%; - --ref-palette-neutral98: 276, 55.6%, 98.2%; - --ref-palette-neutral99: 285, 100%, 99.2%; - --ref-palette-neutral100: 0, 0%, 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: 0, 0%, 0%; - --ref-palette-neutral-variant10: 228, 16.7%, 11.8%; - --ref-palette-neutral-variant20: 228, 9.8%, 20%; - --ref-palette-neutral-variant25: 228, 8.1%, 24.3%; - --ref-palette-neutral-variant30: 229.1, 7.5%, 28.8%; - --ref-palette-neutral-variant35: 228, 5.9%, 33.3%; - --ref-palette-neutral-variant40: 229.1, 5.6%, 38.2%; - --ref-palette-neutral-variant50: 229.1, 4.5%, 48%; - --ref-palette-neutral-variant60: 234, 4.7%, 58%; - --ref-palette-neutral-variant70: 234, 6.3%, 68.6%; - --ref-palette-neutral-variant80: 234.5, 10.5%, 79.4%; - --ref-palette-neutral-variant90: 234.5, 22.4%, 90.4%; - --ref-palette-neutral-variant95: 240, 50%, 96.1%; - --ref-palette-neutral-variant98: 257.1, 100%, 98.6%; - --ref-palette-neutral-variant99: 285, 100%, 99.2%; - --ref-palette-neutral-variant100: 0, 0%, 100%; - - /* error */ - --ref-palette-error0: 0, 0%, 0%; - --ref-palette-error10: 358.2, 100%, 12.7%; - --ref-palette-error20: 357.1, 100%, 20.6%; - --ref-palette-error25: 356.7, 100%, 24.7%; - --ref-palette-error30: 355.9, 100%, 28.8%; - --ref-palette-error35: 356.6, 92%, 34.3%; - --ref-palette-error40: 0, 75.5%, 41.6%; - --ref-palette-error50: 2.4, 72.5%, 52.9%; - --ref-palette-error60: 3.6, 100%, 64.3%; - --ref-palette-error70: 5.5, 100%, 74.5%; - --ref-palette-error80: 6.4, 100%, 83.5%; - --ref-palette-error90: 5.9, 100%, 92%; - --ref-palette-error95: 8.6, 100%, 95.9%; - --ref-palette-error98: 7.5, 100%, 98.4%; - --ref-palette-error99: 300, 100%, 99.2%; - --ref-palette-error100: 0, 0%, 100%; -} diff --git a/ui/ui-kit/style/theme/palette-300.css b/ui/ui-kit/style/theme/palette-300.css deleted file mode 100644 index f642c51d..00000000 --- a/ui/ui-kit/style/theme/palette-300.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - /* HCT 300 */ - - /* primary */ - --ref-palette-primary0: 0, 0%, 0%; - --ref-palette-primary10: 262.8, 100%, 18%; - --ref-palette-primary20: 259.8, 59.4%, 28%; - --ref-palette-primary25: 258.6, 50%, 32.9%; - --ref-palette-primary30: 258.1, 43%, 37.8%; - --ref-palette-primary35: 257.9, 38.5%, 42.7%; - --ref-palette-primary40: 257.6, 35%, 47.6%; - --ref-palette-primary50: 257.9, 40.5%, 57.8%; - --ref-palette-primary60: 257.5, 55.3%, 68.4%; - --ref-palette-primary70: 257.6, 86.8%, 79.2%; - --ref-palette-primary80: 257.9, 100%, 86.9%; - --ref-palette-primary90: 261.2, 100%, 93.3%; - --ref-palette-primary95: 270, 100%, 96.5%; - --ref-palette-primary98: 292.5, 100%, 98.4%; - --ref-palette-primary99: 300, 100%, 99.2%; - --ref-palette-primary100: 0, 0%, 100%; - - /* secondary */ - --ref-palette-secondary0: 0, 0%, 0%; - --ref-palette-secondary10: 256.7, 26.5%, 13.3%; - --ref-palette-secondary20: 258, 18.2%, 21.6%; - --ref-palette-secondary25: 258, 15.2%, 25.9%; - --ref-palette-secondary30: 258, 12.8%, 30.6%; - --ref-palette-secondary35: 260, 11.7%, 35.1%; - --ref-palette-secondary40: 260, 10.3%, 39.8%; - --ref-palette-secondary50: 260.9, 9.1%, 49.6%; - --ref-palette-secondary60: 260.9, 11.2%, 59.8%; - --ref-palette-secondary70: 262.5, 15.8%, 70.2%; - --ref-palette-secondary80: 264, 25.8%, 81%; - --ref-palette-secondary90: 263.1, 65%, 92.2%; - --ref-palette-secondary95: 270, 100%, 96.5%; - --ref-palette-secondary98: 292.5, 100%, 98.4%; - --ref-palette-secondary99: 300, 100%, 99.2%; - --ref-palette-secondary100: 0, 0%, 100%; - - /* tertiary */ - --ref-palette-tertiary0: 0, 0%, 0%; - --ref-palette-tertiary10: 338.2, 50.8%, 12.7%; - --ref-palette-tertiary20: 340.5, 33.3%, 21.8%; - --ref-palette-tertiary25: 341.1, 28.4%, 26.3%; - --ref-palette-tertiary30: 340.5, 25.3%, 31%; - --ref-palette-tertiary35: 341.4, 23.1%, 35.7%; - --ref-palette-tertiary40: 342.3, 21.2%, 40.8%; - --ref-palette-tertiary50: 342.1, 18.7%, 50.8%; - --ref-palette-tertiary60: 343.2, 25.3%, 61.2%; - --ref-palette-tertiary70: 343, 37.1%, 72%; - --ref-palette-tertiary80: 343.9, 65.1%, 83.1%; - --ref-palette-tertiary90: 345.8, 100%, 92.5%; - --ref-palette-tertiary95: 347.4, 100%, 96.3%; - --ref-palette-tertiary98: 0, 100%, 98.6%; - --ref-palette-tertiary99: 300, 100%, 99.2%; - --ref-palette-tertiary100: 0, 0%, 100%; - - /* neutral */ - --ref-palette-neutral0: 0, 0%, 0%; - --ref-palette-neutral10: 260, 5.3%, 11.2%; - --ref-palette-neutral20: 280, 3%, 19.4%; - --ref-palette-neutral25: 280, 2.5%, 23.7%; - --ref-palette-neutral30: 270, 2.8%, 28.2%; - --ref-palette-neutral35: 276, 3%, 32.7%; - --ref-palette-neutral40: 276, 2.6%, 37.5%; - --ref-palette-neutral50: 285, 1.7%, 47.1%; - --ref-palette-neutral60: 288, 2.3%, 57.1%; - --ref-palette-neutral70: 300, 2.4%, 67.5%; - --ref-palette-neutral80: 300, 4.5%, 78.2%; - --ref-palette-neutral90: 300, 9.1%, 89.2%; - --ref-palette-neutral95: 310, 23.1%, 94.9%; - --ref-palette-neutral98: 300, 55.6%, 98.2%; - --ref-palette-neutral99: 300, 100%, 99.2%; - --ref-palette-neutral100: 0, 0%, 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: 0, 0%, 0%; - --ref-palette-neutral-variant10: 262.5, 13.3%, 11.8%; - --ref-palette-neutral-variant20: 262.5, 7.8%, 20%; - --ref-palette-neutral-variant25: 260, 7.2%, 24.5%; - --ref-palette-neutral-variant30: 266.7, 6.1%, 28.8%; - --ref-palette-neutral-variant35: 266.7, 5.3%, 33.5%; - --ref-palette-neutral-variant40: 266.7, 4.6%, 38.2%; - --ref-palette-neutral-variant50: 270, 4.1%, 47.8%; - --ref-palette-neutral-variant60: 270, 4.7%, 58%; - --ref-palette-neutral-variant70: 272.7, 6.8%, 68.4%; - --ref-palette-neutral-variant80: 272.7, 10.3%, 79%; - --ref-palette-neutral-variant90: 278.2, 21.6%, 90%; - --ref-palette-neutral-variant95: 275, 54.5%, 95.7%; - --ref-palette-neutral-variant98: 292.5, 100%, 98.4%; - --ref-palette-neutral-variant99: 300, 100%, 99.2%; - --ref-palette-neutral-variant100: 0, 0%, 100%; - - /* error */ - --ref-palette-error0: 0, 0%, 0%; - --ref-palette-error10: 358.2, 100%, 12.7%; - --ref-palette-error20: 357.1, 100%, 20.6%; - --ref-palette-error25: 356.7, 100%, 24.7%; - --ref-palette-error30: 355.9, 100%, 28.8%; - --ref-palette-error35: 356.6, 92%, 34.3%; - --ref-palette-error40: 0, 75.5%, 41.6%; - --ref-palette-error50: 2.4, 72.5%, 52.9%; - --ref-palette-error60: 3.6, 100%, 64.3%; - --ref-palette-error70: 5.5, 100%, 74.5%; - --ref-palette-error80: 6.4, 100%, 83.5%; - --ref-palette-error90: 5.9, 100%, 92%; - --ref-palette-error95: 8.6, 100%, 95.9%; - --ref-palette-error98: 7.5, 100%, 98.4%; - --ref-palette-error99: 300, 100%, 99.2%; - --ref-palette-error100: 0, 0%, 100%; -} diff --git a/ui/ui-kit/style/theme/palette-40.css b/ui/ui-kit/style/theme/palette-40.css deleted file mode 100644 index 650abebc..00000000 --- a/ui/ui-kit/style/theme/palette-40.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - /* HCT 40 (keep #f06627) */ - - /* primary */ - --ref-palette-primary0: 0, 0%, 0%; - --ref-palette-primary10: 15.3, 100%, 10.8%; - --ref-palette-primary20: 18.7, 100%, 17.6%; - --ref-palette-primary25: 19.4, 100%, 21.2%; - --ref-palette-primary30: 20.3, 100%, 24.9%; - --ref-palette-primary35: 20.8, 100%, 28.8%; - --ref-palette-primary40: 21.3, 100%, 32.5%; - --ref-palette-primary50: 20.4, 89.8%, 42.4%; - --ref-palette-primary60: 18.8, 87%, 54.7%; - --ref-palette-primary70: 17.4, 100%, 68.2%; - --ref-palette-primary80: 16.5, 100%, 80%; - --ref-palette-primary90: 15.9, 100%, 90.4%; - --ref-palette-primary95: 15, 100%, 95.3%; - --ref-palette-primary98: 13.3, 100%, 98.2%; - --ref-palette-primary99: 300, 100%, 99.2%; - --ref-palette-primary100: 0, 0%, 100%; - - /* secondary */ - --ref-palette-secondary0: 0, 0%, 0%; - --ref-palette-secondary10: 17.4, 54.4%, 11.2%; - --ref-palette-secondary20: 16.7, 36%, 19.6%; - --ref-palette-secondary25: 17.4, 31.1%, 23.9%; - --ref-palette-secondary30: 16.5, 27.4%, 28.6%; - --ref-palette-secondary35: 15.7, 24.7%, 33.3%; - --ref-palette-secondary40: 16.4, 22.7%, 38%; - --ref-palette-secondary50: 15.3, 19.2%, 48%; - --ref-palette-secondary60: 16.8, 23.4%, 58%; - --ref-palette-secondary70: 16.7, 33.7%, 68.6%; - --ref-palette-secondary80: 16.1, 53.8%, 79.6%; - --ref-palette-secondary90: 15.9, 100%, 90.4%; - --ref-palette-secondary95: 15, 100%, 95.3%; - --ref-palette-secondary98: 13.3, 100%, 98.2%; - --ref-palette-secondary99: 300, 100%, 99.2%; - --ref-palette-secondary100: 0, 0%, 100%; - - /* tertiary */ - --ref-palette-tertiary0: 0, 0%, 0%; - --ref-palette-tertiary10: 49.1, 100%, 6.5%; - --ref-palette-tertiary20: 50.4, 80.6%, 12.2%; - --ref-palette-tertiary25: 49.6, 61.9%, 16.5%; - --ref-palette-tertiary30: 50.9, 50.5%, 20.6%; - --ref-palette-tertiary35: 49.1, 42.6%, 25.3%; - --ref-palette-tertiary40: 49.3, 36.8%, 29.8%; - --ref-palette-tertiary50: 49, 30%, 39.2%; - --ref-palette-tertiary60: 49.5, 25.3%, 48.8%; - --ref-palette-tertiary70: 48.4, 32.1%, 59%; - --ref-palette-tertiary80: 48.9, 44.9%, 69.4%; - --ref-palette-tertiary90: 48.5, 72.3%, 80.2%; - --ref-palette-tertiary95: 48.2, 100%, 86.1%; - --ref-palette-tertiary98: 41.1, 100%, 96.3%; - --ref-palette-tertiary99: 300, 100%, 99.2%; - --ref-palette-tertiary100: 0, 0%, 100%; - - /* neutral */ - --ref-palette-neutral0: 0, 0%, 0%; - --ref-palette-neutral10: 15, 14.3%, 11%; - --ref-palette-neutral20: 18, 10.2%, 19.2%; - --ref-palette-neutral25: 18, 8.3%, 23.5%; - --ref-palette-neutral30: 16.4, 7.7%, 28%; - --ref-palette-neutral35: 16.4, 6.6%, 32.7%; - --ref-palette-neutral40: 10.9, 5.8%, 37.5%; - --ref-palette-neutral50: 13.8, 5.4%, 47.3%; - --ref-palette-neutral60: 12.9, 6.4%, 57.3%; - --ref-palette-neutral70: 16, 9.1%, 67.6%; - --ref-palette-neutral80: 15, 14.5%, 78.4%; - --ref-palette-neutral90: 14.1, 32.1%, 89.6%; - --ref-palette-neutral95: 14.1, 68%, 95.1%; - --ref-palette-neutral98: 13.3, 100%, 98.2%; - --ref-palette-neutral99: 300, 100%, 99.2%; - --ref-palette-neutral100: 0, 0%, 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: 0, 0%, 0%; - --ref-palette-neutral-variant10: 17.6, 29.8%, 11.2%; - --ref-palette-neutral-variant20: 15.8, 19.2%, 19.4%; - --ref-palette-neutral-variant25: 15, 16.4%, 23.9%; - --ref-palette-neutral-variant30: 14.3, 14.5%, 28.4%; - --ref-palette-neutral-variant35: 16.4, 13.1%, 32.9%; - --ref-palette-neutral-variant40: 16.4, 11.5%, 37.6%; - --ref-palette-neutral-variant50: 15, 9.9%, 47.5%; - --ref-palette-neutral-variant60: 16.2, 12%, 57.6%; - --ref-palette-neutral-variant70: 15.6, 16.6%, 68%; - --ref-palette-neutral-variant80: 14.5, 27.1%, 79%; - --ref-palette-neutral-variant90: 15.5, 60.8%, 90%; - --ref-palette-neutral-variant95: 15, 100%, 95.3%; - --ref-palette-neutral-variant98: 13.3, 100%, 98.2%; - --ref-palette-neutral-variant99: 300, 100%, 99.2%; - --ref-palette-neutral-variant100: 0, 0%, 100%; - - /* error */ - --ref-palette-error0: 0, 0%, 0%; - --ref-palette-error10: 358.2, 100%, 12.7%; - --ref-palette-error20: 357.1, 100%, 20.6%; - --ref-palette-error25: 356.7, 100%, 24.7%; - --ref-palette-error30: 355.9, 100%, 28.8%; - --ref-palette-error35: 356.6, 92%, 34.3%; - --ref-palette-error40: 0, 75.5%, 41.6%; - --ref-palette-error50: 2.4, 72.5%, 52.9%; - --ref-palette-error60: 3.6, 100%, 64.3%; - --ref-palette-error70: 5.5, 100%, 74.5%; - --ref-palette-error80: 6.4, 100%, 83.5%; - --ref-palette-error90: 5.9, 100%, 92%; - --ref-palette-error95: 8.6, 100%, 95.9%; - --ref-palette-error98: 7.5, 100%, 98.4%; - --ref-palette-error99: 300, 100%, 99.2%; - --ref-palette-error100: 0, 0%, 100%; -} diff --git a/ui/ui-kit/style/theme/palette-85.css b/ui/ui-kit/style/theme/palette-85.css deleted file mode 100644 index 9bbe1924..00000000 --- a/ui/ui-kit/style/theme/palette-85.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - /* HCT 85 */ - - /* primary */ - --ref-palette-primary0: 0, 0%, 0%; - --ref-palette-primary10: 41.1, 100%, 7.5%; - --ref-palette-primary20: 42.2, 100%, 12.5%; - --ref-palette-primary25: 43.1, 100%, 15.3%; - --ref-palette-primary30: 43.7, 100%, 18%; - --ref-palette-primary35: 44.2, 100%, 20.8%; - --ref-palette-primary40: 44.1, 100%, 23.7%; - --ref-palette-primary50: 44.6, 100%, 29.8%; - --ref-palette-primary60: 43.7, 85.8%, 38.6%; - --ref-palette-primary70: 42.4, 66.5%, 50.8%; - --ref-palette-primary80: 41.8, 87.7%, 61.8%; - --ref-palette-primary90: 39.8, 100%, 81.4%; - --ref-palette-primary95: 37.1, 100%, 91.8%; - --ref-palette-primary98: 27.7, 100%, 97.5%; - --ref-palette-primary99: 300, 100%, 99.2%; - --ref-palette-primary100: 0, 0%, 100%; - - /* secondary */ - --ref-palette-secondary0: 0, 0%, 0%; - --ref-palette-secondary10: 41.3, 80%, 7.8%; - --ref-palette-secondary20: 41.1, 47.5%, 15.7%; - --ref-palette-secondary25: 40.5, 39.2%, 20%; - --ref-palette-secondary30: 39.5, 32.8%, 24.5%; - --ref-palette-secondary35: 40.5, 29.3%, 28.8%; - --ref-palette-secondary40: 39.5, 25.9%, 33.3%; - --ref-palette-secondary50: 39.6, 21.5%, 42.9%; - --ref-palette-secondary60: 39.6, 20.8%, 52.9%; - --ref-palette-secondary70: 38.5, 28.3%, 63.3%; - --ref-palette-secondary80: 38.6, 41.8%, 73.7%; - --ref-palette-secondary90: 38.3, 74.4%, 84.7%; - --ref-palette-secondary95: 37.1, 100%, 91.8%; - --ref-palette-secondary98: 27.7, 100%, 97.5%; - --ref-palette-secondary99: 300, 100%, 99.2%; - --ref-palette-secondary100: 0, 0%, 100%; - - /* tertiary */ - --ref-palette-tertiary0: 0, 0%, 0%; - --ref-palette-tertiary10: 120, 60%, 7.8%; - --ref-palette-tertiary20: 115.6, 33.3%, 15.9%; - --ref-palette-tertiary25: 115.6, 26.2%, 20.2%; - --ref-palette-tertiary30: 113.8, 23.2%, 24.5%; - --ref-palette-tertiary35: 112, 20.3%, 29%; - --ref-palette-tertiary40: 112.3, 18.1%, 33.5%; - --ref-palette-tertiary50: 109.1, 15.1%, 42.9%; - --ref-palette-tertiary60: 109.4, 14.2%, 52.9%; - --ref-palette-tertiary70: 108.3, 19.1%, 63.1%; - --ref-palette-tertiary80: 107.4, 28.4%, 73.7%; - --ref-palette-tertiary90: 107.7, 49.4%, 84.5%; - --ref-palette-tertiary95: 106.5, 76.9%, 89.8%; - --ref-palette-tertiary98: 102.2, 100%, 94.7%; - --ref-palette-tertiary99: 93.8, 100%, 96.9%; - --ref-palette-tertiary100: 0, 0%, 100%; - - /* neutral */ - --ref-palette-neutral0: 0, 0%, 0%; - --ref-palette-neutral10: 37.5, 15.4%, 10.2%; - --ref-palette-neutral20: 36, 10.6%, 18.4%; - --ref-palette-neutral25: 36, 8.6%, 22.7%; - --ref-palette-neutral30: 36, 7.2%, 27.1%; - --ref-palette-neutral35: 38.2, 6.8%, 31.6%; - --ref-palette-neutral40: 38.2, 5.9%, 36.3%; - --ref-palette-neutral50: 32.3, 5.5%, 46.1%; - --ref-palette-neutral60: 34.3, 6.3%, 56.1%; - --ref-palette-neutral70: 32, 8.8%, 66.5%; - --ref-palette-neutral80: 30, 13.8%, 77.3%; - --ref-palette-neutral90: 31.8, 27.9%, 88%; - --ref-palette-neutral95: 28.2, 54.8%, 93.9%; - --ref-palette-neutral98: 27.7, 100%, 97.5%; - --ref-palette-neutral99: 300, 100%, 99.2%; - --ref-palette-neutral100: 0, 0%, 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: 0, 0%, 0%; - --ref-palette-neutral-variant10: 41.3, 33.3%, 9.4%; - --ref-palette-neutral-variant20: 40, 20%, 17.6%; - --ref-palette-neutral-variant25: 39, 17.9%, 22%; - --ref-palette-neutral-variant30: 39, 14.9%, 26.3%; - --ref-palette-neutral-variant35: 37.1, 13.4%, 30.8%; - --ref-palette-neutral-variant40: 36.5, 12.7%, 35.5%; - --ref-palette-neutral-variant50: 37.5, 10.4%, 45.1%; - --ref-palette-neutral-variant60: 36, 10.9%, 55.1%; - --ref-palette-neutral-variant70: 37.8, 15.3%, 65.3%; - --ref-palette-neutral-variant80: 36.4, 23%, 76.1%; - --ref-palette-neutral-variant90: 36, 45.5%, 87.1%; - --ref-palette-neutral-variant95: 34.8, 83.8%, 92.7%; - --ref-palette-neutral-variant98: 27.7, 100%, 97.5%; - --ref-palette-neutral-variant99: 300, 100%, 99.2%; - --ref-palette-neutral-variant100: 0, 0%, 100%; - - /* error */ - --ref-palette-error0: 0, 0%, 0%; - --ref-palette-error10: 358.2, 100%, 12.7%; - --ref-palette-error20: 357.1, 100%, 20.6%; - --ref-palette-error25: 356.7, 100%, 24.7%; - --ref-palette-error30: 355.9, 100%, 28.8%; - --ref-palette-error35: 356.6, 92%, 34.3%; - --ref-palette-error40: 0, 75.5%, 41.6%; - --ref-palette-error50: 2.4, 72.5%, 52.9%; - --ref-palette-error60: 3.6, 100%, 64.3%; - --ref-palette-error70: 5.5, 100%, 74.5%; - --ref-palette-error80: 6.4, 100%, 83.5%; - --ref-palette-error90: 5.9, 100%, 92%; - --ref-palette-error95: 8.6, 100%, 95.9%; - --ref-palette-error98: 7.5, 100%, 98.4%; - --ref-palette-error99: 300, 100%, 99.2%; - --ref-palette-error100: 0, 0%, 100%; -} diff --git a/ui/ui-kit/style/theme/palette-dynamic.css b/ui/ui-kit/style/theme/palette-dynamic.css deleted file mode 100644 index 19376ef0..00000000 --- a/ui/ui-kit/style/theme/palette-dynamic.css +++ /dev/null @@ -1,123 +0,0 @@ -:root { - /* Dynamic HSL */ - --ref-palette-primary-hue: 260; - --ref-palette-primary-chroma: 48%; /* maximum 48 */ - --ref-palette-secondary-hue: var(--ref-palette-primary-hue); - --ref-palette-secondary-chroma: 16%; - --ref-palette-tertiary-hue: calc(var(--ref-palette-primary-hue) + 60); - --ref-palette-tertiary-chroma: 24%; - --ref-palette-neutral-hue: var(--ref-palette-primary-hue); - --ref-palette-neutral-chroma: 4%; - --ref-palette-neutral-variant-hue: var(--ref-palette-primary-hue); - --ref-palette-neutral-variant-chroma: 8%; - --ref-palette-error-hue: 25; - --ref-palette-error-chroma: 84%; - - /* primary */ - --ref-palette-primary0: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 0%; - --ref-palette-primary10: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 10%; - --ref-palette-primary20: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 20%; - --ref-palette-primary25: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 25%; - --ref-palette-primary30: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 30%; - --ref-palette-primary35: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 35%; - --ref-palette-primary40: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 40%; - --ref-palette-primary50: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 50%; - --ref-palette-primary60: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 60%; - --ref-palette-primary70: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 70%; - --ref-palette-primary80: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 80%; - --ref-palette-primary90: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 90%; - --ref-palette-primary95: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 95%; - --ref-palette-primary98: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 98%; - --ref-palette-primary99: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 99%; - --ref-palette-primary100: var(--ref-palette-primary-hue), var(--ref-palette-primary-chroma), 100%; - - /* secondary */ - --ref-palette-secondary0: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 0%; - --ref-palette-secondary10: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 10%; - --ref-palette-secondary20: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 20%; - --ref-palette-secondary25: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 25%; - --ref-palette-secondary30: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 30%; - --ref-palette-secondary35: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 35%; - --ref-palette-secondary40: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 40%; - --ref-palette-secondary50: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 50%; - --ref-palette-secondary60: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 60%; - --ref-palette-secondary70: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 70%; - --ref-palette-secondary80: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 80%; - --ref-palette-secondary90: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 90%; - --ref-palette-secondary95: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 95%; - --ref-palette-secondary98: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 98%; - --ref-palette-secondary99: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 99%; - --ref-palette-secondary100: var(--ref-palette-secondary-hue), var(--ref-palette-secondary-chroma), 100%; - - /* tertiary */ - --ref-palette-tertiary0: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 0%; - --ref-palette-tertiary10: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 10%; - --ref-palette-tertiary20: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 20%; - --ref-palette-tertiary25: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 25%; - --ref-palette-tertiary30: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 30%; - --ref-palette-tertiary35: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 35%; - --ref-palette-tertiary40: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 40%; - --ref-palette-tertiary50: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 50%; - --ref-palette-tertiary60: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 60%; - --ref-palette-tertiary70: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 70%; - --ref-palette-tertiary80: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 80%; - --ref-palette-tertiary90: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 90%; - --ref-palette-tertiary95: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 95%; - --ref-palette-tertiary98: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 98%; - --ref-palette-tertiary99: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 99%; - --ref-palette-tertiary100: var(--ref-palette-tertiary-hue), var(--ref-palette-tertiary-chroma), 100%; - - /* neutral */ - --ref-palette-neutral0: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 0%; - --ref-palette-neutral10: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 10%; - --ref-palette-neutral20: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 20%; - --ref-palette-neutral25: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 25%; - --ref-palette-neutral30: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 30%; - --ref-palette-neutral35: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 35%; - --ref-palette-neutral40: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 40%; - --ref-palette-neutral50: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 50%; - --ref-palette-neutral60: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 60%; - --ref-palette-neutral70: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 70%; - --ref-palette-neutral80: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 80%; - --ref-palette-neutral90: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 90%; - --ref-palette-neutral95: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 95%; - --ref-palette-neutral98: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 98%; - --ref-palette-neutral99: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 99%; - --ref-palette-neutral100: var(--ref-palette-neutral-hue), var(--ref-palette-neutral-chroma), 100%; - - /* neutral-variant */ - --ref-palette-neutral-variant0: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 0%; - --ref-palette-neutral-variant10: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 10%; - --ref-palette-neutral-variant20: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 20%; - --ref-palette-neutral-variant25: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 25%; - --ref-palette-neutral-variant30: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 30%; - --ref-palette-neutral-variant35: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 35%; - --ref-palette-neutral-variant40: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 40%; - --ref-palette-neutral-variant50: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 50%; - --ref-palette-neutral-variant60: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 60%; - --ref-palette-neutral-variant70: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 70%; - --ref-palette-neutral-variant80: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 80%; - --ref-palette-neutral-variant90: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 90%; - --ref-palette-neutral-variant95: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 95%; - --ref-palette-neutral-variant98: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 98%; - --ref-palette-neutral-variant99: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 99%; - --ref-palette-neutral-variant100: var(--ref-palette-neutral-variant-hue), var(--ref-palette-neutral-variant-chroma), 100%; - - /* error */ - --ref-palette-error0: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 0%; - --ref-palette-error10: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 10%; - --ref-palette-error20: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 20%; - --ref-palette-error25: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 25%; - --ref-palette-error30: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 30%; - --ref-palette-error35: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 35%; - --ref-palette-error40: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 40%; - --ref-palette-error50: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 50%; - --ref-palette-error60: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 60%; - --ref-palette-error70: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 70%; - --ref-palette-error80: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 80%; - --ref-palette-error90: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 90%; - --ref-palette-error95: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 95%; - --ref-palette-error98: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 98%; - --ref-palette-error99: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 99%; - --ref-palette-error100: var(--ref-palette-error-hue), var(--ref-palette-error-chroma), 100%; -} diff --git a/ui/ui-kit/style/token.css b/ui/ui-kit/style/token.css deleted file mode 100644 index 410e98ae..00000000 --- a/ui/ui-kit/style/token.css +++ /dev/null @@ -1,8 +0,0 @@ -@import url('token/typography.css'); -@import url('token/radius.css'); -@import url('token/motion.css'); -@import url('token/surface.css'); -@import url('token/spacing.css'); -@import url('token/scrollbar.css'); -@import url('token/z-index.css'); -@import url('token/safe-area.css'); diff --git a/ui/ui-kit/style/token/motion.css b/ui/ui-kit/style/token/motion.css deleted file mode 100644 index b70ef85f..00000000 --- a/ui/ui-kit/style/token/motion.css +++ /dev/null @@ -1,16 +0,0 @@ -:root { - --ref-motion-duration-frame: 16.66666666666666667ms; - - --sys-motion-duration-none: calc(2 * var(--ref-motion-duration-frame)); - --sys-motion-duration-small: calc(8 * var(--ref-motion-duration-frame)); - --sys-motion-duration-small-out: calc(6 * var(--ref-motion-duration-frame)); - --sys-motion-duration-medium: calc(16 * var(--ref-motion-duration-frame)); - --sys-motion-duration-medium-out: calc(12 * var(--ref-motion-duration-frame)); - --sys-motion-duration-large: calc(18 * var(--ref-motion-duration-frame)); - --sys-motion-duration-large-out: var(--sys-motion-duration-medium); - - --sys-motion-easing-normal: cubic-bezier(0.4, 0, 0.6, 1); - --sys-motion-easing-incoming: cubic-bezier(0, 0, 0.2, 1); - --sys-motion-easing-exiting: cubic-bezier(0.4, 0, 1, 1); - --sys-motion-easing-in-out: cubic-bezier(0.4, 0, 0.2, 1); -} diff --git a/ui/ui-kit/style/token/radius.css b/ui/ui-kit/style/token/radius.css deleted file mode 100644 index 40f4d0a3..00000000 --- a/ui/ui-kit/style/token/radius.css +++ /dev/null @@ -1,9 +0,0 @@ -:root { - --sys-radius-none: 2px; - --sys-radius-xsmall: 4px; - --sys-radius-small: 8px; - --sys-radius-medium: 12px; - --sys-radius-large: 16px; - --sys-radius-xlarge: 20px; - --sys-radius-xxlarge: 28px; -} diff --git a/ui/ui-kit/style/token/safe-area.css b/ui/ui-kit/style/token/safe-area.css deleted file mode 100644 index e02c8569..00000000 --- a/ui/ui-kit/style/token/safe-area.css +++ /dev/null @@ -1,23 +0,0 @@ -@supports (padding-top: 20px) { - :root { - --ion-safe-area-top: var(--ion-statusbar-padding); - } -} - -@supports (padding-top: constant(safe-area-inset-top)) { - :root { - --ion-safe-area-top: constant(safe-area-inset-top); - --ion-safe-area-bottom: constant(safe-area-inset-bottom); - --ion-safe-area-left: constant(safe-area-inset-left); - --ion-safe-area-right: constant(safe-area-inset-right); - } -} - -@supports (padding-top: env(safe-area-inset-top)) { - :root { - --ion-safe-area-top: env(safe-area-inset-top); - --ion-safe-area-bottom: env(safe-area-inset-bottom); - --ion-safe-area-left: env(safe-area-inset-left); - --ion-safe-area-right: env(safe-area-inset-right); - } -} diff --git a/ui/ui-kit/style/token/scrollbar.css b/ui/ui-kit/style/token/scrollbar.css deleted file mode 100644 index 1b7a3648..00000000 --- a/ui/ui-kit/style/token/scrollbar.css +++ /dev/null @@ -1,14 +0,0 @@ -:root { - --sys-scrollbar-background: transparent; - --sys-scrollbar-color: rgba(0, 0, 0, var(--sys-surface-state-opacity-hover)); - --sys-scrollbar-color-hover: rgba(0, 0, 0, var(--sys-surface-state-opacity-pressed)); - --sys-scrollbar-size: var(--sys-spacing-track); - --sys-scrollbar-radius: calc(var(--sys-scrollbar-size) / 2); -} - -@media (prefers-color-scheme: dark) { - :root { - --sys-scrollbar-color: rgba(255, 255, 255, var(--sys-surface-state-opacity-hover)); - --sys-scrollbar-color-hover: rgba(255, 255, 255, var(--sys-surface-state-opacity-pressed)); - } -} diff --git a/ui/ui-kit/style/token/spacing.css b/ui/ui-kit/style/token/spacing.css deleted file mode 100644 index 94acb891..00000000 --- a/ui/ui-kit/style/token/spacing.css +++ /dev/null @@ -1,58 +0,0 @@ -/* https://material.io/design/layout/spacing-methods.html */ -:root { - --sys-spacing-track: 0.8rem; - - --sys-breakpoint-handset: 600px; - --sys-breakpoint-tablet: 840px; - --sys-breakpoint-laptop: 1240px; - --sys-breakpoint-large-screen: 1440px; - - --sys-spacing-column-1: calc( - (100vw - var(--sys-spacing-side-padding) * 2 - var(--sys-spacing-gutter) * (var(--sys-column-count) - 1)) - / var(--sys-column-count) - ); - --sys-spacing-column-2: calc(var(--sys-spacing-column-1) * 2 + var(--sys-spacing-gutter)); - --sys-spacing-column-3: calc(var(--sys-spacing-column-1) * 3 + var(--sys-spacing-gutter) * 2); - --sys-spacing-column-4: calc(var(--sys-spacing-column-1) * 4 + var(--sys-spacing-gutter) * 3); - - /* < 600px */ - --sys-column-count: 4; - --sys-spacing-side-padding: var(--sys-spacing-track); - --sys-spacing-gutter: calc(2 * var(--sys-spacing-track)); -} - -/* >= 600 */ -@media only screen and (min-width: 600px) { - :root { - --sys-column-count: 8; - --sys-spacing-side-padding: calc(3 * var(--sys-spacing-track)); - --sys-spacing-gutter: calc(3 * var(--sys-spacing-track)); - } -} - -/* >= 840px */ -@media only screen and (min-width: 840px) { - :root { - --sys-column-count: 12; - /* --sys-spacing-side-padding: calc(3 * var(--sys-spacing-track)); - --sys-spacing-gutter: calc(3 * var(--sys-spacing-track)); */ - } -} - -/* >= 1200px */ -@media only screen and (min-width: 1200px) { - :root { - /* --sys-column-count: 12; */ - --sys-spacing-side-padding: calc(4 * var(--sys-spacing-track)); - --sys-spacing-gutter: calc(4 * var(--sys-spacing-track)); - } -} - -/* >= 1440px */ -/* @media only screen and (min-width: 1440px) { - :root { - --sys-column-count: 12; - --sys-spacing-side-padding: calc(4 * var(--sys-spacing-track)); - --sys-spacing-gutter: calc(4 * var(--sys-spacing-track)); - } -} */ diff --git a/ui/ui-kit/style/token/surface.css b/ui/ui-kit/style/token/surface.css deleted file mode 100644 index f341c98b..00000000 --- a/ui/ui-kit/style/token/surface.css +++ /dev/null @@ -1,51 +0,0 @@ -:root { - --sys-surface-tint-opacity-1: 0.05; - --sys-surface-tint-opacity-2: 0.08; - --sys-surface-tint-opacity-3: 0.11; - --sys-surface-tint-opacity-4: 0.12; - --sys-surface-tint-opacity-5: 0.14; - - --sys-surface-state-opacity-dragged: 0.159; - --sys-surface-state-opacity-pressed: 0.119; - --sys-surface-state-opacity-focus: 0.119; - --sys-surface-state-opacity-hover: 0.079; - - --sys-surface-disabled-opacity: 0.38; - --sys-surface-disabled-outlined-opacity: 0.12; - --sys-surface-reloading-opacity: 0.6; - - --sys-surface-elevation-opacity-1: 0.2; - --sys-surface-elevation-opacity-2: 0.14; - --sys-surface-elevation-opacity-3: 0.12; - - --sys-surface-elevation-0: - 0px 0px 0px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 0px 0px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 0px 0px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-1: - 0px 2px 1px -1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 1px 1px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 3px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-2: - 0px 3px 1px -2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 2px 2px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 5px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-3: - 0px 3px 3px -2px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 3px 4px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 8px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-4: - 0px 2px 4px -1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 4px 5px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 10px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; - --sys-surface-elevation-5: - 0px 3px 5px -1px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-1)), - 0px 5px 8px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-2)), - 0px 1px 14px 0px hsla(var(--sys-color-shadow-hsl), var(--sys-surface-elevation-opacity-3)) - ; -} diff --git a/ui/ui-kit/style/token/typography.css b/ui/ui-kit/style/token/typography.css deleted file mode 100644 index ca8504ed..00000000 --- a/ui/ui-kit/style/token/typography.css +++ /dev/null @@ -1,117 +0,0 @@ -:root { - /* references */ - --ref-font-weight-regular: 400; - --ref-font-weight-medium: 500; - --ref-font-weight-bold: 700; - - --ref-font-family-system: - system-ui, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - 'Roboto', - 'Oxygen', - 'Ubuntu', - 'Cantarell', - 'Open Sans', - 'Helvetica Neue', - 'Arial', - sans-serif, - 'Apple Color Emoji', - 'Segoe UI Emoji', - 'Segoe UI Symbol' - ; - --sys-font-family-plain: var(--ref-font-family-vazirmatn), var(--ref-font-family-system); - --sys-font-family-brand: var(--ref-font-family-vazirmatn), var(--ref-font-family-system); - - /* display - large */ - --sys-typescale-display-large-font-family-name: var(--sys-font-family-brand); - --sys-typescale-display-large-font-weight: var(--ref-font-weight-regular); - --sys-typescale-display-large-font-size: 5.7rem; - --sys-typescale-display-large-line-height: 6.4rem; - --sys-typescale-display-large-letter-spacing: -0.025rem; - /* display - medium */ - --sys-typescale-display-medium-font-family-name: var(--sys-font-family-brand); - --sys-typescale-display-medium-font-weight: var(--ref-font-weight-regular); - --sys-typescale-display-medium-font-size: 4.5rem; - --sys-typescale-display-medium-line-height: 5.2rem; - --sys-typescale-display-medium-letter-spacing: 0rem; - /* display - small */ - --sys-typescale-display-small-font-family-name: var(--sys-font-family-brand); - --sys-typescale-display-small-font-weight: var(--ref-font-weight-regular); - --sys-typescale-display-small-font-size: 3.6rem; - --sys-typescale-display-small-line-height: 4.4rem; - --sys-typescale-display-small-letter-spacing: 0rem; - /* headline - large */ - --sys-typescale-headline-large-font-family-name: var(--sys-font-family-brand); - --sys-typescale-headline-large-font-weight: var(--ref-font-weight-regular); - --sys-typescale-headline-large-font-size: 3.2rem; - --sys-typescale-headline-large-line-height: 4rem; - --sys-typescale-headline-large-letter-spacing: 0rem; - /* headline - medium */ - --sys-typescale-headline-medium-font-family-name: var(--sys-font-family-brand); - --sys-typescale-headline-medium-font-weight: var(--ref-font-weight-regular); - --sys-typescale-headline-medium-font-size: 2.8rem; - --sys-typescale-headline-medium-line-height: 3.6rem; - --sys-typescale-headline-medium-letter-spacing: 0rem; - /* headline - small */ - --sys-typescale-headline-small-font-family-name: var(--sys-font-family-brand); - --sys-typescale-headline-small-font-weight: var(--ref-font-weight-regular); - --sys-typescale-headline-small-font-size: 2.4rem; - --sys-typescale-headline-small-line-height: 3.2rem; - --sys-typescale-headline-small-letter-spacing: 0rem; - /* body - large */ - --sys-typescale-body-large-font-family-name: var(--sys-font-family-plain); - --sys-typescale-body-large-font-weight: var(--ref-font-weight-regular); - --sys-typescale-body-large-font-size: 1.6rem; - --sys-typescale-body-large-line-height: 2.4rem; - --sys-typescale-body-large-letter-spacing: 0.05rem; - /* body - medium */ - --sys-typescale-body-medium-font-family-name: var(--sys-font-family-plain); - --sys-typescale-body-medium-font-weight: var(--ref-font-weight-regular); - --sys-typescale-body-medium-font-size: 1.4rem; - --sys-typescale-body-medium-line-height: 2rem; - --sys-typescale-body-medium-letter-spacing: 0.025rem; - /* body - small */ - --sys-typescale-body-small-font-family-name: var(--sys-font-family-plain); - --sys-typescale-body-small-font-weight: var(--ref-font-weight-regular); - --sys-typescale-body-small-font-size: 1.2rem; - --sys-typescale-body-small-line-height: 1.6rem; - --sys-typescale-body-small-letter-spacing: 0.04rem; - /* label - large */ - --sys-typescale-label-large-font-family-name: var(--sys-font-family-plain); - --sys-typescale-label-large-font-weight: var(--ref-font-weight-medium); - --sys-typescale-label-large-font-size: 1.4rem; - --sys-typescale-label-large-line-height: 2rem; - --sys-typescale-label-large-letter-spacing: 0.01rem; - /* label - medium */ - --sys-typescale-label-medium-font-family-name: var(--sys-font-family-plain); - --sys-typescale-label-medium-font-weight: var(--ref-font-weight-medium); - --sys-typescale-label-medium-font-size: 1.2rem; - --sys-typescale-label-medium-line-height: 1.6rem; - --sys-typescale-label-medium-letter-spacing: 0.05rem; - /* label - small */ - --sys-typescale-label-small-font-family-name: var(--sys-font-family-plain); - --sys-typescale-label-small-font-weight: var(--ref-font-weight-medium); - --sys-typescale-label-small-font-size: 1.1rem; - --sys-typescale-label-small-line-height: 1.6rem; - --sys-typescale-label-small-letter-spacing: 0.05rem; - /* title - large */ - --sys-typescale-title-large-font-family-name: var(--sys-font-family-brand); - --sys-typescale-title-large-font-weight: var(--ref-font-weight-regular); - --sys-typescale-title-large-font-size: 2.2rem; - --sys-typescale-title-large-line-height: 2.8rem; - --sys-typescale-title-large-letter-spacing: 0rem; - /* title - medium */ - --sys-typescale-title-medium-font-family-name: var(--sys-font-family-plain); - --sys-typescale-title-medium-font-weight: var(--ref-font-weight-medium); - --sys-typescale-title-medium-font-size: 1.6rem; - --sys-typescale-title-medium-line-height: 2.4rem; - --sys-typescale-title-medium-letter-spacing: 0.015rem; - /* title - small */ - --sys-typescale-title-small-font-family-name: var(--sys-font-family-plain); - --sys-typescale-title-small-font-weight: var(--ref-font-weight-medium); - --sys-typescale-title-small-font-size: 1.4rem; - --sys-typescale-title-small-line-height: 2rem; - --sys-typescale-title-small-letter-spacing: 0.01rem; -} diff --git a/ui/ui-kit/style/token/z-index.css b/ui/ui-kit/style/token/z-index.css deleted file mode 100644 index 49f5ce04..00000000 --- a/ui/ui-kit/style/token/z-index.css +++ /dev/null @@ -1,15 +0,0 @@ -:root { - --sys-zindex-bottomness: -900; - --sys-zindex-below: -1; - --sys-zindex-default: 1; - --sys-zindex-above: 2; - --sys-zindex-dropdown: 100; - --sys-zindex-sticky: 200; - --sys-zindex-fixed: 300; - --sys-zindex-backdrop: 400; - --sys-zindex-modal: 500; - --sys-zindex-popover: 600; - --sys-zindex-snackbar: 700; - --sys-zindex-tooltip: 800; - --sys-zindex-topness: 900; -} diff --git a/ui/ui-kit/top-app-bar2/top-app-bar.scss b/ui/ui-kit/top-app-bar2/top-app-bar.scss deleted file mode 100644 index 04f2bae8..00000000 --- a/ui/ui-kit/top-app-bar2/top-app-bar.scss +++ /dev/null @@ -1,82 +0,0 @@ -.alwatr-top-app-bar { - flex-grow: 0; - flex-shrink: 0; - padding: var(--sys-spacing-track) calc(0.5 * var(--sys-spacing-track)); - z-index: var(--sys-zindex-sticky); - border-radius: 0; - user-select: none; - - .alwatr-row { - display: flex; - } - - .leading-icon { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-hsl); - } - - .trailing-icons { - --comp-icon-button-color-hsl: var(--sys-color-on-surface-variant-hsl); - } - - .title { - flex-grow: 1; - } - - &[type=small] .title, - &[type=center] .title { - padding: 0 calc(0.5 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-title-large-font-family-name); - font-weight: var(--sys-typescale-title-large-font-weight); - font-size: var(--sys-typescale-title-large-font-size); - letter-spacing: var(--sys-typescale-title-large-letter-spacing); - /* line-height: var(--sys-typescale-title-large-line-height); */ - line-height: calc(6 * var(--sys-spacing-track)); - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - overflow: clip; - } - - &[dir=rtl][type=small] .title, - &[dir=rtl][type=center] .title { - line-height: calc(6 * var(--sys-spacing-track) - 0.18em); /* 0.5 * track / title-line-height */ - } - - &[type=center] .title { - text-align: center; - } - - .headline { /* medium | large */ - display: none; - } - - &[type=medium] { - padding-bottom: calc(3 * var(--sys-spacing-track)); - } - &[type=large] { - padding-bottom: calc(3.5 * var(--sys-spacing-track)); - } - - &[type=medium] .headline, - &[type=large] .headline { - display: block; - padding: 0 calc(1.5 * var(--sys-spacing-track)); - } - - &[type=medium] .headline { - font-family: var(--sys-typescale-headline-small-font-family-name); - font-weight: var(--sys-typescale-headline-small-font-weight); - font-size: var(--sys-typescale-headline-small-font-size); - letter-spacing: var(--sys-typescale-headline-small-letter-spacing); - line-height: var(--sys-typescale-headline-small-line-height); - } - - &[type=large] .headline { - margin-top: calc(4 * var(--sys-spacing-track)); - font-family: var(--sys-typescale-headline-medium-font-family-name); - font-weight: var(--sys-typescale-headline-medium-font-weight); - font-size: var(--sys-typescale-headline-medium-font-size); - letter-spacing: var(--sys-typescale-headline-medium-letter-spacing); - line-height: var(--sys-typescale-headline-medium-line-height); - } -} diff --git a/ui/ui-kit/tsconfig.json b/ui/ui-kit/tsconfig.json deleted file mode 100644 index c0e87e27..00000000 --- a/ui/ui-kit/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "extends": "../../tsconfig.base", - "compilerOptions": { - "composite": true, - "tsBuildInfoFile": ".tsbuildinfo", - "rootDir": "src", - "outDir": ".", - "plugins": [ - { - "name": "ts-lit-plugin", - "strict": true - } - ], - }, - // files, include and exclude from the inheriting config are always overwritten. - "include": ["src/**/*.ts"], - "exclude": [], - "references": [ - {"path": "../element"}, - {"path": "../icon"}, - {"path": "../../core/fract"}, - {"path": "../../core/type"}, - {"path": "../../core/i18n"}, - {"path": "../../core/i18n2"}, - {"path": "../../core/signal"}, - {"path": "../../core/signal2"}, - {"path": "../../core/math"}, - {"path": "../../core/util"}, - ] -} From abb698d4f1cb373032035e000507800c4b465ac0 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:40:23 +0330 Subject: [PATCH 14/20] chore(ui-kit): fix package path --- {ui/ui-kit2 => packages/ui-kit}/CHANGELOG.md | 0 {ui/ui-kit2 => packages/ui-kit}/README.md | 0 {ui/ui-kit2 => packages/ui-kit}/fab/extended-fab.ts | 0 {ui/ui-kit2 => packages/ui-kit}/fab/fab.ts | 0 {ui/ui-kit2 => packages/ui-kit}/icon-button/icon-button.ts | 0 {ui/ui-kit2 => packages/ui-kit}/icon/icon.ts | 0 {ui/ui-kit2 => packages/ui-kit}/index.ts | 0 {ui/ui-kit2 => packages/ui-kit}/navigation-bar/navigation-bar.ts | 0 .../ui-kit}/navigation-drawer/navigation-drawer.ts | 0 .../ui-kit}/navigation-rail/navigation-rail.ts | 0 {ui/ui-kit2 => packages/ui-kit}/package.json | 0 {ui/ui-kit2 => packages/ui-kit}/top-app-bar/center-top-app-bar.ts | 0 {ui/ui-kit2 => packages/ui-kit}/top-app-bar/large-top-app-bar.ts | 0 {ui/ui-kit2 => packages/ui-kit}/top-app-bar/medium-top-app-bar.ts | 0 {ui/ui-kit2 => packages/ui-kit}/tsconfig.json | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename {ui/ui-kit2 => packages/ui-kit}/CHANGELOG.md (100%) rename {ui/ui-kit2 => packages/ui-kit}/README.md (100%) rename {ui/ui-kit2 => packages/ui-kit}/fab/extended-fab.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/fab/fab.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/icon-button/icon-button.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/icon/icon.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/index.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/navigation-bar/navigation-bar.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/navigation-drawer/navigation-drawer.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/navigation-rail/navigation-rail.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/package.json (100%) rename {ui/ui-kit2 => packages/ui-kit}/top-app-bar/center-top-app-bar.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/top-app-bar/large-top-app-bar.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/top-app-bar/medium-top-app-bar.ts (100%) rename {ui/ui-kit2 => packages/ui-kit}/tsconfig.json (100%) diff --git a/ui/ui-kit2/CHANGELOG.md b/packages/ui-kit/CHANGELOG.md similarity index 100% rename from ui/ui-kit2/CHANGELOG.md rename to packages/ui-kit/CHANGELOG.md diff --git a/ui/ui-kit2/README.md b/packages/ui-kit/README.md similarity index 100% rename from ui/ui-kit2/README.md rename to packages/ui-kit/README.md diff --git a/ui/ui-kit2/fab/extended-fab.ts b/packages/ui-kit/fab/extended-fab.ts similarity index 100% rename from ui/ui-kit2/fab/extended-fab.ts rename to packages/ui-kit/fab/extended-fab.ts diff --git a/ui/ui-kit2/fab/fab.ts b/packages/ui-kit/fab/fab.ts similarity index 100% rename from ui/ui-kit2/fab/fab.ts rename to packages/ui-kit/fab/fab.ts diff --git a/ui/ui-kit2/icon-button/icon-button.ts b/packages/ui-kit/icon-button/icon-button.ts similarity index 100% rename from ui/ui-kit2/icon-button/icon-button.ts rename to packages/ui-kit/icon-button/icon-button.ts diff --git a/ui/ui-kit2/icon/icon.ts b/packages/ui-kit/icon/icon.ts similarity index 100% rename from ui/ui-kit2/icon/icon.ts rename to packages/ui-kit/icon/icon.ts diff --git a/ui/ui-kit2/index.ts b/packages/ui-kit/index.ts similarity index 100% rename from ui/ui-kit2/index.ts rename to packages/ui-kit/index.ts diff --git a/ui/ui-kit2/navigation-bar/navigation-bar.ts b/packages/ui-kit/navigation-bar/navigation-bar.ts similarity index 100% rename from ui/ui-kit2/navigation-bar/navigation-bar.ts rename to packages/ui-kit/navigation-bar/navigation-bar.ts diff --git a/ui/ui-kit2/navigation-drawer/navigation-drawer.ts b/packages/ui-kit/navigation-drawer/navigation-drawer.ts similarity index 100% rename from ui/ui-kit2/navigation-drawer/navigation-drawer.ts rename to packages/ui-kit/navigation-drawer/navigation-drawer.ts diff --git a/ui/ui-kit2/navigation-rail/navigation-rail.ts b/packages/ui-kit/navigation-rail/navigation-rail.ts similarity index 100% rename from ui/ui-kit2/navigation-rail/navigation-rail.ts rename to packages/ui-kit/navigation-rail/navigation-rail.ts diff --git a/ui/ui-kit2/package.json b/packages/ui-kit/package.json similarity index 100% rename from ui/ui-kit2/package.json rename to packages/ui-kit/package.json diff --git a/ui/ui-kit2/top-app-bar/center-top-app-bar.ts b/packages/ui-kit/top-app-bar/center-top-app-bar.ts similarity index 100% rename from ui/ui-kit2/top-app-bar/center-top-app-bar.ts rename to packages/ui-kit/top-app-bar/center-top-app-bar.ts diff --git a/ui/ui-kit2/top-app-bar/large-top-app-bar.ts b/packages/ui-kit/top-app-bar/large-top-app-bar.ts similarity index 100% rename from ui/ui-kit2/top-app-bar/large-top-app-bar.ts rename to packages/ui-kit/top-app-bar/large-top-app-bar.ts diff --git a/ui/ui-kit2/top-app-bar/medium-top-app-bar.ts b/packages/ui-kit/top-app-bar/medium-top-app-bar.ts similarity index 100% rename from ui/ui-kit2/top-app-bar/medium-top-app-bar.ts rename to packages/ui-kit/top-app-bar/medium-top-app-bar.ts diff --git a/ui/ui-kit2/tsconfig.json b/packages/ui-kit/tsconfig.json similarity index 100% rename from ui/ui-kit2/tsconfig.json rename to packages/ui-kit/tsconfig.json From 106bb8e330b4c69a4dc1f743d3881a83abec5269 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:42:04 +0330 Subject: [PATCH 15/20] chore(demo-pwa): fix package path --- {ui => packages}/demo-pwa/CHANGELOG.md | 0 {ui => packages}/demo-pwa/README.md | 0 {ui => packages}/demo-pwa/esbuild.mjs | 0 {ui => packages}/demo-pwa/package.json | 0 {ui => packages}/demo-pwa/res/image/favicon.ico | Bin {ui => packages}/demo-pwa/res/image/icon-180.png | Bin .../demo-pwa/res/image/icon-192-maskable.png | Bin {ui => packages}/demo-pwa/res/image/icon-192.png | Bin .../demo-pwa/res/image/icon-512-maskable.png | Bin {ui => packages}/demo-pwa/res/image/icon-512.png | Bin {ui => packages}/demo-pwa/res/index.html | 0 {ui => packages}/demo-pwa/res/manifest.webmanifest | 0 {ui => packages}/demo-pwa/res/robots.txt | 0 {ui => packages}/demo-pwa/res/service-worker.js | 0 {ui => packages}/demo-pwa/src/config.ts | 0 {ui => packages}/demo-pwa/src/icons.ts | 0 {ui => packages}/demo-pwa/src/main.css | 0 {ui => packages}/demo-pwa/src/main.ts | 0 .../demo-pwa/src/share/app-navigation-context.ts | 0 {ui => packages}/demo-pwa/src/share/logger.ts | 0 {ui => packages}/demo-pwa/src/ui/alwatr-pwa.ts | 0 {ui => packages}/demo-pwa/src/ui/button.ts | 0 {ui => packages}/demo-pwa/src/ui/lit-debug.ts | 0 {ui => packages}/demo-pwa/src/ui/page-test.ts | 0 {ui => packages}/demo-pwa/tailwind.config.js | 0 {ui => packages}/demo-pwa/tsconfig.json | 0 {ui => packages}/demo-pwa/web-dev-server.config.js | 0 27 files changed, 0 insertions(+), 0 deletions(-) rename {ui => packages}/demo-pwa/CHANGELOG.md (100%) rename {ui => packages}/demo-pwa/README.md (100%) rename {ui => packages}/demo-pwa/esbuild.mjs (100%) rename {ui => packages}/demo-pwa/package.json (100%) rename {ui => packages}/demo-pwa/res/image/favicon.ico (100%) rename {ui => packages}/demo-pwa/res/image/icon-180.png (100%) rename {ui => packages}/demo-pwa/res/image/icon-192-maskable.png (100%) rename {ui => packages}/demo-pwa/res/image/icon-192.png (100%) rename {ui => packages}/demo-pwa/res/image/icon-512-maskable.png (100%) rename {ui => packages}/demo-pwa/res/image/icon-512.png (100%) rename {ui => packages}/demo-pwa/res/index.html (100%) rename {ui => packages}/demo-pwa/res/manifest.webmanifest (100%) rename {ui => packages}/demo-pwa/res/robots.txt (100%) rename {ui => packages}/demo-pwa/res/service-worker.js (100%) rename {ui => packages}/demo-pwa/src/config.ts (100%) rename {ui => packages}/demo-pwa/src/icons.ts (100%) rename {ui => packages}/demo-pwa/src/main.css (100%) rename {ui => packages}/demo-pwa/src/main.ts (100%) rename {ui => packages}/demo-pwa/src/share/app-navigation-context.ts (100%) rename {ui => packages}/demo-pwa/src/share/logger.ts (100%) rename {ui => packages}/demo-pwa/src/ui/alwatr-pwa.ts (100%) rename {ui => packages}/demo-pwa/src/ui/button.ts (100%) rename {ui => packages}/demo-pwa/src/ui/lit-debug.ts (100%) rename {ui => packages}/demo-pwa/src/ui/page-test.ts (100%) rename {ui => packages}/demo-pwa/tailwind.config.js (100%) rename {ui => packages}/demo-pwa/tsconfig.json (100%) rename {ui => packages}/demo-pwa/web-dev-server.config.js (100%) diff --git a/ui/demo-pwa/CHANGELOG.md b/packages/demo-pwa/CHANGELOG.md similarity index 100% rename from ui/demo-pwa/CHANGELOG.md rename to packages/demo-pwa/CHANGELOG.md diff --git a/ui/demo-pwa/README.md b/packages/demo-pwa/README.md similarity index 100% rename from ui/demo-pwa/README.md rename to packages/demo-pwa/README.md diff --git a/ui/demo-pwa/esbuild.mjs b/packages/demo-pwa/esbuild.mjs similarity index 100% rename from ui/demo-pwa/esbuild.mjs rename to packages/demo-pwa/esbuild.mjs diff --git a/ui/demo-pwa/package.json b/packages/demo-pwa/package.json similarity index 100% rename from ui/demo-pwa/package.json rename to packages/demo-pwa/package.json diff --git a/ui/demo-pwa/res/image/favicon.ico b/packages/demo-pwa/res/image/favicon.ico similarity index 100% rename from ui/demo-pwa/res/image/favicon.ico rename to packages/demo-pwa/res/image/favicon.ico diff --git a/ui/demo-pwa/res/image/icon-180.png b/packages/demo-pwa/res/image/icon-180.png similarity index 100% rename from ui/demo-pwa/res/image/icon-180.png rename to packages/demo-pwa/res/image/icon-180.png diff --git a/ui/demo-pwa/res/image/icon-192-maskable.png b/packages/demo-pwa/res/image/icon-192-maskable.png similarity index 100% rename from ui/demo-pwa/res/image/icon-192-maskable.png rename to packages/demo-pwa/res/image/icon-192-maskable.png diff --git a/ui/demo-pwa/res/image/icon-192.png b/packages/demo-pwa/res/image/icon-192.png similarity index 100% rename from ui/demo-pwa/res/image/icon-192.png rename to packages/demo-pwa/res/image/icon-192.png diff --git a/ui/demo-pwa/res/image/icon-512-maskable.png b/packages/demo-pwa/res/image/icon-512-maskable.png similarity index 100% rename from ui/demo-pwa/res/image/icon-512-maskable.png rename to packages/demo-pwa/res/image/icon-512-maskable.png diff --git a/ui/demo-pwa/res/image/icon-512.png b/packages/demo-pwa/res/image/icon-512.png similarity index 100% rename from ui/demo-pwa/res/image/icon-512.png rename to packages/demo-pwa/res/image/icon-512.png diff --git a/ui/demo-pwa/res/index.html b/packages/demo-pwa/res/index.html similarity index 100% rename from ui/demo-pwa/res/index.html rename to packages/demo-pwa/res/index.html diff --git a/ui/demo-pwa/res/manifest.webmanifest b/packages/demo-pwa/res/manifest.webmanifest similarity index 100% rename from ui/demo-pwa/res/manifest.webmanifest rename to packages/demo-pwa/res/manifest.webmanifest diff --git a/ui/demo-pwa/res/robots.txt b/packages/demo-pwa/res/robots.txt similarity index 100% rename from ui/demo-pwa/res/robots.txt rename to packages/demo-pwa/res/robots.txt diff --git a/ui/demo-pwa/res/service-worker.js b/packages/demo-pwa/res/service-worker.js similarity index 100% rename from ui/demo-pwa/res/service-worker.js rename to packages/demo-pwa/res/service-worker.js diff --git a/ui/demo-pwa/src/config.ts b/packages/demo-pwa/src/config.ts similarity index 100% rename from ui/demo-pwa/src/config.ts rename to packages/demo-pwa/src/config.ts diff --git a/ui/demo-pwa/src/icons.ts b/packages/demo-pwa/src/icons.ts similarity index 100% rename from ui/demo-pwa/src/icons.ts rename to packages/demo-pwa/src/icons.ts diff --git a/ui/demo-pwa/src/main.css b/packages/demo-pwa/src/main.css similarity index 100% rename from ui/demo-pwa/src/main.css rename to packages/demo-pwa/src/main.css diff --git a/ui/demo-pwa/src/main.ts b/packages/demo-pwa/src/main.ts similarity index 100% rename from ui/demo-pwa/src/main.ts rename to packages/demo-pwa/src/main.ts diff --git a/ui/demo-pwa/src/share/app-navigation-context.ts b/packages/demo-pwa/src/share/app-navigation-context.ts similarity index 100% rename from ui/demo-pwa/src/share/app-navigation-context.ts rename to packages/demo-pwa/src/share/app-navigation-context.ts diff --git a/ui/demo-pwa/src/share/logger.ts b/packages/demo-pwa/src/share/logger.ts similarity index 100% rename from ui/demo-pwa/src/share/logger.ts rename to packages/demo-pwa/src/share/logger.ts diff --git a/ui/demo-pwa/src/ui/alwatr-pwa.ts b/packages/demo-pwa/src/ui/alwatr-pwa.ts similarity index 100% rename from ui/demo-pwa/src/ui/alwatr-pwa.ts rename to packages/demo-pwa/src/ui/alwatr-pwa.ts diff --git a/ui/demo-pwa/src/ui/button.ts b/packages/demo-pwa/src/ui/button.ts similarity index 100% rename from ui/demo-pwa/src/ui/button.ts rename to packages/demo-pwa/src/ui/button.ts diff --git a/ui/demo-pwa/src/ui/lit-debug.ts b/packages/demo-pwa/src/ui/lit-debug.ts similarity index 100% rename from ui/demo-pwa/src/ui/lit-debug.ts rename to packages/demo-pwa/src/ui/lit-debug.ts diff --git a/ui/demo-pwa/src/ui/page-test.ts b/packages/demo-pwa/src/ui/page-test.ts similarity index 100% rename from ui/demo-pwa/src/ui/page-test.ts rename to packages/demo-pwa/src/ui/page-test.ts diff --git a/ui/demo-pwa/tailwind.config.js b/packages/demo-pwa/tailwind.config.js similarity index 100% rename from ui/demo-pwa/tailwind.config.js rename to packages/demo-pwa/tailwind.config.js diff --git a/ui/demo-pwa/tsconfig.json b/packages/demo-pwa/tsconfig.json similarity index 100% rename from ui/demo-pwa/tsconfig.json rename to packages/demo-pwa/tsconfig.json diff --git a/ui/demo-pwa/web-dev-server.config.js b/packages/demo-pwa/web-dev-server.config.js similarity index 100% rename from ui/demo-pwa/web-dev-server.config.js rename to packages/demo-pwa/web-dev-server.config.js From cd703453f4e82396bf24f8ba13ee7f49a7ab33cb Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:42:29 +0330 Subject: [PATCH 16/20] chore(font): fix package path --- {ui => packages}/font/CHANGELOG.md | 0 {ui => packages}/font/README.md | 0 {ui => packages}/font/package.json | 0 {ui => packages}/font/sahel.css | 0 {ui => packages}/font/sahel/note.txt | 0 {ui => packages}/font/sahel/sahel-300.woff | Bin {ui => packages}/font/sahel/sahel-400.woff | Bin {ui => packages}/font/sahel/sahel-600.woff | Bin {ui => packages}/font/sahel/sahel-700.woff | Bin {ui => packages}/font/sahel/sahel-900.woff | Bin {ui => packages}/font/sahel/sahel[wght].woff2 | Bin {ui => packages}/font/vazirmatn-roundot.css | 0 .../vazirmatn-roundot/vazirmatn-roundot-100.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-200.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-300.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-400.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-500.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-600.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-700.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-800.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot-900.woff | Bin .../vazirmatn-roundot/vazirmatn-roundot[wght].woff2 | Bin {ui => packages}/font/vazirmatn.css | 0 {ui => packages}/font/vazirmatn/note.txt | 0 {ui => packages}/font/vazirmatn/vazirmatn-100.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-200.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-300.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-400.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-500.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-600.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-700.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-800.woff | Bin {ui => packages}/font/vazirmatn/vazirmatn-900.woff | Bin .../font/vazirmatn/vazirmatn[wght].woff2 | Bin 34 files changed, 0 insertions(+), 0 deletions(-) rename {ui => packages}/font/CHANGELOG.md (100%) rename {ui => packages}/font/README.md (100%) rename {ui => packages}/font/package.json (100%) rename {ui => packages}/font/sahel.css (100%) rename {ui => packages}/font/sahel/note.txt (100%) rename {ui => packages}/font/sahel/sahel-300.woff (100%) rename {ui => packages}/font/sahel/sahel-400.woff (100%) rename {ui => packages}/font/sahel/sahel-600.woff (100%) rename {ui => packages}/font/sahel/sahel-700.woff (100%) rename {ui => packages}/font/sahel/sahel-900.woff (100%) rename {ui => packages}/font/sahel/sahel[wght].woff2 (100%) rename {ui => packages}/font/vazirmatn-roundot.css (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-100.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-200.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-300.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-400.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-500.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-600.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-700.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-800.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot-900.woff (100%) rename {ui => packages}/font/vazirmatn-roundot/vazirmatn-roundot[wght].woff2 (100%) rename {ui => packages}/font/vazirmatn.css (100%) rename {ui => packages}/font/vazirmatn/note.txt (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-100.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-200.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-300.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-400.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-500.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-600.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-700.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-800.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn-900.woff (100%) rename {ui => packages}/font/vazirmatn/vazirmatn[wght].woff2 (100%) diff --git a/ui/font/CHANGELOG.md b/packages/font/CHANGELOG.md similarity index 100% rename from ui/font/CHANGELOG.md rename to packages/font/CHANGELOG.md diff --git a/ui/font/README.md b/packages/font/README.md similarity index 100% rename from ui/font/README.md rename to packages/font/README.md diff --git a/ui/font/package.json b/packages/font/package.json similarity index 100% rename from ui/font/package.json rename to packages/font/package.json diff --git a/ui/font/sahel.css b/packages/font/sahel.css similarity index 100% rename from ui/font/sahel.css rename to packages/font/sahel.css diff --git a/ui/font/sahel/note.txt b/packages/font/sahel/note.txt similarity index 100% rename from ui/font/sahel/note.txt rename to packages/font/sahel/note.txt diff --git a/ui/font/sahel/sahel-300.woff b/packages/font/sahel/sahel-300.woff similarity index 100% rename from ui/font/sahel/sahel-300.woff rename to packages/font/sahel/sahel-300.woff diff --git a/ui/font/sahel/sahel-400.woff b/packages/font/sahel/sahel-400.woff similarity index 100% rename from ui/font/sahel/sahel-400.woff rename to packages/font/sahel/sahel-400.woff diff --git a/ui/font/sahel/sahel-600.woff b/packages/font/sahel/sahel-600.woff similarity index 100% rename from ui/font/sahel/sahel-600.woff rename to packages/font/sahel/sahel-600.woff diff --git a/ui/font/sahel/sahel-700.woff b/packages/font/sahel/sahel-700.woff similarity index 100% rename from ui/font/sahel/sahel-700.woff rename to packages/font/sahel/sahel-700.woff diff --git a/ui/font/sahel/sahel-900.woff b/packages/font/sahel/sahel-900.woff similarity index 100% rename from ui/font/sahel/sahel-900.woff rename to packages/font/sahel/sahel-900.woff diff --git a/ui/font/sahel/sahel[wght].woff2 b/packages/font/sahel/sahel[wght].woff2 similarity index 100% rename from ui/font/sahel/sahel[wght].woff2 rename to packages/font/sahel/sahel[wght].woff2 diff --git a/ui/font/vazirmatn-roundot.css b/packages/font/vazirmatn-roundot.css similarity index 100% rename from ui/font/vazirmatn-roundot.css rename to packages/font/vazirmatn-roundot.css diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-100.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-100.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-100.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-100.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-200.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-200.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-200.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-200.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-300.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-300.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-300.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-300.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-400.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-400.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-400.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-400.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-500.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-500.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-500.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-500.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-600.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-600.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-600.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-600.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-700.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-700.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-700.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-700.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-800.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-800.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-800.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-800.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot-900.woff b/packages/font/vazirmatn-roundot/vazirmatn-roundot-900.woff similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot-900.woff rename to packages/font/vazirmatn-roundot/vazirmatn-roundot-900.woff diff --git a/ui/font/vazirmatn-roundot/vazirmatn-roundot[wght].woff2 b/packages/font/vazirmatn-roundot/vazirmatn-roundot[wght].woff2 similarity index 100% rename from ui/font/vazirmatn-roundot/vazirmatn-roundot[wght].woff2 rename to packages/font/vazirmatn-roundot/vazirmatn-roundot[wght].woff2 diff --git a/ui/font/vazirmatn.css b/packages/font/vazirmatn.css similarity index 100% rename from ui/font/vazirmatn.css rename to packages/font/vazirmatn.css diff --git a/ui/font/vazirmatn/note.txt b/packages/font/vazirmatn/note.txt similarity index 100% rename from ui/font/vazirmatn/note.txt rename to packages/font/vazirmatn/note.txt diff --git a/ui/font/vazirmatn/vazirmatn-100.woff b/packages/font/vazirmatn/vazirmatn-100.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-100.woff rename to packages/font/vazirmatn/vazirmatn-100.woff diff --git a/ui/font/vazirmatn/vazirmatn-200.woff b/packages/font/vazirmatn/vazirmatn-200.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-200.woff rename to packages/font/vazirmatn/vazirmatn-200.woff diff --git a/ui/font/vazirmatn/vazirmatn-300.woff b/packages/font/vazirmatn/vazirmatn-300.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-300.woff rename to packages/font/vazirmatn/vazirmatn-300.woff diff --git a/ui/font/vazirmatn/vazirmatn-400.woff b/packages/font/vazirmatn/vazirmatn-400.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-400.woff rename to packages/font/vazirmatn/vazirmatn-400.woff diff --git a/ui/font/vazirmatn/vazirmatn-500.woff b/packages/font/vazirmatn/vazirmatn-500.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-500.woff rename to packages/font/vazirmatn/vazirmatn-500.woff diff --git a/ui/font/vazirmatn/vazirmatn-600.woff b/packages/font/vazirmatn/vazirmatn-600.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-600.woff rename to packages/font/vazirmatn/vazirmatn-600.woff diff --git a/ui/font/vazirmatn/vazirmatn-700.woff b/packages/font/vazirmatn/vazirmatn-700.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-700.woff rename to packages/font/vazirmatn/vazirmatn-700.woff diff --git a/ui/font/vazirmatn/vazirmatn-800.woff b/packages/font/vazirmatn/vazirmatn-800.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-800.woff rename to packages/font/vazirmatn/vazirmatn-800.woff diff --git a/ui/font/vazirmatn/vazirmatn-900.woff b/packages/font/vazirmatn/vazirmatn-900.woff similarity index 100% rename from ui/font/vazirmatn/vazirmatn-900.woff rename to packages/font/vazirmatn/vazirmatn-900.woff diff --git a/ui/font/vazirmatn/vazirmatn[wght].woff2 b/packages/font/vazirmatn/vazirmatn[wght].woff2 similarity index 100% rename from ui/font/vazirmatn/vazirmatn[wght].woff2 rename to packages/font/vazirmatn/vazirmatn[wght].woff2 From 067f4a631c7b7bbf16f8069ee22d7260371927c9 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:42:50 +0330 Subject: [PATCH 17/20] chore(icon): fix package path --- {ui => packages}/icon/CHANGELOG.md | 0 {ui => packages}/icon/README.md | 0 {ui => packages}/icon/package.json | 0 {ui => packages}/icon/src/icon.ts | 0 {ui => packages}/icon/src/preload.ts | 0 {ui => packages}/icon/src/svg.ts | 0 {ui => packages}/icon/svg/accessibility-outline.svg | 0 {ui => packages}/icon/svg/accessibility-sharp.svg | 0 {ui => packages}/icon/svg/accessibility.svg | 0 {ui => packages}/icon/svg/add-circle-outline.svg | 0 {ui => packages}/icon/svg/add-circle-sharp.svg | 0 {ui => packages}/icon/svg/add-circle.svg | 0 {ui => packages}/icon/svg/add-outline.svg | 0 {ui => packages}/icon/svg/add-sharp.svg | 0 {ui => packages}/icon/svg/add.svg | 0 {ui => packages}/icon/svg/airplane-outline.svg | 0 {ui => packages}/icon/svg/airplane-sharp.svg | 0 {ui => packages}/icon/svg/airplane.svg | 0 {ui => packages}/icon/svg/alarm-outline.svg | 0 {ui => packages}/icon/svg/alarm-sharp.svg | 0 {ui => packages}/icon/svg/alarm.svg | 0 {ui => packages}/icon/svg/albums-outline.svg | 0 {ui => packages}/icon/svg/albums-sharp.svg | 0 {ui => packages}/icon/svg/albums.svg | 0 {ui => packages}/icon/svg/alert-circle-outline.svg | 0 {ui => packages}/icon/svg/alert-circle-sharp.svg | 0 {ui => packages}/icon/svg/alert-circle.svg | 0 {ui => packages}/icon/svg/alert-outline.svg | 0 {ui => packages}/icon/svg/alert-sharp.svg | 0 {ui => packages}/icon/svg/alert.svg | 0 {ui => packages}/icon/svg/american-football-outline.svg | 0 {ui => packages}/icon/svg/american-football-sharp.svg | 0 {ui => packages}/icon/svg/american-football.svg | 0 {ui => packages}/icon/svg/analytics-outline.svg | 0 {ui => packages}/icon/svg/analytics-sharp.svg | 0 {ui => packages}/icon/svg/analytics.svg | 0 {ui => packages}/icon/svg/aperture-outline.svg | 0 {ui => packages}/icon/svg/aperture-sharp.svg | 0 {ui => packages}/icon/svg/aperture.svg | 0 {ui => packages}/icon/svg/apps-outline.svg | 0 {ui => packages}/icon/svg/apps-sharp.svg | 0 {ui => packages}/icon/svg/apps.svg | 0 {ui => packages}/icon/svg/archive-outline.svg | 0 {ui => packages}/icon/svg/archive-sharp.svg | 0 {ui => packages}/icon/svg/archive.svg | 0 {ui => packages}/icon/svg/arrow-back-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-back-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-back-circle.svg | 0 {ui => packages}/icon/svg/arrow-back-outline.svg | 0 {ui => packages}/icon/svg/arrow-back-sharp.svg | 0 {ui => packages}/icon/svg/arrow-back.svg | 0 {ui => packages}/icon/svg/arrow-down-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-down-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-down-circle.svg | 0 {ui => packages}/icon/svg/arrow-down-outline.svg | 0 {ui => packages}/icon/svg/arrow-down-sharp.svg | 0 {ui => packages}/icon/svg/arrow-down.svg | 0 {ui => packages}/icon/svg/arrow-forward-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-forward-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-forward-circle.svg | 0 {ui => packages}/icon/svg/arrow-forward-outline.svg | 0 {ui => packages}/icon/svg/arrow-forward-sharp.svg | 0 {ui => packages}/icon/svg/arrow-forward.svg | 0 {ui => packages}/icon/svg/arrow-redo-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-redo-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-redo-circle.svg | 0 {ui => packages}/icon/svg/arrow-redo-outline.svg | 0 {ui => packages}/icon/svg/arrow-redo-sharp.svg | 0 {ui => packages}/icon/svg/arrow-redo.svg | 0 {ui => packages}/icon/svg/arrow-undo-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-undo-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-undo-circle.svg | 0 {ui => packages}/icon/svg/arrow-undo-outline.svg | 0 {ui => packages}/icon/svg/arrow-undo-sharp.svg | 0 {ui => packages}/icon/svg/arrow-undo.svg | 0 {ui => packages}/icon/svg/arrow-up-circle-outline.svg | 0 {ui => packages}/icon/svg/arrow-up-circle-sharp.svg | 0 {ui => packages}/icon/svg/arrow-up-circle.svg | 0 {ui => packages}/icon/svg/arrow-up-outline.svg | 0 {ui => packages}/icon/svg/arrow-up-sharp.svg | 0 {ui => packages}/icon/svg/arrow-up.svg | 0 {ui => packages}/icon/svg/at-circle-outline.svg | 0 {ui => packages}/icon/svg/at-circle-sharp.svg | 0 {ui => packages}/icon/svg/at-circle.svg | 0 {ui => packages}/icon/svg/at-outline.svg | 0 {ui => packages}/icon/svg/at-sharp.svg | 0 {ui => packages}/icon/svg/at.svg | 0 {ui => packages}/icon/svg/attach-outline.svg | 0 {ui => packages}/icon/svg/attach-sharp.svg | 0 {ui => packages}/icon/svg/attach.svg | 0 {ui => packages}/icon/svg/backspace-outline.svg | 0 {ui => packages}/icon/svg/backspace-sharp.svg | 0 {ui => packages}/icon/svg/backspace.svg | 0 {ui => packages}/icon/svg/bag-add-outline.svg | 0 {ui => packages}/icon/svg/bag-add-sharp.svg | 0 {ui => packages}/icon/svg/bag-add.svg | 0 {ui => packages}/icon/svg/bag-check-outline.svg | 0 {ui => packages}/icon/svg/bag-check-sharp.svg | 0 {ui => packages}/icon/svg/bag-check.svg | 0 {ui => packages}/icon/svg/bag-handle-outline.svg | 0 {ui => packages}/icon/svg/bag-handle-sharp.svg | 0 {ui => packages}/icon/svg/bag-handle.svg | 0 {ui => packages}/icon/svg/bag-outline.svg | 0 {ui => packages}/icon/svg/bag-remove-outline.svg | 0 {ui => packages}/icon/svg/bag-remove-sharp.svg | 0 {ui => packages}/icon/svg/bag-remove.svg | 0 {ui => packages}/icon/svg/bag-sharp.svg | 0 {ui => packages}/icon/svg/bag.svg | 0 {ui => packages}/icon/svg/balloon-outline.svg | 0 {ui => packages}/icon/svg/balloon-sharp.svg | 0 {ui => packages}/icon/svg/balloon.svg | 0 {ui => packages}/icon/svg/ban-outline.svg | 0 {ui => packages}/icon/svg/ban-sharp.svg | 0 {ui => packages}/icon/svg/ban.svg | 0 {ui => packages}/icon/svg/bandage-outline.svg | 0 {ui => packages}/icon/svg/bandage-sharp.svg | 0 {ui => packages}/icon/svg/bandage.svg | 0 {ui => packages}/icon/svg/bar-chart-outline.svg | 0 {ui => packages}/icon/svg/bar-chart-sharp.svg | 0 {ui => packages}/icon/svg/bar-chart.svg | 0 {ui => packages}/icon/svg/barbell-outline.svg | 0 {ui => packages}/icon/svg/barbell-sharp.svg | 0 {ui => packages}/icon/svg/barbell.svg | 0 {ui => packages}/icon/svg/barcode-outline.svg | 0 {ui => packages}/icon/svg/barcode-sharp.svg | 0 {ui => packages}/icon/svg/barcode.svg | 0 {ui => packages}/icon/svg/baseball-outline.svg | 0 {ui => packages}/icon/svg/baseball-sharp.svg | 0 {ui => packages}/icon/svg/baseball.svg | 0 {ui => packages}/icon/svg/basket-outline.svg | 0 {ui => packages}/icon/svg/basket-sharp.svg | 0 {ui => packages}/icon/svg/basket.svg | 0 {ui => packages}/icon/svg/basketball-outline.svg | 0 {ui => packages}/icon/svg/basketball-sharp.svg | 0 {ui => packages}/icon/svg/basketball.svg | 0 {ui => packages}/icon/svg/battery-charging-outline.svg | 0 {ui => packages}/icon/svg/battery-charging-sharp.svg | 0 {ui => packages}/icon/svg/battery-charging.svg | 0 {ui => packages}/icon/svg/battery-dead-outline.svg | 0 {ui => packages}/icon/svg/battery-dead-sharp.svg | 0 {ui => packages}/icon/svg/battery-dead.svg | 0 {ui => packages}/icon/svg/battery-full-outline.svg | 0 {ui => packages}/icon/svg/battery-full-sharp.svg | 0 {ui => packages}/icon/svg/battery-full.svg | 0 {ui => packages}/icon/svg/battery-half-outline.svg | 0 {ui => packages}/icon/svg/battery-half-sharp.svg | 0 {ui => packages}/icon/svg/battery-half.svg | 0 {ui => packages}/icon/svg/beaker-outline.svg | 0 {ui => packages}/icon/svg/beaker-sharp.svg | 0 {ui => packages}/icon/svg/beaker.svg | 0 {ui => packages}/icon/svg/bed-outline.svg | 0 {ui => packages}/icon/svg/bed-sharp.svg | 0 {ui => packages}/icon/svg/bed.svg | 0 {ui => packages}/icon/svg/beer-outline.svg | 0 {ui => packages}/icon/svg/beer-sharp.svg | 0 {ui => packages}/icon/svg/beer.svg | 0 {ui => packages}/icon/svg/bicycle-outline.svg | 0 {ui => packages}/icon/svg/bicycle-sharp.svg | 0 {ui => packages}/icon/svg/bicycle.svg | 0 {ui => packages}/icon/svg/bluetooth-outline.svg | 0 {ui => packages}/icon/svg/bluetooth-sharp.svg | 0 {ui => packages}/icon/svg/bluetooth.svg | 0 {ui => packages}/icon/svg/boat-outline.svg | 0 {ui => packages}/icon/svg/boat-sharp.svg | 0 {ui => packages}/icon/svg/boat.svg | 0 {ui => packages}/icon/svg/body-outline.svg | 0 {ui => packages}/icon/svg/body-sharp.svg | 0 {ui => packages}/icon/svg/body.svg | 0 {ui => packages}/icon/svg/bonfire-outline.svg | 0 {ui => packages}/icon/svg/bonfire-sharp.svg | 0 {ui => packages}/icon/svg/bonfire.svg | 0 {ui => packages}/icon/svg/book-outline.svg | 0 {ui => packages}/icon/svg/book-sharp.svg | 0 {ui => packages}/icon/svg/book.svg | 0 {ui => packages}/icon/svg/bookmark-outline.svg | 0 {ui => packages}/icon/svg/bookmark-sharp.svg | 0 {ui => packages}/icon/svg/bookmark.svg | 0 {ui => packages}/icon/svg/bookmarks-outline.svg | 0 {ui => packages}/icon/svg/bookmarks-sharp.svg | 0 {ui => packages}/icon/svg/bookmarks.svg | 0 {ui => packages}/icon/svg/bowling-ball-outline.svg | 0 {ui => packages}/icon/svg/bowling-ball-sharp.svg | 0 {ui => packages}/icon/svg/bowling-ball.svg | 0 {ui => packages}/icon/svg/briefcase-outline.svg | 0 {ui => packages}/icon/svg/briefcase-sharp.svg | 0 {ui => packages}/icon/svg/briefcase.svg | 0 {ui => packages}/icon/svg/browsers-outline.svg | 0 {ui => packages}/icon/svg/browsers-sharp.svg | 0 {ui => packages}/icon/svg/browsers.svg | 0 {ui => packages}/icon/svg/brush-outline.svg | 0 {ui => packages}/icon/svg/brush-sharp.svg | 0 {ui => packages}/icon/svg/brush.svg | 0 {ui => packages}/icon/svg/bug-outline.svg | 0 {ui => packages}/icon/svg/bug-sharp.svg | 0 {ui => packages}/icon/svg/bug.svg | 0 {ui => packages}/icon/svg/build-outline.svg | 0 {ui => packages}/icon/svg/build-sharp.svg | 0 {ui => packages}/icon/svg/build.svg | 0 {ui => packages}/icon/svg/bulb-outline.svg | 0 {ui => packages}/icon/svg/bulb-sharp.svg | 0 {ui => packages}/icon/svg/bulb.svg | 0 {ui => packages}/icon/svg/bus-outline.svg | 0 {ui => packages}/icon/svg/bus-sharp.svg | 0 {ui => packages}/icon/svg/bus.svg | 0 {ui => packages}/icon/svg/business-outline.svg | 0 {ui => packages}/icon/svg/business-sharp.svg | 0 {ui => packages}/icon/svg/business.svg | 0 {ui => packages}/icon/svg/cafe-outline.svg | 0 {ui => packages}/icon/svg/cafe-sharp.svg | 0 {ui => packages}/icon/svg/cafe.svg | 0 {ui => packages}/icon/svg/calculator-outline.svg | 0 {ui => packages}/icon/svg/calculator-sharp.svg | 0 {ui => packages}/icon/svg/calculator.svg | 0 {ui => packages}/icon/svg/calendar-clear-outline.svg | 0 {ui => packages}/icon/svg/calendar-clear-sharp.svg | 0 {ui => packages}/icon/svg/calendar-clear.svg | 0 {ui => packages}/icon/svg/calendar-number-outline.svg | 0 {ui => packages}/icon/svg/calendar-number-sharp.svg | 0 {ui => packages}/icon/svg/calendar-number.svg | 0 {ui => packages}/icon/svg/calendar-outline.svg | 0 {ui => packages}/icon/svg/calendar-sharp.svg | 0 {ui => packages}/icon/svg/calendar.svg | 0 {ui => packages}/icon/svg/call-outline.svg | 0 {ui => packages}/icon/svg/call-sharp.svg | 0 {ui => packages}/icon/svg/call.svg | 0 {ui => packages}/icon/svg/camera-outline.svg | 0 {ui => packages}/icon/svg/camera-reverse-outline.svg | 0 {ui => packages}/icon/svg/camera-reverse-sharp.svg | 0 {ui => packages}/icon/svg/camera-reverse.svg | 0 {ui => packages}/icon/svg/camera-sharp.svg | 0 {ui => packages}/icon/svg/camera.svg | 0 {ui => packages}/icon/svg/car-outline.svg | 0 {ui => packages}/icon/svg/car-sharp.svg | 0 {ui => packages}/icon/svg/car-sport-outline.svg | 0 {ui => packages}/icon/svg/car-sport-sharp.svg | 0 {ui => packages}/icon/svg/car-sport.svg | 0 {ui => packages}/icon/svg/car.svg | 0 {ui => packages}/icon/svg/card-outline.svg | 0 {ui => packages}/icon/svg/card-sharp.svg | 0 {ui => packages}/icon/svg/card.svg | 0 {ui => packages}/icon/svg/caret-back-circle-outline.svg | 0 {ui => packages}/icon/svg/caret-back-circle-sharp.svg | 0 {ui => packages}/icon/svg/caret-back-circle.svg | 0 {ui => packages}/icon/svg/caret-back-outline.svg | 0 {ui => packages}/icon/svg/caret-back-sharp.svg | 0 {ui => packages}/icon/svg/caret-back.svg | 0 {ui => packages}/icon/svg/caret-down-circle-outline.svg | 0 {ui => packages}/icon/svg/caret-down-circle-sharp.svg | 0 {ui => packages}/icon/svg/caret-down-circle.svg | 0 {ui => packages}/icon/svg/caret-down-outline.svg | 0 {ui => packages}/icon/svg/caret-down-sharp.svg | 0 {ui => packages}/icon/svg/caret-down.svg | 0 {ui => packages}/icon/svg/caret-forward-circle-outline.svg | 0 {ui => packages}/icon/svg/caret-forward-circle-sharp.svg | 0 {ui => packages}/icon/svg/caret-forward-circle.svg | 0 {ui => packages}/icon/svg/caret-forward-outline.svg | 0 {ui => packages}/icon/svg/caret-forward-sharp.svg | 0 {ui => packages}/icon/svg/caret-forward.svg | 0 {ui => packages}/icon/svg/caret-up-circle-outline.svg | 0 {ui => packages}/icon/svg/caret-up-circle-sharp.svg | 0 {ui => packages}/icon/svg/caret-up-circle.svg | 0 {ui => packages}/icon/svg/caret-up-outline.svg | 0 {ui => packages}/icon/svg/caret-up-sharp.svg | 0 {ui => packages}/icon/svg/caret-up.svg | 0 {ui => packages}/icon/svg/cart-outline.svg | 0 {ui => packages}/icon/svg/cart-sharp.svg | 0 {ui => packages}/icon/svg/cart.svg | 0 {ui => packages}/icon/svg/cash-outline.svg | 0 {ui => packages}/icon/svg/cash-sharp.svg | 0 {ui => packages}/icon/svg/cash.svg | 0 {ui => packages}/icon/svg/cellular-outline.svg | 0 {ui => packages}/icon/svg/cellular-sharp.svg | 0 {ui => packages}/icon/svg/cellular.svg | 0 {ui => packages}/icon/svg/chatbox-ellipses-outline.svg | 0 {ui => packages}/icon/svg/chatbox-ellipses-sharp.svg | 0 {ui => packages}/icon/svg/chatbox-ellipses.svg | 0 {ui => packages}/icon/svg/chatbox-outline.svg | 0 {ui => packages}/icon/svg/chatbox-sharp.svg | 0 {ui => packages}/icon/svg/chatbox.svg | 0 {ui => packages}/icon/svg/chatbubble-ellipses-outline.svg | 0 {ui => packages}/icon/svg/chatbubble-ellipses-sharp.svg | 0 {ui => packages}/icon/svg/chatbubble-ellipses.svg | 0 {ui => packages}/icon/svg/chatbubble-outline.svg | 0 {ui => packages}/icon/svg/chatbubble-sharp.svg | 0 {ui => packages}/icon/svg/chatbubble.svg | 0 {ui => packages}/icon/svg/chatbubbles-outline.svg | 0 {ui => packages}/icon/svg/chatbubbles-sharp.svg | 0 {ui => packages}/icon/svg/chatbubbles.svg | 0 {ui => packages}/icon/svg/checkbox-outline.svg | 0 {ui => packages}/icon/svg/checkbox-sharp.svg | 0 {ui => packages}/icon/svg/checkbox.svg | 0 {ui => packages}/icon/svg/checkmark-circle-outline.svg | 0 {ui => packages}/icon/svg/checkmark-circle-sharp.svg | 0 {ui => packages}/icon/svg/checkmark-circle.svg | 0 {ui => packages}/icon/svg/checkmark-done-circle-outline.svg | 0 {ui => packages}/icon/svg/checkmark-done-circle-sharp.svg | 0 {ui => packages}/icon/svg/checkmark-done-circle.svg | 0 {ui => packages}/icon/svg/checkmark-done-outline.svg | 0 {ui => packages}/icon/svg/checkmark-done-sharp.svg | 0 {ui => packages}/icon/svg/checkmark-done.svg | 0 {ui => packages}/icon/svg/checkmark-outline.svg | 0 {ui => packages}/icon/svg/checkmark-sharp.svg | 0 {ui => packages}/icon/svg/checkmark.svg | 0 {ui => packages}/icon/svg/chevron-back-circle-outline.svg | 0 {ui => packages}/icon/svg/chevron-back-circle-sharp.svg | 0 {ui => packages}/icon/svg/chevron-back-circle.svg | 0 {ui => packages}/icon/svg/chevron-back-outline.svg | 0 {ui => packages}/icon/svg/chevron-back-sharp.svg | 0 {ui => packages}/icon/svg/chevron-back.svg | 0 {ui => packages}/icon/svg/chevron-down-circle-outline.svg | 0 {ui => packages}/icon/svg/chevron-down-circle-sharp.svg | 0 {ui => packages}/icon/svg/chevron-down-circle.svg | 0 {ui => packages}/icon/svg/chevron-down-outline.svg | 0 {ui => packages}/icon/svg/chevron-down-sharp.svg | 0 {ui => packages}/icon/svg/chevron-down.svg | 0 {ui => packages}/icon/svg/chevron-forward-circle-outline.svg | 0 {ui => packages}/icon/svg/chevron-forward-circle-sharp.svg | 0 {ui => packages}/icon/svg/chevron-forward-circle.svg | 0 {ui => packages}/icon/svg/chevron-forward-outline.svg | 0 {ui => packages}/icon/svg/chevron-forward-sharp.svg | 0 {ui => packages}/icon/svg/chevron-forward.svg | 0 {ui => packages}/icon/svg/chevron-up-circle-outline.svg | 0 {ui => packages}/icon/svg/chevron-up-circle-sharp.svg | 0 {ui => packages}/icon/svg/chevron-up-circle.svg | 0 {ui => packages}/icon/svg/chevron-up-outline.svg | 0 {ui => packages}/icon/svg/chevron-up-sharp.svg | 0 {ui => packages}/icon/svg/chevron-up.svg | 0 {ui => packages}/icon/svg/clipboard-outline.svg | 0 {ui => packages}/icon/svg/clipboard-sharp.svg | 0 {ui => packages}/icon/svg/clipboard.svg | 0 {ui => packages}/icon/svg/close-circle-outline.svg | 0 {ui => packages}/icon/svg/close-circle-sharp.svg | 0 {ui => packages}/icon/svg/close-circle.svg | 0 {ui => packages}/icon/svg/close-outline.svg | 0 {ui => packages}/icon/svg/close-sharp.svg | 0 {ui => packages}/icon/svg/close.svg | 0 {ui => packages}/icon/svg/cloud-circle-outline.svg | 0 {ui => packages}/icon/svg/cloud-circle-sharp.svg | 0 {ui => packages}/icon/svg/cloud-circle.svg | 0 {ui => packages}/icon/svg/cloud-done-outline.svg | 0 {ui => packages}/icon/svg/cloud-done-sharp.svg | 0 {ui => packages}/icon/svg/cloud-done.svg | 0 {ui => packages}/icon/svg/cloud-download-outline.svg | 0 {ui => packages}/icon/svg/cloud-download-sharp.svg | 0 {ui => packages}/icon/svg/cloud-download.svg | 0 {ui => packages}/icon/svg/cloud-offline-outline.svg | 0 {ui => packages}/icon/svg/cloud-offline-sharp.svg | 0 {ui => packages}/icon/svg/cloud-offline.svg | 0 {ui => packages}/icon/svg/cloud-outline.svg | 0 {ui => packages}/icon/svg/cloud-sharp.svg | 0 {ui => packages}/icon/svg/cloud-upload-outline.svg | 0 {ui => packages}/icon/svg/cloud-upload-sharp.svg | 0 {ui => packages}/icon/svg/cloud-upload.svg | 0 {ui => packages}/icon/svg/cloud.svg | 0 {ui => packages}/icon/svg/cloudy-night-outline.svg | 0 {ui => packages}/icon/svg/cloudy-night-sharp.svg | 0 {ui => packages}/icon/svg/cloudy-night.svg | 0 {ui => packages}/icon/svg/cloudy-outline.svg | 0 {ui => packages}/icon/svg/cloudy-sharp.svg | 0 {ui => packages}/icon/svg/cloudy.svg | 0 {ui => packages}/icon/svg/code-download-outline.svg | 0 {ui => packages}/icon/svg/code-download-sharp.svg | 0 {ui => packages}/icon/svg/code-download.svg | 0 {ui => packages}/icon/svg/code-outline.svg | 0 {ui => packages}/icon/svg/code-sharp.svg | 0 {ui => packages}/icon/svg/code-slash-outline.svg | 0 {ui => packages}/icon/svg/code-slash-sharp.svg | 0 {ui => packages}/icon/svg/code-slash.svg | 0 {ui => packages}/icon/svg/code-working-outline.svg | 0 {ui => packages}/icon/svg/code-working-sharp.svg | 0 {ui => packages}/icon/svg/code-working.svg | 0 {ui => packages}/icon/svg/code.svg | 0 {ui => packages}/icon/svg/cog-outline.svg | 0 {ui => packages}/icon/svg/cog-sharp.svg | 0 {ui => packages}/icon/svg/cog.svg | 0 {ui => packages}/icon/svg/color-fill-outline.svg | 0 {ui => packages}/icon/svg/color-fill-sharp.svg | 0 {ui => packages}/icon/svg/color-fill.svg | 0 {ui => packages}/icon/svg/color-filter-outline.svg | 0 {ui => packages}/icon/svg/color-filter-sharp.svg | 0 {ui => packages}/icon/svg/color-filter.svg | 0 {ui => packages}/icon/svg/color-palette-outline.svg | 0 {ui => packages}/icon/svg/color-palette-sharp.svg | 0 {ui => packages}/icon/svg/color-palette.svg | 0 {ui => packages}/icon/svg/color-wand-outline.svg | 0 {ui => packages}/icon/svg/color-wand-sharp.svg | 0 {ui => packages}/icon/svg/color-wand.svg | 0 {ui => packages}/icon/svg/compass-outline.svg | 0 {ui => packages}/icon/svg/compass-sharp.svg | 0 {ui => packages}/icon/svg/compass.svg | 0 {ui => packages}/icon/svg/construct-outline.svg | 0 {ui => packages}/icon/svg/construct-sharp.svg | 0 {ui => packages}/icon/svg/construct.svg | 0 {ui => packages}/icon/svg/contract-outline.svg | 0 {ui => packages}/icon/svg/contract-sharp.svg | 0 {ui => packages}/icon/svg/contract.svg | 0 {ui => packages}/icon/svg/contrast-outline.svg | 0 {ui => packages}/icon/svg/contrast-sharp.svg | 0 {ui => packages}/icon/svg/contrast.svg | 0 {ui => packages}/icon/svg/copy-outline.svg | 0 {ui => packages}/icon/svg/copy-sharp.svg | 0 {ui => packages}/icon/svg/copy.svg | 0 {ui => packages}/icon/svg/create-outline.svg | 0 {ui => packages}/icon/svg/create-sharp.svg | 0 {ui => packages}/icon/svg/create.svg | 0 {ui => packages}/icon/svg/crop-outline.svg | 0 {ui => packages}/icon/svg/crop-sharp.svg | 0 {ui => packages}/icon/svg/crop.svg | 0 {ui => packages}/icon/svg/cube-outline.svg | 0 {ui => packages}/icon/svg/cube-sharp.svg | 0 {ui => packages}/icon/svg/cube.svg | 0 {ui => packages}/icon/svg/cut-outline.svg | 0 {ui => packages}/icon/svg/cut-sharp.svg | 0 {ui => packages}/icon/svg/cut.svg | 0 {ui => packages}/icon/svg/desktop-outline.svg | 0 {ui => packages}/icon/svg/desktop-sharp.svg | 0 {ui => packages}/icon/svg/desktop.svg | 0 {ui => packages}/icon/svg/diamond-outline.svg | 0 {ui => packages}/icon/svg/diamond-sharp.svg | 0 {ui => packages}/icon/svg/diamond.svg | 0 {ui => packages}/icon/svg/dice-outline.svg | 0 {ui => packages}/icon/svg/dice-sharp.svg | 0 {ui => packages}/icon/svg/dice.svg | 0 {ui => packages}/icon/svg/disc-outline.svg | 0 {ui => packages}/icon/svg/disc-sharp.svg | 0 {ui => packages}/icon/svg/disc.svg | 0 {ui => packages}/icon/svg/document-attach-outline.svg | 0 {ui => packages}/icon/svg/document-attach-sharp.svg | 0 {ui => packages}/icon/svg/document-attach.svg | 0 {ui => packages}/icon/svg/document-lock-outline.svg | 0 {ui => packages}/icon/svg/document-lock-sharp.svg | 0 {ui => packages}/icon/svg/document-lock.svg | 0 {ui => packages}/icon/svg/document-outline.svg | 0 {ui => packages}/icon/svg/document-sharp.svg | 0 {ui => packages}/icon/svg/document-text-outline.svg | 0 {ui => packages}/icon/svg/document-text-sharp.svg | 0 {ui => packages}/icon/svg/document-text.svg | 0 {ui => packages}/icon/svg/document.svg | 0 {ui => packages}/icon/svg/documents-outline.svg | 0 {ui => packages}/icon/svg/documents-sharp.svg | 0 {ui => packages}/icon/svg/documents.svg | 0 {ui => packages}/icon/svg/download-outline.svg | 0 {ui => packages}/icon/svg/download-sharp.svg | 0 {ui => packages}/icon/svg/download.svg | 0 {ui => packages}/icon/svg/duplicate-outline.svg | 0 {ui => packages}/icon/svg/duplicate-sharp.svg | 0 {ui => packages}/icon/svg/duplicate.svg | 0 {ui => packages}/icon/svg/ear-outline.svg | 0 {ui => packages}/icon/svg/ear-sharp.svg | 0 {ui => packages}/icon/svg/ear.svg | 0 {ui => packages}/icon/svg/earth-outline.svg | 0 {ui => packages}/icon/svg/earth-sharp.svg | 0 {ui => packages}/icon/svg/earth.svg | 0 {ui => packages}/icon/svg/easel-outline.svg | 0 {ui => packages}/icon/svg/easel-sharp.svg | 0 {ui => packages}/icon/svg/easel.svg | 0 {ui => packages}/icon/svg/egg-outline.svg | 0 {ui => packages}/icon/svg/egg-sharp.svg | 0 {ui => packages}/icon/svg/egg.svg | 0 {ui => packages}/icon/svg/ellipse-outline.svg | 0 {ui => packages}/icon/svg/ellipse-sharp.svg | 0 {ui => packages}/icon/svg/ellipse.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal-circle-outline.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal-circle-sharp.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal-circle.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal-outline.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal-sharp.svg | 0 {ui => packages}/icon/svg/ellipsis-horizontal.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical-circle-outline.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical-circle-sharp.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical-circle.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical-outline.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical-sharp.svg | 0 {ui => packages}/icon/svg/ellipsis-vertical.svg | 0 {ui => packages}/icon/svg/enter-outline.svg | 0 {ui => packages}/icon/svg/enter-sharp.svg | 0 {ui => packages}/icon/svg/enter.svg | 0 {ui => packages}/icon/svg/exit-outline.svg | 0 {ui => packages}/icon/svg/exit-sharp.svg | 0 {ui => packages}/icon/svg/exit.svg | 0 {ui => packages}/icon/svg/expand-outline.svg | 0 {ui => packages}/icon/svg/expand-sharp.svg | 0 {ui => packages}/icon/svg/expand.svg | 0 {ui => packages}/icon/svg/extension-puzzle-outline.svg | 0 {ui => packages}/icon/svg/extension-puzzle-sharp.svg | 0 {ui => packages}/icon/svg/extension-puzzle.svg | 0 {ui => packages}/icon/svg/eye-off-outline.svg | 0 {ui => packages}/icon/svg/eye-off-sharp.svg | 0 {ui => packages}/icon/svg/eye-off.svg | 0 {ui => packages}/icon/svg/eye-outline.svg | 0 {ui => packages}/icon/svg/eye-sharp.svg | 0 {ui => packages}/icon/svg/eye.svg | 0 {ui => packages}/icon/svg/eyedrop-outline.svg | 0 {ui => packages}/icon/svg/eyedrop-sharp.svg | 0 {ui => packages}/icon/svg/eyedrop.svg | 0 {ui => packages}/icon/svg/fast-food-outline.svg | 0 {ui => packages}/icon/svg/fast-food-sharp.svg | 0 {ui => packages}/icon/svg/fast-food.svg | 0 {ui => packages}/icon/svg/female-outline.svg | 0 {ui => packages}/icon/svg/female-sharp.svg | 0 {ui => packages}/icon/svg/female.svg | 0 {ui => packages}/icon/svg/file-tray-full-outline.svg | 0 {ui => packages}/icon/svg/file-tray-full-sharp.svg | 0 {ui => packages}/icon/svg/file-tray-full.svg | 0 {ui => packages}/icon/svg/file-tray-outline.svg | 0 {ui => packages}/icon/svg/file-tray-sharp.svg | 0 {ui => packages}/icon/svg/file-tray-stacked-outline.svg | 0 {ui => packages}/icon/svg/file-tray-stacked-sharp.svg | 0 {ui => packages}/icon/svg/file-tray-stacked.svg | 0 {ui => packages}/icon/svg/file-tray.svg | 0 {ui => packages}/icon/svg/film-outline.svg | 0 {ui => packages}/icon/svg/film-sharp.svg | 0 {ui => packages}/icon/svg/film.svg | 0 {ui => packages}/icon/svg/filter-circle-outline.svg | 0 {ui => packages}/icon/svg/filter-circle-sharp.svg | 0 {ui => packages}/icon/svg/filter-circle.svg | 0 {ui => packages}/icon/svg/filter-outline.svg | 0 {ui => packages}/icon/svg/filter-sharp.svg | 0 {ui => packages}/icon/svg/filter.svg | 0 {ui => packages}/icon/svg/finger-print-outline.svg | 0 {ui => packages}/icon/svg/finger-print-sharp.svg | 0 {ui => packages}/icon/svg/finger-print.svg | 0 {ui => packages}/icon/svg/fish-outline.svg | 0 {ui => packages}/icon/svg/fish-sharp.svg | 0 {ui => packages}/icon/svg/fish.svg | 0 {ui => packages}/icon/svg/fitness-outline.svg | 0 {ui => packages}/icon/svg/fitness-sharp.svg | 0 {ui => packages}/icon/svg/fitness.svg | 0 {ui => packages}/icon/svg/flag-outline.svg | 0 {ui => packages}/icon/svg/flag-sharp.svg | 0 {ui => packages}/icon/svg/flag.svg | 0 {ui => packages}/icon/svg/flame-outline.svg | 0 {ui => packages}/icon/svg/flame-sharp.svg | 0 {ui => packages}/icon/svg/flame.svg | 0 {ui => packages}/icon/svg/flash-off-outline.svg | 0 {ui => packages}/icon/svg/flash-off-sharp.svg | 0 {ui => packages}/icon/svg/flash-off.svg | 0 {ui => packages}/icon/svg/flash-outline.svg | 0 {ui => packages}/icon/svg/flash-sharp.svg | 0 {ui => packages}/icon/svg/flash.svg | 0 {ui => packages}/icon/svg/flashlight-outline.svg | 0 {ui => packages}/icon/svg/flashlight-sharp.svg | 0 {ui => packages}/icon/svg/flashlight.svg | 0 {ui => packages}/icon/svg/flask-outline.svg | 0 {ui => packages}/icon/svg/flask-sharp.svg | 0 {ui => packages}/icon/svg/flask.svg | 0 {ui => packages}/icon/svg/flower-outline.svg | 0 {ui => packages}/icon/svg/flower-sharp.svg | 0 {ui => packages}/icon/svg/flower.svg | 0 {ui => packages}/icon/svg/folder-open-outline.svg | 0 {ui => packages}/icon/svg/folder-open-sharp.svg | 0 {ui => packages}/icon/svg/folder-open.svg | 0 {ui => packages}/icon/svg/folder-outline.svg | 0 {ui => packages}/icon/svg/folder-sharp.svg | 0 {ui => packages}/icon/svg/folder.svg | 0 {ui => packages}/icon/svg/football-outline.svg | 0 {ui => packages}/icon/svg/football-sharp.svg | 0 {ui => packages}/icon/svg/football.svg | 0 {ui => packages}/icon/svg/footsteps-outline.svg | 0 {ui => packages}/icon/svg/footsteps-sharp.svg | 0 {ui => packages}/icon/svg/footsteps.svg | 0 {ui => packages}/icon/svg/funnel-outline.svg | 0 {ui => packages}/icon/svg/funnel-sharp.svg | 0 {ui => packages}/icon/svg/funnel.svg | 0 {ui => packages}/icon/svg/game-controller-outline.svg | 0 {ui => packages}/icon/svg/game-controller-sharp.svg | 0 {ui => packages}/icon/svg/game-controller.svg | 0 {ui => packages}/icon/svg/gift-outline.svg | 0 {ui => packages}/icon/svg/gift-sharp.svg | 0 {ui => packages}/icon/svg/gift.svg | 0 {ui => packages}/icon/svg/git-branch-outline.svg | 0 {ui => packages}/icon/svg/git-branch-sharp.svg | 0 {ui => packages}/icon/svg/git-branch.svg | 0 {ui => packages}/icon/svg/git-commit-outline.svg | 0 {ui => packages}/icon/svg/git-commit-sharp.svg | 0 {ui => packages}/icon/svg/git-commit.svg | 0 {ui => packages}/icon/svg/git-compare-outline.svg | 0 {ui => packages}/icon/svg/git-compare-sharp.svg | 0 {ui => packages}/icon/svg/git-compare.svg | 0 {ui => packages}/icon/svg/git-merge-outline.svg | 0 {ui => packages}/icon/svg/git-merge-sharp.svg | 0 {ui => packages}/icon/svg/git-merge.svg | 0 {ui => packages}/icon/svg/git-network-outline.svg | 0 {ui => packages}/icon/svg/git-network-sharp.svg | 0 {ui => packages}/icon/svg/git-network.svg | 0 {ui => packages}/icon/svg/git-pull-request-outline.svg | 0 {ui => packages}/icon/svg/git-pull-request-sharp.svg | 0 {ui => packages}/icon/svg/git-pull-request.svg | 0 {ui => packages}/icon/svg/glasses-outline.svg | 0 {ui => packages}/icon/svg/glasses-sharp.svg | 0 {ui => packages}/icon/svg/glasses.svg | 0 {ui => packages}/icon/svg/globe-outline.svg | 0 {ui => packages}/icon/svg/globe-sharp.svg | 0 {ui => packages}/icon/svg/globe.svg | 0 {ui => packages}/icon/svg/golf-outline.svg | 0 {ui => packages}/icon/svg/golf-sharp.svg | 0 {ui => packages}/icon/svg/golf.svg | 0 {ui => packages}/icon/svg/grid-outline.svg | 0 {ui => packages}/icon/svg/grid-sharp.svg | 0 {ui => packages}/icon/svg/grid.svg | 0 {ui => packages}/icon/svg/hammer-outline.svg | 0 {ui => packages}/icon/svg/hammer-sharp.svg | 0 {ui => packages}/icon/svg/hammer.svg | 0 {ui => packages}/icon/svg/hand-left-outline.svg | 0 {ui => packages}/icon/svg/hand-left-sharp.svg | 0 {ui => packages}/icon/svg/hand-left.svg | 0 {ui => packages}/icon/svg/hand-right-outline.svg | 0 {ui => packages}/icon/svg/hand-right-sharp.svg | 0 {ui => packages}/icon/svg/hand-right.svg | 0 {ui => packages}/icon/svg/happy-outline.svg | 0 {ui => packages}/icon/svg/happy-sharp.svg | 0 {ui => packages}/icon/svg/happy.svg | 0 {ui => packages}/icon/svg/hardware-chip-outline.svg | 0 {ui => packages}/icon/svg/hardware-chip-sharp.svg | 0 {ui => packages}/icon/svg/hardware-chip.svg | 0 {ui => packages}/icon/svg/headset-outline.svg | 0 {ui => packages}/icon/svg/headset-sharp.svg | 0 {ui => packages}/icon/svg/headset.svg | 0 {ui => packages}/icon/svg/heart-circle-outline.svg | 0 {ui => packages}/icon/svg/heart-circle-sharp.svg | 0 {ui => packages}/icon/svg/heart-circle.svg | 0 {ui => packages}/icon/svg/heart-dislike-circle-outline.svg | 0 {ui => packages}/icon/svg/heart-dislike-circle-sharp.svg | 0 {ui => packages}/icon/svg/heart-dislike-circle.svg | 0 {ui => packages}/icon/svg/heart-dislike-outline.svg | 0 {ui => packages}/icon/svg/heart-dislike-sharp.svg | 0 {ui => packages}/icon/svg/heart-dislike.svg | 0 {ui => packages}/icon/svg/heart-half-outline.svg | 0 {ui => packages}/icon/svg/heart-half-sharp.svg | 0 {ui => packages}/icon/svg/heart-half.svg | 0 {ui => packages}/icon/svg/heart-outline.svg | 0 {ui => packages}/icon/svg/heart-sharp.svg | 0 {ui => packages}/icon/svg/heart.svg | 0 {ui => packages}/icon/svg/help-buoy-outline.svg | 0 {ui => packages}/icon/svg/help-buoy-sharp.svg | 0 {ui => packages}/icon/svg/help-buoy.svg | 0 {ui => packages}/icon/svg/help-circle-outline.svg | 0 {ui => packages}/icon/svg/help-circle-sharp.svg | 0 {ui => packages}/icon/svg/help-circle.svg | 0 {ui => packages}/icon/svg/help-outline.svg | 0 {ui => packages}/icon/svg/help-sharp.svg | 0 {ui => packages}/icon/svg/help.svg | 0 {ui => packages}/icon/svg/home-outline.svg | 0 {ui => packages}/icon/svg/home-sharp.svg | 0 {ui => packages}/icon/svg/home.svg | 0 {ui => packages}/icon/svg/hourglass-outline.svg | 0 {ui => packages}/icon/svg/hourglass-sharp.svg | 0 {ui => packages}/icon/svg/hourglass.svg | 0 {ui => packages}/icon/svg/ice-cream-outline.svg | 0 {ui => packages}/icon/svg/ice-cream-sharp.svg | 0 {ui => packages}/icon/svg/ice-cream.svg | 0 {ui => packages}/icon/svg/id-card-outline.svg | 0 {ui => packages}/icon/svg/id-card-sharp.svg | 0 {ui => packages}/icon/svg/id-card.svg | 0 {ui => packages}/icon/svg/image-outline.svg | 0 {ui => packages}/icon/svg/image-sharp.svg | 0 {ui => packages}/icon/svg/image.svg | 0 {ui => packages}/icon/svg/images-outline.svg | 0 {ui => packages}/icon/svg/images-sharp.svg | 0 {ui => packages}/icon/svg/images.svg | 0 {ui => packages}/icon/svg/infinite-outline.svg | 0 {ui => packages}/icon/svg/infinite-sharp.svg | 0 {ui => packages}/icon/svg/infinite.svg | 0 {ui => packages}/icon/svg/information-circle-outline.svg | 0 {ui => packages}/icon/svg/information-circle-sharp.svg | 0 {ui => packages}/icon/svg/information-circle.svg | 0 {ui => packages}/icon/svg/information-outline.svg | 0 {ui => packages}/icon/svg/information-sharp.svg | 0 {ui => packages}/icon/svg/information.svg | 0 {ui => packages}/icon/svg/invert-mode-outline.svg | 0 {ui => packages}/icon/svg/invert-mode-sharp.svg | 0 {ui => packages}/icon/svg/invert-mode.svg | 0 {ui => packages}/icon/svg/journal-outline.svg | 0 {ui => packages}/icon/svg/journal-sharp.svg | 0 {ui => packages}/icon/svg/journal.svg | 0 {ui => packages}/icon/svg/key-outline.svg | 0 {ui => packages}/icon/svg/key-sharp.svg | 0 {ui => packages}/icon/svg/key.svg | 0 {ui => packages}/icon/svg/keypad-outline.svg | 0 {ui => packages}/icon/svg/keypad-sharp.svg | 0 {ui => packages}/icon/svg/keypad.svg | 0 {ui => packages}/icon/svg/language-outline.svg | 0 {ui => packages}/icon/svg/language-sharp.svg | 0 {ui => packages}/icon/svg/language.svg | 0 {ui => packages}/icon/svg/laptop-outline.svg | 0 {ui => packages}/icon/svg/laptop-sharp.svg | 0 {ui => packages}/icon/svg/laptop.svg | 0 {ui => packages}/icon/svg/layers-outline.svg | 0 {ui => packages}/icon/svg/layers-sharp.svg | 0 {ui => packages}/icon/svg/layers.svg | 0 {ui => packages}/icon/svg/leaf-outline.svg | 0 {ui => packages}/icon/svg/leaf-sharp.svg | 0 {ui => packages}/icon/svg/leaf.svg | 0 {ui => packages}/icon/svg/library-outline.svg | 0 {ui => packages}/icon/svg/library-sharp.svg | 0 {ui => packages}/icon/svg/library.svg | 0 {ui => packages}/icon/svg/link-outline.svg | 0 {ui => packages}/icon/svg/link-sharp.svg | 0 {ui => packages}/icon/svg/link.svg | 0 {ui => packages}/icon/svg/list-circle-outline.svg | 0 {ui => packages}/icon/svg/list-circle-sharp.svg | 0 {ui => packages}/icon/svg/list-circle.svg | 0 {ui => packages}/icon/svg/list-outline.svg | 0 {ui => packages}/icon/svg/list-sharp.svg | 0 {ui => packages}/icon/svg/list.svg | 0 {ui => packages}/icon/svg/locate-outline.svg | 0 {ui => packages}/icon/svg/locate-sharp.svg | 0 {ui => packages}/icon/svg/locate.svg | 0 {ui => packages}/icon/svg/location-outline.svg | 0 {ui => packages}/icon/svg/location-sharp.svg | 0 {ui => packages}/icon/svg/location.svg | 0 {ui => packages}/icon/svg/lock-closed-outline.svg | 0 {ui => packages}/icon/svg/lock-closed-sharp.svg | 0 {ui => packages}/icon/svg/lock-closed.svg | 0 {ui => packages}/icon/svg/lock-open-outline.svg | 0 {ui => packages}/icon/svg/lock-open-sharp.svg | 0 {ui => packages}/icon/svg/lock-open.svg | 0 {ui => packages}/icon/svg/log-in-outline.svg | 0 {ui => packages}/icon/svg/log-in-sharp.svg | 0 {ui => packages}/icon/svg/log-in.svg | 0 {ui => packages}/icon/svg/log-out-outline.svg | 0 {ui => packages}/icon/svg/log-out-sharp.svg | 0 {ui => packages}/icon/svg/log-out.svg | 0 {ui => packages}/icon/svg/logo-alipay.svg | 0 {ui => packages}/icon/svg/logo-amazon.svg | 0 {ui => packages}/icon/svg/logo-amplify.svg | 0 {ui => packages}/icon/svg/logo-android.svg | 0 {ui => packages}/icon/svg/logo-angular.svg | 0 {ui => packages}/icon/svg/logo-apple-appstore.svg | 0 {ui => packages}/icon/svg/logo-apple-ar.svg | 0 {ui => packages}/icon/svg/logo-apple.svg | 0 {ui => packages}/icon/svg/logo-behance.svg | 0 {ui => packages}/icon/svg/logo-bitbucket.svg | 0 {ui => packages}/icon/svg/logo-bitcoin.svg | 0 {ui => packages}/icon/svg/logo-buffer.svg | 0 {ui => packages}/icon/svg/logo-capacitor.svg | 0 {ui => packages}/icon/svg/logo-chrome.svg | 0 {ui => packages}/icon/svg/logo-closed-captioning.svg | 0 {ui => packages}/icon/svg/logo-codepen.svg | 0 {ui => packages}/icon/svg/logo-css3.svg | 0 {ui => packages}/icon/svg/logo-designernews.svg | 0 {ui => packages}/icon/svg/logo-deviantart.svg | 0 {ui => packages}/icon/svg/logo-discord.svg | 0 {ui => packages}/icon/svg/logo-docker.svg | 0 {ui => packages}/icon/svg/logo-dribbble.svg | 0 {ui => packages}/icon/svg/logo-dropbox.svg | 0 {ui => packages}/icon/svg/logo-edge.svg | 0 {ui => packages}/icon/svg/logo-electron.svg | 0 {ui => packages}/icon/svg/logo-euro.svg | 0 {ui => packages}/icon/svg/logo-facebook.svg | 0 {ui => packages}/icon/svg/logo-figma.svg | 0 {ui => packages}/icon/svg/logo-firebase.svg | 0 {ui => packages}/icon/svg/logo-firefox.svg | 0 {ui => packages}/icon/svg/logo-flickr.svg | 0 {ui => packages}/icon/svg/logo-foursquare.svg | 0 {ui => packages}/icon/svg/logo-github.svg | 0 {ui => packages}/icon/svg/logo-gitlab.svg | 0 {ui => packages}/icon/svg/logo-google-playstore.svg | 0 {ui => packages}/icon/svg/logo-google.svg | 0 {ui => packages}/icon/svg/logo-hackernews.svg | 0 {ui => packages}/icon/svg/logo-html5.svg | 0 {ui => packages}/icon/svg/logo-instagram.svg | 0 {ui => packages}/icon/svg/logo-ionic.svg | 0 {ui => packages}/icon/svg/logo-ionitron.svg | 0 {ui => packages}/icon/svg/logo-javascript.svg | 0 {ui => packages}/icon/svg/logo-laravel.svg | 0 {ui => packages}/icon/svg/logo-linkedin.svg | 0 {ui => packages}/icon/svg/logo-markdown.svg | 0 {ui => packages}/icon/svg/logo-mastodon.svg | 0 {ui => packages}/icon/svg/logo-medium.svg | 0 {ui => packages}/icon/svg/logo-microsoft.svg | 0 {ui => packages}/icon/svg/logo-no-smoking.svg | 0 {ui => packages}/icon/svg/logo-nodejs.svg | 0 {ui => packages}/icon/svg/logo-npm.svg | 0 {ui => packages}/icon/svg/logo-octocat.svg | 0 {ui => packages}/icon/svg/logo-paypal.svg | 0 {ui => packages}/icon/svg/logo-pinterest.svg | 0 {ui => packages}/icon/svg/logo-playstation.svg | 0 {ui => packages}/icon/svg/logo-pwa.svg | 0 {ui => packages}/icon/svg/logo-python.svg | 0 {ui => packages}/icon/svg/logo-react.svg | 0 {ui => packages}/icon/svg/logo-reddit.svg | 0 {ui => packages}/icon/svg/logo-rss.svg | 0 {ui => packages}/icon/svg/logo-sass.svg | 0 {ui => packages}/icon/svg/logo-skype.svg | 0 {ui => packages}/icon/svg/logo-slack.svg | 0 {ui => packages}/icon/svg/logo-snapchat.svg | 0 {ui => packages}/icon/svg/logo-soundcloud.svg | 0 {ui => packages}/icon/svg/logo-stackoverflow.svg | 0 {ui => packages}/icon/svg/logo-steam.svg | 0 {ui => packages}/icon/svg/logo-stencil.svg | 0 {ui => packages}/icon/svg/logo-tableau.svg | 0 {ui => packages}/icon/svg/logo-tiktok.svg | 0 {ui => packages}/icon/svg/logo-tumblr.svg | 0 {ui => packages}/icon/svg/logo-tux.svg | 0 {ui => packages}/icon/svg/logo-twitch.svg | 0 {ui => packages}/icon/svg/logo-twitter.svg | 0 {ui => packages}/icon/svg/logo-usd.svg | 0 {ui => packages}/icon/svg/logo-venmo.svg | 0 {ui => packages}/icon/svg/logo-vercel.svg | 0 {ui => packages}/icon/svg/logo-vimeo.svg | 0 {ui => packages}/icon/svg/logo-vk.svg | 0 {ui => packages}/icon/svg/logo-vue.svg | 0 {ui => packages}/icon/svg/logo-web-component.svg | 0 {ui => packages}/icon/svg/logo-wechat.svg | 0 {ui => packages}/icon/svg/logo-whatsapp.svg | 0 {ui => packages}/icon/svg/logo-windows.svg | 0 {ui => packages}/icon/svg/logo-wordpress.svg | 0 {ui => packages}/icon/svg/logo-xbox.svg | 0 {ui => packages}/icon/svg/logo-xing.svg | 0 {ui => packages}/icon/svg/logo-yahoo.svg | 0 {ui => packages}/icon/svg/logo-yen.svg | 0 {ui => packages}/icon/svg/logo-youtube.svg | 0 {ui => packages}/icon/svg/magnet-outline.svg | 0 {ui => packages}/icon/svg/magnet-sharp.svg | 0 {ui => packages}/icon/svg/magnet.svg | 0 {ui => packages}/icon/svg/mail-open-outline.svg | 0 {ui => packages}/icon/svg/mail-open-sharp.svg | 0 {ui => packages}/icon/svg/mail-open.svg | 0 {ui => packages}/icon/svg/mail-outline.svg | 0 {ui => packages}/icon/svg/mail-sharp.svg | 0 {ui => packages}/icon/svg/mail-unread-outline.svg | 0 {ui => packages}/icon/svg/mail-unread-sharp.svg | 0 {ui => packages}/icon/svg/mail-unread.svg | 0 {ui => packages}/icon/svg/mail.svg | 0 {ui => packages}/icon/svg/male-female-outline.svg | 0 {ui => packages}/icon/svg/male-female-sharp.svg | 0 {ui => packages}/icon/svg/male-female.svg | 0 {ui => packages}/icon/svg/male-outline.svg | 0 {ui => packages}/icon/svg/male-sharp.svg | 0 {ui => packages}/icon/svg/male.svg | 0 {ui => packages}/icon/svg/man-outline.svg | 0 {ui => packages}/icon/svg/man-sharp.svg | 0 {ui => packages}/icon/svg/man.svg | 0 {ui => packages}/icon/svg/map-outline.svg | 0 {ui => packages}/icon/svg/map-sharp.svg | 0 {ui => packages}/icon/svg/map.svg | 0 {ui => packages}/icon/svg/medal-outline.svg | 0 {ui => packages}/icon/svg/medal-sharp.svg | 0 {ui => packages}/icon/svg/medal.svg | 0 {ui => packages}/icon/svg/medical-outline.svg | 0 {ui => packages}/icon/svg/medical-sharp.svg | 0 {ui => packages}/icon/svg/medical.svg | 0 {ui => packages}/icon/svg/medkit-outline.svg | 0 {ui => packages}/icon/svg/medkit-sharp.svg | 0 {ui => packages}/icon/svg/medkit.svg | 0 {ui => packages}/icon/svg/megaphone-outline.svg | 0 {ui => packages}/icon/svg/megaphone-sharp.svg | 0 {ui => packages}/icon/svg/megaphone.svg | 0 {ui => packages}/icon/svg/menu-outline.svg | 0 {ui => packages}/icon/svg/menu-sharp.svg | 0 {ui => packages}/icon/svg/menu.svg | 0 {ui => packages}/icon/svg/mic-circle-outline.svg | 0 {ui => packages}/icon/svg/mic-circle-sharp.svg | 0 {ui => packages}/icon/svg/mic-circle.svg | 0 {ui => packages}/icon/svg/mic-off-circle-outline.svg | 0 {ui => packages}/icon/svg/mic-off-circle-sharp.svg | 0 {ui => packages}/icon/svg/mic-off-circle.svg | 0 {ui => packages}/icon/svg/mic-off-outline.svg | 0 {ui => packages}/icon/svg/mic-off-sharp.svg | 0 {ui => packages}/icon/svg/mic-off.svg | 0 {ui => packages}/icon/svg/mic-outline.svg | 0 {ui => packages}/icon/svg/mic-sharp.svg | 0 {ui => packages}/icon/svg/mic.svg | 0 {ui => packages}/icon/svg/moon-outline.svg | 0 {ui => packages}/icon/svg/moon-sharp.svg | 0 {ui => packages}/icon/svg/moon.svg | 0 {ui => packages}/icon/svg/move-outline.svg | 0 {ui => packages}/icon/svg/move-sharp.svg | 0 {ui => packages}/icon/svg/move.svg | 0 {ui => packages}/icon/svg/musical-note-outline.svg | 0 {ui => packages}/icon/svg/musical-note-sharp.svg | 0 {ui => packages}/icon/svg/musical-note.svg | 0 {ui => packages}/icon/svg/musical-notes-outline.svg | 0 {ui => packages}/icon/svg/musical-notes-sharp.svg | 0 {ui => packages}/icon/svg/musical-notes.svg | 0 {ui => packages}/icon/svg/navigate-circle-outline.svg | 0 {ui => packages}/icon/svg/navigate-circle-sharp.svg | 0 {ui => packages}/icon/svg/navigate-circle.svg | 0 {ui => packages}/icon/svg/navigate-outline.svg | 0 {ui => packages}/icon/svg/navigate-sharp.svg | 0 {ui => packages}/icon/svg/navigate.svg | 0 {ui => packages}/icon/svg/newspaper-outline.svg | 0 {ui => packages}/icon/svg/newspaper-sharp.svg | 0 {ui => packages}/icon/svg/newspaper.svg | 0 {ui => packages}/icon/svg/notifications-circle-outline.svg | 0 {ui => packages}/icon/svg/notifications-circle-sharp.svg | 0 {ui => packages}/icon/svg/notifications-circle.svg | 0 {ui => packages}/icon/svg/notifications-off-circle-outline.svg | 0 {ui => packages}/icon/svg/notifications-off-circle-sharp.svg | 0 {ui => packages}/icon/svg/notifications-off-circle.svg | 0 {ui => packages}/icon/svg/notifications-off-outline.svg | 0 {ui => packages}/icon/svg/notifications-off-sharp.svg | 0 {ui => packages}/icon/svg/notifications-off.svg | 0 {ui => packages}/icon/svg/notifications-outline.svg | 0 {ui => packages}/icon/svg/notifications-sharp.svg | 0 {ui => packages}/icon/svg/notifications.svg | 0 {ui => packages}/icon/svg/nuclear-outline.svg | 0 {ui => packages}/icon/svg/nuclear-sharp.svg | 0 {ui => packages}/icon/svg/nuclear.svg | 0 {ui => packages}/icon/svg/nutrition-outline.svg | 0 {ui => packages}/icon/svg/nutrition-sharp.svg | 0 {ui => packages}/icon/svg/nutrition.svg | 0 {ui => packages}/icon/svg/open-outline.svg | 0 {ui => packages}/icon/svg/open-sharp.svg | 0 {ui => packages}/icon/svg/open.svg | 0 {ui => packages}/icon/svg/options-outline.svg | 0 {ui => packages}/icon/svg/options-sharp.svg | 0 {ui => packages}/icon/svg/options.svg | 0 {ui => packages}/icon/svg/paper-plane-outline.svg | 0 {ui => packages}/icon/svg/paper-plane-sharp.svg | 0 {ui => packages}/icon/svg/paper-plane.svg | 0 {ui => packages}/icon/svg/partly-sunny-outline.svg | 0 {ui => packages}/icon/svg/partly-sunny-sharp.svg | 0 {ui => packages}/icon/svg/partly-sunny.svg | 0 {ui => packages}/icon/svg/pause-circle-outline.svg | 0 {ui => packages}/icon/svg/pause-circle-sharp.svg | 0 {ui => packages}/icon/svg/pause-circle.svg | 0 {ui => packages}/icon/svg/pause-outline.svg | 0 {ui => packages}/icon/svg/pause-sharp.svg | 0 {ui => packages}/icon/svg/pause.svg | 0 {ui => packages}/icon/svg/paw-outline.svg | 0 {ui => packages}/icon/svg/paw-sharp.svg | 0 {ui => packages}/icon/svg/paw.svg | 0 {ui => packages}/icon/svg/pencil-outline.svg | 0 {ui => packages}/icon/svg/pencil-sharp.svg | 0 {ui => packages}/icon/svg/pencil.svg | 0 {ui => packages}/icon/svg/people-circle-outline.svg | 0 {ui => packages}/icon/svg/people-circle-sharp.svg | 0 {ui => packages}/icon/svg/people-circle.svg | 0 {ui => packages}/icon/svg/people-outline.svg | 0 {ui => packages}/icon/svg/people-sharp.svg | 0 {ui => packages}/icon/svg/people.svg | 0 {ui => packages}/icon/svg/person-add-outline.svg | 0 {ui => packages}/icon/svg/person-add-sharp.svg | 0 {ui => packages}/icon/svg/person-add.svg | 0 {ui => packages}/icon/svg/person-circle-outline.svg | 0 {ui => packages}/icon/svg/person-circle-sharp.svg | 0 {ui => packages}/icon/svg/person-circle.svg | 0 {ui => packages}/icon/svg/person-outline.svg | 0 {ui => packages}/icon/svg/person-remove-outline.svg | 0 {ui => packages}/icon/svg/person-remove-sharp.svg | 0 {ui => packages}/icon/svg/person-remove.svg | 0 {ui => packages}/icon/svg/person-sharp.svg | 0 {ui => packages}/icon/svg/person.svg | 0 {ui => packages}/icon/svg/phone-landscape-outline.svg | 0 {ui => packages}/icon/svg/phone-landscape-sharp.svg | 0 {ui => packages}/icon/svg/phone-landscape.svg | 0 {ui => packages}/icon/svg/phone-portrait-outline.svg | 0 {ui => packages}/icon/svg/phone-portrait-sharp.svg | 0 {ui => packages}/icon/svg/phone-portrait.svg | 0 {ui => packages}/icon/svg/pie-chart-outline.svg | 0 {ui => packages}/icon/svg/pie-chart-sharp.svg | 0 {ui => packages}/icon/svg/pie-chart.svg | 0 {ui => packages}/icon/svg/pin-outline.svg | 0 {ui => packages}/icon/svg/pin-sharp.svg | 0 {ui => packages}/icon/svg/pin.svg | 0 {ui => packages}/icon/svg/pint-outline.svg | 0 {ui => packages}/icon/svg/pint-sharp.svg | 0 {ui => packages}/icon/svg/pint.svg | 0 {ui => packages}/icon/svg/pizza-outline.svg | 0 {ui => packages}/icon/svg/pizza-sharp.svg | 0 {ui => packages}/icon/svg/pizza.svg | 0 {ui => packages}/icon/svg/planet-outline.svg | 0 {ui => packages}/icon/svg/planet-sharp.svg | 0 {ui => packages}/icon/svg/planet.svg | 0 {ui => packages}/icon/svg/play-back-circle-outline.svg | 0 {ui => packages}/icon/svg/play-back-circle-sharp.svg | 0 {ui => packages}/icon/svg/play-back-circle.svg | 0 {ui => packages}/icon/svg/play-back-outline.svg | 0 {ui => packages}/icon/svg/play-back-sharp.svg | 0 {ui => packages}/icon/svg/play-back.svg | 0 {ui => packages}/icon/svg/play-circle-outline.svg | 0 {ui => packages}/icon/svg/play-circle-sharp.svg | 0 {ui => packages}/icon/svg/play-circle.svg | 0 {ui => packages}/icon/svg/play-forward-circle-outline.svg | 0 {ui => packages}/icon/svg/play-forward-circle-sharp.svg | 0 {ui => packages}/icon/svg/play-forward-circle.svg | 0 {ui => packages}/icon/svg/play-forward-outline.svg | 0 {ui => packages}/icon/svg/play-forward-sharp.svg | 0 {ui => packages}/icon/svg/play-forward.svg | 0 {ui => packages}/icon/svg/play-outline.svg | 0 {ui => packages}/icon/svg/play-sharp.svg | 0 {ui => packages}/icon/svg/play-skip-back-circle-outline.svg | 0 {ui => packages}/icon/svg/play-skip-back-circle-sharp.svg | 0 {ui => packages}/icon/svg/play-skip-back-circle.svg | 0 {ui => packages}/icon/svg/play-skip-back-outline.svg | 0 {ui => packages}/icon/svg/play-skip-back-sharp.svg | 0 {ui => packages}/icon/svg/play-skip-back.svg | 0 {ui => packages}/icon/svg/play-skip-forward-circle-outline.svg | 0 {ui => packages}/icon/svg/play-skip-forward-circle-sharp.svg | 0 {ui => packages}/icon/svg/play-skip-forward-circle.svg | 0 {ui => packages}/icon/svg/play-skip-forward-outline.svg | 0 {ui => packages}/icon/svg/play-skip-forward-sharp.svg | 0 {ui => packages}/icon/svg/play-skip-forward.svg | 0 {ui => packages}/icon/svg/play.svg | 0 {ui => packages}/icon/svg/podium-outline.svg | 0 {ui => packages}/icon/svg/podium-sharp.svg | 0 {ui => packages}/icon/svg/podium.svg | 0 {ui => packages}/icon/svg/power-outline.svg | 0 {ui => packages}/icon/svg/power-sharp.svg | 0 {ui => packages}/icon/svg/power.svg | 0 {ui => packages}/icon/svg/pricetag-outline.svg | 0 {ui => packages}/icon/svg/pricetag-sharp.svg | 0 {ui => packages}/icon/svg/pricetag.svg | 0 {ui => packages}/icon/svg/pricetags-outline.svg | 0 {ui => packages}/icon/svg/pricetags-sharp.svg | 0 {ui => packages}/icon/svg/pricetags.svg | 0 {ui => packages}/icon/svg/print-outline.svg | 0 {ui => packages}/icon/svg/print-sharp.svg | 0 {ui => packages}/icon/svg/print.svg | 0 {ui => packages}/icon/svg/prism-outline.svg | 0 {ui => packages}/icon/svg/prism-sharp.svg | 0 {ui => packages}/icon/svg/prism.svg | 0 {ui => packages}/icon/svg/pulse-outline.svg | 0 {ui => packages}/icon/svg/pulse-sharp.svg | 0 {ui => packages}/icon/svg/pulse.svg | 0 {ui => packages}/icon/svg/push-outline.svg | 0 {ui => packages}/icon/svg/push-sharp.svg | 0 {ui => packages}/icon/svg/push.svg | 0 {ui => packages}/icon/svg/qr-code-outline.svg | 0 {ui => packages}/icon/svg/qr-code-sharp.svg | 0 {ui => packages}/icon/svg/qr-code.svg | 0 {ui => packages}/icon/svg/radio-button-off-outline.svg | 0 {ui => packages}/icon/svg/radio-button-off-sharp.svg | 0 {ui => packages}/icon/svg/radio-button-off.svg | 0 {ui => packages}/icon/svg/radio-button-on-outline.svg | 0 {ui => packages}/icon/svg/radio-button-on-sharp.svg | 0 {ui => packages}/icon/svg/radio-button-on.svg | 0 {ui => packages}/icon/svg/radio-outline.svg | 0 {ui => packages}/icon/svg/radio-sharp.svg | 0 {ui => packages}/icon/svg/radio.svg | 0 {ui => packages}/icon/svg/rainy-outline.svg | 0 {ui => packages}/icon/svg/rainy-sharp.svg | 0 {ui => packages}/icon/svg/rainy.svg | 0 {ui => packages}/icon/svg/reader-outline.svg | 0 {ui => packages}/icon/svg/reader-sharp.svg | 0 {ui => packages}/icon/svg/reader.svg | 0 {ui => packages}/icon/svg/receipt-outline.svg | 0 {ui => packages}/icon/svg/receipt-sharp.svg | 0 {ui => packages}/icon/svg/receipt.svg | 0 {ui => packages}/icon/svg/recording-outline.svg | 0 {ui => packages}/icon/svg/recording-sharp.svg | 0 {ui => packages}/icon/svg/recording.svg | 0 {ui => packages}/icon/svg/refresh-circle-outline.svg | 0 {ui => packages}/icon/svg/refresh-circle-sharp.svg | 0 {ui => packages}/icon/svg/refresh-circle.svg | 0 {ui => packages}/icon/svg/refresh-outline.svg | 0 {ui => packages}/icon/svg/refresh-sharp.svg | 0 {ui => packages}/icon/svg/refresh.svg | 0 {ui => packages}/icon/svg/reload-circle-outline.svg | 0 {ui => packages}/icon/svg/reload-circle-sharp.svg | 0 {ui => packages}/icon/svg/reload-circle.svg | 0 {ui => packages}/icon/svg/reload-outline.svg | 0 {ui => packages}/icon/svg/reload-sharp.svg | 0 {ui => packages}/icon/svg/reload.svg | 0 {ui => packages}/icon/svg/remove-circle-outline.svg | 0 {ui => packages}/icon/svg/remove-circle-sharp.svg | 0 {ui => packages}/icon/svg/remove-circle.svg | 0 {ui => packages}/icon/svg/remove-outline.svg | 0 {ui => packages}/icon/svg/remove-sharp.svg | 0 {ui => packages}/icon/svg/remove.svg | 0 {ui => packages}/icon/svg/reorder-four-outline.svg | 0 {ui => packages}/icon/svg/reorder-four-sharp.svg | 0 {ui => packages}/icon/svg/reorder-four.svg | 0 {ui => packages}/icon/svg/reorder-three-outline.svg | 0 {ui => packages}/icon/svg/reorder-three-sharp.svg | 0 {ui => packages}/icon/svg/reorder-three.svg | 0 {ui => packages}/icon/svg/reorder-two-outline.svg | 0 {ui => packages}/icon/svg/reorder-two-sharp.svg | 0 {ui => packages}/icon/svg/reorder-two.svg | 0 {ui => packages}/icon/svg/repeat-outline.svg | 0 {ui => packages}/icon/svg/repeat-sharp.svg | 0 {ui => packages}/icon/svg/repeat.svg | 0 {ui => packages}/icon/svg/resize-outline.svg | 0 {ui => packages}/icon/svg/resize-sharp.svg | 0 {ui => packages}/icon/svg/resize.svg | 0 {ui => packages}/icon/svg/restaurant-outline.svg | 0 {ui => packages}/icon/svg/restaurant-sharp.svg | 0 {ui => packages}/icon/svg/restaurant.svg | 0 {ui => packages}/icon/svg/return-down-back-outline.svg | 0 {ui => packages}/icon/svg/return-down-back-sharp.svg | 0 {ui => packages}/icon/svg/return-down-back.svg | 0 {ui => packages}/icon/svg/return-down-forward-outline.svg | 0 {ui => packages}/icon/svg/return-down-forward-sharp.svg | 0 {ui => packages}/icon/svg/return-down-forward.svg | 0 {ui => packages}/icon/svg/return-up-back-outline.svg | 0 {ui => packages}/icon/svg/return-up-back-sharp.svg | 0 {ui => packages}/icon/svg/return-up-back.svg | 0 {ui => packages}/icon/svg/return-up-forward-outline.svg | 0 {ui => packages}/icon/svg/return-up-forward-sharp.svg | 0 {ui => packages}/icon/svg/return-up-forward.svg | 0 {ui => packages}/icon/svg/ribbon-outline.svg | 0 {ui => packages}/icon/svg/ribbon-sharp.svg | 0 {ui => packages}/icon/svg/ribbon.svg | 0 {ui => packages}/icon/svg/rocket-outline.svg | 0 {ui => packages}/icon/svg/rocket-sharp.svg | 0 {ui => packages}/icon/svg/rocket.svg | 0 {ui => packages}/icon/svg/rose-outline.svg | 0 {ui => packages}/icon/svg/rose-sharp.svg | 0 {ui => packages}/icon/svg/rose.svg | 0 {ui => packages}/icon/svg/sad-outline.svg | 0 {ui => packages}/icon/svg/sad-sharp.svg | 0 {ui => packages}/icon/svg/sad.svg | 0 {ui => packages}/icon/svg/save-outline.svg | 0 {ui => packages}/icon/svg/save-sharp.svg | 0 {ui => packages}/icon/svg/save.svg | 0 {ui => packages}/icon/svg/scale-outline.svg | 0 {ui => packages}/icon/svg/scale-sharp.svg | 0 {ui => packages}/icon/svg/scale.svg | 0 {ui => packages}/icon/svg/scan-circle-outline.svg | 0 {ui => packages}/icon/svg/scan-circle-sharp.svg | 0 {ui => packages}/icon/svg/scan-circle.svg | 0 {ui => packages}/icon/svg/scan-outline.svg | 0 {ui => packages}/icon/svg/scan-sharp.svg | 0 {ui => packages}/icon/svg/scan.svg | 0 {ui => packages}/icon/svg/school-outline.svg | 0 {ui => packages}/icon/svg/school-sharp.svg | 0 {ui => packages}/icon/svg/school.svg | 0 {ui => packages}/icon/svg/search-circle-outline.svg | 0 {ui => packages}/icon/svg/search-circle-sharp.svg | 0 {ui => packages}/icon/svg/search-circle.svg | 0 {ui => packages}/icon/svg/search-outline.svg | 0 {ui => packages}/icon/svg/search-sharp.svg | 0 {ui => packages}/icon/svg/search.svg | 0 {ui => packages}/icon/svg/send-outline.svg | 0 {ui => packages}/icon/svg/send-sharp.svg | 0 {ui => packages}/icon/svg/send.svg | 0 {ui => packages}/icon/svg/server-outline.svg | 0 {ui => packages}/icon/svg/server-sharp.svg | 0 {ui => packages}/icon/svg/server.svg | 0 {ui => packages}/icon/svg/settings-outline.svg | 0 {ui => packages}/icon/svg/settings-sharp.svg | 0 {ui => packages}/icon/svg/settings.svg | 0 {ui => packages}/icon/svg/shapes-outline.svg | 0 {ui => packages}/icon/svg/shapes-sharp.svg | 0 {ui => packages}/icon/svg/shapes.svg | 0 {ui => packages}/icon/svg/share-outline.svg | 0 {ui => packages}/icon/svg/share-sharp.svg | 0 {ui => packages}/icon/svg/share-social-outline.svg | 0 {ui => packages}/icon/svg/share-social-sharp.svg | 0 {ui => packages}/icon/svg/share-social.svg | 0 {ui => packages}/icon/svg/share.svg | 0 {ui => packages}/icon/svg/shield-checkmark-outline.svg | 0 {ui => packages}/icon/svg/shield-checkmark-sharp.svg | 0 {ui => packages}/icon/svg/shield-checkmark.svg | 0 {ui => packages}/icon/svg/shield-half-outline.svg | 0 {ui => packages}/icon/svg/shield-half-sharp.svg | 0 {ui => packages}/icon/svg/shield-half.svg | 0 {ui => packages}/icon/svg/shield-outline.svg | 0 {ui => packages}/icon/svg/shield-sharp.svg | 0 {ui => packages}/icon/svg/shield.svg | 0 {ui => packages}/icon/svg/shirt-outline.svg | 0 {ui => packages}/icon/svg/shirt-sharp.svg | 0 {ui => packages}/icon/svg/shirt.svg | 0 {ui => packages}/icon/svg/shuffle-outline.svg | 0 {ui => packages}/icon/svg/shuffle-sharp.svg | 0 {ui => packages}/icon/svg/shuffle.svg | 0 {ui => packages}/icon/svg/skull-outline.svg | 0 {ui => packages}/icon/svg/skull-sharp.svg | 0 {ui => packages}/icon/svg/skull.svg | 0 {ui => packages}/icon/svg/snow-outline.svg | 0 {ui => packages}/icon/svg/snow-sharp.svg | 0 {ui => packages}/icon/svg/snow.svg | 0 {ui => packages}/icon/svg/sparkles-outline.svg | 0 {ui => packages}/icon/svg/sparkles-sharp.svg | 0 {ui => packages}/icon/svg/sparkles.svg | 0 {ui => packages}/icon/svg/speedometer-outline.svg | 0 {ui => packages}/icon/svg/speedometer-sharp.svg | 0 {ui => packages}/icon/svg/speedometer.svg | 0 {ui => packages}/icon/svg/square-outline.svg | 0 {ui => packages}/icon/svg/square-sharp.svg | 0 {ui => packages}/icon/svg/square.svg | 0 {ui => packages}/icon/svg/star-half-outline.svg | 0 {ui => packages}/icon/svg/star-half-sharp.svg | 0 {ui => packages}/icon/svg/star-half.svg | 0 {ui => packages}/icon/svg/star-outline.svg | 0 {ui => packages}/icon/svg/star-sharp.svg | 0 {ui => packages}/icon/svg/star.svg | 0 {ui => packages}/icon/svg/stats-chart-outline.svg | 0 {ui => packages}/icon/svg/stats-chart-sharp.svg | 0 {ui => packages}/icon/svg/stats-chart.svg | 0 {ui => packages}/icon/svg/stop-circle-outline.svg | 0 {ui => packages}/icon/svg/stop-circle-sharp.svg | 0 {ui => packages}/icon/svg/stop-circle.svg | 0 {ui => packages}/icon/svg/stop-outline.svg | 0 {ui => packages}/icon/svg/stop-sharp.svg | 0 {ui => packages}/icon/svg/stop.svg | 0 {ui => packages}/icon/svg/stopwatch-outline.svg | 0 {ui => packages}/icon/svg/stopwatch-sharp.svg | 0 {ui => packages}/icon/svg/stopwatch.svg | 0 {ui => packages}/icon/svg/storefront-outline.svg | 0 {ui => packages}/icon/svg/storefront-sharp.svg | 0 {ui => packages}/icon/svg/storefront.svg | 0 {ui => packages}/icon/svg/subway-outline.svg | 0 {ui => packages}/icon/svg/subway-sharp.svg | 0 {ui => packages}/icon/svg/subway.svg | 0 {ui => packages}/icon/svg/sunny-outline.svg | 0 {ui => packages}/icon/svg/sunny-sharp.svg | 0 {ui => packages}/icon/svg/sunny.svg | 0 {ui => packages}/icon/svg/swap-horizontal-outline.svg | 0 {ui => packages}/icon/svg/swap-horizontal-sharp.svg | 0 {ui => packages}/icon/svg/swap-horizontal.svg | 0 {ui => packages}/icon/svg/swap-vertical-outline.svg | 0 {ui => packages}/icon/svg/swap-vertical-sharp.svg | 0 {ui => packages}/icon/svg/swap-vertical.svg | 0 {ui => packages}/icon/svg/sync-circle-outline.svg | 0 {ui => packages}/icon/svg/sync-circle-sharp.svg | 0 {ui => packages}/icon/svg/sync-circle.svg | 0 {ui => packages}/icon/svg/sync-outline.svg | 0 {ui => packages}/icon/svg/sync-sharp.svg | 0 {ui => packages}/icon/svg/sync.svg | 0 {ui => packages}/icon/svg/tablet-landscape-outline.svg | 0 {ui => packages}/icon/svg/tablet-landscape-sharp.svg | 0 {ui => packages}/icon/svg/tablet-landscape.svg | 0 {ui => packages}/icon/svg/tablet-portrait-outline.svg | 0 {ui => packages}/icon/svg/tablet-portrait-sharp.svg | 0 {ui => packages}/icon/svg/tablet-portrait.svg | 0 {ui => packages}/icon/svg/telescope-outline.svg | 0 {ui => packages}/icon/svg/telescope-sharp.svg | 0 {ui => packages}/icon/svg/telescope.svg | 0 {ui => packages}/icon/svg/tennisball-outline.svg | 0 {ui => packages}/icon/svg/tennisball-sharp.svg | 0 {ui => packages}/icon/svg/tennisball.svg | 0 {ui => packages}/icon/svg/terminal-outline.svg | 0 {ui => packages}/icon/svg/terminal-sharp.svg | 0 {ui => packages}/icon/svg/terminal.svg | 0 {ui => packages}/icon/svg/text-outline.svg | 0 {ui => packages}/icon/svg/text-sharp.svg | 0 {ui => packages}/icon/svg/text.svg | 0 {ui => packages}/icon/svg/thermometer-outline.svg | 0 {ui => packages}/icon/svg/thermometer-sharp.svg | 0 {ui => packages}/icon/svg/thermometer.svg | 0 {ui => packages}/icon/svg/thumbs-down-outline.svg | 0 {ui => packages}/icon/svg/thumbs-down-sharp.svg | 0 {ui => packages}/icon/svg/thumbs-down.svg | 0 {ui => packages}/icon/svg/thumbs-up-outline.svg | 0 {ui => packages}/icon/svg/thumbs-up-sharp.svg | 0 {ui => packages}/icon/svg/thumbs-up.svg | 0 {ui => packages}/icon/svg/thunderstorm-outline.svg | 0 {ui => packages}/icon/svg/thunderstorm-sharp.svg | 0 {ui => packages}/icon/svg/thunderstorm.svg | 0 {ui => packages}/icon/svg/ticket-outline.svg | 0 {ui => packages}/icon/svg/ticket-sharp.svg | 0 {ui => packages}/icon/svg/ticket.svg | 0 {ui => packages}/icon/svg/time-outline.svg | 0 {ui => packages}/icon/svg/time-sharp.svg | 0 {ui => packages}/icon/svg/time.svg | 0 {ui => packages}/icon/svg/timer-outline.svg | 0 {ui => packages}/icon/svg/timer-sharp.svg | 0 {ui => packages}/icon/svg/timer.svg | 0 {ui => packages}/icon/svg/today-outline.svg | 0 {ui => packages}/icon/svg/today-sharp.svg | 0 {ui => packages}/icon/svg/today.svg | 0 {ui => packages}/icon/svg/toggle-outline.svg | 0 {ui => packages}/icon/svg/toggle-sharp.svg | 0 {ui => packages}/icon/svg/toggle.svg | 0 {ui => packages}/icon/svg/toman.svg | 0 {ui => packages}/icon/svg/trail-sign-outline.svg | 0 {ui => packages}/icon/svg/trail-sign-sharp.svg | 0 {ui => packages}/icon/svg/trail-sign.svg | 0 {ui => packages}/icon/svg/train-outline.svg | 0 {ui => packages}/icon/svg/train-sharp.svg | 0 {ui => packages}/icon/svg/train.svg | 0 {ui => packages}/icon/svg/transgender-outline.svg | 0 {ui => packages}/icon/svg/transgender-sharp.svg | 0 {ui => packages}/icon/svg/transgender.svg | 0 {ui => packages}/icon/svg/trash-bin-outline.svg | 0 {ui => packages}/icon/svg/trash-bin-sharp.svg | 0 {ui => packages}/icon/svg/trash-bin.svg | 0 {ui => packages}/icon/svg/trash-outline.svg | 0 {ui => packages}/icon/svg/trash-sharp.svg | 0 {ui => packages}/icon/svg/trash.svg | 0 {ui => packages}/icon/svg/trending-down-outline.svg | 0 {ui => packages}/icon/svg/trending-down-sharp.svg | 0 {ui => packages}/icon/svg/trending-down.svg | 0 {ui => packages}/icon/svg/trending-up-outline.svg | 0 {ui => packages}/icon/svg/trending-up-sharp.svg | 0 {ui => packages}/icon/svg/trending-up.svg | 0 {ui => packages}/icon/svg/triangle-outline.svg | 0 {ui => packages}/icon/svg/triangle-sharp.svg | 0 {ui => packages}/icon/svg/triangle.svg | 0 {ui => packages}/icon/svg/trophy-outline.svg | 0 {ui => packages}/icon/svg/trophy-sharp.svg | 0 {ui => packages}/icon/svg/trophy.svg | 0 {ui => packages}/icon/svg/tv-outline.svg | 0 {ui => packages}/icon/svg/tv-sharp.svg | 0 {ui => packages}/icon/svg/tv.svg | 0 {ui => packages}/icon/svg/umbrella-outline.svg | 0 {ui => packages}/icon/svg/umbrella-sharp.svg | 0 {ui => packages}/icon/svg/umbrella.svg | 0 {ui => packages}/icon/svg/unlink-outline.svg | 0 {ui => packages}/icon/svg/unlink-sharp.svg | 0 {ui => packages}/icon/svg/unlink.svg | 0 {ui => packages}/icon/svg/videocam-off-outline.svg | 0 {ui => packages}/icon/svg/videocam-off-sharp.svg | 0 {ui => packages}/icon/svg/videocam-off.svg | 0 {ui => packages}/icon/svg/videocam-outline.svg | 0 {ui => packages}/icon/svg/videocam-sharp.svg | 0 {ui => packages}/icon/svg/videocam.svg | 0 {ui => packages}/icon/svg/volume-high-outline.svg | 0 {ui => packages}/icon/svg/volume-high-sharp.svg | 0 {ui => packages}/icon/svg/volume-high.svg | 0 {ui => packages}/icon/svg/volume-low-outline.svg | 0 {ui => packages}/icon/svg/volume-low-sharp.svg | 0 {ui => packages}/icon/svg/volume-low.svg | 0 {ui => packages}/icon/svg/volume-medium-outline.svg | 0 {ui => packages}/icon/svg/volume-medium-sharp.svg | 0 {ui => packages}/icon/svg/volume-medium.svg | 0 {ui => packages}/icon/svg/volume-mute-outline.svg | 0 {ui => packages}/icon/svg/volume-mute-sharp.svg | 0 {ui => packages}/icon/svg/volume-mute.svg | 0 {ui => packages}/icon/svg/volume-off-outline.svg | 0 {ui => packages}/icon/svg/volume-off-sharp.svg | 0 {ui => packages}/icon/svg/volume-off.svg | 0 {ui => packages}/icon/svg/walk-outline.svg | 0 {ui => packages}/icon/svg/walk-sharp.svg | 0 {ui => packages}/icon/svg/walk.svg | 0 {ui => packages}/icon/svg/wallet-outline.svg | 0 {ui => packages}/icon/svg/wallet-sharp.svg | 0 {ui => packages}/icon/svg/wallet.svg | 0 {ui => packages}/icon/svg/warning-outline.svg | 0 {ui => packages}/icon/svg/warning-sharp.svg | 0 {ui => packages}/icon/svg/warning.svg | 0 {ui => packages}/icon/svg/watch-outline.svg | 0 {ui => packages}/icon/svg/watch-sharp.svg | 0 {ui => packages}/icon/svg/watch.svg | 0 {ui => packages}/icon/svg/water-outline.svg | 0 {ui => packages}/icon/svg/water-sharp.svg | 0 {ui => packages}/icon/svg/water.svg | 0 {ui => packages}/icon/svg/wifi-outline.svg | 0 {ui => packages}/icon/svg/wifi-sharp.svg | 0 {ui => packages}/icon/svg/wifi.svg | 0 {ui => packages}/icon/svg/wine-outline.svg | 0 {ui => packages}/icon/svg/wine-sharp.svg | 0 {ui => packages}/icon/svg/wine.svg | 0 {ui => packages}/icon/svg/woman-outline.svg | 0 {ui => packages}/icon/svg/woman-sharp.svg | 0 {ui => packages}/icon/svg/woman.svg | 0 {ui => packages}/icon/tsconfig.json | 0 1340 files changed, 0 insertions(+), 0 deletions(-) rename {ui => packages}/icon/CHANGELOG.md (100%) rename {ui => packages}/icon/README.md (100%) rename {ui => packages}/icon/package.json (100%) rename {ui => packages}/icon/src/icon.ts (100%) rename {ui => packages}/icon/src/preload.ts (100%) rename {ui => packages}/icon/src/svg.ts (100%) rename {ui => packages}/icon/svg/accessibility-outline.svg (100%) rename {ui => packages}/icon/svg/accessibility-sharp.svg (100%) rename {ui => packages}/icon/svg/accessibility.svg (100%) rename {ui => packages}/icon/svg/add-circle-outline.svg (100%) rename {ui => packages}/icon/svg/add-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/add-circle.svg (100%) rename {ui => packages}/icon/svg/add-outline.svg (100%) rename {ui => packages}/icon/svg/add-sharp.svg (100%) rename {ui => packages}/icon/svg/add.svg (100%) rename {ui => packages}/icon/svg/airplane-outline.svg (100%) rename {ui => packages}/icon/svg/airplane-sharp.svg (100%) rename {ui => packages}/icon/svg/airplane.svg (100%) rename {ui => packages}/icon/svg/alarm-outline.svg (100%) rename {ui => packages}/icon/svg/alarm-sharp.svg (100%) rename {ui => packages}/icon/svg/alarm.svg (100%) rename {ui => packages}/icon/svg/albums-outline.svg (100%) rename {ui => packages}/icon/svg/albums-sharp.svg (100%) rename {ui => packages}/icon/svg/albums.svg (100%) rename {ui => packages}/icon/svg/alert-circle-outline.svg (100%) rename {ui => packages}/icon/svg/alert-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/alert-circle.svg (100%) rename {ui => packages}/icon/svg/alert-outline.svg (100%) rename {ui => packages}/icon/svg/alert-sharp.svg (100%) rename {ui => packages}/icon/svg/alert.svg (100%) rename {ui => packages}/icon/svg/american-football-outline.svg (100%) rename {ui => packages}/icon/svg/american-football-sharp.svg (100%) rename {ui => packages}/icon/svg/american-football.svg (100%) rename {ui => packages}/icon/svg/analytics-outline.svg (100%) rename {ui => packages}/icon/svg/analytics-sharp.svg (100%) rename {ui => packages}/icon/svg/analytics.svg (100%) rename {ui => packages}/icon/svg/aperture-outline.svg (100%) rename {ui => packages}/icon/svg/aperture-sharp.svg (100%) rename {ui => packages}/icon/svg/aperture.svg (100%) rename {ui => packages}/icon/svg/apps-outline.svg (100%) rename {ui => packages}/icon/svg/apps-sharp.svg (100%) rename {ui => packages}/icon/svg/apps.svg (100%) rename {ui => packages}/icon/svg/archive-outline.svg (100%) rename {ui => packages}/icon/svg/archive-sharp.svg (100%) rename {ui => packages}/icon/svg/archive.svg (100%) rename {ui => packages}/icon/svg/arrow-back-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-back-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-back-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-back-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-back-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-back.svg (100%) rename {ui => packages}/icon/svg/arrow-down-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-down-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-down-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-down-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-down-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-down.svg (100%) rename {ui => packages}/icon/svg/arrow-forward-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-forward-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-forward-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-forward-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-forward.svg (100%) rename {ui => packages}/icon/svg/arrow-redo-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-redo-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-redo-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-redo-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-redo-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-redo.svg (100%) rename {ui => packages}/icon/svg/arrow-undo-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-undo-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-undo-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-undo-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-undo-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-undo.svg (100%) rename {ui => packages}/icon/svg/arrow-up-circle-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-up-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-up-circle.svg (100%) rename {ui => packages}/icon/svg/arrow-up-outline.svg (100%) rename {ui => packages}/icon/svg/arrow-up-sharp.svg (100%) rename {ui => packages}/icon/svg/arrow-up.svg (100%) rename {ui => packages}/icon/svg/at-circle-outline.svg (100%) rename {ui => packages}/icon/svg/at-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/at-circle.svg (100%) rename {ui => packages}/icon/svg/at-outline.svg (100%) rename {ui => packages}/icon/svg/at-sharp.svg (100%) rename {ui => packages}/icon/svg/at.svg (100%) rename {ui => packages}/icon/svg/attach-outline.svg (100%) rename {ui => packages}/icon/svg/attach-sharp.svg (100%) rename {ui => packages}/icon/svg/attach.svg (100%) rename {ui => packages}/icon/svg/backspace-outline.svg (100%) rename {ui => packages}/icon/svg/backspace-sharp.svg (100%) rename {ui => packages}/icon/svg/backspace.svg (100%) rename {ui => packages}/icon/svg/bag-add-outline.svg (100%) rename {ui => packages}/icon/svg/bag-add-sharp.svg (100%) rename {ui => packages}/icon/svg/bag-add.svg (100%) rename {ui => packages}/icon/svg/bag-check-outline.svg (100%) rename {ui => packages}/icon/svg/bag-check-sharp.svg (100%) rename {ui => packages}/icon/svg/bag-check.svg (100%) rename {ui => packages}/icon/svg/bag-handle-outline.svg (100%) rename {ui => packages}/icon/svg/bag-handle-sharp.svg (100%) rename {ui => packages}/icon/svg/bag-handle.svg (100%) rename {ui => packages}/icon/svg/bag-outline.svg (100%) rename {ui => packages}/icon/svg/bag-remove-outline.svg (100%) rename {ui => packages}/icon/svg/bag-remove-sharp.svg (100%) rename {ui => packages}/icon/svg/bag-remove.svg (100%) rename {ui => packages}/icon/svg/bag-sharp.svg (100%) rename {ui => packages}/icon/svg/bag.svg (100%) rename {ui => packages}/icon/svg/balloon-outline.svg (100%) rename {ui => packages}/icon/svg/balloon-sharp.svg (100%) rename {ui => packages}/icon/svg/balloon.svg (100%) rename {ui => packages}/icon/svg/ban-outline.svg (100%) rename {ui => packages}/icon/svg/ban-sharp.svg (100%) rename {ui => packages}/icon/svg/ban.svg (100%) rename {ui => packages}/icon/svg/bandage-outline.svg (100%) rename {ui => packages}/icon/svg/bandage-sharp.svg (100%) rename {ui => packages}/icon/svg/bandage.svg (100%) rename {ui => packages}/icon/svg/bar-chart-outline.svg (100%) rename {ui => packages}/icon/svg/bar-chart-sharp.svg (100%) rename {ui => packages}/icon/svg/bar-chart.svg (100%) rename {ui => packages}/icon/svg/barbell-outline.svg (100%) rename {ui => packages}/icon/svg/barbell-sharp.svg (100%) rename {ui => packages}/icon/svg/barbell.svg (100%) rename {ui => packages}/icon/svg/barcode-outline.svg (100%) rename {ui => packages}/icon/svg/barcode-sharp.svg (100%) rename {ui => packages}/icon/svg/barcode.svg (100%) rename {ui => packages}/icon/svg/baseball-outline.svg (100%) rename {ui => packages}/icon/svg/baseball-sharp.svg (100%) rename {ui => packages}/icon/svg/baseball.svg (100%) rename {ui => packages}/icon/svg/basket-outline.svg (100%) rename {ui => packages}/icon/svg/basket-sharp.svg (100%) rename {ui => packages}/icon/svg/basket.svg (100%) rename {ui => packages}/icon/svg/basketball-outline.svg (100%) rename {ui => packages}/icon/svg/basketball-sharp.svg (100%) rename {ui => packages}/icon/svg/basketball.svg (100%) rename {ui => packages}/icon/svg/battery-charging-outline.svg (100%) rename {ui => packages}/icon/svg/battery-charging-sharp.svg (100%) rename {ui => packages}/icon/svg/battery-charging.svg (100%) rename {ui => packages}/icon/svg/battery-dead-outline.svg (100%) rename {ui => packages}/icon/svg/battery-dead-sharp.svg (100%) rename {ui => packages}/icon/svg/battery-dead.svg (100%) rename {ui => packages}/icon/svg/battery-full-outline.svg (100%) rename {ui => packages}/icon/svg/battery-full-sharp.svg (100%) rename {ui => packages}/icon/svg/battery-full.svg (100%) rename {ui => packages}/icon/svg/battery-half-outline.svg (100%) rename {ui => packages}/icon/svg/battery-half-sharp.svg (100%) rename {ui => packages}/icon/svg/battery-half.svg (100%) rename {ui => packages}/icon/svg/beaker-outline.svg (100%) rename {ui => packages}/icon/svg/beaker-sharp.svg (100%) rename {ui => packages}/icon/svg/beaker.svg (100%) rename {ui => packages}/icon/svg/bed-outline.svg (100%) rename {ui => packages}/icon/svg/bed-sharp.svg (100%) rename {ui => packages}/icon/svg/bed.svg (100%) rename {ui => packages}/icon/svg/beer-outline.svg (100%) rename {ui => packages}/icon/svg/beer-sharp.svg (100%) rename {ui => packages}/icon/svg/beer.svg (100%) rename {ui => packages}/icon/svg/bicycle-outline.svg (100%) rename {ui => packages}/icon/svg/bicycle-sharp.svg (100%) rename {ui => packages}/icon/svg/bicycle.svg (100%) rename {ui => packages}/icon/svg/bluetooth-outline.svg (100%) rename {ui => packages}/icon/svg/bluetooth-sharp.svg (100%) rename {ui => packages}/icon/svg/bluetooth.svg (100%) rename {ui => packages}/icon/svg/boat-outline.svg (100%) rename {ui => packages}/icon/svg/boat-sharp.svg (100%) rename {ui => packages}/icon/svg/boat.svg (100%) rename {ui => packages}/icon/svg/body-outline.svg (100%) rename {ui => packages}/icon/svg/body-sharp.svg (100%) rename {ui => packages}/icon/svg/body.svg (100%) rename {ui => packages}/icon/svg/bonfire-outline.svg (100%) rename {ui => packages}/icon/svg/bonfire-sharp.svg (100%) rename {ui => packages}/icon/svg/bonfire.svg (100%) rename {ui => packages}/icon/svg/book-outline.svg (100%) rename {ui => packages}/icon/svg/book-sharp.svg (100%) rename {ui => packages}/icon/svg/book.svg (100%) rename {ui => packages}/icon/svg/bookmark-outline.svg (100%) rename {ui => packages}/icon/svg/bookmark-sharp.svg (100%) rename {ui => packages}/icon/svg/bookmark.svg (100%) rename {ui => packages}/icon/svg/bookmarks-outline.svg (100%) rename {ui => packages}/icon/svg/bookmarks-sharp.svg (100%) rename {ui => packages}/icon/svg/bookmarks.svg (100%) rename {ui => packages}/icon/svg/bowling-ball-outline.svg (100%) rename {ui => packages}/icon/svg/bowling-ball-sharp.svg (100%) rename {ui => packages}/icon/svg/bowling-ball.svg (100%) rename {ui => packages}/icon/svg/briefcase-outline.svg (100%) rename {ui => packages}/icon/svg/briefcase-sharp.svg (100%) rename {ui => packages}/icon/svg/briefcase.svg (100%) rename {ui => packages}/icon/svg/browsers-outline.svg (100%) rename {ui => packages}/icon/svg/browsers-sharp.svg (100%) rename {ui => packages}/icon/svg/browsers.svg (100%) rename {ui => packages}/icon/svg/brush-outline.svg (100%) rename {ui => packages}/icon/svg/brush-sharp.svg (100%) rename {ui => packages}/icon/svg/brush.svg (100%) rename {ui => packages}/icon/svg/bug-outline.svg (100%) rename {ui => packages}/icon/svg/bug-sharp.svg (100%) rename {ui => packages}/icon/svg/bug.svg (100%) rename {ui => packages}/icon/svg/build-outline.svg (100%) rename {ui => packages}/icon/svg/build-sharp.svg (100%) rename {ui => packages}/icon/svg/build.svg (100%) rename {ui => packages}/icon/svg/bulb-outline.svg (100%) rename {ui => packages}/icon/svg/bulb-sharp.svg (100%) rename {ui => packages}/icon/svg/bulb.svg (100%) rename {ui => packages}/icon/svg/bus-outline.svg (100%) rename {ui => packages}/icon/svg/bus-sharp.svg (100%) rename {ui => packages}/icon/svg/bus.svg (100%) rename {ui => packages}/icon/svg/business-outline.svg (100%) rename {ui => packages}/icon/svg/business-sharp.svg (100%) rename {ui => packages}/icon/svg/business.svg (100%) rename {ui => packages}/icon/svg/cafe-outline.svg (100%) rename {ui => packages}/icon/svg/cafe-sharp.svg (100%) rename {ui => packages}/icon/svg/cafe.svg (100%) rename {ui => packages}/icon/svg/calculator-outline.svg (100%) rename {ui => packages}/icon/svg/calculator-sharp.svg (100%) rename {ui => packages}/icon/svg/calculator.svg (100%) rename {ui => packages}/icon/svg/calendar-clear-outline.svg (100%) rename {ui => packages}/icon/svg/calendar-clear-sharp.svg (100%) rename {ui => packages}/icon/svg/calendar-clear.svg (100%) rename {ui => packages}/icon/svg/calendar-number-outline.svg (100%) rename {ui => packages}/icon/svg/calendar-number-sharp.svg (100%) rename {ui => packages}/icon/svg/calendar-number.svg (100%) rename {ui => packages}/icon/svg/calendar-outline.svg (100%) rename {ui => packages}/icon/svg/calendar-sharp.svg (100%) rename {ui => packages}/icon/svg/calendar.svg (100%) rename {ui => packages}/icon/svg/call-outline.svg (100%) rename {ui => packages}/icon/svg/call-sharp.svg (100%) rename {ui => packages}/icon/svg/call.svg (100%) rename {ui => packages}/icon/svg/camera-outline.svg (100%) rename {ui => packages}/icon/svg/camera-reverse-outline.svg (100%) rename {ui => packages}/icon/svg/camera-reverse-sharp.svg (100%) rename {ui => packages}/icon/svg/camera-reverse.svg (100%) rename {ui => packages}/icon/svg/camera-sharp.svg (100%) rename {ui => packages}/icon/svg/camera.svg (100%) rename {ui => packages}/icon/svg/car-outline.svg (100%) rename {ui => packages}/icon/svg/car-sharp.svg (100%) rename {ui => packages}/icon/svg/car-sport-outline.svg (100%) rename {ui => packages}/icon/svg/car-sport-sharp.svg (100%) rename {ui => packages}/icon/svg/car-sport.svg (100%) rename {ui => packages}/icon/svg/car.svg (100%) rename {ui => packages}/icon/svg/card-outline.svg (100%) rename {ui => packages}/icon/svg/card-sharp.svg (100%) rename {ui => packages}/icon/svg/card.svg (100%) rename {ui => packages}/icon/svg/caret-back-circle-outline.svg (100%) rename {ui => packages}/icon/svg/caret-back-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-back-circle.svg (100%) rename {ui => packages}/icon/svg/caret-back-outline.svg (100%) rename {ui => packages}/icon/svg/caret-back-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-back.svg (100%) rename {ui => packages}/icon/svg/caret-down-circle-outline.svg (100%) rename {ui => packages}/icon/svg/caret-down-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-down-circle.svg (100%) rename {ui => packages}/icon/svg/caret-down-outline.svg (100%) rename {ui => packages}/icon/svg/caret-down-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-down.svg (100%) rename {ui => packages}/icon/svg/caret-forward-circle-outline.svg (100%) rename {ui => packages}/icon/svg/caret-forward-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-forward-circle.svg (100%) rename {ui => packages}/icon/svg/caret-forward-outline.svg (100%) rename {ui => packages}/icon/svg/caret-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-forward.svg (100%) rename {ui => packages}/icon/svg/caret-up-circle-outline.svg (100%) rename {ui => packages}/icon/svg/caret-up-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-up-circle.svg (100%) rename {ui => packages}/icon/svg/caret-up-outline.svg (100%) rename {ui => packages}/icon/svg/caret-up-sharp.svg (100%) rename {ui => packages}/icon/svg/caret-up.svg (100%) rename {ui => packages}/icon/svg/cart-outline.svg (100%) rename {ui => packages}/icon/svg/cart-sharp.svg (100%) rename {ui => packages}/icon/svg/cart.svg (100%) rename {ui => packages}/icon/svg/cash-outline.svg (100%) rename {ui => packages}/icon/svg/cash-sharp.svg (100%) rename {ui => packages}/icon/svg/cash.svg (100%) rename {ui => packages}/icon/svg/cellular-outline.svg (100%) rename {ui => packages}/icon/svg/cellular-sharp.svg (100%) rename {ui => packages}/icon/svg/cellular.svg (100%) rename {ui => packages}/icon/svg/chatbox-ellipses-outline.svg (100%) rename {ui => packages}/icon/svg/chatbox-ellipses-sharp.svg (100%) rename {ui => packages}/icon/svg/chatbox-ellipses.svg (100%) rename {ui => packages}/icon/svg/chatbox-outline.svg (100%) rename {ui => packages}/icon/svg/chatbox-sharp.svg (100%) rename {ui => packages}/icon/svg/chatbox.svg (100%) rename {ui => packages}/icon/svg/chatbubble-ellipses-outline.svg (100%) rename {ui => packages}/icon/svg/chatbubble-ellipses-sharp.svg (100%) rename {ui => packages}/icon/svg/chatbubble-ellipses.svg (100%) rename {ui => packages}/icon/svg/chatbubble-outline.svg (100%) rename {ui => packages}/icon/svg/chatbubble-sharp.svg (100%) rename {ui => packages}/icon/svg/chatbubble.svg (100%) rename {ui => packages}/icon/svg/chatbubbles-outline.svg (100%) rename {ui => packages}/icon/svg/chatbubbles-sharp.svg (100%) rename {ui => packages}/icon/svg/chatbubbles.svg (100%) rename {ui => packages}/icon/svg/checkbox-outline.svg (100%) rename {ui => packages}/icon/svg/checkbox-sharp.svg (100%) rename {ui => packages}/icon/svg/checkbox.svg (100%) rename {ui => packages}/icon/svg/checkmark-circle-outline.svg (100%) rename {ui => packages}/icon/svg/checkmark-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/checkmark-circle.svg (100%) rename {ui => packages}/icon/svg/checkmark-done-circle-outline.svg (100%) rename {ui => packages}/icon/svg/checkmark-done-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/checkmark-done-circle.svg (100%) rename {ui => packages}/icon/svg/checkmark-done-outline.svg (100%) rename {ui => packages}/icon/svg/checkmark-done-sharp.svg (100%) rename {ui => packages}/icon/svg/checkmark-done.svg (100%) rename {ui => packages}/icon/svg/checkmark-outline.svg (100%) rename {ui => packages}/icon/svg/checkmark-sharp.svg (100%) rename {ui => packages}/icon/svg/checkmark.svg (100%) rename {ui => packages}/icon/svg/chevron-back-circle-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-back-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-back-circle.svg (100%) rename {ui => packages}/icon/svg/chevron-back-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-back-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-back.svg (100%) rename {ui => packages}/icon/svg/chevron-down-circle-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-down-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-down-circle.svg (100%) rename {ui => packages}/icon/svg/chevron-down-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-down-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-down.svg (100%) rename {ui => packages}/icon/svg/chevron-forward-circle-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-forward-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-forward-circle.svg (100%) rename {ui => packages}/icon/svg/chevron-forward-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-forward.svg (100%) rename {ui => packages}/icon/svg/chevron-up-circle-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-up-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-up-circle.svg (100%) rename {ui => packages}/icon/svg/chevron-up-outline.svg (100%) rename {ui => packages}/icon/svg/chevron-up-sharp.svg (100%) rename {ui => packages}/icon/svg/chevron-up.svg (100%) rename {ui => packages}/icon/svg/clipboard-outline.svg (100%) rename {ui => packages}/icon/svg/clipboard-sharp.svg (100%) rename {ui => packages}/icon/svg/clipboard.svg (100%) rename {ui => packages}/icon/svg/close-circle-outline.svg (100%) rename {ui => packages}/icon/svg/close-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/close-circle.svg (100%) rename {ui => packages}/icon/svg/close-outline.svg (100%) rename {ui => packages}/icon/svg/close-sharp.svg (100%) rename {ui => packages}/icon/svg/close.svg (100%) rename {ui => packages}/icon/svg/cloud-circle-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-circle.svg (100%) rename {ui => packages}/icon/svg/cloud-done-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-done-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-done.svg (100%) rename {ui => packages}/icon/svg/cloud-download-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-download-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-download.svg (100%) rename {ui => packages}/icon/svg/cloud-offline-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-offline-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-offline.svg (100%) rename {ui => packages}/icon/svg/cloud-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-upload-outline.svg (100%) rename {ui => packages}/icon/svg/cloud-upload-sharp.svg (100%) rename {ui => packages}/icon/svg/cloud-upload.svg (100%) rename {ui => packages}/icon/svg/cloud.svg (100%) rename {ui => packages}/icon/svg/cloudy-night-outline.svg (100%) rename {ui => packages}/icon/svg/cloudy-night-sharp.svg (100%) rename {ui => packages}/icon/svg/cloudy-night.svg (100%) rename {ui => packages}/icon/svg/cloudy-outline.svg (100%) rename {ui => packages}/icon/svg/cloudy-sharp.svg (100%) rename {ui => packages}/icon/svg/cloudy.svg (100%) rename {ui => packages}/icon/svg/code-download-outline.svg (100%) rename {ui => packages}/icon/svg/code-download-sharp.svg (100%) rename {ui => packages}/icon/svg/code-download.svg (100%) rename {ui => packages}/icon/svg/code-outline.svg (100%) rename {ui => packages}/icon/svg/code-sharp.svg (100%) rename {ui => packages}/icon/svg/code-slash-outline.svg (100%) rename {ui => packages}/icon/svg/code-slash-sharp.svg (100%) rename {ui => packages}/icon/svg/code-slash.svg (100%) rename {ui => packages}/icon/svg/code-working-outline.svg (100%) rename {ui => packages}/icon/svg/code-working-sharp.svg (100%) rename {ui => packages}/icon/svg/code-working.svg (100%) rename {ui => packages}/icon/svg/code.svg (100%) rename {ui => packages}/icon/svg/cog-outline.svg (100%) rename {ui => packages}/icon/svg/cog-sharp.svg (100%) rename {ui => packages}/icon/svg/cog.svg (100%) rename {ui => packages}/icon/svg/color-fill-outline.svg (100%) rename {ui => packages}/icon/svg/color-fill-sharp.svg (100%) rename {ui => packages}/icon/svg/color-fill.svg (100%) rename {ui => packages}/icon/svg/color-filter-outline.svg (100%) rename {ui => packages}/icon/svg/color-filter-sharp.svg (100%) rename {ui => packages}/icon/svg/color-filter.svg (100%) rename {ui => packages}/icon/svg/color-palette-outline.svg (100%) rename {ui => packages}/icon/svg/color-palette-sharp.svg (100%) rename {ui => packages}/icon/svg/color-palette.svg (100%) rename {ui => packages}/icon/svg/color-wand-outline.svg (100%) rename {ui => packages}/icon/svg/color-wand-sharp.svg (100%) rename {ui => packages}/icon/svg/color-wand.svg (100%) rename {ui => packages}/icon/svg/compass-outline.svg (100%) rename {ui => packages}/icon/svg/compass-sharp.svg (100%) rename {ui => packages}/icon/svg/compass.svg (100%) rename {ui => packages}/icon/svg/construct-outline.svg (100%) rename {ui => packages}/icon/svg/construct-sharp.svg (100%) rename {ui => packages}/icon/svg/construct.svg (100%) rename {ui => packages}/icon/svg/contract-outline.svg (100%) rename {ui => packages}/icon/svg/contract-sharp.svg (100%) rename {ui => packages}/icon/svg/contract.svg (100%) rename {ui => packages}/icon/svg/contrast-outline.svg (100%) rename {ui => packages}/icon/svg/contrast-sharp.svg (100%) rename {ui => packages}/icon/svg/contrast.svg (100%) rename {ui => packages}/icon/svg/copy-outline.svg (100%) rename {ui => packages}/icon/svg/copy-sharp.svg (100%) rename {ui => packages}/icon/svg/copy.svg (100%) rename {ui => packages}/icon/svg/create-outline.svg (100%) rename {ui => packages}/icon/svg/create-sharp.svg (100%) rename {ui => packages}/icon/svg/create.svg (100%) rename {ui => packages}/icon/svg/crop-outline.svg (100%) rename {ui => packages}/icon/svg/crop-sharp.svg (100%) rename {ui => packages}/icon/svg/crop.svg (100%) rename {ui => packages}/icon/svg/cube-outline.svg (100%) rename {ui => packages}/icon/svg/cube-sharp.svg (100%) rename {ui => packages}/icon/svg/cube.svg (100%) rename {ui => packages}/icon/svg/cut-outline.svg (100%) rename {ui => packages}/icon/svg/cut-sharp.svg (100%) rename {ui => packages}/icon/svg/cut.svg (100%) rename {ui => packages}/icon/svg/desktop-outline.svg (100%) rename {ui => packages}/icon/svg/desktop-sharp.svg (100%) rename {ui => packages}/icon/svg/desktop.svg (100%) rename {ui => packages}/icon/svg/diamond-outline.svg (100%) rename {ui => packages}/icon/svg/diamond-sharp.svg (100%) rename {ui => packages}/icon/svg/diamond.svg (100%) rename {ui => packages}/icon/svg/dice-outline.svg (100%) rename {ui => packages}/icon/svg/dice-sharp.svg (100%) rename {ui => packages}/icon/svg/dice.svg (100%) rename {ui => packages}/icon/svg/disc-outline.svg (100%) rename {ui => packages}/icon/svg/disc-sharp.svg (100%) rename {ui => packages}/icon/svg/disc.svg (100%) rename {ui => packages}/icon/svg/document-attach-outline.svg (100%) rename {ui => packages}/icon/svg/document-attach-sharp.svg (100%) rename {ui => packages}/icon/svg/document-attach.svg (100%) rename {ui => packages}/icon/svg/document-lock-outline.svg (100%) rename {ui => packages}/icon/svg/document-lock-sharp.svg (100%) rename {ui => packages}/icon/svg/document-lock.svg (100%) rename {ui => packages}/icon/svg/document-outline.svg (100%) rename {ui => packages}/icon/svg/document-sharp.svg (100%) rename {ui => packages}/icon/svg/document-text-outline.svg (100%) rename {ui => packages}/icon/svg/document-text-sharp.svg (100%) rename {ui => packages}/icon/svg/document-text.svg (100%) rename {ui => packages}/icon/svg/document.svg (100%) rename {ui => packages}/icon/svg/documents-outline.svg (100%) rename {ui => packages}/icon/svg/documents-sharp.svg (100%) rename {ui => packages}/icon/svg/documents.svg (100%) rename {ui => packages}/icon/svg/download-outline.svg (100%) rename {ui => packages}/icon/svg/download-sharp.svg (100%) rename {ui => packages}/icon/svg/download.svg (100%) rename {ui => packages}/icon/svg/duplicate-outline.svg (100%) rename {ui => packages}/icon/svg/duplicate-sharp.svg (100%) rename {ui => packages}/icon/svg/duplicate.svg (100%) rename {ui => packages}/icon/svg/ear-outline.svg (100%) rename {ui => packages}/icon/svg/ear-sharp.svg (100%) rename {ui => packages}/icon/svg/ear.svg (100%) rename {ui => packages}/icon/svg/earth-outline.svg (100%) rename {ui => packages}/icon/svg/earth-sharp.svg (100%) rename {ui => packages}/icon/svg/earth.svg (100%) rename {ui => packages}/icon/svg/easel-outline.svg (100%) rename {ui => packages}/icon/svg/easel-sharp.svg (100%) rename {ui => packages}/icon/svg/easel.svg (100%) rename {ui => packages}/icon/svg/egg-outline.svg (100%) rename {ui => packages}/icon/svg/egg-sharp.svg (100%) rename {ui => packages}/icon/svg/egg.svg (100%) rename {ui => packages}/icon/svg/ellipse-outline.svg (100%) rename {ui => packages}/icon/svg/ellipse-sharp.svg (100%) rename {ui => packages}/icon/svg/ellipse.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal-circle-outline.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal-circle.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal-outline.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal-sharp.svg (100%) rename {ui => packages}/icon/svg/ellipsis-horizontal.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical-circle-outline.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical-circle.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical-outline.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical-sharp.svg (100%) rename {ui => packages}/icon/svg/ellipsis-vertical.svg (100%) rename {ui => packages}/icon/svg/enter-outline.svg (100%) rename {ui => packages}/icon/svg/enter-sharp.svg (100%) rename {ui => packages}/icon/svg/enter.svg (100%) rename {ui => packages}/icon/svg/exit-outline.svg (100%) rename {ui => packages}/icon/svg/exit-sharp.svg (100%) rename {ui => packages}/icon/svg/exit.svg (100%) rename {ui => packages}/icon/svg/expand-outline.svg (100%) rename {ui => packages}/icon/svg/expand-sharp.svg (100%) rename {ui => packages}/icon/svg/expand.svg (100%) rename {ui => packages}/icon/svg/extension-puzzle-outline.svg (100%) rename {ui => packages}/icon/svg/extension-puzzle-sharp.svg (100%) rename {ui => packages}/icon/svg/extension-puzzle.svg (100%) rename {ui => packages}/icon/svg/eye-off-outline.svg (100%) rename {ui => packages}/icon/svg/eye-off-sharp.svg (100%) rename {ui => packages}/icon/svg/eye-off.svg (100%) rename {ui => packages}/icon/svg/eye-outline.svg (100%) rename {ui => packages}/icon/svg/eye-sharp.svg (100%) rename {ui => packages}/icon/svg/eye.svg (100%) rename {ui => packages}/icon/svg/eyedrop-outline.svg (100%) rename {ui => packages}/icon/svg/eyedrop-sharp.svg (100%) rename {ui => packages}/icon/svg/eyedrop.svg (100%) rename {ui => packages}/icon/svg/fast-food-outline.svg (100%) rename {ui => packages}/icon/svg/fast-food-sharp.svg (100%) rename {ui => packages}/icon/svg/fast-food.svg (100%) rename {ui => packages}/icon/svg/female-outline.svg (100%) rename {ui => packages}/icon/svg/female-sharp.svg (100%) rename {ui => packages}/icon/svg/female.svg (100%) rename {ui => packages}/icon/svg/file-tray-full-outline.svg (100%) rename {ui => packages}/icon/svg/file-tray-full-sharp.svg (100%) rename {ui => packages}/icon/svg/file-tray-full.svg (100%) rename {ui => packages}/icon/svg/file-tray-outline.svg (100%) rename {ui => packages}/icon/svg/file-tray-sharp.svg (100%) rename {ui => packages}/icon/svg/file-tray-stacked-outline.svg (100%) rename {ui => packages}/icon/svg/file-tray-stacked-sharp.svg (100%) rename {ui => packages}/icon/svg/file-tray-stacked.svg (100%) rename {ui => packages}/icon/svg/file-tray.svg (100%) rename {ui => packages}/icon/svg/film-outline.svg (100%) rename {ui => packages}/icon/svg/film-sharp.svg (100%) rename {ui => packages}/icon/svg/film.svg (100%) rename {ui => packages}/icon/svg/filter-circle-outline.svg (100%) rename {ui => packages}/icon/svg/filter-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/filter-circle.svg (100%) rename {ui => packages}/icon/svg/filter-outline.svg (100%) rename {ui => packages}/icon/svg/filter-sharp.svg (100%) rename {ui => packages}/icon/svg/filter.svg (100%) rename {ui => packages}/icon/svg/finger-print-outline.svg (100%) rename {ui => packages}/icon/svg/finger-print-sharp.svg (100%) rename {ui => packages}/icon/svg/finger-print.svg (100%) rename {ui => packages}/icon/svg/fish-outline.svg (100%) rename {ui => packages}/icon/svg/fish-sharp.svg (100%) rename {ui => packages}/icon/svg/fish.svg (100%) rename {ui => packages}/icon/svg/fitness-outline.svg (100%) rename {ui => packages}/icon/svg/fitness-sharp.svg (100%) rename {ui => packages}/icon/svg/fitness.svg (100%) rename {ui => packages}/icon/svg/flag-outline.svg (100%) rename {ui => packages}/icon/svg/flag-sharp.svg (100%) rename {ui => packages}/icon/svg/flag.svg (100%) rename {ui => packages}/icon/svg/flame-outline.svg (100%) rename {ui => packages}/icon/svg/flame-sharp.svg (100%) rename {ui => packages}/icon/svg/flame.svg (100%) rename {ui => packages}/icon/svg/flash-off-outline.svg (100%) rename {ui => packages}/icon/svg/flash-off-sharp.svg (100%) rename {ui => packages}/icon/svg/flash-off.svg (100%) rename {ui => packages}/icon/svg/flash-outline.svg (100%) rename {ui => packages}/icon/svg/flash-sharp.svg (100%) rename {ui => packages}/icon/svg/flash.svg (100%) rename {ui => packages}/icon/svg/flashlight-outline.svg (100%) rename {ui => packages}/icon/svg/flashlight-sharp.svg (100%) rename {ui => packages}/icon/svg/flashlight.svg (100%) rename {ui => packages}/icon/svg/flask-outline.svg (100%) rename {ui => packages}/icon/svg/flask-sharp.svg (100%) rename {ui => packages}/icon/svg/flask.svg (100%) rename {ui => packages}/icon/svg/flower-outline.svg (100%) rename {ui => packages}/icon/svg/flower-sharp.svg (100%) rename {ui => packages}/icon/svg/flower.svg (100%) rename {ui => packages}/icon/svg/folder-open-outline.svg (100%) rename {ui => packages}/icon/svg/folder-open-sharp.svg (100%) rename {ui => packages}/icon/svg/folder-open.svg (100%) rename {ui => packages}/icon/svg/folder-outline.svg (100%) rename {ui => packages}/icon/svg/folder-sharp.svg (100%) rename {ui => packages}/icon/svg/folder.svg (100%) rename {ui => packages}/icon/svg/football-outline.svg (100%) rename {ui => packages}/icon/svg/football-sharp.svg (100%) rename {ui => packages}/icon/svg/football.svg (100%) rename {ui => packages}/icon/svg/footsteps-outline.svg (100%) rename {ui => packages}/icon/svg/footsteps-sharp.svg (100%) rename {ui => packages}/icon/svg/footsteps.svg (100%) rename {ui => packages}/icon/svg/funnel-outline.svg (100%) rename {ui => packages}/icon/svg/funnel-sharp.svg (100%) rename {ui => packages}/icon/svg/funnel.svg (100%) rename {ui => packages}/icon/svg/game-controller-outline.svg (100%) rename {ui => packages}/icon/svg/game-controller-sharp.svg (100%) rename {ui => packages}/icon/svg/game-controller.svg (100%) rename {ui => packages}/icon/svg/gift-outline.svg (100%) rename {ui => packages}/icon/svg/gift-sharp.svg (100%) rename {ui => packages}/icon/svg/gift.svg (100%) rename {ui => packages}/icon/svg/git-branch-outline.svg (100%) rename {ui => packages}/icon/svg/git-branch-sharp.svg (100%) rename {ui => packages}/icon/svg/git-branch.svg (100%) rename {ui => packages}/icon/svg/git-commit-outline.svg (100%) rename {ui => packages}/icon/svg/git-commit-sharp.svg (100%) rename {ui => packages}/icon/svg/git-commit.svg (100%) rename {ui => packages}/icon/svg/git-compare-outline.svg (100%) rename {ui => packages}/icon/svg/git-compare-sharp.svg (100%) rename {ui => packages}/icon/svg/git-compare.svg (100%) rename {ui => packages}/icon/svg/git-merge-outline.svg (100%) rename {ui => packages}/icon/svg/git-merge-sharp.svg (100%) rename {ui => packages}/icon/svg/git-merge.svg (100%) rename {ui => packages}/icon/svg/git-network-outline.svg (100%) rename {ui => packages}/icon/svg/git-network-sharp.svg (100%) rename {ui => packages}/icon/svg/git-network.svg (100%) rename {ui => packages}/icon/svg/git-pull-request-outline.svg (100%) rename {ui => packages}/icon/svg/git-pull-request-sharp.svg (100%) rename {ui => packages}/icon/svg/git-pull-request.svg (100%) rename {ui => packages}/icon/svg/glasses-outline.svg (100%) rename {ui => packages}/icon/svg/glasses-sharp.svg (100%) rename {ui => packages}/icon/svg/glasses.svg (100%) rename {ui => packages}/icon/svg/globe-outline.svg (100%) rename {ui => packages}/icon/svg/globe-sharp.svg (100%) rename {ui => packages}/icon/svg/globe.svg (100%) rename {ui => packages}/icon/svg/golf-outline.svg (100%) rename {ui => packages}/icon/svg/golf-sharp.svg (100%) rename {ui => packages}/icon/svg/golf.svg (100%) rename {ui => packages}/icon/svg/grid-outline.svg (100%) rename {ui => packages}/icon/svg/grid-sharp.svg (100%) rename {ui => packages}/icon/svg/grid.svg (100%) rename {ui => packages}/icon/svg/hammer-outline.svg (100%) rename {ui => packages}/icon/svg/hammer-sharp.svg (100%) rename {ui => packages}/icon/svg/hammer.svg (100%) rename {ui => packages}/icon/svg/hand-left-outline.svg (100%) rename {ui => packages}/icon/svg/hand-left-sharp.svg (100%) rename {ui => packages}/icon/svg/hand-left.svg (100%) rename {ui => packages}/icon/svg/hand-right-outline.svg (100%) rename {ui => packages}/icon/svg/hand-right-sharp.svg (100%) rename {ui => packages}/icon/svg/hand-right.svg (100%) rename {ui => packages}/icon/svg/happy-outline.svg (100%) rename {ui => packages}/icon/svg/happy-sharp.svg (100%) rename {ui => packages}/icon/svg/happy.svg (100%) rename {ui => packages}/icon/svg/hardware-chip-outline.svg (100%) rename {ui => packages}/icon/svg/hardware-chip-sharp.svg (100%) rename {ui => packages}/icon/svg/hardware-chip.svg (100%) rename {ui => packages}/icon/svg/headset-outline.svg (100%) rename {ui => packages}/icon/svg/headset-sharp.svg (100%) rename {ui => packages}/icon/svg/headset.svg (100%) rename {ui => packages}/icon/svg/heart-circle-outline.svg (100%) rename {ui => packages}/icon/svg/heart-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/heart-circle.svg (100%) rename {ui => packages}/icon/svg/heart-dislike-circle-outline.svg (100%) rename {ui => packages}/icon/svg/heart-dislike-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/heart-dislike-circle.svg (100%) rename {ui => packages}/icon/svg/heart-dislike-outline.svg (100%) rename {ui => packages}/icon/svg/heart-dislike-sharp.svg (100%) rename {ui => packages}/icon/svg/heart-dislike.svg (100%) rename {ui => packages}/icon/svg/heart-half-outline.svg (100%) rename {ui => packages}/icon/svg/heart-half-sharp.svg (100%) rename {ui => packages}/icon/svg/heart-half.svg (100%) rename {ui => packages}/icon/svg/heart-outline.svg (100%) rename {ui => packages}/icon/svg/heart-sharp.svg (100%) rename {ui => packages}/icon/svg/heart.svg (100%) rename {ui => packages}/icon/svg/help-buoy-outline.svg (100%) rename {ui => packages}/icon/svg/help-buoy-sharp.svg (100%) rename {ui => packages}/icon/svg/help-buoy.svg (100%) rename {ui => packages}/icon/svg/help-circle-outline.svg (100%) rename {ui => packages}/icon/svg/help-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/help-circle.svg (100%) rename {ui => packages}/icon/svg/help-outline.svg (100%) rename {ui => packages}/icon/svg/help-sharp.svg (100%) rename {ui => packages}/icon/svg/help.svg (100%) rename {ui => packages}/icon/svg/home-outline.svg (100%) rename {ui => packages}/icon/svg/home-sharp.svg (100%) rename {ui => packages}/icon/svg/home.svg (100%) rename {ui => packages}/icon/svg/hourglass-outline.svg (100%) rename {ui => packages}/icon/svg/hourglass-sharp.svg (100%) rename {ui => packages}/icon/svg/hourglass.svg (100%) rename {ui => packages}/icon/svg/ice-cream-outline.svg (100%) rename {ui => packages}/icon/svg/ice-cream-sharp.svg (100%) rename {ui => packages}/icon/svg/ice-cream.svg (100%) rename {ui => packages}/icon/svg/id-card-outline.svg (100%) rename {ui => packages}/icon/svg/id-card-sharp.svg (100%) rename {ui => packages}/icon/svg/id-card.svg (100%) rename {ui => packages}/icon/svg/image-outline.svg (100%) rename {ui => packages}/icon/svg/image-sharp.svg (100%) rename {ui => packages}/icon/svg/image.svg (100%) rename {ui => packages}/icon/svg/images-outline.svg (100%) rename {ui => packages}/icon/svg/images-sharp.svg (100%) rename {ui => packages}/icon/svg/images.svg (100%) rename {ui => packages}/icon/svg/infinite-outline.svg (100%) rename {ui => packages}/icon/svg/infinite-sharp.svg (100%) rename {ui => packages}/icon/svg/infinite.svg (100%) rename {ui => packages}/icon/svg/information-circle-outline.svg (100%) rename {ui => packages}/icon/svg/information-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/information-circle.svg (100%) rename {ui => packages}/icon/svg/information-outline.svg (100%) rename {ui => packages}/icon/svg/information-sharp.svg (100%) rename {ui => packages}/icon/svg/information.svg (100%) rename {ui => packages}/icon/svg/invert-mode-outline.svg (100%) rename {ui => packages}/icon/svg/invert-mode-sharp.svg (100%) rename {ui => packages}/icon/svg/invert-mode.svg (100%) rename {ui => packages}/icon/svg/journal-outline.svg (100%) rename {ui => packages}/icon/svg/journal-sharp.svg (100%) rename {ui => packages}/icon/svg/journal.svg (100%) rename {ui => packages}/icon/svg/key-outline.svg (100%) rename {ui => packages}/icon/svg/key-sharp.svg (100%) rename {ui => packages}/icon/svg/key.svg (100%) rename {ui => packages}/icon/svg/keypad-outline.svg (100%) rename {ui => packages}/icon/svg/keypad-sharp.svg (100%) rename {ui => packages}/icon/svg/keypad.svg (100%) rename {ui => packages}/icon/svg/language-outline.svg (100%) rename {ui => packages}/icon/svg/language-sharp.svg (100%) rename {ui => packages}/icon/svg/language.svg (100%) rename {ui => packages}/icon/svg/laptop-outline.svg (100%) rename {ui => packages}/icon/svg/laptop-sharp.svg (100%) rename {ui => packages}/icon/svg/laptop.svg (100%) rename {ui => packages}/icon/svg/layers-outline.svg (100%) rename {ui => packages}/icon/svg/layers-sharp.svg (100%) rename {ui => packages}/icon/svg/layers.svg (100%) rename {ui => packages}/icon/svg/leaf-outline.svg (100%) rename {ui => packages}/icon/svg/leaf-sharp.svg (100%) rename {ui => packages}/icon/svg/leaf.svg (100%) rename {ui => packages}/icon/svg/library-outline.svg (100%) rename {ui => packages}/icon/svg/library-sharp.svg (100%) rename {ui => packages}/icon/svg/library.svg (100%) rename {ui => packages}/icon/svg/link-outline.svg (100%) rename {ui => packages}/icon/svg/link-sharp.svg (100%) rename {ui => packages}/icon/svg/link.svg (100%) rename {ui => packages}/icon/svg/list-circle-outline.svg (100%) rename {ui => packages}/icon/svg/list-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/list-circle.svg (100%) rename {ui => packages}/icon/svg/list-outline.svg (100%) rename {ui => packages}/icon/svg/list-sharp.svg (100%) rename {ui => packages}/icon/svg/list.svg (100%) rename {ui => packages}/icon/svg/locate-outline.svg (100%) rename {ui => packages}/icon/svg/locate-sharp.svg (100%) rename {ui => packages}/icon/svg/locate.svg (100%) rename {ui => packages}/icon/svg/location-outline.svg (100%) rename {ui => packages}/icon/svg/location-sharp.svg (100%) rename {ui => packages}/icon/svg/location.svg (100%) rename {ui => packages}/icon/svg/lock-closed-outline.svg (100%) rename {ui => packages}/icon/svg/lock-closed-sharp.svg (100%) rename {ui => packages}/icon/svg/lock-closed.svg (100%) rename {ui => packages}/icon/svg/lock-open-outline.svg (100%) rename {ui => packages}/icon/svg/lock-open-sharp.svg (100%) rename {ui => packages}/icon/svg/lock-open.svg (100%) rename {ui => packages}/icon/svg/log-in-outline.svg (100%) rename {ui => packages}/icon/svg/log-in-sharp.svg (100%) rename {ui => packages}/icon/svg/log-in.svg (100%) rename {ui => packages}/icon/svg/log-out-outline.svg (100%) rename {ui => packages}/icon/svg/log-out-sharp.svg (100%) rename {ui => packages}/icon/svg/log-out.svg (100%) rename {ui => packages}/icon/svg/logo-alipay.svg (100%) rename {ui => packages}/icon/svg/logo-amazon.svg (100%) rename {ui => packages}/icon/svg/logo-amplify.svg (100%) rename {ui => packages}/icon/svg/logo-android.svg (100%) rename {ui => packages}/icon/svg/logo-angular.svg (100%) rename {ui => packages}/icon/svg/logo-apple-appstore.svg (100%) rename {ui => packages}/icon/svg/logo-apple-ar.svg (100%) rename {ui => packages}/icon/svg/logo-apple.svg (100%) rename {ui => packages}/icon/svg/logo-behance.svg (100%) rename {ui => packages}/icon/svg/logo-bitbucket.svg (100%) rename {ui => packages}/icon/svg/logo-bitcoin.svg (100%) rename {ui => packages}/icon/svg/logo-buffer.svg (100%) rename {ui => packages}/icon/svg/logo-capacitor.svg (100%) rename {ui => packages}/icon/svg/logo-chrome.svg (100%) rename {ui => packages}/icon/svg/logo-closed-captioning.svg (100%) rename {ui => packages}/icon/svg/logo-codepen.svg (100%) rename {ui => packages}/icon/svg/logo-css3.svg (100%) rename {ui => packages}/icon/svg/logo-designernews.svg (100%) rename {ui => packages}/icon/svg/logo-deviantart.svg (100%) rename {ui => packages}/icon/svg/logo-discord.svg (100%) rename {ui => packages}/icon/svg/logo-docker.svg (100%) rename {ui => packages}/icon/svg/logo-dribbble.svg (100%) rename {ui => packages}/icon/svg/logo-dropbox.svg (100%) rename {ui => packages}/icon/svg/logo-edge.svg (100%) rename {ui => packages}/icon/svg/logo-electron.svg (100%) rename {ui => packages}/icon/svg/logo-euro.svg (100%) rename {ui => packages}/icon/svg/logo-facebook.svg (100%) rename {ui => packages}/icon/svg/logo-figma.svg (100%) rename {ui => packages}/icon/svg/logo-firebase.svg (100%) rename {ui => packages}/icon/svg/logo-firefox.svg (100%) rename {ui => packages}/icon/svg/logo-flickr.svg (100%) rename {ui => packages}/icon/svg/logo-foursquare.svg (100%) rename {ui => packages}/icon/svg/logo-github.svg (100%) rename {ui => packages}/icon/svg/logo-gitlab.svg (100%) rename {ui => packages}/icon/svg/logo-google-playstore.svg (100%) rename {ui => packages}/icon/svg/logo-google.svg (100%) rename {ui => packages}/icon/svg/logo-hackernews.svg (100%) rename {ui => packages}/icon/svg/logo-html5.svg (100%) rename {ui => packages}/icon/svg/logo-instagram.svg (100%) rename {ui => packages}/icon/svg/logo-ionic.svg (100%) rename {ui => packages}/icon/svg/logo-ionitron.svg (100%) rename {ui => packages}/icon/svg/logo-javascript.svg (100%) rename {ui => packages}/icon/svg/logo-laravel.svg (100%) rename {ui => packages}/icon/svg/logo-linkedin.svg (100%) rename {ui => packages}/icon/svg/logo-markdown.svg (100%) rename {ui => packages}/icon/svg/logo-mastodon.svg (100%) rename {ui => packages}/icon/svg/logo-medium.svg (100%) rename {ui => packages}/icon/svg/logo-microsoft.svg (100%) rename {ui => packages}/icon/svg/logo-no-smoking.svg (100%) rename {ui => packages}/icon/svg/logo-nodejs.svg (100%) rename {ui => packages}/icon/svg/logo-npm.svg (100%) rename {ui => packages}/icon/svg/logo-octocat.svg (100%) rename {ui => packages}/icon/svg/logo-paypal.svg (100%) rename {ui => packages}/icon/svg/logo-pinterest.svg (100%) rename {ui => packages}/icon/svg/logo-playstation.svg (100%) rename {ui => packages}/icon/svg/logo-pwa.svg (100%) rename {ui => packages}/icon/svg/logo-python.svg (100%) rename {ui => packages}/icon/svg/logo-react.svg (100%) rename {ui => packages}/icon/svg/logo-reddit.svg (100%) rename {ui => packages}/icon/svg/logo-rss.svg (100%) rename {ui => packages}/icon/svg/logo-sass.svg (100%) rename {ui => packages}/icon/svg/logo-skype.svg (100%) rename {ui => packages}/icon/svg/logo-slack.svg (100%) rename {ui => packages}/icon/svg/logo-snapchat.svg (100%) rename {ui => packages}/icon/svg/logo-soundcloud.svg (100%) rename {ui => packages}/icon/svg/logo-stackoverflow.svg (100%) rename {ui => packages}/icon/svg/logo-steam.svg (100%) rename {ui => packages}/icon/svg/logo-stencil.svg (100%) rename {ui => packages}/icon/svg/logo-tableau.svg (100%) rename {ui => packages}/icon/svg/logo-tiktok.svg (100%) rename {ui => packages}/icon/svg/logo-tumblr.svg (100%) rename {ui => packages}/icon/svg/logo-tux.svg (100%) rename {ui => packages}/icon/svg/logo-twitch.svg (100%) rename {ui => packages}/icon/svg/logo-twitter.svg (100%) rename {ui => packages}/icon/svg/logo-usd.svg (100%) rename {ui => packages}/icon/svg/logo-venmo.svg (100%) rename {ui => packages}/icon/svg/logo-vercel.svg (100%) rename {ui => packages}/icon/svg/logo-vimeo.svg (100%) rename {ui => packages}/icon/svg/logo-vk.svg (100%) rename {ui => packages}/icon/svg/logo-vue.svg (100%) rename {ui => packages}/icon/svg/logo-web-component.svg (100%) rename {ui => packages}/icon/svg/logo-wechat.svg (100%) rename {ui => packages}/icon/svg/logo-whatsapp.svg (100%) rename {ui => packages}/icon/svg/logo-windows.svg (100%) rename {ui => packages}/icon/svg/logo-wordpress.svg (100%) rename {ui => packages}/icon/svg/logo-xbox.svg (100%) rename {ui => packages}/icon/svg/logo-xing.svg (100%) rename {ui => packages}/icon/svg/logo-yahoo.svg (100%) rename {ui => packages}/icon/svg/logo-yen.svg (100%) rename {ui => packages}/icon/svg/logo-youtube.svg (100%) rename {ui => packages}/icon/svg/magnet-outline.svg (100%) rename {ui => packages}/icon/svg/magnet-sharp.svg (100%) rename {ui => packages}/icon/svg/magnet.svg (100%) rename {ui => packages}/icon/svg/mail-open-outline.svg (100%) rename {ui => packages}/icon/svg/mail-open-sharp.svg (100%) rename {ui => packages}/icon/svg/mail-open.svg (100%) rename {ui => packages}/icon/svg/mail-outline.svg (100%) rename {ui => packages}/icon/svg/mail-sharp.svg (100%) rename {ui => packages}/icon/svg/mail-unread-outline.svg (100%) rename {ui => packages}/icon/svg/mail-unread-sharp.svg (100%) rename {ui => packages}/icon/svg/mail-unread.svg (100%) rename {ui => packages}/icon/svg/mail.svg (100%) rename {ui => packages}/icon/svg/male-female-outline.svg (100%) rename {ui => packages}/icon/svg/male-female-sharp.svg (100%) rename {ui => packages}/icon/svg/male-female.svg (100%) rename {ui => packages}/icon/svg/male-outline.svg (100%) rename {ui => packages}/icon/svg/male-sharp.svg (100%) rename {ui => packages}/icon/svg/male.svg (100%) rename {ui => packages}/icon/svg/man-outline.svg (100%) rename {ui => packages}/icon/svg/man-sharp.svg (100%) rename {ui => packages}/icon/svg/man.svg (100%) rename {ui => packages}/icon/svg/map-outline.svg (100%) rename {ui => packages}/icon/svg/map-sharp.svg (100%) rename {ui => packages}/icon/svg/map.svg (100%) rename {ui => packages}/icon/svg/medal-outline.svg (100%) rename {ui => packages}/icon/svg/medal-sharp.svg (100%) rename {ui => packages}/icon/svg/medal.svg (100%) rename {ui => packages}/icon/svg/medical-outline.svg (100%) rename {ui => packages}/icon/svg/medical-sharp.svg (100%) rename {ui => packages}/icon/svg/medical.svg (100%) rename {ui => packages}/icon/svg/medkit-outline.svg (100%) rename {ui => packages}/icon/svg/medkit-sharp.svg (100%) rename {ui => packages}/icon/svg/medkit.svg (100%) rename {ui => packages}/icon/svg/megaphone-outline.svg (100%) rename {ui => packages}/icon/svg/megaphone-sharp.svg (100%) rename {ui => packages}/icon/svg/megaphone.svg (100%) rename {ui => packages}/icon/svg/menu-outline.svg (100%) rename {ui => packages}/icon/svg/menu-sharp.svg (100%) rename {ui => packages}/icon/svg/menu.svg (100%) rename {ui => packages}/icon/svg/mic-circle-outline.svg (100%) rename {ui => packages}/icon/svg/mic-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/mic-circle.svg (100%) rename {ui => packages}/icon/svg/mic-off-circle-outline.svg (100%) rename {ui => packages}/icon/svg/mic-off-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/mic-off-circle.svg (100%) rename {ui => packages}/icon/svg/mic-off-outline.svg (100%) rename {ui => packages}/icon/svg/mic-off-sharp.svg (100%) rename {ui => packages}/icon/svg/mic-off.svg (100%) rename {ui => packages}/icon/svg/mic-outline.svg (100%) rename {ui => packages}/icon/svg/mic-sharp.svg (100%) rename {ui => packages}/icon/svg/mic.svg (100%) rename {ui => packages}/icon/svg/moon-outline.svg (100%) rename {ui => packages}/icon/svg/moon-sharp.svg (100%) rename {ui => packages}/icon/svg/moon.svg (100%) rename {ui => packages}/icon/svg/move-outline.svg (100%) rename {ui => packages}/icon/svg/move-sharp.svg (100%) rename {ui => packages}/icon/svg/move.svg (100%) rename {ui => packages}/icon/svg/musical-note-outline.svg (100%) rename {ui => packages}/icon/svg/musical-note-sharp.svg (100%) rename {ui => packages}/icon/svg/musical-note.svg (100%) rename {ui => packages}/icon/svg/musical-notes-outline.svg (100%) rename {ui => packages}/icon/svg/musical-notes-sharp.svg (100%) rename {ui => packages}/icon/svg/musical-notes.svg (100%) rename {ui => packages}/icon/svg/navigate-circle-outline.svg (100%) rename {ui => packages}/icon/svg/navigate-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/navigate-circle.svg (100%) rename {ui => packages}/icon/svg/navigate-outline.svg (100%) rename {ui => packages}/icon/svg/navigate-sharp.svg (100%) rename {ui => packages}/icon/svg/navigate.svg (100%) rename {ui => packages}/icon/svg/newspaper-outline.svg (100%) rename {ui => packages}/icon/svg/newspaper-sharp.svg (100%) rename {ui => packages}/icon/svg/newspaper.svg (100%) rename {ui => packages}/icon/svg/notifications-circle-outline.svg (100%) rename {ui => packages}/icon/svg/notifications-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/notifications-circle.svg (100%) rename {ui => packages}/icon/svg/notifications-off-circle-outline.svg (100%) rename {ui => packages}/icon/svg/notifications-off-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/notifications-off-circle.svg (100%) rename {ui => packages}/icon/svg/notifications-off-outline.svg (100%) rename {ui => packages}/icon/svg/notifications-off-sharp.svg (100%) rename {ui => packages}/icon/svg/notifications-off.svg (100%) rename {ui => packages}/icon/svg/notifications-outline.svg (100%) rename {ui => packages}/icon/svg/notifications-sharp.svg (100%) rename {ui => packages}/icon/svg/notifications.svg (100%) rename {ui => packages}/icon/svg/nuclear-outline.svg (100%) rename {ui => packages}/icon/svg/nuclear-sharp.svg (100%) rename {ui => packages}/icon/svg/nuclear.svg (100%) rename {ui => packages}/icon/svg/nutrition-outline.svg (100%) rename {ui => packages}/icon/svg/nutrition-sharp.svg (100%) rename {ui => packages}/icon/svg/nutrition.svg (100%) rename {ui => packages}/icon/svg/open-outline.svg (100%) rename {ui => packages}/icon/svg/open-sharp.svg (100%) rename {ui => packages}/icon/svg/open.svg (100%) rename {ui => packages}/icon/svg/options-outline.svg (100%) rename {ui => packages}/icon/svg/options-sharp.svg (100%) rename {ui => packages}/icon/svg/options.svg (100%) rename {ui => packages}/icon/svg/paper-plane-outline.svg (100%) rename {ui => packages}/icon/svg/paper-plane-sharp.svg (100%) rename {ui => packages}/icon/svg/paper-plane.svg (100%) rename {ui => packages}/icon/svg/partly-sunny-outline.svg (100%) rename {ui => packages}/icon/svg/partly-sunny-sharp.svg (100%) rename {ui => packages}/icon/svg/partly-sunny.svg (100%) rename {ui => packages}/icon/svg/pause-circle-outline.svg (100%) rename {ui => packages}/icon/svg/pause-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/pause-circle.svg (100%) rename {ui => packages}/icon/svg/pause-outline.svg (100%) rename {ui => packages}/icon/svg/pause-sharp.svg (100%) rename {ui => packages}/icon/svg/pause.svg (100%) rename {ui => packages}/icon/svg/paw-outline.svg (100%) rename {ui => packages}/icon/svg/paw-sharp.svg (100%) rename {ui => packages}/icon/svg/paw.svg (100%) rename {ui => packages}/icon/svg/pencil-outline.svg (100%) rename {ui => packages}/icon/svg/pencil-sharp.svg (100%) rename {ui => packages}/icon/svg/pencil.svg (100%) rename {ui => packages}/icon/svg/people-circle-outline.svg (100%) rename {ui => packages}/icon/svg/people-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/people-circle.svg (100%) rename {ui => packages}/icon/svg/people-outline.svg (100%) rename {ui => packages}/icon/svg/people-sharp.svg (100%) rename {ui => packages}/icon/svg/people.svg (100%) rename {ui => packages}/icon/svg/person-add-outline.svg (100%) rename {ui => packages}/icon/svg/person-add-sharp.svg (100%) rename {ui => packages}/icon/svg/person-add.svg (100%) rename {ui => packages}/icon/svg/person-circle-outline.svg (100%) rename {ui => packages}/icon/svg/person-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/person-circle.svg (100%) rename {ui => packages}/icon/svg/person-outline.svg (100%) rename {ui => packages}/icon/svg/person-remove-outline.svg (100%) rename {ui => packages}/icon/svg/person-remove-sharp.svg (100%) rename {ui => packages}/icon/svg/person-remove.svg (100%) rename {ui => packages}/icon/svg/person-sharp.svg (100%) rename {ui => packages}/icon/svg/person.svg (100%) rename {ui => packages}/icon/svg/phone-landscape-outline.svg (100%) rename {ui => packages}/icon/svg/phone-landscape-sharp.svg (100%) rename {ui => packages}/icon/svg/phone-landscape.svg (100%) rename {ui => packages}/icon/svg/phone-portrait-outline.svg (100%) rename {ui => packages}/icon/svg/phone-portrait-sharp.svg (100%) rename {ui => packages}/icon/svg/phone-portrait.svg (100%) rename {ui => packages}/icon/svg/pie-chart-outline.svg (100%) rename {ui => packages}/icon/svg/pie-chart-sharp.svg (100%) rename {ui => packages}/icon/svg/pie-chart.svg (100%) rename {ui => packages}/icon/svg/pin-outline.svg (100%) rename {ui => packages}/icon/svg/pin-sharp.svg (100%) rename {ui => packages}/icon/svg/pin.svg (100%) rename {ui => packages}/icon/svg/pint-outline.svg (100%) rename {ui => packages}/icon/svg/pint-sharp.svg (100%) rename {ui => packages}/icon/svg/pint.svg (100%) rename {ui => packages}/icon/svg/pizza-outline.svg (100%) rename {ui => packages}/icon/svg/pizza-sharp.svg (100%) rename {ui => packages}/icon/svg/pizza.svg (100%) rename {ui => packages}/icon/svg/planet-outline.svg (100%) rename {ui => packages}/icon/svg/planet-sharp.svg (100%) rename {ui => packages}/icon/svg/planet.svg (100%) rename {ui => packages}/icon/svg/play-back-circle-outline.svg (100%) rename {ui => packages}/icon/svg/play-back-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/play-back-circle.svg (100%) rename {ui => packages}/icon/svg/play-back-outline.svg (100%) rename {ui => packages}/icon/svg/play-back-sharp.svg (100%) rename {ui => packages}/icon/svg/play-back.svg (100%) rename {ui => packages}/icon/svg/play-circle-outline.svg (100%) rename {ui => packages}/icon/svg/play-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/play-circle.svg (100%) rename {ui => packages}/icon/svg/play-forward-circle-outline.svg (100%) rename {ui => packages}/icon/svg/play-forward-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/play-forward-circle.svg (100%) rename {ui => packages}/icon/svg/play-forward-outline.svg (100%) rename {ui => packages}/icon/svg/play-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/play-forward.svg (100%) rename {ui => packages}/icon/svg/play-outline.svg (100%) rename {ui => packages}/icon/svg/play-sharp.svg (100%) rename {ui => packages}/icon/svg/play-skip-back-circle-outline.svg (100%) rename {ui => packages}/icon/svg/play-skip-back-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/play-skip-back-circle.svg (100%) rename {ui => packages}/icon/svg/play-skip-back-outline.svg (100%) rename {ui => packages}/icon/svg/play-skip-back-sharp.svg (100%) rename {ui => packages}/icon/svg/play-skip-back.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward-circle-outline.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward-circle.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward-outline.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/play-skip-forward.svg (100%) rename {ui => packages}/icon/svg/play.svg (100%) rename {ui => packages}/icon/svg/podium-outline.svg (100%) rename {ui => packages}/icon/svg/podium-sharp.svg (100%) rename {ui => packages}/icon/svg/podium.svg (100%) rename {ui => packages}/icon/svg/power-outline.svg (100%) rename {ui => packages}/icon/svg/power-sharp.svg (100%) rename {ui => packages}/icon/svg/power.svg (100%) rename {ui => packages}/icon/svg/pricetag-outline.svg (100%) rename {ui => packages}/icon/svg/pricetag-sharp.svg (100%) rename {ui => packages}/icon/svg/pricetag.svg (100%) rename {ui => packages}/icon/svg/pricetags-outline.svg (100%) rename {ui => packages}/icon/svg/pricetags-sharp.svg (100%) rename {ui => packages}/icon/svg/pricetags.svg (100%) rename {ui => packages}/icon/svg/print-outline.svg (100%) rename {ui => packages}/icon/svg/print-sharp.svg (100%) rename {ui => packages}/icon/svg/print.svg (100%) rename {ui => packages}/icon/svg/prism-outline.svg (100%) rename {ui => packages}/icon/svg/prism-sharp.svg (100%) rename {ui => packages}/icon/svg/prism.svg (100%) rename {ui => packages}/icon/svg/pulse-outline.svg (100%) rename {ui => packages}/icon/svg/pulse-sharp.svg (100%) rename {ui => packages}/icon/svg/pulse.svg (100%) rename {ui => packages}/icon/svg/push-outline.svg (100%) rename {ui => packages}/icon/svg/push-sharp.svg (100%) rename {ui => packages}/icon/svg/push.svg (100%) rename {ui => packages}/icon/svg/qr-code-outline.svg (100%) rename {ui => packages}/icon/svg/qr-code-sharp.svg (100%) rename {ui => packages}/icon/svg/qr-code.svg (100%) rename {ui => packages}/icon/svg/radio-button-off-outline.svg (100%) rename {ui => packages}/icon/svg/radio-button-off-sharp.svg (100%) rename {ui => packages}/icon/svg/radio-button-off.svg (100%) rename {ui => packages}/icon/svg/radio-button-on-outline.svg (100%) rename {ui => packages}/icon/svg/radio-button-on-sharp.svg (100%) rename {ui => packages}/icon/svg/radio-button-on.svg (100%) rename {ui => packages}/icon/svg/radio-outline.svg (100%) rename {ui => packages}/icon/svg/radio-sharp.svg (100%) rename {ui => packages}/icon/svg/radio.svg (100%) rename {ui => packages}/icon/svg/rainy-outline.svg (100%) rename {ui => packages}/icon/svg/rainy-sharp.svg (100%) rename {ui => packages}/icon/svg/rainy.svg (100%) rename {ui => packages}/icon/svg/reader-outline.svg (100%) rename {ui => packages}/icon/svg/reader-sharp.svg (100%) rename {ui => packages}/icon/svg/reader.svg (100%) rename {ui => packages}/icon/svg/receipt-outline.svg (100%) rename {ui => packages}/icon/svg/receipt-sharp.svg (100%) rename {ui => packages}/icon/svg/receipt.svg (100%) rename {ui => packages}/icon/svg/recording-outline.svg (100%) rename {ui => packages}/icon/svg/recording-sharp.svg (100%) rename {ui => packages}/icon/svg/recording.svg (100%) rename {ui => packages}/icon/svg/refresh-circle-outline.svg (100%) rename {ui => packages}/icon/svg/refresh-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/refresh-circle.svg (100%) rename {ui => packages}/icon/svg/refresh-outline.svg (100%) rename {ui => packages}/icon/svg/refresh-sharp.svg (100%) rename {ui => packages}/icon/svg/refresh.svg (100%) rename {ui => packages}/icon/svg/reload-circle-outline.svg (100%) rename {ui => packages}/icon/svg/reload-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/reload-circle.svg (100%) rename {ui => packages}/icon/svg/reload-outline.svg (100%) rename {ui => packages}/icon/svg/reload-sharp.svg (100%) rename {ui => packages}/icon/svg/reload.svg (100%) rename {ui => packages}/icon/svg/remove-circle-outline.svg (100%) rename {ui => packages}/icon/svg/remove-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/remove-circle.svg (100%) rename {ui => packages}/icon/svg/remove-outline.svg (100%) rename {ui => packages}/icon/svg/remove-sharp.svg (100%) rename {ui => packages}/icon/svg/remove.svg (100%) rename {ui => packages}/icon/svg/reorder-four-outline.svg (100%) rename {ui => packages}/icon/svg/reorder-four-sharp.svg (100%) rename {ui => packages}/icon/svg/reorder-four.svg (100%) rename {ui => packages}/icon/svg/reorder-three-outline.svg (100%) rename {ui => packages}/icon/svg/reorder-three-sharp.svg (100%) rename {ui => packages}/icon/svg/reorder-three.svg (100%) rename {ui => packages}/icon/svg/reorder-two-outline.svg (100%) rename {ui => packages}/icon/svg/reorder-two-sharp.svg (100%) rename {ui => packages}/icon/svg/reorder-two.svg (100%) rename {ui => packages}/icon/svg/repeat-outline.svg (100%) rename {ui => packages}/icon/svg/repeat-sharp.svg (100%) rename {ui => packages}/icon/svg/repeat.svg (100%) rename {ui => packages}/icon/svg/resize-outline.svg (100%) rename {ui => packages}/icon/svg/resize-sharp.svg (100%) rename {ui => packages}/icon/svg/resize.svg (100%) rename {ui => packages}/icon/svg/restaurant-outline.svg (100%) rename {ui => packages}/icon/svg/restaurant-sharp.svg (100%) rename {ui => packages}/icon/svg/restaurant.svg (100%) rename {ui => packages}/icon/svg/return-down-back-outline.svg (100%) rename {ui => packages}/icon/svg/return-down-back-sharp.svg (100%) rename {ui => packages}/icon/svg/return-down-back.svg (100%) rename {ui => packages}/icon/svg/return-down-forward-outline.svg (100%) rename {ui => packages}/icon/svg/return-down-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/return-down-forward.svg (100%) rename {ui => packages}/icon/svg/return-up-back-outline.svg (100%) rename {ui => packages}/icon/svg/return-up-back-sharp.svg (100%) rename {ui => packages}/icon/svg/return-up-back.svg (100%) rename {ui => packages}/icon/svg/return-up-forward-outline.svg (100%) rename {ui => packages}/icon/svg/return-up-forward-sharp.svg (100%) rename {ui => packages}/icon/svg/return-up-forward.svg (100%) rename {ui => packages}/icon/svg/ribbon-outline.svg (100%) rename {ui => packages}/icon/svg/ribbon-sharp.svg (100%) rename {ui => packages}/icon/svg/ribbon.svg (100%) rename {ui => packages}/icon/svg/rocket-outline.svg (100%) rename {ui => packages}/icon/svg/rocket-sharp.svg (100%) rename {ui => packages}/icon/svg/rocket.svg (100%) rename {ui => packages}/icon/svg/rose-outline.svg (100%) rename {ui => packages}/icon/svg/rose-sharp.svg (100%) rename {ui => packages}/icon/svg/rose.svg (100%) rename {ui => packages}/icon/svg/sad-outline.svg (100%) rename {ui => packages}/icon/svg/sad-sharp.svg (100%) rename {ui => packages}/icon/svg/sad.svg (100%) rename {ui => packages}/icon/svg/save-outline.svg (100%) rename {ui => packages}/icon/svg/save-sharp.svg (100%) rename {ui => packages}/icon/svg/save.svg (100%) rename {ui => packages}/icon/svg/scale-outline.svg (100%) rename {ui => packages}/icon/svg/scale-sharp.svg (100%) rename {ui => packages}/icon/svg/scale.svg (100%) rename {ui => packages}/icon/svg/scan-circle-outline.svg (100%) rename {ui => packages}/icon/svg/scan-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/scan-circle.svg (100%) rename {ui => packages}/icon/svg/scan-outline.svg (100%) rename {ui => packages}/icon/svg/scan-sharp.svg (100%) rename {ui => packages}/icon/svg/scan.svg (100%) rename {ui => packages}/icon/svg/school-outline.svg (100%) rename {ui => packages}/icon/svg/school-sharp.svg (100%) rename {ui => packages}/icon/svg/school.svg (100%) rename {ui => packages}/icon/svg/search-circle-outline.svg (100%) rename {ui => packages}/icon/svg/search-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/search-circle.svg (100%) rename {ui => packages}/icon/svg/search-outline.svg (100%) rename {ui => packages}/icon/svg/search-sharp.svg (100%) rename {ui => packages}/icon/svg/search.svg (100%) rename {ui => packages}/icon/svg/send-outline.svg (100%) rename {ui => packages}/icon/svg/send-sharp.svg (100%) rename {ui => packages}/icon/svg/send.svg (100%) rename {ui => packages}/icon/svg/server-outline.svg (100%) rename {ui => packages}/icon/svg/server-sharp.svg (100%) rename {ui => packages}/icon/svg/server.svg (100%) rename {ui => packages}/icon/svg/settings-outline.svg (100%) rename {ui => packages}/icon/svg/settings-sharp.svg (100%) rename {ui => packages}/icon/svg/settings.svg (100%) rename {ui => packages}/icon/svg/shapes-outline.svg (100%) rename {ui => packages}/icon/svg/shapes-sharp.svg (100%) rename {ui => packages}/icon/svg/shapes.svg (100%) rename {ui => packages}/icon/svg/share-outline.svg (100%) rename {ui => packages}/icon/svg/share-sharp.svg (100%) rename {ui => packages}/icon/svg/share-social-outline.svg (100%) rename {ui => packages}/icon/svg/share-social-sharp.svg (100%) rename {ui => packages}/icon/svg/share-social.svg (100%) rename {ui => packages}/icon/svg/share.svg (100%) rename {ui => packages}/icon/svg/shield-checkmark-outline.svg (100%) rename {ui => packages}/icon/svg/shield-checkmark-sharp.svg (100%) rename {ui => packages}/icon/svg/shield-checkmark.svg (100%) rename {ui => packages}/icon/svg/shield-half-outline.svg (100%) rename {ui => packages}/icon/svg/shield-half-sharp.svg (100%) rename {ui => packages}/icon/svg/shield-half.svg (100%) rename {ui => packages}/icon/svg/shield-outline.svg (100%) rename {ui => packages}/icon/svg/shield-sharp.svg (100%) rename {ui => packages}/icon/svg/shield.svg (100%) rename {ui => packages}/icon/svg/shirt-outline.svg (100%) rename {ui => packages}/icon/svg/shirt-sharp.svg (100%) rename {ui => packages}/icon/svg/shirt.svg (100%) rename {ui => packages}/icon/svg/shuffle-outline.svg (100%) rename {ui => packages}/icon/svg/shuffle-sharp.svg (100%) rename {ui => packages}/icon/svg/shuffle.svg (100%) rename {ui => packages}/icon/svg/skull-outline.svg (100%) rename {ui => packages}/icon/svg/skull-sharp.svg (100%) rename {ui => packages}/icon/svg/skull.svg (100%) rename {ui => packages}/icon/svg/snow-outline.svg (100%) rename {ui => packages}/icon/svg/snow-sharp.svg (100%) rename {ui => packages}/icon/svg/snow.svg (100%) rename {ui => packages}/icon/svg/sparkles-outline.svg (100%) rename {ui => packages}/icon/svg/sparkles-sharp.svg (100%) rename {ui => packages}/icon/svg/sparkles.svg (100%) rename {ui => packages}/icon/svg/speedometer-outline.svg (100%) rename {ui => packages}/icon/svg/speedometer-sharp.svg (100%) rename {ui => packages}/icon/svg/speedometer.svg (100%) rename {ui => packages}/icon/svg/square-outline.svg (100%) rename {ui => packages}/icon/svg/square-sharp.svg (100%) rename {ui => packages}/icon/svg/square.svg (100%) rename {ui => packages}/icon/svg/star-half-outline.svg (100%) rename {ui => packages}/icon/svg/star-half-sharp.svg (100%) rename {ui => packages}/icon/svg/star-half.svg (100%) rename {ui => packages}/icon/svg/star-outline.svg (100%) rename {ui => packages}/icon/svg/star-sharp.svg (100%) rename {ui => packages}/icon/svg/star.svg (100%) rename {ui => packages}/icon/svg/stats-chart-outline.svg (100%) rename {ui => packages}/icon/svg/stats-chart-sharp.svg (100%) rename {ui => packages}/icon/svg/stats-chart.svg (100%) rename {ui => packages}/icon/svg/stop-circle-outline.svg (100%) rename {ui => packages}/icon/svg/stop-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/stop-circle.svg (100%) rename {ui => packages}/icon/svg/stop-outline.svg (100%) rename {ui => packages}/icon/svg/stop-sharp.svg (100%) rename {ui => packages}/icon/svg/stop.svg (100%) rename {ui => packages}/icon/svg/stopwatch-outline.svg (100%) rename {ui => packages}/icon/svg/stopwatch-sharp.svg (100%) rename {ui => packages}/icon/svg/stopwatch.svg (100%) rename {ui => packages}/icon/svg/storefront-outline.svg (100%) rename {ui => packages}/icon/svg/storefront-sharp.svg (100%) rename {ui => packages}/icon/svg/storefront.svg (100%) rename {ui => packages}/icon/svg/subway-outline.svg (100%) rename {ui => packages}/icon/svg/subway-sharp.svg (100%) rename {ui => packages}/icon/svg/subway.svg (100%) rename {ui => packages}/icon/svg/sunny-outline.svg (100%) rename {ui => packages}/icon/svg/sunny-sharp.svg (100%) rename {ui => packages}/icon/svg/sunny.svg (100%) rename {ui => packages}/icon/svg/swap-horizontal-outline.svg (100%) rename {ui => packages}/icon/svg/swap-horizontal-sharp.svg (100%) rename {ui => packages}/icon/svg/swap-horizontal.svg (100%) rename {ui => packages}/icon/svg/swap-vertical-outline.svg (100%) rename {ui => packages}/icon/svg/swap-vertical-sharp.svg (100%) rename {ui => packages}/icon/svg/swap-vertical.svg (100%) rename {ui => packages}/icon/svg/sync-circle-outline.svg (100%) rename {ui => packages}/icon/svg/sync-circle-sharp.svg (100%) rename {ui => packages}/icon/svg/sync-circle.svg (100%) rename {ui => packages}/icon/svg/sync-outline.svg (100%) rename {ui => packages}/icon/svg/sync-sharp.svg (100%) rename {ui => packages}/icon/svg/sync.svg (100%) rename {ui => packages}/icon/svg/tablet-landscape-outline.svg (100%) rename {ui => packages}/icon/svg/tablet-landscape-sharp.svg (100%) rename {ui => packages}/icon/svg/tablet-landscape.svg (100%) rename {ui => packages}/icon/svg/tablet-portrait-outline.svg (100%) rename {ui => packages}/icon/svg/tablet-portrait-sharp.svg (100%) rename {ui => packages}/icon/svg/tablet-portrait.svg (100%) rename {ui => packages}/icon/svg/telescope-outline.svg (100%) rename {ui => packages}/icon/svg/telescope-sharp.svg (100%) rename {ui => packages}/icon/svg/telescope.svg (100%) rename {ui => packages}/icon/svg/tennisball-outline.svg (100%) rename {ui => packages}/icon/svg/tennisball-sharp.svg (100%) rename {ui => packages}/icon/svg/tennisball.svg (100%) rename {ui => packages}/icon/svg/terminal-outline.svg (100%) rename {ui => packages}/icon/svg/terminal-sharp.svg (100%) rename {ui => packages}/icon/svg/terminal.svg (100%) rename {ui => packages}/icon/svg/text-outline.svg (100%) rename {ui => packages}/icon/svg/text-sharp.svg (100%) rename {ui => packages}/icon/svg/text.svg (100%) rename {ui => packages}/icon/svg/thermometer-outline.svg (100%) rename {ui => packages}/icon/svg/thermometer-sharp.svg (100%) rename {ui => packages}/icon/svg/thermometer.svg (100%) rename {ui => packages}/icon/svg/thumbs-down-outline.svg (100%) rename {ui => packages}/icon/svg/thumbs-down-sharp.svg (100%) rename {ui => packages}/icon/svg/thumbs-down.svg (100%) rename {ui => packages}/icon/svg/thumbs-up-outline.svg (100%) rename {ui => packages}/icon/svg/thumbs-up-sharp.svg (100%) rename {ui => packages}/icon/svg/thumbs-up.svg (100%) rename {ui => packages}/icon/svg/thunderstorm-outline.svg (100%) rename {ui => packages}/icon/svg/thunderstorm-sharp.svg (100%) rename {ui => packages}/icon/svg/thunderstorm.svg (100%) rename {ui => packages}/icon/svg/ticket-outline.svg (100%) rename {ui => packages}/icon/svg/ticket-sharp.svg (100%) rename {ui => packages}/icon/svg/ticket.svg (100%) rename {ui => packages}/icon/svg/time-outline.svg (100%) rename {ui => packages}/icon/svg/time-sharp.svg (100%) rename {ui => packages}/icon/svg/time.svg (100%) rename {ui => packages}/icon/svg/timer-outline.svg (100%) rename {ui => packages}/icon/svg/timer-sharp.svg (100%) rename {ui => packages}/icon/svg/timer.svg (100%) rename {ui => packages}/icon/svg/today-outline.svg (100%) rename {ui => packages}/icon/svg/today-sharp.svg (100%) rename {ui => packages}/icon/svg/today.svg (100%) rename {ui => packages}/icon/svg/toggle-outline.svg (100%) rename {ui => packages}/icon/svg/toggle-sharp.svg (100%) rename {ui => packages}/icon/svg/toggle.svg (100%) rename {ui => packages}/icon/svg/toman.svg (100%) rename {ui => packages}/icon/svg/trail-sign-outline.svg (100%) rename {ui => packages}/icon/svg/trail-sign-sharp.svg (100%) rename {ui => packages}/icon/svg/trail-sign.svg (100%) rename {ui => packages}/icon/svg/train-outline.svg (100%) rename {ui => packages}/icon/svg/train-sharp.svg (100%) rename {ui => packages}/icon/svg/train.svg (100%) rename {ui => packages}/icon/svg/transgender-outline.svg (100%) rename {ui => packages}/icon/svg/transgender-sharp.svg (100%) rename {ui => packages}/icon/svg/transgender.svg (100%) rename {ui => packages}/icon/svg/trash-bin-outline.svg (100%) rename {ui => packages}/icon/svg/trash-bin-sharp.svg (100%) rename {ui => packages}/icon/svg/trash-bin.svg (100%) rename {ui => packages}/icon/svg/trash-outline.svg (100%) rename {ui => packages}/icon/svg/trash-sharp.svg (100%) rename {ui => packages}/icon/svg/trash.svg (100%) rename {ui => packages}/icon/svg/trending-down-outline.svg (100%) rename {ui => packages}/icon/svg/trending-down-sharp.svg (100%) rename {ui => packages}/icon/svg/trending-down.svg (100%) rename {ui => packages}/icon/svg/trending-up-outline.svg (100%) rename {ui => packages}/icon/svg/trending-up-sharp.svg (100%) rename {ui => packages}/icon/svg/trending-up.svg (100%) rename {ui => packages}/icon/svg/triangle-outline.svg (100%) rename {ui => packages}/icon/svg/triangle-sharp.svg (100%) rename {ui => packages}/icon/svg/triangle.svg (100%) rename {ui => packages}/icon/svg/trophy-outline.svg (100%) rename {ui => packages}/icon/svg/trophy-sharp.svg (100%) rename {ui => packages}/icon/svg/trophy.svg (100%) rename {ui => packages}/icon/svg/tv-outline.svg (100%) rename {ui => packages}/icon/svg/tv-sharp.svg (100%) rename {ui => packages}/icon/svg/tv.svg (100%) rename {ui => packages}/icon/svg/umbrella-outline.svg (100%) rename {ui => packages}/icon/svg/umbrella-sharp.svg (100%) rename {ui => packages}/icon/svg/umbrella.svg (100%) rename {ui => packages}/icon/svg/unlink-outline.svg (100%) rename {ui => packages}/icon/svg/unlink-sharp.svg (100%) rename {ui => packages}/icon/svg/unlink.svg (100%) rename {ui => packages}/icon/svg/videocam-off-outline.svg (100%) rename {ui => packages}/icon/svg/videocam-off-sharp.svg (100%) rename {ui => packages}/icon/svg/videocam-off.svg (100%) rename {ui => packages}/icon/svg/videocam-outline.svg (100%) rename {ui => packages}/icon/svg/videocam-sharp.svg (100%) rename {ui => packages}/icon/svg/videocam.svg (100%) rename {ui => packages}/icon/svg/volume-high-outline.svg (100%) rename {ui => packages}/icon/svg/volume-high-sharp.svg (100%) rename {ui => packages}/icon/svg/volume-high.svg (100%) rename {ui => packages}/icon/svg/volume-low-outline.svg (100%) rename {ui => packages}/icon/svg/volume-low-sharp.svg (100%) rename {ui => packages}/icon/svg/volume-low.svg (100%) rename {ui => packages}/icon/svg/volume-medium-outline.svg (100%) rename {ui => packages}/icon/svg/volume-medium-sharp.svg (100%) rename {ui => packages}/icon/svg/volume-medium.svg (100%) rename {ui => packages}/icon/svg/volume-mute-outline.svg (100%) rename {ui => packages}/icon/svg/volume-mute-sharp.svg (100%) rename {ui => packages}/icon/svg/volume-mute.svg (100%) rename {ui => packages}/icon/svg/volume-off-outline.svg (100%) rename {ui => packages}/icon/svg/volume-off-sharp.svg (100%) rename {ui => packages}/icon/svg/volume-off.svg (100%) rename {ui => packages}/icon/svg/walk-outline.svg (100%) rename {ui => packages}/icon/svg/walk-sharp.svg (100%) rename {ui => packages}/icon/svg/walk.svg (100%) rename {ui => packages}/icon/svg/wallet-outline.svg (100%) rename {ui => packages}/icon/svg/wallet-sharp.svg (100%) rename {ui => packages}/icon/svg/wallet.svg (100%) rename {ui => packages}/icon/svg/warning-outline.svg (100%) rename {ui => packages}/icon/svg/warning-sharp.svg (100%) rename {ui => packages}/icon/svg/warning.svg (100%) rename {ui => packages}/icon/svg/watch-outline.svg (100%) rename {ui => packages}/icon/svg/watch-sharp.svg (100%) rename {ui => packages}/icon/svg/watch.svg (100%) rename {ui => packages}/icon/svg/water-outline.svg (100%) rename {ui => packages}/icon/svg/water-sharp.svg (100%) rename {ui => packages}/icon/svg/water.svg (100%) rename {ui => packages}/icon/svg/wifi-outline.svg (100%) rename {ui => packages}/icon/svg/wifi-sharp.svg (100%) rename {ui => packages}/icon/svg/wifi.svg (100%) rename {ui => packages}/icon/svg/wine-outline.svg (100%) rename {ui => packages}/icon/svg/wine-sharp.svg (100%) rename {ui => packages}/icon/svg/wine.svg (100%) rename {ui => packages}/icon/svg/woman-outline.svg (100%) rename {ui => packages}/icon/svg/woman-sharp.svg (100%) rename {ui => packages}/icon/svg/woman.svg (100%) rename {ui => packages}/icon/tsconfig.json (100%) diff --git a/ui/icon/CHANGELOG.md b/packages/icon/CHANGELOG.md similarity index 100% rename from ui/icon/CHANGELOG.md rename to packages/icon/CHANGELOG.md diff --git a/ui/icon/README.md b/packages/icon/README.md similarity index 100% rename from ui/icon/README.md rename to packages/icon/README.md diff --git a/ui/icon/package.json b/packages/icon/package.json similarity index 100% rename from ui/icon/package.json rename to packages/icon/package.json diff --git a/ui/icon/src/icon.ts b/packages/icon/src/icon.ts similarity index 100% rename from ui/icon/src/icon.ts rename to packages/icon/src/icon.ts diff --git a/ui/icon/src/preload.ts b/packages/icon/src/preload.ts similarity index 100% rename from ui/icon/src/preload.ts rename to packages/icon/src/preload.ts diff --git a/ui/icon/src/svg.ts b/packages/icon/src/svg.ts similarity index 100% rename from ui/icon/src/svg.ts rename to packages/icon/src/svg.ts diff --git a/ui/icon/svg/accessibility-outline.svg b/packages/icon/svg/accessibility-outline.svg similarity index 100% rename from ui/icon/svg/accessibility-outline.svg rename to packages/icon/svg/accessibility-outline.svg diff --git a/ui/icon/svg/accessibility-sharp.svg b/packages/icon/svg/accessibility-sharp.svg similarity index 100% rename from ui/icon/svg/accessibility-sharp.svg rename to packages/icon/svg/accessibility-sharp.svg diff --git a/ui/icon/svg/accessibility.svg b/packages/icon/svg/accessibility.svg similarity index 100% rename from ui/icon/svg/accessibility.svg rename to packages/icon/svg/accessibility.svg diff --git a/ui/icon/svg/add-circle-outline.svg b/packages/icon/svg/add-circle-outline.svg similarity index 100% rename from ui/icon/svg/add-circle-outline.svg rename to packages/icon/svg/add-circle-outline.svg diff --git a/ui/icon/svg/add-circle-sharp.svg b/packages/icon/svg/add-circle-sharp.svg similarity index 100% rename from ui/icon/svg/add-circle-sharp.svg rename to packages/icon/svg/add-circle-sharp.svg diff --git a/ui/icon/svg/add-circle.svg b/packages/icon/svg/add-circle.svg similarity index 100% rename from ui/icon/svg/add-circle.svg rename to packages/icon/svg/add-circle.svg diff --git a/ui/icon/svg/add-outline.svg b/packages/icon/svg/add-outline.svg similarity index 100% rename from ui/icon/svg/add-outline.svg rename to packages/icon/svg/add-outline.svg diff --git a/ui/icon/svg/add-sharp.svg b/packages/icon/svg/add-sharp.svg similarity index 100% rename from ui/icon/svg/add-sharp.svg rename to packages/icon/svg/add-sharp.svg diff --git a/ui/icon/svg/add.svg b/packages/icon/svg/add.svg similarity index 100% rename from ui/icon/svg/add.svg rename to packages/icon/svg/add.svg diff --git a/ui/icon/svg/airplane-outline.svg b/packages/icon/svg/airplane-outline.svg similarity index 100% rename from ui/icon/svg/airplane-outline.svg rename to packages/icon/svg/airplane-outline.svg diff --git a/ui/icon/svg/airplane-sharp.svg b/packages/icon/svg/airplane-sharp.svg similarity index 100% rename from ui/icon/svg/airplane-sharp.svg rename to packages/icon/svg/airplane-sharp.svg diff --git a/ui/icon/svg/airplane.svg b/packages/icon/svg/airplane.svg similarity index 100% rename from ui/icon/svg/airplane.svg rename to packages/icon/svg/airplane.svg diff --git a/ui/icon/svg/alarm-outline.svg b/packages/icon/svg/alarm-outline.svg similarity index 100% rename from ui/icon/svg/alarm-outline.svg rename to packages/icon/svg/alarm-outline.svg diff --git a/ui/icon/svg/alarm-sharp.svg b/packages/icon/svg/alarm-sharp.svg similarity index 100% rename from ui/icon/svg/alarm-sharp.svg rename to packages/icon/svg/alarm-sharp.svg diff --git a/ui/icon/svg/alarm.svg b/packages/icon/svg/alarm.svg similarity index 100% rename from ui/icon/svg/alarm.svg rename to packages/icon/svg/alarm.svg diff --git a/ui/icon/svg/albums-outline.svg b/packages/icon/svg/albums-outline.svg similarity index 100% rename from ui/icon/svg/albums-outline.svg rename to packages/icon/svg/albums-outline.svg diff --git a/ui/icon/svg/albums-sharp.svg b/packages/icon/svg/albums-sharp.svg similarity index 100% rename from ui/icon/svg/albums-sharp.svg rename to packages/icon/svg/albums-sharp.svg diff --git a/ui/icon/svg/albums.svg b/packages/icon/svg/albums.svg similarity index 100% rename from ui/icon/svg/albums.svg rename to packages/icon/svg/albums.svg diff --git a/ui/icon/svg/alert-circle-outline.svg b/packages/icon/svg/alert-circle-outline.svg similarity index 100% rename from ui/icon/svg/alert-circle-outline.svg rename to packages/icon/svg/alert-circle-outline.svg diff --git a/ui/icon/svg/alert-circle-sharp.svg b/packages/icon/svg/alert-circle-sharp.svg similarity index 100% rename from ui/icon/svg/alert-circle-sharp.svg rename to packages/icon/svg/alert-circle-sharp.svg diff --git a/ui/icon/svg/alert-circle.svg b/packages/icon/svg/alert-circle.svg similarity index 100% rename from ui/icon/svg/alert-circle.svg rename to packages/icon/svg/alert-circle.svg diff --git a/ui/icon/svg/alert-outline.svg b/packages/icon/svg/alert-outline.svg similarity index 100% rename from ui/icon/svg/alert-outline.svg rename to packages/icon/svg/alert-outline.svg diff --git a/ui/icon/svg/alert-sharp.svg b/packages/icon/svg/alert-sharp.svg similarity index 100% rename from ui/icon/svg/alert-sharp.svg rename to packages/icon/svg/alert-sharp.svg diff --git a/ui/icon/svg/alert.svg b/packages/icon/svg/alert.svg similarity index 100% rename from ui/icon/svg/alert.svg rename to packages/icon/svg/alert.svg diff --git a/ui/icon/svg/american-football-outline.svg b/packages/icon/svg/american-football-outline.svg similarity index 100% rename from ui/icon/svg/american-football-outline.svg rename to packages/icon/svg/american-football-outline.svg diff --git a/ui/icon/svg/american-football-sharp.svg b/packages/icon/svg/american-football-sharp.svg similarity index 100% rename from ui/icon/svg/american-football-sharp.svg rename to packages/icon/svg/american-football-sharp.svg diff --git a/ui/icon/svg/american-football.svg b/packages/icon/svg/american-football.svg similarity index 100% rename from ui/icon/svg/american-football.svg rename to packages/icon/svg/american-football.svg diff --git a/ui/icon/svg/analytics-outline.svg b/packages/icon/svg/analytics-outline.svg similarity index 100% rename from ui/icon/svg/analytics-outline.svg rename to packages/icon/svg/analytics-outline.svg diff --git a/ui/icon/svg/analytics-sharp.svg b/packages/icon/svg/analytics-sharp.svg similarity index 100% rename from ui/icon/svg/analytics-sharp.svg rename to packages/icon/svg/analytics-sharp.svg diff --git a/ui/icon/svg/analytics.svg b/packages/icon/svg/analytics.svg similarity index 100% rename from ui/icon/svg/analytics.svg rename to packages/icon/svg/analytics.svg diff --git a/ui/icon/svg/aperture-outline.svg b/packages/icon/svg/aperture-outline.svg similarity index 100% rename from ui/icon/svg/aperture-outline.svg rename to packages/icon/svg/aperture-outline.svg diff --git a/ui/icon/svg/aperture-sharp.svg b/packages/icon/svg/aperture-sharp.svg similarity index 100% rename from ui/icon/svg/aperture-sharp.svg rename to packages/icon/svg/aperture-sharp.svg diff --git a/ui/icon/svg/aperture.svg b/packages/icon/svg/aperture.svg similarity index 100% rename from ui/icon/svg/aperture.svg rename to packages/icon/svg/aperture.svg diff --git a/ui/icon/svg/apps-outline.svg b/packages/icon/svg/apps-outline.svg similarity index 100% rename from ui/icon/svg/apps-outline.svg rename to packages/icon/svg/apps-outline.svg diff --git a/ui/icon/svg/apps-sharp.svg b/packages/icon/svg/apps-sharp.svg similarity index 100% rename from ui/icon/svg/apps-sharp.svg rename to packages/icon/svg/apps-sharp.svg diff --git a/ui/icon/svg/apps.svg b/packages/icon/svg/apps.svg similarity index 100% rename from ui/icon/svg/apps.svg rename to packages/icon/svg/apps.svg diff --git a/ui/icon/svg/archive-outline.svg b/packages/icon/svg/archive-outline.svg similarity index 100% rename from ui/icon/svg/archive-outline.svg rename to packages/icon/svg/archive-outline.svg diff --git a/ui/icon/svg/archive-sharp.svg b/packages/icon/svg/archive-sharp.svg similarity index 100% rename from ui/icon/svg/archive-sharp.svg rename to packages/icon/svg/archive-sharp.svg diff --git a/ui/icon/svg/archive.svg b/packages/icon/svg/archive.svg similarity index 100% rename from ui/icon/svg/archive.svg rename to packages/icon/svg/archive.svg diff --git a/ui/icon/svg/arrow-back-circle-outline.svg b/packages/icon/svg/arrow-back-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-back-circle-outline.svg rename to packages/icon/svg/arrow-back-circle-outline.svg diff --git a/ui/icon/svg/arrow-back-circle-sharp.svg b/packages/icon/svg/arrow-back-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-back-circle-sharp.svg rename to packages/icon/svg/arrow-back-circle-sharp.svg diff --git a/ui/icon/svg/arrow-back-circle.svg b/packages/icon/svg/arrow-back-circle.svg similarity index 100% rename from ui/icon/svg/arrow-back-circle.svg rename to packages/icon/svg/arrow-back-circle.svg diff --git a/ui/icon/svg/arrow-back-outline.svg b/packages/icon/svg/arrow-back-outline.svg similarity index 100% rename from ui/icon/svg/arrow-back-outline.svg rename to packages/icon/svg/arrow-back-outline.svg diff --git a/ui/icon/svg/arrow-back-sharp.svg b/packages/icon/svg/arrow-back-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-back-sharp.svg rename to packages/icon/svg/arrow-back-sharp.svg diff --git a/ui/icon/svg/arrow-back.svg b/packages/icon/svg/arrow-back.svg similarity index 100% rename from ui/icon/svg/arrow-back.svg rename to packages/icon/svg/arrow-back.svg diff --git a/ui/icon/svg/arrow-down-circle-outline.svg b/packages/icon/svg/arrow-down-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-down-circle-outline.svg rename to packages/icon/svg/arrow-down-circle-outline.svg diff --git a/ui/icon/svg/arrow-down-circle-sharp.svg b/packages/icon/svg/arrow-down-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-down-circle-sharp.svg rename to packages/icon/svg/arrow-down-circle-sharp.svg diff --git a/ui/icon/svg/arrow-down-circle.svg b/packages/icon/svg/arrow-down-circle.svg similarity index 100% rename from ui/icon/svg/arrow-down-circle.svg rename to packages/icon/svg/arrow-down-circle.svg diff --git a/ui/icon/svg/arrow-down-outline.svg b/packages/icon/svg/arrow-down-outline.svg similarity index 100% rename from ui/icon/svg/arrow-down-outline.svg rename to packages/icon/svg/arrow-down-outline.svg diff --git a/ui/icon/svg/arrow-down-sharp.svg b/packages/icon/svg/arrow-down-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-down-sharp.svg rename to packages/icon/svg/arrow-down-sharp.svg diff --git a/ui/icon/svg/arrow-down.svg b/packages/icon/svg/arrow-down.svg similarity index 100% rename from ui/icon/svg/arrow-down.svg rename to packages/icon/svg/arrow-down.svg diff --git a/ui/icon/svg/arrow-forward-circle-outline.svg b/packages/icon/svg/arrow-forward-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-forward-circle-outline.svg rename to packages/icon/svg/arrow-forward-circle-outline.svg diff --git a/ui/icon/svg/arrow-forward-circle-sharp.svg b/packages/icon/svg/arrow-forward-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-forward-circle-sharp.svg rename to packages/icon/svg/arrow-forward-circle-sharp.svg diff --git a/ui/icon/svg/arrow-forward-circle.svg b/packages/icon/svg/arrow-forward-circle.svg similarity index 100% rename from ui/icon/svg/arrow-forward-circle.svg rename to packages/icon/svg/arrow-forward-circle.svg diff --git a/ui/icon/svg/arrow-forward-outline.svg b/packages/icon/svg/arrow-forward-outline.svg similarity index 100% rename from ui/icon/svg/arrow-forward-outline.svg rename to packages/icon/svg/arrow-forward-outline.svg diff --git a/ui/icon/svg/arrow-forward-sharp.svg b/packages/icon/svg/arrow-forward-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-forward-sharp.svg rename to packages/icon/svg/arrow-forward-sharp.svg diff --git a/ui/icon/svg/arrow-forward.svg b/packages/icon/svg/arrow-forward.svg similarity index 100% rename from ui/icon/svg/arrow-forward.svg rename to packages/icon/svg/arrow-forward.svg diff --git a/ui/icon/svg/arrow-redo-circle-outline.svg b/packages/icon/svg/arrow-redo-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-redo-circle-outline.svg rename to packages/icon/svg/arrow-redo-circle-outline.svg diff --git a/ui/icon/svg/arrow-redo-circle-sharp.svg b/packages/icon/svg/arrow-redo-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-redo-circle-sharp.svg rename to packages/icon/svg/arrow-redo-circle-sharp.svg diff --git a/ui/icon/svg/arrow-redo-circle.svg b/packages/icon/svg/arrow-redo-circle.svg similarity index 100% rename from ui/icon/svg/arrow-redo-circle.svg rename to packages/icon/svg/arrow-redo-circle.svg diff --git a/ui/icon/svg/arrow-redo-outline.svg b/packages/icon/svg/arrow-redo-outline.svg similarity index 100% rename from ui/icon/svg/arrow-redo-outline.svg rename to packages/icon/svg/arrow-redo-outline.svg diff --git a/ui/icon/svg/arrow-redo-sharp.svg b/packages/icon/svg/arrow-redo-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-redo-sharp.svg rename to packages/icon/svg/arrow-redo-sharp.svg diff --git a/ui/icon/svg/arrow-redo.svg b/packages/icon/svg/arrow-redo.svg similarity index 100% rename from ui/icon/svg/arrow-redo.svg rename to packages/icon/svg/arrow-redo.svg diff --git a/ui/icon/svg/arrow-undo-circle-outline.svg b/packages/icon/svg/arrow-undo-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-undo-circle-outline.svg rename to packages/icon/svg/arrow-undo-circle-outline.svg diff --git a/ui/icon/svg/arrow-undo-circle-sharp.svg b/packages/icon/svg/arrow-undo-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-undo-circle-sharp.svg rename to packages/icon/svg/arrow-undo-circle-sharp.svg diff --git a/ui/icon/svg/arrow-undo-circle.svg b/packages/icon/svg/arrow-undo-circle.svg similarity index 100% rename from ui/icon/svg/arrow-undo-circle.svg rename to packages/icon/svg/arrow-undo-circle.svg diff --git a/ui/icon/svg/arrow-undo-outline.svg b/packages/icon/svg/arrow-undo-outline.svg similarity index 100% rename from ui/icon/svg/arrow-undo-outline.svg rename to packages/icon/svg/arrow-undo-outline.svg diff --git a/ui/icon/svg/arrow-undo-sharp.svg b/packages/icon/svg/arrow-undo-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-undo-sharp.svg rename to packages/icon/svg/arrow-undo-sharp.svg diff --git a/ui/icon/svg/arrow-undo.svg b/packages/icon/svg/arrow-undo.svg similarity index 100% rename from ui/icon/svg/arrow-undo.svg rename to packages/icon/svg/arrow-undo.svg diff --git a/ui/icon/svg/arrow-up-circle-outline.svg b/packages/icon/svg/arrow-up-circle-outline.svg similarity index 100% rename from ui/icon/svg/arrow-up-circle-outline.svg rename to packages/icon/svg/arrow-up-circle-outline.svg diff --git a/ui/icon/svg/arrow-up-circle-sharp.svg b/packages/icon/svg/arrow-up-circle-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-up-circle-sharp.svg rename to packages/icon/svg/arrow-up-circle-sharp.svg diff --git a/ui/icon/svg/arrow-up-circle.svg b/packages/icon/svg/arrow-up-circle.svg similarity index 100% rename from ui/icon/svg/arrow-up-circle.svg rename to packages/icon/svg/arrow-up-circle.svg diff --git a/ui/icon/svg/arrow-up-outline.svg b/packages/icon/svg/arrow-up-outline.svg similarity index 100% rename from ui/icon/svg/arrow-up-outline.svg rename to packages/icon/svg/arrow-up-outline.svg diff --git a/ui/icon/svg/arrow-up-sharp.svg b/packages/icon/svg/arrow-up-sharp.svg similarity index 100% rename from ui/icon/svg/arrow-up-sharp.svg rename to packages/icon/svg/arrow-up-sharp.svg diff --git a/ui/icon/svg/arrow-up.svg b/packages/icon/svg/arrow-up.svg similarity index 100% rename from ui/icon/svg/arrow-up.svg rename to packages/icon/svg/arrow-up.svg diff --git a/ui/icon/svg/at-circle-outline.svg b/packages/icon/svg/at-circle-outline.svg similarity index 100% rename from ui/icon/svg/at-circle-outline.svg rename to packages/icon/svg/at-circle-outline.svg diff --git a/ui/icon/svg/at-circle-sharp.svg b/packages/icon/svg/at-circle-sharp.svg similarity index 100% rename from ui/icon/svg/at-circle-sharp.svg rename to packages/icon/svg/at-circle-sharp.svg diff --git a/ui/icon/svg/at-circle.svg b/packages/icon/svg/at-circle.svg similarity index 100% rename from ui/icon/svg/at-circle.svg rename to packages/icon/svg/at-circle.svg diff --git a/ui/icon/svg/at-outline.svg b/packages/icon/svg/at-outline.svg similarity index 100% rename from ui/icon/svg/at-outline.svg rename to packages/icon/svg/at-outline.svg diff --git a/ui/icon/svg/at-sharp.svg b/packages/icon/svg/at-sharp.svg similarity index 100% rename from ui/icon/svg/at-sharp.svg rename to packages/icon/svg/at-sharp.svg diff --git a/ui/icon/svg/at.svg b/packages/icon/svg/at.svg similarity index 100% rename from ui/icon/svg/at.svg rename to packages/icon/svg/at.svg diff --git a/ui/icon/svg/attach-outline.svg b/packages/icon/svg/attach-outline.svg similarity index 100% rename from ui/icon/svg/attach-outline.svg rename to packages/icon/svg/attach-outline.svg diff --git a/ui/icon/svg/attach-sharp.svg b/packages/icon/svg/attach-sharp.svg similarity index 100% rename from ui/icon/svg/attach-sharp.svg rename to packages/icon/svg/attach-sharp.svg diff --git a/ui/icon/svg/attach.svg b/packages/icon/svg/attach.svg similarity index 100% rename from ui/icon/svg/attach.svg rename to packages/icon/svg/attach.svg diff --git a/ui/icon/svg/backspace-outline.svg b/packages/icon/svg/backspace-outline.svg similarity index 100% rename from ui/icon/svg/backspace-outline.svg rename to packages/icon/svg/backspace-outline.svg diff --git a/ui/icon/svg/backspace-sharp.svg b/packages/icon/svg/backspace-sharp.svg similarity index 100% rename from ui/icon/svg/backspace-sharp.svg rename to packages/icon/svg/backspace-sharp.svg diff --git a/ui/icon/svg/backspace.svg b/packages/icon/svg/backspace.svg similarity index 100% rename from ui/icon/svg/backspace.svg rename to packages/icon/svg/backspace.svg diff --git a/ui/icon/svg/bag-add-outline.svg b/packages/icon/svg/bag-add-outline.svg similarity index 100% rename from ui/icon/svg/bag-add-outline.svg rename to packages/icon/svg/bag-add-outline.svg diff --git a/ui/icon/svg/bag-add-sharp.svg b/packages/icon/svg/bag-add-sharp.svg similarity index 100% rename from ui/icon/svg/bag-add-sharp.svg rename to packages/icon/svg/bag-add-sharp.svg diff --git a/ui/icon/svg/bag-add.svg b/packages/icon/svg/bag-add.svg similarity index 100% rename from ui/icon/svg/bag-add.svg rename to packages/icon/svg/bag-add.svg diff --git a/ui/icon/svg/bag-check-outline.svg b/packages/icon/svg/bag-check-outline.svg similarity index 100% rename from ui/icon/svg/bag-check-outline.svg rename to packages/icon/svg/bag-check-outline.svg diff --git a/ui/icon/svg/bag-check-sharp.svg b/packages/icon/svg/bag-check-sharp.svg similarity index 100% rename from ui/icon/svg/bag-check-sharp.svg rename to packages/icon/svg/bag-check-sharp.svg diff --git a/ui/icon/svg/bag-check.svg b/packages/icon/svg/bag-check.svg similarity index 100% rename from ui/icon/svg/bag-check.svg rename to packages/icon/svg/bag-check.svg diff --git a/ui/icon/svg/bag-handle-outline.svg b/packages/icon/svg/bag-handle-outline.svg similarity index 100% rename from ui/icon/svg/bag-handle-outline.svg rename to packages/icon/svg/bag-handle-outline.svg diff --git a/ui/icon/svg/bag-handle-sharp.svg b/packages/icon/svg/bag-handle-sharp.svg similarity index 100% rename from ui/icon/svg/bag-handle-sharp.svg rename to packages/icon/svg/bag-handle-sharp.svg diff --git a/ui/icon/svg/bag-handle.svg b/packages/icon/svg/bag-handle.svg similarity index 100% rename from ui/icon/svg/bag-handle.svg rename to packages/icon/svg/bag-handle.svg diff --git a/ui/icon/svg/bag-outline.svg b/packages/icon/svg/bag-outline.svg similarity index 100% rename from ui/icon/svg/bag-outline.svg rename to packages/icon/svg/bag-outline.svg diff --git a/ui/icon/svg/bag-remove-outline.svg b/packages/icon/svg/bag-remove-outline.svg similarity index 100% rename from ui/icon/svg/bag-remove-outline.svg rename to packages/icon/svg/bag-remove-outline.svg diff --git a/ui/icon/svg/bag-remove-sharp.svg b/packages/icon/svg/bag-remove-sharp.svg similarity index 100% rename from ui/icon/svg/bag-remove-sharp.svg rename to packages/icon/svg/bag-remove-sharp.svg diff --git a/ui/icon/svg/bag-remove.svg b/packages/icon/svg/bag-remove.svg similarity index 100% rename from ui/icon/svg/bag-remove.svg rename to packages/icon/svg/bag-remove.svg diff --git a/ui/icon/svg/bag-sharp.svg b/packages/icon/svg/bag-sharp.svg similarity index 100% rename from ui/icon/svg/bag-sharp.svg rename to packages/icon/svg/bag-sharp.svg diff --git a/ui/icon/svg/bag.svg b/packages/icon/svg/bag.svg similarity index 100% rename from ui/icon/svg/bag.svg rename to packages/icon/svg/bag.svg diff --git a/ui/icon/svg/balloon-outline.svg b/packages/icon/svg/balloon-outline.svg similarity index 100% rename from ui/icon/svg/balloon-outline.svg rename to packages/icon/svg/balloon-outline.svg diff --git a/ui/icon/svg/balloon-sharp.svg b/packages/icon/svg/balloon-sharp.svg similarity index 100% rename from ui/icon/svg/balloon-sharp.svg rename to packages/icon/svg/balloon-sharp.svg diff --git a/ui/icon/svg/balloon.svg b/packages/icon/svg/balloon.svg similarity index 100% rename from ui/icon/svg/balloon.svg rename to packages/icon/svg/balloon.svg diff --git a/ui/icon/svg/ban-outline.svg b/packages/icon/svg/ban-outline.svg similarity index 100% rename from ui/icon/svg/ban-outline.svg rename to packages/icon/svg/ban-outline.svg diff --git a/ui/icon/svg/ban-sharp.svg b/packages/icon/svg/ban-sharp.svg similarity index 100% rename from ui/icon/svg/ban-sharp.svg rename to packages/icon/svg/ban-sharp.svg diff --git a/ui/icon/svg/ban.svg b/packages/icon/svg/ban.svg similarity index 100% rename from ui/icon/svg/ban.svg rename to packages/icon/svg/ban.svg diff --git a/ui/icon/svg/bandage-outline.svg b/packages/icon/svg/bandage-outline.svg similarity index 100% rename from ui/icon/svg/bandage-outline.svg rename to packages/icon/svg/bandage-outline.svg diff --git a/ui/icon/svg/bandage-sharp.svg b/packages/icon/svg/bandage-sharp.svg similarity index 100% rename from ui/icon/svg/bandage-sharp.svg rename to packages/icon/svg/bandage-sharp.svg diff --git a/ui/icon/svg/bandage.svg b/packages/icon/svg/bandage.svg similarity index 100% rename from ui/icon/svg/bandage.svg rename to packages/icon/svg/bandage.svg diff --git a/ui/icon/svg/bar-chart-outline.svg b/packages/icon/svg/bar-chart-outline.svg similarity index 100% rename from ui/icon/svg/bar-chart-outline.svg rename to packages/icon/svg/bar-chart-outline.svg diff --git a/ui/icon/svg/bar-chart-sharp.svg b/packages/icon/svg/bar-chart-sharp.svg similarity index 100% rename from ui/icon/svg/bar-chart-sharp.svg rename to packages/icon/svg/bar-chart-sharp.svg diff --git a/ui/icon/svg/bar-chart.svg b/packages/icon/svg/bar-chart.svg similarity index 100% rename from ui/icon/svg/bar-chart.svg rename to packages/icon/svg/bar-chart.svg diff --git a/ui/icon/svg/barbell-outline.svg b/packages/icon/svg/barbell-outline.svg similarity index 100% rename from ui/icon/svg/barbell-outline.svg rename to packages/icon/svg/barbell-outline.svg diff --git a/ui/icon/svg/barbell-sharp.svg b/packages/icon/svg/barbell-sharp.svg similarity index 100% rename from ui/icon/svg/barbell-sharp.svg rename to packages/icon/svg/barbell-sharp.svg diff --git a/ui/icon/svg/barbell.svg b/packages/icon/svg/barbell.svg similarity index 100% rename from ui/icon/svg/barbell.svg rename to packages/icon/svg/barbell.svg diff --git a/ui/icon/svg/barcode-outline.svg b/packages/icon/svg/barcode-outline.svg similarity index 100% rename from ui/icon/svg/barcode-outline.svg rename to packages/icon/svg/barcode-outline.svg diff --git a/ui/icon/svg/barcode-sharp.svg b/packages/icon/svg/barcode-sharp.svg similarity index 100% rename from ui/icon/svg/barcode-sharp.svg rename to packages/icon/svg/barcode-sharp.svg diff --git a/ui/icon/svg/barcode.svg b/packages/icon/svg/barcode.svg similarity index 100% rename from ui/icon/svg/barcode.svg rename to packages/icon/svg/barcode.svg diff --git a/ui/icon/svg/baseball-outline.svg b/packages/icon/svg/baseball-outline.svg similarity index 100% rename from ui/icon/svg/baseball-outline.svg rename to packages/icon/svg/baseball-outline.svg diff --git a/ui/icon/svg/baseball-sharp.svg b/packages/icon/svg/baseball-sharp.svg similarity index 100% rename from ui/icon/svg/baseball-sharp.svg rename to packages/icon/svg/baseball-sharp.svg diff --git a/ui/icon/svg/baseball.svg b/packages/icon/svg/baseball.svg similarity index 100% rename from ui/icon/svg/baseball.svg rename to packages/icon/svg/baseball.svg diff --git a/ui/icon/svg/basket-outline.svg b/packages/icon/svg/basket-outline.svg similarity index 100% rename from ui/icon/svg/basket-outline.svg rename to packages/icon/svg/basket-outline.svg diff --git a/ui/icon/svg/basket-sharp.svg b/packages/icon/svg/basket-sharp.svg similarity index 100% rename from ui/icon/svg/basket-sharp.svg rename to packages/icon/svg/basket-sharp.svg diff --git a/ui/icon/svg/basket.svg b/packages/icon/svg/basket.svg similarity index 100% rename from ui/icon/svg/basket.svg rename to packages/icon/svg/basket.svg diff --git a/ui/icon/svg/basketball-outline.svg b/packages/icon/svg/basketball-outline.svg similarity index 100% rename from ui/icon/svg/basketball-outline.svg rename to packages/icon/svg/basketball-outline.svg diff --git a/ui/icon/svg/basketball-sharp.svg b/packages/icon/svg/basketball-sharp.svg similarity index 100% rename from ui/icon/svg/basketball-sharp.svg rename to packages/icon/svg/basketball-sharp.svg diff --git a/ui/icon/svg/basketball.svg b/packages/icon/svg/basketball.svg similarity index 100% rename from ui/icon/svg/basketball.svg rename to packages/icon/svg/basketball.svg diff --git a/ui/icon/svg/battery-charging-outline.svg b/packages/icon/svg/battery-charging-outline.svg similarity index 100% rename from ui/icon/svg/battery-charging-outline.svg rename to packages/icon/svg/battery-charging-outline.svg diff --git a/ui/icon/svg/battery-charging-sharp.svg b/packages/icon/svg/battery-charging-sharp.svg similarity index 100% rename from ui/icon/svg/battery-charging-sharp.svg rename to packages/icon/svg/battery-charging-sharp.svg diff --git a/ui/icon/svg/battery-charging.svg b/packages/icon/svg/battery-charging.svg similarity index 100% rename from ui/icon/svg/battery-charging.svg rename to packages/icon/svg/battery-charging.svg diff --git a/ui/icon/svg/battery-dead-outline.svg b/packages/icon/svg/battery-dead-outline.svg similarity index 100% rename from ui/icon/svg/battery-dead-outline.svg rename to packages/icon/svg/battery-dead-outline.svg diff --git a/ui/icon/svg/battery-dead-sharp.svg b/packages/icon/svg/battery-dead-sharp.svg similarity index 100% rename from ui/icon/svg/battery-dead-sharp.svg rename to packages/icon/svg/battery-dead-sharp.svg diff --git a/ui/icon/svg/battery-dead.svg b/packages/icon/svg/battery-dead.svg similarity index 100% rename from ui/icon/svg/battery-dead.svg rename to packages/icon/svg/battery-dead.svg diff --git a/ui/icon/svg/battery-full-outline.svg b/packages/icon/svg/battery-full-outline.svg similarity index 100% rename from ui/icon/svg/battery-full-outline.svg rename to packages/icon/svg/battery-full-outline.svg diff --git a/ui/icon/svg/battery-full-sharp.svg b/packages/icon/svg/battery-full-sharp.svg similarity index 100% rename from ui/icon/svg/battery-full-sharp.svg rename to packages/icon/svg/battery-full-sharp.svg diff --git a/ui/icon/svg/battery-full.svg b/packages/icon/svg/battery-full.svg similarity index 100% rename from ui/icon/svg/battery-full.svg rename to packages/icon/svg/battery-full.svg diff --git a/ui/icon/svg/battery-half-outline.svg b/packages/icon/svg/battery-half-outline.svg similarity index 100% rename from ui/icon/svg/battery-half-outline.svg rename to packages/icon/svg/battery-half-outline.svg diff --git a/ui/icon/svg/battery-half-sharp.svg b/packages/icon/svg/battery-half-sharp.svg similarity index 100% rename from ui/icon/svg/battery-half-sharp.svg rename to packages/icon/svg/battery-half-sharp.svg diff --git a/ui/icon/svg/battery-half.svg b/packages/icon/svg/battery-half.svg similarity index 100% rename from ui/icon/svg/battery-half.svg rename to packages/icon/svg/battery-half.svg diff --git a/ui/icon/svg/beaker-outline.svg b/packages/icon/svg/beaker-outline.svg similarity index 100% rename from ui/icon/svg/beaker-outline.svg rename to packages/icon/svg/beaker-outline.svg diff --git a/ui/icon/svg/beaker-sharp.svg b/packages/icon/svg/beaker-sharp.svg similarity index 100% rename from ui/icon/svg/beaker-sharp.svg rename to packages/icon/svg/beaker-sharp.svg diff --git a/ui/icon/svg/beaker.svg b/packages/icon/svg/beaker.svg similarity index 100% rename from ui/icon/svg/beaker.svg rename to packages/icon/svg/beaker.svg diff --git a/ui/icon/svg/bed-outline.svg b/packages/icon/svg/bed-outline.svg similarity index 100% rename from ui/icon/svg/bed-outline.svg rename to packages/icon/svg/bed-outline.svg diff --git a/ui/icon/svg/bed-sharp.svg b/packages/icon/svg/bed-sharp.svg similarity index 100% rename from ui/icon/svg/bed-sharp.svg rename to packages/icon/svg/bed-sharp.svg diff --git a/ui/icon/svg/bed.svg b/packages/icon/svg/bed.svg similarity index 100% rename from ui/icon/svg/bed.svg rename to packages/icon/svg/bed.svg diff --git a/ui/icon/svg/beer-outline.svg b/packages/icon/svg/beer-outline.svg similarity index 100% rename from ui/icon/svg/beer-outline.svg rename to packages/icon/svg/beer-outline.svg diff --git a/ui/icon/svg/beer-sharp.svg b/packages/icon/svg/beer-sharp.svg similarity index 100% rename from ui/icon/svg/beer-sharp.svg rename to packages/icon/svg/beer-sharp.svg diff --git a/ui/icon/svg/beer.svg b/packages/icon/svg/beer.svg similarity index 100% rename from ui/icon/svg/beer.svg rename to packages/icon/svg/beer.svg diff --git a/ui/icon/svg/bicycle-outline.svg b/packages/icon/svg/bicycle-outline.svg similarity index 100% rename from ui/icon/svg/bicycle-outline.svg rename to packages/icon/svg/bicycle-outline.svg diff --git a/ui/icon/svg/bicycle-sharp.svg b/packages/icon/svg/bicycle-sharp.svg similarity index 100% rename from ui/icon/svg/bicycle-sharp.svg rename to packages/icon/svg/bicycle-sharp.svg diff --git a/ui/icon/svg/bicycle.svg b/packages/icon/svg/bicycle.svg similarity index 100% rename from ui/icon/svg/bicycle.svg rename to packages/icon/svg/bicycle.svg diff --git a/ui/icon/svg/bluetooth-outline.svg b/packages/icon/svg/bluetooth-outline.svg similarity index 100% rename from ui/icon/svg/bluetooth-outline.svg rename to packages/icon/svg/bluetooth-outline.svg diff --git a/ui/icon/svg/bluetooth-sharp.svg b/packages/icon/svg/bluetooth-sharp.svg similarity index 100% rename from ui/icon/svg/bluetooth-sharp.svg rename to packages/icon/svg/bluetooth-sharp.svg diff --git a/ui/icon/svg/bluetooth.svg b/packages/icon/svg/bluetooth.svg similarity index 100% rename from ui/icon/svg/bluetooth.svg rename to packages/icon/svg/bluetooth.svg diff --git a/ui/icon/svg/boat-outline.svg b/packages/icon/svg/boat-outline.svg similarity index 100% rename from ui/icon/svg/boat-outline.svg rename to packages/icon/svg/boat-outline.svg diff --git a/ui/icon/svg/boat-sharp.svg b/packages/icon/svg/boat-sharp.svg similarity index 100% rename from ui/icon/svg/boat-sharp.svg rename to packages/icon/svg/boat-sharp.svg diff --git a/ui/icon/svg/boat.svg b/packages/icon/svg/boat.svg similarity index 100% rename from ui/icon/svg/boat.svg rename to packages/icon/svg/boat.svg diff --git a/ui/icon/svg/body-outline.svg b/packages/icon/svg/body-outline.svg similarity index 100% rename from ui/icon/svg/body-outline.svg rename to packages/icon/svg/body-outline.svg diff --git a/ui/icon/svg/body-sharp.svg b/packages/icon/svg/body-sharp.svg similarity index 100% rename from ui/icon/svg/body-sharp.svg rename to packages/icon/svg/body-sharp.svg diff --git a/ui/icon/svg/body.svg b/packages/icon/svg/body.svg similarity index 100% rename from ui/icon/svg/body.svg rename to packages/icon/svg/body.svg diff --git a/ui/icon/svg/bonfire-outline.svg b/packages/icon/svg/bonfire-outline.svg similarity index 100% rename from ui/icon/svg/bonfire-outline.svg rename to packages/icon/svg/bonfire-outline.svg diff --git a/ui/icon/svg/bonfire-sharp.svg b/packages/icon/svg/bonfire-sharp.svg similarity index 100% rename from ui/icon/svg/bonfire-sharp.svg rename to packages/icon/svg/bonfire-sharp.svg diff --git a/ui/icon/svg/bonfire.svg b/packages/icon/svg/bonfire.svg similarity index 100% rename from ui/icon/svg/bonfire.svg rename to packages/icon/svg/bonfire.svg diff --git a/ui/icon/svg/book-outline.svg b/packages/icon/svg/book-outline.svg similarity index 100% rename from ui/icon/svg/book-outline.svg rename to packages/icon/svg/book-outline.svg diff --git a/ui/icon/svg/book-sharp.svg b/packages/icon/svg/book-sharp.svg similarity index 100% rename from ui/icon/svg/book-sharp.svg rename to packages/icon/svg/book-sharp.svg diff --git a/ui/icon/svg/book.svg b/packages/icon/svg/book.svg similarity index 100% rename from ui/icon/svg/book.svg rename to packages/icon/svg/book.svg diff --git a/ui/icon/svg/bookmark-outline.svg b/packages/icon/svg/bookmark-outline.svg similarity index 100% rename from ui/icon/svg/bookmark-outline.svg rename to packages/icon/svg/bookmark-outline.svg diff --git a/ui/icon/svg/bookmark-sharp.svg b/packages/icon/svg/bookmark-sharp.svg similarity index 100% rename from ui/icon/svg/bookmark-sharp.svg rename to packages/icon/svg/bookmark-sharp.svg diff --git a/ui/icon/svg/bookmark.svg b/packages/icon/svg/bookmark.svg similarity index 100% rename from ui/icon/svg/bookmark.svg rename to packages/icon/svg/bookmark.svg diff --git a/ui/icon/svg/bookmarks-outline.svg b/packages/icon/svg/bookmarks-outline.svg similarity index 100% rename from ui/icon/svg/bookmarks-outline.svg rename to packages/icon/svg/bookmarks-outline.svg diff --git a/ui/icon/svg/bookmarks-sharp.svg b/packages/icon/svg/bookmarks-sharp.svg similarity index 100% rename from ui/icon/svg/bookmarks-sharp.svg rename to packages/icon/svg/bookmarks-sharp.svg diff --git a/ui/icon/svg/bookmarks.svg b/packages/icon/svg/bookmarks.svg similarity index 100% rename from ui/icon/svg/bookmarks.svg rename to packages/icon/svg/bookmarks.svg diff --git a/ui/icon/svg/bowling-ball-outline.svg b/packages/icon/svg/bowling-ball-outline.svg similarity index 100% rename from ui/icon/svg/bowling-ball-outline.svg rename to packages/icon/svg/bowling-ball-outline.svg diff --git a/ui/icon/svg/bowling-ball-sharp.svg b/packages/icon/svg/bowling-ball-sharp.svg similarity index 100% rename from ui/icon/svg/bowling-ball-sharp.svg rename to packages/icon/svg/bowling-ball-sharp.svg diff --git a/ui/icon/svg/bowling-ball.svg b/packages/icon/svg/bowling-ball.svg similarity index 100% rename from ui/icon/svg/bowling-ball.svg rename to packages/icon/svg/bowling-ball.svg diff --git a/ui/icon/svg/briefcase-outline.svg b/packages/icon/svg/briefcase-outline.svg similarity index 100% rename from ui/icon/svg/briefcase-outline.svg rename to packages/icon/svg/briefcase-outline.svg diff --git a/ui/icon/svg/briefcase-sharp.svg b/packages/icon/svg/briefcase-sharp.svg similarity index 100% rename from ui/icon/svg/briefcase-sharp.svg rename to packages/icon/svg/briefcase-sharp.svg diff --git a/ui/icon/svg/briefcase.svg b/packages/icon/svg/briefcase.svg similarity index 100% rename from ui/icon/svg/briefcase.svg rename to packages/icon/svg/briefcase.svg diff --git a/ui/icon/svg/browsers-outline.svg b/packages/icon/svg/browsers-outline.svg similarity index 100% rename from ui/icon/svg/browsers-outline.svg rename to packages/icon/svg/browsers-outline.svg diff --git a/ui/icon/svg/browsers-sharp.svg b/packages/icon/svg/browsers-sharp.svg similarity index 100% rename from ui/icon/svg/browsers-sharp.svg rename to packages/icon/svg/browsers-sharp.svg diff --git a/ui/icon/svg/browsers.svg b/packages/icon/svg/browsers.svg similarity index 100% rename from ui/icon/svg/browsers.svg rename to packages/icon/svg/browsers.svg diff --git a/ui/icon/svg/brush-outline.svg b/packages/icon/svg/brush-outline.svg similarity index 100% rename from ui/icon/svg/brush-outline.svg rename to packages/icon/svg/brush-outline.svg diff --git a/ui/icon/svg/brush-sharp.svg b/packages/icon/svg/brush-sharp.svg similarity index 100% rename from ui/icon/svg/brush-sharp.svg rename to packages/icon/svg/brush-sharp.svg diff --git a/ui/icon/svg/brush.svg b/packages/icon/svg/brush.svg similarity index 100% rename from ui/icon/svg/brush.svg rename to packages/icon/svg/brush.svg diff --git a/ui/icon/svg/bug-outline.svg b/packages/icon/svg/bug-outline.svg similarity index 100% rename from ui/icon/svg/bug-outline.svg rename to packages/icon/svg/bug-outline.svg diff --git a/ui/icon/svg/bug-sharp.svg b/packages/icon/svg/bug-sharp.svg similarity index 100% rename from ui/icon/svg/bug-sharp.svg rename to packages/icon/svg/bug-sharp.svg diff --git a/ui/icon/svg/bug.svg b/packages/icon/svg/bug.svg similarity index 100% rename from ui/icon/svg/bug.svg rename to packages/icon/svg/bug.svg diff --git a/ui/icon/svg/build-outline.svg b/packages/icon/svg/build-outline.svg similarity index 100% rename from ui/icon/svg/build-outline.svg rename to packages/icon/svg/build-outline.svg diff --git a/ui/icon/svg/build-sharp.svg b/packages/icon/svg/build-sharp.svg similarity index 100% rename from ui/icon/svg/build-sharp.svg rename to packages/icon/svg/build-sharp.svg diff --git a/ui/icon/svg/build.svg b/packages/icon/svg/build.svg similarity index 100% rename from ui/icon/svg/build.svg rename to packages/icon/svg/build.svg diff --git a/ui/icon/svg/bulb-outline.svg b/packages/icon/svg/bulb-outline.svg similarity index 100% rename from ui/icon/svg/bulb-outline.svg rename to packages/icon/svg/bulb-outline.svg diff --git a/ui/icon/svg/bulb-sharp.svg b/packages/icon/svg/bulb-sharp.svg similarity index 100% rename from ui/icon/svg/bulb-sharp.svg rename to packages/icon/svg/bulb-sharp.svg diff --git a/ui/icon/svg/bulb.svg b/packages/icon/svg/bulb.svg similarity index 100% rename from ui/icon/svg/bulb.svg rename to packages/icon/svg/bulb.svg diff --git a/ui/icon/svg/bus-outline.svg b/packages/icon/svg/bus-outline.svg similarity index 100% rename from ui/icon/svg/bus-outline.svg rename to packages/icon/svg/bus-outline.svg diff --git a/ui/icon/svg/bus-sharp.svg b/packages/icon/svg/bus-sharp.svg similarity index 100% rename from ui/icon/svg/bus-sharp.svg rename to packages/icon/svg/bus-sharp.svg diff --git a/ui/icon/svg/bus.svg b/packages/icon/svg/bus.svg similarity index 100% rename from ui/icon/svg/bus.svg rename to packages/icon/svg/bus.svg diff --git a/ui/icon/svg/business-outline.svg b/packages/icon/svg/business-outline.svg similarity index 100% rename from ui/icon/svg/business-outline.svg rename to packages/icon/svg/business-outline.svg diff --git a/ui/icon/svg/business-sharp.svg b/packages/icon/svg/business-sharp.svg similarity index 100% rename from ui/icon/svg/business-sharp.svg rename to packages/icon/svg/business-sharp.svg diff --git a/ui/icon/svg/business.svg b/packages/icon/svg/business.svg similarity index 100% rename from ui/icon/svg/business.svg rename to packages/icon/svg/business.svg diff --git a/ui/icon/svg/cafe-outline.svg b/packages/icon/svg/cafe-outline.svg similarity index 100% rename from ui/icon/svg/cafe-outline.svg rename to packages/icon/svg/cafe-outline.svg diff --git a/ui/icon/svg/cafe-sharp.svg b/packages/icon/svg/cafe-sharp.svg similarity index 100% rename from ui/icon/svg/cafe-sharp.svg rename to packages/icon/svg/cafe-sharp.svg diff --git a/ui/icon/svg/cafe.svg b/packages/icon/svg/cafe.svg similarity index 100% rename from ui/icon/svg/cafe.svg rename to packages/icon/svg/cafe.svg diff --git a/ui/icon/svg/calculator-outline.svg b/packages/icon/svg/calculator-outline.svg similarity index 100% rename from ui/icon/svg/calculator-outline.svg rename to packages/icon/svg/calculator-outline.svg diff --git a/ui/icon/svg/calculator-sharp.svg b/packages/icon/svg/calculator-sharp.svg similarity index 100% rename from ui/icon/svg/calculator-sharp.svg rename to packages/icon/svg/calculator-sharp.svg diff --git a/ui/icon/svg/calculator.svg b/packages/icon/svg/calculator.svg similarity index 100% rename from ui/icon/svg/calculator.svg rename to packages/icon/svg/calculator.svg diff --git a/ui/icon/svg/calendar-clear-outline.svg b/packages/icon/svg/calendar-clear-outline.svg similarity index 100% rename from ui/icon/svg/calendar-clear-outline.svg rename to packages/icon/svg/calendar-clear-outline.svg diff --git a/ui/icon/svg/calendar-clear-sharp.svg b/packages/icon/svg/calendar-clear-sharp.svg similarity index 100% rename from ui/icon/svg/calendar-clear-sharp.svg rename to packages/icon/svg/calendar-clear-sharp.svg diff --git a/ui/icon/svg/calendar-clear.svg b/packages/icon/svg/calendar-clear.svg similarity index 100% rename from ui/icon/svg/calendar-clear.svg rename to packages/icon/svg/calendar-clear.svg diff --git a/ui/icon/svg/calendar-number-outline.svg b/packages/icon/svg/calendar-number-outline.svg similarity index 100% rename from ui/icon/svg/calendar-number-outline.svg rename to packages/icon/svg/calendar-number-outline.svg diff --git a/ui/icon/svg/calendar-number-sharp.svg b/packages/icon/svg/calendar-number-sharp.svg similarity index 100% rename from ui/icon/svg/calendar-number-sharp.svg rename to packages/icon/svg/calendar-number-sharp.svg diff --git a/ui/icon/svg/calendar-number.svg b/packages/icon/svg/calendar-number.svg similarity index 100% rename from ui/icon/svg/calendar-number.svg rename to packages/icon/svg/calendar-number.svg diff --git a/ui/icon/svg/calendar-outline.svg b/packages/icon/svg/calendar-outline.svg similarity index 100% rename from ui/icon/svg/calendar-outline.svg rename to packages/icon/svg/calendar-outline.svg diff --git a/ui/icon/svg/calendar-sharp.svg b/packages/icon/svg/calendar-sharp.svg similarity index 100% rename from ui/icon/svg/calendar-sharp.svg rename to packages/icon/svg/calendar-sharp.svg diff --git a/ui/icon/svg/calendar.svg b/packages/icon/svg/calendar.svg similarity index 100% rename from ui/icon/svg/calendar.svg rename to packages/icon/svg/calendar.svg diff --git a/ui/icon/svg/call-outline.svg b/packages/icon/svg/call-outline.svg similarity index 100% rename from ui/icon/svg/call-outline.svg rename to packages/icon/svg/call-outline.svg diff --git a/ui/icon/svg/call-sharp.svg b/packages/icon/svg/call-sharp.svg similarity index 100% rename from ui/icon/svg/call-sharp.svg rename to packages/icon/svg/call-sharp.svg diff --git a/ui/icon/svg/call.svg b/packages/icon/svg/call.svg similarity index 100% rename from ui/icon/svg/call.svg rename to packages/icon/svg/call.svg diff --git a/ui/icon/svg/camera-outline.svg b/packages/icon/svg/camera-outline.svg similarity index 100% rename from ui/icon/svg/camera-outline.svg rename to packages/icon/svg/camera-outline.svg diff --git a/ui/icon/svg/camera-reverse-outline.svg b/packages/icon/svg/camera-reverse-outline.svg similarity index 100% rename from ui/icon/svg/camera-reverse-outline.svg rename to packages/icon/svg/camera-reverse-outline.svg diff --git a/ui/icon/svg/camera-reverse-sharp.svg b/packages/icon/svg/camera-reverse-sharp.svg similarity index 100% rename from ui/icon/svg/camera-reverse-sharp.svg rename to packages/icon/svg/camera-reverse-sharp.svg diff --git a/ui/icon/svg/camera-reverse.svg b/packages/icon/svg/camera-reverse.svg similarity index 100% rename from ui/icon/svg/camera-reverse.svg rename to packages/icon/svg/camera-reverse.svg diff --git a/ui/icon/svg/camera-sharp.svg b/packages/icon/svg/camera-sharp.svg similarity index 100% rename from ui/icon/svg/camera-sharp.svg rename to packages/icon/svg/camera-sharp.svg diff --git a/ui/icon/svg/camera.svg b/packages/icon/svg/camera.svg similarity index 100% rename from ui/icon/svg/camera.svg rename to packages/icon/svg/camera.svg diff --git a/ui/icon/svg/car-outline.svg b/packages/icon/svg/car-outline.svg similarity index 100% rename from ui/icon/svg/car-outline.svg rename to packages/icon/svg/car-outline.svg diff --git a/ui/icon/svg/car-sharp.svg b/packages/icon/svg/car-sharp.svg similarity index 100% rename from ui/icon/svg/car-sharp.svg rename to packages/icon/svg/car-sharp.svg diff --git a/ui/icon/svg/car-sport-outline.svg b/packages/icon/svg/car-sport-outline.svg similarity index 100% rename from ui/icon/svg/car-sport-outline.svg rename to packages/icon/svg/car-sport-outline.svg diff --git a/ui/icon/svg/car-sport-sharp.svg b/packages/icon/svg/car-sport-sharp.svg similarity index 100% rename from ui/icon/svg/car-sport-sharp.svg rename to packages/icon/svg/car-sport-sharp.svg diff --git a/ui/icon/svg/car-sport.svg b/packages/icon/svg/car-sport.svg similarity index 100% rename from ui/icon/svg/car-sport.svg rename to packages/icon/svg/car-sport.svg diff --git a/ui/icon/svg/car.svg b/packages/icon/svg/car.svg similarity index 100% rename from ui/icon/svg/car.svg rename to packages/icon/svg/car.svg diff --git a/ui/icon/svg/card-outline.svg b/packages/icon/svg/card-outline.svg similarity index 100% rename from ui/icon/svg/card-outline.svg rename to packages/icon/svg/card-outline.svg diff --git a/ui/icon/svg/card-sharp.svg b/packages/icon/svg/card-sharp.svg similarity index 100% rename from ui/icon/svg/card-sharp.svg rename to packages/icon/svg/card-sharp.svg diff --git a/ui/icon/svg/card.svg b/packages/icon/svg/card.svg similarity index 100% rename from ui/icon/svg/card.svg rename to packages/icon/svg/card.svg diff --git a/ui/icon/svg/caret-back-circle-outline.svg b/packages/icon/svg/caret-back-circle-outline.svg similarity index 100% rename from ui/icon/svg/caret-back-circle-outline.svg rename to packages/icon/svg/caret-back-circle-outline.svg diff --git a/ui/icon/svg/caret-back-circle-sharp.svg b/packages/icon/svg/caret-back-circle-sharp.svg similarity index 100% rename from ui/icon/svg/caret-back-circle-sharp.svg rename to packages/icon/svg/caret-back-circle-sharp.svg diff --git a/ui/icon/svg/caret-back-circle.svg b/packages/icon/svg/caret-back-circle.svg similarity index 100% rename from ui/icon/svg/caret-back-circle.svg rename to packages/icon/svg/caret-back-circle.svg diff --git a/ui/icon/svg/caret-back-outline.svg b/packages/icon/svg/caret-back-outline.svg similarity index 100% rename from ui/icon/svg/caret-back-outline.svg rename to packages/icon/svg/caret-back-outline.svg diff --git a/ui/icon/svg/caret-back-sharp.svg b/packages/icon/svg/caret-back-sharp.svg similarity index 100% rename from ui/icon/svg/caret-back-sharp.svg rename to packages/icon/svg/caret-back-sharp.svg diff --git a/ui/icon/svg/caret-back.svg b/packages/icon/svg/caret-back.svg similarity index 100% rename from ui/icon/svg/caret-back.svg rename to packages/icon/svg/caret-back.svg diff --git a/ui/icon/svg/caret-down-circle-outline.svg b/packages/icon/svg/caret-down-circle-outline.svg similarity index 100% rename from ui/icon/svg/caret-down-circle-outline.svg rename to packages/icon/svg/caret-down-circle-outline.svg diff --git a/ui/icon/svg/caret-down-circle-sharp.svg b/packages/icon/svg/caret-down-circle-sharp.svg similarity index 100% rename from ui/icon/svg/caret-down-circle-sharp.svg rename to packages/icon/svg/caret-down-circle-sharp.svg diff --git a/ui/icon/svg/caret-down-circle.svg b/packages/icon/svg/caret-down-circle.svg similarity index 100% rename from ui/icon/svg/caret-down-circle.svg rename to packages/icon/svg/caret-down-circle.svg diff --git a/ui/icon/svg/caret-down-outline.svg b/packages/icon/svg/caret-down-outline.svg similarity index 100% rename from ui/icon/svg/caret-down-outline.svg rename to packages/icon/svg/caret-down-outline.svg diff --git a/ui/icon/svg/caret-down-sharp.svg b/packages/icon/svg/caret-down-sharp.svg similarity index 100% rename from ui/icon/svg/caret-down-sharp.svg rename to packages/icon/svg/caret-down-sharp.svg diff --git a/ui/icon/svg/caret-down.svg b/packages/icon/svg/caret-down.svg similarity index 100% rename from ui/icon/svg/caret-down.svg rename to packages/icon/svg/caret-down.svg diff --git a/ui/icon/svg/caret-forward-circle-outline.svg b/packages/icon/svg/caret-forward-circle-outline.svg similarity index 100% rename from ui/icon/svg/caret-forward-circle-outline.svg rename to packages/icon/svg/caret-forward-circle-outline.svg diff --git a/ui/icon/svg/caret-forward-circle-sharp.svg b/packages/icon/svg/caret-forward-circle-sharp.svg similarity index 100% rename from ui/icon/svg/caret-forward-circle-sharp.svg rename to packages/icon/svg/caret-forward-circle-sharp.svg diff --git a/ui/icon/svg/caret-forward-circle.svg b/packages/icon/svg/caret-forward-circle.svg similarity index 100% rename from ui/icon/svg/caret-forward-circle.svg rename to packages/icon/svg/caret-forward-circle.svg diff --git a/ui/icon/svg/caret-forward-outline.svg b/packages/icon/svg/caret-forward-outline.svg similarity index 100% rename from ui/icon/svg/caret-forward-outline.svg rename to packages/icon/svg/caret-forward-outline.svg diff --git a/ui/icon/svg/caret-forward-sharp.svg b/packages/icon/svg/caret-forward-sharp.svg similarity index 100% rename from ui/icon/svg/caret-forward-sharp.svg rename to packages/icon/svg/caret-forward-sharp.svg diff --git a/ui/icon/svg/caret-forward.svg b/packages/icon/svg/caret-forward.svg similarity index 100% rename from ui/icon/svg/caret-forward.svg rename to packages/icon/svg/caret-forward.svg diff --git a/ui/icon/svg/caret-up-circle-outline.svg b/packages/icon/svg/caret-up-circle-outline.svg similarity index 100% rename from ui/icon/svg/caret-up-circle-outline.svg rename to packages/icon/svg/caret-up-circle-outline.svg diff --git a/ui/icon/svg/caret-up-circle-sharp.svg b/packages/icon/svg/caret-up-circle-sharp.svg similarity index 100% rename from ui/icon/svg/caret-up-circle-sharp.svg rename to packages/icon/svg/caret-up-circle-sharp.svg diff --git a/ui/icon/svg/caret-up-circle.svg b/packages/icon/svg/caret-up-circle.svg similarity index 100% rename from ui/icon/svg/caret-up-circle.svg rename to packages/icon/svg/caret-up-circle.svg diff --git a/ui/icon/svg/caret-up-outline.svg b/packages/icon/svg/caret-up-outline.svg similarity index 100% rename from ui/icon/svg/caret-up-outline.svg rename to packages/icon/svg/caret-up-outline.svg diff --git a/ui/icon/svg/caret-up-sharp.svg b/packages/icon/svg/caret-up-sharp.svg similarity index 100% rename from ui/icon/svg/caret-up-sharp.svg rename to packages/icon/svg/caret-up-sharp.svg diff --git a/ui/icon/svg/caret-up.svg b/packages/icon/svg/caret-up.svg similarity index 100% rename from ui/icon/svg/caret-up.svg rename to packages/icon/svg/caret-up.svg diff --git a/ui/icon/svg/cart-outline.svg b/packages/icon/svg/cart-outline.svg similarity index 100% rename from ui/icon/svg/cart-outline.svg rename to packages/icon/svg/cart-outline.svg diff --git a/ui/icon/svg/cart-sharp.svg b/packages/icon/svg/cart-sharp.svg similarity index 100% rename from ui/icon/svg/cart-sharp.svg rename to packages/icon/svg/cart-sharp.svg diff --git a/ui/icon/svg/cart.svg b/packages/icon/svg/cart.svg similarity index 100% rename from ui/icon/svg/cart.svg rename to packages/icon/svg/cart.svg diff --git a/ui/icon/svg/cash-outline.svg b/packages/icon/svg/cash-outline.svg similarity index 100% rename from ui/icon/svg/cash-outline.svg rename to packages/icon/svg/cash-outline.svg diff --git a/ui/icon/svg/cash-sharp.svg b/packages/icon/svg/cash-sharp.svg similarity index 100% rename from ui/icon/svg/cash-sharp.svg rename to packages/icon/svg/cash-sharp.svg diff --git a/ui/icon/svg/cash.svg b/packages/icon/svg/cash.svg similarity index 100% rename from ui/icon/svg/cash.svg rename to packages/icon/svg/cash.svg diff --git a/ui/icon/svg/cellular-outline.svg b/packages/icon/svg/cellular-outline.svg similarity index 100% rename from ui/icon/svg/cellular-outline.svg rename to packages/icon/svg/cellular-outline.svg diff --git a/ui/icon/svg/cellular-sharp.svg b/packages/icon/svg/cellular-sharp.svg similarity index 100% rename from ui/icon/svg/cellular-sharp.svg rename to packages/icon/svg/cellular-sharp.svg diff --git a/ui/icon/svg/cellular.svg b/packages/icon/svg/cellular.svg similarity index 100% rename from ui/icon/svg/cellular.svg rename to packages/icon/svg/cellular.svg diff --git a/ui/icon/svg/chatbox-ellipses-outline.svg b/packages/icon/svg/chatbox-ellipses-outline.svg similarity index 100% rename from ui/icon/svg/chatbox-ellipses-outline.svg rename to packages/icon/svg/chatbox-ellipses-outline.svg diff --git a/ui/icon/svg/chatbox-ellipses-sharp.svg b/packages/icon/svg/chatbox-ellipses-sharp.svg similarity index 100% rename from ui/icon/svg/chatbox-ellipses-sharp.svg rename to packages/icon/svg/chatbox-ellipses-sharp.svg diff --git a/ui/icon/svg/chatbox-ellipses.svg b/packages/icon/svg/chatbox-ellipses.svg similarity index 100% rename from ui/icon/svg/chatbox-ellipses.svg rename to packages/icon/svg/chatbox-ellipses.svg diff --git a/ui/icon/svg/chatbox-outline.svg b/packages/icon/svg/chatbox-outline.svg similarity index 100% rename from ui/icon/svg/chatbox-outline.svg rename to packages/icon/svg/chatbox-outline.svg diff --git a/ui/icon/svg/chatbox-sharp.svg b/packages/icon/svg/chatbox-sharp.svg similarity index 100% rename from ui/icon/svg/chatbox-sharp.svg rename to packages/icon/svg/chatbox-sharp.svg diff --git a/ui/icon/svg/chatbox.svg b/packages/icon/svg/chatbox.svg similarity index 100% rename from ui/icon/svg/chatbox.svg rename to packages/icon/svg/chatbox.svg diff --git a/ui/icon/svg/chatbubble-ellipses-outline.svg b/packages/icon/svg/chatbubble-ellipses-outline.svg similarity index 100% rename from ui/icon/svg/chatbubble-ellipses-outline.svg rename to packages/icon/svg/chatbubble-ellipses-outline.svg diff --git a/ui/icon/svg/chatbubble-ellipses-sharp.svg b/packages/icon/svg/chatbubble-ellipses-sharp.svg similarity index 100% rename from ui/icon/svg/chatbubble-ellipses-sharp.svg rename to packages/icon/svg/chatbubble-ellipses-sharp.svg diff --git a/ui/icon/svg/chatbubble-ellipses.svg b/packages/icon/svg/chatbubble-ellipses.svg similarity index 100% rename from ui/icon/svg/chatbubble-ellipses.svg rename to packages/icon/svg/chatbubble-ellipses.svg diff --git a/ui/icon/svg/chatbubble-outline.svg b/packages/icon/svg/chatbubble-outline.svg similarity index 100% rename from ui/icon/svg/chatbubble-outline.svg rename to packages/icon/svg/chatbubble-outline.svg diff --git a/ui/icon/svg/chatbubble-sharp.svg b/packages/icon/svg/chatbubble-sharp.svg similarity index 100% rename from ui/icon/svg/chatbubble-sharp.svg rename to packages/icon/svg/chatbubble-sharp.svg diff --git a/ui/icon/svg/chatbubble.svg b/packages/icon/svg/chatbubble.svg similarity index 100% rename from ui/icon/svg/chatbubble.svg rename to packages/icon/svg/chatbubble.svg diff --git a/ui/icon/svg/chatbubbles-outline.svg b/packages/icon/svg/chatbubbles-outline.svg similarity index 100% rename from ui/icon/svg/chatbubbles-outline.svg rename to packages/icon/svg/chatbubbles-outline.svg diff --git a/ui/icon/svg/chatbubbles-sharp.svg b/packages/icon/svg/chatbubbles-sharp.svg similarity index 100% rename from ui/icon/svg/chatbubbles-sharp.svg rename to packages/icon/svg/chatbubbles-sharp.svg diff --git a/ui/icon/svg/chatbubbles.svg b/packages/icon/svg/chatbubbles.svg similarity index 100% rename from ui/icon/svg/chatbubbles.svg rename to packages/icon/svg/chatbubbles.svg diff --git a/ui/icon/svg/checkbox-outline.svg b/packages/icon/svg/checkbox-outline.svg similarity index 100% rename from ui/icon/svg/checkbox-outline.svg rename to packages/icon/svg/checkbox-outline.svg diff --git a/ui/icon/svg/checkbox-sharp.svg b/packages/icon/svg/checkbox-sharp.svg similarity index 100% rename from ui/icon/svg/checkbox-sharp.svg rename to packages/icon/svg/checkbox-sharp.svg diff --git a/ui/icon/svg/checkbox.svg b/packages/icon/svg/checkbox.svg similarity index 100% rename from ui/icon/svg/checkbox.svg rename to packages/icon/svg/checkbox.svg diff --git a/ui/icon/svg/checkmark-circle-outline.svg b/packages/icon/svg/checkmark-circle-outline.svg similarity index 100% rename from ui/icon/svg/checkmark-circle-outline.svg rename to packages/icon/svg/checkmark-circle-outline.svg diff --git a/ui/icon/svg/checkmark-circle-sharp.svg b/packages/icon/svg/checkmark-circle-sharp.svg similarity index 100% rename from ui/icon/svg/checkmark-circle-sharp.svg rename to packages/icon/svg/checkmark-circle-sharp.svg diff --git a/ui/icon/svg/checkmark-circle.svg b/packages/icon/svg/checkmark-circle.svg similarity index 100% rename from ui/icon/svg/checkmark-circle.svg rename to packages/icon/svg/checkmark-circle.svg diff --git a/ui/icon/svg/checkmark-done-circle-outline.svg b/packages/icon/svg/checkmark-done-circle-outline.svg similarity index 100% rename from ui/icon/svg/checkmark-done-circle-outline.svg rename to packages/icon/svg/checkmark-done-circle-outline.svg diff --git a/ui/icon/svg/checkmark-done-circle-sharp.svg b/packages/icon/svg/checkmark-done-circle-sharp.svg similarity index 100% rename from ui/icon/svg/checkmark-done-circle-sharp.svg rename to packages/icon/svg/checkmark-done-circle-sharp.svg diff --git a/ui/icon/svg/checkmark-done-circle.svg b/packages/icon/svg/checkmark-done-circle.svg similarity index 100% rename from ui/icon/svg/checkmark-done-circle.svg rename to packages/icon/svg/checkmark-done-circle.svg diff --git a/ui/icon/svg/checkmark-done-outline.svg b/packages/icon/svg/checkmark-done-outline.svg similarity index 100% rename from ui/icon/svg/checkmark-done-outline.svg rename to packages/icon/svg/checkmark-done-outline.svg diff --git a/ui/icon/svg/checkmark-done-sharp.svg b/packages/icon/svg/checkmark-done-sharp.svg similarity index 100% rename from ui/icon/svg/checkmark-done-sharp.svg rename to packages/icon/svg/checkmark-done-sharp.svg diff --git a/ui/icon/svg/checkmark-done.svg b/packages/icon/svg/checkmark-done.svg similarity index 100% rename from ui/icon/svg/checkmark-done.svg rename to packages/icon/svg/checkmark-done.svg diff --git a/ui/icon/svg/checkmark-outline.svg b/packages/icon/svg/checkmark-outline.svg similarity index 100% rename from ui/icon/svg/checkmark-outline.svg rename to packages/icon/svg/checkmark-outline.svg diff --git a/ui/icon/svg/checkmark-sharp.svg b/packages/icon/svg/checkmark-sharp.svg similarity index 100% rename from ui/icon/svg/checkmark-sharp.svg rename to packages/icon/svg/checkmark-sharp.svg diff --git a/ui/icon/svg/checkmark.svg b/packages/icon/svg/checkmark.svg similarity index 100% rename from ui/icon/svg/checkmark.svg rename to packages/icon/svg/checkmark.svg diff --git a/ui/icon/svg/chevron-back-circle-outline.svg b/packages/icon/svg/chevron-back-circle-outline.svg similarity index 100% rename from ui/icon/svg/chevron-back-circle-outline.svg rename to packages/icon/svg/chevron-back-circle-outline.svg diff --git a/ui/icon/svg/chevron-back-circle-sharp.svg b/packages/icon/svg/chevron-back-circle-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-back-circle-sharp.svg rename to packages/icon/svg/chevron-back-circle-sharp.svg diff --git a/ui/icon/svg/chevron-back-circle.svg b/packages/icon/svg/chevron-back-circle.svg similarity index 100% rename from ui/icon/svg/chevron-back-circle.svg rename to packages/icon/svg/chevron-back-circle.svg diff --git a/ui/icon/svg/chevron-back-outline.svg b/packages/icon/svg/chevron-back-outline.svg similarity index 100% rename from ui/icon/svg/chevron-back-outline.svg rename to packages/icon/svg/chevron-back-outline.svg diff --git a/ui/icon/svg/chevron-back-sharp.svg b/packages/icon/svg/chevron-back-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-back-sharp.svg rename to packages/icon/svg/chevron-back-sharp.svg diff --git a/ui/icon/svg/chevron-back.svg b/packages/icon/svg/chevron-back.svg similarity index 100% rename from ui/icon/svg/chevron-back.svg rename to packages/icon/svg/chevron-back.svg diff --git a/ui/icon/svg/chevron-down-circle-outline.svg b/packages/icon/svg/chevron-down-circle-outline.svg similarity index 100% rename from ui/icon/svg/chevron-down-circle-outline.svg rename to packages/icon/svg/chevron-down-circle-outline.svg diff --git a/ui/icon/svg/chevron-down-circle-sharp.svg b/packages/icon/svg/chevron-down-circle-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-down-circle-sharp.svg rename to packages/icon/svg/chevron-down-circle-sharp.svg diff --git a/ui/icon/svg/chevron-down-circle.svg b/packages/icon/svg/chevron-down-circle.svg similarity index 100% rename from ui/icon/svg/chevron-down-circle.svg rename to packages/icon/svg/chevron-down-circle.svg diff --git a/ui/icon/svg/chevron-down-outline.svg b/packages/icon/svg/chevron-down-outline.svg similarity index 100% rename from ui/icon/svg/chevron-down-outline.svg rename to packages/icon/svg/chevron-down-outline.svg diff --git a/ui/icon/svg/chevron-down-sharp.svg b/packages/icon/svg/chevron-down-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-down-sharp.svg rename to packages/icon/svg/chevron-down-sharp.svg diff --git a/ui/icon/svg/chevron-down.svg b/packages/icon/svg/chevron-down.svg similarity index 100% rename from ui/icon/svg/chevron-down.svg rename to packages/icon/svg/chevron-down.svg diff --git a/ui/icon/svg/chevron-forward-circle-outline.svg b/packages/icon/svg/chevron-forward-circle-outline.svg similarity index 100% rename from ui/icon/svg/chevron-forward-circle-outline.svg rename to packages/icon/svg/chevron-forward-circle-outline.svg diff --git a/ui/icon/svg/chevron-forward-circle-sharp.svg b/packages/icon/svg/chevron-forward-circle-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-forward-circle-sharp.svg rename to packages/icon/svg/chevron-forward-circle-sharp.svg diff --git a/ui/icon/svg/chevron-forward-circle.svg b/packages/icon/svg/chevron-forward-circle.svg similarity index 100% rename from ui/icon/svg/chevron-forward-circle.svg rename to packages/icon/svg/chevron-forward-circle.svg diff --git a/ui/icon/svg/chevron-forward-outline.svg b/packages/icon/svg/chevron-forward-outline.svg similarity index 100% rename from ui/icon/svg/chevron-forward-outline.svg rename to packages/icon/svg/chevron-forward-outline.svg diff --git a/ui/icon/svg/chevron-forward-sharp.svg b/packages/icon/svg/chevron-forward-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-forward-sharp.svg rename to packages/icon/svg/chevron-forward-sharp.svg diff --git a/ui/icon/svg/chevron-forward.svg b/packages/icon/svg/chevron-forward.svg similarity index 100% rename from ui/icon/svg/chevron-forward.svg rename to packages/icon/svg/chevron-forward.svg diff --git a/ui/icon/svg/chevron-up-circle-outline.svg b/packages/icon/svg/chevron-up-circle-outline.svg similarity index 100% rename from ui/icon/svg/chevron-up-circle-outline.svg rename to packages/icon/svg/chevron-up-circle-outline.svg diff --git a/ui/icon/svg/chevron-up-circle-sharp.svg b/packages/icon/svg/chevron-up-circle-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-up-circle-sharp.svg rename to packages/icon/svg/chevron-up-circle-sharp.svg diff --git a/ui/icon/svg/chevron-up-circle.svg b/packages/icon/svg/chevron-up-circle.svg similarity index 100% rename from ui/icon/svg/chevron-up-circle.svg rename to packages/icon/svg/chevron-up-circle.svg diff --git a/ui/icon/svg/chevron-up-outline.svg b/packages/icon/svg/chevron-up-outline.svg similarity index 100% rename from ui/icon/svg/chevron-up-outline.svg rename to packages/icon/svg/chevron-up-outline.svg diff --git a/ui/icon/svg/chevron-up-sharp.svg b/packages/icon/svg/chevron-up-sharp.svg similarity index 100% rename from ui/icon/svg/chevron-up-sharp.svg rename to packages/icon/svg/chevron-up-sharp.svg diff --git a/ui/icon/svg/chevron-up.svg b/packages/icon/svg/chevron-up.svg similarity index 100% rename from ui/icon/svg/chevron-up.svg rename to packages/icon/svg/chevron-up.svg diff --git a/ui/icon/svg/clipboard-outline.svg b/packages/icon/svg/clipboard-outline.svg similarity index 100% rename from ui/icon/svg/clipboard-outline.svg rename to packages/icon/svg/clipboard-outline.svg diff --git a/ui/icon/svg/clipboard-sharp.svg b/packages/icon/svg/clipboard-sharp.svg similarity index 100% rename from ui/icon/svg/clipboard-sharp.svg rename to packages/icon/svg/clipboard-sharp.svg diff --git a/ui/icon/svg/clipboard.svg b/packages/icon/svg/clipboard.svg similarity index 100% rename from ui/icon/svg/clipboard.svg rename to packages/icon/svg/clipboard.svg diff --git a/ui/icon/svg/close-circle-outline.svg b/packages/icon/svg/close-circle-outline.svg similarity index 100% rename from ui/icon/svg/close-circle-outline.svg rename to packages/icon/svg/close-circle-outline.svg diff --git a/ui/icon/svg/close-circle-sharp.svg b/packages/icon/svg/close-circle-sharp.svg similarity index 100% rename from ui/icon/svg/close-circle-sharp.svg rename to packages/icon/svg/close-circle-sharp.svg diff --git a/ui/icon/svg/close-circle.svg b/packages/icon/svg/close-circle.svg similarity index 100% rename from ui/icon/svg/close-circle.svg rename to packages/icon/svg/close-circle.svg diff --git a/ui/icon/svg/close-outline.svg b/packages/icon/svg/close-outline.svg similarity index 100% rename from ui/icon/svg/close-outline.svg rename to packages/icon/svg/close-outline.svg diff --git a/ui/icon/svg/close-sharp.svg b/packages/icon/svg/close-sharp.svg similarity index 100% rename from ui/icon/svg/close-sharp.svg rename to packages/icon/svg/close-sharp.svg diff --git a/ui/icon/svg/close.svg b/packages/icon/svg/close.svg similarity index 100% rename from ui/icon/svg/close.svg rename to packages/icon/svg/close.svg diff --git a/ui/icon/svg/cloud-circle-outline.svg b/packages/icon/svg/cloud-circle-outline.svg similarity index 100% rename from ui/icon/svg/cloud-circle-outline.svg rename to packages/icon/svg/cloud-circle-outline.svg diff --git a/ui/icon/svg/cloud-circle-sharp.svg b/packages/icon/svg/cloud-circle-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-circle-sharp.svg rename to packages/icon/svg/cloud-circle-sharp.svg diff --git a/ui/icon/svg/cloud-circle.svg b/packages/icon/svg/cloud-circle.svg similarity index 100% rename from ui/icon/svg/cloud-circle.svg rename to packages/icon/svg/cloud-circle.svg diff --git a/ui/icon/svg/cloud-done-outline.svg b/packages/icon/svg/cloud-done-outline.svg similarity index 100% rename from ui/icon/svg/cloud-done-outline.svg rename to packages/icon/svg/cloud-done-outline.svg diff --git a/ui/icon/svg/cloud-done-sharp.svg b/packages/icon/svg/cloud-done-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-done-sharp.svg rename to packages/icon/svg/cloud-done-sharp.svg diff --git a/ui/icon/svg/cloud-done.svg b/packages/icon/svg/cloud-done.svg similarity index 100% rename from ui/icon/svg/cloud-done.svg rename to packages/icon/svg/cloud-done.svg diff --git a/ui/icon/svg/cloud-download-outline.svg b/packages/icon/svg/cloud-download-outline.svg similarity index 100% rename from ui/icon/svg/cloud-download-outline.svg rename to packages/icon/svg/cloud-download-outline.svg diff --git a/ui/icon/svg/cloud-download-sharp.svg b/packages/icon/svg/cloud-download-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-download-sharp.svg rename to packages/icon/svg/cloud-download-sharp.svg diff --git a/ui/icon/svg/cloud-download.svg b/packages/icon/svg/cloud-download.svg similarity index 100% rename from ui/icon/svg/cloud-download.svg rename to packages/icon/svg/cloud-download.svg diff --git a/ui/icon/svg/cloud-offline-outline.svg b/packages/icon/svg/cloud-offline-outline.svg similarity index 100% rename from ui/icon/svg/cloud-offline-outline.svg rename to packages/icon/svg/cloud-offline-outline.svg diff --git a/ui/icon/svg/cloud-offline-sharp.svg b/packages/icon/svg/cloud-offline-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-offline-sharp.svg rename to packages/icon/svg/cloud-offline-sharp.svg diff --git a/ui/icon/svg/cloud-offline.svg b/packages/icon/svg/cloud-offline.svg similarity index 100% rename from ui/icon/svg/cloud-offline.svg rename to packages/icon/svg/cloud-offline.svg diff --git a/ui/icon/svg/cloud-outline.svg b/packages/icon/svg/cloud-outline.svg similarity index 100% rename from ui/icon/svg/cloud-outline.svg rename to packages/icon/svg/cloud-outline.svg diff --git a/ui/icon/svg/cloud-sharp.svg b/packages/icon/svg/cloud-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-sharp.svg rename to packages/icon/svg/cloud-sharp.svg diff --git a/ui/icon/svg/cloud-upload-outline.svg b/packages/icon/svg/cloud-upload-outline.svg similarity index 100% rename from ui/icon/svg/cloud-upload-outline.svg rename to packages/icon/svg/cloud-upload-outline.svg diff --git a/ui/icon/svg/cloud-upload-sharp.svg b/packages/icon/svg/cloud-upload-sharp.svg similarity index 100% rename from ui/icon/svg/cloud-upload-sharp.svg rename to packages/icon/svg/cloud-upload-sharp.svg diff --git a/ui/icon/svg/cloud-upload.svg b/packages/icon/svg/cloud-upload.svg similarity index 100% rename from ui/icon/svg/cloud-upload.svg rename to packages/icon/svg/cloud-upload.svg diff --git a/ui/icon/svg/cloud.svg b/packages/icon/svg/cloud.svg similarity index 100% rename from ui/icon/svg/cloud.svg rename to packages/icon/svg/cloud.svg diff --git a/ui/icon/svg/cloudy-night-outline.svg b/packages/icon/svg/cloudy-night-outline.svg similarity index 100% rename from ui/icon/svg/cloudy-night-outline.svg rename to packages/icon/svg/cloudy-night-outline.svg diff --git a/ui/icon/svg/cloudy-night-sharp.svg b/packages/icon/svg/cloudy-night-sharp.svg similarity index 100% rename from ui/icon/svg/cloudy-night-sharp.svg rename to packages/icon/svg/cloudy-night-sharp.svg diff --git a/ui/icon/svg/cloudy-night.svg b/packages/icon/svg/cloudy-night.svg similarity index 100% rename from ui/icon/svg/cloudy-night.svg rename to packages/icon/svg/cloudy-night.svg diff --git a/ui/icon/svg/cloudy-outline.svg b/packages/icon/svg/cloudy-outline.svg similarity index 100% rename from ui/icon/svg/cloudy-outline.svg rename to packages/icon/svg/cloudy-outline.svg diff --git a/ui/icon/svg/cloudy-sharp.svg b/packages/icon/svg/cloudy-sharp.svg similarity index 100% rename from ui/icon/svg/cloudy-sharp.svg rename to packages/icon/svg/cloudy-sharp.svg diff --git a/ui/icon/svg/cloudy.svg b/packages/icon/svg/cloudy.svg similarity index 100% rename from ui/icon/svg/cloudy.svg rename to packages/icon/svg/cloudy.svg diff --git a/ui/icon/svg/code-download-outline.svg b/packages/icon/svg/code-download-outline.svg similarity index 100% rename from ui/icon/svg/code-download-outline.svg rename to packages/icon/svg/code-download-outline.svg diff --git a/ui/icon/svg/code-download-sharp.svg b/packages/icon/svg/code-download-sharp.svg similarity index 100% rename from ui/icon/svg/code-download-sharp.svg rename to packages/icon/svg/code-download-sharp.svg diff --git a/ui/icon/svg/code-download.svg b/packages/icon/svg/code-download.svg similarity index 100% rename from ui/icon/svg/code-download.svg rename to packages/icon/svg/code-download.svg diff --git a/ui/icon/svg/code-outline.svg b/packages/icon/svg/code-outline.svg similarity index 100% rename from ui/icon/svg/code-outline.svg rename to packages/icon/svg/code-outline.svg diff --git a/ui/icon/svg/code-sharp.svg b/packages/icon/svg/code-sharp.svg similarity index 100% rename from ui/icon/svg/code-sharp.svg rename to packages/icon/svg/code-sharp.svg diff --git a/ui/icon/svg/code-slash-outline.svg b/packages/icon/svg/code-slash-outline.svg similarity index 100% rename from ui/icon/svg/code-slash-outline.svg rename to packages/icon/svg/code-slash-outline.svg diff --git a/ui/icon/svg/code-slash-sharp.svg b/packages/icon/svg/code-slash-sharp.svg similarity index 100% rename from ui/icon/svg/code-slash-sharp.svg rename to packages/icon/svg/code-slash-sharp.svg diff --git a/ui/icon/svg/code-slash.svg b/packages/icon/svg/code-slash.svg similarity index 100% rename from ui/icon/svg/code-slash.svg rename to packages/icon/svg/code-slash.svg diff --git a/ui/icon/svg/code-working-outline.svg b/packages/icon/svg/code-working-outline.svg similarity index 100% rename from ui/icon/svg/code-working-outline.svg rename to packages/icon/svg/code-working-outline.svg diff --git a/ui/icon/svg/code-working-sharp.svg b/packages/icon/svg/code-working-sharp.svg similarity index 100% rename from ui/icon/svg/code-working-sharp.svg rename to packages/icon/svg/code-working-sharp.svg diff --git a/ui/icon/svg/code-working.svg b/packages/icon/svg/code-working.svg similarity index 100% rename from ui/icon/svg/code-working.svg rename to packages/icon/svg/code-working.svg diff --git a/ui/icon/svg/code.svg b/packages/icon/svg/code.svg similarity index 100% rename from ui/icon/svg/code.svg rename to packages/icon/svg/code.svg diff --git a/ui/icon/svg/cog-outline.svg b/packages/icon/svg/cog-outline.svg similarity index 100% rename from ui/icon/svg/cog-outline.svg rename to packages/icon/svg/cog-outline.svg diff --git a/ui/icon/svg/cog-sharp.svg b/packages/icon/svg/cog-sharp.svg similarity index 100% rename from ui/icon/svg/cog-sharp.svg rename to packages/icon/svg/cog-sharp.svg diff --git a/ui/icon/svg/cog.svg b/packages/icon/svg/cog.svg similarity index 100% rename from ui/icon/svg/cog.svg rename to packages/icon/svg/cog.svg diff --git a/ui/icon/svg/color-fill-outline.svg b/packages/icon/svg/color-fill-outline.svg similarity index 100% rename from ui/icon/svg/color-fill-outline.svg rename to packages/icon/svg/color-fill-outline.svg diff --git a/ui/icon/svg/color-fill-sharp.svg b/packages/icon/svg/color-fill-sharp.svg similarity index 100% rename from ui/icon/svg/color-fill-sharp.svg rename to packages/icon/svg/color-fill-sharp.svg diff --git a/ui/icon/svg/color-fill.svg b/packages/icon/svg/color-fill.svg similarity index 100% rename from ui/icon/svg/color-fill.svg rename to packages/icon/svg/color-fill.svg diff --git a/ui/icon/svg/color-filter-outline.svg b/packages/icon/svg/color-filter-outline.svg similarity index 100% rename from ui/icon/svg/color-filter-outline.svg rename to packages/icon/svg/color-filter-outline.svg diff --git a/ui/icon/svg/color-filter-sharp.svg b/packages/icon/svg/color-filter-sharp.svg similarity index 100% rename from ui/icon/svg/color-filter-sharp.svg rename to packages/icon/svg/color-filter-sharp.svg diff --git a/ui/icon/svg/color-filter.svg b/packages/icon/svg/color-filter.svg similarity index 100% rename from ui/icon/svg/color-filter.svg rename to packages/icon/svg/color-filter.svg diff --git a/ui/icon/svg/color-palette-outline.svg b/packages/icon/svg/color-palette-outline.svg similarity index 100% rename from ui/icon/svg/color-palette-outline.svg rename to packages/icon/svg/color-palette-outline.svg diff --git a/ui/icon/svg/color-palette-sharp.svg b/packages/icon/svg/color-palette-sharp.svg similarity index 100% rename from ui/icon/svg/color-palette-sharp.svg rename to packages/icon/svg/color-palette-sharp.svg diff --git a/ui/icon/svg/color-palette.svg b/packages/icon/svg/color-palette.svg similarity index 100% rename from ui/icon/svg/color-palette.svg rename to packages/icon/svg/color-palette.svg diff --git a/ui/icon/svg/color-wand-outline.svg b/packages/icon/svg/color-wand-outline.svg similarity index 100% rename from ui/icon/svg/color-wand-outline.svg rename to packages/icon/svg/color-wand-outline.svg diff --git a/ui/icon/svg/color-wand-sharp.svg b/packages/icon/svg/color-wand-sharp.svg similarity index 100% rename from ui/icon/svg/color-wand-sharp.svg rename to packages/icon/svg/color-wand-sharp.svg diff --git a/ui/icon/svg/color-wand.svg b/packages/icon/svg/color-wand.svg similarity index 100% rename from ui/icon/svg/color-wand.svg rename to packages/icon/svg/color-wand.svg diff --git a/ui/icon/svg/compass-outline.svg b/packages/icon/svg/compass-outline.svg similarity index 100% rename from ui/icon/svg/compass-outline.svg rename to packages/icon/svg/compass-outline.svg diff --git a/ui/icon/svg/compass-sharp.svg b/packages/icon/svg/compass-sharp.svg similarity index 100% rename from ui/icon/svg/compass-sharp.svg rename to packages/icon/svg/compass-sharp.svg diff --git a/ui/icon/svg/compass.svg b/packages/icon/svg/compass.svg similarity index 100% rename from ui/icon/svg/compass.svg rename to packages/icon/svg/compass.svg diff --git a/ui/icon/svg/construct-outline.svg b/packages/icon/svg/construct-outline.svg similarity index 100% rename from ui/icon/svg/construct-outline.svg rename to packages/icon/svg/construct-outline.svg diff --git a/ui/icon/svg/construct-sharp.svg b/packages/icon/svg/construct-sharp.svg similarity index 100% rename from ui/icon/svg/construct-sharp.svg rename to packages/icon/svg/construct-sharp.svg diff --git a/ui/icon/svg/construct.svg b/packages/icon/svg/construct.svg similarity index 100% rename from ui/icon/svg/construct.svg rename to packages/icon/svg/construct.svg diff --git a/ui/icon/svg/contract-outline.svg b/packages/icon/svg/contract-outline.svg similarity index 100% rename from ui/icon/svg/contract-outline.svg rename to packages/icon/svg/contract-outline.svg diff --git a/ui/icon/svg/contract-sharp.svg b/packages/icon/svg/contract-sharp.svg similarity index 100% rename from ui/icon/svg/contract-sharp.svg rename to packages/icon/svg/contract-sharp.svg diff --git a/ui/icon/svg/contract.svg b/packages/icon/svg/contract.svg similarity index 100% rename from ui/icon/svg/contract.svg rename to packages/icon/svg/contract.svg diff --git a/ui/icon/svg/contrast-outline.svg b/packages/icon/svg/contrast-outline.svg similarity index 100% rename from ui/icon/svg/contrast-outline.svg rename to packages/icon/svg/contrast-outline.svg diff --git a/ui/icon/svg/contrast-sharp.svg b/packages/icon/svg/contrast-sharp.svg similarity index 100% rename from ui/icon/svg/contrast-sharp.svg rename to packages/icon/svg/contrast-sharp.svg diff --git a/ui/icon/svg/contrast.svg b/packages/icon/svg/contrast.svg similarity index 100% rename from ui/icon/svg/contrast.svg rename to packages/icon/svg/contrast.svg diff --git a/ui/icon/svg/copy-outline.svg b/packages/icon/svg/copy-outline.svg similarity index 100% rename from ui/icon/svg/copy-outline.svg rename to packages/icon/svg/copy-outline.svg diff --git a/ui/icon/svg/copy-sharp.svg b/packages/icon/svg/copy-sharp.svg similarity index 100% rename from ui/icon/svg/copy-sharp.svg rename to packages/icon/svg/copy-sharp.svg diff --git a/ui/icon/svg/copy.svg b/packages/icon/svg/copy.svg similarity index 100% rename from ui/icon/svg/copy.svg rename to packages/icon/svg/copy.svg diff --git a/ui/icon/svg/create-outline.svg b/packages/icon/svg/create-outline.svg similarity index 100% rename from ui/icon/svg/create-outline.svg rename to packages/icon/svg/create-outline.svg diff --git a/ui/icon/svg/create-sharp.svg b/packages/icon/svg/create-sharp.svg similarity index 100% rename from ui/icon/svg/create-sharp.svg rename to packages/icon/svg/create-sharp.svg diff --git a/ui/icon/svg/create.svg b/packages/icon/svg/create.svg similarity index 100% rename from ui/icon/svg/create.svg rename to packages/icon/svg/create.svg diff --git a/ui/icon/svg/crop-outline.svg b/packages/icon/svg/crop-outline.svg similarity index 100% rename from ui/icon/svg/crop-outline.svg rename to packages/icon/svg/crop-outline.svg diff --git a/ui/icon/svg/crop-sharp.svg b/packages/icon/svg/crop-sharp.svg similarity index 100% rename from ui/icon/svg/crop-sharp.svg rename to packages/icon/svg/crop-sharp.svg diff --git a/ui/icon/svg/crop.svg b/packages/icon/svg/crop.svg similarity index 100% rename from ui/icon/svg/crop.svg rename to packages/icon/svg/crop.svg diff --git a/ui/icon/svg/cube-outline.svg b/packages/icon/svg/cube-outline.svg similarity index 100% rename from ui/icon/svg/cube-outline.svg rename to packages/icon/svg/cube-outline.svg diff --git a/ui/icon/svg/cube-sharp.svg b/packages/icon/svg/cube-sharp.svg similarity index 100% rename from ui/icon/svg/cube-sharp.svg rename to packages/icon/svg/cube-sharp.svg diff --git a/ui/icon/svg/cube.svg b/packages/icon/svg/cube.svg similarity index 100% rename from ui/icon/svg/cube.svg rename to packages/icon/svg/cube.svg diff --git a/ui/icon/svg/cut-outline.svg b/packages/icon/svg/cut-outline.svg similarity index 100% rename from ui/icon/svg/cut-outline.svg rename to packages/icon/svg/cut-outline.svg diff --git a/ui/icon/svg/cut-sharp.svg b/packages/icon/svg/cut-sharp.svg similarity index 100% rename from ui/icon/svg/cut-sharp.svg rename to packages/icon/svg/cut-sharp.svg diff --git a/ui/icon/svg/cut.svg b/packages/icon/svg/cut.svg similarity index 100% rename from ui/icon/svg/cut.svg rename to packages/icon/svg/cut.svg diff --git a/ui/icon/svg/desktop-outline.svg b/packages/icon/svg/desktop-outline.svg similarity index 100% rename from ui/icon/svg/desktop-outline.svg rename to packages/icon/svg/desktop-outline.svg diff --git a/ui/icon/svg/desktop-sharp.svg b/packages/icon/svg/desktop-sharp.svg similarity index 100% rename from ui/icon/svg/desktop-sharp.svg rename to packages/icon/svg/desktop-sharp.svg diff --git a/ui/icon/svg/desktop.svg b/packages/icon/svg/desktop.svg similarity index 100% rename from ui/icon/svg/desktop.svg rename to packages/icon/svg/desktop.svg diff --git a/ui/icon/svg/diamond-outline.svg b/packages/icon/svg/diamond-outline.svg similarity index 100% rename from ui/icon/svg/diamond-outline.svg rename to packages/icon/svg/diamond-outline.svg diff --git a/ui/icon/svg/diamond-sharp.svg b/packages/icon/svg/diamond-sharp.svg similarity index 100% rename from ui/icon/svg/diamond-sharp.svg rename to packages/icon/svg/diamond-sharp.svg diff --git a/ui/icon/svg/diamond.svg b/packages/icon/svg/diamond.svg similarity index 100% rename from ui/icon/svg/diamond.svg rename to packages/icon/svg/diamond.svg diff --git a/ui/icon/svg/dice-outline.svg b/packages/icon/svg/dice-outline.svg similarity index 100% rename from ui/icon/svg/dice-outline.svg rename to packages/icon/svg/dice-outline.svg diff --git a/ui/icon/svg/dice-sharp.svg b/packages/icon/svg/dice-sharp.svg similarity index 100% rename from ui/icon/svg/dice-sharp.svg rename to packages/icon/svg/dice-sharp.svg diff --git a/ui/icon/svg/dice.svg b/packages/icon/svg/dice.svg similarity index 100% rename from ui/icon/svg/dice.svg rename to packages/icon/svg/dice.svg diff --git a/ui/icon/svg/disc-outline.svg b/packages/icon/svg/disc-outline.svg similarity index 100% rename from ui/icon/svg/disc-outline.svg rename to packages/icon/svg/disc-outline.svg diff --git a/ui/icon/svg/disc-sharp.svg b/packages/icon/svg/disc-sharp.svg similarity index 100% rename from ui/icon/svg/disc-sharp.svg rename to packages/icon/svg/disc-sharp.svg diff --git a/ui/icon/svg/disc.svg b/packages/icon/svg/disc.svg similarity index 100% rename from ui/icon/svg/disc.svg rename to packages/icon/svg/disc.svg diff --git a/ui/icon/svg/document-attach-outline.svg b/packages/icon/svg/document-attach-outline.svg similarity index 100% rename from ui/icon/svg/document-attach-outline.svg rename to packages/icon/svg/document-attach-outline.svg diff --git a/ui/icon/svg/document-attach-sharp.svg b/packages/icon/svg/document-attach-sharp.svg similarity index 100% rename from ui/icon/svg/document-attach-sharp.svg rename to packages/icon/svg/document-attach-sharp.svg diff --git a/ui/icon/svg/document-attach.svg b/packages/icon/svg/document-attach.svg similarity index 100% rename from ui/icon/svg/document-attach.svg rename to packages/icon/svg/document-attach.svg diff --git a/ui/icon/svg/document-lock-outline.svg b/packages/icon/svg/document-lock-outline.svg similarity index 100% rename from ui/icon/svg/document-lock-outline.svg rename to packages/icon/svg/document-lock-outline.svg diff --git a/ui/icon/svg/document-lock-sharp.svg b/packages/icon/svg/document-lock-sharp.svg similarity index 100% rename from ui/icon/svg/document-lock-sharp.svg rename to packages/icon/svg/document-lock-sharp.svg diff --git a/ui/icon/svg/document-lock.svg b/packages/icon/svg/document-lock.svg similarity index 100% rename from ui/icon/svg/document-lock.svg rename to packages/icon/svg/document-lock.svg diff --git a/ui/icon/svg/document-outline.svg b/packages/icon/svg/document-outline.svg similarity index 100% rename from ui/icon/svg/document-outline.svg rename to packages/icon/svg/document-outline.svg diff --git a/ui/icon/svg/document-sharp.svg b/packages/icon/svg/document-sharp.svg similarity index 100% rename from ui/icon/svg/document-sharp.svg rename to packages/icon/svg/document-sharp.svg diff --git a/ui/icon/svg/document-text-outline.svg b/packages/icon/svg/document-text-outline.svg similarity index 100% rename from ui/icon/svg/document-text-outline.svg rename to packages/icon/svg/document-text-outline.svg diff --git a/ui/icon/svg/document-text-sharp.svg b/packages/icon/svg/document-text-sharp.svg similarity index 100% rename from ui/icon/svg/document-text-sharp.svg rename to packages/icon/svg/document-text-sharp.svg diff --git a/ui/icon/svg/document-text.svg b/packages/icon/svg/document-text.svg similarity index 100% rename from ui/icon/svg/document-text.svg rename to packages/icon/svg/document-text.svg diff --git a/ui/icon/svg/document.svg b/packages/icon/svg/document.svg similarity index 100% rename from ui/icon/svg/document.svg rename to packages/icon/svg/document.svg diff --git a/ui/icon/svg/documents-outline.svg b/packages/icon/svg/documents-outline.svg similarity index 100% rename from ui/icon/svg/documents-outline.svg rename to packages/icon/svg/documents-outline.svg diff --git a/ui/icon/svg/documents-sharp.svg b/packages/icon/svg/documents-sharp.svg similarity index 100% rename from ui/icon/svg/documents-sharp.svg rename to packages/icon/svg/documents-sharp.svg diff --git a/ui/icon/svg/documents.svg b/packages/icon/svg/documents.svg similarity index 100% rename from ui/icon/svg/documents.svg rename to packages/icon/svg/documents.svg diff --git a/ui/icon/svg/download-outline.svg b/packages/icon/svg/download-outline.svg similarity index 100% rename from ui/icon/svg/download-outline.svg rename to packages/icon/svg/download-outline.svg diff --git a/ui/icon/svg/download-sharp.svg b/packages/icon/svg/download-sharp.svg similarity index 100% rename from ui/icon/svg/download-sharp.svg rename to packages/icon/svg/download-sharp.svg diff --git a/ui/icon/svg/download.svg b/packages/icon/svg/download.svg similarity index 100% rename from ui/icon/svg/download.svg rename to packages/icon/svg/download.svg diff --git a/ui/icon/svg/duplicate-outline.svg b/packages/icon/svg/duplicate-outline.svg similarity index 100% rename from ui/icon/svg/duplicate-outline.svg rename to packages/icon/svg/duplicate-outline.svg diff --git a/ui/icon/svg/duplicate-sharp.svg b/packages/icon/svg/duplicate-sharp.svg similarity index 100% rename from ui/icon/svg/duplicate-sharp.svg rename to packages/icon/svg/duplicate-sharp.svg diff --git a/ui/icon/svg/duplicate.svg b/packages/icon/svg/duplicate.svg similarity index 100% rename from ui/icon/svg/duplicate.svg rename to packages/icon/svg/duplicate.svg diff --git a/ui/icon/svg/ear-outline.svg b/packages/icon/svg/ear-outline.svg similarity index 100% rename from ui/icon/svg/ear-outline.svg rename to packages/icon/svg/ear-outline.svg diff --git a/ui/icon/svg/ear-sharp.svg b/packages/icon/svg/ear-sharp.svg similarity index 100% rename from ui/icon/svg/ear-sharp.svg rename to packages/icon/svg/ear-sharp.svg diff --git a/ui/icon/svg/ear.svg b/packages/icon/svg/ear.svg similarity index 100% rename from ui/icon/svg/ear.svg rename to packages/icon/svg/ear.svg diff --git a/ui/icon/svg/earth-outline.svg b/packages/icon/svg/earth-outline.svg similarity index 100% rename from ui/icon/svg/earth-outline.svg rename to packages/icon/svg/earth-outline.svg diff --git a/ui/icon/svg/earth-sharp.svg b/packages/icon/svg/earth-sharp.svg similarity index 100% rename from ui/icon/svg/earth-sharp.svg rename to packages/icon/svg/earth-sharp.svg diff --git a/ui/icon/svg/earth.svg b/packages/icon/svg/earth.svg similarity index 100% rename from ui/icon/svg/earth.svg rename to packages/icon/svg/earth.svg diff --git a/ui/icon/svg/easel-outline.svg b/packages/icon/svg/easel-outline.svg similarity index 100% rename from ui/icon/svg/easel-outline.svg rename to packages/icon/svg/easel-outline.svg diff --git a/ui/icon/svg/easel-sharp.svg b/packages/icon/svg/easel-sharp.svg similarity index 100% rename from ui/icon/svg/easel-sharp.svg rename to packages/icon/svg/easel-sharp.svg diff --git a/ui/icon/svg/easel.svg b/packages/icon/svg/easel.svg similarity index 100% rename from ui/icon/svg/easel.svg rename to packages/icon/svg/easel.svg diff --git a/ui/icon/svg/egg-outline.svg b/packages/icon/svg/egg-outline.svg similarity index 100% rename from ui/icon/svg/egg-outline.svg rename to packages/icon/svg/egg-outline.svg diff --git a/ui/icon/svg/egg-sharp.svg b/packages/icon/svg/egg-sharp.svg similarity index 100% rename from ui/icon/svg/egg-sharp.svg rename to packages/icon/svg/egg-sharp.svg diff --git a/ui/icon/svg/egg.svg b/packages/icon/svg/egg.svg similarity index 100% rename from ui/icon/svg/egg.svg rename to packages/icon/svg/egg.svg diff --git a/ui/icon/svg/ellipse-outline.svg b/packages/icon/svg/ellipse-outline.svg similarity index 100% rename from ui/icon/svg/ellipse-outline.svg rename to packages/icon/svg/ellipse-outline.svg diff --git a/ui/icon/svg/ellipse-sharp.svg b/packages/icon/svg/ellipse-sharp.svg similarity index 100% rename from ui/icon/svg/ellipse-sharp.svg rename to packages/icon/svg/ellipse-sharp.svg diff --git a/ui/icon/svg/ellipse.svg b/packages/icon/svg/ellipse.svg similarity index 100% rename from ui/icon/svg/ellipse.svg rename to packages/icon/svg/ellipse.svg diff --git a/ui/icon/svg/ellipsis-horizontal-circle-outline.svg b/packages/icon/svg/ellipsis-horizontal-circle-outline.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal-circle-outline.svg rename to packages/icon/svg/ellipsis-horizontal-circle-outline.svg diff --git a/ui/icon/svg/ellipsis-horizontal-circle-sharp.svg b/packages/icon/svg/ellipsis-horizontal-circle-sharp.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal-circle-sharp.svg rename to packages/icon/svg/ellipsis-horizontal-circle-sharp.svg diff --git a/ui/icon/svg/ellipsis-horizontal-circle.svg b/packages/icon/svg/ellipsis-horizontal-circle.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal-circle.svg rename to packages/icon/svg/ellipsis-horizontal-circle.svg diff --git a/ui/icon/svg/ellipsis-horizontal-outline.svg b/packages/icon/svg/ellipsis-horizontal-outline.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal-outline.svg rename to packages/icon/svg/ellipsis-horizontal-outline.svg diff --git a/ui/icon/svg/ellipsis-horizontal-sharp.svg b/packages/icon/svg/ellipsis-horizontal-sharp.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal-sharp.svg rename to packages/icon/svg/ellipsis-horizontal-sharp.svg diff --git a/ui/icon/svg/ellipsis-horizontal.svg b/packages/icon/svg/ellipsis-horizontal.svg similarity index 100% rename from ui/icon/svg/ellipsis-horizontal.svg rename to packages/icon/svg/ellipsis-horizontal.svg diff --git a/ui/icon/svg/ellipsis-vertical-circle-outline.svg b/packages/icon/svg/ellipsis-vertical-circle-outline.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical-circle-outline.svg rename to packages/icon/svg/ellipsis-vertical-circle-outline.svg diff --git a/ui/icon/svg/ellipsis-vertical-circle-sharp.svg b/packages/icon/svg/ellipsis-vertical-circle-sharp.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical-circle-sharp.svg rename to packages/icon/svg/ellipsis-vertical-circle-sharp.svg diff --git a/ui/icon/svg/ellipsis-vertical-circle.svg b/packages/icon/svg/ellipsis-vertical-circle.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical-circle.svg rename to packages/icon/svg/ellipsis-vertical-circle.svg diff --git a/ui/icon/svg/ellipsis-vertical-outline.svg b/packages/icon/svg/ellipsis-vertical-outline.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical-outline.svg rename to packages/icon/svg/ellipsis-vertical-outline.svg diff --git a/ui/icon/svg/ellipsis-vertical-sharp.svg b/packages/icon/svg/ellipsis-vertical-sharp.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical-sharp.svg rename to packages/icon/svg/ellipsis-vertical-sharp.svg diff --git a/ui/icon/svg/ellipsis-vertical.svg b/packages/icon/svg/ellipsis-vertical.svg similarity index 100% rename from ui/icon/svg/ellipsis-vertical.svg rename to packages/icon/svg/ellipsis-vertical.svg diff --git a/ui/icon/svg/enter-outline.svg b/packages/icon/svg/enter-outline.svg similarity index 100% rename from ui/icon/svg/enter-outline.svg rename to packages/icon/svg/enter-outline.svg diff --git a/ui/icon/svg/enter-sharp.svg b/packages/icon/svg/enter-sharp.svg similarity index 100% rename from ui/icon/svg/enter-sharp.svg rename to packages/icon/svg/enter-sharp.svg diff --git a/ui/icon/svg/enter.svg b/packages/icon/svg/enter.svg similarity index 100% rename from ui/icon/svg/enter.svg rename to packages/icon/svg/enter.svg diff --git a/ui/icon/svg/exit-outline.svg b/packages/icon/svg/exit-outline.svg similarity index 100% rename from ui/icon/svg/exit-outline.svg rename to packages/icon/svg/exit-outline.svg diff --git a/ui/icon/svg/exit-sharp.svg b/packages/icon/svg/exit-sharp.svg similarity index 100% rename from ui/icon/svg/exit-sharp.svg rename to packages/icon/svg/exit-sharp.svg diff --git a/ui/icon/svg/exit.svg b/packages/icon/svg/exit.svg similarity index 100% rename from ui/icon/svg/exit.svg rename to packages/icon/svg/exit.svg diff --git a/ui/icon/svg/expand-outline.svg b/packages/icon/svg/expand-outline.svg similarity index 100% rename from ui/icon/svg/expand-outline.svg rename to packages/icon/svg/expand-outline.svg diff --git a/ui/icon/svg/expand-sharp.svg b/packages/icon/svg/expand-sharp.svg similarity index 100% rename from ui/icon/svg/expand-sharp.svg rename to packages/icon/svg/expand-sharp.svg diff --git a/ui/icon/svg/expand.svg b/packages/icon/svg/expand.svg similarity index 100% rename from ui/icon/svg/expand.svg rename to packages/icon/svg/expand.svg diff --git a/ui/icon/svg/extension-puzzle-outline.svg b/packages/icon/svg/extension-puzzle-outline.svg similarity index 100% rename from ui/icon/svg/extension-puzzle-outline.svg rename to packages/icon/svg/extension-puzzle-outline.svg diff --git a/ui/icon/svg/extension-puzzle-sharp.svg b/packages/icon/svg/extension-puzzle-sharp.svg similarity index 100% rename from ui/icon/svg/extension-puzzle-sharp.svg rename to packages/icon/svg/extension-puzzle-sharp.svg diff --git a/ui/icon/svg/extension-puzzle.svg b/packages/icon/svg/extension-puzzle.svg similarity index 100% rename from ui/icon/svg/extension-puzzle.svg rename to packages/icon/svg/extension-puzzle.svg diff --git a/ui/icon/svg/eye-off-outline.svg b/packages/icon/svg/eye-off-outline.svg similarity index 100% rename from ui/icon/svg/eye-off-outline.svg rename to packages/icon/svg/eye-off-outline.svg diff --git a/ui/icon/svg/eye-off-sharp.svg b/packages/icon/svg/eye-off-sharp.svg similarity index 100% rename from ui/icon/svg/eye-off-sharp.svg rename to packages/icon/svg/eye-off-sharp.svg diff --git a/ui/icon/svg/eye-off.svg b/packages/icon/svg/eye-off.svg similarity index 100% rename from ui/icon/svg/eye-off.svg rename to packages/icon/svg/eye-off.svg diff --git a/ui/icon/svg/eye-outline.svg b/packages/icon/svg/eye-outline.svg similarity index 100% rename from ui/icon/svg/eye-outline.svg rename to packages/icon/svg/eye-outline.svg diff --git a/ui/icon/svg/eye-sharp.svg b/packages/icon/svg/eye-sharp.svg similarity index 100% rename from ui/icon/svg/eye-sharp.svg rename to packages/icon/svg/eye-sharp.svg diff --git a/ui/icon/svg/eye.svg b/packages/icon/svg/eye.svg similarity index 100% rename from ui/icon/svg/eye.svg rename to packages/icon/svg/eye.svg diff --git a/ui/icon/svg/eyedrop-outline.svg b/packages/icon/svg/eyedrop-outline.svg similarity index 100% rename from ui/icon/svg/eyedrop-outline.svg rename to packages/icon/svg/eyedrop-outline.svg diff --git a/ui/icon/svg/eyedrop-sharp.svg b/packages/icon/svg/eyedrop-sharp.svg similarity index 100% rename from ui/icon/svg/eyedrop-sharp.svg rename to packages/icon/svg/eyedrop-sharp.svg diff --git a/ui/icon/svg/eyedrop.svg b/packages/icon/svg/eyedrop.svg similarity index 100% rename from ui/icon/svg/eyedrop.svg rename to packages/icon/svg/eyedrop.svg diff --git a/ui/icon/svg/fast-food-outline.svg b/packages/icon/svg/fast-food-outline.svg similarity index 100% rename from ui/icon/svg/fast-food-outline.svg rename to packages/icon/svg/fast-food-outline.svg diff --git a/ui/icon/svg/fast-food-sharp.svg b/packages/icon/svg/fast-food-sharp.svg similarity index 100% rename from ui/icon/svg/fast-food-sharp.svg rename to packages/icon/svg/fast-food-sharp.svg diff --git a/ui/icon/svg/fast-food.svg b/packages/icon/svg/fast-food.svg similarity index 100% rename from ui/icon/svg/fast-food.svg rename to packages/icon/svg/fast-food.svg diff --git a/ui/icon/svg/female-outline.svg b/packages/icon/svg/female-outline.svg similarity index 100% rename from ui/icon/svg/female-outline.svg rename to packages/icon/svg/female-outline.svg diff --git a/ui/icon/svg/female-sharp.svg b/packages/icon/svg/female-sharp.svg similarity index 100% rename from ui/icon/svg/female-sharp.svg rename to packages/icon/svg/female-sharp.svg diff --git a/ui/icon/svg/female.svg b/packages/icon/svg/female.svg similarity index 100% rename from ui/icon/svg/female.svg rename to packages/icon/svg/female.svg diff --git a/ui/icon/svg/file-tray-full-outline.svg b/packages/icon/svg/file-tray-full-outline.svg similarity index 100% rename from ui/icon/svg/file-tray-full-outline.svg rename to packages/icon/svg/file-tray-full-outline.svg diff --git a/ui/icon/svg/file-tray-full-sharp.svg b/packages/icon/svg/file-tray-full-sharp.svg similarity index 100% rename from ui/icon/svg/file-tray-full-sharp.svg rename to packages/icon/svg/file-tray-full-sharp.svg diff --git a/ui/icon/svg/file-tray-full.svg b/packages/icon/svg/file-tray-full.svg similarity index 100% rename from ui/icon/svg/file-tray-full.svg rename to packages/icon/svg/file-tray-full.svg diff --git a/ui/icon/svg/file-tray-outline.svg b/packages/icon/svg/file-tray-outline.svg similarity index 100% rename from ui/icon/svg/file-tray-outline.svg rename to packages/icon/svg/file-tray-outline.svg diff --git a/ui/icon/svg/file-tray-sharp.svg b/packages/icon/svg/file-tray-sharp.svg similarity index 100% rename from ui/icon/svg/file-tray-sharp.svg rename to packages/icon/svg/file-tray-sharp.svg diff --git a/ui/icon/svg/file-tray-stacked-outline.svg b/packages/icon/svg/file-tray-stacked-outline.svg similarity index 100% rename from ui/icon/svg/file-tray-stacked-outline.svg rename to packages/icon/svg/file-tray-stacked-outline.svg diff --git a/ui/icon/svg/file-tray-stacked-sharp.svg b/packages/icon/svg/file-tray-stacked-sharp.svg similarity index 100% rename from ui/icon/svg/file-tray-stacked-sharp.svg rename to packages/icon/svg/file-tray-stacked-sharp.svg diff --git a/ui/icon/svg/file-tray-stacked.svg b/packages/icon/svg/file-tray-stacked.svg similarity index 100% rename from ui/icon/svg/file-tray-stacked.svg rename to packages/icon/svg/file-tray-stacked.svg diff --git a/ui/icon/svg/file-tray.svg b/packages/icon/svg/file-tray.svg similarity index 100% rename from ui/icon/svg/file-tray.svg rename to packages/icon/svg/file-tray.svg diff --git a/ui/icon/svg/film-outline.svg b/packages/icon/svg/film-outline.svg similarity index 100% rename from ui/icon/svg/film-outline.svg rename to packages/icon/svg/film-outline.svg diff --git a/ui/icon/svg/film-sharp.svg b/packages/icon/svg/film-sharp.svg similarity index 100% rename from ui/icon/svg/film-sharp.svg rename to packages/icon/svg/film-sharp.svg diff --git a/ui/icon/svg/film.svg b/packages/icon/svg/film.svg similarity index 100% rename from ui/icon/svg/film.svg rename to packages/icon/svg/film.svg diff --git a/ui/icon/svg/filter-circle-outline.svg b/packages/icon/svg/filter-circle-outline.svg similarity index 100% rename from ui/icon/svg/filter-circle-outline.svg rename to packages/icon/svg/filter-circle-outline.svg diff --git a/ui/icon/svg/filter-circle-sharp.svg b/packages/icon/svg/filter-circle-sharp.svg similarity index 100% rename from ui/icon/svg/filter-circle-sharp.svg rename to packages/icon/svg/filter-circle-sharp.svg diff --git a/ui/icon/svg/filter-circle.svg b/packages/icon/svg/filter-circle.svg similarity index 100% rename from ui/icon/svg/filter-circle.svg rename to packages/icon/svg/filter-circle.svg diff --git a/ui/icon/svg/filter-outline.svg b/packages/icon/svg/filter-outline.svg similarity index 100% rename from ui/icon/svg/filter-outline.svg rename to packages/icon/svg/filter-outline.svg diff --git a/ui/icon/svg/filter-sharp.svg b/packages/icon/svg/filter-sharp.svg similarity index 100% rename from ui/icon/svg/filter-sharp.svg rename to packages/icon/svg/filter-sharp.svg diff --git a/ui/icon/svg/filter.svg b/packages/icon/svg/filter.svg similarity index 100% rename from ui/icon/svg/filter.svg rename to packages/icon/svg/filter.svg diff --git a/ui/icon/svg/finger-print-outline.svg b/packages/icon/svg/finger-print-outline.svg similarity index 100% rename from ui/icon/svg/finger-print-outline.svg rename to packages/icon/svg/finger-print-outline.svg diff --git a/ui/icon/svg/finger-print-sharp.svg b/packages/icon/svg/finger-print-sharp.svg similarity index 100% rename from ui/icon/svg/finger-print-sharp.svg rename to packages/icon/svg/finger-print-sharp.svg diff --git a/ui/icon/svg/finger-print.svg b/packages/icon/svg/finger-print.svg similarity index 100% rename from ui/icon/svg/finger-print.svg rename to packages/icon/svg/finger-print.svg diff --git a/ui/icon/svg/fish-outline.svg b/packages/icon/svg/fish-outline.svg similarity index 100% rename from ui/icon/svg/fish-outline.svg rename to packages/icon/svg/fish-outline.svg diff --git a/ui/icon/svg/fish-sharp.svg b/packages/icon/svg/fish-sharp.svg similarity index 100% rename from ui/icon/svg/fish-sharp.svg rename to packages/icon/svg/fish-sharp.svg diff --git a/ui/icon/svg/fish.svg b/packages/icon/svg/fish.svg similarity index 100% rename from ui/icon/svg/fish.svg rename to packages/icon/svg/fish.svg diff --git a/ui/icon/svg/fitness-outline.svg b/packages/icon/svg/fitness-outline.svg similarity index 100% rename from ui/icon/svg/fitness-outline.svg rename to packages/icon/svg/fitness-outline.svg diff --git a/ui/icon/svg/fitness-sharp.svg b/packages/icon/svg/fitness-sharp.svg similarity index 100% rename from ui/icon/svg/fitness-sharp.svg rename to packages/icon/svg/fitness-sharp.svg diff --git a/ui/icon/svg/fitness.svg b/packages/icon/svg/fitness.svg similarity index 100% rename from ui/icon/svg/fitness.svg rename to packages/icon/svg/fitness.svg diff --git a/ui/icon/svg/flag-outline.svg b/packages/icon/svg/flag-outline.svg similarity index 100% rename from ui/icon/svg/flag-outline.svg rename to packages/icon/svg/flag-outline.svg diff --git a/ui/icon/svg/flag-sharp.svg b/packages/icon/svg/flag-sharp.svg similarity index 100% rename from ui/icon/svg/flag-sharp.svg rename to packages/icon/svg/flag-sharp.svg diff --git a/ui/icon/svg/flag.svg b/packages/icon/svg/flag.svg similarity index 100% rename from ui/icon/svg/flag.svg rename to packages/icon/svg/flag.svg diff --git a/ui/icon/svg/flame-outline.svg b/packages/icon/svg/flame-outline.svg similarity index 100% rename from ui/icon/svg/flame-outline.svg rename to packages/icon/svg/flame-outline.svg diff --git a/ui/icon/svg/flame-sharp.svg b/packages/icon/svg/flame-sharp.svg similarity index 100% rename from ui/icon/svg/flame-sharp.svg rename to packages/icon/svg/flame-sharp.svg diff --git a/ui/icon/svg/flame.svg b/packages/icon/svg/flame.svg similarity index 100% rename from ui/icon/svg/flame.svg rename to packages/icon/svg/flame.svg diff --git a/ui/icon/svg/flash-off-outline.svg b/packages/icon/svg/flash-off-outline.svg similarity index 100% rename from ui/icon/svg/flash-off-outline.svg rename to packages/icon/svg/flash-off-outline.svg diff --git a/ui/icon/svg/flash-off-sharp.svg b/packages/icon/svg/flash-off-sharp.svg similarity index 100% rename from ui/icon/svg/flash-off-sharp.svg rename to packages/icon/svg/flash-off-sharp.svg diff --git a/ui/icon/svg/flash-off.svg b/packages/icon/svg/flash-off.svg similarity index 100% rename from ui/icon/svg/flash-off.svg rename to packages/icon/svg/flash-off.svg diff --git a/ui/icon/svg/flash-outline.svg b/packages/icon/svg/flash-outline.svg similarity index 100% rename from ui/icon/svg/flash-outline.svg rename to packages/icon/svg/flash-outline.svg diff --git a/ui/icon/svg/flash-sharp.svg b/packages/icon/svg/flash-sharp.svg similarity index 100% rename from ui/icon/svg/flash-sharp.svg rename to packages/icon/svg/flash-sharp.svg diff --git a/ui/icon/svg/flash.svg b/packages/icon/svg/flash.svg similarity index 100% rename from ui/icon/svg/flash.svg rename to packages/icon/svg/flash.svg diff --git a/ui/icon/svg/flashlight-outline.svg b/packages/icon/svg/flashlight-outline.svg similarity index 100% rename from ui/icon/svg/flashlight-outline.svg rename to packages/icon/svg/flashlight-outline.svg diff --git a/ui/icon/svg/flashlight-sharp.svg b/packages/icon/svg/flashlight-sharp.svg similarity index 100% rename from ui/icon/svg/flashlight-sharp.svg rename to packages/icon/svg/flashlight-sharp.svg diff --git a/ui/icon/svg/flashlight.svg b/packages/icon/svg/flashlight.svg similarity index 100% rename from ui/icon/svg/flashlight.svg rename to packages/icon/svg/flashlight.svg diff --git a/ui/icon/svg/flask-outline.svg b/packages/icon/svg/flask-outline.svg similarity index 100% rename from ui/icon/svg/flask-outline.svg rename to packages/icon/svg/flask-outline.svg diff --git a/ui/icon/svg/flask-sharp.svg b/packages/icon/svg/flask-sharp.svg similarity index 100% rename from ui/icon/svg/flask-sharp.svg rename to packages/icon/svg/flask-sharp.svg diff --git a/ui/icon/svg/flask.svg b/packages/icon/svg/flask.svg similarity index 100% rename from ui/icon/svg/flask.svg rename to packages/icon/svg/flask.svg diff --git a/ui/icon/svg/flower-outline.svg b/packages/icon/svg/flower-outline.svg similarity index 100% rename from ui/icon/svg/flower-outline.svg rename to packages/icon/svg/flower-outline.svg diff --git a/ui/icon/svg/flower-sharp.svg b/packages/icon/svg/flower-sharp.svg similarity index 100% rename from ui/icon/svg/flower-sharp.svg rename to packages/icon/svg/flower-sharp.svg diff --git a/ui/icon/svg/flower.svg b/packages/icon/svg/flower.svg similarity index 100% rename from ui/icon/svg/flower.svg rename to packages/icon/svg/flower.svg diff --git a/ui/icon/svg/folder-open-outline.svg b/packages/icon/svg/folder-open-outline.svg similarity index 100% rename from ui/icon/svg/folder-open-outline.svg rename to packages/icon/svg/folder-open-outline.svg diff --git a/ui/icon/svg/folder-open-sharp.svg b/packages/icon/svg/folder-open-sharp.svg similarity index 100% rename from ui/icon/svg/folder-open-sharp.svg rename to packages/icon/svg/folder-open-sharp.svg diff --git a/ui/icon/svg/folder-open.svg b/packages/icon/svg/folder-open.svg similarity index 100% rename from ui/icon/svg/folder-open.svg rename to packages/icon/svg/folder-open.svg diff --git a/ui/icon/svg/folder-outline.svg b/packages/icon/svg/folder-outline.svg similarity index 100% rename from ui/icon/svg/folder-outline.svg rename to packages/icon/svg/folder-outline.svg diff --git a/ui/icon/svg/folder-sharp.svg b/packages/icon/svg/folder-sharp.svg similarity index 100% rename from ui/icon/svg/folder-sharp.svg rename to packages/icon/svg/folder-sharp.svg diff --git a/ui/icon/svg/folder.svg b/packages/icon/svg/folder.svg similarity index 100% rename from ui/icon/svg/folder.svg rename to packages/icon/svg/folder.svg diff --git a/ui/icon/svg/football-outline.svg b/packages/icon/svg/football-outline.svg similarity index 100% rename from ui/icon/svg/football-outline.svg rename to packages/icon/svg/football-outline.svg diff --git a/ui/icon/svg/football-sharp.svg b/packages/icon/svg/football-sharp.svg similarity index 100% rename from ui/icon/svg/football-sharp.svg rename to packages/icon/svg/football-sharp.svg diff --git a/ui/icon/svg/football.svg b/packages/icon/svg/football.svg similarity index 100% rename from ui/icon/svg/football.svg rename to packages/icon/svg/football.svg diff --git a/ui/icon/svg/footsteps-outline.svg b/packages/icon/svg/footsteps-outline.svg similarity index 100% rename from ui/icon/svg/footsteps-outline.svg rename to packages/icon/svg/footsteps-outline.svg diff --git a/ui/icon/svg/footsteps-sharp.svg b/packages/icon/svg/footsteps-sharp.svg similarity index 100% rename from ui/icon/svg/footsteps-sharp.svg rename to packages/icon/svg/footsteps-sharp.svg diff --git a/ui/icon/svg/footsteps.svg b/packages/icon/svg/footsteps.svg similarity index 100% rename from ui/icon/svg/footsteps.svg rename to packages/icon/svg/footsteps.svg diff --git a/ui/icon/svg/funnel-outline.svg b/packages/icon/svg/funnel-outline.svg similarity index 100% rename from ui/icon/svg/funnel-outline.svg rename to packages/icon/svg/funnel-outline.svg diff --git a/ui/icon/svg/funnel-sharp.svg b/packages/icon/svg/funnel-sharp.svg similarity index 100% rename from ui/icon/svg/funnel-sharp.svg rename to packages/icon/svg/funnel-sharp.svg diff --git a/ui/icon/svg/funnel.svg b/packages/icon/svg/funnel.svg similarity index 100% rename from ui/icon/svg/funnel.svg rename to packages/icon/svg/funnel.svg diff --git a/ui/icon/svg/game-controller-outline.svg b/packages/icon/svg/game-controller-outline.svg similarity index 100% rename from ui/icon/svg/game-controller-outline.svg rename to packages/icon/svg/game-controller-outline.svg diff --git a/ui/icon/svg/game-controller-sharp.svg b/packages/icon/svg/game-controller-sharp.svg similarity index 100% rename from ui/icon/svg/game-controller-sharp.svg rename to packages/icon/svg/game-controller-sharp.svg diff --git a/ui/icon/svg/game-controller.svg b/packages/icon/svg/game-controller.svg similarity index 100% rename from ui/icon/svg/game-controller.svg rename to packages/icon/svg/game-controller.svg diff --git a/ui/icon/svg/gift-outline.svg b/packages/icon/svg/gift-outline.svg similarity index 100% rename from ui/icon/svg/gift-outline.svg rename to packages/icon/svg/gift-outline.svg diff --git a/ui/icon/svg/gift-sharp.svg b/packages/icon/svg/gift-sharp.svg similarity index 100% rename from ui/icon/svg/gift-sharp.svg rename to packages/icon/svg/gift-sharp.svg diff --git a/ui/icon/svg/gift.svg b/packages/icon/svg/gift.svg similarity index 100% rename from ui/icon/svg/gift.svg rename to packages/icon/svg/gift.svg diff --git a/ui/icon/svg/git-branch-outline.svg b/packages/icon/svg/git-branch-outline.svg similarity index 100% rename from ui/icon/svg/git-branch-outline.svg rename to packages/icon/svg/git-branch-outline.svg diff --git a/ui/icon/svg/git-branch-sharp.svg b/packages/icon/svg/git-branch-sharp.svg similarity index 100% rename from ui/icon/svg/git-branch-sharp.svg rename to packages/icon/svg/git-branch-sharp.svg diff --git a/ui/icon/svg/git-branch.svg b/packages/icon/svg/git-branch.svg similarity index 100% rename from ui/icon/svg/git-branch.svg rename to packages/icon/svg/git-branch.svg diff --git a/ui/icon/svg/git-commit-outline.svg b/packages/icon/svg/git-commit-outline.svg similarity index 100% rename from ui/icon/svg/git-commit-outline.svg rename to packages/icon/svg/git-commit-outline.svg diff --git a/ui/icon/svg/git-commit-sharp.svg b/packages/icon/svg/git-commit-sharp.svg similarity index 100% rename from ui/icon/svg/git-commit-sharp.svg rename to packages/icon/svg/git-commit-sharp.svg diff --git a/ui/icon/svg/git-commit.svg b/packages/icon/svg/git-commit.svg similarity index 100% rename from ui/icon/svg/git-commit.svg rename to packages/icon/svg/git-commit.svg diff --git a/ui/icon/svg/git-compare-outline.svg b/packages/icon/svg/git-compare-outline.svg similarity index 100% rename from ui/icon/svg/git-compare-outline.svg rename to packages/icon/svg/git-compare-outline.svg diff --git a/ui/icon/svg/git-compare-sharp.svg b/packages/icon/svg/git-compare-sharp.svg similarity index 100% rename from ui/icon/svg/git-compare-sharp.svg rename to packages/icon/svg/git-compare-sharp.svg diff --git a/ui/icon/svg/git-compare.svg b/packages/icon/svg/git-compare.svg similarity index 100% rename from ui/icon/svg/git-compare.svg rename to packages/icon/svg/git-compare.svg diff --git a/ui/icon/svg/git-merge-outline.svg b/packages/icon/svg/git-merge-outline.svg similarity index 100% rename from ui/icon/svg/git-merge-outline.svg rename to packages/icon/svg/git-merge-outline.svg diff --git a/ui/icon/svg/git-merge-sharp.svg b/packages/icon/svg/git-merge-sharp.svg similarity index 100% rename from ui/icon/svg/git-merge-sharp.svg rename to packages/icon/svg/git-merge-sharp.svg diff --git a/ui/icon/svg/git-merge.svg b/packages/icon/svg/git-merge.svg similarity index 100% rename from ui/icon/svg/git-merge.svg rename to packages/icon/svg/git-merge.svg diff --git a/ui/icon/svg/git-network-outline.svg b/packages/icon/svg/git-network-outline.svg similarity index 100% rename from ui/icon/svg/git-network-outline.svg rename to packages/icon/svg/git-network-outline.svg diff --git a/ui/icon/svg/git-network-sharp.svg b/packages/icon/svg/git-network-sharp.svg similarity index 100% rename from ui/icon/svg/git-network-sharp.svg rename to packages/icon/svg/git-network-sharp.svg diff --git a/ui/icon/svg/git-network.svg b/packages/icon/svg/git-network.svg similarity index 100% rename from ui/icon/svg/git-network.svg rename to packages/icon/svg/git-network.svg diff --git a/ui/icon/svg/git-pull-request-outline.svg b/packages/icon/svg/git-pull-request-outline.svg similarity index 100% rename from ui/icon/svg/git-pull-request-outline.svg rename to packages/icon/svg/git-pull-request-outline.svg diff --git a/ui/icon/svg/git-pull-request-sharp.svg b/packages/icon/svg/git-pull-request-sharp.svg similarity index 100% rename from ui/icon/svg/git-pull-request-sharp.svg rename to packages/icon/svg/git-pull-request-sharp.svg diff --git a/ui/icon/svg/git-pull-request.svg b/packages/icon/svg/git-pull-request.svg similarity index 100% rename from ui/icon/svg/git-pull-request.svg rename to packages/icon/svg/git-pull-request.svg diff --git a/ui/icon/svg/glasses-outline.svg b/packages/icon/svg/glasses-outline.svg similarity index 100% rename from ui/icon/svg/glasses-outline.svg rename to packages/icon/svg/glasses-outline.svg diff --git a/ui/icon/svg/glasses-sharp.svg b/packages/icon/svg/glasses-sharp.svg similarity index 100% rename from ui/icon/svg/glasses-sharp.svg rename to packages/icon/svg/glasses-sharp.svg diff --git a/ui/icon/svg/glasses.svg b/packages/icon/svg/glasses.svg similarity index 100% rename from ui/icon/svg/glasses.svg rename to packages/icon/svg/glasses.svg diff --git a/ui/icon/svg/globe-outline.svg b/packages/icon/svg/globe-outline.svg similarity index 100% rename from ui/icon/svg/globe-outline.svg rename to packages/icon/svg/globe-outline.svg diff --git a/ui/icon/svg/globe-sharp.svg b/packages/icon/svg/globe-sharp.svg similarity index 100% rename from ui/icon/svg/globe-sharp.svg rename to packages/icon/svg/globe-sharp.svg diff --git a/ui/icon/svg/globe.svg b/packages/icon/svg/globe.svg similarity index 100% rename from ui/icon/svg/globe.svg rename to packages/icon/svg/globe.svg diff --git a/ui/icon/svg/golf-outline.svg b/packages/icon/svg/golf-outline.svg similarity index 100% rename from ui/icon/svg/golf-outline.svg rename to packages/icon/svg/golf-outline.svg diff --git a/ui/icon/svg/golf-sharp.svg b/packages/icon/svg/golf-sharp.svg similarity index 100% rename from ui/icon/svg/golf-sharp.svg rename to packages/icon/svg/golf-sharp.svg diff --git a/ui/icon/svg/golf.svg b/packages/icon/svg/golf.svg similarity index 100% rename from ui/icon/svg/golf.svg rename to packages/icon/svg/golf.svg diff --git a/ui/icon/svg/grid-outline.svg b/packages/icon/svg/grid-outline.svg similarity index 100% rename from ui/icon/svg/grid-outline.svg rename to packages/icon/svg/grid-outline.svg diff --git a/ui/icon/svg/grid-sharp.svg b/packages/icon/svg/grid-sharp.svg similarity index 100% rename from ui/icon/svg/grid-sharp.svg rename to packages/icon/svg/grid-sharp.svg diff --git a/ui/icon/svg/grid.svg b/packages/icon/svg/grid.svg similarity index 100% rename from ui/icon/svg/grid.svg rename to packages/icon/svg/grid.svg diff --git a/ui/icon/svg/hammer-outline.svg b/packages/icon/svg/hammer-outline.svg similarity index 100% rename from ui/icon/svg/hammer-outline.svg rename to packages/icon/svg/hammer-outline.svg diff --git a/ui/icon/svg/hammer-sharp.svg b/packages/icon/svg/hammer-sharp.svg similarity index 100% rename from ui/icon/svg/hammer-sharp.svg rename to packages/icon/svg/hammer-sharp.svg diff --git a/ui/icon/svg/hammer.svg b/packages/icon/svg/hammer.svg similarity index 100% rename from ui/icon/svg/hammer.svg rename to packages/icon/svg/hammer.svg diff --git a/ui/icon/svg/hand-left-outline.svg b/packages/icon/svg/hand-left-outline.svg similarity index 100% rename from ui/icon/svg/hand-left-outline.svg rename to packages/icon/svg/hand-left-outline.svg diff --git a/ui/icon/svg/hand-left-sharp.svg b/packages/icon/svg/hand-left-sharp.svg similarity index 100% rename from ui/icon/svg/hand-left-sharp.svg rename to packages/icon/svg/hand-left-sharp.svg diff --git a/ui/icon/svg/hand-left.svg b/packages/icon/svg/hand-left.svg similarity index 100% rename from ui/icon/svg/hand-left.svg rename to packages/icon/svg/hand-left.svg diff --git a/ui/icon/svg/hand-right-outline.svg b/packages/icon/svg/hand-right-outline.svg similarity index 100% rename from ui/icon/svg/hand-right-outline.svg rename to packages/icon/svg/hand-right-outline.svg diff --git a/ui/icon/svg/hand-right-sharp.svg b/packages/icon/svg/hand-right-sharp.svg similarity index 100% rename from ui/icon/svg/hand-right-sharp.svg rename to packages/icon/svg/hand-right-sharp.svg diff --git a/ui/icon/svg/hand-right.svg b/packages/icon/svg/hand-right.svg similarity index 100% rename from ui/icon/svg/hand-right.svg rename to packages/icon/svg/hand-right.svg diff --git a/ui/icon/svg/happy-outline.svg b/packages/icon/svg/happy-outline.svg similarity index 100% rename from ui/icon/svg/happy-outline.svg rename to packages/icon/svg/happy-outline.svg diff --git a/ui/icon/svg/happy-sharp.svg b/packages/icon/svg/happy-sharp.svg similarity index 100% rename from ui/icon/svg/happy-sharp.svg rename to packages/icon/svg/happy-sharp.svg diff --git a/ui/icon/svg/happy.svg b/packages/icon/svg/happy.svg similarity index 100% rename from ui/icon/svg/happy.svg rename to packages/icon/svg/happy.svg diff --git a/ui/icon/svg/hardware-chip-outline.svg b/packages/icon/svg/hardware-chip-outline.svg similarity index 100% rename from ui/icon/svg/hardware-chip-outline.svg rename to packages/icon/svg/hardware-chip-outline.svg diff --git a/ui/icon/svg/hardware-chip-sharp.svg b/packages/icon/svg/hardware-chip-sharp.svg similarity index 100% rename from ui/icon/svg/hardware-chip-sharp.svg rename to packages/icon/svg/hardware-chip-sharp.svg diff --git a/ui/icon/svg/hardware-chip.svg b/packages/icon/svg/hardware-chip.svg similarity index 100% rename from ui/icon/svg/hardware-chip.svg rename to packages/icon/svg/hardware-chip.svg diff --git a/ui/icon/svg/headset-outline.svg b/packages/icon/svg/headset-outline.svg similarity index 100% rename from ui/icon/svg/headset-outline.svg rename to packages/icon/svg/headset-outline.svg diff --git a/ui/icon/svg/headset-sharp.svg b/packages/icon/svg/headset-sharp.svg similarity index 100% rename from ui/icon/svg/headset-sharp.svg rename to packages/icon/svg/headset-sharp.svg diff --git a/ui/icon/svg/headset.svg b/packages/icon/svg/headset.svg similarity index 100% rename from ui/icon/svg/headset.svg rename to packages/icon/svg/headset.svg diff --git a/ui/icon/svg/heart-circle-outline.svg b/packages/icon/svg/heart-circle-outline.svg similarity index 100% rename from ui/icon/svg/heart-circle-outline.svg rename to packages/icon/svg/heart-circle-outline.svg diff --git a/ui/icon/svg/heart-circle-sharp.svg b/packages/icon/svg/heart-circle-sharp.svg similarity index 100% rename from ui/icon/svg/heart-circle-sharp.svg rename to packages/icon/svg/heart-circle-sharp.svg diff --git a/ui/icon/svg/heart-circle.svg b/packages/icon/svg/heart-circle.svg similarity index 100% rename from ui/icon/svg/heart-circle.svg rename to packages/icon/svg/heart-circle.svg diff --git a/ui/icon/svg/heart-dislike-circle-outline.svg b/packages/icon/svg/heart-dislike-circle-outline.svg similarity index 100% rename from ui/icon/svg/heart-dislike-circle-outline.svg rename to packages/icon/svg/heart-dislike-circle-outline.svg diff --git a/ui/icon/svg/heart-dislike-circle-sharp.svg b/packages/icon/svg/heart-dislike-circle-sharp.svg similarity index 100% rename from ui/icon/svg/heart-dislike-circle-sharp.svg rename to packages/icon/svg/heart-dislike-circle-sharp.svg diff --git a/ui/icon/svg/heart-dislike-circle.svg b/packages/icon/svg/heart-dislike-circle.svg similarity index 100% rename from ui/icon/svg/heart-dislike-circle.svg rename to packages/icon/svg/heart-dislike-circle.svg diff --git a/ui/icon/svg/heart-dislike-outline.svg b/packages/icon/svg/heart-dislike-outline.svg similarity index 100% rename from ui/icon/svg/heart-dislike-outline.svg rename to packages/icon/svg/heart-dislike-outline.svg diff --git a/ui/icon/svg/heart-dislike-sharp.svg b/packages/icon/svg/heart-dislike-sharp.svg similarity index 100% rename from ui/icon/svg/heart-dislike-sharp.svg rename to packages/icon/svg/heart-dislike-sharp.svg diff --git a/ui/icon/svg/heart-dislike.svg b/packages/icon/svg/heart-dislike.svg similarity index 100% rename from ui/icon/svg/heart-dislike.svg rename to packages/icon/svg/heart-dislike.svg diff --git a/ui/icon/svg/heart-half-outline.svg b/packages/icon/svg/heart-half-outline.svg similarity index 100% rename from ui/icon/svg/heart-half-outline.svg rename to packages/icon/svg/heart-half-outline.svg diff --git a/ui/icon/svg/heart-half-sharp.svg b/packages/icon/svg/heart-half-sharp.svg similarity index 100% rename from ui/icon/svg/heart-half-sharp.svg rename to packages/icon/svg/heart-half-sharp.svg diff --git a/ui/icon/svg/heart-half.svg b/packages/icon/svg/heart-half.svg similarity index 100% rename from ui/icon/svg/heart-half.svg rename to packages/icon/svg/heart-half.svg diff --git a/ui/icon/svg/heart-outline.svg b/packages/icon/svg/heart-outline.svg similarity index 100% rename from ui/icon/svg/heart-outline.svg rename to packages/icon/svg/heart-outline.svg diff --git a/ui/icon/svg/heart-sharp.svg b/packages/icon/svg/heart-sharp.svg similarity index 100% rename from ui/icon/svg/heart-sharp.svg rename to packages/icon/svg/heart-sharp.svg diff --git a/ui/icon/svg/heart.svg b/packages/icon/svg/heart.svg similarity index 100% rename from ui/icon/svg/heart.svg rename to packages/icon/svg/heart.svg diff --git a/ui/icon/svg/help-buoy-outline.svg b/packages/icon/svg/help-buoy-outline.svg similarity index 100% rename from ui/icon/svg/help-buoy-outline.svg rename to packages/icon/svg/help-buoy-outline.svg diff --git a/ui/icon/svg/help-buoy-sharp.svg b/packages/icon/svg/help-buoy-sharp.svg similarity index 100% rename from ui/icon/svg/help-buoy-sharp.svg rename to packages/icon/svg/help-buoy-sharp.svg diff --git a/ui/icon/svg/help-buoy.svg b/packages/icon/svg/help-buoy.svg similarity index 100% rename from ui/icon/svg/help-buoy.svg rename to packages/icon/svg/help-buoy.svg diff --git a/ui/icon/svg/help-circle-outline.svg b/packages/icon/svg/help-circle-outline.svg similarity index 100% rename from ui/icon/svg/help-circle-outline.svg rename to packages/icon/svg/help-circle-outline.svg diff --git a/ui/icon/svg/help-circle-sharp.svg b/packages/icon/svg/help-circle-sharp.svg similarity index 100% rename from ui/icon/svg/help-circle-sharp.svg rename to packages/icon/svg/help-circle-sharp.svg diff --git a/ui/icon/svg/help-circle.svg b/packages/icon/svg/help-circle.svg similarity index 100% rename from ui/icon/svg/help-circle.svg rename to packages/icon/svg/help-circle.svg diff --git a/ui/icon/svg/help-outline.svg b/packages/icon/svg/help-outline.svg similarity index 100% rename from ui/icon/svg/help-outline.svg rename to packages/icon/svg/help-outline.svg diff --git a/ui/icon/svg/help-sharp.svg b/packages/icon/svg/help-sharp.svg similarity index 100% rename from ui/icon/svg/help-sharp.svg rename to packages/icon/svg/help-sharp.svg diff --git a/ui/icon/svg/help.svg b/packages/icon/svg/help.svg similarity index 100% rename from ui/icon/svg/help.svg rename to packages/icon/svg/help.svg diff --git a/ui/icon/svg/home-outline.svg b/packages/icon/svg/home-outline.svg similarity index 100% rename from ui/icon/svg/home-outline.svg rename to packages/icon/svg/home-outline.svg diff --git a/ui/icon/svg/home-sharp.svg b/packages/icon/svg/home-sharp.svg similarity index 100% rename from ui/icon/svg/home-sharp.svg rename to packages/icon/svg/home-sharp.svg diff --git a/ui/icon/svg/home.svg b/packages/icon/svg/home.svg similarity index 100% rename from ui/icon/svg/home.svg rename to packages/icon/svg/home.svg diff --git a/ui/icon/svg/hourglass-outline.svg b/packages/icon/svg/hourglass-outline.svg similarity index 100% rename from ui/icon/svg/hourglass-outline.svg rename to packages/icon/svg/hourglass-outline.svg diff --git a/ui/icon/svg/hourglass-sharp.svg b/packages/icon/svg/hourglass-sharp.svg similarity index 100% rename from ui/icon/svg/hourglass-sharp.svg rename to packages/icon/svg/hourglass-sharp.svg diff --git a/ui/icon/svg/hourglass.svg b/packages/icon/svg/hourglass.svg similarity index 100% rename from ui/icon/svg/hourglass.svg rename to packages/icon/svg/hourglass.svg diff --git a/ui/icon/svg/ice-cream-outline.svg b/packages/icon/svg/ice-cream-outline.svg similarity index 100% rename from ui/icon/svg/ice-cream-outline.svg rename to packages/icon/svg/ice-cream-outline.svg diff --git a/ui/icon/svg/ice-cream-sharp.svg b/packages/icon/svg/ice-cream-sharp.svg similarity index 100% rename from ui/icon/svg/ice-cream-sharp.svg rename to packages/icon/svg/ice-cream-sharp.svg diff --git a/ui/icon/svg/ice-cream.svg b/packages/icon/svg/ice-cream.svg similarity index 100% rename from ui/icon/svg/ice-cream.svg rename to packages/icon/svg/ice-cream.svg diff --git a/ui/icon/svg/id-card-outline.svg b/packages/icon/svg/id-card-outline.svg similarity index 100% rename from ui/icon/svg/id-card-outline.svg rename to packages/icon/svg/id-card-outline.svg diff --git a/ui/icon/svg/id-card-sharp.svg b/packages/icon/svg/id-card-sharp.svg similarity index 100% rename from ui/icon/svg/id-card-sharp.svg rename to packages/icon/svg/id-card-sharp.svg diff --git a/ui/icon/svg/id-card.svg b/packages/icon/svg/id-card.svg similarity index 100% rename from ui/icon/svg/id-card.svg rename to packages/icon/svg/id-card.svg diff --git a/ui/icon/svg/image-outline.svg b/packages/icon/svg/image-outline.svg similarity index 100% rename from ui/icon/svg/image-outline.svg rename to packages/icon/svg/image-outline.svg diff --git a/ui/icon/svg/image-sharp.svg b/packages/icon/svg/image-sharp.svg similarity index 100% rename from ui/icon/svg/image-sharp.svg rename to packages/icon/svg/image-sharp.svg diff --git a/ui/icon/svg/image.svg b/packages/icon/svg/image.svg similarity index 100% rename from ui/icon/svg/image.svg rename to packages/icon/svg/image.svg diff --git a/ui/icon/svg/images-outline.svg b/packages/icon/svg/images-outline.svg similarity index 100% rename from ui/icon/svg/images-outline.svg rename to packages/icon/svg/images-outline.svg diff --git a/ui/icon/svg/images-sharp.svg b/packages/icon/svg/images-sharp.svg similarity index 100% rename from ui/icon/svg/images-sharp.svg rename to packages/icon/svg/images-sharp.svg diff --git a/ui/icon/svg/images.svg b/packages/icon/svg/images.svg similarity index 100% rename from ui/icon/svg/images.svg rename to packages/icon/svg/images.svg diff --git a/ui/icon/svg/infinite-outline.svg b/packages/icon/svg/infinite-outline.svg similarity index 100% rename from ui/icon/svg/infinite-outline.svg rename to packages/icon/svg/infinite-outline.svg diff --git a/ui/icon/svg/infinite-sharp.svg b/packages/icon/svg/infinite-sharp.svg similarity index 100% rename from ui/icon/svg/infinite-sharp.svg rename to packages/icon/svg/infinite-sharp.svg diff --git a/ui/icon/svg/infinite.svg b/packages/icon/svg/infinite.svg similarity index 100% rename from ui/icon/svg/infinite.svg rename to packages/icon/svg/infinite.svg diff --git a/ui/icon/svg/information-circle-outline.svg b/packages/icon/svg/information-circle-outline.svg similarity index 100% rename from ui/icon/svg/information-circle-outline.svg rename to packages/icon/svg/information-circle-outline.svg diff --git a/ui/icon/svg/information-circle-sharp.svg b/packages/icon/svg/information-circle-sharp.svg similarity index 100% rename from ui/icon/svg/information-circle-sharp.svg rename to packages/icon/svg/information-circle-sharp.svg diff --git a/ui/icon/svg/information-circle.svg b/packages/icon/svg/information-circle.svg similarity index 100% rename from ui/icon/svg/information-circle.svg rename to packages/icon/svg/information-circle.svg diff --git a/ui/icon/svg/information-outline.svg b/packages/icon/svg/information-outline.svg similarity index 100% rename from ui/icon/svg/information-outline.svg rename to packages/icon/svg/information-outline.svg diff --git a/ui/icon/svg/information-sharp.svg b/packages/icon/svg/information-sharp.svg similarity index 100% rename from ui/icon/svg/information-sharp.svg rename to packages/icon/svg/information-sharp.svg diff --git a/ui/icon/svg/information.svg b/packages/icon/svg/information.svg similarity index 100% rename from ui/icon/svg/information.svg rename to packages/icon/svg/information.svg diff --git a/ui/icon/svg/invert-mode-outline.svg b/packages/icon/svg/invert-mode-outline.svg similarity index 100% rename from ui/icon/svg/invert-mode-outline.svg rename to packages/icon/svg/invert-mode-outline.svg diff --git a/ui/icon/svg/invert-mode-sharp.svg b/packages/icon/svg/invert-mode-sharp.svg similarity index 100% rename from ui/icon/svg/invert-mode-sharp.svg rename to packages/icon/svg/invert-mode-sharp.svg diff --git a/ui/icon/svg/invert-mode.svg b/packages/icon/svg/invert-mode.svg similarity index 100% rename from ui/icon/svg/invert-mode.svg rename to packages/icon/svg/invert-mode.svg diff --git a/ui/icon/svg/journal-outline.svg b/packages/icon/svg/journal-outline.svg similarity index 100% rename from ui/icon/svg/journal-outline.svg rename to packages/icon/svg/journal-outline.svg diff --git a/ui/icon/svg/journal-sharp.svg b/packages/icon/svg/journal-sharp.svg similarity index 100% rename from ui/icon/svg/journal-sharp.svg rename to packages/icon/svg/journal-sharp.svg diff --git a/ui/icon/svg/journal.svg b/packages/icon/svg/journal.svg similarity index 100% rename from ui/icon/svg/journal.svg rename to packages/icon/svg/journal.svg diff --git a/ui/icon/svg/key-outline.svg b/packages/icon/svg/key-outline.svg similarity index 100% rename from ui/icon/svg/key-outline.svg rename to packages/icon/svg/key-outline.svg diff --git a/ui/icon/svg/key-sharp.svg b/packages/icon/svg/key-sharp.svg similarity index 100% rename from ui/icon/svg/key-sharp.svg rename to packages/icon/svg/key-sharp.svg diff --git a/ui/icon/svg/key.svg b/packages/icon/svg/key.svg similarity index 100% rename from ui/icon/svg/key.svg rename to packages/icon/svg/key.svg diff --git a/ui/icon/svg/keypad-outline.svg b/packages/icon/svg/keypad-outline.svg similarity index 100% rename from ui/icon/svg/keypad-outline.svg rename to packages/icon/svg/keypad-outline.svg diff --git a/ui/icon/svg/keypad-sharp.svg b/packages/icon/svg/keypad-sharp.svg similarity index 100% rename from ui/icon/svg/keypad-sharp.svg rename to packages/icon/svg/keypad-sharp.svg diff --git a/ui/icon/svg/keypad.svg b/packages/icon/svg/keypad.svg similarity index 100% rename from ui/icon/svg/keypad.svg rename to packages/icon/svg/keypad.svg diff --git a/ui/icon/svg/language-outline.svg b/packages/icon/svg/language-outline.svg similarity index 100% rename from ui/icon/svg/language-outline.svg rename to packages/icon/svg/language-outline.svg diff --git a/ui/icon/svg/language-sharp.svg b/packages/icon/svg/language-sharp.svg similarity index 100% rename from ui/icon/svg/language-sharp.svg rename to packages/icon/svg/language-sharp.svg diff --git a/ui/icon/svg/language.svg b/packages/icon/svg/language.svg similarity index 100% rename from ui/icon/svg/language.svg rename to packages/icon/svg/language.svg diff --git a/ui/icon/svg/laptop-outline.svg b/packages/icon/svg/laptop-outline.svg similarity index 100% rename from ui/icon/svg/laptop-outline.svg rename to packages/icon/svg/laptop-outline.svg diff --git a/ui/icon/svg/laptop-sharp.svg b/packages/icon/svg/laptop-sharp.svg similarity index 100% rename from ui/icon/svg/laptop-sharp.svg rename to packages/icon/svg/laptop-sharp.svg diff --git a/ui/icon/svg/laptop.svg b/packages/icon/svg/laptop.svg similarity index 100% rename from ui/icon/svg/laptop.svg rename to packages/icon/svg/laptop.svg diff --git a/ui/icon/svg/layers-outline.svg b/packages/icon/svg/layers-outline.svg similarity index 100% rename from ui/icon/svg/layers-outline.svg rename to packages/icon/svg/layers-outline.svg diff --git a/ui/icon/svg/layers-sharp.svg b/packages/icon/svg/layers-sharp.svg similarity index 100% rename from ui/icon/svg/layers-sharp.svg rename to packages/icon/svg/layers-sharp.svg diff --git a/ui/icon/svg/layers.svg b/packages/icon/svg/layers.svg similarity index 100% rename from ui/icon/svg/layers.svg rename to packages/icon/svg/layers.svg diff --git a/ui/icon/svg/leaf-outline.svg b/packages/icon/svg/leaf-outline.svg similarity index 100% rename from ui/icon/svg/leaf-outline.svg rename to packages/icon/svg/leaf-outline.svg diff --git a/ui/icon/svg/leaf-sharp.svg b/packages/icon/svg/leaf-sharp.svg similarity index 100% rename from ui/icon/svg/leaf-sharp.svg rename to packages/icon/svg/leaf-sharp.svg diff --git a/ui/icon/svg/leaf.svg b/packages/icon/svg/leaf.svg similarity index 100% rename from ui/icon/svg/leaf.svg rename to packages/icon/svg/leaf.svg diff --git a/ui/icon/svg/library-outline.svg b/packages/icon/svg/library-outline.svg similarity index 100% rename from ui/icon/svg/library-outline.svg rename to packages/icon/svg/library-outline.svg diff --git a/ui/icon/svg/library-sharp.svg b/packages/icon/svg/library-sharp.svg similarity index 100% rename from ui/icon/svg/library-sharp.svg rename to packages/icon/svg/library-sharp.svg diff --git a/ui/icon/svg/library.svg b/packages/icon/svg/library.svg similarity index 100% rename from ui/icon/svg/library.svg rename to packages/icon/svg/library.svg diff --git a/ui/icon/svg/link-outline.svg b/packages/icon/svg/link-outline.svg similarity index 100% rename from ui/icon/svg/link-outline.svg rename to packages/icon/svg/link-outline.svg diff --git a/ui/icon/svg/link-sharp.svg b/packages/icon/svg/link-sharp.svg similarity index 100% rename from ui/icon/svg/link-sharp.svg rename to packages/icon/svg/link-sharp.svg diff --git a/ui/icon/svg/link.svg b/packages/icon/svg/link.svg similarity index 100% rename from ui/icon/svg/link.svg rename to packages/icon/svg/link.svg diff --git a/ui/icon/svg/list-circle-outline.svg b/packages/icon/svg/list-circle-outline.svg similarity index 100% rename from ui/icon/svg/list-circle-outline.svg rename to packages/icon/svg/list-circle-outline.svg diff --git a/ui/icon/svg/list-circle-sharp.svg b/packages/icon/svg/list-circle-sharp.svg similarity index 100% rename from ui/icon/svg/list-circle-sharp.svg rename to packages/icon/svg/list-circle-sharp.svg diff --git a/ui/icon/svg/list-circle.svg b/packages/icon/svg/list-circle.svg similarity index 100% rename from ui/icon/svg/list-circle.svg rename to packages/icon/svg/list-circle.svg diff --git a/ui/icon/svg/list-outline.svg b/packages/icon/svg/list-outline.svg similarity index 100% rename from ui/icon/svg/list-outline.svg rename to packages/icon/svg/list-outline.svg diff --git a/ui/icon/svg/list-sharp.svg b/packages/icon/svg/list-sharp.svg similarity index 100% rename from ui/icon/svg/list-sharp.svg rename to packages/icon/svg/list-sharp.svg diff --git a/ui/icon/svg/list.svg b/packages/icon/svg/list.svg similarity index 100% rename from ui/icon/svg/list.svg rename to packages/icon/svg/list.svg diff --git a/ui/icon/svg/locate-outline.svg b/packages/icon/svg/locate-outline.svg similarity index 100% rename from ui/icon/svg/locate-outline.svg rename to packages/icon/svg/locate-outline.svg diff --git a/ui/icon/svg/locate-sharp.svg b/packages/icon/svg/locate-sharp.svg similarity index 100% rename from ui/icon/svg/locate-sharp.svg rename to packages/icon/svg/locate-sharp.svg diff --git a/ui/icon/svg/locate.svg b/packages/icon/svg/locate.svg similarity index 100% rename from ui/icon/svg/locate.svg rename to packages/icon/svg/locate.svg diff --git a/ui/icon/svg/location-outline.svg b/packages/icon/svg/location-outline.svg similarity index 100% rename from ui/icon/svg/location-outline.svg rename to packages/icon/svg/location-outline.svg diff --git a/ui/icon/svg/location-sharp.svg b/packages/icon/svg/location-sharp.svg similarity index 100% rename from ui/icon/svg/location-sharp.svg rename to packages/icon/svg/location-sharp.svg diff --git a/ui/icon/svg/location.svg b/packages/icon/svg/location.svg similarity index 100% rename from ui/icon/svg/location.svg rename to packages/icon/svg/location.svg diff --git a/ui/icon/svg/lock-closed-outline.svg b/packages/icon/svg/lock-closed-outline.svg similarity index 100% rename from ui/icon/svg/lock-closed-outline.svg rename to packages/icon/svg/lock-closed-outline.svg diff --git a/ui/icon/svg/lock-closed-sharp.svg b/packages/icon/svg/lock-closed-sharp.svg similarity index 100% rename from ui/icon/svg/lock-closed-sharp.svg rename to packages/icon/svg/lock-closed-sharp.svg diff --git a/ui/icon/svg/lock-closed.svg b/packages/icon/svg/lock-closed.svg similarity index 100% rename from ui/icon/svg/lock-closed.svg rename to packages/icon/svg/lock-closed.svg diff --git a/ui/icon/svg/lock-open-outline.svg b/packages/icon/svg/lock-open-outline.svg similarity index 100% rename from ui/icon/svg/lock-open-outline.svg rename to packages/icon/svg/lock-open-outline.svg diff --git a/ui/icon/svg/lock-open-sharp.svg b/packages/icon/svg/lock-open-sharp.svg similarity index 100% rename from ui/icon/svg/lock-open-sharp.svg rename to packages/icon/svg/lock-open-sharp.svg diff --git a/ui/icon/svg/lock-open.svg b/packages/icon/svg/lock-open.svg similarity index 100% rename from ui/icon/svg/lock-open.svg rename to packages/icon/svg/lock-open.svg diff --git a/ui/icon/svg/log-in-outline.svg b/packages/icon/svg/log-in-outline.svg similarity index 100% rename from ui/icon/svg/log-in-outline.svg rename to packages/icon/svg/log-in-outline.svg diff --git a/ui/icon/svg/log-in-sharp.svg b/packages/icon/svg/log-in-sharp.svg similarity index 100% rename from ui/icon/svg/log-in-sharp.svg rename to packages/icon/svg/log-in-sharp.svg diff --git a/ui/icon/svg/log-in.svg b/packages/icon/svg/log-in.svg similarity index 100% rename from ui/icon/svg/log-in.svg rename to packages/icon/svg/log-in.svg diff --git a/ui/icon/svg/log-out-outline.svg b/packages/icon/svg/log-out-outline.svg similarity index 100% rename from ui/icon/svg/log-out-outline.svg rename to packages/icon/svg/log-out-outline.svg diff --git a/ui/icon/svg/log-out-sharp.svg b/packages/icon/svg/log-out-sharp.svg similarity index 100% rename from ui/icon/svg/log-out-sharp.svg rename to packages/icon/svg/log-out-sharp.svg diff --git a/ui/icon/svg/log-out.svg b/packages/icon/svg/log-out.svg similarity index 100% rename from ui/icon/svg/log-out.svg rename to packages/icon/svg/log-out.svg diff --git a/ui/icon/svg/logo-alipay.svg b/packages/icon/svg/logo-alipay.svg similarity index 100% rename from ui/icon/svg/logo-alipay.svg rename to packages/icon/svg/logo-alipay.svg diff --git a/ui/icon/svg/logo-amazon.svg b/packages/icon/svg/logo-amazon.svg similarity index 100% rename from ui/icon/svg/logo-amazon.svg rename to packages/icon/svg/logo-amazon.svg diff --git a/ui/icon/svg/logo-amplify.svg b/packages/icon/svg/logo-amplify.svg similarity index 100% rename from ui/icon/svg/logo-amplify.svg rename to packages/icon/svg/logo-amplify.svg diff --git a/ui/icon/svg/logo-android.svg b/packages/icon/svg/logo-android.svg similarity index 100% rename from ui/icon/svg/logo-android.svg rename to packages/icon/svg/logo-android.svg diff --git a/ui/icon/svg/logo-angular.svg b/packages/icon/svg/logo-angular.svg similarity index 100% rename from ui/icon/svg/logo-angular.svg rename to packages/icon/svg/logo-angular.svg diff --git a/ui/icon/svg/logo-apple-appstore.svg b/packages/icon/svg/logo-apple-appstore.svg similarity index 100% rename from ui/icon/svg/logo-apple-appstore.svg rename to packages/icon/svg/logo-apple-appstore.svg diff --git a/ui/icon/svg/logo-apple-ar.svg b/packages/icon/svg/logo-apple-ar.svg similarity index 100% rename from ui/icon/svg/logo-apple-ar.svg rename to packages/icon/svg/logo-apple-ar.svg diff --git a/ui/icon/svg/logo-apple.svg b/packages/icon/svg/logo-apple.svg similarity index 100% rename from ui/icon/svg/logo-apple.svg rename to packages/icon/svg/logo-apple.svg diff --git a/ui/icon/svg/logo-behance.svg b/packages/icon/svg/logo-behance.svg similarity index 100% rename from ui/icon/svg/logo-behance.svg rename to packages/icon/svg/logo-behance.svg diff --git a/ui/icon/svg/logo-bitbucket.svg b/packages/icon/svg/logo-bitbucket.svg similarity index 100% rename from ui/icon/svg/logo-bitbucket.svg rename to packages/icon/svg/logo-bitbucket.svg diff --git a/ui/icon/svg/logo-bitcoin.svg b/packages/icon/svg/logo-bitcoin.svg similarity index 100% rename from ui/icon/svg/logo-bitcoin.svg rename to packages/icon/svg/logo-bitcoin.svg diff --git a/ui/icon/svg/logo-buffer.svg b/packages/icon/svg/logo-buffer.svg similarity index 100% rename from ui/icon/svg/logo-buffer.svg rename to packages/icon/svg/logo-buffer.svg diff --git a/ui/icon/svg/logo-capacitor.svg b/packages/icon/svg/logo-capacitor.svg similarity index 100% rename from ui/icon/svg/logo-capacitor.svg rename to packages/icon/svg/logo-capacitor.svg diff --git a/ui/icon/svg/logo-chrome.svg b/packages/icon/svg/logo-chrome.svg similarity index 100% rename from ui/icon/svg/logo-chrome.svg rename to packages/icon/svg/logo-chrome.svg diff --git a/ui/icon/svg/logo-closed-captioning.svg b/packages/icon/svg/logo-closed-captioning.svg similarity index 100% rename from ui/icon/svg/logo-closed-captioning.svg rename to packages/icon/svg/logo-closed-captioning.svg diff --git a/ui/icon/svg/logo-codepen.svg b/packages/icon/svg/logo-codepen.svg similarity index 100% rename from ui/icon/svg/logo-codepen.svg rename to packages/icon/svg/logo-codepen.svg diff --git a/ui/icon/svg/logo-css3.svg b/packages/icon/svg/logo-css3.svg similarity index 100% rename from ui/icon/svg/logo-css3.svg rename to packages/icon/svg/logo-css3.svg diff --git a/ui/icon/svg/logo-designernews.svg b/packages/icon/svg/logo-designernews.svg similarity index 100% rename from ui/icon/svg/logo-designernews.svg rename to packages/icon/svg/logo-designernews.svg diff --git a/ui/icon/svg/logo-deviantart.svg b/packages/icon/svg/logo-deviantart.svg similarity index 100% rename from ui/icon/svg/logo-deviantart.svg rename to packages/icon/svg/logo-deviantart.svg diff --git a/ui/icon/svg/logo-discord.svg b/packages/icon/svg/logo-discord.svg similarity index 100% rename from ui/icon/svg/logo-discord.svg rename to packages/icon/svg/logo-discord.svg diff --git a/ui/icon/svg/logo-docker.svg b/packages/icon/svg/logo-docker.svg similarity index 100% rename from ui/icon/svg/logo-docker.svg rename to packages/icon/svg/logo-docker.svg diff --git a/ui/icon/svg/logo-dribbble.svg b/packages/icon/svg/logo-dribbble.svg similarity index 100% rename from ui/icon/svg/logo-dribbble.svg rename to packages/icon/svg/logo-dribbble.svg diff --git a/ui/icon/svg/logo-dropbox.svg b/packages/icon/svg/logo-dropbox.svg similarity index 100% rename from ui/icon/svg/logo-dropbox.svg rename to packages/icon/svg/logo-dropbox.svg diff --git a/ui/icon/svg/logo-edge.svg b/packages/icon/svg/logo-edge.svg similarity index 100% rename from ui/icon/svg/logo-edge.svg rename to packages/icon/svg/logo-edge.svg diff --git a/ui/icon/svg/logo-electron.svg b/packages/icon/svg/logo-electron.svg similarity index 100% rename from ui/icon/svg/logo-electron.svg rename to packages/icon/svg/logo-electron.svg diff --git a/ui/icon/svg/logo-euro.svg b/packages/icon/svg/logo-euro.svg similarity index 100% rename from ui/icon/svg/logo-euro.svg rename to packages/icon/svg/logo-euro.svg diff --git a/ui/icon/svg/logo-facebook.svg b/packages/icon/svg/logo-facebook.svg similarity index 100% rename from ui/icon/svg/logo-facebook.svg rename to packages/icon/svg/logo-facebook.svg diff --git a/ui/icon/svg/logo-figma.svg b/packages/icon/svg/logo-figma.svg similarity index 100% rename from ui/icon/svg/logo-figma.svg rename to packages/icon/svg/logo-figma.svg diff --git a/ui/icon/svg/logo-firebase.svg b/packages/icon/svg/logo-firebase.svg similarity index 100% rename from ui/icon/svg/logo-firebase.svg rename to packages/icon/svg/logo-firebase.svg diff --git a/ui/icon/svg/logo-firefox.svg b/packages/icon/svg/logo-firefox.svg similarity index 100% rename from ui/icon/svg/logo-firefox.svg rename to packages/icon/svg/logo-firefox.svg diff --git a/ui/icon/svg/logo-flickr.svg b/packages/icon/svg/logo-flickr.svg similarity index 100% rename from ui/icon/svg/logo-flickr.svg rename to packages/icon/svg/logo-flickr.svg diff --git a/ui/icon/svg/logo-foursquare.svg b/packages/icon/svg/logo-foursquare.svg similarity index 100% rename from ui/icon/svg/logo-foursquare.svg rename to packages/icon/svg/logo-foursquare.svg diff --git a/ui/icon/svg/logo-github.svg b/packages/icon/svg/logo-github.svg similarity index 100% rename from ui/icon/svg/logo-github.svg rename to packages/icon/svg/logo-github.svg diff --git a/ui/icon/svg/logo-gitlab.svg b/packages/icon/svg/logo-gitlab.svg similarity index 100% rename from ui/icon/svg/logo-gitlab.svg rename to packages/icon/svg/logo-gitlab.svg diff --git a/ui/icon/svg/logo-google-playstore.svg b/packages/icon/svg/logo-google-playstore.svg similarity index 100% rename from ui/icon/svg/logo-google-playstore.svg rename to packages/icon/svg/logo-google-playstore.svg diff --git a/ui/icon/svg/logo-google.svg b/packages/icon/svg/logo-google.svg similarity index 100% rename from ui/icon/svg/logo-google.svg rename to packages/icon/svg/logo-google.svg diff --git a/ui/icon/svg/logo-hackernews.svg b/packages/icon/svg/logo-hackernews.svg similarity index 100% rename from ui/icon/svg/logo-hackernews.svg rename to packages/icon/svg/logo-hackernews.svg diff --git a/ui/icon/svg/logo-html5.svg b/packages/icon/svg/logo-html5.svg similarity index 100% rename from ui/icon/svg/logo-html5.svg rename to packages/icon/svg/logo-html5.svg diff --git a/ui/icon/svg/logo-instagram.svg b/packages/icon/svg/logo-instagram.svg similarity index 100% rename from ui/icon/svg/logo-instagram.svg rename to packages/icon/svg/logo-instagram.svg diff --git a/ui/icon/svg/logo-ionic.svg b/packages/icon/svg/logo-ionic.svg similarity index 100% rename from ui/icon/svg/logo-ionic.svg rename to packages/icon/svg/logo-ionic.svg diff --git a/ui/icon/svg/logo-ionitron.svg b/packages/icon/svg/logo-ionitron.svg similarity index 100% rename from ui/icon/svg/logo-ionitron.svg rename to packages/icon/svg/logo-ionitron.svg diff --git a/ui/icon/svg/logo-javascript.svg b/packages/icon/svg/logo-javascript.svg similarity index 100% rename from ui/icon/svg/logo-javascript.svg rename to packages/icon/svg/logo-javascript.svg diff --git a/ui/icon/svg/logo-laravel.svg b/packages/icon/svg/logo-laravel.svg similarity index 100% rename from ui/icon/svg/logo-laravel.svg rename to packages/icon/svg/logo-laravel.svg diff --git a/ui/icon/svg/logo-linkedin.svg b/packages/icon/svg/logo-linkedin.svg similarity index 100% rename from ui/icon/svg/logo-linkedin.svg rename to packages/icon/svg/logo-linkedin.svg diff --git a/ui/icon/svg/logo-markdown.svg b/packages/icon/svg/logo-markdown.svg similarity index 100% rename from ui/icon/svg/logo-markdown.svg rename to packages/icon/svg/logo-markdown.svg diff --git a/ui/icon/svg/logo-mastodon.svg b/packages/icon/svg/logo-mastodon.svg similarity index 100% rename from ui/icon/svg/logo-mastodon.svg rename to packages/icon/svg/logo-mastodon.svg diff --git a/ui/icon/svg/logo-medium.svg b/packages/icon/svg/logo-medium.svg similarity index 100% rename from ui/icon/svg/logo-medium.svg rename to packages/icon/svg/logo-medium.svg diff --git a/ui/icon/svg/logo-microsoft.svg b/packages/icon/svg/logo-microsoft.svg similarity index 100% rename from ui/icon/svg/logo-microsoft.svg rename to packages/icon/svg/logo-microsoft.svg diff --git a/ui/icon/svg/logo-no-smoking.svg b/packages/icon/svg/logo-no-smoking.svg similarity index 100% rename from ui/icon/svg/logo-no-smoking.svg rename to packages/icon/svg/logo-no-smoking.svg diff --git a/ui/icon/svg/logo-nodejs.svg b/packages/icon/svg/logo-nodejs.svg similarity index 100% rename from ui/icon/svg/logo-nodejs.svg rename to packages/icon/svg/logo-nodejs.svg diff --git a/ui/icon/svg/logo-npm.svg b/packages/icon/svg/logo-npm.svg similarity index 100% rename from ui/icon/svg/logo-npm.svg rename to packages/icon/svg/logo-npm.svg diff --git a/ui/icon/svg/logo-octocat.svg b/packages/icon/svg/logo-octocat.svg similarity index 100% rename from ui/icon/svg/logo-octocat.svg rename to packages/icon/svg/logo-octocat.svg diff --git a/ui/icon/svg/logo-paypal.svg b/packages/icon/svg/logo-paypal.svg similarity index 100% rename from ui/icon/svg/logo-paypal.svg rename to packages/icon/svg/logo-paypal.svg diff --git a/ui/icon/svg/logo-pinterest.svg b/packages/icon/svg/logo-pinterest.svg similarity index 100% rename from ui/icon/svg/logo-pinterest.svg rename to packages/icon/svg/logo-pinterest.svg diff --git a/ui/icon/svg/logo-playstation.svg b/packages/icon/svg/logo-playstation.svg similarity index 100% rename from ui/icon/svg/logo-playstation.svg rename to packages/icon/svg/logo-playstation.svg diff --git a/ui/icon/svg/logo-pwa.svg b/packages/icon/svg/logo-pwa.svg similarity index 100% rename from ui/icon/svg/logo-pwa.svg rename to packages/icon/svg/logo-pwa.svg diff --git a/ui/icon/svg/logo-python.svg b/packages/icon/svg/logo-python.svg similarity index 100% rename from ui/icon/svg/logo-python.svg rename to packages/icon/svg/logo-python.svg diff --git a/ui/icon/svg/logo-react.svg b/packages/icon/svg/logo-react.svg similarity index 100% rename from ui/icon/svg/logo-react.svg rename to packages/icon/svg/logo-react.svg diff --git a/ui/icon/svg/logo-reddit.svg b/packages/icon/svg/logo-reddit.svg similarity index 100% rename from ui/icon/svg/logo-reddit.svg rename to packages/icon/svg/logo-reddit.svg diff --git a/ui/icon/svg/logo-rss.svg b/packages/icon/svg/logo-rss.svg similarity index 100% rename from ui/icon/svg/logo-rss.svg rename to packages/icon/svg/logo-rss.svg diff --git a/ui/icon/svg/logo-sass.svg b/packages/icon/svg/logo-sass.svg similarity index 100% rename from ui/icon/svg/logo-sass.svg rename to packages/icon/svg/logo-sass.svg diff --git a/ui/icon/svg/logo-skype.svg b/packages/icon/svg/logo-skype.svg similarity index 100% rename from ui/icon/svg/logo-skype.svg rename to packages/icon/svg/logo-skype.svg diff --git a/ui/icon/svg/logo-slack.svg b/packages/icon/svg/logo-slack.svg similarity index 100% rename from ui/icon/svg/logo-slack.svg rename to packages/icon/svg/logo-slack.svg diff --git a/ui/icon/svg/logo-snapchat.svg b/packages/icon/svg/logo-snapchat.svg similarity index 100% rename from ui/icon/svg/logo-snapchat.svg rename to packages/icon/svg/logo-snapchat.svg diff --git a/ui/icon/svg/logo-soundcloud.svg b/packages/icon/svg/logo-soundcloud.svg similarity index 100% rename from ui/icon/svg/logo-soundcloud.svg rename to packages/icon/svg/logo-soundcloud.svg diff --git a/ui/icon/svg/logo-stackoverflow.svg b/packages/icon/svg/logo-stackoverflow.svg similarity index 100% rename from ui/icon/svg/logo-stackoverflow.svg rename to packages/icon/svg/logo-stackoverflow.svg diff --git a/ui/icon/svg/logo-steam.svg b/packages/icon/svg/logo-steam.svg similarity index 100% rename from ui/icon/svg/logo-steam.svg rename to packages/icon/svg/logo-steam.svg diff --git a/ui/icon/svg/logo-stencil.svg b/packages/icon/svg/logo-stencil.svg similarity index 100% rename from ui/icon/svg/logo-stencil.svg rename to packages/icon/svg/logo-stencil.svg diff --git a/ui/icon/svg/logo-tableau.svg b/packages/icon/svg/logo-tableau.svg similarity index 100% rename from ui/icon/svg/logo-tableau.svg rename to packages/icon/svg/logo-tableau.svg diff --git a/ui/icon/svg/logo-tiktok.svg b/packages/icon/svg/logo-tiktok.svg similarity index 100% rename from ui/icon/svg/logo-tiktok.svg rename to packages/icon/svg/logo-tiktok.svg diff --git a/ui/icon/svg/logo-tumblr.svg b/packages/icon/svg/logo-tumblr.svg similarity index 100% rename from ui/icon/svg/logo-tumblr.svg rename to packages/icon/svg/logo-tumblr.svg diff --git a/ui/icon/svg/logo-tux.svg b/packages/icon/svg/logo-tux.svg similarity index 100% rename from ui/icon/svg/logo-tux.svg rename to packages/icon/svg/logo-tux.svg diff --git a/ui/icon/svg/logo-twitch.svg b/packages/icon/svg/logo-twitch.svg similarity index 100% rename from ui/icon/svg/logo-twitch.svg rename to packages/icon/svg/logo-twitch.svg diff --git a/ui/icon/svg/logo-twitter.svg b/packages/icon/svg/logo-twitter.svg similarity index 100% rename from ui/icon/svg/logo-twitter.svg rename to packages/icon/svg/logo-twitter.svg diff --git a/ui/icon/svg/logo-usd.svg b/packages/icon/svg/logo-usd.svg similarity index 100% rename from ui/icon/svg/logo-usd.svg rename to packages/icon/svg/logo-usd.svg diff --git a/ui/icon/svg/logo-venmo.svg b/packages/icon/svg/logo-venmo.svg similarity index 100% rename from ui/icon/svg/logo-venmo.svg rename to packages/icon/svg/logo-venmo.svg diff --git a/ui/icon/svg/logo-vercel.svg b/packages/icon/svg/logo-vercel.svg similarity index 100% rename from ui/icon/svg/logo-vercel.svg rename to packages/icon/svg/logo-vercel.svg diff --git a/ui/icon/svg/logo-vimeo.svg b/packages/icon/svg/logo-vimeo.svg similarity index 100% rename from ui/icon/svg/logo-vimeo.svg rename to packages/icon/svg/logo-vimeo.svg diff --git a/ui/icon/svg/logo-vk.svg b/packages/icon/svg/logo-vk.svg similarity index 100% rename from ui/icon/svg/logo-vk.svg rename to packages/icon/svg/logo-vk.svg diff --git a/ui/icon/svg/logo-vue.svg b/packages/icon/svg/logo-vue.svg similarity index 100% rename from ui/icon/svg/logo-vue.svg rename to packages/icon/svg/logo-vue.svg diff --git a/ui/icon/svg/logo-web-component.svg b/packages/icon/svg/logo-web-component.svg similarity index 100% rename from ui/icon/svg/logo-web-component.svg rename to packages/icon/svg/logo-web-component.svg diff --git a/ui/icon/svg/logo-wechat.svg b/packages/icon/svg/logo-wechat.svg similarity index 100% rename from ui/icon/svg/logo-wechat.svg rename to packages/icon/svg/logo-wechat.svg diff --git a/ui/icon/svg/logo-whatsapp.svg b/packages/icon/svg/logo-whatsapp.svg similarity index 100% rename from ui/icon/svg/logo-whatsapp.svg rename to packages/icon/svg/logo-whatsapp.svg diff --git a/ui/icon/svg/logo-windows.svg b/packages/icon/svg/logo-windows.svg similarity index 100% rename from ui/icon/svg/logo-windows.svg rename to packages/icon/svg/logo-windows.svg diff --git a/ui/icon/svg/logo-wordpress.svg b/packages/icon/svg/logo-wordpress.svg similarity index 100% rename from ui/icon/svg/logo-wordpress.svg rename to packages/icon/svg/logo-wordpress.svg diff --git a/ui/icon/svg/logo-xbox.svg b/packages/icon/svg/logo-xbox.svg similarity index 100% rename from ui/icon/svg/logo-xbox.svg rename to packages/icon/svg/logo-xbox.svg diff --git a/ui/icon/svg/logo-xing.svg b/packages/icon/svg/logo-xing.svg similarity index 100% rename from ui/icon/svg/logo-xing.svg rename to packages/icon/svg/logo-xing.svg diff --git a/ui/icon/svg/logo-yahoo.svg b/packages/icon/svg/logo-yahoo.svg similarity index 100% rename from ui/icon/svg/logo-yahoo.svg rename to packages/icon/svg/logo-yahoo.svg diff --git a/ui/icon/svg/logo-yen.svg b/packages/icon/svg/logo-yen.svg similarity index 100% rename from ui/icon/svg/logo-yen.svg rename to packages/icon/svg/logo-yen.svg diff --git a/ui/icon/svg/logo-youtube.svg b/packages/icon/svg/logo-youtube.svg similarity index 100% rename from ui/icon/svg/logo-youtube.svg rename to packages/icon/svg/logo-youtube.svg diff --git a/ui/icon/svg/magnet-outline.svg b/packages/icon/svg/magnet-outline.svg similarity index 100% rename from ui/icon/svg/magnet-outline.svg rename to packages/icon/svg/magnet-outline.svg diff --git a/ui/icon/svg/magnet-sharp.svg b/packages/icon/svg/magnet-sharp.svg similarity index 100% rename from ui/icon/svg/magnet-sharp.svg rename to packages/icon/svg/magnet-sharp.svg diff --git a/ui/icon/svg/magnet.svg b/packages/icon/svg/magnet.svg similarity index 100% rename from ui/icon/svg/magnet.svg rename to packages/icon/svg/magnet.svg diff --git a/ui/icon/svg/mail-open-outline.svg b/packages/icon/svg/mail-open-outline.svg similarity index 100% rename from ui/icon/svg/mail-open-outline.svg rename to packages/icon/svg/mail-open-outline.svg diff --git a/ui/icon/svg/mail-open-sharp.svg b/packages/icon/svg/mail-open-sharp.svg similarity index 100% rename from ui/icon/svg/mail-open-sharp.svg rename to packages/icon/svg/mail-open-sharp.svg diff --git a/ui/icon/svg/mail-open.svg b/packages/icon/svg/mail-open.svg similarity index 100% rename from ui/icon/svg/mail-open.svg rename to packages/icon/svg/mail-open.svg diff --git a/ui/icon/svg/mail-outline.svg b/packages/icon/svg/mail-outline.svg similarity index 100% rename from ui/icon/svg/mail-outline.svg rename to packages/icon/svg/mail-outline.svg diff --git a/ui/icon/svg/mail-sharp.svg b/packages/icon/svg/mail-sharp.svg similarity index 100% rename from ui/icon/svg/mail-sharp.svg rename to packages/icon/svg/mail-sharp.svg diff --git a/ui/icon/svg/mail-unread-outline.svg b/packages/icon/svg/mail-unread-outline.svg similarity index 100% rename from ui/icon/svg/mail-unread-outline.svg rename to packages/icon/svg/mail-unread-outline.svg diff --git a/ui/icon/svg/mail-unread-sharp.svg b/packages/icon/svg/mail-unread-sharp.svg similarity index 100% rename from ui/icon/svg/mail-unread-sharp.svg rename to packages/icon/svg/mail-unread-sharp.svg diff --git a/ui/icon/svg/mail-unread.svg b/packages/icon/svg/mail-unread.svg similarity index 100% rename from ui/icon/svg/mail-unread.svg rename to packages/icon/svg/mail-unread.svg diff --git a/ui/icon/svg/mail.svg b/packages/icon/svg/mail.svg similarity index 100% rename from ui/icon/svg/mail.svg rename to packages/icon/svg/mail.svg diff --git a/ui/icon/svg/male-female-outline.svg b/packages/icon/svg/male-female-outline.svg similarity index 100% rename from ui/icon/svg/male-female-outline.svg rename to packages/icon/svg/male-female-outline.svg diff --git a/ui/icon/svg/male-female-sharp.svg b/packages/icon/svg/male-female-sharp.svg similarity index 100% rename from ui/icon/svg/male-female-sharp.svg rename to packages/icon/svg/male-female-sharp.svg diff --git a/ui/icon/svg/male-female.svg b/packages/icon/svg/male-female.svg similarity index 100% rename from ui/icon/svg/male-female.svg rename to packages/icon/svg/male-female.svg diff --git a/ui/icon/svg/male-outline.svg b/packages/icon/svg/male-outline.svg similarity index 100% rename from ui/icon/svg/male-outline.svg rename to packages/icon/svg/male-outline.svg diff --git a/ui/icon/svg/male-sharp.svg b/packages/icon/svg/male-sharp.svg similarity index 100% rename from ui/icon/svg/male-sharp.svg rename to packages/icon/svg/male-sharp.svg diff --git a/ui/icon/svg/male.svg b/packages/icon/svg/male.svg similarity index 100% rename from ui/icon/svg/male.svg rename to packages/icon/svg/male.svg diff --git a/ui/icon/svg/man-outline.svg b/packages/icon/svg/man-outline.svg similarity index 100% rename from ui/icon/svg/man-outline.svg rename to packages/icon/svg/man-outline.svg diff --git a/ui/icon/svg/man-sharp.svg b/packages/icon/svg/man-sharp.svg similarity index 100% rename from ui/icon/svg/man-sharp.svg rename to packages/icon/svg/man-sharp.svg diff --git a/ui/icon/svg/man.svg b/packages/icon/svg/man.svg similarity index 100% rename from ui/icon/svg/man.svg rename to packages/icon/svg/man.svg diff --git a/ui/icon/svg/map-outline.svg b/packages/icon/svg/map-outline.svg similarity index 100% rename from ui/icon/svg/map-outline.svg rename to packages/icon/svg/map-outline.svg diff --git a/ui/icon/svg/map-sharp.svg b/packages/icon/svg/map-sharp.svg similarity index 100% rename from ui/icon/svg/map-sharp.svg rename to packages/icon/svg/map-sharp.svg diff --git a/ui/icon/svg/map.svg b/packages/icon/svg/map.svg similarity index 100% rename from ui/icon/svg/map.svg rename to packages/icon/svg/map.svg diff --git a/ui/icon/svg/medal-outline.svg b/packages/icon/svg/medal-outline.svg similarity index 100% rename from ui/icon/svg/medal-outline.svg rename to packages/icon/svg/medal-outline.svg diff --git a/ui/icon/svg/medal-sharp.svg b/packages/icon/svg/medal-sharp.svg similarity index 100% rename from ui/icon/svg/medal-sharp.svg rename to packages/icon/svg/medal-sharp.svg diff --git a/ui/icon/svg/medal.svg b/packages/icon/svg/medal.svg similarity index 100% rename from ui/icon/svg/medal.svg rename to packages/icon/svg/medal.svg diff --git a/ui/icon/svg/medical-outline.svg b/packages/icon/svg/medical-outline.svg similarity index 100% rename from ui/icon/svg/medical-outline.svg rename to packages/icon/svg/medical-outline.svg diff --git a/ui/icon/svg/medical-sharp.svg b/packages/icon/svg/medical-sharp.svg similarity index 100% rename from ui/icon/svg/medical-sharp.svg rename to packages/icon/svg/medical-sharp.svg diff --git a/ui/icon/svg/medical.svg b/packages/icon/svg/medical.svg similarity index 100% rename from ui/icon/svg/medical.svg rename to packages/icon/svg/medical.svg diff --git a/ui/icon/svg/medkit-outline.svg b/packages/icon/svg/medkit-outline.svg similarity index 100% rename from ui/icon/svg/medkit-outline.svg rename to packages/icon/svg/medkit-outline.svg diff --git a/ui/icon/svg/medkit-sharp.svg b/packages/icon/svg/medkit-sharp.svg similarity index 100% rename from ui/icon/svg/medkit-sharp.svg rename to packages/icon/svg/medkit-sharp.svg diff --git a/ui/icon/svg/medkit.svg b/packages/icon/svg/medkit.svg similarity index 100% rename from ui/icon/svg/medkit.svg rename to packages/icon/svg/medkit.svg diff --git a/ui/icon/svg/megaphone-outline.svg b/packages/icon/svg/megaphone-outline.svg similarity index 100% rename from ui/icon/svg/megaphone-outline.svg rename to packages/icon/svg/megaphone-outline.svg diff --git a/ui/icon/svg/megaphone-sharp.svg b/packages/icon/svg/megaphone-sharp.svg similarity index 100% rename from ui/icon/svg/megaphone-sharp.svg rename to packages/icon/svg/megaphone-sharp.svg diff --git a/ui/icon/svg/megaphone.svg b/packages/icon/svg/megaphone.svg similarity index 100% rename from ui/icon/svg/megaphone.svg rename to packages/icon/svg/megaphone.svg diff --git a/ui/icon/svg/menu-outline.svg b/packages/icon/svg/menu-outline.svg similarity index 100% rename from ui/icon/svg/menu-outline.svg rename to packages/icon/svg/menu-outline.svg diff --git a/ui/icon/svg/menu-sharp.svg b/packages/icon/svg/menu-sharp.svg similarity index 100% rename from ui/icon/svg/menu-sharp.svg rename to packages/icon/svg/menu-sharp.svg diff --git a/ui/icon/svg/menu.svg b/packages/icon/svg/menu.svg similarity index 100% rename from ui/icon/svg/menu.svg rename to packages/icon/svg/menu.svg diff --git a/ui/icon/svg/mic-circle-outline.svg b/packages/icon/svg/mic-circle-outline.svg similarity index 100% rename from ui/icon/svg/mic-circle-outline.svg rename to packages/icon/svg/mic-circle-outline.svg diff --git a/ui/icon/svg/mic-circle-sharp.svg b/packages/icon/svg/mic-circle-sharp.svg similarity index 100% rename from ui/icon/svg/mic-circle-sharp.svg rename to packages/icon/svg/mic-circle-sharp.svg diff --git a/ui/icon/svg/mic-circle.svg b/packages/icon/svg/mic-circle.svg similarity index 100% rename from ui/icon/svg/mic-circle.svg rename to packages/icon/svg/mic-circle.svg diff --git a/ui/icon/svg/mic-off-circle-outline.svg b/packages/icon/svg/mic-off-circle-outline.svg similarity index 100% rename from ui/icon/svg/mic-off-circle-outline.svg rename to packages/icon/svg/mic-off-circle-outline.svg diff --git a/ui/icon/svg/mic-off-circle-sharp.svg b/packages/icon/svg/mic-off-circle-sharp.svg similarity index 100% rename from ui/icon/svg/mic-off-circle-sharp.svg rename to packages/icon/svg/mic-off-circle-sharp.svg diff --git a/ui/icon/svg/mic-off-circle.svg b/packages/icon/svg/mic-off-circle.svg similarity index 100% rename from ui/icon/svg/mic-off-circle.svg rename to packages/icon/svg/mic-off-circle.svg diff --git a/ui/icon/svg/mic-off-outline.svg b/packages/icon/svg/mic-off-outline.svg similarity index 100% rename from ui/icon/svg/mic-off-outline.svg rename to packages/icon/svg/mic-off-outline.svg diff --git a/ui/icon/svg/mic-off-sharp.svg b/packages/icon/svg/mic-off-sharp.svg similarity index 100% rename from ui/icon/svg/mic-off-sharp.svg rename to packages/icon/svg/mic-off-sharp.svg diff --git a/ui/icon/svg/mic-off.svg b/packages/icon/svg/mic-off.svg similarity index 100% rename from ui/icon/svg/mic-off.svg rename to packages/icon/svg/mic-off.svg diff --git a/ui/icon/svg/mic-outline.svg b/packages/icon/svg/mic-outline.svg similarity index 100% rename from ui/icon/svg/mic-outline.svg rename to packages/icon/svg/mic-outline.svg diff --git a/ui/icon/svg/mic-sharp.svg b/packages/icon/svg/mic-sharp.svg similarity index 100% rename from ui/icon/svg/mic-sharp.svg rename to packages/icon/svg/mic-sharp.svg diff --git a/ui/icon/svg/mic.svg b/packages/icon/svg/mic.svg similarity index 100% rename from ui/icon/svg/mic.svg rename to packages/icon/svg/mic.svg diff --git a/ui/icon/svg/moon-outline.svg b/packages/icon/svg/moon-outline.svg similarity index 100% rename from ui/icon/svg/moon-outline.svg rename to packages/icon/svg/moon-outline.svg diff --git a/ui/icon/svg/moon-sharp.svg b/packages/icon/svg/moon-sharp.svg similarity index 100% rename from ui/icon/svg/moon-sharp.svg rename to packages/icon/svg/moon-sharp.svg diff --git a/ui/icon/svg/moon.svg b/packages/icon/svg/moon.svg similarity index 100% rename from ui/icon/svg/moon.svg rename to packages/icon/svg/moon.svg diff --git a/ui/icon/svg/move-outline.svg b/packages/icon/svg/move-outline.svg similarity index 100% rename from ui/icon/svg/move-outline.svg rename to packages/icon/svg/move-outline.svg diff --git a/ui/icon/svg/move-sharp.svg b/packages/icon/svg/move-sharp.svg similarity index 100% rename from ui/icon/svg/move-sharp.svg rename to packages/icon/svg/move-sharp.svg diff --git a/ui/icon/svg/move.svg b/packages/icon/svg/move.svg similarity index 100% rename from ui/icon/svg/move.svg rename to packages/icon/svg/move.svg diff --git a/ui/icon/svg/musical-note-outline.svg b/packages/icon/svg/musical-note-outline.svg similarity index 100% rename from ui/icon/svg/musical-note-outline.svg rename to packages/icon/svg/musical-note-outline.svg diff --git a/ui/icon/svg/musical-note-sharp.svg b/packages/icon/svg/musical-note-sharp.svg similarity index 100% rename from ui/icon/svg/musical-note-sharp.svg rename to packages/icon/svg/musical-note-sharp.svg diff --git a/ui/icon/svg/musical-note.svg b/packages/icon/svg/musical-note.svg similarity index 100% rename from ui/icon/svg/musical-note.svg rename to packages/icon/svg/musical-note.svg diff --git a/ui/icon/svg/musical-notes-outline.svg b/packages/icon/svg/musical-notes-outline.svg similarity index 100% rename from ui/icon/svg/musical-notes-outline.svg rename to packages/icon/svg/musical-notes-outline.svg diff --git a/ui/icon/svg/musical-notes-sharp.svg b/packages/icon/svg/musical-notes-sharp.svg similarity index 100% rename from ui/icon/svg/musical-notes-sharp.svg rename to packages/icon/svg/musical-notes-sharp.svg diff --git a/ui/icon/svg/musical-notes.svg b/packages/icon/svg/musical-notes.svg similarity index 100% rename from ui/icon/svg/musical-notes.svg rename to packages/icon/svg/musical-notes.svg diff --git a/ui/icon/svg/navigate-circle-outline.svg b/packages/icon/svg/navigate-circle-outline.svg similarity index 100% rename from ui/icon/svg/navigate-circle-outline.svg rename to packages/icon/svg/navigate-circle-outline.svg diff --git a/ui/icon/svg/navigate-circle-sharp.svg b/packages/icon/svg/navigate-circle-sharp.svg similarity index 100% rename from ui/icon/svg/navigate-circle-sharp.svg rename to packages/icon/svg/navigate-circle-sharp.svg diff --git a/ui/icon/svg/navigate-circle.svg b/packages/icon/svg/navigate-circle.svg similarity index 100% rename from ui/icon/svg/navigate-circle.svg rename to packages/icon/svg/navigate-circle.svg diff --git a/ui/icon/svg/navigate-outline.svg b/packages/icon/svg/navigate-outline.svg similarity index 100% rename from ui/icon/svg/navigate-outline.svg rename to packages/icon/svg/navigate-outline.svg diff --git a/ui/icon/svg/navigate-sharp.svg b/packages/icon/svg/navigate-sharp.svg similarity index 100% rename from ui/icon/svg/navigate-sharp.svg rename to packages/icon/svg/navigate-sharp.svg diff --git a/ui/icon/svg/navigate.svg b/packages/icon/svg/navigate.svg similarity index 100% rename from ui/icon/svg/navigate.svg rename to packages/icon/svg/navigate.svg diff --git a/ui/icon/svg/newspaper-outline.svg b/packages/icon/svg/newspaper-outline.svg similarity index 100% rename from ui/icon/svg/newspaper-outline.svg rename to packages/icon/svg/newspaper-outline.svg diff --git a/ui/icon/svg/newspaper-sharp.svg b/packages/icon/svg/newspaper-sharp.svg similarity index 100% rename from ui/icon/svg/newspaper-sharp.svg rename to packages/icon/svg/newspaper-sharp.svg diff --git a/ui/icon/svg/newspaper.svg b/packages/icon/svg/newspaper.svg similarity index 100% rename from ui/icon/svg/newspaper.svg rename to packages/icon/svg/newspaper.svg diff --git a/ui/icon/svg/notifications-circle-outline.svg b/packages/icon/svg/notifications-circle-outline.svg similarity index 100% rename from ui/icon/svg/notifications-circle-outline.svg rename to packages/icon/svg/notifications-circle-outline.svg diff --git a/ui/icon/svg/notifications-circle-sharp.svg b/packages/icon/svg/notifications-circle-sharp.svg similarity index 100% rename from ui/icon/svg/notifications-circle-sharp.svg rename to packages/icon/svg/notifications-circle-sharp.svg diff --git a/ui/icon/svg/notifications-circle.svg b/packages/icon/svg/notifications-circle.svg similarity index 100% rename from ui/icon/svg/notifications-circle.svg rename to packages/icon/svg/notifications-circle.svg diff --git a/ui/icon/svg/notifications-off-circle-outline.svg b/packages/icon/svg/notifications-off-circle-outline.svg similarity index 100% rename from ui/icon/svg/notifications-off-circle-outline.svg rename to packages/icon/svg/notifications-off-circle-outline.svg diff --git a/ui/icon/svg/notifications-off-circle-sharp.svg b/packages/icon/svg/notifications-off-circle-sharp.svg similarity index 100% rename from ui/icon/svg/notifications-off-circle-sharp.svg rename to packages/icon/svg/notifications-off-circle-sharp.svg diff --git a/ui/icon/svg/notifications-off-circle.svg b/packages/icon/svg/notifications-off-circle.svg similarity index 100% rename from ui/icon/svg/notifications-off-circle.svg rename to packages/icon/svg/notifications-off-circle.svg diff --git a/ui/icon/svg/notifications-off-outline.svg b/packages/icon/svg/notifications-off-outline.svg similarity index 100% rename from ui/icon/svg/notifications-off-outline.svg rename to packages/icon/svg/notifications-off-outline.svg diff --git a/ui/icon/svg/notifications-off-sharp.svg b/packages/icon/svg/notifications-off-sharp.svg similarity index 100% rename from ui/icon/svg/notifications-off-sharp.svg rename to packages/icon/svg/notifications-off-sharp.svg diff --git a/ui/icon/svg/notifications-off.svg b/packages/icon/svg/notifications-off.svg similarity index 100% rename from ui/icon/svg/notifications-off.svg rename to packages/icon/svg/notifications-off.svg diff --git a/ui/icon/svg/notifications-outline.svg b/packages/icon/svg/notifications-outline.svg similarity index 100% rename from ui/icon/svg/notifications-outline.svg rename to packages/icon/svg/notifications-outline.svg diff --git a/ui/icon/svg/notifications-sharp.svg b/packages/icon/svg/notifications-sharp.svg similarity index 100% rename from ui/icon/svg/notifications-sharp.svg rename to packages/icon/svg/notifications-sharp.svg diff --git a/ui/icon/svg/notifications.svg b/packages/icon/svg/notifications.svg similarity index 100% rename from ui/icon/svg/notifications.svg rename to packages/icon/svg/notifications.svg diff --git a/ui/icon/svg/nuclear-outline.svg b/packages/icon/svg/nuclear-outline.svg similarity index 100% rename from ui/icon/svg/nuclear-outline.svg rename to packages/icon/svg/nuclear-outline.svg diff --git a/ui/icon/svg/nuclear-sharp.svg b/packages/icon/svg/nuclear-sharp.svg similarity index 100% rename from ui/icon/svg/nuclear-sharp.svg rename to packages/icon/svg/nuclear-sharp.svg diff --git a/ui/icon/svg/nuclear.svg b/packages/icon/svg/nuclear.svg similarity index 100% rename from ui/icon/svg/nuclear.svg rename to packages/icon/svg/nuclear.svg diff --git a/ui/icon/svg/nutrition-outline.svg b/packages/icon/svg/nutrition-outline.svg similarity index 100% rename from ui/icon/svg/nutrition-outline.svg rename to packages/icon/svg/nutrition-outline.svg diff --git a/ui/icon/svg/nutrition-sharp.svg b/packages/icon/svg/nutrition-sharp.svg similarity index 100% rename from ui/icon/svg/nutrition-sharp.svg rename to packages/icon/svg/nutrition-sharp.svg diff --git a/ui/icon/svg/nutrition.svg b/packages/icon/svg/nutrition.svg similarity index 100% rename from ui/icon/svg/nutrition.svg rename to packages/icon/svg/nutrition.svg diff --git a/ui/icon/svg/open-outline.svg b/packages/icon/svg/open-outline.svg similarity index 100% rename from ui/icon/svg/open-outline.svg rename to packages/icon/svg/open-outline.svg diff --git a/ui/icon/svg/open-sharp.svg b/packages/icon/svg/open-sharp.svg similarity index 100% rename from ui/icon/svg/open-sharp.svg rename to packages/icon/svg/open-sharp.svg diff --git a/ui/icon/svg/open.svg b/packages/icon/svg/open.svg similarity index 100% rename from ui/icon/svg/open.svg rename to packages/icon/svg/open.svg diff --git a/ui/icon/svg/options-outline.svg b/packages/icon/svg/options-outline.svg similarity index 100% rename from ui/icon/svg/options-outline.svg rename to packages/icon/svg/options-outline.svg diff --git a/ui/icon/svg/options-sharp.svg b/packages/icon/svg/options-sharp.svg similarity index 100% rename from ui/icon/svg/options-sharp.svg rename to packages/icon/svg/options-sharp.svg diff --git a/ui/icon/svg/options.svg b/packages/icon/svg/options.svg similarity index 100% rename from ui/icon/svg/options.svg rename to packages/icon/svg/options.svg diff --git a/ui/icon/svg/paper-plane-outline.svg b/packages/icon/svg/paper-plane-outline.svg similarity index 100% rename from ui/icon/svg/paper-plane-outline.svg rename to packages/icon/svg/paper-plane-outline.svg diff --git a/ui/icon/svg/paper-plane-sharp.svg b/packages/icon/svg/paper-plane-sharp.svg similarity index 100% rename from ui/icon/svg/paper-plane-sharp.svg rename to packages/icon/svg/paper-plane-sharp.svg diff --git a/ui/icon/svg/paper-plane.svg b/packages/icon/svg/paper-plane.svg similarity index 100% rename from ui/icon/svg/paper-plane.svg rename to packages/icon/svg/paper-plane.svg diff --git a/ui/icon/svg/partly-sunny-outline.svg b/packages/icon/svg/partly-sunny-outline.svg similarity index 100% rename from ui/icon/svg/partly-sunny-outline.svg rename to packages/icon/svg/partly-sunny-outline.svg diff --git a/ui/icon/svg/partly-sunny-sharp.svg b/packages/icon/svg/partly-sunny-sharp.svg similarity index 100% rename from ui/icon/svg/partly-sunny-sharp.svg rename to packages/icon/svg/partly-sunny-sharp.svg diff --git a/ui/icon/svg/partly-sunny.svg b/packages/icon/svg/partly-sunny.svg similarity index 100% rename from ui/icon/svg/partly-sunny.svg rename to packages/icon/svg/partly-sunny.svg diff --git a/ui/icon/svg/pause-circle-outline.svg b/packages/icon/svg/pause-circle-outline.svg similarity index 100% rename from ui/icon/svg/pause-circle-outline.svg rename to packages/icon/svg/pause-circle-outline.svg diff --git a/ui/icon/svg/pause-circle-sharp.svg b/packages/icon/svg/pause-circle-sharp.svg similarity index 100% rename from ui/icon/svg/pause-circle-sharp.svg rename to packages/icon/svg/pause-circle-sharp.svg diff --git a/ui/icon/svg/pause-circle.svg b/packages/icon/svg/pause-circle.svg similarity index 100% rename from ui/icon/svg/pause-circle.svg rename to packages/icon/svg/pause-circle.svg diff --git a/ui/icon/svg/pause-outline.svg b/packages/icon/svg/pause-outline.svg similarity index 100% rename from ui/icon/svg/pause-outline.svg rename to packages/icon/svg/pause-outline.svg diff --git a/ui/icon/svg/pause-sharp.svg b/packages/icon/svg/pause-sharp.svg similarity index 100% rename from ui/icon/svg/pause-sharp.svg rename to packages/icon/svg/pause-sharp.svg diff --git a/ui/icon/svg/pause.svg b/packages/icon/svg/pause.svg similarity index 100% rename from ui/icon/svg/pause.svg rename to packages/icon/svg/pause.svg diff --git a/ui/icon/svg/paw-outline.svg b/packages/icon/svg/paw-outline.svg similarity index 100% rename from ui/icon/svg/paw-outline.svg rename to packages/icon/svg/paw-outline.svg diff --git a/ui/icon/svg/paw-sharp.svg b/packages/icon/svg/paw-sharp.svg similarity index 100% rename from ui/icon/svg/paw-sharp.svg rename to packages/icon/svg/paw-sharp.svg diff --git a/ui/icon/svg/paw.svg b/packages/icon/svg/paw.svg similarity index 100% rename from ui/icon/svg/paw.svg rename to packages/icon/svg/paw.svg diff --git a/ui/icon/svg/pencil-outline.svg b/packages/icon/svg/pencil-outline.svg similarity index 100% rename from ui/icon/svg/pencil-outline.svg rename to packages/icon/svg/pencil-outline.svg diff --git a/ui/icon/svg/pencil-sharp.svg b/packages/icon/svg/pencil-sharp.svg similarity index 100% rename from ui/icon/svg/pencil-sharp.svg rename to packages/icon/svg/pencil-sharp.svg diff --git a/ui/icon/svg/pencil.svg b/packages/icon/svg/pencil.svg similarity index 100% rename from ui/icon/svg/pencil.svg rename to packages/icon/svg/pencil.svg diff --git a/ui/icon/svg/people-circle-outline.svg b/packages/icon/svg/people-circle-outline.svg similarity index 100% rename from ui/icon/svg/people-circle-outline.svg rename to packages/icon/svg/people-circle-outline.svg diff --git a/ui/icon/svg/people-circle-sharp.svg b/packages/icon/svg/people-circle-sharp.svg similarity index 100% rename from ui/icon/svg/people-circle-sharp.svg rename to packages/icon/svg/people-circle-sharp.svg diff --git a/ui/icon/svg/people-circle.svg b/packages/icon/svg/people-circle.svg similarity index 100% rename from ui/icon/svg/people-circle.svg rename to packages/icon/svg/people-circle.svg diff --git a/ui/icon/svg/people-outline.svg b/packages/icon/svg/people-outline.svg similarity index 100% rename from ui/icon/svg/people-outline.svg rename to packages/icon/svg/people-outline.svg diff --git a/ui/icon/svg/people-sharp.svg b/packages/icon/svg/people-sharp.svg similarity index 100% rename from ui/icon/svg/people-sharp.svg rename to packages/icon/svg/people-sharp.svg diff --git a/ui/icon/svg/people.svg b/packages/icon/svg/people.svg similarity index 100% rename from ui/icon/svg/people.svg rename to packages/icon/svg/people.svg diff --git a/ui/icon/svg/person-add-outline.svg b/packages/icon/svg/person-add-outline.svg similarity index 100% rename from ui/icon/svg/person-add-outline.svg rename to packages/icon/svg/person-add-outline.svg diff --git a/ui/icon/svg/person-add-sharp.svg b/packages/icon/svg/person-add-sharp.svg similarity index 100% rename from ui/icon/svg/person-add-sharp.svg rename to packages/icon/svg/person-add-sharp.svg diff --git a/ui/icon/svg/person-add.svg b/packages/icon/svg/person-add.svg similarity index 100% rename from ui/icon/svg/person-add.svg rename to packages/icon/svg/person-add.svg diff --git a/ui/icon/svg/person-circle-outline.svg b/packages/icon/svg/person-circle-outline.svg similarity index 100% rename from ui/icon/svg/person-circle-outline.svg rename to packages/icon/svg/person-circle-outline.svg diff --git a/ui/icon/svg/person-circle-sharp.svg b/packages/icon/svg/person-circle-sharp.svg similarity index 100% rename from ui/icon/svg/person-circle-sharp.svg rename to packages/icon/svg/person-circle-sharp.svg diff --git a/ui/icon/svg/person-circle.svg b/packages/icon/svg/person-circle.svg similarity index 100% rename from ui/icon/svg/person-circle.svg rename to packages/icon/svg/person-circle.svg diff --git a/ui/icon/svg/person-outline.svg b/packages/icon/svg/person-outline.svg similarity index 100% rename from ui/icon/svg/person-outline.svg rename to packages/icon/svg/person-outline.svg diff --git a/ui/icon/svg/person-remove-outline.svg b/packages/icon/svg/person-remove-outline.svg similarity index 100% rename from ui/icon/svg/person-remove-outline.svg rename to packages/icon/svg/person-remove-outline.svg diff --git a/ui/icon/svg/person-remove-sharp.svg b/packages/icon/svg/person-remove-sharp.svg similarity index 100% rename from ui/icon/svg/person-remove-sharp.svg rename to packages/icon/svg/person-remove-sharp.svg diff --git a/ui/icon/svg/person-remove.svg b/packages/icon/svg/person-remove.svg similarity index 100% rename from ui/icon/svg/person-remove.svg rename to packages/icon/svg/person-remove.svg diff --git a/ui/icon/svg/person-sharp.svg b/packages/icon/svg/person-sharp.svg similarity index 100% rename from ui/icon/svg/person-sharp.svg rename to packages/icon/svg/person-sharp.svg diff --git a/ui/icon/svg/person.svg b/packages/icon/svg/person.svg similarity index 100% rename from ui/icon/svg/person.svg rename to packages/icon/svg/person.svg diff --git a/ui/icon/svg/phone-landscape-outline.svg b/packages/icon/svg/phone-landscape-outline.svg similarity index 100% rename from ui/icon/svg/phone-landscape-outline.svg rename to packages/icon/svg/phone-landscape-outline.svg diff --git a/ui/icon/svg/phone-landscape-sharp.svg b/packages/icon/svg/phone-landscape-sharp.svg similarity index 100% rename from ui/icon/svg/phone-landscape-sharp.svg rename to packages/icon/svg/phone-landscape-sharp.svg diff --git a/ui/icon/svg/phone-landscape.svg b/packages/icon/svg/phone-landscape.svg similarity index 100% rename from ui/icon/svg/phone-landscape.svg rename to packages/icon/svg/phone-landscape.svg diff --git a/ui/icon/svg/phone-portrait-outline.svg b/packages/icon/svg/phone-portrait-outline.svg similarity index 100% rename from ui/icon/svg/phone-portrait-outline.svg rename to packages/icon/svg/phone-portrait-outline.svg diff --git a/ui/icon/svg/phone-portrait-sharp.svg b/packages/icon/svg/phone-portrait-sharp.svg similarity index 100% rename from ui/icon/svg/phone-portrait-sharp.svg rename to packages/icon/svg/phone-portrait-sharp.svg diff --git a/ui/icon/svg/phone-portrait.svg b/packages/icon/svg/phone-portrait.svg similarity index 100% rename from ui/icon/svg/phone-portrait.svg rename to packages/icon/svg/phone-portrait.svg diff --git a/ui/icon/svg/pie-chart-outline.svg b/packages/icon/svg/pie-chart-outline.svg similarity index 100% rename from ui/icon/svg/pie-chart-outline.svg rename to packages/icon/svg/pie-chart-outline.svg diff --git a/ui/icon/svg/pie-chart-sharp.svg b/packages/icon/svg/pie-chart-sharp.svg similarity index 100% rename from ui/icon/svg/pie-chart-sharp.svg rename to packages/icon/svg/pie-chart-sharp.svg diff --git a/ui/icon/svg/pie-chart.svg b/packages/icon/svg/pie-chart.svg similarity index 100% rename from ui/icon/svg/pie-chart.svg rename to packages/icon/svg/pie-chart.svg diff --git a/ui/icon/svg/pin-outline.svg b/packages/icon/svg/pin-outline.svg similarity index 100% rename from ui/icon/svg/pin-outline.svg rename to packages/icon/svg/pin-outline.svg diff --git a/ui/icon/svg/pin-sharp.svg b/packages/icon/svg/pin-sharp.svg similarity index 100% rename from ui/icon/svg/pin-sharp.svg rename to packages/icon/svg/pin-sharp.svg diff --git a/ui/icon/svg/pin.svg b/packages/icon/svg/pin.svg similarity index 100% rename from ui/icon/svg/pin.svg rename to packages/icon/svg/pin.svg diff --git a/ui/icon/svg/pint-outline.svg b/packages/icon/svg/pint-outline.svg similarity index 100% rename from ui/icon/svg/pint-outline.svg rename to packages/icon/svg/pint-outline.svg diff --git a/ui/icon/svg/pint-sharp.svg b/packages/icon/svg/pint-sharp.svg similarity index 100% rename from ui/icon/svg/pint-sharp.svg rename to packages/icon/svg/pint-sharp.svg diff --git a/ui/icon/svg/pint.svg b/packages/icon/svg/pint.svg similarity index 100% rename from ui/icon/svg/pint.svg rename to packages/icon/svg/pint.svg diff --git a/ui/icon/svg/pizza-outline.svg b/packages/icon/svg/pizza-outline.svg similarity index 100% rename from ui/icon/svg/pizza-outline.svg rename to packages/icon/svg/pizza-outline.svg diff --git a/ui/icon/svg/pizza-sharp.svg b/packages/icon/svg/pizza-sharp.svg similarity index 100% rename from ui/icon/svg/pizza-sharp.svg rename to packages/icon/svg/pizza-sharp.svg diff --git a/ui/icon/svg/pizza.svg b/packages/icon/svg/pizza.svg similarity index 100% rename from ui/icon/svg/pizza.svg rename to packages/icon/svg/pizza.svg diff --git a/ui/icon/svg/planet-outline.svg b/packages/icon/svg/planet-outline.svg similarity index 100% rename from ui/icon/svg/planet-outline.svg rename to packages/icon/svg/planet-outline.svg diff --git a/ui/icon/svg/planet-sharp.svg b/packages/icon/svg/planet-sharp.svg similarity index 100% rename from ui/icon/svg/planet-sharp.svg rename to packages/icon/svg/planet-sharp.svg diff --git a/ui/icon/svg/planet.svg b/packages/icon/svg/planet.svg similarity index 100% rename from ui/icon/svg/planet.svg rename to packages/icon/svg/planet.svg diff --git a/ui/icon/svg/play-back-circle-outline.svg b/packages/icon/svg/play-back-circle-outline.svg similarity index 100% rename from ui/icon/svg/play-back-circle-outline.svg rename to packages/icon/svg/play-back-circle-outline.svg diff --git a/ui/icon/svg/play-back-circle-sharp.svg b/packages/icon/svg/play-back-circle-sharp.svg similarity index 100% rename from ui/icon/svg/play-back-circle-sharp.svg rename to packages/icon/svg/play-back-circle-sharp.svg diff --git a/ui/icon/svg/play-back-circle.svg b/packages/icon/svg/play-back-circle.svg similarity index 100% rename from ui/icon/svg/play-back-circle.svg rename to packages/icon/svg/play-back-circle.svg diff --git a/ui/icon/svg/play-back-outline.svg b/packages/icon/svg/play-back-outline.svg similarity index 100% rename from ui/icon/svg/play-back-outline.svg rename to packages/icon/svg/play-back-outline.svg diff --git a/ui/icon/svg/play-back-sharp.svg b/packages/icon/svg/play-back-sharp.svg similarity index 100% rename from ui/icon/svg/play-back-sharp.svg rename to packages/icon/svg/play-back-sharp.svg diff --git a/ui/icon/svg/play-back.svg b/packages/icon/svg/play-back.svg similarity index 100% rename from ui/icon/svg/play-back.svg rename to packages/icon/svg/play-back.svg diff --git a/ui/icon/svg/play-circle-outline.svg b/packages/icon/svg/play-circle-outline.svg similarity index 100% rename from ui/icon/svg/play-circle-outline.svg rename to packages/icon/svg/play-circle-outline.svg diff --git a/ui/icon/svg/play-circle-sharp.svg b/packages/icon/svg/play-circle-sharp.svg similarity index 100% rename from ui/icon/svg/play-circle-sharp.svg rename to packages/icon/svg/play-circle-sharp.svg diff --git a/ui/icon/svg/play-circle.svg b/packages/icon/svg/play-circle.svg similarity index 100% rename from ui/icon/svg/play-circle.svg rename to packages/icon/svg/play-circle.svg diff --git a/ui/icon/svg/play-forward-circle-outline.svg b/packages/icon/svg/play-forward-circle-outline.svg similarity index 100% rename from ui/icon/svg/play-forward-circle-outline.svg rename to packages/icon/svg/play-forward-circle-outline.svg diff --git a/ui/icon/svg/play-forward-circle-sharp.svg b/packages/icon/svg/play-forward-circle-sharp.svg similarity index 100% rename from ui/icon/svg/play-forward-circle-sharp.svg rename to packages/icon/svg/play-forward-circle-sharp.svg diff --git a/ui/icon/svg/play-forward-circle.svg b/packages/icon/svg/play-forward-circle.svg similarity index 100% rename from ui/icon/svg/play-forward-circle.svg rename to packages/icon/svg/play-forward-circle.svg diff --git a/ui/icon/svg/play-forward-outline.svg b/packages/icon/svg/play-forward-outline.svg similarity index 100% rename from ui/icon/svg/play-forward-outline.svg rename to packages/icon/svg/play-forward-outline.svg diff --git a/ui/icon/svg/play-forward-sharp.svg b/packages/icon/svg/play-forward-sharp.svg similarity index 100% rename from ui/icon/svg/play-forward-sharp.svg rename to packages/icon/svg/play-forward-sharp.svg diff --git a/ui/icon/svg/play-forward.svg b/packages/icon/svg/play-forward.svg similarity index 100% rename from ui/icon/svg/play-forward.svg rename to packages/icon/svg/play-forward.svg diff --git a/ui/icon/svg/play-outline.svg b/packages/icon/svg/play-outline.svg similarity index 100% rename from ui/icon/svg/play-outline.svg rename to packages/icon/svg/play-outline.svg diff --git a/ui/icon/svg/play-sharp.svg b/packages/icon/svg/play-sharp.svg similarity index 100% rename from ui/icon/svg/play-sharp.svg rename to packages/icon/svg/play-sharp.svg diff --git a/ui/icon/svg/play-skip-back-circle-outline.svg b/packages/icon/svg/play-skip-back-circle-outline.svg similarity index 100% rename from ui/icon/svg/play-skip-back-circle-outline.svg rename to packages/icon/svg/play-skip-back-circle-outline.svg diff --git a/ui/icon/svg/play-skip-back-circle-sharp.svg b/packages/icon/svg/play-skip-back-circle-sharp.svg similarity index 100% rename from ui/icon/svg/play-skip-back-circle-sharp.svg rename to packages/icon/svg/play-skip-back-circle-sharp.svg diff --git a/ui/icon/svg/play-skip-back-circle.svg b/packages/icon/svg/play-skip-back-circle.svg similarity index 100% rename from ui/icon/svg/play-skip-back-circle.svg rename to packages/icon/svg/play-skip-back-circle.svg diff --git a/ui/icon/svg/play-skip-back-outline.svg b/packages/icon/svg/play-skip-back-outline.svg similarity index 100% rename from ui/icon/svg/play-skip-back-outline.svg rename to packages/icon/svg/play-skip-back-outline.svg diff --git a/ui/icon/svg/play-skip-back-sharp.svg b/packages/icon/svg/play-skip-back-sharp.svg similarity index 100% rename from ui/icon/svg/play-skip-back-sharp.svg rename to packages/icon/svg/play-skip-back-sharp.svg diff --git a/ui/icon/svg/play-skip-back.svg b/packages/icon/svg/play-skip-back.svg similarity index 100% rename from ui/icon/svg/play-skip-back.svg rename to packages/icon/svg/play-skip-back.svg diff --git a/ui/icon/svg/play-skip-forward-circle-outline.svg b/packages/icon/svg/play-skip-forward-circle-outline.svg similarity index 100% rename from ui/icon/svg/play-skip-forward-circle-outline.svg rename to packages/icon/svg/play-skip-forward-circle-outline.svg diff --git a/ui/icon/svg/play-skip-forward-circle-sharp.svg b/packages/icon/svg/play-skip-forward-circle-sharp.svg similarity index 100% rename from ui/icon/svg/play-skip-forward-circle-sharp.svg rename to packages/icon/svg/play-skip-forward-circle-sharp.svg diff --git a/ui/icon/svg/play-skip-forward-circle.svg b/packages/icon/svg/play-skip-forward-circle.svg similarity index 100% rename from ui/icon/svg/play-skip-forward-circle.svg rename to packages/icon/svg/play-skip-forward-circle.svg diff --git a/ui/icon/svg/play-skip-forward-outline.svg b/packages/icon/svg/play-skip-forward-outline.svg similarity index 100% rename from ui/icon/svg/play-skip-forward-outline.svg rename to packages/icon/svg/play-skip-forward-outline.svg diff --git a/ui/icon/svg/play-skip-forward-sharp.svg b/packages/icon/svg/play-skip-forward-sharp.svg similarity index 100% rename from ui/icon/svg/play-skip-forward-sharp.svg rename to packages/icon/svg/play-skip-forward-sharp.svg diff --git a/ui/icon/svg/play-skip-forward.svg b/packages/icon/svg/play-skip-forward.svg similarity index 100% rename from ui/icon/svg/play-skip-forward.svg rename to packages/icon/svg/play-skip-forward.svg diff --git a/ui/icon/svg/play.svg b/packages/icon/svg/play.svg similarity index 100% rename from ui/icon/svg/play.svg rename to packages/icon/svg/play.svg diff --git a/ui/icon/svg/podium-outline.svg b/packages/icon/svg/podium-outline.svg similarity index 100% rename from ui/icon/svg/podium-outline.svg rename to packages/icon/svg/podium-outline.svg diff --git a/ui/icon/svg/podium-sharp.svg b/packages/icon/svg/podium-sharp.svg similarity index 100% rename from ui/icon/svg/podium-sharp.svg rename to packages/icon/svg/podium-sharp.svg diff --git a/ui/icon/svg/podium.svg b/packages/icon/svg/podium.svg similarity index 100% rename from ui/icon/svg/podium.svg rename to packages/icon/svg/podium.svg diff --git a/ui/icon/svg/power-outline.svg b/packages/icon/svg/power-outline.svg similarity index 100% rename from ui/icon/svg/power-outline.svg rename to packages/icon/svg/power-outline.svg diff --git a/ui/icon/svg/power-sharp.svg b/packages/icon/svg/power-sharp.svg similarity index 100% rename from ui/icon/svg/power-sharp.svg rename to packages/icon/svg/power-sharp.svg diff --git a/ui/icon/svg/power.svg b/packages/icon/svg/power.svg similarity index 100% rename from ui/icon/svg/power.svg rename to packages/icon/svg/power.svg diff --git a/ui/icon/svg/pricetag-outline.svg b/packages/icon/svg/pricetag-outline.svg similarity index 100% rename from ui/icon/svg/pricetag-outline.svg rename to packages/icon/svg/pricetag-outline.svg diff --git a/ui/icon/svg/pricetag-sharp.svg b/packages/icon/svg/pricetag-sharp.svg similarity index 100% rename from ui/icon/svg/pricetag-sharp.svg rename to packages/icon/svg/pricetag-sharp.svg diff --git a/ui/icon/svg/pricetag.svg b/packages/icon/svg/pricetag.svg similarity index 100% rename from ui/icon/svg/pricetag.svg rename to packages/icon/svg/pricetag.svg diff --git a/ui/icon/svg/pricetags-outline.svg b/packages/icon/svg/pricetags-outline.svg similarity index 100% rename from ui/icon/svg/pricetags-outline.svg rename to packages/icon/svg/pricetags-outline.svg diff --git a/ui/icon/svg/pricetags-sharp.svg b/packages/icon/svg/pricetags-sharp.svg similarity index 100% rename from ui/icon/svg/pricetags-sharp.svg rename to packages/icon/svg/pricetags-sharp.svg diff --git a/ui/icon/svg/pricetags.svg b/packages/icon/svg/pricetags.svg similarity index 100% rename from ui/icon/svg/pricetags.svg rename to packages/icon/svg/pricetags.svg diff --git a/ui/icon/svg/print-outline.svg b/packages/icon/svg/print-outline.svg similarity index 100% rename from ui/icon/svg/print-outline.svg rename to packages/icon/svg/print-outline.svg diff --git a/ui/icon/svg/print-sharp.svg b/packages/icon/svg/print-sharp.svg similarity index 100% rename from ui/icon/svg/print-sharp.svg rename to packages/icon/svg/print-sharp.svg diff --git a/ui/icon/svg/print.svg b/packages/icon/svg/print.svg similarity index 100% rename from ui/icon/svg/print.svg rename to packages/icon/svg/print.svg diff --git a/ui/icon/svg/prism-outline.svg b/packages/icon/svg/prism-outline.svg similarity index 100% rename from ui/icon/svg/prism-outline.svg rename to packages/icon/svg/prism-outline.svg diff --git a/ui/icon/svg/prism-sharp.svg b/packages/icon/svg/prism-sharp.svg similarity index 100% rename from ui/icon/svg/prism-sharp.svg rename to packages/icon/svg/prism-sharp.svg diff --git a/ui/icon/svg/prism.svg b/packages/icon/svg/prism.svg similarity index 100% rename from ui/icon/svg/prism.svg rename to packages/icon/svg/prism.svg diff --git a/ui/icon/svg/pulse-outline.svg b/packages/icon/svg/pulse-outline.svg similarity index 100% rename from ui/icon/svg/pulse-outline.svg rename to packages/icon/svg/pulse-outline.svg diff --git a/ui/icon/svg/pulse-sharp.svg b/packages/icon/svg/pulse-sharp.svg similarity index 100% rename from ui/icon/svg/pulse-sharp.svg rename to packages/icon/svg/pulse-sharp.svg diff --git a/ui/icon/svg/pulse.svg b/packages/icon/svg/pulse.svg similarity index 100% rename from ui/icon/svg/pulse.svg rename to packages/icon/svg/pulse.svg diff --git a/ui/icon/svg/push-outline.svg b/packages/icon/svg/push-outline.svg similarity index 100% rename from ui/icon/svg/push-outline.svg rename to packages/icon/svg/push-outline.svg diff --git a/ui/icon/svg/push-sharp.svg b/packages/icon/svg/push-sharp.svg similarity index 100% rename from ui/icon/svg/push-sharp.svg rename to packages/icon/svg/push-sharp.svg diff --git a/ui/icon/svg/push.svg b/packages/icon/svg/push.svg similarity index 100% rename from ui/icon/svg/push.svg rename to packages/icon/svg/push.svg diff --git a/ui/icon/svg/qr-code-outline.svg b/packages/icon/svg/qr-code-outline.svg similarity index 100% rename from ui/icon/svg/qr-code-outline.svg rename to packages/icon/svg/qr-code-outline.svg diff --git a/ui/icon/svg/qr-code-sharp.svg b/packages/icon/svg/qr-code-sharp.svg similarity index 100% rename from ui/icon/svg/qr-code-sharp.svg rename to packages/icon/svg/qr-code-sharp.svg diff --git a/ui/icon/svg/qr-code.svg b/packages/icon/svg/qr-code.svg similarity index 100% rename from ui/icon/svg/qr-code.svg rename to packages/icon/svg/qr-code.svg diff --git a/ui/icon/svg/radio-button-off-outline.svg b/packages/icon/svg/radio-button-off-outline.svg similarity index 100% rename from ui/icon/svg/radio-button-off-outline.svg rename to packages/icon/svg/radio-button-off-outline.svg diff --git a/ui/icon/svg/radio-button-off-sharp.svg b/packages/icon/svg/radio-button-off-sharp.svg similarity index 100% rename from ui/icon/svg/radio-button-off-sharp.svg rename to packages/icon/svg/radio-button-off-sharp.svg diff --git a/ui/icon/svg/radio-button-off.svg b/packages/icon/svg/radio-button-off.svg similarity index 100% rename from ui/icon/svg/radio-button-off.svg rename to packages/icon/svg/radio-button-off.svg diff --git a/ui/icon/svg/radio-button-on-outline.svg b/packages/icon/svg/radio-button-on-outline.svg similarity index 100% rename from ui/icon/svg/radio-button-on-outline.svg rename to packages/icon/svg/radio-button-on-outline.svg diff --git a/ui/icon/svg/radio-button-on-sharp.svg b/packages/icon/svg/radio-button-on-sharp.svg similarity index 100% rename from ui/icon/svg/radio-button-on-sharp.svg rename to packages/icon/svg/radio-button-on-sharp.svg diff --git a/ui/icon/svg/radio-button-on.svg b/packages/icon/svg/radio-button-on.svg similarity index 100% rename from ui/icon/svg/radio-button-on.svg rename to packages/icon/svg/radio-button-on.svg diff --git a/ui/icon/svg/radio-outline.svg b/packages/icon/svg/radio-outline.svg similarity index 100% rename from ui/icon/svg/radio-outline.svg rename to packages/icon/svg/radio-outline.svg diff --git a/ui/icon/svg/radio-sharp.svg b/packages/icon/svg/radio-sharp.svg similarity index 100% rename from ui/icon/svg/radio-sharp.svg rename to packages/icon/svg/radio-sharp.svg diff --git a/ui/icon/svg/radio.svg b/packages/icon/svg/radio.svg similarity index 100% rename from ui/icon/svg/radio.svg rename to packages/icon/svg/radio.svg diff --git a/ui/icon/svg/rainy-outline.svg b/packages/icon/svg/rainy-outline.svg similarity index 100% rename from ui/icon/svg/rainy-outline.svg rename to packages/icon/svg/rainy-outline.svg diff --git a/ui/icon/svg/rainy-sharp.svg b/packages/icon/svg/rainy-sharp.svg similarity index 100% rename from ui/icon/svg/rainy-sharp.svg rename to packages/icon/svg/rainy-sharp.svg diff --git a/ui/icon/svg/rainy.svg b/packages/icon/svg/rainy.svg similarity index 100% rename from ui/icon/svg/rainy.svg rename to packages/icon/svg/rainy.svg diff --git a/ui/icon/svg/reader-outline.svg b/packages/icon/svg/reader-outline.svg similarity index 100% rename from ui/icon/svg/reader-outline.svg rename to packages/icon/svg/reader-outline.svg diff --git a/ui/icon/svg/reader-sharp.svg b/packages/icon/svg/reader-sharp.svg similarity index 100% rename from ui/icon/svg/reader-sharp.svg rename to packages/icon/svg/reader-sharp.svg diff --git a/ui/icon/svg/reader.svg b/packages/icon/svg/reader.svg similarity index 100% rename from ui/icon/svg/reader.svg rename to packages/icon/svg/reader.svg diff --git a/ui/icon/svg/receipt-outline.svg b/packages/icon/svg/receipt-outline.svg similarity index 100% rename from ui/icon/svg/receipt-outline.svg rename to packages/icon/svg/receipt-outline.svg diff --git a/ui/icon/svg/receipt-sharp.svg b/packages/icon/svg/receipt-sharp.svg similarity index 100% rename from ui/icon/svg/receipt-sharp.svg rename to packages/icon/svg/receipt-sharp.svg diff --git a/ui/icon/svg/receipt.svg b/packages/icon/svg/receipt.svg similarity index 100% rename from ui/icon/svg/receipt.svg rename to packages/icon/svg/receipt.svg diff --git a/ui/icon/svg/recording-outline.svg b/packages/icon/svg/recording-outline.svg similarity index 100% rename from ui/icon/svg/recording-outline.svg rename to packages/icon/svg/recording-outline.svg diff --git a/ui/icon/svg/recording-sharp.svg b/packages/icon/svg/recording-sharp.svg similarity index 100% rename from ui/icon/svg/recording-sharp.svg rename to packages/icon/svg/recording-sharp.svg diff --git a/ui/icon/svg/recording.svg b/packages/icon/svg/recording.svg similarity index 100% rename from ui/icon/svg/recording.svg rename to packages/icon/svg/recording.svg diff --git a/ui/icon/svg/refresh-circle-outline.svg b/packages/icon/svg/refresh-circle-outline.svg similarity index 100% rename from ui/icon/svg/refresh-circle-outline.svg rename to packages/icon/svg/refresh-circle-outline.svg diff --git a/ui/icon/svg/refresh-circle-sharp.svg b/packages/icon/svg/refresh-circle-sharp.svg similarity index 100% rename from ui/icon/svg/refresh-circle-sharp.svg rename to packages/icon/svg/refresh-circle-sharp.svg diff --git a/ui/icon/svg/refresh-circle.svg b/packages/icon/svg/refresh-circle.svg similarity index 100% rename from ui/icon/svg/refresh-circle.svg rename to packages/icon/svg/refresh-circle.svg diff --git a/ui/icon/svg/refresh-outline.svg b/packages/icon/svg/refresh-outline.svg similarity index 100% rename from ui/icon/svg/refresh-outline.svg rename to packages/icon/svg/refresh-outline.svg diff --git a/ui/icon/svg/refresh-sharp.svg b/packages/icon/svg/refresh-sharp.svg similarity index 100% rename from ui/icon/svg/refresh-sharp.svg rename to packages/icon/svg/refresh-sharp.svg diff --git a/ui/icon/svg/refresh.svg b/packages/icon/svg/refresh.svg similarity index 100% rename from ui/icon/svg/refresh.svg rename to packages/icon/svg/refresh.svg diff --git a/ui/icon/svg/reload-circle-outline.svg b/packages/icon/svg/reload-circle-outline.svg similarity index 100% rename from ui/icon/svg/reload-circle-outline.svg rename to packages/icon/svg/reload-circle-outline.svg diff --git a/ui/icon/svg/reload-circle-sharp.svg b/packages/icon/svg/reload-circle-sharp.svg similarity index 100% rename from ui/icon/svg/reload-circle-sharp.svg rename to packages/icon/svg/reload-circle-sharp.svg diff --git a/ui/icon/svg/reload-circle.svg b/packages/icon/svg/reload-circle.svg similarity index 100% rename from ui/icon/svg/reload-circle.svg rename to packages/icon/svg/reload-circle.svg diff --git a/ui/icon/svg/reload-outline.svg b/packages/icon/svg/reload-outline.svg similarity index 100% rename from ui/icon/svg/reload-outline.svg rename to packages/icon/svg/reload-outline.svg diff --git a/ui/icon/svg/reload-sharp.svg b/packages/icon/svg/reload-sharp.svg similarity index 100% rename from ui/icon/svg/reload-sharp.svg rename to packages/icon/svg/reload-sharp.svg diff --git a/ui/icon/svg/reload.svg b/packages/icon/svg/reload.svg similarity index 100% rename from ui/icon/svg/reload.svg rename to packages/icon/svg/reload.svg diff --git a/ui/icon/svg/remove-circle-outline.svg b/packages/icon/svg/remove-circle-outline.svg similarity index 100% rename from ui/icon/svg/remove-circle-outline.svg rename to packages/icon/svg/remove-circle-outline.svg diff --git a/ui/icon/svg/remove-circle-sharp.svg b/packages/icon/svg/remove-circle-sharp.svg similarity index 100% rename from ui/icon/svg/remove-circle-sharp.svg rename to packages/icon/svg/remove-circle-sharp.svg diff --git a/ui/icon/svg/remove-circle.svg b/packages/icon/svg/remove-circle.svg similarity index 100% rename from ui/icon/svg/remove-circle.svg rename to packages/icon/svg/remove-circle.svg diff --git a/ui/icon/svg/remove-outline.svg b/packages/icon/svg/remove-outline.svg similarity index 100% rename from ui/icon/svg/remove-outline.svg rename to packages/icon/svg/remove-outline.svg diff --git a/ui/icon/svg/remove-sharp.svg b/packages/icon/svg/remove-sharp.svg similarity index 100% rename from ui/icon/svg/remove-sharp.svg rename to packages/icon/svg/remove-sharp.svg diff --git a/ui/icon/svg/remove.svg b/packages/icon/svg/remove.svg similarity index 100% rename from ui/icon/svg/remove.svg rename to packages/icon/svg/remove.svg diff --git a/ui/icon/svg/reorder-four-outline.svg b/packages/icon/svg/reorder-four-outline.svg similarity index 100% rename from ui/icon/svg/reorder-four-outline.svg rename to packages/icon/svg/reorder-four-outline.svg diff --git a/ui/icon/svg/reorder-four-sharp.svg b/packages/icon/svg/reorder-four-sharp.svg similarity index 100% rename from ui/icon/svg/reorder-four-sharp.svg rename to packages/icon/svg/reorder-four-sharp.svg diff --git a/ui/icon/svg/reorder-four.svg b/packages/icon/svg/reorder-four.svg similarity index 100% rename from ui/icon/svg/reorder-four.svg rename to packages/icon/svg/reorder-four.svg diff --git a/ui/icon/svg/reorder-three-outline.svg b/packages/icon/svg/reorder-three-outline.svg similarity index 100% rename from ui/icon/svg/reorder-three-outline.svg rename to packages/icon/svg/reorder-three-outline.svg diff --git a/ui/icon/svg/reorder-three-sharp.svg b/packages/icon/svg/reorder-three-sharp.svg similarity index 100% rename from ui/icon/svg/reorder-three-sharp.svg rename to packages/icon/svg/reorder-three-sharp.svg diff --git a/ui/icon/svg/reorder-three.svg b/packages/icon/svg/reorder-three.svg similarity index 100% rename from ui/icon/svg/reorder-three.svg rename to packages/icon/svg/reorder-three.svg diff --git a/ui/icon/svg/reorder-two-outline.svg b/packages/icon/svg/reorder-two-outline.svg similarity index 100% rename from ui/icon/svg/reorder-two-outline.svg rename to packages/icon/svg/reorder-two-outline.svg diff --git a/ui/icon/svg/reorder-two-sharp.svg b/packages/icon/svg/reorder-two-sharp.svg similarity index 100% rename from ui/icon/svg/reorder-two-sharp.svg rename to packages/icon/svg/reorder-two-sharp.svg diff --git a/ui/icon/svg/reorder-two.svg b/packages/icon/svg/reorder-two.svg similarity index 100% rename from ui/icon/svg/reorder-two.svg rename to packages/icon/svg/reorder-two.svg diff --git a/ui/icon/svg/repeat-outline.svg b/packages/icon/svg/repeat-outline.svg similarity index 100% rename from ui/icon/svg/repeat-outline.svg rename to packages/icon/svg/repeat-outline.svg diff --git a/ui/icon/svg/repeat-sharp.svg b/packages/icon/svg/repeat-sharp.svg similarity index 100% rename from ui/icon/svg/repeat-sharp.svg rename to packages/icon/svg/repeat-sharp.svg diff --git a/ui/icon/svg/repeat.svg b/packages/icon/svg/repeat.svg similarity index 100% rename from ui/icon/svg/repeat.svg rename to packages/icon/svg/repeat.svg diff --git a/ui/icon/svg/resize-outline.svg b/packages/icon/svg/resize-outline.svg similarity index 100% rename from ui/icon/svg/resize-outline.svg rename to packages/icon/svg/resize-outline.svg diff --git a/ui/icon/svg/resize-sharp.svg b/packages/icon/svg/resize-sharp.svg similarity index 100% rename from ui/icon/svg/resize-sharp.svg rename to packages/icon/svg/resize-sharp.svg diff --git a/ui/icon/svg/resize.svg b/packages/icon/svg/resize.svg similarity index 100% rename from ui/icon/svg/resize.svg rename to packages/icon/svg/resize.svg diff --git a/ui/icon/svg/restaurant-outline.svg b/packages/icon/svg/restaurant-outline.svg similarity index 100% rename from ui/icon/svg/restaurant-outline.svg rename to packages/icon/svg/restaurant-outline.svg diff --git a/ui/icon/svg/restaurant-sharp.svg b/packages/icon/svg/restaurant-sharp.svg similarity index 100% rename from ui/icon/svg/restaurant-sharp.svg rename to packages/icon/svg/restaurant-sharp.svg diff --git a/ui/icon/svg/restaurant.svg b/packages/icon/svg/restaurant.svg similarity index 100% rename from ui/icon/svg/restaurant.svg rename to packages/icon/svg/restaurant.svg diff --git a/ui/icon/svg/return-down-back-outline.svg b/packages/icon/svg/return-down-back-outline.svg similarity index 100% rename from ui/icon/svg/return-down-back-outline.svg rename to packages/icon/svg/return-down-back-outline.svg diff --git a/ui/icon/svg/return-down-back-sharp.svg b/packages/icon/svg/return-down-back-sharp.svg similarity index 100% rename from ui/icon/svg/return-down-back-sharp.svg rename to packages/icon/svg/return-down-back-sharp.svg diff --git a/ui/icon/svg/return-down-back.svg b/packages/icon/svg/return-down-back.svg similarity index 100% rename from ui/icon/svg/return-down-back.svg rename to packages/icon/svg/return-down-back.svg diff --git a/ui/icon/svg/return-down-forward-outline.svg b/packages/icon/svg/return-down-forward-outline.svg similarity index 100% rename from ui/icon/svg/return-down-forward-outline.svg rename to packages/icon/svg/return-down-forward-outline.svg diff --git a/ui/icon/svg/return-down-forward-sharp.svg b/packages/icon/svg/return-down-forward-sharp.svg similarity index 100% rename from ui/icon/svg/return-down-forward-sharp.svg rename to packages/icon/svg/return-down-forward-sharp.svg diff --git a/ui/icon/svg/return-down-forward.svg b/packages/icon/svg/return-down-forward.svg similarity index 100% rename from ui/icon/svg/return-down-forward.svg rename to packages/icon/svg/return-down-forward.svg diff --git a/ui/icon/svg/return-up-back-outline.svg b/packages/icon/svg/return-up-back-outline.svg similarity index 100% rename from ui/icon/svg/return-up-back-outline.svg rename to packages/icon/svg/return-up-back-outline.svg diff --git a/ui/icon/svg/return-up-back-sharp.svg b/packages/icon/svg/return-up-back-sharp.svg similarity index 100% rename from ui/icon/svg/return-up-back-sharp.svg rename to packages/icon/svg/return-up-back-sharp.svg diff --git a/ui/icon/svg/return-up-back.svg b/packages/icon/svg/return-up-back.svg similarity index 100% rename from ui/icon/svg/return-up-back.svg rename to packages/icon/svg/return-up-back.svg diff --git a/ui/icon/svg/return-up-forward-outline.svg b/packages/icon/svg/return-up-forward-outline.svg similarity index 100% rename from ui/icon/svg/return-up-forward-outline.svg rename to packages/icon/svg/return-up-forward-outline.svg diff --git a/ui/icon/svg/return-up-forward-sharp.svg b/packages/icon/svg/return-up-forward-sharp.svg similarity index 100% rename from ui/icon/svg/return-up-forward-sharp.svg rename to packages/icon/svg/return-up-forward-sharp.svg diff --git a/ui/icon/svg/return-up-forward.svg b/packages/icon/svg/return-up-forward.svg similarity index 100% rename from ui/icon/svg/return-up-forward.svg rename to packages/icon/svg/return-up-forward.svg diff --git a/ui/icon/svg/ribbon-outline.svg b/packages/icon/svg/ribbon-outline.svg similarity index 100% rename from ui/icon/svg/ribbon-outline.svg rename to packages/icon/svg/ribbon-outline.svg diff --git a/ui/icon/svg/ribbon-sharp.svg b/packages/icon/svg/ribbon-sharp.svg similarity index 100% rename from ui/icon/svg/ribbon-sharp.svg rename to packages/icon/svg/ribbon-sharp.svg diff --git a/ui/icon/svg/ribbon.svg b/packages/icon/svg/ribbon.svg similarity index 100% rename from ui/icon/svg/ribbon.svg rename to packages/icon/svg/ribbon.svg diff --git a/ui/icon/svg/rocket-outline.svg b/packages/icon/svg/rocket-outline.svg similarity index 100% rename from ui/icon/svg/rocket-outline.svg rename to packages/icon/svg/rocket-outline.svg diff --git a/ui/icon/svg/rocket-sharp.svg b/packages/icon/svg/rocket-sharp.svg similarity index 100% rename from ui/icon/svg/rocket-sharp.svg rename to packages/icon/svg/rocket-sharp.svg diff --git a/ui/icon/svg/rocket.svg b/packages/icon/svg/rocket.svg similarity index 100% rename from ui/icon/svg/rocket.svg rename to packages/icon/svg/rocket.svg diff --git a/ui/icon/svg/rose-outline.svg b/packages/icon/svg/rose-outline.svg similarity index 100% rename from ui/icon/svg/rose-outline.svg rename to packages/icon/svg/rose-outline.svg diff --git a/ui/icon/svg/rose-sharp.svg b/packages/icon/svg/rose-sharp.svg similarity index 100% rename from ui/icon/svg/rose-sharp.svg rename to packages/icon/svg/rose-sharp.svg diff --git a/ui/icon/svg/rose.svg b/packages/icon/svg/rose.svg similarity index 100% rename from ui/icon/svg/rose.svg rename to packages/icon/svg/rose.svg diff --git a/ui/icon/svg/sad-outline.svg b/packages/icon/svg/sad-outline.svg similarity index 100% rename from ui/icon/svg/sad-outline.svg rename to packages/icon/svg/sad-outline.svg diff --git a/ui/icon/svg/sad-sharp.svg b/packages/icon/svg/sad-sharp.svg similarity index 100% rename from ui/icon/svg/sad-sharp.svg rename to packages/icon/svg/sad-sharp.svg diff --git a/ui/icon/svg/sad.svg b/packages/icon/svg/sad.svg similarity index 100% rename from ui/icon/svg/sad.svg rename to packages/icon/svg/sad.svg diff --git a/ui/icon/svg/save-outline.svg b/packages/icon/svg/save-outline.svg similarity index 100% rename from ui/icon/svg/save-outline.svg rename to packages/icon/svg/save-outline.svg diff --git a/ui/icon/svg/save-sharp.svg b/packages/icon/svg/save-sharp.svg similarity index 100% rename from ui/icon/svg/save-sharp.svg rename to packages/icon/svg/save-sharp.svg diff --git a/ui/icon/svg/save.svg b/packages/icon/svg/save.svg similarity index 100% rename from ui/icon/svg/save.svg rename to packages/icon/svg/save.svg diff --git a/ui/icon/svg/scale-outline.svg b/packages/icon/svg/scale-outline.svg similarity index 100% rename from ui/icon/svg/scale-outline.svg rename to packages/icon/svg/scale-outline.svg diff --git a/ui/icon/svg/scale-sharp.svg b/packages/icon/svg/scale-sharp.svg similarity index 100% rename from ui/icon/svg/scale-sharp.svg rename to packages/icon/svg/scale-sharp.svg diff --git a/ui/icon/svg/scale.svg b/packages/icon/svg/scale.svg similarity index 100% rename from ui/icon/svg/scale.svg rename to packages/icon/svg/scale.svg diff --git a/ui/icon/svg/scan-circle-outline.svg b/packages/icon/svg/scan-circle-outline.svg similarity index 100% rename from ui/icon/svg/scan-circle-outline.svg rename to packages/icon/svg/scan-circle-outline.svg diff --git a/ui/icon/svg/scan-circle-sharp.svg b/packages/icon/svg/scan-circle-sharp.svg similarity index 100% rename from ui/icon/svg/scan-circle-sharp.svg rename to packages/icon/svg/scan-circle-sharp.svg diff --git a/ui/icon/svg/scan-circle.svg b/packages/icon/svg/scan-circle.svg similarity index 100% rename from ui/icon/svg/scan-circle.svg rename to packages/icon/svg/scan-circle.svg diff --git a/ui/icon/svg/scan-outline.svg b/packages/icon/svg/scan-outline.svg similarity index 100% rename from ui/icon/svg/scan-outline.svg rename to packages/icon/svg/scan-outline.svg diff --git a/ui/icon/svg/scan-sharp.svg b/packages/icon/svg/scan-sharp.svg similarity index 100% rename from ui/icon/svg/scan-sharp.svg rename to packages/icon/svg/scan-sharp.svg diff --git a/ui/icon/svg/scan.svg b/packages/icon/svg/scan.svg similarity index 100% rename from ui/icon/svg/scan.svg rename to packages/icon/svg/scan.svg diff --git a/ui/icon/svg/school-outline.svg b/packages/icon/svg/school-outline.svg similarity index 100% rename from ui/icon/svg/school-outline.svg rename to packages/icon/svg/school-outline.svg diff --git a/ui/icon/svg/school-sharp.svg b/packages/icon/svg/school-sharp.svg similarity index 100% rename from ui/icon/svg/school-sharp.svg rename to packages/icon/svg/school-sharp.svg diff --git a/ui/icon/svg/school.svg b/packages/icon/svg/school.svg similarity index 100% rename from ui/icon/svg/school.svg rename to packages/icon/svg/school.svg diff --git a/ui/icon/svg/search-circle-outline.svg b/packages/icon/svg/search-circle-outline.svg similarity index 100% rename from ui/icon/svg/search-circle-outline.svg rename to packages/icon/svg/search-circle-outline.svg diff --git a/ui/icon/svg/search-circle-sharp.svg b/packages/icon/svg/search-circle-sharp.svg similarity index 100% rename from ui/icon/svg/search-circle-sharp.svg rename to packages/icon/svg/search-circle-sharp.svg diff --git a/ui/icon/svg/search-circle.svg b/packages/icon/svg/search-circle.svg similarity index 100% rename from ui/icon/svg/search-circle.svg rename to packages/icon/svg/search-circle.svg diff --git a/ui/icon/svg/search-outline.svg b/packages/icon/svg/search-outline.svg similarity index 100% rename from ui/icon/svg/search-outline.svg rename to packages/icon/svg/search-outline.svg diff --git a/ui/icon/svg/search-sharp.svg b/packages/icon/svg/search-sharp.svg similarity index 100% rename from ui/icon/svg/search-sharp.svg rename to packages/icon/svg/search-sharp.svg diff --git a/ui/icon/svg/search.svg b/packages/icon/svg/search.svg similarity index 100% rename from ui/icon/svg/search.svg rename to packages/icon/svg/search.svg diff --git a/ui/icon/svg/send-outline.svg b/packages/icon/svg/send-outline.svg similarity index 100% rename from ui/icon/svg/send-outline.svg rename to packages/icon/svg/send-outline.svg diff --git a/ui/icon/svg/send-sharp.svg b/packages/icon/svg/send-sharp.svg similarity index 100% rename from ui/icon/svg/send-sharp.svg rename to packages/icon/svg/send-sharp.svg diff --git a/ui/icon/svg/send.svg b/packages/icon/svg/send.svg similarity index 100% rename from ui/icon/svg/send.svg rename to packages/icon/svg/send.svg diff --git a/ui/icon/svg/server-outline.svg b/packages/icon/svg/server-outline.svg similarity index 100% rename from ui/icon/svg/server-outline.svg rename to packages/icon/svg/server-outline.svg diff --git a/ui/icon/svg/server-sharp.svg b/packages/icon/svg/server-sharp.svg similarity index 100% rename from ui/icon/svg/server-sharp.svg rename to packages/icon/svg/server-sharp.svg diff --git a/ui/icon/svg/server.svg b/packages/icon/svg/server.svg similarity index 100% rename from ui/icon/svg/server.svg rename to packages/icon/svg/server.svg diff --git a/ui/icon/svg/settings-outline.svg b/packages/icon/svg/settings-outline.svg similarity index 100% rename from ui/icon/svg/settings-outline.svg rename to packages/icon/svg/settings-outline.svg diff --git a/ui/icon/svg/settings-sharp.svg b/packages/icon/svg/settings-sharp.svg similarity index 100% rename from ui/icon/svg/settings-sharp.svg rename to packages/icon/svg/settings-sharp.svg diff --git a/ui/icon/svg/settings.svg b/packages/icon/svg/settings.svg similarity index 100% rename from ui/icon/svg/settings.svg rename to packages/icon/svg/settings.svg diff --git a/ui/icon/svg/shapes-outline.svg b/packages/icon/svg/shapes-outline.svg similarity index 100% rename from ui/icon/svg/shapes-outline.svg rename to packages/icon/svg/shapes-outline.svg diff --git a/ui/icon/svg/shapes-sharp.svg b/packages/icon/svg/shapes-sharp.svg similarity index 100% rename from ui/icon/svg/shapes-sharp.svg rename to packages/icon/svg/shapes-sharp.svg diff --git a/ui/icon/svg/shapes.svg b/packages/icon/svg/shapes.svg similarity index 100% rename from ui/icon/svg/shapes.svg rename to packages/icon/svg/shapes.svg diff --git a/ui/icon/svg/share-outline.svg b/packages/icon/svg/share-outline.svg similarity index 100% rename from ui/icon/svg/share-outline.svg rename to packages/icon/svg/share-outline.svg diff --git a/ui/icon/svg/share-sharp.svg b/packages/icon/svg/share-sharp.svg similarity index 100% rename from ui/icon/svg/share-sharp.svg rename to packages/icon/svg/share-sharp.svg diff --git a/ui/icon/svg/share-social-outline.svg b/packages/icon/svg/share-social-outline.svg similarity index 100% rename from ui/icon/svg/share-social-outline.svg rename to packages/icon/svg/share-social-outline.svg diff --git a/ui/icon/svg/share-social-sharp.svg b/packages/icon/svg/share-social-sharp.svg similarity index 100% rename from ui/icon/svg/share-social-sharp.svg rename to packages/icon/svg/share-social-sharp.svg diff --git a/ui/icon/svg/share-social.svg b/packages/icon/svg/share-social.svg similarity index 100% rename from ui/icon/svg/share-social.svg rename to packages/icon/svg/share-social.svg diff --git a/ui/icon/svg/share.svg b/packages/icon/svg/share.svg similarity index 100% rename from ui/icon/svg/share.svg rename to packages/icon/svg/share.svg diff --git a/ui/icon/svg/shield-checkmark-outline.svg b/packages/icon/svg/shield-checkmark-outline.svg similarity index 100% rename from ui/icon/svg/shield-checkmark-outline.svg rename to packages/icon/svg/shield-checkmark-outline.svg diff --git a/ui/icon/svg/shield-checkmark-sharp.svg b/packages/icon/svg/shield-checkmark-sharp.svg similarity index 100% rename from ui/icon/svg/shield-checkmark-sharp.svg rename to packages/icon/svg/shield-checkmark-sharp.svg diff --git a/ui/icon/svg/shield-checkmark.svg b/packages/icon/svg/shield-checkmark.svg similarity index 100% rename from ui/icon/svg/shield-checkmark.svg rename to packages/icon/svg/shield-checkmark.svg diff --git a/ui/icon/svg/shield-half-outline.svg b/packages/icon/svg/shield-half-outline.svg similarity index 100% rename from ui/icon/svg/shield-half-outline.svg rename to packages/icon/svg/shield-half-outline.svg diff --git a/ui/icon/svg/shield-half-sharp.svg b/packages/icon/svg/shield-half-sharp.svg similarity index 100% rename from ui/icon/svg/shield-half-sharp.svg rename to packages/icon/svg/shield-half-sharp.svg diff --git a/ui/icon/svg/shield-half.svg b/packages/icon/svg/shield-half.svg similarity index 100% rename from ui/icon/svg/shield-half.svg rename to packages/icon/svg/shield-half.svg diff --git a/ui/icon/svg/shield-outline.svg b/packages/icon/svg/shield-outline.svg similarity index 100% rename from ui/icon/svg/shield-outline.svg rename to packages/icon/svg/shield-outline.svg diff --git a/ui/icon/svg/shield-sharp.svg b/packages/icon/svg/shield-sharp.svg similarity index 100% rename from ui/icon/svg/shield-sharp.svg rename to packages/icon/svg/shield-sharp.svg diff --git a/ui/icon/svg/shield.svg b/packages/icon/svg/shield.svg similarity index 100% rename from ui/icon/svg/shield.svg rename to packages/icon/svg/shield.svg diff --git a/ui/icon/svg/shirt-outline.svg b/packages/icon/svg/shirt-outline.svg similarity index 100% rename from ui/icon/svg/shirt-outline.svg rename to packages/icon/svg/shirt-outline.svg diff --git a/ui/icon/svg/shirt-sharp.svg b/packages/icon/svg/shirt-sharp.svg similarity index 100% rename from ui/icon/svg/shirt-sharp.svg rename to packages/icon/svg/shirt-sharp.svg diff --git a/ui/icon/svg/shirt.svg b/packages/icon/svg/shirt.svg similarity index 100% rename from ui/icon/svg/shirt.svg rename to packages/icon/svg/shirt.svg diff --git a/ui/icon/svg/shuffle-outline.svg b/packages/icon/svg/shuffle-outline.svg similarity index 100% rename from ui/icon/svg/shuffle-outline.svg rename to packages/icon/svg/shuffle-outline.svg diff --git a/ui/icon/svg/shuffle-sharp.svg b/packages/icon/svg/shuffle-sharp.svg similarity index 100% rename from ui/icon/svg/shuffle-sharp.svg rename to packages/icon/svg/shuffle-sharp.svg diff --git a/ui/icon/svg/shuffle.svg b/packages/icon/svg/shuffle.svg similarity index 100% rename from ui/icon/svg/shuffle.svg rename to packages/icon/svg/shuffle.svg diff --git a/ui/icon/svg/skull-outline.svg b/packages/icon/svg/skull-outline.svg similarity index 100% rename from ui/icon/svg/skull-outline.svg rename to packages/icon/svg/skull-outline.svg diff --git a/ui/icon/svg/skull-sharp.svg b/packages/icon/svg/skull-sharp.svg similarity index 100% rename from ui/icon/svg/skull-sharp.svg rename to packages/icon/svg/skull-sharp.svg diff --git a/ui/icon/svg/skull.svg b/packages/icon/svg/skull.svg similarity index 100% rename from ui/icon/svg/skull.svg rename to packages/icon/svg/skull.svg diff --git a/ui/icon/svg/snow-outline.svg b/packages/icon/svg/snow-outline.svg similarity index 100% rename from ui/icon/svg/snow-outline.svg rename to packages/icon/svg/snow-outline.svg diff --git a/ui/icon/svg/snow-sharp.svg b/packages/icon/svg/snow-sharp.svg similarity index 100% rename from ui/icon/svg/snow-sharp.svg rename to packages/icon/svg/snow-sharp.svg diff --git a/ui/icon/svg/snow.svg b/packages/icon/svg/snow.svg similarity index 100% rename from ui/icon/svg/snow.svg rename to packages/icon/svg/snow.svg diff --git a/ui/icon/svg/sparkles-outline.svg b/packages/icon/svg/sparkles-outline.svg similarity index 100% rename from ui/icon/svg/sparkles-outline.svg rename to packages/icon/svg/sparkles-outline.svg diff --git a/ui/icon/svg/sparkles-sharp.svg b/packages/icon/svg/sparkles-sharp.svg similarity index 100% rename from ui/icon/svg/sparkles-sharp.svg rename to packages/icon/svg/sparkles-sharp.svg diff --git a/ui/icon/svg/sparkles.svg b/packages/icon/svg/sparkles.svg similarity index 100% rename from ui/icon/svg/sparkles.svg rename to packages/icon/svg/sparkles.svg diff --git a/ui/icon/svg/speedometer-outline.svg b/packages/icon/svg/speedometer-outline.svg similarity index 100% rename from ui/icon/svg/speedometer-outline.svg rename to packages/icon/svg/speedometer-outline.svg diff --git a/ui/icon/svg/speedometer-sharp.svg b/packages/icon/svg/speedometer-sharp.svg similarity index 100% rename from ui/icon/svg/speedometer-sharp.svg rename to packages/icon/svg/speedometer-sharp.svg diff --git a/ui/icon/svg/speedometer.svg b/packages/icon/svg/speedometer.svg similarity index 100% rename from ui/icon/svg/speedometer.svg rename to packages/icon/svg/speedometer.svg diff --git a/ui/icon/svg/square-outline.svg b/packages/icon/svg/square-outline.svg similarity index 100% rename from ui/icon/svg/square-outline.svg rename to packages/icon/svg/square-outline.svg diff --git a/ui/icon/svg/square-sharp.svg b/packages/icon/svg/square-sharp.svg similarity index 100% rename from ui/icon/svg/square-sharp.svg rename to packages/icon/svg/square-sharp.svg diff --git a/ui/icon/svg/square.svg b/packages/icon/svg/square.svg similarity index 100% rename from ui/icon/svg/square.svg rename to packages/icon/svg/square.svg diff --git a/ui/icon/svg/star-half-outline.svg b/packages/icon/svg/star-half-outline.svg similarity index 100% rename from ui/icon/svg/star-half-outline.svg rename to packages/icon/svg/star-half-outline.svg diff --git a/ui/icon/svg/star-half-sharp.svg b/packages/icon/svg/star-half-sharp.svg similarity index 100% rename from ui/icon/svg/star-half-sharp.svg rename to packages/icon/svg/star-half-sharp.svg diff --git a/ui/icon/svg/star-half.svg b/packages/icon/svg/star-half.svg similarity index 100% rename from ui/icon/svg/star-half.svg rename to packages/icon/svg/star-half.svg diff --git a/ui/icon/svg/star-outline.svg b/packages/icon/svg/star-outline.svg similarity index 100% rename from ui/icon/svg/star-outline.svg rename to packages/icon/svg/star-outline.svg diff --git a/ui/icon/svg/star-sharp.svg b/packages/icon/svg/star-sharp.svg similarity index 100% rename from ui/icon/svg/star-sharp.svg rename to packages/icon/svg/star-sharp.svg diff --git a/ui/icon/svg/star.svg b/packages/icon/svg/star.svg similarity index 100% rename from ui/icon/svg/star.svg rename to packages/icon/svg/star.svg diff --git a/ui/icon/svg/stats-chart-outline.svg b/packages/icon/svg/stats-chart-outline.svg similarity index 100% rename from ui/icon/svg/stats-chart-outline.svg rename to packages/icon/svg/stats-chart-outline.svg diff --git a/ui/icon/svg/stats-chart-sharp.svg b/packages/icon/svg/stats-chart-sharp.svg similarity index 100% rename from ui/icon/svg/stats-chart-sharp.svg rename to packages/icon/svg/stats-chart-sharp.svg diff --git a/ui/icon/svg/stats-chart.svg b/packages/icon/svg/stats-chart.svg similarity index 100% rename from ui/icon/svg/stats-chart.svg rename to packages/icon/svg/stats-chart.svg diff --git a/ui/icon/svg/stop-circle-outline.svg b/packages/icon/svg/stop-circle-outline.svg similarity index 100% rename from ui/icon/svg/stop-circle-outline.svg rename to packages/icon/svg/stop-circle-outline.svg diff --git a/ui/icon/svg/stop-circle-sharp.svg b/packages/icon/svg/stop-circle-sharp.svg similarity index 100% rename from ui/icon/svg/stop-circle-sharp.svg rename to packages/icon/svg/stop-circle-sharp.svg diff --git a/ui/icon/svg/stop-circle.svg b/packages/icon/svg/stop-circle.svg similarity index 100% rename from ui/icon/svg/stop-circle.svg rename to packages/icon/svg/stop-circle.svg diff --git a/ui/icon/svg/stop-outline.svg b/packages/icon/svg/stop-outline.svg similarity index 100% rename from ui/icon/svg/stop-outline.svg rename to packages/icon/svg/stop-outline.svg diff --git a/ui/icon/svg/stop-sharp.svg b/packages/icon/svg/stop-sharp.svg similarity index 100% rename from ui/icon/svg/stop-sharp.svg rename to packages/icon/svg/stop-sharp.svg diff --git a/ui/icon/svg/stop.svg b/packages/icon/svg/stop.svg similarity index 100% rename from ui/icon/svg/stop.svg rename to packages/icon/svg/stop.svg diff --git a/ui/icon/svg/stopwatch-outline.svg b/packages/icon/svg/stopwatch-outline.svg similarity index 100% rename from ui/icon/svg/stopwatch-outline.svg rename to packages/icon/svg/stopwatch-outline.svg diff --git a/ui/icon/svg/stopwatch-sharp.svg b/packages/icon/svg/stopwatch-sharp.svg similarity index 100% rename from ui/icon/svg/stopwatch-sharp.svg rename to packages/icon/svg/stopwatch-sharp.svg diff --git a/ui/icon/svg/stopwatch.svg b/packages/icon/svg/stopwatch.svg similarity index 100% rename from ui/icon/svg/stopwatch.svg rename to packages/icon/svg/stopwatch.svg diff --git a/ui/icon/svg/storefront-outline.svg b/packages/icon/svg/storefront-outline.svg similarity index 100% rename from ui/icon/svg/storefront-outline.svg rename to packages/icon/svg/storefront-outline.svg diff --git a/ui/icon/svg/storefront-sharp.svg b/packages/icon/svg/storefront-sharp.svg similarity index 100% rename from ui/icon/svg/storefront-sharp.svg rename to packages/icon/svg/storefront-sharp.svg diff --git a/ui/icon/svg/storefront.svg b/packages/icon/svg/storefront.svg similarity index 100% rename from ui/icon/svg/storefront.svg rename to packages/icon/svg/storefront.svg diff --git a/ui/icon/svg/subway-outline.svg b/packages/icon/svg/subway-outline.svg similarity index 100% rename from ui/icon/svg/subway-outline.svg rename to packages/icon/svg/subway-outline.svg diff --git a/ui/icon/svg/subway-sharp.svg b/packages/icon/svg/subway-sharp.svg similarity index 100% rename from ui/icon/svg/subway-sharp.svg rename to packages/icon/svg/subway-sharp.svg diff --git a/ui/icon/svg/subway.svg b/packages/icon/svg/subway.svg similarity index 100% rename from ui/icon/svg/subway.svg rename to packages/icon/svg/subway.svg diff --git a/ui/icon/svg/sunny-outline.svg b/packages/icon/svg/sunny-outline.svg similarity index 100% rename from ui/icon/svg/sunny-outline.svg rename to packages/icon/svg/sunny-outline.svg diff --git a/ui/icon/svg/sunny-sharp.svg b/packages/icon/svg/sunny-sharp.svg similarity index 100% rename from ui/icon/svg/sunny-sharp.svg rename to packages/icon/svg/sunny-sharp.svg diff --git a/ui/icon/svg/sunny.svg b/packages/icon/svg/sunny.svg similarity index 100% rename from ui/icon/svg/sunny.svg rename to packages/icon/svg/sunny.svg diff --git a/ui/icon/svg/swap-horizontal-outline.svg b/packages/icon/svg/swap-horizontal-outline.svg similarity index 100% rename from ui/icon/svg/swap-horizontal-outline.svg rename to packages/icon/svg/swap-horizontal-outline.svg diff --git a/ui/icon/svg/swap-horizontal-sharp.svg b/packages/icon/svg/swap-horizontal-sharp.svg similarity index 100% rename from ui/icon/svg/swap-horizontal-sharp.svg rename to packages/icon/svg/swap-horizontal-sharp.svg diff --git a/ui/icon/svg/swap-horizontal.svg b/packages/icon/svg/swap-horizontal.svg similarity index 100% rename from ui/icon/svg/swap-horizontal.svg rename to packages/icon/svg/swap-horizontal.svg diff --git a/ui/icon/svg/swap-vertical-outline.svg b/packages/icon/svg/swap-vertical-outline.svg similarity index 100% rename from ui/icon/svg/swap-vertical-outline.svg rename to packages/icon/svg/swap-vertical-outline.svg diff --git a/ui/icon/svg/swap-vertical-sharp.svg b/packages/icon/svg/swap-vertical-sharp.svg similarity index 100% rename from ui/icon/svg/swap-vertical-sharp.svg rename to packages/icon/svg/swap-vertical-sharp.svg diff --git a/ui/icon/svg/swap-vertical.svg b/packages/icon/svg/swap-vertical.svg similarity index 100% rename from ui/icon/svg/swap-vertical.svg rename to packages/icon/svg/swap-vertical.svg diff --git a/ui/icon/svg/sync-circle-outline.svg b/packages/icon/svg/sync-circle-outline.svg similarity index 100% rename from ui/icon/svg/sync-circle-outline.svg rename to packages/icon/svg/sync-circle-outline.svg diff --git a/ui/icon/svg/sync-circle-sharp.svg b/packages/icon/svg/sync-circle-sharp.svg similarity index 100% rename from ui/icon/svg/sync-circle-sharp.svg rename to packages/icon/svg/sync-circle-sharp.svg diff --git a/ui/icon/svg/sync-circle.svg b/packages/icon/svg/sync-circle.svg similarity index 100% rename from ui/icon/svg/sync-circle.svg rename to packages/icon/svg/sync-circle.svg diff --git a/ui/icon/svg/sync-outline.svg b/packages/icon/svg/sync-outline.svg similarity index 100% rename from ui/icon/svg/sync-outline.svg rename to packages/icon/svg/sync-outline.svg diff --git a/ui/icon/svg/sync-sharp.svg b/packages/icon/svg/sync-sharp.svg similarity index 100% rename from ui/icon/svg/sync-sharp.svg rename to packages/icon/svg/sync-sharp.svg diff --git a/ui/icon/svg/sync.svg b/packages/icon/svg/sync.svg similarity index 100% rename from ui/icon/svg/sync.svg rename to packages/icon/svg/sync.svg diff --git a/ui/icon/svg/tablet-landscape-outline.svg b/packages/icon/svg/tablet-landscape-outline.svg similarity index 100% rename from ui/icon/svg/tablet-landscape-outline.svg rename to packages/icon/svg/tablet-landscape-outline.svg diff --git a/ui/icon/svg/tablet-landscape-sharp.svg b/packages/icon/svg/tablet-landscape-sharp.svg similarity index 100% rename from ui/icon/svg/tablet-landscape-sharp.svg rename to packages/icon/svg/tablet-landscape-sharp.svg diff --git a/ui/icon/svg/tablet-landscape.svg b/packages/icon/svg/tablet-landscape.svg similarity index 100% rename from ui/icon/svg/tablet-landscape.svg rename to packages/icon/svg/tablet-landscape.svg diff --git a/ui/icon/svg/tablet-portrait-outline.svg b/packages/icon/svg/tablet-portrait-outline.svg similarity index 100% rename from ui/icon/svg/tablet-portrait-outline.svg rename to packages/icon/svg/tablet-portrait-outline.svg diff --git a/ui/icon/svg/tablet-portrait-sharp.svg b/packages/icon/svg/tablet-portrait-sharp.svg similarity index 100% rename from ui/icon/svg/tablet-portrait-sharp.svg rename to packages/icon/svg/tablet-portrait-sharp.svg diff --git a/ui/icon/svg/tablet-portrait.svg b/packages/icon/svg/tablet-portrait.svg similarity index 100% rename from ui/icon/svg/tablet-portrait.svg rename to packages/icon/svg/tablet-portrait.svg diff --git a/ui/icon/svg/telescope-outline.svg b/packages/icon/svg/telescope-outline.svg similarity index 100% rename from ui/icon/svg/telescope-outline.svg rename to packages/icon/svg/telescope-outline.svg diff --git a/ui/icon/svg/telescope-sharp.svg b/packages/icon/svg/telescope-sharp.svg similarity index 100% rename from ui/icon/svg/telescope-sharp.svg rename to packages/icon/svg/telescope-sharp.svg diff --git a/ui/icon/svg/telescope.svg b/packages/icon/svg/telescope.svg similarity index 100% rename from ui/icon/svg/telescope.svg rename to packages/icon/svg/telescope.svg diff --git a/ui/icon/svg/tennisball-outline.svg b/packages/icon/svg/tennisball-outline.svg similarity index 100% rename from ui/icon/svg/tennisball-outline.svg rename to packages/icon/svg/tennisball-outline.svg diff --git a/ui/icon/svg/tennisball-sharp.svg b/packages/icon/svg/tennisball-sharp.svg similarity index 100% rename from ui/icon/svg/tennisball-sharp.svg rename to packages/icon/svg/tennisball-sharp.svg diff --git a/ui/icon/svg/tennisball.svg b/packages/icon/svg/tennisball.svg similarity index 100% rename from ui/icon/svg/tennisball.svg rename to packages/icon/svg/tennisball.svg diff --git a/ui/icon/svg/terminal-outline.svg b/packages/icon/svg/terminal-outline.svg similarity index 100% rename from ui/icon/svg/terminal-outline.svg rename to packages/icon/svg/terminal-outline.svg diff --git a/ui/icon/svg/terminal-sharp.svg b/packages/icon/svg/terminal-sharp.svg similarity index 100% rename from ui/icon/svg/terminal-sharp.svg rename to packages/icon/svg/terminal-sharp.svg diff --git a/ui/icon/svg/terminal.svg b/packages/icon/svg/terminal.svg similarity index 100% rename from ui/icon/svg/terminal.svg rename to packages/icon/svg/terminal.svg diff --git a/ui/icon/svg/text-outline.svg b/packages/icon/svg/text-outline.svg similarity index 100% rename from ui/icon/svg/text-outline.svg rename to packages/icon/svg/text-outline.svg diff --git a/ui/icon/svg/text-sharp.svg b/packages/icon/svg/text-sharp.svg similarity index 100% rename from ui/icon/svg/text-sharp.svg rename to packages/icon/svg/text-sharp.svg diff --git a/ui/icon/svg/text.svg b/packages/icon/svg/text.svg similarity index 100% rename from ui/icon/svg/text.svg rename to packages/icon/svg/text.svg diff --git a/ui/icon/svg/thermometer-outline.svg b/packages/icon/svg/thermometer-outline.svg similarity index 100% rename from ui/icon/svg/thermometer-outline.svg rename to packages/icon/svg/thermometer-outline.svg diff --git a/ui/icon/svg/thermometer-sharp.svg b/packages/icon/svg/thermometer-sharp.svg similarity index 100% rename from ui/icon/svg/thermometer-sharp.svg rename to packages/icon/svg/thermometer-sharp.svg diff --git a/ui/icon/svg/thermometer.svg b/packages/icon/svg/thermometer.svg similarity index 100% rename from ui/icon/svg/thermometer.svg rename to packages/icon/svg/thermometer.svg diff --git a/ui/icon/svg/thumbs-down-outline.svg b/packages/icon/svg/thumbs-down-outline.svg similarity index 100% rename from ui/icon/svg/thumbs-down-outline.svg rename to packages/icon/svg/thumbs-down-outline.svg diff --git a/ui/icon/svg/thumbs-down-sharp.svg b/packages/icon/svg/thumbs-down-sharp.svg similarity index 100% rename from ui/icon/svg/thumbs-down-sharp.svg rename to packages/icon/svg/thumbs-down-sharp.svg diff --git a/ui/icon/svg/thumbs-down.svg b/packages/icon/svg/thumbs-down.svg similarity index 100% rename from ui/icon/svg/thumbs-down.svg rename to packages/icon/svg/thumbs-down.svg diff --git a/ui/icon/svg/thumbs-up-outline.svg b/packages/icon/svg/thumbs-up-outline.svg similarity index 100% rename from ui/icon/svg/thumbs-up-outline.svg rename to packages/icon/svg/thumbs-up-outline.svg diff --git a/ui/icon/svg/thumbs-up-sharp.svg b/packages/icon/svg/thumbs-up-sharp.svg similarity index 100% rename from ui/icon/svg/thumbs-up-sharp.svg rename to packages/icon/svg/thumbs-up-sharp.svg diff --git a/ui/icon/svg/thumbs-up.svg b/packages/icon/svg/thumbs-up.svg similarity index 100% rename from ui/icon/svg/thumbs-up.svg rename to packages/icon/svg/thumbs-up.svg diff --git a/ui/icon/svg/thunderstorm-outline.svg b/packages/icon/svg/thunderstorm-outline.svg similarity index 100% rename from ui/icon/svg/thunderstorm-outline.svg rename to packages/icon/svg/thunderstorm-outline.svg diff --git a/ui/icon/svg/thunderstorm-sharp.svg b/packages/icon/svg/thunderstorm-sharp.svg similarity index 100% rename from ui/icon/svg/thunderstorm-sharp.svg rename to packages/icon/svg/thunderstorm-sharp.svg diff --git a/ui/icon/svg/thunderstorm.svg b/packages/icon/svg/thunderstorm.svg similarity index 100% rename from ui/icon/svg/thunderstorm.svg rename to packages/icon/svg/thunderstorm.svg diff --git a/ui/icon/svg/ticket-outline.svg b/packages/icon/svg/ticket-outline.svg similarity index 100% rename from ui/icon/svg/ticket-outline.svg rename to packages/icon/svg/ticket-outline.svg diff --git a/ui/icon/svg/ticket-sharp.svg b/packages/icon/svg/ticket-sharp.svg similarity index 100% rename from ui/icon/svg/ticket-sharp.svg rename to packages/icon/svg/ticket-sharp.svg diff --git a/ui/icon/svg/ticket.svg b/packages/icon/svg/ticket.svg similarity index 100% rename from ui/icon/svg/ticket.svg rename to packages/icon/svg/ticket.svg diff --git a/ui/icon/svg/time-outline.svg b/packages/icon/svg/time-outline.svg similarity index 100% rename from ui/icon/svg/time-outline.svg rename to packages/icon/svg/time-outline.svg diff --git a/ui/icon/svg/time-sharp.svg b/packages/icon/svg/time-sharp.svg similarity index 100% rename from ui/icon/svg/time-sharp.svg rename to packages/icon/svg/time-sharp.svg diff --git a/ui/icon/svg/time.svg b/packages/icon/svg/time.svg similarity index 100% rename from ui/icon/svg/time.svg rename to packages/icon/svg/time.svg diff --git a/ui/icon/svg/timer-outline.svg b/packages/icon/svg/timer-outline.svg similarity index 100% rename from ui/icon/svg/timer-outline.svg rename to packages/icon/svg/timer-outline.svg diff --git a/ui/icon/svg/timer-sharp.svg b/packages/icon/svg/timer-sharp.svg similarity index 100% rename from ui/icon/svg/timer-sharp.svg rename to packages/icon/svg/timer-sharp.svg diff --git a/ui/icon/svg/timer.svg b/packages/icon/svg/timer.svg similarity index 100% rename from ui/icon/svg/timer.svg rename to packages/icon/svg/timer.svg diff --git a/ui/icon/svg/today-outline.svg b/packages/icon/svg/today-outline.svg similarity index 100% rename from ui/icon/svg/today-outline.svg rename to packages/icon/svg/today-outline.svg diff --git a/ui/icon/svg/today-sharp.svg b/packages/icon/svg/today-sharp.svg similarity index 100% rename from ui/icon/svg/today-sharp.svg rename to packages/icon/svg/today-sharp.svg diff --git a/ui/icon/svg/today.svg b/packages/icon/svg/today.svg similarity index 100% rename from ui/icon/svg/today.svg rename to packages/icon/svg/today.svg diff --git a/ui/icon/svg/toggle-outline.svg b/packages/icon/svg/toggle-outline.svg similarity index 100% rename from ui/icon/svg/toggle-outline.svg rename to packages/icon/svg/toggle-outline.svg diff --git a/ui/icon/svg/toggle-sharp.svg b/packages/icon/svg/toggle-sharp.svg similarity index 100% rename from ui/icon/svg/toggle-sharp.svg rename to packages/icon/svg/toggle-sharp.svg diff --git a/ui/icon/svg/toggle.svg b/packages/icon/svg/toggle.svg similarity index 100% rename from ui/icon/svg/toggle.svg rename to packages/icon/svg/toggle.svg diff --git a/ui/icon/svg/toman.svg b/packages/icon/svg/toman.svg similarity index 100% rename from ui/icon/svg/toman.svg rename to packages/icon/svg/toman.svg diff --git a/ui/icon/svg/trail-sign-outline.svg b/packages/icon/svg/trail-sign-outline.svg similarity index 100% rename from ui/icon/svg/trail-sign-outline.svg rename to packages/icon/svg/trail-sign-outline.svg diff --git a/ui/icon/svg/trail-sign-sharp.svg b/packages/icon/svg/trail-sign-sharp.svg similarity index 100% rename from ui/icon/svg/trail-sign-sharp.svg rename to packages/icon/svg/trail-sign-sharp.svg diff --git a/ui/icon/svg/trail-sign.svg b/packages/icon/svg/trail-sign.svg similarity index 100% rename from ui/icon/svg/trail-sign.svg rename to packages/icon/svg/trail-sign.svg diff --git a/ui/icon/svg/train-outline.svg b/packages/icon/svg/train-outline.svg similarity index 100% rename from ui/icon/svg/train-outline.svg rename to packages/icon/svg/train-outline.svg diff --git a/ui/icon/svg/train-sharp.svg b/packages/icon/svg/train-sharp.svg similarity index 100% rename from ui/icon/svg/train-sharp.svg rename to packages/icon/svg/train-sharp.svg diff --git a/ui/icon/svg/train.svg b/packages/icon/svg/train.svg similarity index 100% rename from ui/icon/svg/train.svg rename to packages/icon/svg/train.svg diff --git a/ui/icon/svg/transgender-outline.svg b/packages/icon/svg/transgender-outline.svg similarity index 100% rename from ui/icon/svg/transgender-outline.svg rename to packages/icon/svg/transgender-outline.svg diff --git a/ui/icon/svg/transgender-sharp.svg b/packages/icon/svg/transgender-sharp.svg similarity index 100% rename from ui/icon/svg/transgender-sharp.svg rename to packages/icon/svg/transgender-sharp.svg diff --git a/ui/icon/svg/transgender.svg b/packages/icon/svg/transgender.svg similarity index 100% rename from ui/icon/svg/transgender.svg rename to packages/icon/svg/transgender.svg diff --git a/ui/icon/svg/trash-bin-outline.svg b/packages/icon/svg/trash-bin-outline.svg similarity index 100% rename from ui/icon/svg/trash-bin-outline.svg rename to packages/icon/svg/trash-bin-outline.svg diff --git a/ui/icon/svg/trash-bin-sharp.svg b/packages/icon/svg/trash-bin-sharp.svg similarity index 100% rename from ui/icon/svg/trash-bin-sharp.svg rename to packages/icon/svg/trash-bin-sharp.svg diff --git a/ui/icon/svg/trash-bin.svg b/packages/icon/svg/trash-bin.svg similarity index 100% rename from ui/icon/svg/trash-bin.svg rename to packages/icon/svg/trash-bin.svg diff --git a/ui/icon/svg/trash-outline.svg b/packages/icon/svg/trash-outline.svg similarity index 100% rename from ui/icon/svg/trash-outline.svg rename to packages/icon/svg/trash-outline.svg diff --git a/ui/icon/svg/trash-sharp.svg b/packages/icon/svg/trash-sharp.svg similarity index 100% rename from ui/icon/svg/trash-sharp.svg rename to packages/icon/svg/trash-sharp.svg diff --git a/ui/icon/svg/trash.svg b/packages/icon/svg/trash.svg similarity index 100% rename from ui/icon/svg/trash.svg rename to packages/icon/svg/trash.svg diff --git a/ui/icon/svg/trending-down-outline.svg b/packages/icon/svg/trending-down-outline.svg similarity index 100% rename from ui/icon/svg/trending-down-outline.svg rename to packages/icon/svg/trending-down-outline.svg diff --git a/ui/icon/svg/trending-down-sharp.svg b/packages/icon/svg/trending-down-sharp.svg similarity index 100% rename from ui/icon/svg/trending-down-sharp.svg rename to packages/icon/svg/trending-down-sharp.svg diff --git a/ui/icon/svg/trending-down.svg b/packages/icon/svg/trending-down.svg similarity index 100% rename from ui/icon/svg/trending-down.svg rename to packages/icon/svg/trending-down.svg diff --git a/ui/icon/svg/trending-up-outline.svg b/packages/icon/svg/trending-up-outline.svg similarity index 100% rename from ui/icon/svg/trending-up-outline.svg rename to packages/icon/svg/trending-up-outline.svg diff --git a/ui/icon/svg/trending-up-sharp.svg b/packages/icon/svg/trending-up-sharp.svg similarity index 100% rename from ui/icon/svg/trending-up-sharp.svg rename to packages/icon/svg/trending-up-sharp.svg diff --git a/ui/icon/svg/trending-up.svg b/packages/icon/svg/trending-up.svg similarity index 100% rename from ui/icon/svg/trending-up.svg rename to packages/icon/svg/trending-up.svg diff --git a/ui/icon/svg/triangle-outline.svg b/packages/icon/svg/triangle-outline.svg similarity index 100% rename from ui/icon/svg/triangle-outline.svg rename to packages/icon/svg/triangle-outline.svg diff --git a/ui/icon/svg/triangle-sharp.svg b/packages/icon/svg/triangle-sharp.svg similarity index 100% rename from ui/icon/svg/triangle-sharp.svg rename to packages/icon/svg/triangle-sharp.svg diff --git a/ui/icon/svg/triangle.svg b/packages/icon/svg/triangle.svg similarity index 100% rename from ui/icon/svg/triangle.svg rename to packages/icon/svg/triangle.svg diff --git a/ui/icon/svg/trophy-outline.svg b/packages/icon/svg/trophy-outline.svg similarity index 100% rename from ui/icon/svg/trophy-outline.svg rename to packages/icon/svg/trophy-outline.svg diff --git a/ui/icon/svg/trophy-sharp.svg b/packages/icon/svg/trophy-sharp.svg similarity index 100% rename from ui/icon/svg/trophy-sharp.svg rename to packages/icon/svg/trophy-sharp.svg diff --git a/ui/icon/svg/trophy.svg b/packages/icon/svg/trophy.svg similarity index 100% rename from ui/icon/svg/trophy.svg rename to packages/icon/svg/trophy.svg diff --git a/ui/icon/svg/tv-outline.svg b/packages/icon/svg/tv-outline.svg similarity index 100% rename from ui/icon/svg/tv-outline.svg rename to packages/icon/svg/tv-outline.svg diff --git a/ui/icon/svg/tv-sharp.svg b/packages/icon/svg/tv-sharp.svg similarity index 100% rename from ui/icon/svg/tv-sharp.svg rename to packages/icon/svg/tv-sharp.svg diff --git a/ui/icon/svg/tv.svg b/packages/icon/svg/tv.svg similarity index 100% rename from ui/icon/svg/tv.svg rename to packages/icon/svg/tv.svg diff --git a/ui/icon/svg/umbrella-outline.svg b/packages/icon/svg/umbrella-outline.svg similarity index 100% rename from ui/icon/svg/umbrella-outline.svg rename to packages/icon/svg/umbrella-outline.svg diff --git a/ui/icon/svg/umbrella-sharp.svg b/packages/icon/svg/umbrella-sharp.svg similarity index 100% rename from ui/icon/svg/umbrella-sharp.svg rename to packages/icon/svg/umbrella-sharp.svg diff --git a/ui/icon/svg/umbrella.svg b/packages/icon/svg/umbrella.svg similarity index 100% rename from ui/icon/svg/umbrella.svg rename to packages/icon/svg/umbrella.svg diff --git a/ui/icon/svg/unlink-outline.svg b/packages/icon/svg/unlink-outline.svg similarity index 100% rename from ui/icon/svg/unlink-outline.svg rename to packages/icon/svg/unlink-outline.svg diff --git a/ui/icon/svg/unlink-sharp.svg b/packages/icon/svg/unlink-sharp.svg similarity index 100% rename from ui/icon/svg/unlink-sharp.svg rename to packages/icon/svg/unlink-sharp.svg diff --git a/ui/icon/svg/unlink.svg b/packages/icon/svg/unlink.svg similarity index 100% rename from ui/icon/svg/unlink.svg rename to packages/icon/svg/unlink.svg diff --git a/ui/icon/svg/videocam-off-outline.svg b/packages/icon/svg/videocam-off-outline.svg similarity index 100% rename from ui/icon/svg/videocam-off-outline.svg rename to packages/icon/svg/videocam-off-outline.svg diff --git a/ui/icon/svg/videocam-off-sharp.svg b/packages/icon/svg/videocam-off-sharp.svg similarity index 100% rename from ui/icon/svg/videocam-off-sharp.svg rename to packages/icon/svg/videocam-off-sharp.svg diff --git a/ui/icon/svg/videocam-off.svg b/packages/icon/svg/videocam-off.svg similarity index 100% rename from ui/icon/svg/videocam-off.svg rename to packages/icon/svg/videocam-off.svg diff --git a/ui/icon/svg/videocam-outline.svg b/packages/icon/svg/videocam-outline.svg similarity index 100% rename from ui/icon/svg/videocam-outline.svg rename to packages/icon/svg/videocam-outline.svg diff --git a/ui/icon/svg/videocam-sharp.svg b/packages/icon/svg/videocam-sharp.svg similarity index 100% rename from ui/icon/svg/videocam-sharp.svg rename to packages/icon/svg/videocam-sharp.svg diff --git a/ui/icon/svg/videocam.svg b/packages/icon/svg/videocam.svg similarity index 100% rename from ui/icon/svg/videocam.svg rename to packages/icon/svg/videocam.svg diff --git a/ui/icon/svg/volume-high-outline.svg b/packages/icon/svg/volume-high-outline.svg similarity index 100% rename from ui/icon/svg/volume-high-outline.svg rename to packages/icon/svg/volume-high-outline.svg diff --git a/ui/icon/svg/volume-high-sharp.svg b/packages/icon/svg/volume-high-sharp.svg similarity index 100% rename from ui/icon/svg/volume-high-sharp.svg rename to packages/icon/svg/volume-high-sharp.svg diff --git a/ui/icon/svg/volume-high.svg b/packages/icon/svg/volume-high.svg similarity index 100% rename from ui/icon/svg/volume-high.svg rename to packages/icon/svg/volume-high.svg diff --git a/ui/icon/svg/volume-low-outline.svg b/packages/icon/svg/volume-low-outline.svg similarity index 100% rename from ui/icon/svg/volume-low-outline.svg rename to packages/icon/svg/volume-low-outline.svg diff --git a/ui/icon/svg/volume-low-sharp.svg b/packages/icon/svg/volume-low-sharp.svg similarity index 100% rename from ui/icon/svg/volume-low-sharp.svg rename to packages/icon/svg/volume-low-sharp.svg diff --git a/ui/icon/svg/volume-low.svg b/packages/icon/svg/volume-low.svg similarity index 100% rename from ui/icon/svg/volume-low.svg rename to packages/icon/svg/volume-low.svg diff --git a/ui/icon/svg/volume-medium-outline.svg b/packages/icon/svg/volume-medium-outline.svg similarity index 100% rename from ui/icon/svg/volume-medium-outline.svg rename to packages/icon/svg/volume-medium-outline.svg diff --git a/ui/icon/svg/volume-medium-sharp.svg b/packages/icon/svg/volume-medium-sharp.svg similarity index 100% rename from ui/icon/svg/volume-medium-sharp.svg rename to packages/icon/svg/volume-medium-sharp.svg diff --git a/ui/icon/svg/volume-medium.svg b/packages/icon/svg/volume-medium.svg similarity index 100% rename from ui/icon/svg/volume-medium.svg rename to packages/icon/svg/volume-medium.svg diff --git a/ui/icon/svg/volume-mute-outline.svg b/packages/icon/svg/volume-mute-outline.svg similarity index 100% rename from ui/icon/svg/volume-mute-outline.svg rename to packages/icon/svg/volume-mute-outline.svg diff --git a/ui/icon/svg/volume-mute-sharp.svg b/packages/icon/svg/volume-mute-sharp.svg similarity index 100% rename from ui/icon/svg/volume-mute-sharp.svg rename to packages/icon/svg/volume-mute-sharp.svg diff --git a/ui/icon/svg/volume-mute.svg b/packages/icon/svg/volume-mute.svg similarity index 100% rename from ui/icon/svg/volume-mute.svg rename to packages/icon/svg/volume-mute.svg diff --git a/ui/icon/svg/volume-off-outline.svg b/packages/icon/svg/volume-off-outline.svg similarity index 100% rename from ui/icon/svg/volume-off-outline.svg rename to packages/icon/svg/volume-off-outline.svg diff --git a/ui/icon/svg/volume-off-sharp.svg b/packages/icon/svg/volume-off-sharp.svg similarity index 100% rename from ui/icon/svg/volume-off-sharp.svg rename to packages/icon/svg/volume-off-sharp.svg diff --git a/ui/icon/svg/volume-off.svg b/packages/icon/svg/volume-off.svg similarity index 100% rename from ui/icon/svg/volume-off.svg rename to packages/icon/svg/volume-off.svg diff --git a/ui/icon/svg/walk-outline.svg b/packages/icon/svg/walk-outline.svg similarity index 100% rename from ui/icon/svg/walk-outline.svg rename to packages/icon/svg/walk-outline.svg diff --git a/ui/icon/svg/walk-sharp.svg b/packages/icon/svg/walk-sharp.svg similarity index 100% rename from ui/icon/svg/walk-sharp.svg rename to packages/icon/svg/walk-sharp.svg diff --git a/ui/icon/svg/walk.svg b/packages/icon/svg/walk.svg similarity index 100% rename from ui/icon/svg/walk.svg rename to packages/icon/svg/walk.svg diff --git a/ui/icon/svg/wallet-outline.svg b/packages/icon/svg/wallet-outline.svg similarity index 100% rename from ui/icon/svg/wallet-outline.svg rename to packages/icon/svg/wallet-outline.svg diff --git a/ui/icon/svg/wallet-sharp.svg b/packages/icon/svg/wallet-sharp.svg similarity index 100% rename from ui/icon/svg/wallet-sharp.svg rename to packages/icon/svg/wallet-sharp.svg diff --git a/ui/icon/svg/wallet.svg b/packages/icon/svg/wallet.svg similarity index 100% rename from ui/icon/svg/wallet.svg rename to packages/icon/svg/wallet.svg diff --git a/ui/icon/svg/warning-outline.svg b/packages/icon/svg/warning-outline.svg similarity index 100% rename from ui/icon/svg/warning-outline.svg rename to packages/icon/svg/warning-outline.svg diff --git a/ui/icon/svg/warning-sharp.svg b/packages/icon/svg/warning-sharp.svg similarity index 100% rename from ui/icon/svg/warning-sharp.svg rename to packages/icon/svg/warning-sharp.svg diff --git a/ui/icon/svg/warning.svg b/packages/icon/svg/warning.svg similarity index 100% rename from ui/icon/svg/warning.svg rename to packages/icon/svg/warning.svg diff --git a/ui/icon/svg/watch-outline.svg b/packages/icon/svg/watch-outline.svg similarity index 100% rename from ui/icon/svg/watch-outline.svg rename to packages/icon/svg/watch-outline.svg diff --git a/ui/icon/svg/watch-sharp.svg b/packages/icon/svg/watch-sharp.svg similarity index 100% rename from ui/icon/svg/watch-sharp.svg rename to packages/icon/svg/watch-sharp.svg diff --git a/ui/icon/svg/watch.svg b/packages/icon/svg/watch.svg similarity index 100% rename from ui/icon/svg/watch.svg rename to packages/icon/svg/watch.svg diff --git a/ui/icon/svg/water-outline.svg b/packages/icon/svg/water-outline.svg similarity index 100% rename from ui/icon/svg/water-outline.svg rename to packages/icon/svg/water-outline.svg diff --git a/ui/icon/svg/water-sharp.svg b/packages/icon/svg/water-sharp.svg similarity index 100% rename from ui/icon/svg/water-sharp.svg rename to packages/icon/svg/water-sharp.svg diff --git a/ui/icon/svg/water.svg b/packages/icon/svg/water.svg similarity index 100% rename from ui/icon/svg/water.svg rename to packages/icon/svg/water.svg diff --git a/ui/icon/svg/wifi-outline.svg b/packages/icon/svg/wifi-outline.svg similarity index 100% rename from ui/icon/svg/wifi-outline.svg rename to packages/icon/svg/wifi-outline.svg diff --git a/ui/icon/svg/wifi-sharp.svg b/packages/icon/svg/wifi-sharp.svg similarity index 100% rename from ui/icon/svg/wifi-sharp.svg rename to packages/icon/svg/wifi-sharp.svg diff --git a/ui/icon/svg/wifi.svg b/packages/icon/svg/wifi.svg similarity index 100% rename from ui/icon/svg/wifi.svg rename to packages/icon/svg/wifi.svg diff --git a/ui/icon/svg/wine-outline.svg b/packages/icon/svg/wine-outline.svg similarity index 100% rename from ui/icon/svg/wine-outline.svg rename to packages/icon/svg/wine-outline.svg diff --git a/ui/icon/svg/wine-sharp.svg b/packages/icon/svg/wine-sharp.svg similarity index 100% rename from ui/icon/svg/wine-sharp.svg rename to packages/icon/svg/wine-sharp.svg diff --git a/ui/icon/svg/wine.svg b/packages/icon/svg/wine.svg similarity index 100% rename from ui/icon/svg/wine.svg rename to packages/icon/svg/wine.svg diff --git a/ui/icon/svg/woman-outline.svg b/packages/icon/svg/woman-outline.svg similarity index 100% rename from ui/icon/svg/woman-outline.svg rename to packages/icon/svg/woman-outline.svg diff --git a/ui/icon/svg/woman-sharp.svg b/packages/icon/svg/woman-sharp.svg similarity index 100% rename from ui/icon/svg/woman-sharp.svg rename to packages/icon/svg/woman-sharp.svg diff --git a/ui/icon/svg/woman.svg b/packages/icon/svg/woman.svg similarity index 100% rename from ui/icon/svg/woman.svg rename to packages/icon/svg/woman.svg diff --git a/ui/icon/tsconfig.json b/packages/icon/tsconfig.json similarity index 100% rename from ui/icon/tsconfig.json rename to packages/icon/tsconfig.json From 1798e6d77a9db510f5120d245bf7cd5d3885f0fa Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:43:03 +0330 Subject: [PATCH 18/20] chore(playground): fix package path --- {ui => packages}/playground/.gitignore | 0 {ui => packages}/playground/app.html | 0 {ui => packages}/playground/button.html | 0 {ui => packages}/playground/fab.html | 0 {ui => packages}/playground/index.css | 0 {ui => packages}/playground/index.html | 0 {ui => packages}/playground/navigation-bar.html | 0 {ui => packages}/playground/navigation-drawer.html | 0 {ui => packages}/playground/navigation-rail.html | 0 {ui => packages}/playground/package.json | 0 {ui => packages}/playground/page-test.html | 0 {ui => packages}/playground/tailwind.config.js | 0 {ui => packages}/playground/top-app-bar.html | 0 {ui => packages}/playground/tsconfig.json | 0 {ui => packages}/playground/web-dev-server.config.js | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename {ui => packages}/playground/.gitignore (100%) rename {ui => packages}/playground/app.html (100%) rename {ui => packages}/playground/button.html (100%) rename {ui => packages}/playground/fab.html (100%) rename {ui => packages}/playground/index.css (100%) rename {ui => packages}/playground/index.html (100%) rename {ui => packages}/playground/navigation-bar.html (100%) rename {ui => packages}/playground/navigation-drawer.html (100%) rename {ui => packages}/playground/navigation-rail.html (100%) rename {ui => packages}/playground/package.json (100%) rename {ui => packages}/playground/page-test.html (100%) rename {ui => packages}/playground/tailwind.config.js (100%) rename {ui => packages}/playground/top-app-bar.html (100%) rename {ui => packages}/playground/tsconfig.json (100%) rename {ui => packages}/playground/web-dev-server.config.js (100%) diff --git a/ui/playground/.gitignore b/packages/playground/.gitignore similarity index 100% rename from ui/playground/.gitignore rename to packages/playground/.gitignore diff --git a/ui/playground/app.html b/packages/playground/app.html similarity index 100% rename from ui/playground/app.html rename to packages/playground/app.html diff --git a/ui/playground/button.html b/packages/playground/button.html similarity index 100% rename from ui/playground/button.html rename to packages/playground/button.html diff --git a/ui/playground/fab.html b/packages/playground/fab.html similarity index 100% rename from ui/playground/fab.html rename to packages/playground/fab.html diff --git a/ui/playground/index.css b/packages/playground/index.css similarity index 100% rename from ui/playground/index.css rename to packages/playground/index.css diff --git a/ui/playground/index.html b/packages/playground/index.html similarity index 100% rename from ui/playground/index.html rename to packages/playground/index.html diff --git a/ui/playground/navigation-bar.html b/packages/playground/navigation-bar.html similarity index 100% rename from ui/playground/navigation-bar.html rename to packages/playground/navigation-bar.html diff --git a/ui/playground/navigation-drawer.html b/packages/playground/navigation-drawer.html similarity index 100% rename from ui/playground/navigation-drawer.html rename to packages/playground/navigation-drawer.html diff --git a/ui/playground/navigation-rail.html b/packages/playground/navigation-rail.html similarity index 100% rename from ui/playground/navigation-rail.html rename to packages/playground/navigation-rail.html diff --git a/ui/playground/package.json b/packages/playground/package.json similarity index 100% rename from ui/playground/package.json rename to packages/playground/package.json diff --git a/ui/playground/page-test.html b/packages/playground/page-test.html similarity index 100% rename from ui/playground/page-test.html rename to packages/playground/page-test.html diff --git a/ui/playground/tailwind.config.js b/packages/playground/tailwind.config.js similarity index 100% rename from ui/playground/tailwind.config.js rename to packages/playground/tailwind.config.js diff --git a/ui/playground/top-app-bar.html b/packages/playground/top-app-bar.html similarity index 100% rename from ui/playground/top-app-bar.html rename to packages/playground/top-app-bar.html diff --git a/ui/playground/tsconfig.json b/packages/playground/tsconfig.json similarity index 100% rename from ui/playground/tsconfig.json rename to packages/playground/tsconfig.json diff --git a/ui/playground/web-dev-server.config.js b/packages/playground/web-dev-server.config.js similarity index 100% rename from ui/playground/web-dev-server.config.js rename to packages/playground/web-dev-server.config.js From 45de92236f173a5dac2941d8274fc7c98bbeb007 Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:43:29 +0330 Subject: [PATCH 19/20] chore(style): fix package path --- {ui => packages}/style/CHANGELOG.md | 0 {ui => packages}/style/README.md | 0 {ui => packages}/style/lib/base.css | 0 {ui => packages}/style/lib/colors.css | 0 {ui => packages}/style/lib/colors.ts | 0 {ui => packages}/style/lib/elevation.ts | 0 {ui => packages}/style/lib/screen.ts | 0 {ui => packages}/style/lib/state-layer.ts | 0 {ui => packages}/style/lib/tailwind.ts | 0 {ui => packages}/style/lib/typography.ts | 0 {ui => packages}/style/lib/z-index.ts | 0 {ui => packages}/style/main.css | 0 {ui => packages}/style/main.ts | 0 {ui => packages}/style/package.json | 0 {ui => packages}/style/palettes/h260.css | 0 {ui => packages}/style/palettes/h300.css | 0 {ui => packages}/style/tsconfig.json | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename {ui => packages}/style/CHANGELOG.md (100%) rename {ui => packages}/style/README.md (100%) rename {ui => packages}/style/lib/base.css (100%) rename {ui => packages}/style/lib/colors.css (100%) rename {ui => packages}/style/lib/colors.ts (100%) rename {ui => packages}/style/lib/elevation.ts (100%) rename {ui => packages}/style/lib/screen.ts (100%) rename {ui => packages}/style/lib/state-layer.ts (100%) rename {ui => packages}/style/lib/tailwind.ts (100%) rename {ui => packages}/style/lib/typography.ts (100%) rename {ui => packages}/style/lib/z-index.ts (100%) rename {ui => packages}/style/main.css (100%) rename {ui => packages}/style/main.ts (100%) rename {ui => packages}/style/package.json (100%) rename {ui => packages}/style/palettes/h260.css (100%) rename {ui => packages}/style/palettes/h300.css (100%) rename {ui => packages}/style/tsconfig.json (100%) diff --git a/ui/style/CHANGELOG.md b/packages/style/CHANGELOG.md similarity index 100% rename from ui/style/CHANGELOG.md rename to packages/style/CHANGELOG.md diff --git a/ui/style/README.md b/packages/style/README.md similarity index 100% rename from ui/style/README.md rename to packages/style/README.md diff --git a/ui/style/lib/base.css b/packages/style/lib/base.css similarity index 100% rename from ui/style/lib/base.css rename to packages/style/lib/base.css diff --git a/ui/style/lib/colors.css b/packages/style/lib/colors.css similarity index 100% rename from ui/style/lib/colors.css rename to packages/style/lib/colors.css diff --git a/ui/style/lib/colors.ts b/packages/style/lib/colors.ts similarity index 100% rename from ui/style/lib/colors.ts rename to packages/style/lib/colors.ts diff --git a/ui/style/lib/elevation.ts b/packages/style/lib/elevation.ts similarity index 100% rename from ui/style/lib/elevation.ts rename to packages/style/lib/elevation.ts diff --git a/ui/style/lib/screen.ts b/packages/style/lib/screen.ts similarity index 100% rename from ui/style/lib/screen.ts rename to packages/style/lib/screen.ts diff --git a/ui/style/lib/state-layer.ts b/packages/style/lib/state-layer.ts similarity index 100% rename from ui/style/lib/state-layer.ts rename to packages/style/lib/state-layer.ts diff --git a/ui/style/lib/tailwind.ts b/packages/style/lib/tailwind.ts similarity index 100% rename from ui/style/lib/tailwind.ts rename to packages/style/lib/tailwind.ts diff --git a/ui/style/lib/typography.ts b/packages/style/lib/typography.ts similarity index 100% rename from ui/style/lib/typography.ts rename to packages/style/lib/typography.ts diff --git a/ui/style/lib/z-index.ts b/packages/style/lib/z-index.ts similarity index 100% rename from ui/style/lib/z-index.ts rename to packages/style/lib/z-index.ts diff --git a/ui/style/main.css b/packages/style/main.css similarity index 100% rename from ui/style/main.css rename to packages/style/main.css diff --git a/ui/style/main.ts b/packages/style/main.ts similarity index 100% rename from ui/style/main.ts rename to packages/style/main.ts diff --git a/ui/style/package.json b/packages/style/package.json similarity index 100% rename from ui/style/package.json rename to packages/style/package.json diff --git a/ui/style/palettes/h260.css b/packages/style/palettes/h260.css similarity index 100% rename from ui/style/palettes/h260.css rename to packages/style/palettes/h260.css diff --git a/ui/style/palettes/h300.css b/packages/style/palettes/h300.css similarity index 100% rename from ui/style/palettes/h300.css rename to packages/style/palettes/h300.css diff --git a/ui/style/tsconfig.json b/packages/style/tsconfig.json similarity index 100% rename from ui/style/tsconfig.json rename to packages/style/tsconfig.json From f2c701751dd3a9dd966c9a8ed01752cee99e91fd Mon Sep 17 00:00:00 2001 From: Ali Mihandoost <ali.mihandoost@gmail.com> Date: Wed, 20 Sep 2023 02:44:01 +0330 Subject: [PATCH 20/20] chore: cleanup --- ui/README.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 ui/README.md diff --git a/ui/README.md b/ui/README.md deleted file mode 100644 index f3f8aa5a..00000000 --- a/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# Alwatr Web UI Packages/Elements