diff --git a/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_3.md b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_3.md new file mode 100644 index 0000000000..4d6365f52b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_3.md @@ -0,0 +1,94 @@ +## [NEW_VERSION](https://github.com/zyfra/Prizm) (CURRENT_DATE) + +### Features + +- List of new features, example: +- feat(component/cron): added custom title #1431 + +### Bug Fixes + +- List of new fixes, example: +- fix(components/input-number) remove default title for input number #1599 + +### Refactor + +- List of new refactors, example: +- refactor(charts): replace chart base options from theming to separate object #1000 + +### Breacking Changes + +- List of bc, example: +- bc(charts): removed function #1000 + +## Следует обратить внимание на ревью + +### Checklist: + +- [ ] Изменить версии в соответствующем массиве на ветке MAIN + - apps/doc/src/app/version-manager/versions.constants.ts +- [ ] Замените NEW_VERSION на новую версию в этом PR +- [ ] Замените CURRENT_DATE на текущую дату в этом PR +- [ ] Добавить в каждый тип ваши изменения в этом PR +- [ ] Удалите не нужные группы изменений для этого PR (Features, Bug Fixes, Breacking Changes, Refactor) +- [ ] Добавить изменения в changelog о новой версии +- [ ] Изменить версии в CI для деплоя (пока не автоматизировали) + - [ ] .github/workflows/beta-publish-ng14.yml + - [ ] .github/workflows/main-publish-ng14.yml + - [ ] .github/workflows/pre-release-publish-ng14.yml + - [ ] .github/workflows/beta-publish-ng15.yml + - [ ] .github/workflows/main-publish-ng15.yml + - [ ] .github/workflows/pre-release-publish-ng15.yml + - [ ] .github/workflows/beta-publish-ng16.yml + - [ ] .github/workflows/main-publish-ng16.yml + - [ ] .github/workflows/pre-release-publish-ng16.yml +- [ ] Изменить версии в доке на новую + - [ ] apps/doc/src/app/version-manager/current.const.ts.ng14 + - [ ] apps/doc/src/app/version-manager/current.const.ts.ng15 + - [ ] apps/doc/src/app/version-manager/current.const.ts.ng16 +- [ ] Изменить версии в соответствующем массиве + - apps/doc/src/app/version-manager/versions.constants.ts +- [ ] Изменить версию в root package файле + - [ ] package.json.ng14 + - [ ] package.json.ng15 + - [ ] package.json.ng16 +- [ ] Изменить версию package файлов в каждой библиотеке (в версиях 3x и ниже это 12 библиотек) + - [ ] libs/ast/package.json.ng14 + - [ ] libs/ast/package.json.ng15 + - [ ] libs/ast/package.json.ng16 + - [ ] libs/charts/base/package.json.ng14 + - [ ] libs/charts/base/package.json.ng15 + - [ ] libs/charts/base/package.json.ng16 + - [ ] libs/components/package.json.ng14 + - [ ] libs/components/package.json.ng15 + - [ ] libs/components/package.json.ng16 + - [ ] libs/core/package.json.ng14 + - [ ] libs/core/package.json.ng15 + - [ ] libs/core/package.json.ng16 + - [ ] libs/helpers/package.json.ng14 + - [ ] libs/helpers/package.json.ng15 + - [ ] libs/helpers/package.json.ng16 + - [ ] libs/i18n/package.json.ng14 + - [ ] libs/i18n/package.json.ng15 + - [ ] libs/i18n/package.json.ng16 + - [ ] libs/icons/base/package.json.ng14 + - [ ] libs/icons/base/package.json.ng15 + - [ ] libs/icons/base/package.json.ng16 + - [ ] libs/icons/flags/package.json.ng14 + - [ ] libs/icons/flags/package.json.ng15 + - [ ] libs/icons/flags/package.json.ng16 + - [ ] libs/nxmv/package.json.ng14 + - [ ] libs/nxmv/package.json.ng15 + - [ ] libs/nxmv/package.json.ng16 + - [ ] libs/plugin/package.json.ng14 + - [ ] libs/plugin/package.json.ng15 + - [ ] libs/plugin/package.json.ng16 + - [ ] libs/schematics/package.json.ng14 + - [ ] libs/schematics/package.json.ng15 + - [ ] libs/schematics/package.json.ng16 + - [ ] libs/theme/package.json.ng14 + - [ ] libs/theme/package.json.ng15 + - [ ] libs/theme/package.json.ng16 +- [ ] Составить readMe файл с описанием изменений на русском +- [ ] Выпуск тега для v1 +- [ ] Выпуск тега для v2 +- [ ] Выпуск тега для v3 diff --git a/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_4.md b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_4.md new file mode 100644 index 0000000000..761f60b2a6 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/prepare_release_for_4.md @@ -0,0 +1,70 @@ +## [NEW_VERSION](https://github.com/zyfra/Prizm) (CURRENT_DATE) + +### Features + +- List of new features, example: +- feat(component/cron): added custom title #1431 + +### Bug Fixes + +- List of new fixes, example: +- fix(components/input-number) remove default title for input number #1599 + +### Refactor + +- List of new refactors, example: +- refactor(charts): replace chart base options from theming to separate object #1000 + +### Breacking Changes + +- List of bc, example: +- bc(charts): removed function #1000 + +## Следует обратить внимание на ревью + +### Checklist: + +- [ ] Замените NEW_VERSION на новую версию в этом PR +- [ ] Замените CURRENT_DATE на текущую дату в этом PR +- [ ] Добавить в каждый тип ваши изменения в этом PR +- [ ] Удалите не нужные группы изменений для этого PR (Features, Bug Fixes, Breacking Changes, Refactor) +- [ ] Добавить изменения в changelog о новой версии +- [ ] Изменить версии в CI для деплоя (пока не автоматизировали) + - [ ] .github/workflows/beta-publish-ng17.yml + - [ ] .github/workflows/main-publish-ng17.yml + - [ ] .github/workflows/pre-release-publish-ng17.yml +- [ ] Изменить версии в доке на новую + - [ ] apps/doc/src/app/version-manager/current.const.ts + - [ ] apps/doc/src/app/version-manager/current.const.ts.ng17 +- [ ] Изменить версии в соответствующем массиве + - apps/doc/src/app/version-manager/versions.constants.ts +- [ ] Изменить версию в root package файле + - [ ] package.json + - [ ] package.json.ng17 +- [ ] Изменить версию package файлов в каждой библиотеке (на данный момент это 13 библиотек) + - [ ] libs/ast/package.json + - [ ] libs/ast/package.json.ng17 + - [ ] libs/charts/base/package.json + - [ ] libs/charts/base/package.json.ng17 + - [ ] libs/components/package.json + - [ ] libs/components/package.json.ng17 + - [ ] libs/core/package.json + - [ ] libs/core/package.json.ng17 + - [ ] libs/helpers/package.json + - [ ] libs/helpers/package.json.ng17 + - [ ] libs/i18n/package.json + - [ ] libs/i18n/package.json.ng17 + - [ ] libs/icons/base/package.json + - [ ] libs/icons/base/package.json.ng17 + - [ ] libs/icons/flags/package.json + - [ ] libs/icons/flags/package.json.ng17 + - [ ] libs/icons/loader/package.json + - [ ] libs/nxmv/package.json + - [ ] libs/nxmv/package.json.ng17 + - [ ] libs/plugin/package.json + - [ ] libs/plugin/package.json.ng17 + - [ ] libs/schematics/package.json + - [ ] libs/schematics/package.json.ng17 + - [ ] libs/theme/package.json + - [ ] libs/theme/package.json.ng17 +- [ ] Составить readMe файл с описанием изменений на русском diff --git a/.github/workflows/beta-publish-ng14.yml b/.github/workflows/beta-publish-ng14.yml index 1621c82154..aa2d16734b 100644 --- a/.github/workflows/beta-publish-ng14.yml +++ b/.github/workflows/beta-publish-ng14.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_draft_version=$( - (npm view @prizm-ui/components versions --tag ng14beta --json 2>/dev/null || echo '1.14.0-ng14beta.0') | jq '([.[] | select(startswith("1.14.0-ng14beta"))] | last // "1.14.0-ng14beta.0")' 2>/dev/null || echo '1.14.0-ng14beta.0' + (npm view @prizm-ui/components versions --tag ng14beta --json 2>/dev/null || echo '1.19.0-ng14beta.0') | jq '([.[] | select(startswith("1.19.0-ng14beta"))] | last // "1.19.0-ng14beta.0")' 2>/dev/null || echo '1.19.0-ng14beta.0' ) echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV diff --git a/.github/workflows/beta-publish-ng15.yml b/.github/workflows/beta-publish-ng15.yml index adb28c517a..f81b7abf18 100644 --- a/.github/workflows/beta-publish-ng15.yml +++ b/.github/workflows/beta-publish-ng15.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_draft_version=$( - (npm view @prizm-ui/components versions --tag ng15beta --json 2>/dev/null || echo '2.11.0-ng15beta.0') | jq '([.[] | select(startswith("2.11.0-ng15beta"))] | last // "2.11.0-ng15beta.0")' 2>/dev/null || echo '2.11.0-ng15beta.0' + (npm view @prizm-ui/components versions --tag ng15beta --json 2>/dev/null || echo '2.16.0-ng15beta.0') | jq '([.[] | select(startswith("2.16.0-ng15beta"))] | last // "2.16.0-ng15beta.0")' 2>/dev/null || echo '2.16.0-ng15beta.0' ) echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV diff --git a/.github/workflows/beta-publish-ng16.yml b/.github/workflows/beta-publish-ng16.yml index ee55ee327b..589b7afaa2 100644 --- a/.github/workflows/beta-publish-ng16.yml +++ b/.github/workflows/beta-publish-ng16.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_draft_version=$( - (npm view @prizm-ui/components versions --tag beta --json 2>/dev/null || echo '3.10.0-beta.0') | jq '([.[] | select(startswith("3.10.0-beta"))] | last // "3.10.0-beta.0")' 2>/dev/null || echo '3.10.0-beta.0' + (npm view @prizm-ui/components versions --tag ng16beta --json 2>/dev/null || echo '3.15.0-beta.0') | jq '([.[] | select(startswith("3.15.0-beta"))] | last // "3.15.0-beta.0")' 2>/dev/null || echo '3.15.0-beta.0' ) echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV @@ -139,7 +139,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/components && npm publish --tag beta --access public --verbose + - run: cd dist/libs/components && npm publish --tag ng16beta --access public --verbose publish-i18n: needs: build @@ -166,7 +166,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/i18n && npm publish --tag beta --access public --verbose + - run: cd dist/libs/i18n && npm publish --tag ng16beta --access public --verbose publish-helpers: needs: build @@ -193,7 +193,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/helpers && npm publish --tag beta --access public --verbose + - run: cd dist/libs/helpers && npm publish --tag ng16beta --access public --verbose publish-core: needs: build @@ -219,7 +219,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/core && npm publish --tag beta --access public --verbose + - run: cd dist/libs/core && npm publish --tag ng16beta --access public --verbose publish-theme: needs: build @@ -246,7 +246,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/theme && npm publish --tag beta --access public --verbose + - run: cd dist/libs/theme && npm publish --tag ng16beta --access public --verbose publish-icons: needs: build @@ -273,7 +273,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/icons/base && npm publish --tag beta --access public --verbose + - run: cd dist/libs/icons/base && npm publish --tag ng16beta --access public --verbose publish-flags: needs: build @@ -300,7 +300,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/icons/flags && npm publish --tag beta --access public --verbose + - run: cd dist/libs/icons/flags && npm publish --tag ng16beta --access public --verbose publish-plugin: needs: build @@ -327,7 +327,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/plugin && npm publish --tag beta --access public --verbose + - run: cd dist/libs/plugin && npm publish --tag ng16beta --access public --verbose publish-ast: needs: build @@ -354,7 +354,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/ast && npm publish --tag beta --access public --verbose + - run: cd dist/libs/ast && npm publish --tag ng16beta --access public --verbose publish-charts: needs: build @@ -381,7 +381,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/charts && npm publish --tag beta --access public --verbose + - run: cd dist/libs/charts && npm publish --tag ng16beta --access public --verbose publish-nxmv: needs: build @@ -408,4 +408,4 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/nxmv && npm publish --tag beta --access public --verbose + - run: cd dist/libs/nxmv && npm publish --tag ng16beta --access public --verbose diff --git a/.github/workflows/beta-publish-ng17.yml b/.github/workflows/beta-publish-ng17.yml new file mode 100644 index 0000000000..620b30243b --- /dev/null +++ b/.github/workflows/beta-publish-ng17.yml @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish beta packages 17 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_draft_version=$( + (npm view @prizm-ui/components versions --tag beta --json 2>/dev/null || echo '4.1.1-beta.0') | jq '([.[] | select(startswith("4.1.1-beta"))] | last // "4.1.1-beta.0")' 2>/dev/null || echo '4.1.1-beta.0' + ) + echo "LAST_DRAFT_VERSION=${last_draft_version}" >> $GITHUB_ENV + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Update beta versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-beta.up" --all --currentVersion="${{ env.LAST_DRAFT_VERSION }}" + + - name: 'Build beta versions.' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-beta + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag beta --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag beta --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag beta --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag beta --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag beta --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag beta --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag beta --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag beta --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag beta --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag beta --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag beta --access public --verbose diff --git a/.github/workflows/beta-released.yml b/.github/workflows/beta-released.yml index fa0e4091a9..a1d39560fd 100644 --- a/.github/workflows/beta-released.yml +++ b/.github/workflows/beta-released.yml @@ -6,18 +6,22 @@ env: npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} jobs: - pre_beta_release_v3: + pre_beta_release_v4: if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/beta-publish-ng16.yml@main - secrets: inherit - - pre_beta_release_v2: - needs: pre_beta_release_v3 - if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/beta-publish-ng15.yml@main - secrets: inherit - - pre_beta_release_v1: - needs: pre_beta_release_v2 - uses: zyfra/Prizm/.github/workflows/beta-publish-ng14.yml@main + uses: zyfra/Prizm/.github/workflows/beta-publish-ng17.yml@main secrets: inherit +# pre_beta_release_v3: +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/beta-publish-ng16.yml@main +# secrets: inherit +# +# pre_beta_release_v2: +# needs: pre_beta_release_v3 +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/beta-publish-ng15.yml@main +# secrets: inherit +# +# pre_beta_release_v1: +# needs: pre_beta_release_v2 +# uses: zyfra/Prizm/.github/workflows/beta-publish-ng14.yml@main +# secrets: inherit diff --git a/.github/workflows/check-build-in-real-project-ng14.yml b/.github/workflows/check-build-in-real-project-ng14.yml index 1e69206927..63fcd4bb2c 100644 --- a/.github/workflows/check-build-in-real-project-ng14.yml +++ b/.github/workflows/check-build-in-real-project-ng14.yml @@ -53,7 +53,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: 'Build doc app for firebase hosting' run: npx ng build diff --git a/.github/workflows/check-build-in-real-project-ng15.yml b/.github/workflows/check-build-in-real-project-ng15.yml index dcbfa6bf0e..23dd0fb202 100644 --- a/.github/workflows/check-build-in-real-project-ng15.yml +++ b/.github/workflows/check-build-in-real-project-ng15.yml @@ -53,7 +53,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: 'Build doc app for firebase hosting' run: npx ng build diff --git a/.github/workflows/deploy-main-doc-ng14.yml b/.github/workflows/deploy-main-doc-ng14.yml new file mode 100644 index 0000000000..04cc352f4c --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng14.yml @@ -0,0 +1,117 @@ +name: Deploy doc main 14 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_14-${{ hashFiles('package-lock.json.ng14') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_14- + + - name: 'Initial changes 14' + run: | + cp -f package.json.ng14 package.json + cp -f package-lock.json.ng14 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v1_version=$( + echo '1.14.0' + ) + echo "LAST_V1_VERSION=${last_v1_version}" >> $GITHUB_ENV + + - name: 'Set version 14' + run: npx nx generate @prizm-ui/nx-mv:apply -n v14 + + # - name: 'Update main versions' + # run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="1.*.*.up" --all --currentVersion="${{ env.LAST_V1_VERSION }}" + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_14-${{ hashFiles('package-lock.json.ng14') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_14- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v1 diff --git a/.github/workflows/deploy-main-doc-ng15.yml b/.github/workflows/deploy-main-doc-ng15.yml new file mode 100644 index 0000000000..7610985427 --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng15.yml @@ -0,0 +1,112 @@ +name: Deploy doc main 15 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_15-${{ hashFiles('package-lock.json.ng15') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_15- + + - name: 'Initial changes 15' + run: | + cp -f package.json.ng15 package.json + cp -f package-lock.json.ng15 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v2_version=$( + echo '2.11.0' + ) + echo "LAST_V2_VERSION=${last_v2_version}" >> $GITHUB_ENV + + - name: 'Set version 15' + run: npx nx generate @prizm-ui/nx-mv:apply -n v15 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_15-${{ hashFiles('package-lock.json.ng15') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_15- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v2 diff --git a/.github/workflows/deploy-main-doc-ng16.yml b/.github/workflows/deploy-main-doc-ng16.yml new file mode 100644 index 0000000000..0f8898369b --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng16.yml @@ -0,0 +1,107 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Deploy doc main 16 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng16') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_16- + + - name: 'Initial changes 16' + run: | + cp -f package.json.ng16 package.json + cp -f package-lock.json.ng16 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '3.10.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + - name: 'Set version 16' + run: npx nx generate @prizm-ui/nx-mv:apply -n v16 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng16') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_16- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v3 diff --git a/.github/workflows/deploy-main-doc-ng17.yml b/.github/workflows/deploy-main-doc-ng17.yml new file mode 100644 index 0000000000..a4711579e1 --- /dev/null +++ b/.github/workflows/deploy-main-doc-ng17.yml @@ -0,0 +1,107 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Deploy doc main 17 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '3.10.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4 diff --git a/.github/workflows/deploy-main-doc.yml b/.github/workflows/deploy-main-doc.yml new file mode 100644 index 0000000000..874d0c6b57 --- /dev/null +++ b/.github/workflows/deploy-main-doc.yml @@ -0,0 +1,27 @@ +name: Deploy main doc +on: + workflow_dispatch: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +jobs: + # release_v4: + # if: ${{ always() }} + # uses: zyfra/Prizm/.github/workflows/main-publish-ng17.yml@main + # secrets: inherit + release_v3: + needs: release_v4 + if: ${{ always() }} + uses: zyfra/Prizm/.github/workflows/deploy-main-doc-ng16.yml@main + secrets: inherit + + release_v2: + needs: release_v3 + if: ${{ always() }} + uses: zyfra/Prizm/.github/workflows/deploy-main-doc-ng15.yml@main + secrets: inherit + + release_v1: + needs: release_v2 + uses: zyfra/Prizm/.github/workflows/deploy-main-doc-ng13.yml@main + secrets: inherit diff --git a/.github/workflows/main-publish-ng14.yml b/.github/workflows/main-publish-ng14.yml index c82a8c2bc2..a1477fc2d7 100644 --- a/.github/workflows/main-publish-ng14.yml +++ b/.github/workflows/main-publish-ng14.yml @@ -53,12 +53,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_v1_version=$( - echo '1.14.0' + echo '1.19.0' ) echo "LAST_V1_VERSION=${last_v1_version}" >> $GITHUB_ENV diff --git a/.github/workflows/main-publish-ng15.yml b/.github/workflows/main-publish-ng15.yml index d505686470..d216289de8 100644 --- a/.github/workflows/main-publish-ng15.yml +++ b/.github/workflows/main-publish-ng15.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_v2_version=$( - echo '2.11.0' + echo '2.16.0' ) echo "LAST_V2_VERSION=${last_v2_version}" >> $GITHUB_ENV diff --git a/.github/workflows/main-publish-ng16.yml b/.github/workflows/main-publish-ng16.yml index 069a99b437..79cf95f5f2 100644 --- a/.github/workflows/main-publish-ng16.yml +++ b/.github/workflows/main-publish-ng16.yml @@ -29,7 +29,7 @@ jobs: uses: actions/cache/restore@v3 with: path: ./node_modules - key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng15') }} + key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng16') }} restore-keys: | ${{ runner.os }}-node_modules_ng_16- @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_v3_version=$( - echo '3.10.0' + echo '3.15.0' ) echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV @@ -104,7 +104,7 @@ jobs: firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' projectId: prizmui channelId: live - target: main + target: v3 publish-components: needs: build @@ -132,7 +132,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/components && npm publish --access public --verbose + - run: cd dist/libs/components && npm publish --tag ng16 --access public --verbose publish-i18n: needs: build @@ -160,7 +160,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/i18n && npm publish --access public --verbose + - run: cd dist/libs/i18n && npm publish --tag ng16 --access public --verbose publish-helpers: needs: build @@ -188,7 +188,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/helpers && npm publish --access public --verbose + - run: cd dist/libs/helpers && npm publish --tag ng16 --access public --verbose publish-core: needs: build @@ -216,7 +216,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/core && npm publish --access public --verbose + - run: cd dist/libs/core && npm publish --tag ng16 --access public --verbose publish-theme: needs: build @@ -244,7 +244,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/theme && npm publish --access public --verbose + - run: cd dist/libs/theme && npm publish --tag ng16 --access public --verbose publish-icons: needs: build @@ -272,7 +272,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/icons/base && npm publish --access public --verbose + - run: cd dist/libs/icons/base && npm publish --tag ng16 --access public --verbose publish-flags: needs: build @@ -300,7 +300,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/icons/flags && npm publish --access public --verbose + - run: cd dist/libs/icons/flags && npm publish --tag ng16 --access public --verbose publish-plugin: needs: build @@ -328,7 +328,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/plugin && npm publish --access public --verbose + - run: cd dist/libs/plugin && npm publish --tag ng16 --access public --verbose publish-ast: needs: build @@ -356,7 +356,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/ast && npm publish --access public --verbose + - run: cd dist/libs/ast && npm publish --tag ng16 --access public --verbose publish-charts: needs: build @@ -384,7 +384,7 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/charts && npm publish --access public --verbose + - run: cd dist/libs/charts && npm publish --tag ng16 --access public --verbose publish-nxmv: needs: build @@ -412,4 +412,4 @@ jobs: name: dist path: ./dist - - run: cd dist/libs/nxmv && npm publish --access public --verbose + - run: cd dist/libs/nxmv && npm publish --tag ng16 --access public --verbose diff --git a/.github/workflows/main-publish-ng17.yml b/.github/workflows/main-publish-ng17.yml new file mode 100644 index 0000000000..a29f430108 --- /dev/null +++ b/.github/workflows/main-publish-ng17.yml @@ -0,0 +1,443 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish main packages 17 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_v3_version=$( + echo '4.1.0' + ) + echo "LAST_V3_VERSION=${last_v3_version}" >> $GITHUB_ENV + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Build main versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: main + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/components && npm publish --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/i18n && npm publish --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/helpers && npm publish --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/core && npm publish --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/theme && npm publish --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/base && npm publish --access public --verbose + + publish-icons-loader: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/loader && npm publish --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/icons/flags && npm publish --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/plugin && npm publish --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/ast && npm publish --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/charts && npm publish --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - run: cd dist/libs/nxmv && npm publish --access public --verbose diff --git a/.github/workflows/pr-ng14.yml b/.github/workflows/pr-ng14.yml index 1b66b2b9f5..ca6916dcb8 100644 --- a/.github/workflows/pr-ng14.yml +++ b/.github/workflows/pr-ng14.yml @@ -1,8 +1,10 @@ name: PR NG 14 on: - pull_request_target: - branches: - - main + workflow_dispatch: + workflow_call: +# pull_request_target: +# branches: +# - main jobs: doc_deploy: runs-on: ubuntu-latest @@ -52,7 +54,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: 'Clears all the cached Nx artifacts and metadata ' run: npx nx reset @@ -115,7 +117,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" # - run: npx nx workspace-lint # - run: npx nx clear-cache diff --git a/.github/workflows/pr-ng15.yml b/.github/workflows/pr-ng15.yml index 4e94bd4360..9458fc96c5 100644 --- a/.github/workflows/pr-ng15.yml +++ b/.github/workflows/pr-ng15.yml @@ -1,8 +1,10 @@ name: PR NG 15 on: - pull_request_target: - branches: - - main + workflow_dispatch: + workflow_call: +# pull_request_target: +# branches: +# - main jobs: doc_deploy: runs-on: ubuntu-latest @@ -49,7 +51,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: 'Set version 15' run: npx nx generate @prizm-ui/nx-mv:apply -n v15 @@ -115,7 +117,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" # - run: npx nx workspace-lint # - run: npx nx clear-cache diff --git a/.github/workflows/pr-ng16.yml b/.github/workflows/pr-ng16.yml index d801b00dd1..6ccf70ee78 100644 --- a/.github/workflows/pr-ng16.yml +++ b/.github/workflows/pr-ng16.yml @@ -1,8 +1,10 @@ name: PR NG 16 on: - pull_request_target: - branches: - - main + workflow_dispatch: + workflow_call: +# pull_request_target: +# branches: +# - main jobs: doc_deploy: runs-on: ubuntu-latest @@ -26,7 +28,7 @@ jobs: uses: actions/cache/restore@v3 with: path: ./node_modules - key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng15') }} + key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng16') }} restore-keys: | ${{ runner.os }}-node_modules_ng_16- @@ -49,7 +51,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: 'Set version 16' run: npx nx generate @prizm-ui/nx-mv:apply -n v16 @@ -92,7 +94,7 @@ jobs: uses: actions/cache/restore@v3 with: path: ./node_modules - key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng15') }} + key: ${{ runner.os }}-node_modules_ng_16-${{ hashFiles('package-lock.json.ng16') }} restore-keys: | ${{ runner.os }}-node_modules_ng_16- @@ -115,7 +117,7 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" # - run: npx nx workspace-lint # - run: npx nx clear-cache diff --git a/.github/workflows/pr-ng17.yml b/.github/workflows/pr-ng17.yml new file mode 100644 index 0000000000..9eeb2168bc --- /dev/null +++ b/.github/workflows/pr-ng17.yml @@ -0,0 +1,140 @@ +name: PR NG 17 +on: + pull_request_target: + branches: + - main +jobs: + doc_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v2 + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Clears all the cached Nx artifacts and metadata ' + run: npx nx reset + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: 'Upload to Firebase HOSTING (ng17)' + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + expires: 5d + target: v4 + projectId: prizmui + + lint_build_test: + needs: doc_deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v2 + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + # - run: npx nx workspace-lint + # - run: npx nx clear-cache + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Clears all the cached Nx artifacts and metadata ' + run: npx nx reset + + - run: npx nx affected --target=test --base=origin/main --parallel --max-parallel=3 + - run: npx nx affected --target=lint --base=origin/main + # - run: npx nx affected --target=lint --base=origin/main --parallel --max-parallel=3 + # TODO remove schematics excluding after fix + - run: npx nx affected --target=build --base=origin/main --prod + - run: npx nx format:check --base=origin/main +# TODO LATER fix playwright test +# - name: Install Cypress +# run: npx cypress install + +# - name: Run e2e cypress test +# run: npx nx affected --target=e2e --base=main --prod --parallel --max-parallel=3 diff --git a/.github/workflows/pre-release-publish-ng14.yml b/.github/workflows/pre-release-publish-ng14.yml index dc3f2d566c..979d923298 100644 --- a/.github/workflows/pre-release-publish-ng14.yml +++ b/.github/workflows/pre-release-publish-ng14.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_next_version=$( - (npm view @prizm-ui/components versions --tag ng14next --json 2>/dev/null || echo '1.14.0-ng14next.0') | jq '([.[] | select(startswith("1.14.0-ng14next"))] | last // "1.14.0-ng14next.0")' 2>/dev/null || echo '1.14.0-ng14next.0' + (npm view @prizm-ui/components versions --tag ng14next --json 2>/dev/null || echo '1.19.0-ng14next.0') | jq '([.[] | select(startswith("1.19.0-ng14next"))] | last // "1.19.0-ng14next.0")' 2>/dev/null || echo '1.19.0-ng14next.0' ) echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV diff --git a/.github/workflows/pre-release-publish-ng15.yml b/.github/workflows/pre-release-publish-ng15.yml index f3cb5b7980..afb7608423 100644 --- a/.github/workflows/pre-release-publish-ng15.yml +++ b/.github/workflows/pre-release-publish-ng15.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_next_version=$( - (npm view @prizm-ui/components versions --tag ng15next --json 2>/dev/null || echo '2.11.0-ng15next.0') | jq '([.[] | select(startswith("2.11.0-ng15next"))] | last // "2.11.0-ng15next.0")' 2>/dev/null || echo '2.11.0-ng15next.0' + (npm view @prizm-ui/components versions --tag ng15next --json 2>/dev/null || echo '2.16.0-ng15next.0') | jq '([.[] | select(startswith("2.16.0-ng15next"))] | last // "2.16.0-ng15next.0")' 2>/dev/null || echo '2.16.0-ng15next.0' ) echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV diff --git a/.github/workflows/pre-release-publish-ng16.yml b/.github/workflows/pre-release-publish-ng16.yml index 1c5d098ca0..7884f96413 100644 --- a/.github/workflows/pre-release-publish-ng16.yml +++ b/.github/workflows/pre-release-publish-ng16.yml @@ -52,12 +52,12 @@ jobs: - name: 'Increase max memory limit' run: | - export NODE_OPTIONS="--max_old_space_size=4096" + export NODE_OPTIONS="--max_old_space_size=8192" - name: Set up environment variables run: | last_next_version=$( - (npm view @prizm-ui/components versions --tag next --json 2>/dev/null || echo '3.10.0-next.0') | jq '([.[] | select(startswith("3.10.0-next"))] | last // "3.10.0-next.0")' 2>/dev/null || echo '3.10.0-next.0' + (npm view @prizm-ui/components versions --tag ng16next --json 2>/dev/null || echo '3.15.0-next.0') | jq '([.[] | select(startswith("3.15.0-next"))] | last // "3.15.0-next.0")' 2>/dev/null || echo '3.15.0-next.0' ) echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV @@ -139,7 +139,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/components && npm publish --tag next --access public --verbose + - run: cd dist/libs/components && npm publish --tag ng16next --access public --verbose publish-i18n: needs: build @@ -166,7 +166,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/i18n && npm publish --tag next --access public --verbose + - run: cd dist/libs/i18n && npm publish --tag ng16next --access public --verbose publish-helpers: needs: build @@ -193,7 +193,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/helpers && npm publish --tag next --access public --verbose + - run: cd dist/libs/helpers && npm publish --tag ng16next --access public --verbose publish-core: needs: build @@ -219,7 +219,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/core && npm publish --tag next --access public --verbose + - run: cd dist/libs/core && npm publish --tag ng16next --access public --verbose publish-theme: needs: build @@ -246,7 +246,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/theme && npm publish --tag next --access public --verbose + - run: cd dist/libs/theme && npm publish --tag ng16next --access public --verbose publish-icons: needs: build @@ -273,7 +273,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/icons/base && npm publish --tag next --access public --verbose + - run: cd dist/libs/icons/base && npm publish --tag ng16next --access public --verbose publish-flags: needs: build @@ -300,7 +300,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/icons/flags && npm publish --tag next --access public --verbose + - run: cd dist/libs/icons/flags && npm publish --tag ng16next --access public --verbose publish-plugin: needs: build @@ -327,7 +327,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/plugin && npm publish --tag next --access public --verbose + - run: cd dist/libs/plugin && npm publish --tag ng16next --access public --verbose publish-ast: needs: build @@ -354,7 +354,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/ast && npm publish --tag next --access public --verbose + - run: cd dist/libs/ast && npm publish --tag ng16next --access public --verbose publish-charts: needs: build @@ -381,7 +381,7 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/charts && npm publish --tag next --access public --verbose + - run: cd dist/libs/charts && npm publish --tag ng16next --access public --verbose publish-nxmv: needs: build @@ -408,4 +408,4 @@ jobs: node-version: '18.x' registry-url: 'https://registry.npmjs.org' - - run: cd dist/libs/nxmv && npm publish --tag next --access public --verbose + - run: cd dist/libs/nxmv && npm publish --tag ng16next --access public --verbose diff --git a/.github/workflows/pre-release-publish-ng17.yml b/.github/workflows/pre-release-publish-ng17.yml new file mode 100644 index 0000000000..f01d2c1d36 --- /dev/null +++ b/.github/workflows/pre-release-publish-ng17.yml @@ -0,0 +1,411 @@ +# TODO: later change tag by input variable ${{ inputs.tag }} +name: Publish next packages 17 +on: + workflow_dispatch: + workflow_call: +env: + npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} +permissions: + contents: read + packages: write +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v3 + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: Restore cache + id: cache-restore + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: 'Initial changes 17' + run: | + cp -f package.json.ng17 package.json + cp -f package-lock.json.ng17 package-lock.json + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm ci --ignore-scripts + + - name: Save cache... + id: cache-save + uses: actions/cache/save@v3 + if: ${{ steps.cache-restore.outputs.cache-hit != 'true' && always() }} + with: + path: ./node_modules + key: ${{ steps.cache-restore.outputs.cache-primary-key }} + + - name: 'Increase max memory limit' + run: | + export NODE_OPTIONS="--max_old_space_size=8192" + + - name: Set up environment variables + run: | + last_next_version=$( + (npm view @prizm-ui/components versions --tag next --json 2>/dev/null || echo '4.1.1-next.0') | jq '([.[] | select(startswith("4.1.1-next"))] | last // "4.1.1-next.0")' 2>/dev/null || echo '4.1.1-next.0' + ) + echo "LAST_NEXT_VERSION=${last_next_version}" >> $GITHUB_ENV + + - name: 'Set version 17' + run: npx nx generate @prizm-ui/nx-mv:apply -n v17 + + - name: 'Update next versions' + run: npx nx generate @prizm-ui/nx-plugin:update-version --updateInDependencies true --newVersion="4.*.*-next.up" --all --currentVersion="${{ env.LAST_NEXT_VERSION }}" + + - name: 'Build next versions' + run: npx nx run-many --target=build --all --parallel --max-parallel=3 + + - name: Upload dist as artifacts... + id: dist-cache-save + uses: actions/upload-artifact@v3 + with: + name: dist + path: ./dist + + deploy_to_doc: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - name: 'Build doc app for firebase hosting' + run: npm run build:doc + + - name: Deploy doc to firebase + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PRIZMUI }}' + projectId: prizmui + channelId: live + target: v4-next + + publish-components: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/components && npm publish --tag next --access public --verbose + + publish-i18n: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/i18n && npm publish --tag next --access public --verbose + + publish-helpers: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/helpers && npm publish --tag next --access public --verbose + + publish-core: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/core && npm publish --tag next --access public --verbose + + publish-theme: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/theme && npm publish --tag next --access public --verbose + + publish-icons: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/base && npm publish --tag next --access public --verbose + + publish-flags: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/icons/flags && npm publish --tag next --access public --verbose + + publish-plugin: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/plugin && npm publish --tag next --access public --verbose + + publish-ast: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/ast && npm publish --tag next --access public --verbose + + publish-charts: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/charts && npm publish --tag next --access public --verbose + + publish-nxmv: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Restore node_modules in cache + uses: actions/cache/restore@v3 + with: + path: ./node_modules + key: ${{ runner.os }}-node_modules_ng_17-${{ hashFiles('package-lock.json.ng17') }} + restore-keys: | + ${{ runner.os }}-node_modules_ng_17- + + - name: Download dist from artifact + uses: actions/download-artifact@v3 + with: + name: dist + path: ./dist + + - uses: actions/setup-node@v3 + with: + node-version: '18.x' + registry-url: 'https://registry.npmjs.org' + + - run: cd dist/libs/nxmv && npm publish --tag next --access public --verbose diff --git a/.github/workflows/pre-released.yml b/.github/workflows/pre-released.yml index 1feed2ed38..3932eab2a5 100644 --- a/.github/workflows/pre-released.yml +++ b/.github/workflows/pre-released.yml @@ -8,30 +8,23 @@ env: npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} jobs: - # pre_beta_release_v1: - # uses: zyfra/Prizm/.github/workflows/beta-publish-ng14.yml@main - # secrets: inherit - # - # pre_beta_release_v2: - # uses: zyfra/Prizm/.github/workflows/beta-publish-ng15.yml@main - # secrets: inherit - # - # pre_beta_release_v3: - # uses: zyfra/Prizm/.github/workflows/beta-publish-ng16.yml@main - # secrets: inherit - pre_release_v3: + pre_release_v4: if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng16.yml@main - secrets: inherit - - pre_release_v2: - needs: pre_release_v3 - if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng15.yml@main - secrets: inherit - - pre_release_v1: - needs: pre_release_v1 - if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng14.yml@main + uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng17.yml@main secrets: inherit +# pre_release_v3: +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng16.yml@main +# secrets: inherit +# +# pre_release_v2: +# needs: pre_release_v3 +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng15.yml@main +# secrets: inherit +# +# pre_release_v1: +# needs: pre_release_v1 +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/pre-release-publish-ng14.yml@main +# secrets: inherit diff --git a/.github/workflows/released.yml b/.github/workflows/released.yml index a3400f82c0..2251bb98b6 100644 --- a/.github/workflows/released.yml +++ b/.github/workflows/released.yml @@ -8,31 +8,23 @@ env: npmrc_config_push: ${{ secrets.NPMRC_CONFIG_PUSH }} NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_PUBLISH_TOKEN }} jobs: - # pre_beta_release_v1: - # uses: zyfra/Prizm/.github/workflows/beta-publish-ng14.yml@main - # secrets: inherit - # - # pre_beta_release_v2: - # uses: zyfra/Prizm/.github/workflows/beta-publish-ng15.yml@main - # secrets: inherit - - # check_package_install: - # uses: zyfra/Prizm/.github/workflows/check-build-in-real-project-ng-15.yml@main - # secrets: inherit - # needs: pre_beta_release - - release_v3: + release_v4: if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/main-publish-ng16.yml@main - secrets: inherit - - release_v2: - needs: release_v3 - if: ${{ always() }} - uses: zyfra/Prizm/.github/workflows/main-publish-ng15.yml@main - secrets: inherit - - release_v1: - needs: release_v2 - uses: zyfra/Prizm/.github/workflows/main-publish-ng14.yml@main + uses: zyfra/Prizm/.github/workflows/main-publish-ng17.yml@main secrets: inherit +# release_v3: +# needs: release_v4 +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/main-publish-ng16.yml@main +# secrets: inherit +# +# release_v2: +# needs: release_v3 +# if: ${{ always() }} +# uses: zyfra/Prizm/.github/workflows/main-publish-ng15.yml@main +# secrets: inherit +# +# release_v1: +# needs: release_v2 +# uses: zyfra/Prizm/.github/workflows/main-publish-ng14.yml@main +# secrets: inherit diff --git a/.gitlab/merge_request_templates/mr_template.md b/.gitlab/merge_request_templates/mr_template.md index b05ff22cbf..2c504a8374 100644 --- a/.gitlab/merge_request_templates/mr_template.md +++ b/.gitlab/merge_request_templates/mr_template.md @@ -4,6 +4,7 @@ - [ ] `@prizm-ui/install` - [ ] `@prizm-ui/icons` - [ ] `@prizm-ui/theme` +- [ ] `documentation` ### Компонент @@ -29,3 +30,7 @@ Checklist: ### Следует обратить внимание на ревью _На что нужно обратить внимание_ + +### Release notes + +_Описание на русском для release notes_ diff --git a/apps/doc/src/app/about-prizm/changelog/CHANGELOG.md b/apps/doc/src/app/about-prizm/changelog/CHANGELOG.md index 64e7c260b8..40428b3afa 100644 --- a/apps/doc/src/app/about-prizm/changelog/CHANGELOG.md +++ b/apps/doc/src/app/about-prizm/changelog/CHANGELOG.md @@ -2,9 +2,217 @@ All notable changes to this project will be documented in this file. -## [1.14.0, 2.11.0, 3.10.0](https://github.com/zyfra/Prizm) (19-01-2023) +## [1.19.0, 2.15.0, 3.15.0](https://github.com/zyfra/Prizm) (22-07-2024) -## Features +### Features + +- feat(components/paginator): update paginator dictionary #1840 BREAKING CHANGE in dictionary -[here](https://github.com/zyfra/Prizm/discussions/1617) + +### Bug Fixes + +- fix(components/switcher): fix async support for selected switcher #1476 +- fix(components/tree): incorrect markup fix #1742 Note: markup is update can affect tree component in project +- fix(components/input-text): incorrect behavior occurring in PrizmInputComponent when NgxMaskDirective is applied and the value changes from an empty state. #1190 +- fix(components/multiselect): checkboxes are blinking on elements click #1718 +- fix(components/switcher): write value error fixed #1890 + +## [1.18.1, 2.15.1, 3.14.1](https://github.com/zyfra/Prizm) (20-06-2024) + +### Bug Fixes + +- fix(doc/textarea): missing border property added for textarea livedemo #1803 +- fix(components/input-icon-button): disabled button should not fire events #1823 + +## [1.18.0, 2.15.0, 3.14.0](https://github.com/zyfra/Prizm) (13-06-2024) + +### Features + +- feat(helpers): added prizmHasChanged helper +- feat: update mr checklist template + +### Bug Fixes + +- fix(components/chips): update chips on async changes #1754 +- fix(components/input-date-range): default time is set only after focus is removed #1762 +- fix(components/input-date-relative): active items not updated when value set by formControl #1685 +- fix(components/panel): set default border radius as 0px to panel #1767 +- fix(components/input-date-time): display time 00:00 when a date is selected #1575 +- fix(components/hint): safe update overlay only when changes dependencies and moved method prizmHasChanges #1719, #716 +- fix(docs/tab): remove $any from basic example #841 +- fix(components/input-date-range): added corrector if from is more than to #1628 +- fix(components/panel): add prefix prizm to panel component #1665 +- fix(components/panel): converted panelcomponent to standalone #1665 +- fix(components/file-upload): newly uploaded files should not overwrte existing files array #1662 +- fix(components/file-upload): multiply false paramenter works incorrect with uploading by drop #1770 +- fix(chore): remove cloud nx token +- fix(doc): version detection on doc.zyfra or prizm.site #1133 +- fix(charts/line): add missing seriesField input to Line chart #1811 +- fix(doc/line): smooth line exaple source code link fix +- fix(doc/tab): improve live demo example for counter options +- fix(components/chips): hint appears in multiselect after deletion #1815 + +### Breacking Changes + +- feat(components/file-upload): add hint for browse button when its disable due max files count reached #1769 - BREAKING CHANGE in dictionaries, why we do this read [here](https://github.com/zyfra/Prizm/discussions/1617) +- feat(components/file-upload): add translations for file size unit #1789 - BREAKING CHANGE in dictionaries, why we do this read [here](https://github.com/zyfra/Prizm/discussions/1617) + +## [1.17.2, 2.14.2, 3.13.2](https://github.com/zyfra/Prizm) (03-06-2024) + +### Bug fixes + +- fix(components/paginator): fixed PrizmPaginatorComponent instance was incompatible with PrizmTableDataSource.paginator property #1746 +- fix(components/input-date-range): default time is set only after focus is removed - #1565 +- fix(components/input-number): fix sync state with input-layout #1645 #1644 +- fix(components/calendar): change calendar resrtictions ux #1674 +- fix(components/chips): dots overflows chip list container #1713 +- fix(components/input-layout): add margin bottom for label in outer inputs #1659 + +### Refactor + +- refactor(components/chips): move multiply subscriptions to prizmLet + +## [1.17.1, 2.14.1, 3.13.1](https://github.com/zyfra/Prizm) (20-05-2024) + +### Bug fixes + +- fix(components/table): add five lines support for table head +- fix(component/table): sort icon replaced with button. #1486 +- fix(component/table): header width doesn't change when sorted #1561 +- fix(documentation/table): filter and edit action buttons in examples replaced with buttons. #1486 +- fix(documentation/table): table track by and sort-pagination examples improvement #1655 +- fix(components/toast): changed content width in toast #1433 +- fix(component/navigation-menu): added scroll to navigation menu #1585 +- fix(components/scrollbar): theme switching in scrollbar works incorrect #1657 +- fix(component/cron): cron selected working incorrect #1494 +- fix(components/cron): cron months blinks on hover #1642 +- fix(doc/dialog): add dismissable prop to live demo #1551 + +## [1.17.0, 2.14.0, 3.13.0](https://github.com/zyfra/Prizm) (22-04-2024) + +### Features + +- feat: checklist for release 4x version #1611 +- feat: checklist for release 3x version #1612 +- feat(component/cron): added custom title #1431 +- feat(charts): update colors for charts to new schema #1196 +- feat(documentation): add decimal input type to live demo documentation + +### Bug fixes + +- fix(components/input-number): manual input works incorrect when min set for input number #1580 +- fix(components/input-number) remove default title for input number #1599 +- fix(components/inputs): hint status text for required input not shown after force clear #1598 +- fix(component/navigation): hidden overflow for navigation titles. added hints #1510 +- fix(component/header): hidden overflow for navigation titles. added hints #1510 +- fix(component/file-upload): if the name is long it doesn't overlap upload bar. name becomes truncated. expansion remains #1541 +- fix(component/toggle): removed hover and focus if loading #1485 +- fix(documentation): changed filesValidationErrors type in examples and live demo #1371 +- fix(components/paginator): fixed width of rows selector #1466 +- fix(components/column-settings): incorrect display of one unhidden column in column settings #1036 +- fix(components/input-layout-date-time): incorrect min max work for manual input #1618, #883 +- fix(theme): remove redundant token from default theme +- fix(charts): charts tolltip background color error #1488 +- fix(charts/bar): bar chart changing postion on theme chage #1492 +- fix(charts/bar): bar chart x axis shpould be shown for both themes #1490 +- fix(charts): not all charts ascept theming #1489 +- fix(charts/pie/waterfall/radial-bar): wrong stroke color on hover in pie, waterfall and radial bar charts #1508 +- fix(charts/pie): pie line style update for dark theme +- fix(charts): incorrect data colors displayed in charts #1505 +- fix(documentation/scatter): points on the scatter are not completely hidden when it's hidden in legend #1493 +- fix(documentation/bar): incorrect examples for bar stacked and bar groupd charts #1507 +- fix(documentation/pie): removed extra properties from pie live demo tab +- fix(documentation/gauge): change percent input type for live demo +- fix(documentation/bar): colors in bar example works incorrect when theme chages #1491 +- fix(documentation/typography): typography page changed #1497 #1498 +- fix(documentation/sticky): fix scroll in sticky example #670 +- fix(documentation/card): removed shadow variant duplicate #1434 +- fix(documentation): changelog headers formatting #1499 +- fix(documentation/ast): removed first empty string in ast code examples #1501 +- fix(documentation/checkbox): fixed description of checkbox module import #1527 +- fix(documentation/table): search for server sort example fixed #1107 + +### Refactor + +- refactor(charts): replace chart base options from theming to separate object + +## [1.16.0, 2.13.0, 3.12.0](https://github.com/zyfra/Prizm) (23-03-2024) + +### Features + +- feat(components/breadcrumbs): change the focus to focus-visible for breadcrumbs #1297 +- feat(components/checkbox): change the focus to focus-visible for checkbox #1297 +- feat(components/radio-button): change the focus to focus-visible for radio-button #1297 +- feat(components/chips): change the focus to focus-visible for chips #1297 +- feat(components/input-icon-button): change the focus to focus-visible for input-icon-button #1297 +- feat(components/slider): change the focus to focus-visible for slider cnob #1297 +- feat(components/stepper): change the focus to focus-visible for stepper button #1297 +- feat(components/toggle): change the focus to focus-visible for toggle #1297 +- feat(components/button): change the focus to focus-visible for button #1297 +- feat(docs/theme): add shadow color to docs #900 + +### Bug fixes + +- fix(components/calendar): replace default 'title' attribute by prizm hint in calendar year pagination buttons #1457 +- fix(components/calendar-range): incorrect markup for year and month screens fix #1445 +- fix(components/input-layout-date-time): incorrect control markup fix #1242 +- fix(components/input-layout-date-time-range): incorrect control markup fix #1242 +- fix(components/calendar-month): incorrect control markup fix #1242 +- fix(components/calendar-range): single year should be highlighted in calendar range #1465 +- fix(components/calendar-range): single month should be highlighted in calendar range #1464 +- fix(components/calendar): index marker color blends with the background of the selected date #1461 +- fix(components/input-date-time-range): afte clear time values in calendar got error #1368 +- fix(components/input-date-time): min/max does not work correctly in InputLayoutDateTime #1421 +- fix(chore): stackblitz for v3 #1209 +- fix(docs/colors): fix documentation styles for dark theme +- fix(components/file-upload) fileupload buttons incorrect gap #1482 +- fix(components/navigation-menu): hint icon margins added for navigation menu #1329 +- fix(components/file-upload) fileupload buttons incorrect gap #1482 + +## [1.15.1, 2.12.1, 3.11.1](https://github.com/zyfra/Prizm) (19-02-2024) + +### Bug fixes + +- fix(components/input-select) search label translation added #1323 +- fix(components/input-multiselect) search label translation added #1323 +- fix(components/input-select): extra title in input select #1286 +- fix(components/input-layout-date-time): custom error not shown for inputLayoutDateTime #185 +- fix(components/input-layout): clear button in inputs with position=center has incorrect placement #1385 +- fix(doc/inputStatusText): inputStatusText examples fixed +- fix(components/switcher): switcher active item disabled statate colors changed #1348 +- fix(components/navigation-menu): navigation menu search error #1344 +- fix(components/navigation): navigation menu active item setter error #1213 +- fix(components/breadcrumbs): breadcrumbs force update for content projection usage #1282 +- fix(components/input-number): incorrect height of InputNumberDefaultControlsComponent #1308, #1383 +- fix(components/inputs): incorrect controls height #1179 +- fix(components/input-button): input button size set to 100% height of container +- fix(components/input-date-time-range): incorrect injection token for date time value transformer #1364 +- fix(components/tabs): issue with close tabs logic #1360 +- fix(doc/input-mask): input mask demo placeholder property added +- fix(doc/dropdown-host): select panel example styles fix #1283 +- fix(components/shadow): shadow enum values fix +- fix(components/paginator): updated i18n #1390 #1391 + !!! if you use custom i18n dictionary you can get bc (our [ADR](https://jira.zyfra.com/wiki/x/crs6Dw)) +- fix(component/tabs): error with double emitted index on close tabs #1392 #1003 #1389 + +## [1.15.0, 2.12.0, 3.11.0](https://github.com/zyfra/Prizm) (30-01-2024) + +### Features + +- feat(components/navigation-menu): add hint to navigation menu items and titles when text overflows #1216, #1312 +- feat(components/accordion): add hint to accordion title when text overflows #1216, #1312 + +### Bug fixes + +- fix(components/listing-item): listing item selected item hover #1280 +- fix(components/input-dat-relative): selected item hover #1280 +- fix(components/accordion): accordion focus shadow overlaps on hover #1116, +- fix(components/accordion): accordion incorrect background color #1236, +- fix(components/accordion): nested accordion button incorect behavior #1285 +- fix(components/accordion): custom title accordion example fix #1240 + +## [1.14.0, 2.11.0, 3.10.0](https://github.com/zyfra/Prizm) (19-01-2024) + +### Features - feat(doc): save current theme in local storage on change @@ -16,7 +224,7 @@ All notable changes to this project will be documented in this file. ## [1.13.0, 2.10.0, 3.9.0](https://github.com/zyfra/Prizm) (29-12-2023) -## Features +### Features - feat(components/sticky): update on changes #1085 - feat(component/event-zone): directive to standalone #1260 #1276 diff --git a/apps/doc/src/app/charts/bar/bar.component.html b/apps/doc/src/app/charts/bar/bar.component.html index 879151f14f..9b303ea7a2 100644 --- a/apps/doc/src/app/charts/bar/bar.component.html +++ b/apps/doc/src/app/charts/bar/bar.component.html @@ -8,7 +8,7 @@ - + diff --git a/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.html b/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.html index 9a93884a3a..153f77bdd9 100644 --- a/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.html +++ b/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.html @@ -4,7 +4,7 @@ [theme]="$any(prizmTheme.changesTheme$ | async)" [color]="color" xField="sales" - seriesField="sales" yField="type" + seriesField="sales" >
{{ data | json }}
diff --git a/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.ts b/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.ts index c5466ea51e..b1e61d8211 100644 --- a/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.ts +++ b/apps/doc/src/app/charts/bar/examples/base/prizm-charts-bar-example.component.ts @@ -50,17 +50,23 @@ export class PrizmChartsBarExampleComponent implements AfterViewInit { sales: 38, }, ]; - readonly color: PrizmChartsBarOptions['color'] = data => { - return data.sales > 40 ? 'red' : 'green'; + + readonly tooltipOptions = { + showTitle: false, + formatter: item => ({ name: item.type, value: item.sales }), }; constructor(public readonly prizmTheme: PrizmThemeService) {} + readonly color: PrizmChartsBarOptions['color'] = data => { + return data.sales > 40 ? 'red' : 'green'; + }; + ngAfterViewInit(): void { // we can update options manually this.bar.updateOptions({ legend: false, - // color: this.color + tooltip: this.tooltipOptions, }); } } diff --git a/apps/doc/src/app/charts/bar/examples/group/prizm-charts-group-bar-example.component.html b/apps/doc/src/app/charts/bar/examples/group/prizm-charts-group-bar-example.component.html index 6fad0ca618..235695ad97 100644 --- a/apps/doc/src/app/charts/bar/examples/group/prizm-charts-group-bar-example.component.html +++ b/apps/doc/src/app/charts/bar/examples/group/prizm-charts-group-bar-example.component.html @@ -1,6 +1,7 @@ Percent diff --git a/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.html b/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.html new file mode 100644 index 0000000000..8e6fce6e1f --- /dev/null +++ b/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.html @@ -0,0 +1,9 @@ + diff --git a/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.ts b/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.ts new file mode 100644 index 0000000000..ec8ca8d0a9 --- /dev/null +++ b/apps/doc/src/app/charts/line/examples/series/prizm-charts-line-series-example.component.ts @@ -0,0 +1,71 @@ +import { Component } from '@angular/core'; +import { PrizmThemeService } from '@prizm-ui/theme'; + +@Component({ + selector: 'prizm-charts-line-series-example', + templateUrl: './prizm-charts-line-series-example.component.html', + styles: [ + ` + .block { + width: 100%; + height: 300px; + } + `, + ], +}) +export class PrizmChartsLinesSeriesExampleComponent { + data = [ + { + time: '00:10', + city: 'Москва', + value: 30, + }, + { + time: '00:20', + city: 'Москва', + value: 10, + }, + { + time: '00:30', + city: 'Москва', + value: 20, + }, + { + time: '00:40', + city: 'Москва', + value: 25, + }, + { + time: '00:50', + city: 'Москва', + value: 5, + }, + { + time: '00:10', + city: 'Санкт-Петербург', + value: 40, + }, + { + time: '00:20', + city: 'Санкт-Петербург', + value: 50, + }, + { + time: '00:30', + city: 'Санкт-Петербург', + value: 1, + }, + { + time: '00:40', + city: 'Санкт-Петербург', + value: 10, + }, + { + time: '00:50', + city: 'Санкт-Петербург', + value: 20, + }, + ]; + + constructor(public readonly prizmTheme: PrizmThemeService) {} +} diff --git a/apps/doc/src/app/charts/line/line.component.html b/apps/doc/src/app/charts/line/line.component.html index ad65ac1e66..597e389759 100644 --- a/apps/doc/src/app/charts/line/line.component.html +++ b/apps/doc/src/app/charts/line/line.component.html @@ -4,13 +4,17 @@ short-term. We can also use line graphs to compare changes over the same period for more than one group. - + - + + + + + @@ -22,6 +26,7 @@ [data]="data" [xField]="xField" [yField]="yField" + [seriesField]="$any(seriesField)" [theme]="$any(prizmTheme.changesTheme$ | async)" [height]="height" > @@ -54,6 +59,15 @@ Y Field Name + + Series Field Name (use 'key' for example data) + + - - Width - - - - Height - - - + {{ item.name }} diff --git a/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.less b/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.less index 9aca9890fb..d668c99b28 100644 --- a/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.less +++ b/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.less @@ -4,6 +4,7 @@ a { line-height: 16px; color: var(--prizm-v3-text-icon-tertiary); text-decoration: none; + outline: none; &:hover { color: var(--prizm-v3-text-icon-link-hover); diff --git a/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.ts b/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.ts index 6d9d3536f5..84eae895bc 100644 --- a/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.ts +++ b/apps/doc/src/app/components/breadcrumbs/examples/breadcrumbs-projection-basic/breadcrumbs-example-projection.component.ts @@ -1,5 +1,6 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; import { IBreadcrumb } from '@prizm-ui/components'; +import { map, timer } from 'rxjs'; @Component({ selector: 'prizm-breadcrumbs-example-projection', @@ -14,6 +15,8 @@ export class BreadcrumbsExampleProjectionComponent { { link: '/components/icon-button', name: 'Icon' }, ]; + breadcrumbs$ = timer(2000).pipe(map(() => this.breadcrumbs)); + private currentBreadcrumb: IBreadcrumb | null = null; public breadcrumbChange(current: IBreadcrumb): void { diff --git a/apps/doc/src/app/components/calendars/calendar-month/examples/range/range.component.ts b/apps/doc/src/app/components/calendars/calendar-month/examples/range/range.component.ts index cd03708509..612748702d 100644 --- a/apps/doc/src/app/components/calendars/calendar-month/examples/range/range.component.ts +++ b/apps/doc/src/app/components/calendars/calendar-month/examples/range/range.component.ts @@ -10,7 +10,7 @@ import { PrizmMonth, PrizmMonthRange } from '@prizm-ui/components'; export class PrizmMonthExample2Component { value: PrizmMonthRange | null = null; - max = new PrizmMonth(2021, 7); + max = new PrizmMonth(2024, 3); min = new PrizmMonth(2019, 7); public onMonthClick(month: PrizmMonth): void { diff --git a/apps/doc/src/app/components/calendars/calendar/calendar.component.html b/apps/doc/src/app/components/calendars/calendar/calendar.component.html index 4cabb88022..a17fce8917 100644 --- a/apps/doc/src/app/components/calendars/calendar/calendar.component.html +++ b/apps/doc/src/app/components/calendars/calendar/calendar.component.html @@ -15,6 +15,7 @@ [prizmDocHostElement]="element" [value]="day" [showAdjacent]="showAdjacent" + [rangeState]="rangeState" (dayClick)="onDayClick($event)" > @@ -99,6 +100,14 @@ Marker Handler + + Range State + +
  • - Импортируйте PrizmCheckboxModule - в модуль в котором хотите использовать компоненту + Импортируйте PrizmCheckboxComponent + в модуль в котором хотите использовать компонент

    diff --git a/apps/doc/src/app/components/checkbox/examples/setup-module.md b/apps/doc/src/app/components/checkbox/examples/setup-module.md index 25032a1c34..2e3c156fed 100644 --- a/apps/doc/src/app/components/checkbox/examples/setup-module.md +++ b/apps/doc/src/app/components/checkbox/examples/setup-module.md @@ -1,13 +1,13 @@ ```ts import { NgModule } from '@angular/core'; -import { PrizmCheckboxModule } from '@prizm-ui/components'; +import { PrizmCheckboxComponent } from '@prizm-ui/components'; // ... @NgModule({ imports: [ // ... - PrizmCheckboxModuleModule, + PrizmCheckboxComponent, ], }) export class MyModule {} diff --git a/apps/doc/src/app/components/cron/cron.component.html b/apps/doc/src/app/components/cron/cron.component.html index cf5205a060..ed96ecb183 100644 --- a/apps/doc/src/app/components/cron/cron.component.html +++ b/apps/doc/src/app/components/cron/cron.component.html @@ -46,6 +46,7 @@ [hidePeriod]="hidePeriod" [hideResult]="hideResult" [autoSubmit]="autoSubmit" + [cronTitle]="cronTitle" > @@ -69,6 +70,15 @@ Max width + + Cron title + + + + Dismissible + + >> | null = null; + public dismissible = true; public readonly exampleModule: RawLoaderContent = import('./examples/setup-module.md?raw'); @@ -115,6 +116,7 @@ export class DialogExampleComponent { position: this.position, closeWord: this.closeWord, size: this.size, + dismissible: this.dismissible, }) .subscribe(result => console.log('result from dialog', { result })); } diff --git a/apps/doc/src/app/components/dialogs/dialog/examples/with-parent/dialog-with-parent-example.component.html b/apps/doc/src/app/components/dialogs/dialog/examples/with-parent/dialog-with-parent-example.component.html index 2d9a484173..6b4291fb43 100644 --- a/apps/doc/src/app/components/dialogs/dialog/examples/with-parent/dialog-with-parent-example.component.html +++ b/apps/doc/src/app/components/dialogs/dialog/examples/with-parent/dialog-with-parent-example.component.html @@ -15,7 +15,7 @@

    Check Dropdown Host Parent Container And Position

    - dddd +
    diff --git a/apps/doc/src/app/components/dropdowns/dropdown-host/dropdown-host.module.ts b/apps/doc/src/app/components/dropdowns/dropdown-host/dropdown-host.module.ts index 7f4b279916..141ac7a97d 100644 --- a/apps/doc/src/app/components/dropdowns/dropdown-host/dropdown-host.module.ts +++ b/apps/doc/src/app/components/dropdowns/dropdown-host/dropdown-host.module.ts @@ -6,6 +6,7 @@ import { PolymorphModule, PrizmButtonModule, PrizmCheckboxModule, + PrizmChipsModule, PrizmDataListModule, PrizmDropdownHostModule, PrizmIconModule, @@ -44,6 +45,7 @@ import { PrizmDropdownHostExampleByMethodComponent } from './examples/by-method/ PrizmLetModule, PrizmButtonModule, FormsModule, + PrizmChipsModule, ], declarations: [ PrizmDropdownHostExampleByMethodComponent, diff --git a/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.html b/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.html index f765cb2474..35426075c4 100644 --- a/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.html +++ b/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.html @@ -45,7 +45,7 @@
  • - {{ option.label.title }} + {{ option.label.title }} {{ option.label.subtitle }}
    diff --git a/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.less b/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.less index ba54d798ca..5606a9072f 100644 --- a/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.less +++ b/apps/doc/src/app/components/dropdowns/dropdown-host/examples/select-panel-example/select-panel-example.component.less @@ -56,14 +56,6 @@ flex-direction: column; } - &__title { - font-size: 13px; - line-height: 20px; - color: var(--prizm-v3-text-icon-primary); - padding: 0 8px; - border-radius: 2px; - } - &__subtitle { font-size: 10px; line-height: 17px; diff --git a/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.html b/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.html index 2983f6ad2e..39ab1fc577 100644 --- a/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.html +++ b/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.html @@ -1,14 +1,14 @@ - Максимум три изображения размером не более 1МБ + Загружено {{ files.length }}/{{ maxFiles }}. {{ acceptedTypes }} размером не более 1МБ. diff --git a/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.ts b/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.ts index 5304fb93be..7949d9c367 100644 --- a/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.ts +++ b/apps/doc/src/app/components/file-upload/examples/auto-upload/auto-upload.component.ts @@ -13,15 +13,20 @@ export class PrizmFileAutoUploadExampleComponent implements OnDestroy { progress$$ = new BehaviorSubject({}); files: Array = []; disabled = false; + acceptedTypes = 'image/*'; + maxFiles = 3; public onFilesChange(files: Array): void { - this.files = files; - if (this.files.length > 0) { - this.send(); + const filesToUpload = files.filter(file => !this.files.some(el => el === file)); + + if (filesToUpload.length > 0) { + this.send(filesToUpload); } + + this.files = files; } - public onfilesValidationErrors(errors: PrizmFileValidationErrors): void { + public onfilesValidationErrors(errors: { [key: string]: PrizmFileValidationErrors }): void { for (const filename of Object.keys(errors)) { this.toastService.create(JSON.stringify(errors[filename]), { title: `Файл ${filename} не прошел валидацию`, @@ -39,10 +44,10 @@ export class PrizmFileAutoUploadExampleComponent implements OnDestroy { }); } - public send(): void { + public send(files: File[]): void { this.disabled = true; const formData = new FormData(); - for (const file of this.files) { + for (const file of files) { formData.append(file.name, file); } @@ -60,14 +65,14 @@ export class PrizmFileAutoUploadExampleComponent implements OnDestroy { this.disabled = false; if (event.status >= 200 && event.status < 300) { - for (const file of this.files) { + for (const file of files) { this.progress$$.next({ ...this.progress$$.value, [file.name]: { progress: 100, error: false }, }); } } else { - for (const file of this.files) { + for (const file of files) { this.progress$$.next({ ...this.progress$$.value, [file.name]: { error: true }, @@ -78,7 +83,7 @@ export class PrizmFileAutoUploadExampleComponent implements OnDestroy { break; } case HttpEventType.UploadProgress: { - for (const file of this.files) { + for (const file of files) { this.progress$$.next({ ...this.progress$$.value, [file.name]: { diff --git a/apps/doc/src/app/components/file-upload/examples/basic/basic.component.html b/apps/doc/src/app/components/file-upload/examples/basic/basic.component.html index 96838ea9d3..660421e85b 100644 --- a/apps/doc/src/app/components/file-upload/examples/basic/basic.component.html +++ b/apps/doc/src/app/components/file-upload/examples/basic/basic.component.html @@ -1,16 +1,16 @@ - Максимум три изображения размером не более 1МБ + Загружено {{ files.length }}/{{ maxFiles }}. {{ acceptedTypes }} размером не более 1МБ. diff --git a/apps/doc/src/app/components/input/input-layout-date-relative/examples/base/input-layout-date-relative-base-example.component.ts b/apps/doc/src/app/components/input/input-layout-date-relative/examples/base/input-layout-date-relative-base-example.component.ts index 5228f028fa..43562296c6 100644 --- a/apps/doc/src/app/components/input/input-layout-date-relative/examples/base/input-layout-date-relative-base-example.component.ts +++ b/apps/doc/src/app/components/input/input-layout-date-relative/examples/base/input-layout-date-relative-base-example.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; @Component({ @@ -15,4 +15,8 @@ import { UntypedFormControl } from '@angular/forms'; }) export class PrizmInputLayoutDateRelativeBaseExampleComponent { public readonly valueControl = new UntypedFormControl(); + + public changeDate(): void { + this.valueControl.setValue('T-5M'); + } } diff --git a/apps/doc/src/app/components/input/input-layout-date-relative/input-layout-date-relative.module.ts b/apps/doc/src/app/components/input/input-layout-date-relative/input-layout-date-relative.module.ts index ae0cf3e7e3..29d6c404cb 100644 --- a/apps/doc/src/app/components/input/input-layout-date-relative/input-layout-date-relative.module.ts +++ b/apps/doc/src/app/components/input/input-layout-date-relative/input-layout-date-relative.module.ts @@ -3,7 +3,11 @@ import { CommonModule } from '@angular/common'; import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; import { RouterModule } from '@angular/router'; import { InputLayoutDateRelativeRelativeComponent } from './input-layout-date-relative.component'; -import { PolymorphModule, PrizmInputLayoutDateRelativeModule } from '@prizm-ui/components'; +import { + PolymorphModule, + PrizmButtonComponent, + PrizmInputLayoutDateRelativeModule, +} from '@prizm-ui/components'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { PrizmInputLayoutDateRelativeBaseExampleComponent } from './examples/base/input-layout-date-relative-base-example.component'; @@ -15,6 +19,7 @@ import { PrizmInputLayoutDateRelativeBaseExampleComponent } from './examples/bas ReactiveFormsModule, PolymorphModule, PrizmInputLayoutDateRelativeModule, + PrizmButtonComponent, RouterModule.forChild(prizmDocGenerateRoutes(InputLayoutDateRelativeRelativeComponent)), ], declarations: [PrizmInputLayoutDateRelativeBaseExampleComponent, InputLayoutDateRelativeRelativeComponent], diff --git a/apps/doc/src/app/components/input/input-layout-date-time-range/input-layout-date-time-range.component.ts b/apps/doc/src/app/components/input/input-layout-date-time-range/input-layout-date-time-range.component.ts index d5a6ac5d7c..1b50c152e6 100644 --- a/apps/doc/src/app/components/input/input-layout-date-time-range/input-layout-date-time-range.component.ts +++ b/apps/doc/src/app/components/input/input-layout-date-time-range/input-layout-date-time-range.component.ts @@ -36,7 +36,7 @@ export class InputLayoutDateTimeRangeComponent { new PrizmDateTimeRange(new PrizmDayRange(new PrizmDay(2018, 2, 10), new PrizmDay(2018, 2, 10))) ); readonly min = new PrizmDateTime(new PrizmDay(2000, 2, 20), new PrizmTime(0, 0)); - readonly max = new PrizmDateTime(new PrizmDay(2040, 2, 20), new PrizmTime(0, 0)); + readonly max = new PrizmDateTime(new PrizmDay(2040, 2, 20), new PrizmTime(23, 59)); public placeholder = 'Выберите период'; public testIdPostfix!: string; public sizeVariants: ReadonlyArray = ['l', 'm', 's']; diff --git a/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.html b/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.html index 7d25ddc54e..c874ee202e 100644 --- a/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.html +++ b/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.html @@ -1,3 +1,12 @@ + +
    + +

    With custom error text

    + + + + Warning text + diff --git a/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.ts b/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.ts index 87ff14bfb7..98adddbc36 100644 --- a/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.ts +++ b/apps/doc/src/app/components/input/input-layout-date-time/examples/required/input-layout-date-time-required-example.component.ts @@ -19,4 +19,9 @@ export class PrizmInputLayoutDateTimeRequiredExampleComponent { [new PrizmDay(2017, 2, 15), new PrizmTime(12, 30)], [Validators.required] ); + + public readonly customErrorValue = new UntypedFormControl( + [new PrizmDay(2017, 2, 15), new PrizmTime(12, 30)], + [Validators.required] + ); } diff --git a/apps/doc/src/app/components/input/input-mask/input-mask-example.component.html b/apps/doc/src/app/components/input/input-mask/input-mask-example.component.html index 3235a69ceb..8ba9d57319 100644 --- a/apps/doc/src/app/components/input/input-mask/input-mask-example.component.html +++ b/apps/doc/src/app/components/input/input-mask/input-mask-example.component.html @@ -27,10 +27,11 @@ [prizmHintCanShow]="prizmHintCanShow" [required]="required" [value]="value" + [placeholder]="placeholder" prizmDocHostElementKey="PrizmInputText" prizmInput /> - Текст статуса + @@ -74,6 +75,15 @@ Required + + Placeholder + + + + + + +
    + +

    Пользовательский текст валидации

    + +
    + + + + + + Максимально допустимное значение - {{ max }}, минимально допустимое значение - {{ min }} + + +
    1111
    +
    diff --git a/apps/doc/src/app/components/input/input-number/examples/input-number-min-max-example/input-number-min-max-example.component.less b/apps/doc/src/app/components/input/input-number/examples/input-number-min-max-example/input-number-min-max-example.component.less new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/doc/src/app/components/input/input-number/examples/input-number-min-max-example/input-number-min-max-example.component.ts b/apps/doc/src/app/components/input/input-number/examples/input-number-min-max-example/input-number-min-max-example.component.ts new file mode 100644 index 0000000000..0b319a91a1 --- /dev/null +++ b/apps/doc/src/app/components/input/input-number/examples/input-number-min-max-example/input-number-min-max-example.component.ts @@ -0,0 +1,16 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { UntypedFormControl } from '@angular/forms'; + +@Component({ + selector: 'prizm-input-number-min-max-example', + templateUrl: './input-number-min-max-example.component.html', + styleUrls: ['./input-number-min-max-example.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class InputNumberMinMaxExampleComponent { + public minMaxInputControl = new UntypedFormControl(); + public minMaxInputControlCustom = new UntypedFormControl(); + + public min = 10; + public max = 80; +} diff --git a/apps/doc/src/app/components/input/input-number/input-number-example.component.html b/apps/doc/src/app/components/input/input-number/input-number-example.component.html index 034852737b..b9eec13c5f 100644 --- a/apps/doc/src/app/components/input/input-number/input-number-example.component.html +++ b/apps/doc/src/app/components/input/input-number/input-number-example.component.html @@ -23,6 +23,14 @@ + + + +
    @@ -66,7 +74,7 @@

    Number

    prizm-input-right > - Текст статуса +
    @@ -93,6 +101,7 @@

    Counter

    > Counter [prizmHintDirection]="prizmHintDirection" [prizmHintCanShow]="prizmHintCanShow" [required]="required" + [title]="title" prizmInputNumber /> @@ -117,7 +127,7 @@

    Counter

    prizm-input-right > - Текст статуса +
    @@ -158,6 +168,15 @@

    Counter

    Placeholder
    + + Title attributre + + - Текст статуса + diff --git a/apps/doc/src/app/components/input/input-select/examples/base/select-base-example.component.html b/apps/doc/src/app/components/input/input-select/examples/base/select-base-example.component.html index 5a24665f04..7da1daf510 100644 --- a/apps/doc/src/app/components/input/input-select/examples/base/select-base-example.component.html +++ b/apps/doc/src/app/components/input/input-select/examples/base/select-base-example.component.html @@ -1,12 +1,11 @@ - - - - - - - - dddd + +

    diff --git a/apps/doc/src/app/components/input/input-select/examples/full-width/select-full-width-example.component.html b/apps/doc/src/app/components/input/input-select/examples/full-width/select-full-width-example.component.html index 27c524349f..d497218bd7 100644 --- a/apps/doc/src/app/components/input/input-select/examples/full-width/select-full-width-example.component.html +++ b/apps/doc/src/app/components/input/input-select/examples/full-width/select-full-width-example.component.html @@ -1,7 +1,6 @@ -

    diff --git a/apps/doc/src/app/components/input/input-select/examples/virtual-scroll/select-virtual-scroll-example.component.html b/apps/doc/src/app/components/input/input-select/examples/virtual-scroll/select-virtual-scroll-example.component.html index 4fad677f95..ccbbcdf6dc 100644 --- a/apps/doc/src/app/components/input/input-select/examples/virtual-scroll/select-virtual-scroll-example.component.html +++ b/apps/doc/src/app/components/input/input-select/examples/virtual-scroll/select-virtual-scroll-example.component.html @@ -9,7 +9,7 @@ - dddd +

    diff --git a/apps/doc/src/app/components/input/input-text/examples/input-custom-clear-button-example/input-custom-clear-button-example.component.html b/apps/doc/src/app/components/input/input-text/examples/input-custom-clear-button-example/input-custom-clear-button-example.component.html index e3e57ccad0..4d2a4b2ffa 100644 --- a/apps/doc/src/app/components/input/input-text/examples/input-custom-clear-button-example/input-custom-clear-button-example.component.html +++ b/apps/doc/src/app/components/input/input-text/examples/input-custom-clear-button-example/input-custom-clear-button-example.component.html @@ -12,7 +12,6 @@

    Custom Button

    let-clear="clear" > + @@ -12,7 +12,11 @@

    Left template

    - + @@ -22,14 +26,18 @@

    Left and right template

    - - + + - + @@ -37,7 +45,11 @@

    With status message

    - + @@ -45,7 +57,7 @@

    With status message

    Warning text - +
    @@ -58,3 +70,16 @@

    Only icon

    + +
    +
    + +
    + Disable + +
    diff --git a/apps/doc/src/app/components/input/input-text/examples/input-icon-buttons-example/input-icon-buttons-example.component.ts b/apps/doc/src/app/components/input/input-text/examples/input-icon-buttons-example/input-icon-buttons-example.component.ts index d39c7610fd..910537e9c5 100644 --- a/apps/doc/src/app/components/input/input-text/examples/input-icon-buttons-example/input-icon-buttons-example.component.ts +++ b/apps/doc/src/app/components/input/input-text/examples/input-icon-buttons-example/input-icon-buttons-example.component.ts @@ -6,4 +6,10 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; styleUrls: ['./input-icon-buttons-example.component.less'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class InputIconButtonsExampleComponent {} +export class InputIconButtonsExampleComponent { + public disabled = false; + + public handleButtonClick() { + console.log('Button clicked!'); + } +} diff --git a/apps/doc/src/app/components/input/input-text/examples/input-validation-custom-example/input-validation-custom-texts.service.ts b/apps/doc/src/app/components/input/input-text/examples/input-validation-custom-example/input-validation-custom-texts.service.ts index 07400c66b6..5b0085828c 100644 --- a/apps/doc/src/app/components/input/input-text/examples/input-validation-custom-example/input-validation-custom-texts.service.ts +++ b/apps/doc/src/app/components/input/input-text/examples/input-validation-custom-example/input-validation-custom-texts.service.ts @@ -3,7 +3,7 @@ import { PrizmInputControl, PrizmInputValidationTexts } from '@prizm-ui/componen @Injectable() export class InputValidationCustomTextsService extends PrizmInputValidationTexts { - private readonly invalidTextCustomMap = new Map([['required', 'Обязательное поле']]); + private readonly invalidTextCustomMap = new Map([['required', 'Самое обязательное поле']]); public override getText(key: string, control?: PrizmInputControl): string | undefined { return this.invalidTextCustomMap.get(key); diff --git a/apps/doc/src/app/components/input/input-text/input-example.module.ts b/apps/doc/src/app/components/input/input-text/input-example.module.ts index 41918d548c..645c4b207b 100644 --- a/apps/doc/src/app/components/input/input-text/input-example.module.ts +++ b/apps/doc/src/app/components/input/input-text/input-example.module.ts @@ -4,16 +4,14 @@ import { RouterModule } from '@angular/router'; import { PrizmButtonModule, PrizmHintDirective, - PrizmHintModule, PrizmIconComponent, - PrizmIconModule, PrizmInputTextModule, + PrizmToggleComponent, } from '@prizm-ui/components'; import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; import { InputIconButtonsExampleComponent } from './examples/input-icon-buttons-example/input-icon-buttons-example.component'; import { InputComponent } from './input.component'; import { InputLabelPositionExampleComponent } from './examples/input-label-position-example/input-label-position-example.component'; - import { InputSizesExampleComponent } from './examples/input-sizes-example/input-sizes-example.component'; import { InputStatusesExampleComponent } from './examples/input-statuses-example/input-statuses-example.component'; import { InputSubtextExampleComponent } from './examples/input-subtext-example/input-subtext-example.component'; @@ -36,6 +34,7 @@ import { InputCustomClearButtonExampleComponent } from './examples/input-custom- PrizmButtonModule, ReactiveFormsModule, FormsModule, + PrizmToggleComponent, ], declarations: [ InputComponent, diff --git a/apps/doc/src/app/components/input/textarea/textarea-example.component.html b/apps/doc/src/app/components/input/textarea/textarea-example.component.html index d58ff58d71..fa0460c870 100644 --- a/apps/doc/src/app/components/input/textarea/textarea-example.component.html +++ b/apps/doc/src/app/components/input/textarea/textarea-example.component.html @@ -22,6 +22,7 @@ [label]="label" [size]="size" [outer]="outer" + [border]="border" [ngStyle]="{ width }" [status]="status" [position]="inputPosition" diff --git a/apps/doc/src/app/components/listing-item/examples/with-instrumnets/listing-item-with-instruments-example.component.html b/apps/doc/src/app/components/listing-item/examples/with-instrumnets/listing-item-with-instruments-example.component.html index 26a3f38cf7..404d2d8181 100644 --- a/apps/doc/src/app/components/listing-item/examples/with-instrumnets/listing-item-with-instruments-example.component.html +++ b/apps/doc/src/app/components/listing-item/examples/with-instrumnets/listing-item-with-instruments-example.component.html @@ -1,7 +1,12 @@
    - + - + diff --git a/apps/doc/src/app/components/listing-item/listing-item-example.component.html b/apps/doc/src/app/components/listing-item/listing-item-example.component.html index 5923284a2a..f333b62fd5 100644 --- a/apps/doc/src/app/components/listing-item/listing-item-example.component.html +++ b/apps/doc/src/app/components/listing-item/listing-item-example.component.html @@ -23,12 +23,42 @@
    - + {{ title }}
    + + Listing item row hover color + + + Listing item selected row hover color + + + Listing item height + + +
    +
    + +

    Async

    + + +
    +
    + +

    Inverse attribute ordering

    + + + +
    +
    + + + + diff --git a/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.less b/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.less new file mode 100644 index 0000000000..80f9c2e115 --- /dev/null +++ b/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.less @@ -0,0 +1,3 @@ +.margin-right { + margin-right: 24px; +} diff --git a/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.ts b/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.ts new file mode 100644 index 0000000000..5d5d10c399 --- /dev/null +++ b/apps/doc/src/app/components/switcher/examples/switcher-async-example/switcher-async-example.component.ts @@ -0,0 +1,68 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { PrizmSwitcherItem } from '@prizm-ui/components'; +import { PrizmDestroyService } from '@prizm-ui/helpers'; +import { BehaviorSubject, switchMap, takeUntil, tap, timer } from 'rxjs'; + +@Component({ + selector: 'prizm-switcher-async-example', + templateUrl: './switcher-async-example.component.html', + styleUrls: ['./switcher-async-example.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, + providers: [PrizmDestroyService], +}) +export class SwitcherAsyncExampleComponent { + public selectedIndex = 1; + public testIndex = this.selectedIndex; + public readonly switchersSetA: PrizmSwitcherItem[] = [ + { + title: 'Таблицы', + }, + { + title: 'Графики', + }, + { + title: 'Мнемосхемы', + disabled: true, + }, + { + title: 'Дашборды', + }, + ]; + + public readonly switchersSetB: PrizmSwitcherItem[] = [ + { + title: 'Москва', + }, + { + title: 'Санкт-Петербург', + }, + ]; + + public switchers: PrizmSwitcherItem[] = this.switchersSetA; + + public readonly switchers$ = timer(100).pipe( + switchMap(() => this.switchers$$), + tap(value => (this.switchers = value)), + takeUntil(this.destroy$) + ); + + private readonly switchers$$: BehaviorSubject = new BehaviorSubject< + PrizmSwitcherItem[] + >(this.switchersSetA); + + constructor(private readonly destroy$: PrizmDestroyService) {} + + public toggleIndex(): void { + this.selectedIndex === 1 ? (this.selectedIndex = 2) : (this.selectedIndex = 1); + } + + public toggleSwitchers(): void { + this.switchers === this.switchersSetA + ? this.switchers$$.next(this.switchersSetB) + : this.switchers$$.next(this.switchersSetA); + } + + public updateIdx(idx: number) { + this.selectedIndex = idx; + } +} diff --git a/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.html b/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.html index 5d451f2ff0..e05a7715ae 100644 --- a/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.html +++ b/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.html @@ -3,3 +3,7 @@
    Value: {{ control.value }}
    + +
    + + diff --git a/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.ts b/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.ts index 83ecc7ad7b..6e88a6201f 100644 --- a/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.ts +++ b/apps/doc/src/app/components/switcher/examples/switcher-basic-example/switcher-basic-example.component.ts @@ -27,4 +27,8 @@ export class SwitcherBasicExampleComponent { }, ]; public readonly control = new FormControl(1); + + public updateValue() { + this.control.setValue(3); + } } diff --git a/apps/doc/src/app/components/switcher/switcher-example.component.html b/apps/doc/src/app/components/switcher/switcher-example.component.html index 2143af03b4..e647dda883 100644 --- a/apps/doc/src/app/components/switcher/switcher-example.component.html +++ b/apps/doc/src/app/components/switcher/switcher-example.component.html @@ -7,6 +7,10 @@ + + + + diff --git a/apps/doc/src/app/components/switcher/switcher-example.component.ts b/apps/doc/src/app/components/switcher/switcher-example.component.ts index 68a94c9f1b..b759d2a6b9 100644 --- a/apps/doc/src/app/components/switcher/switcher-example.component.ts +++ b/apps/doc/src/app/components/switcher/switcher-example.component.ts @@ -37,6 +37,11 @@ export class SwitcherExampleComponent { HTML: import('./examples/switcher-basic-example/switcher-basic-example.component.html?raw'), }; + public readonly exampleAsyncSwitcher: TuiDocExample = { + TypeScript: import('./examples/switcher-async-example/switcher-async-example.component?raw'), + HTML: import('./examples/switcher-async-example/switcher-async-example.component.html?raw'), + }; + public readonly exampleInnerLSwitcher: TuiDocExample = { TypeScript: import('./examples/switcher-inner-l-example/switcher-inner-l-example.component?raw'), HTML: import('./examples/switcher-inner-l-example/switcher-inner-l-example.component.html?raw'), diff --git a/apps/doc/src/app/components/switcher/switcher-example.module.ts b/apps/doc/src/app/components/switcher/switcher-example.module.ts index 059f4f2b7c..6274b0e957 100644 --- a/apps/doc/src/app/components/switcher/switcher-example.module.ts +++ b/apps/doc/src/app/components/switcher/switcher-example.module.ts @@ -4,7 +4,7 @@ import { SwitcherExampleComponent } from './switcher-example.component'; import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; import { RouterModule } from '@angular/router'; import { SwitcherBasicExampleComponent } from './examples/switcher-basic-example/switcher-basic-example.component'; -import { PrizmSwitcherModule } from '@prizm-ui/components'; +import { PrizmButtonComponent, PrizmSwitcherModule } from '@prizm-ui/components'; import { SwitcherInnerLExampleComponent } from './examples/switcher-inner-l-example/switcher-inner-l-example.component'; import { SwitcherInnerMExampleComponent } from './examples/switcher-inner-m-example/switcher-inner-m-example.component'; import { SwitcherOuterMExampleComponent } from './examples/switcher-outer-m-example/switcher-outer-m-example.component'; @@ -13,6 +13,7 @@ import { SwitcherOuterSExampleComponent } from './examples/switcher-outer-s-exam import { SwitcherWithIconExampleComponent } from './examples/switcher-with-icon-example/switcher-with-icon-example.component'; import { SwitcherOnlyIconExampleComponent } from './examples/switcher-only-icon-example/switcher-only-icon-example.component'; import { ReactiveFormsModule } from '@angular/forms'; +import { SwitcherAsyncExampleComponent } from './examples/switcher-async-example/switcher-async-example.component'; @NgModule({ declarations: [ @@ -25,6 +26,7 @@ import { ReactiveFormsModule } from '@angular/forms'; SwitcherOuterSExampleComponent, SwitcherWithIconExampleComponent, SwitcherOnlyIconExampleComponent, + SwitcherAsyncExampleComponent, ], imports: [ CommonModule, @@ -32,6 +34,7 @@ import { ReactiveFormsModule } from '@angular/forms'; RouterModule.forChild(prizmDocGenerateRoutes(SwitcherExampleComponent)), PrizmSwitcherModule, ReactiveFormsModule, + PrizmButtonComponent, ], }) export class SwitcherExampleModule {} diff --git a/apps/doc/src/app/components/table/examples/table-data-source-example/table-data-source-example.component.ts b/apps/doc/src/app/components/table/examples/table-data-source-example/table-data-source-example.component.ts index 9a914c48f6..e534f1421a 100644 --- a/apps/doc/src/app/components/table/examples/table-data-source-example/table-data-source-example.component.ts +++ b/apps/doc/src/app/components/table/examples/table-data-source-example/table-data-source-example.component.ts @@ -103,7 +103,7 @@ export class TableDataSourceExampleComponent implements OnInit { } ngOnInit(): void { - this.dataSource.paginator = this.paginator as any; + this.dataSource.paginator = this.paginator; this.dataSource.sorter = this.table.sorterService; } diff --git a/apps/doc/src/app/components/table/examples/table-dynamic-row-group-example/table-dynamic-row-group-example.component.html b/apps/doc/src/app/components/table/examples/table-dynamic-row-group-example/table-dynamic-row-group-example.component.html index 95d4f043e6..0fdab3aebb 100644 --- a/apps/doc/src/app/components/table/examples/table-dynamic-row-group-example/table-dynamic-row-group-example.component.html +++ b/apps/doc/src/app/components/table/examples/table-dynamic-row-group-example/table-dynamic-row-group-example.component.html @@ -11,7 +11,7 @@ - +
    - - - + + +
    diff --git a/apps/doc/src/app/components/table/examples/table-editable-row-example/table-editable-row-example.component.less b/apps/doc/src/app/components/table/examples/table-editable-row-example/table-editable-row-example.component.less index 4f9b5787c7..b61c8177dc 100644 --- a/apps/doc/src/app/components/table/examples/table-editable-row-example/table-editable-row-example.component.less +++ b/apps/doc/src/app/components/table/examples/table-editable-row-example/table-editable-row-example.component.less @@ -9,6 +9,10 @@ } } + td:has(.edit-buttons-container) { + padding: 0; + } + .edit-buttons-container { height: 100%; width: 100%; @@ -17,18 +21,7 @@ display: flex; align-items: center; justify-content: center; - gap: 8px; - - .edit-buttons { - height: 16px; - width: 16px; - - display: flex; - - &:hover { - color: #337eff; - } - } + gap: 4px; } .row { @@ -60,7 +53,7 @@ .head { &__actions { - width: 100px; + width: 113px; } } } diff --git a/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.html b/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.html index 68ac1d9b5b..28550243c1 100644 --- a/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.html +++ b/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.html @@ -12,12 +12,15 @@ [content]="dropdown" prizmDropdownHostWidth="auto" > - + icon="sort-filter" + prizmIconButton + appearanceType="ghost" + size="s" + > Количество diff --git a/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.less b/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.less index 40cfaa59f4..64d4e8169e 100644 --- a/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.less +++ b/apps/doc/src/app/components/table/examples/table-filter-example/table-filter-example.component.less @@ -9,23 +9,10 @@ .filter { margin-left: auto; + width: 24px; &__category { - height: 24px; - width: 24px; - - display: flex; - align-items: center; - justify-content: center; - - color: #777b92; - - cursor: pointer; - - &_active, - &:hover { - color: #337eff; - } + margin-left: 4px; } } diff --git a/apps/doc/src/app/components/table/examples/table-server-sort-example/table-server-sort-example.component.ts b/apps/doc/src/app/components/table/examples/table-server-sort-example/table-server-sort-example.component.ts index 67eda04c22..73f9b11fc5 100644 --- a/apps/doc/src/app/components/table/examples/table-server-sort-example/table-server-sort-example.component.ts +++ b/apps/doc/src/app/components/table/examples/table-server-sort-example/table-server-sort-example.component.ts @@ -6,7 +6,7 @@ import { prizmTableDefaultColumnSort, PrizmTableSorterService, } from '@prizm-ui/components'; -import { BehaviorSubject, of } from 'rxjs'; +import { BehaviorSubject } from 'rxjs'; import { delay, map, switchMap, tap } from 'rxjs/operators'; export interface ITableProduct { @@ -98,12 +98,13 @@ export class TableServerSortExampleComponent { public products: ITableProduct[] = TABLE_EXAMPLE_SORT; public searchString: string | null = null; - public searchAllowedProducts: ITableProduct[] = this.products; + public searchAllowedProducts$$ = new BehaviorSubject(this.products); + public sorter$$ = new BehaviorSubject[]>([]); public readonly data$ = this.sorter$$.pipe( tap(() => this.showLoader$.next(true)), switchMap((sort: PrizmTableCellSorter[]) => { - return of(this.products).pipe( + return this.searchAllowedProducts$$.pipe( delay(3000), map(data => { return this.tableSorterService.sort( @@ -118,14 +119,18 @@ export class TableServerSortExampleComponent { }), tap(() => this.showLoader$.next(false)) ); - constructor(private readonly tableSorterService: PrizmTableSorterService) {} + public showLoader$ = new BehaviorSubject(false); + + constructor(private readonly tableSorterService: PrizmTableSorterService) {} + public search(value: string, key: T): void { this.searchString = value.toLowerCase(); - this.searchAllowedProducts = this.products.filter(product => + const searchAllowedProducts = this.products.filter(product => (product[key] as string).toLowerCase().includes(this.searchString as string) ); + this.searchAllowedProducts$$.next(searchAllowedProducts); } public updateSort(sort: PrizmTableCellSorter[]): void { diff --git a/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.html b/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.html index 61fde27cfa..d9796c4176 100644 --- a/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.html +++ b/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.html @@ -5,10 +5,10 @@ - + - - + + + + + diff --git a/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.ts b/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.ts index 060b8164fb..77b2a15271 100644 --- a/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.ts +++ b/apps/doc/src/app/components/table/examples/table-sort-example/table-sort-example.component.ts @@ -108,4 +108,8 @@ export class TableSortExampleComponent { (product[key] as string).toLowerCase().includes(this.searchString as string) ); } + + public doSomething(value: string, key: T): void { + console.log(value, key); + } } diff --git a/apps/doc/src/app/components/table/examples/table-track-by-example/table-track-by-example.component.less b/apps/doc/src/app/components/table/examples/table-track-by-example/table-track-by-example.component.less index 0fe37ae38e..bed8398e03 100644 --- a/apps/doc/src/app/components/table/examples/table-track-by-example/table-track-by-example.component.less +++ b/apps/doc/src/app/components/table/examples/table-track-by-example/table-track-by-example.component.less @@ -8,10 +8,6 @@ } } - tr { - height: 100px; - } - .overlay-tpl { width: 200px; height: 200px; diff --git a/apps/doc/src/app/components/table/table-example.component.html b/apps/doc/src/app/components/table/table-example.component.html index 3c35e84cd6..aa55918e87 100644 --- a/apps/doc/src/app/components/table/table-example.component.html +++ b/apps/doc/src/app/components/table/table-example.component.html @@ -62,11 +62,7 @@ - + diff --git a/apps/doc/src/app/components/table/table-example.component.ts b/apps/doc/src/app/components/table/table-example.component.ts index 2c0c5ef53a..85161a1b24 100644 --- a/apps/doc/src/app/components/table/table-example.component.ts +++ b/apps/doc/src/app/components/table/table-example.component.ts @@ -14,7 +14,7 @@ export class TableExampleComponent { public products: ITableProduct[] = TABLE_EXAMPLE_DATA_1; public prizmTableRowOddBackground: string | null = null; public prizmTableRowBackground: string | null = null; - public prizmTableRowCursor = 'pointer'; + public prizmTableRowCursor = 'default'; public prizmTableRowHoverBackground: string | null = null; public prizmTableActiveRowMarkerColor: string | null = null; public columns: string[] = ['code', 'name', 'category', 'count']; diff --git a/apps/doc/src/app/components/tabs/examples/tabs-example-basic/tabs-example-basic.component.html b/apps/doc/src/app/components/tabs/examples/tabs-example-basic/tabs-example-basic.component.html index a64527d45a..7f2efa48dc 100644 --- a/apps/doc/src/app/components/tabs/examples/tabs-example-basic/tabs-example-basic.component.html +++ b/apps/doc/src/app/components/tabs/examples/tabs-example-basic/tabs-example-basic.component.html @@ -1,6 +1,6 @@
    - +
    diff --git a/apps/doc/src/app/components/tabs/tabs-example.component.ts b/apps/doc/src/app/components/tabs/tabs-example.component.ts index 7d7bc4f7b3..68d1885024 100644 --- a/apps/doc/src/app/components/tabs/tabs-example.component.ts +++ b/apps/doc/src/app/components/tabs/tabs-example.component.ts @@ -59,6 +59,7 @@ export class TabsExampleComponent { }, { status: 'success', + disabled: false, }, { status: 'warning', diff --git a/apps/doc/src/app/components/tree/examples/component/folder.component.less b/apps/doc/src/app/components/tree/examples/component/folder.component.less index 64c6d75db7..dd30f40f28 100644 --- a/apps/doc/src/app/components/tree/examples/component/folder.component.less +++ b/apps/doc/src/app/components/tree/examples/component/folder.component.less @@ -23,7 +23,7 @@ } &:after { - top: -1rem; + top: -0.5rem; bottom: 1rem; border-left: 1px solid var(--prizm-v3-background-stroke); } diff --git a/apps/doc/src/app/guidelines/colors/components/palette/palette.component.css b/apps/doc/src/app/guidelines/colors/components/palette/palette.component.css index cb713ae3b9..7f32a4d586 100644 --- a/apps/doc/src/app/guidelines/colors/components/palette/palette.component.css +++ b/apps/doc/src/app/guidelines/colors/components/palette/palette.component.css @@ -74,3 +74,21 @@ line-height: 20px; word-wrap: break-word; } + +.description-text-header { + color: var(--prizm-v3-text-icon-primary); + font-size: 16px; + font-family: Inter; + font-weight: 400; + line-height: 20px; + word-wrap: break-word; +} + +.description-text { + flex: 1 1 0; + color: var(--prizm-v3-text-icon-secondary); + font-size: 16px; + font-family: Inter; + font-weight: 500; + line-height: 20px; +} diff --git a/apps/doc/src/app/guidelines/colors/components/palette/palette.component.html b/apps/doc/src/app/guidelines/colors/components/palette/palette.component.html index bd7dcb89e8..58dfca55ce 100644 --- a/apps/doc/src/app/guidelines/colors/components/palette/palette.component.html +++ b/apps/doc/src/app/guidelines/colors/components/palette/palette.component.html @@ -8,110 +8,20 @@
    H1150
    -
    - Light: -
    -
    - #271613 -
    -
    -
    -
    - Dark: -
    -
    - #fdf7f5 -
    -
    -
    -
    - Light: -
    -
    - rgb(39,22,19) -
    -
    -
    -
    - Dark: -
    -
    - rgb(253,247,245) -
    +
    Light:
    +
    #271613
    +
    +
    +
    Dark:
    +
    #fdf7f5
    +
    +
    +
    Light:
    +
    rgb(39,22,19)
    +
    +
    +
    Dark:
    +
    rgb(253,247,245)
    @@ -121,110 +31,20 @@
    H1050
    -
    - Light: -
    -
    - #401c14 -
    -
    -
    -
    - Dark: -
    -
    - #fae9e4 -
    -
    -
    -
    - Light: -
    -
    - rgb(64,28,20) -
    -
    -
    -
    - Dark: -
    -
    - rgb(250,233,228) -
    +
    Light:
    +
    #401c14
    +
    +
    +
    Dark:
    +
    #fae9e4
    +
    +
    +
    Light:
    +
    rgb(64,28,20)
    +
    +
    +
    Dark:
    +
    rgb(250,233,228)
    @@ -234,110 +54,20 @@
    H950
    -
    - Light: -
    -
    - #4d2017 -
    -
    -
    -
    - Dark: -
    -
    - #f4cec3 -
    -
    -
    -
    - Light: -
    -
    - rgb(77,32,23) -
    -
    -
    -
    - Dark: -
    -
    - rgb(244,206,195) -
    +
    Light:
    +
    #4d2017
    +
    +
    +
    Dark:
    +
    #f4cec3
    +
    +
    +
    Light:
    +
    rgb(77,32,23)
    +
    +
    +
    Dark:
    +
    rgb(244,206,195)
    @@ -347,110 +77,20 @@
    H850
    -
    - Light: -
    -
    - #6a291e -
    -
    -
    -
    - Dark: -
    -
    - #eeab99 -
    -
    -
    -
    - Light: -
    -
    - rgb(106,41,30) -
    -
    -
    -
    - Dark: -
    -
    - rgb(238,171,153) -
    +
    Light:
    +
    #6a291e
    +
    +
    +
    Dark:
    +
    #eeab99
    +
    +
    +
    Light:
    +
    rgb(106,41,30)
    +
    +
    +
    Dark:
    +
    rgb(238,171,153)
    @@ -460,110 +100,20 @@
    H750
    -
    - Light: -
    -
    - #943427 -
    -
    -
    -
    - Dark: -
    -
    - #e9836f -
    -
    -
    -
    - Light: -
    -
    - rgb(148,52,39) -
    -
    -
    -
    - Dark: -
    -
    - rgb(233,131,111) -
    +
    Light:
    +
    #943427
    +
    +
    +
    Dark:
    +
    #e9836f
    +
    +
    +
    Light:
    +
    rgb(148,52,39)
    +
    +
    +
    Dark:
    +
    rgb(233,131,111)
    @@ -573,110 +123,20 @@
    H650
    -
    - Light: -
    -
    - #c13f2f -
    -
    -
    -
    - Dark: -
    -
    - #df5a46 -
    -
    -
    -
    - Light: -
    -
    - rgb(193,63,47) -
    -
    -
    -
    - Dark: -
    -
    - rgb(223,90,70) -
    +
    Light:
    +
    #c13f2f
    +
    +
    +
    Dark:
    +
    #df5a46
    +
    +
    +
    Light:
    +
    rgb(193,63,47)
    +
    +
    +
    Dark:
    +
    rgb(223,90,70)
    @@ -686,110 +146,20 @@
    H550
    -
    - Light: -
    -
    - #df5a46 -
    -
    -
    -
    - Dark: -
    -
    - #c13f2f -
    -
    -
    -
    - Light: -
    -
    - rgb(223,90,70) -
    -
    -
    -
    - Dark: -
    -
    - rgb(193,63,47) -
    +
    Light:
    +
    #df5a46
    +
    +
    +
    Dark:
    +
    #c13f2f
    +
    +
    +
    Light:
    +
    rgb(223,90,70)
    +
    +
    +
    Dark:
    +
    rgb(193,63,47)
    @@ -799,110 +169,20 @@
    H450
    -
    - Light: -
    -
    - #e9836f -
    -
    -
    -
    - Dark: -
    -
    - #943427 -
    -
    -
    -
    - Light: -
    -
    - rgb(233,131,111) -
    -
    -
    -
    - Dark: -
    -
    - rgb(148,52,39) -
    +
    Light:
    +
    #e9836f
    +
    +
    +
    Dark:
    +
    #943427
    +
    +
    +
    Light:
    +
    rgb(233,131,111)
    +
    +
    +
    Dark:
    +
    rgb(148,52,39)
    @@ -912,110 +192,20 @@
    H350
    -
    - Light: -
    -
    - #eeab99 -
    -
    -
    -
    - Dark: -
    -
    - #6a291e -
    -
    -
    -
    - Light: -
    -
    - rgb(238,171,153) -
    -
    -
    -
    - Dark: -
    -
    - rgb(106,41,30) -
    +
    Light:
    +
    #eeab99
    +
    +
    +
    Dark:
    +
    #6a291e
    +
    +
    +
    Light:
    +
    rgb(238,171,153)
    +
    +
    +
    Dark:
    +
    rgb(106,41,30)
    @@ -1025,110 +215,20 @@
    H250
    -
    - Light: -
    -
    - #f4cec3 -
    -
    -
    -
    - Dark: -
    -
    - #4d2017 -
    -
    -
    -
    - Light: -
    -
    - rgb(244,206,195) -
    -
    -
    -
    - Dark: -
    -
    - rgb(77,32,23) -
    +
    Light:
    +
    #f4cec3
    +
    +
    +
    Dark:
    +
    #4d2017
    +
    +
    +
    Light:
    +
    rgb(244,206,195)
    +
    +
    +
    Dark:
    +
    rgb(77,32,23)
    @@ -1138,110 +238,20 @@
    H150
    -
    - Light: -
    -
    - #fae9e4 -
    -
    -
    -
    - Dark: -
    -
    - #401c14 -
    -
    -
    -
    - Light: -
    -
    - rgb(250,233,228) -
    -
    -
    -
    - Dark: -
    -
    - rgb(64,28,20) -
    +
    Light:
    +
    #fae9e4
    +
    +
    +
    Dark:
    +
    #401c14
    +
    +
    +
    Light:
    +
    rgb(250,233,228)
    +
    +
    +
    Dark:
    +
    rgb(64,28,20)
    @@ -1251,110 +261,20 @@
    H50
    -
    - Light: -
    -
    - #fdf7f5 -
    -
    -
    -
    - Dark: -
    -
    - #271613 -
    -
    -
    -
    - Light: -
    -
    - rgb(253,247,245) -
    -
    -
    -
    - Dark: -
    -
    - rgb(39,22,19) -
    +
    Light:
    +
    #fdf7f5
    +
    +
    +
    Dark:
    +
    #271613
    +
    +
    +
    Light:
    +
    rgb(253,247,245)
    +
    +
    +
    Dark:
    +
    rgb(39,22,19)
    @@ -1364,110 +284,20 @@
    1050
    -
    - Light: -
    -
    - #371912 -
    -
    -
    -
    - Dark: -
    -
    - #fcf1ee -
    -
    -
    -
    - Light: -
    -
    - rgb(55,25,18) -
    -
    -
    -
    - Dark: -
    -
    - rgb(252,241,238) -
    +
    Light:
    +
    #371912
    +
    +
    +
    Dark:
    +
    #fcf1ee
    +
    +
    +
    Light:
    +
    rgb(55,25,18)
    +
    +
    +
    Dark:
    +
    rgb(252,241,238)
    @@ -1477,110 +307,20 @@
    1000
    -
    - Light: -
    -
    - #461e15 -
    -
    -
    -
    - Dark: -
    -
    - #f7dcd4 -
    -
    -
    -
    - Light: -
    -
    - rgb(70,30,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(247,220,212) -
    +
    Light:
    +
    #461e15
    +
    +
    +
    Dark:
    +
    #f7dcd4
    +
    +
    +
    Light:
    +
    rgb(70,30,21)
    +
    +
    +
    Dark:
    +
    rgb(247,220,212)
    @@ -1590,110 +330,20 @@
    900
    -
    - Light: -
    -
    - #512218 -
    -
    -
    -
    - Dark: -
    -
    - #f0baa9 -
    -
    -
    -
    - Light: -
    -
    - rgb(81,34,24) -
    -
    -
    -
    - Dark: -
    -
    - rgb(240,186,169) -
    +
    Light:
    +
    #512218
    +
    +
    +
    Dark:
    +
    #f0baa9
    +
    +
    +
    Light:
    +
    rgb(81,34,24)
    +
    +
    +
    Dark:
    +
    rgb(240,186,169)
    @@ -1703,110 +353,20 @@
    800
    -
    - Light: -
    -
    - #7a2d22 -
    -
    -
    -
    - Dark: -
    -
    - #eb9481 -
    -
    -
    -
    - Light: -
    -
    - rgb(122,45,34) -
    -
    -
    -
    - Dark: -
    -
    - rgb(235,148,129) -
    +
    Light:
    +
    #7a2d22
    +
    +
    +
    Dark:
    +
    #eb9481
    +
    +
    +
    Light:
    +
    rgb(122,45,34)
    +
    +
    +
    Dark:
    +
    rgb(235,148,129)
    @@ -1816,110 +376,20 @@
    700
    -
    - Light: -
    -
    - #a5382a -
    -
    -
    -
    - Dark: -
    -
    - #e66a54 -
    -
    -
    -
    - Light: -
    -
    - rgb(165,56,42) -
    -
    -
    -
    - Dark: -
    -
    - rgb(230,106,84) -
    +
    Light:
    +
    #a5382a
    +
    +
    +
    Dark:
    +
    #e66a54
    +
    +
    +
    Light:
    +
    rgb(165,56,42)
    +
    +
    +
    Dark:
    +
    rgb(230,106,84)
    @@ -1929,110 +399,20 @@
    600
    -
    - Light: -
    -
    - #d44332 -
    -
    -
    -
    - Dark: -
    -
    - #d44332 -
    -
    -
    -
    - Light: -
    -
    - rgb(212,67,50) -
    -
    -
    -
    - Dark: -
    -
    - rgb(212,67,50) -
    +
    Light:
    +
    #d44332
    +
    +
    +
    Dark:
    +
    #d44332
    +
    +
    +
    Light:
    +
    rgb(212,67,50)
    +
    +
    +
    Dark:
    +
    rgb(212,67,50)
    @@ -2042,110 +422,20 @@
    500
    -
    - Light: -
    -
    - #e66a54 -
    -
    -
    -
    - Dark: -
    -
    - #a5382a -
    -
    -
    -
    - Light: -
    -
    - rgb(230,106,84) -
    -
    -
    -
    - Dark: -
    -
    - rgb(165,56,42) -
    +
    Light:
    +
    #e66a54
    +
    +
    +
    Dark:
    +
    #a5382a
    +
    +
    +
    Light:
    +
    rgb(230,106,84)
    +
    +
    +
    Dark:
    +
    rgb(165,56,42)
    @@ -2155,110 +445,20 @@
    400
    -
    - Light: -
    -
    - #eb9481 -
    -
    -
    -
    - Dark: -
    -
    - #7a2d22 -
    -
    -
    -
    - Light: -
    -
    - rgb(235,148,129) -
    -
    -
    -
    - Dark: -
    -
    - rgb(122,45,34) -
    +
    Light:
    +
    #eb9481
    +
    +
    +
    Dark:
    +
    #7a2d22
    +
    +
    +
    Light:
    +
    rgb(235,148,129)
    +
    +
    +
    Dark:
    +
    rgb(122,45,34)
    @@ -2268,110 +468,20 @@
    300
    -
    - Light: -
    -
    - #f0baa9 -
    -
    -
    -
    - Dark: -
    -
    - #512218 -
    -
    -
    -
    - Light: -
    -
    - rgb(240,186,169) -
    -
    -
    -
    - Dark: -
    -
    - rgb(81,34,24) -
    +
    Light:
    +
    #f0baa9
    +
    +
    +
    Dark:
    +
    #512218
    +
    +
    +
    Light:
    +
    rgb(240,186,169)
    +
    +
    +
    Dark:
    +
    rgb(81,34,24)
    @@ -2381,110 +491,20 @@
    200
    -
    - Light: -
    -
    - #f7dcd4 -
    -
    -
    -
    - Dark: -
    -
    - #461e15 -
    -
    -
    -
    - Light: -
    -
    - rgb(247,220,212) -
    -
    -
    -
    - Dark: -
    -
    - rgb(70,30,21) -
    +
    Light:
    +
    #f7dcd4
    +
    +
    +
    Dark:
    +
    #461e15
    +
    +
    +
    Light:
    +
    rgb(247,220,212)
    +
    +
    +
    Dark:
    +
    rgb(70,30,21)
    @@ -2494,127 +514,26 @@
    100
    -
    - Light: -
    -
    - #fcf1ee -
    -
    -
    -
    - Dark: -
    -
    - #371912 -
    -
    -
    -
    - Light: -
    -
    - rgb(252,241,238) -
    -
    -
    -
    - Dark: -
    -
    - rgb(55,25,18) -
    +
    Light:
    +
    #fcf1ee
    +
    +
    +
    Dark:
    +
    #371912
    +
    +
    +
    Light:
    +
    rgb(252,241,238)
    +
    +
    +
    Dark:
    +
    rgb(55,25,18)
    -
    - Orange -
    +
    Orange
    @@ -2623,110 +542,20 @@
    H1150
    -
    - Light: -
    -
    - #221913 -
    -
    -
    -
    - Dark: -
    -
    - #fef7ee -
    -
    -
    -
    - Light: -
    -
    - rgb(34,25,19) -
    -
    -
    -
    - Dark: -
    -
    - rgb(254,247,238) -
    +
    Light:
    +
    #221913
    +
    +
    +
    Dark:
    +
    #fef7ee
    +
    +
    +
    Light:
    +
    rgb(34,25,19)
    +
    +
    +
    Dark:
    +
    rgb(254,247,238)
    @@ -2736,110 +565,20 @@
    H1050
    -
    - Light: -
    -
    - #352312 -
    -
    -
    -
    - Dark: -
    -
    - #fbe9d1 -
    -
    -
    -
    - Light: -
    -
    - rgb(53,35,18) -
    -
    -
    -
    - Dark: -
    -
    - rgb(251,233,209) -
    +
    Light:
    +
    #352312
    +
    +
    +
    Dark:
    +
    #fbe9d1
    +
    +
    +
    Light:
    +
    rgb(53,35,18)
    +
    +
    +
    Dark:
    +
    rgb(251,233,209)
    @@ -2849,110 +588,20 @@
    H950
    -
    - Light: -
    -
    - #3e2915 -
    -
    -
    -
    - Dark: -
    -
    - #f6d09a -
    -
    -
    -
    - Light: -
    -
    - rgb(62,41,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(246,208,154) -
    +
    Light:
    +
    #3e2915
    +
    +
    +
    Dark:
    +
    #f6d09a
    +
    +
    +
    Light:
    +
    rgb(62,41,21)
    +
    +
    +
    Dark:
    +
    rgb(246,208,154)
    @@ -2962,110 +611,20 @@
    H850
    -
    - Light: -
    -
    - #553619 -
    -
    -
    -
    - Dark: -
    -
    - #f0ae51 -
    -
    -
    -
    - Light: -
    -
    - rgb(85,54,25) -
    -
    -
    -
    - Dark: -
    -
    - rgb(240,174,81) -
    +
    Light:
    +
    #553619
    +
    +
    +
    Dark:
    +
    #f0ae51
    +
    +
    +
    Light:
    +
    rgb(85,54,25)
    +
    +
    +
    Dark:
    +
    rgb(240,174,81)
    @@ -3075,110 +634,20 @@
    H750
    -
    - Light: -
    -
    - #764b1e -
    -
    -
    -
    - Dark: -
    -
    - #de8e27 -
    -
    -
    -
    - Light: -
    -
    - rgb(118,75,30) -
    -
    -
    -
    - Dark: -
    -
    - rgb(222,142,39) -
    +
    Light:
    +
    #764b1e
    +
    +
    +
    Dark:
    +
    #de8e27
    +
    +
    +
    Light:
    +
    rgb(118,75,30)
    +
    +
    +
    Dark:
    +
    rgb(222,142,39)
    @@ -3188,110 +657,20 @@
    H650
    -
    - Light: -
    -
    - #986122 -
    -
    -
    -
    - Dark: -
    -
    - #bb7725 -
    -
    -
    -
    - Light: -
    -
    - rgb(152,97,34) -
    -
    -
    -
    - Dark: -
    -
    - rgb(187,119,37) -
    +
    Light:
    +
    #986122
    +
    +
    +
    Dark:
    +
    #bb7725
    +
    +
    +
    Light:
    +
    rgb(152,97,34)
    +
    +
    +
    Dark:
    +
    rgb(187,119,37)
    @@ -3301,110 +680,20 @@
    H550
    -
    - Light: -
    -
    - #bb7725 -
    -
    -
    -
    - Dark: -
    -
    - #986122 -
    -
    -
    -
    - Light: -
    -
    - rgb(187,119,37) -
    -
    -
    -
    - Dark: -
    -
    - rgb(152,97,34) -
    +
    Light:
    +
    #bb7725
    +
    +
    +
    Dark:
    +
    #986122
    +
    +
    +
    Light:
    +
    rgb(187,119,37)
    +
    +
    +
    Dark:
    +
    rgb(152,97,34)
    @@ -3414,110 +703,20 @@
    H450
    -
    - Light: -
    -
    - #de8e27 -
    -
    -
    -
    - Dark: -
    -
    - #764b1e -
    -
    -
    -
    - Light: -
    -
    - rgb(222,142,39) -
    -
    -
    -
    - Dark: -
    -
    - rgb(118,75,30) -
    +
    Light:
    +
    #de8e27
    +
    +
    +
    Dark:
    +
    #764b1e
    +
    +
    +
    Light:
    +
    rgb(222,142,39)
    +
    +
    +
    Dark:
    +
    rgb(118,75,30)
    @@ -3527,110 +726,20 @@
    H350
    -
    - Light: -
    -
    - #f0ae51 -
    -
    -
    -
    - Dark: -
    -
    - #553619 -
    -
    -
    -
    - Light: -
    -
    - rgb(240,174,81) -
    -
    -
    -
    - Dark: -
    -
    - rgb(85,54,25) -
    +
    Light:
    +
    #f0ae51
    +
    +
    +
    Dark:
    +
    #553619
    +
    +
    +
    Light:
    +
    rgb(240,174,81)
    +
    +
    +
    Dark:
    +
    rgb(85,54,25)
    @@ -3640,110 +749,20 @@
    H250
    -
    - Light: -
    -
    - #f6d09a -
    -
    -
    -
    - Dark: -
    -
    - #3e2915 -
    -
    -
    -
    - Light: -
    -
    - rgb(246,208,154) -
    -
    -
    -
    - Dark: -
    -
    - rgb(62,41,21) -
    +
    Light:
    +
    #f6d09a
    +
    +
    +
    Dark:
    +
    #3e2915
    +
    +
    +
    Light:
    +
    rgb(246,208,154)
    +
    +
    +
    Dark:
    +
    rgb(62,41,21)
    @@ -3753,110 +772,20 @@
    H150
    -
    - Light: -
    -
    - #fbe9d1 -
    -
    -
    -
    - Dark: -
    -
    - #352312 -
    -
    -
    -
    - Light: -
    -
    - rgb(251,233,209) -
    -
    -
    -
    - Dark: -
    -
    - rgb(53,35,18) -
    +
    Light:
    +
    #fbe9d1
    +
    +
    +
    Dark:
    +
    #352312
    +
    +
    +
    Light:
    +
    rgb(251,233,209)
    +
    +
    +
    Dark:
    +
    rgb(53,35,18)
    @@ -3866,110 +795,20 @@
    H50
    -
    - Light: -
    -
    - #fef7ee -
    -
    -
    -
    - Dark: -
    -
    - #221913 -
    -
    -
    -
    - Light: -
    -
    - rgb(254,247,238) -
    -
    -
    -
    - Dark: -
    -
    - rgb(34,25,19) -
    +
    Light:
    +
    #fef7ee
    +
    +
    +
    Dark:
    +
    #221913
    +
    +
    +
    Light:
    +
    rgb(254,247,238)
    +
    +
    +
    Dark:
    +
    rgb(34,25,19)
    @@ -3979,110 +818,20 @@
    1100
    -
    - Light: -
    -
    - #2e1f11 -
    -
    -
    -
    - Dark: -
    -
    - #fdf1e2 -
    -
    -
    -
    - Light: -
    -
    - rgb(46,31,17) -
    -
    -
    -
    - Dark: -
    -
    - rgb(253,241,226) -
    +
    Light:
    +
    #2e1f11
    +
    +
    +
    Dark:
    +
    #fdf1e2
    +
    +
    +
    Light:
    +
    rgb(46,31,17)
    +
    +
    +
    Dark:
    +
    rgb(253,241,226)
    @@ -4092,110 +841,20 @@
    1000
    -
    - Light: -
    -
    - #392513 -
    -
    -
    -
    - Dark: -
    -
    - #f8deb8 -
    -
    -
    -
    - Light: -
    -
    - rgb(57,37,19) -
    -
    -
    -
    - Dark: -
    -
    - rgb(248,222,184) -
    +
    Light:
    +
    #392513
    +
    +
    +
    Dark:
    +
    #f8deb8
    +
    +
    +
    Light:
    +
    rgb(57,37,19)
    +
    +
    +
    Dark:
    +
    rgb(248,222,184)
    @@ -4205,110 +864,20 @@
    900
    -
    - Light: -
    -
    - #422b16 -
    -
    -
    -
    - Dark: -
    -
    - #f2bc6d -
    -
    -
    -
    - Light: -
    -
    - rgb(66,43,22) -
    -
    -
    -
    - Dark: -
    -
    - rgb(242,188,109) -
    +
    Light:
    +
    #422b16
    +
    +
    +
    Dark:
    +
    #f2bc6d
    +
    +
    +
    Light:
    +
    rgb(66,43,22)
    +
    +
    +
    Dark:
    +
    rgb(242,188,109)
    @@ -4318,110 +887,20 @@
    800
    -
    - Light: -
    -
    - #623e1b -
    -
    -
    -
    - Dark: -
    -
    - #ec9827 -
    -
    -
    -
    - Light: -
    -
    - rgb(98,62,27) -
    -
    -
    -
    - Dark: -
    -
    - rgb(236,152,39) -
    +
    Light:
    +
    #623e1b
    +
    +
    +
    Dark:
    +
    #ec9827
    +
    +
    +
    Light:
    +
    rgb(98,62,27)
    +
    +
    +
    Dark:
    +
    rgb(236,152,39)
    @@ -4431,110 +910,20 @@
    700
    -
    - Light: -
    -
    - #835420 -
    -
    -
    -
    - Dark: -
    -
    - #c98027 -
    -
    -
    -
    - Light: -
    -
    - rgb(131,84,32) -
    -
    -
    -
    - Dark: -
    -
    - rgb(201,128,39) -
    +
    Light:
    +
    #835420
    +
    +
    +
    Dark:
    +
    #c98027
    +
    +
    +
    Light:
    +
    rgb(131,84,32)
    +
    +
    +
    Dark:
    +
    rgb(201,128,39)
    @@ -4544,110 +933,20 @@
    600
    -
    - Light: -
    -
    - #a66923 -
    -
    -
    -
    - Dark: -
    -
    - #a66923 -
    -
    -
    -
    - Light: -
    -
    - rgb(166,105,35) -
    -
    -
    -
    - Dark: -
    -
    - rgb(166,105,35) -
    +
    Light:
    +
    #a66923
    +
    +
    +
    Dark:
    +
    #a66923
    +
    +
    +
    Light:
    +
    rgb(166,105,35)
    +
    +
    +
    Dark:
    +
    rgb(166,105,35)
    @@ -4657,110 +956,20 @@
    500
    -
    - Light: -
    -
    - #c98027 -
    -
    -
    -
    - Dark: -
    -
    - #835420 -
    -
    -
    -
    - Light: -
    -
    - rgb(201,128,39) -
    -
    -
    -
    - Dark: -
    -
    - rgb(131,84,32) -
    +
    Light:
    +
    #c98027
    +
    +
    +
    Dark:
    +
    #835420
    +
    +
    +
    Light:
    +
    rgb(201,128,39)
    +
    +
    +
    Dark:
    +
    rgb(131,84,32)
    @@ -4770,110 +979,20 @@
    400
    -
    - Light: -
    -
    - #ec9827 -
    -
    -
    -
    - Dark: -
    -
    - #623e1b -
    -
    -
    -
    - Light: -
    -
    - rgb(236,152,39) -
    -
    -
    -
    - Dark: -
    -
    - rgb(98,62,27) -
    +
    Light:
    +
    #ec9827
    +
    +
    +
    Dark:
    +
    #623e1b
    +
    +
    +
    Light:
    +
    rgb(236,152,39)
    +
    +
    +
    Dark:
    +
    rgb(98,62,27)
    @@ -4883,110 +1002,20 @@
    300
    -
    - Light: -
    -
    - #f2bc6d -
    -
    -
    -
    - Dark: -
    -
    - #422b16 -
    -
    -
    -
    - Light: -
    -
    - rgb(242,188,109) -
    -
    -
    -
    - Dark: -
    -
    - rgb(66,43,22) -
    +
    Light:
    +
    #f2bc6d
    +
    +
    +
    Dark:
    +
    #422b16
    +
    +
    +
    Light:
    +
    rgb(242,188,109)
    +
    +
    +
    Dark:
    +
    rgb(66,43,22)
    @@ -4996,110 +1025,20 @@
    200
    -
    - Light: -
    -
    - #f8deb8 -
    -
    -
    -
    - Dark: -
    -
    - #392513 -
    -
    -
    -
    - Light: -
    -
    - rgb(248,222,184) -
    -
    -
    -
    - Dark: -
    -
    - rgb(57,37,19) -
    +
    Light:
    +
    #f8deb8
    +
    +
    +
    Dark:
    +
    #392513
    +
    +
    +
    Light:
    +
    rgb(248,222,184)
    +
    +
    +
    Dark:
    +
    rgb(57,37,19)
    @@ -5109,127 +1048,26 @@
    100
    -
    - Light: -
    -
    - #fdf1e2 -
    -
    -
    -
    - Dark: -
    -
    - #2e1f11 -
    -
    -
    -
    - Light: -
    -
    - rgb(253,241,226) -
    -
    -
    -
    - Dark: -
    -
    - rgb(46,31,17) -
    +
    Light:
    +
    #fdf1e2
    +
    +
    +
    Dark:
    +
    #2e1f11
    +
    +
    +
    Light:
    +
    rgb(253,241,226)
    +
    +
    +
    Dark:
    +
    rgb(46,31,17)
    -
    - Yellow -
    +
    Yellow
    @@ -5238,110 +1076,20 @@
    H1150
    -
    - Light: -
    -
    - #1f1a11 -
    -
    -
    -
    - Dark: -
    -
    - #fef8e3 -
    -
    -
    -
    - Light: -
    -
    - rgb(31,26,17) -
    -
    -
    -
    - Dark: -
    -
    - rgb(254,248,227) -
    +
    Light:
    +
    #1f1a11
    +
    +
    +
    Dark:
    +
    #fef8e3
    +
    +
    +
    Light:
    +
    rgb(31,26,17)
    +
    +
    +
    Dark:
    +
    rgb(254,248,227)
    @@ -5351,110 +1099,20 @@
    H1050
    -
    - Light: -
    -
    - #302511 -
    -
    -
    -
    - Dark: -
    -
    - #fbecb3 -
    -
    -
    -
    - Light: -
    -
    - rgb(48,37,17) -
    -
    -
    -
    - Dark: -
    -
    - rgb(251,236,179) -
    +
    Light:
    +
    #302511
    +
    +
    +
    Dark:
    +
    #fbecb3
    +
    +
    +
    Light:
    +
    rgb(48,37,17)
    +
    +
    +
    Dark:
    +
    rgb(251,236,179)
    @@ -5464,110 +1122,20 @@
    H950
    -
    - Light: -
    -
    - #382d14 -
    -
    -
    -
    - Dark: -
    -
    - #f4d560 -
    -
    -
    -
    - Light: -
    -
    - rgb(56,45,20) -
    -
    -
    -
    - Dark: -
    -
    - rgb(244,213,96) -
    +
    Light:
    +
    #382d14
    +
    +
    +
    Dark:
    +
    #f4d560
    +
    +
    +
    Light:
    +
    rgb(56,45,20)
    +
    +
    +
    Dark:
    +
    rgb(244,213,96)
    @@ -5577,110 +1145,20 @@
    H850
    -
    - Light: -
    -
    - #4b3d17 -
    -
    -
    -
    - Dark: -
    -
    - #e1b725 -
    -
    -
    -
    - Light: -
    -
    - rgb(75,61,23) -
    -
    -
    -
    - Dark: -
    -
    - rgb(225,183,37) -
    +
    Light:
    +
    #4b3d17
    +
    +
    +
    Dark:
    +
    #e1b725
    +
    +
    +
    Light:
    +
    rgb(75,61,23)
    +
    +
    +
    Dark:
    +
    rgb(225,183,37)
    @@ -5690,110 +1168,20 @@
    H750
    -
    - Light: -
    -
    - #67521a -
    -
    -
    -
    - Dark: -
    -
    - #c29d24 -
    -
    -
    -
    - Light: -
    -
    - rgb(103,82,26) -
    -
    -
    -
    - Dark: -
    -
    - rgb(194,157,36) -
    +
    Light:
    +
    #67521a
    +
    +
    +
    Dark:
    +
    #c29d24
    +
    +
    +
    Light:
    +
    rgb(103,82,26)
    +
    +
    +
    Dark:
    +
    rgb(194,157,36)
    @@ -5803,110 +1191,20 @@
    H650
    -
    - Light: -
    -
    - #836a1e -
    -
    -
    -
    - Dark: -
    -
    - #a28322 -
    -
    -
    -
    - Light: -
    -
    - rgb(131,106,30) -
    -
    -
    -
    - Dark: -
    -
    - rgb(162,131,34) -
    +
    Light:
    +
    #836a1e
    +
    +
    +
    Dark:
    +
    #a28322
    +
    +
    +
    Light:
    +
    rgb(131,106,30)
    +
    +
    +
    Dark:
    +
    rgb(162,131,34)
    @@ -5916,110 +1214,20 @@
    H550
    -
    - Light: -
    -
    - #a28322 -
    -
    -
    -
    - Dark: -
    -
    - #836a1e -
    -
    -
    -
    - Light: -
    -
    - rgb(162,131,34) -
    -
    -
    -
    - Dark: -
    -
    - rgb(131,106,30) -
    +
    Light:
    +
    #a28322
    +
    +
    +
    Dark:
    +
    #836a1e
    +
    +
    +
    Light:
    +
    rgb(162,131,34)
    +
    +
    +
    Dark:
    +
    rgb(131,106,30)
    @@ -6029,110 +1237,20 @@
    H450
    -
    - Light: -
    -
    - #c29d24 -
    -
    -
    -
    - Dark: -
    -
    - #67521a -
    -
    -
    -
    - Light: -
    -
    - rgb(194,157,36) -
    -
    -
    -
    - Dark: -
    -
    - rgb(103,82,26) -
    +
    Light:
    +
    #c29d24
    +
    +
    +
    Dark:
    +
    #67521a
    +
    +
    +
    Light:
    +
    rgb(194,157,36)
    +
    +
    +
    Dark:
    +
    rgb(103,82,26)
    @@ -6142,110 +1260,20 @@
    H350
    -
    - Light: -
    -
    - #e1b725 -
    -
    -
    -
    - Dark: -
    -
    - #4b3d17 -
    -
    -
    -
    - Light: -
    -
    - rgb(225,183,37) -
    -
    -
    -
    - Dark: -
    -
    - rgb(75,61,23) -
    +
    Light:
    +
    #e1b725
    +
    +
    +
    Dark:
    +
    #4b3d17
    +
    +
    +
    Light:
    +
    rgb(225,183,37)
    +
    +
    +
    Dark:
    +
    rgb(75,61,23)
    @@ -6255,110 +1283,20 @@
    H250
    -
    - Light: -
    -
    - #f4d560 -
    -
    -
    -
    - Dark: -
    -
    - #382d14 -
    -
    -
    -
    - Light: -
    -
    - rgb(244,213,96) -
    -
    -
    -
    - Dark: -
    -
    - rgb(56,45,20) -
    +
    Light:
    +
    #f4d560
    +
    +
    +
    Dark:
    +
    #382d14
    +
    +
    +
    Light:
    +
    rgb(244,213,96)
    +
    +
    +
    Dark:
    +
    rgb(56,45,20)
    @@ -6368,110 +1306,20 @@
    H150
    -
    - Light: -
    -
    - #fbecb3 -
    -
    -
    -
    - Dark: -
    -
    - #302511 -
    -
    -
    -
    - Light: -
    -
    - rgb(251,236,179) -
    -
    -
    -
    - Dark: -
    -
    - rgb(48,37,17) -
    +
    Light:
    +
    #fbecb3
    +
    +
    +
    Dark:
    +
    #302511
    +
    +
    +
    Light:
    +
    rgb(251,236,179)
    +
    +
    +
    Dark:
    +
    rgb(48,37,17)
    @@ -6481,110 +1329,20 @@
    H50
    -
    - Light: -
    -
    - #fef8e3 -
    -
    -
    -
    - Dark: -
    -
    - #1f1a11 -
    -
    -
    -
    - Light: -
    -
    - rgb(254,248,227) -
    -
    -
    -
    - Dark: -
    -
    - rgb(31,26,17) -
    +
    Light:
    +
    #fef8e3
    +
    +
    +
    Dark:
    +
    #1f1a11
    +
    +
    +
    Light:
    +
    rgb(254,248,227)
    +
    +
    +
    Dark:
    +
    rgb(31,26,17)
    @@ -6594,110 +1352,20 @@
    1100
    -
    - Light: -
    -
    - #29200f -
    -
    -
    -
    - Dark: -
    -
    - #fdf3d1 -
    -
    -
    -
    - Light: -
    -
    - rgb(41,32,15) -
    -
    -
    -
    - Dark: -
    -
    - rgb(253,243,209) -
    +
    Light:
    +
    #29200f
    +
    +
    +
    Dark:
    +
    #fdf3d1
    +
    +
    +
    Light:
    +
    rgb(41,32,15)
    +
    +
    +
    Dark:
    +
    rgb(253,243,209)
    @@ -6707,110 +1375,20 @@
    1000
    -
    - Light: -
    -
    - #342912 -
    -
    -
    -
    - Dark: -
    -
    - #f9e187 -
    -
    -
    -
    - Light: -
    -
    - rgb(52,41,18) -
    -
    -
    -
    - Dark: -
    -
    - rgb(249,225,135) -
    +
    Light:
    +
    #342912
    +
    +
    +
    Dark:
    +
    #f9e187
    +
    +
    +
    Light:
    +
    rgb(52,41,18)
    +
    +
    +
    Dark:
    +
    rgb(249,225,135)
    @@ -6820,110 +1398,20 @@
    900
    -
    - Light: -
    -
    - #3b3015 -
    -
    -
    -
    - Dark: -
    -
    - #edc225 -
    -
    -
    -
    - Light: -
    -
    - rgb(59,48,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(237,194,37) -
    +
    Light:
    +
    #3b3015
    +
    +
    +
    Dark:
    +
    #edc225
    +
    +
    +
    Light:
    +
    rgb(59,48,21)
    +
    +
    +
    Dark:
    +
    rgb(237,194,37)
    @@ -6933,110 +1421,20 @@
    800
    -
    - Light: -
    -
    - #564518 -
    -
    -
    -
    - Dark: -
    -
    - #cea724 -
    -
    -
    -
    - Light: -
    -
    - rgb(86,69,24) -
    -
    -
    -
    - Dark: -
    -
    - rgb(206,167,36) -
    +
    Light:
    +
    #564518
    +
    +
    +
    Dark:
    +
    #cea724
    +
    +
    +
    Light:
    +
    rgb(86,69,24)
    +
    +
    +
    Dark:
    +
    rgb(206,167,36)
    @@ -7046,110 +1444,20 @@
    700
    -
    - Light: -
    -
    - #725b1c -
    -
    -
    -
    - Dark: -
    -
    - #af8d23 -
    -
    -
    -
    - Light: -
    -
    - rgb(114,91,28) -
    -
    -
    -
    - Dark: -
    -
    - rgb(175,141,35) -
    +
    Light:
    +
    #725b1c
    +
    +
    +
    Dark:
    +
    #af8d23
    +
    +
    +
    Light:
    +
    rgb(114,91,28)
    +
    +
    +
    Dark:
    +
    rgb(175,141,35)
    @@ -7159,110 +1467,20 @@
    600
    -
    - Light: -
    -
    - #8f7420 -
    -
    -
    -
    - Dark: -
    -
    - #8f7420 -
    -
    -
    -
    - Light: -
    -
    - rgb(143,116,32) -
    -
    -
    -
    - Dark: -
    -
    - rgb(143,116,32) -
    +
    Light:
    +
    #8f7420
    +
    +
    +
    Dark:
    +
    #8f7420
    +
    +
    +
    Light:
    +
    rgb(143,116,32)
    +
    +
    +
    Dark:
    +
    rgb(143,116,32)
    @@ -7272,110 +1490,20 @@
    500
    -
    - Light: -
    -
    - #af8d23 -
    -
    -
    -
    - Dark: -
    -
    - #725b1c -
    -
    -
    -
    - Light: -
    -
    - rgb(175,141,35) -
    -
    -
    -
    - Dark: -
    -
    - rgb(114,91,28) -
    +
    Light:
    +
    #af8d23
    +
    +
    +
    Dark:
    +
    #725b1c
    +
    +
    +
    Light:
    +
    rgb(175,141,35)
    +
    +
    +
    Dark:
    +
    rgb(114,91,28)
    @@ -7385,110 +1513,20 @@
    400
    -
    - Light: -
    -
    - #cea724 -
    -
    -
    -
    - Dark: -
    -
    - #564518 -
    -
    -
    -
    - Light: -
    -
    - rgb(206,167,36) -
    -
    -
    -
    - Dark: -
    -
    - rgb(86,69,24) -
    +
    Light:
    +
    #cea724
    +
    +
    +
    Dark:
    +
    #564518
    +
    +
    +
    Light:
    +
    rgb(206,167,36)
    +
    +
    +
    Dark:
    +
    rgb(86,69,24)
    @@ -7498,110 +1536,20 @@
    300
    -
    - Light: -
    -
    - #edc225 -
    -
    -
    -
    - Dark: -
    -
    - #3b3015 -
    -
    -
    -
    - Light: -
    -
    - rgb(237,194,37) -
    -
    -
    -
    - Dark: -
    -
    - rgb(59,48,21) -
    +
    Light:
    +
    #edc225
    +
    +
    +
    Dark:
    +
    #3b3015
    +
    +
    +
    Light:
    +
    rgb(237,194,37)
    +
    +
    +
    Dark:
    +
    rgb(59,48,21)
    @@ -7611,110 +1559,20 @@
    200
    -
    - Light: -
    -
    - #f9e187 -
    -
    -
    -
    - Dark: -
    -
    - #342912 -
    -
    -
    -
    - Light: -
    -
    - rgb(249,225,135) -
    -
    -
    -
    - Dark: -
    -
    - rgb(52,41,18) -
    +
    Light:
    +
    #f9e187
    +
    +
    +
    Dark:
    +
    #342912
    +
    +
    +
    Light:
    +
    rgb(249,225,135)
    +
    +
    +
    Dark:
    +
    rgb(52,41,18)
    @@ -7724,127 +1582,26 @@
    100
    -
    - Light: -
    -
    - #fdf3d1 -
    -
    -
    -
    - Dark: -
    -
    - #29200f -
    -
    -
    -
    - Light: -
    -
    - rgb(253,243,209) -
    -
    -
    -
    - Dark: -
    -
    - rgb(41,32,15) -
    +
    Light:
    +
    #fdf3d1
    +
    +
    +
    Dark:
    +
    #29200f
    +
    +
    +
    Light:
    +
    rgb(253,243,209)
    +
    +
    +
    Dark:
    +
    rgb(41,32,15)
    -
    - Green -
    +
    Green
    @@ -7853,110 +1610,20 @@
    H1150
    -
    - Light: -
    -
    - #161e10 -
    -
    -
    -
    - Dark: -
    -
    - #f5faf2 -
    -
    -
    -
    - Light: -
    -
    - rgb(22,30,16) -
    -
    -
    -
    - Dark: -
    -
    - rgb(245,250,242) -
    +
    Light:
    +
    #161e10
    +
    +
    +
    Dark:
    +
    #f5faf2
    +
    +
    +
    Light:
    +
    rgb(22,30,16)
    +
    +
    +
    Dark:
    +
    rgb(245,250,242)
    @@ -7966,110 +1633,20 @@
    H1050
    -
    - Light: -
    -
    - #1c2b0f -
    -
    -
    -
    - Dark: -
    -
    - #e6f0dd -
    -
    -
    -
    - Light: -
    -
    - rgb(28,43,15) -
    -
    -
    -
    - Dark: -
    -
    - rgb(230,240,221) -
    +
    Light:
    +
    #1c2b0f
    +
    +
    +
    Dark:
    +
    #e6f0dd
    +
    +
    +
    Light:
    +
    rgb(28,43,15)
    +
    +
    +
    Dark:
    +
    rgb(230,240,221)
    @@ -8079,110 +1656,20 @@
    H950
    -
    - Light: -
    -
    - #203212 -
    -
    -
    -
    - Dark: -
    -
    - #c9deb6 -
    -
    -
    -
    - Light: -
    -
    - rgb(32,50,18) -
    -
    -
    -
    - Dark: -
    -
    - rgb(201,222,182) -
    +
    Light:
    +
    #203212
    +
    +
    +
    Dark:
    +
    #c9deb6
    +
    +
    +
    Light:
    +
    rgb(32,50,18)
    +
    +
    +
    Dark:
    +
    rgb(201,222,182)
    @@ -8192,110 +1679,20 @@
    H850
    -
    - Light: -
    -
    - #2a4513 -
    -
    -
    -
    - Dark: -
    -
    - #a3c784 -
    -
    -
    -
    - Light: -
    -
    - rgb(42,69,19) -
    -
    -
    -
    - Dark: -
    -
    - rgb(163,199,132) -
    +
    Light:
    +
    #2a4513
    +
    +
    +
    Dark:
    +
    #a3c784
    +
    +
    +
    Light:
    +
    rgb(42,69,19)
    +
    +
    +
    Dark:
    +
    rgb(163,199,132)
    @@ -8305,110 +1702,20 @@
    H750
    -
    - Light: -
    -
    - #366015 -
    -
    -
    -
    - Dark: -
    -
    - #7caf52 -
    -
    -
    -
    - Light: -
    -
    - rgb(54,96,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(124,175,82) -
    +
    Light:
    +
    #366015
    +
    +
    +
    Dark:
    +
    #7caf52
    +
    +
    +
    Light:
    +
    rgb(54,96,21)
    +
    +
    +
    Dark:
    +
    rgb(124,175,82)
    @@ -8418,110 +1725,20 @@
    H650
    -
    - Light: -
    -
    - #3e7c13 -
    -
    -
    -
    - Dark: -
    -
    - #5a9727 -
    -
    -
    -
    - Light: -
    -
    - rgb(62,124,19) -
    -
    -
    -
    - Dark: -
    -
    - rgb(90,151,39) -
    +
    Light:
    +
    #3e7c13
    +
    +
    +
    Dark:
    +
    #5a9727
    +
    +
    +
    Light:
    +
    rgb(62,124,19)
    +
    +
    +
    Dark:
    +
    rgb(90,151,39)
    @@ -8531,110 +1748,20 @@
    H550
    -
    - Light: -
    -
    - #5a9727 -
    -
    -
    -
    - Dark: -
    -
    - #3e7c13 -
    -
    -
    -
    - Light: -
    -
    - rgb(90,151,39) -
    -
    -
    -
    - Dark: -
    -
    - rgb(62,124,19) -
    +
    Light:
    +
    #5a9727
    +
    +
    +
    Dark:
    +
    #3e7c13
    +
    +
    +
    Light:
    +
    rgb(90,151,39)
    +
    +
    +
    Dark:
    +
    rgb(62,124,19)
    @@ -8644,110 +1771,20 @@
    H450
    -
    - Light: -
    -
    - #7caf52 -
    -
    -
    -
    - Dark: -
    -
    - #366015 -
    -
    -
    -
    - Light: -
    -
    - rgb(124,175,82) -
    -
    -
    -
    - Dark: -
    -
    - rgb(54,96,21) -
    +
    Light:
    +
    #7caf52
    +
    +
    +
    Dark:
    +
    #366015
    +
    +
    +
    Light:
    +
    rgb(124,175,82)
    +
    +
    +
    Dark:
    +
    rgb(54,96,21)
    @@ -8757,110 +1794,20 @@
    H350
    -
    - Light: -
    -
    - #a3c784 -
    -
    -
    -
    - Dark: -
    -
    - #2a4513 -
    -
    -
    -
    - Light: -
    -
    - rgb(163,199,132) -
    -
    -
    -
    - Dark: -
    -
    - rgb(42,69,19) -
    +
    Light:
    +
    #a3c784
    +
    +
    +
    Dark:
    +
    #2a4513
    +
    +
    +
    Light:
    +
    rgb(163,199,132)
    +
    +
    +
    Dark:
    +
    rgb(42,69,19)
    @@ -8870,110 +1817,20 @@
    H250
    -
    - Light: -
    -
    - #c9deb6 -
    -
    -
    -
    - Dark: -
    -
    - #203212 -
    -
    -
    -
    - Light: -
    -
    - rgb(201,222,182) -
    -
    -
    -
    - Dark: -
    -
    - rgb(32,50,18) -
    +
    Light:
    +
    #c9deb6
    +
    +
    +
    Dark:
    +
    #203212
    +
    +
    +
    Light:
    +
    rgb(201,222,182)
    +
    +
    +
    Dark:
    +
    rgb(32,50,18)
    @@ -8983,110 +1840,20 @@
    H150
    -
    - Light: -
    -
    - #e6f0dd -
    -
    -
    -
    - Dark: -
    -
    - #1c2b0f -
    -
    -
    -
    - Light: -
    -
    - rgb(230,240,221) -
    -
    -
    -
    - Dark: -
    -
    - rgb(28,43,15) -
    +
    Light:
    +
    #e6f0dd
    +
    +
    +
    Dark:
    +
    #1c2b0f
    +
    +
    +
    Light:
    +
    rgb(230,240,221)
    +
    +
    +
    Dark:
    +
    rgb(28,43,15)
    @@ -9096,110 +1863,20 @@
    H50
    -
    - Light: -
    -
    - #f5faf2 -
    -
    -
    -
    - Dark: -
    -
    - #161e10 -
    -
    -
    -
    - Light: -
    -
    - rgb(245,250,242) -
    -
    -
    -
    - Dark: -
    -
    - rgb(22,30,16) -
    +
    Light:
    +
    #f5faf2
    +
    +
    +
    Dark:
    +
    #161e10
    +
    +
    +
    Light:
    +
    rgb(245,250,242)
    +
    +
    +
    Dark:
    +
    rgb(22,30,16)
    @@ -9209,110 +1886,20 @@
    1100
    -
    - Light: -
    -
    - #1a260d -
    -
    -
    -
    - Dark: -
    -
    - #eff6ea -
    -
    -
    -
    - Light: -
    -
    - rgb(26,38,13) -
    -
    -
    -
    - Dark: -
    -
    - rgb(239,246,234) -
    +
    Light:
    +
    #1a260d
    +
    +
    +
    Dark:
    +
    #eff6ea
    +
    +
    +
    Light:
    +
    rgb(26,38,13)
    +
    +
    +
    Dark:
    +
    rgb(239,246,234)
    @@ -9322,110 +1909,20 @@
    1000
    -
    - Light: -
    -
    - #1e2e11 -
    -
    -
    -
    - Dark: -
    -
    - #d8e7ca -
    -
    -
    -
    - Light: -
    -
    - rgb(30,46,17) -
    -
    -
    -
    - Dark: -
    -
    - rgb(216,231,202) -
    +
    Light:
    +
    #1e2e11
    +
    +
    +
    Dark:
    +
    #d8e7ca
    +
    +
    +
    Light:
    +
    rgb(30,46,17)
    +
    +
    +
    Dark:
    +
    rgb(216,231,202)
    @@ -9435,110 +1932,20 @@
    900
    -
    - Light: -
    -
    - #223512 -
    -
    -
    -
    - Dark: -
    -
    - #b2d198 -
    -
    -
    -
    - Light: -
    -
    - rgb(34,53,18) -
    -
    -
    -
    - Dark: -
    -
    - rgb(178,209,152) -
    +
    Light:
    +
    #223512
    +
    +
    +
    Dark:
    +
    #b2d198
    +
    +
    +
    Light:
    +
    rgb(34,53,18)
    +
    +
    +
    Dark:
    +
    rgb(178,209,152)
    @@ -9548,110 +1955,20 @@
    800
    -
    - Light: -
    -
    - #2f5014 -
    -
    -
    -
    - Dark: -
    -
    - #8cb966 -
    -
    -
    -
    - Light: -
    -
    - rgb(47,80,20) -
    -
    -
    -
    - Dark: -
    -
    - rgb(140,185,102) -
    +
    Light:
    +
    #2f5014
    +
    +
    +
    Dark:
    +
    #8cb966
    +
    +
    +
    Light:
    +
    rgb(47,80,20)
    +
    +
    +
    Dark:
    +
    rgb(140,185,102)
    @@ -9661,110 +1978,20 @@
    700
    -
    - Light: -
    -
    - #3b6a15 -
    -
    -
    -
    - Dark: -
    -
    - #65a134 -
    -
    -
    -
    - Light: -
    -
    - rgb(59,106,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(101,161,52) -
    +
    Light:
    +
    #3b6a15
    +
    +
    +
    Dark:
    +
    #65a134
    +
    +
    +
    Light:
    +
    rgb(59,106,21)
    +
    +
    +
    Dark:
    +
    rgb(101,161,52)
    @@ -9774,110 +2001,20 @@
    600
    -
    - Light: -
    -
    - #498714 -
    -
    -
    -
    - Dark: -
    -
    - #498714 -
    -
    -
    -
    - Light: -
    -
    - rgb(73,135,20) -
    -
    -
    -
    - Dark: -
    -
    - rgb(73,135,20) -
    +
    Light:
    +
    #498714
    +
    +
    +
    Dark:
    +
    #498714
    +
    +
    +
    Light:
    +
    rgb(73,135,20)
    +
    +
    +
    Dark:
    +
    rgb(73,135,20)
    @@ -9887,110 +2024,20 @@
    500
    -
    - Light: -
    -
    - #65a134 -
    -
    -
    -
    - Dark: -
    -
    - #3b6a15 -
    -
    -
    -
    - Light: -
    -
    - rgb(101,161,52) -
    -
    -
    -
    - Dark: -
    -
    - rgb(59,106,21) -
    +
    Light:
    +
    #65a134
    +
    +
    +
    Dark:
    +
    #3b6a15
    +
    +
    +
    Light:
    +
    rgb(101,161,52)
    +
    +
    +
    Dark:
    +
    rgb(59,106,21)
    @@ -10000,110 +2047,20 @@
    400
    -
    - Light: -
    -
    - #8cb966 -
    -
    -
    -
    - Dark: -
    -
    - #2f5014 -
    -
    -
    -
    - Light: -
    -
    - rgb(140,185,102) -
    -
    -
    -
    - Dark: -
    -
    - rgb(47,80,20) -
    +
    Light:
    +
    #8cb966
    +
    +
    +
    Dark:
    +
    #2f5014
    +
    +
    +
    Light:
    +
    rgb(140,185,102)
    +
    +
    +
    Dark:
    +
    rgb(47,80,20)
    @@ -10113,110 +2070,20 @@
    300
    -
    - Light: -
    -
    - #b2d198 -
    -
    -
    -
    - Dark: -
    -
    - #223512 -
    -
    -
    -
    - Light: -
    -
    - rgb(178,209,152) -
    -
    -
    -
    - Dark: -
    -
    - rgb(34,53,18) -
    +
    Light:
    +
    #b2d198
    +
    +
    +
    Dark:
    +
    #223512
    +
    +
    +
    Light:
    +
    rgb(178,209,152)
    +
    +
    +
    Dark:
    +
    rgb(34,53,18)
    @@ -10226,110 +2093,20 @@
    200
    -
    - Light: -
    -
    - #d8e7ca -
    -
    -
    -
    - Dark: -
    -
    - #1e2e11 -
    -
    -
    -
    - Light: -
    -
    - rgb(216,231,202) -
    -
    -
    -
    - Dark: -
    -
    - rgb(30,46,17) -
    +
    Light:
    +
    #d8e7ca
    +
    +
    +
    Dark:
    +
    #1e2e11
    +
    +
    +
    Light:
    +
    rgb(216,231,202)
    +
    +
    +
    Dark:
    +
    rgb(30,46,17)
    @@ -10339,127 +2116,26 @@
    100
    -
    - Light: -
    -
    - #eff6ea -
    -
    -
    -
    - Dark: -
    -
    - #1a260d -
    -
    -
    -
    - Light: -
    -
    - rgb(239,246,234) -
    -
    -
    -
    - Dark: -
    -
    - rgb(26,38,13) -
    +
    Light:
    +
    #eff6ea
    +
    +
    +
    Dark:
    +
    #1a260d
    +
    +
    +
    Light:
    +
    rgb(239,246,234)
    +
    +
    +
    Dark:
    +
    rgb(26,38,13)
    -
    - Blue -
    +
    Blue
    @@ -10468,110 +2144,20 @@
    H1150
    -
    - Light: -
    -
    - #111a32 -
    -
    -
    -
    - Dark: -
    -
    - #f4f7fe -
    -
    -
    -
    - Light: -
    -
    - rgb(17,26,50) -
    -
    -
    -
    - Dark: -
    -
    - rgb(244,247,254) -
    +
    Light:
    +
    #111a32
    +
    +
    +
    Dark:
    +
    #f4f7fe
    +
    +
    +
    Light:
    +
    rgb(17,26,50)
    +
    +
    +
    Dark:
    +
    rgb(244,247,254)
    @@ -10581,110 +2167,20 @@
    H1050
    -
    - Light: -
    -
    - #16234f -
    -
    -
    -
    - Dark: -
    -
    - #e7edff -
    -
    -
    -
    - Light: -
    -
    - rgb(22,35,79) -
    -
    -
    -
    - Dark: -
    -
    - rgb(231,237,255) -
    +
    Light:
    +
    #16234f
    +
    +
    +
    Dark:
    +
    #e7edff
    +
    +
    +
    Light:
    +
    rgb(22,35,79)
    +
    +
    +
    Dark:
    +
    rgb(231,237,255)
    @@ -10694,110 +2190,20 @@
    H950
    -
    - Light: -
    -
    - #1a295d -
    -
    -
    -
    - Dark: -
    -
    - #cad6fe -
    -
    -
    -
    - Light: -
    -
    - rgb(26,41,93) -
    -
    -
    -
    - Dark: -
    -
    - rgb(202,214,254) -
    +
    Light:
    +
    #1a295d
    +
    +
    +
    Dark:
    +
    #cad6fe
    +
    +
    +
    Light:
    +
    rgb(26,41,93)
    +
    +
    +
    Dark:
    +
    rgb(202,214,254)
    @@ -10807,110 +2213,20 @@
    H850
    -
    - Light: -
    -
    - #23387c -
    -
    -
    -
    - Dark: -
    -
    - #a4b8fd -
    -
    -
    -
    - Light: -
    -
    - rgb(35,56,124) -
    -
    -
    -
    - Dark: -
    -
    - rgb(164,184,253) -
    +
    Light:
    +
    #23387c
    +
    +
    +
    Dark:
    +
    #a4b8fd
    +
    +
    +
    Light:
    +
    rgb(35,56,124)
    +
    +
    +
    Dark:
    +
    rgb(164,184,253)
    @@ -10920,110 +2236,20 @@
    H750
    -
    - Light: -
    -
    - #304daa -
    -
    -
    -
    - Dark: -
    -
    - #7d9bfd -
    -
    -
    -
    - Light: -
    -
    - rgb(48,77,170) -
    -
    -
    -
    - Dark: -
    -
    - rgb(125,155,253) -
    +
    Light:
    +
    #304daa
    +
    +
    +
    Dark:
    +
    #7d9bfd
    +
    +
    +
    Light:
    +
    rgb(48,77,170)
    +
    +
    +
    Dark:
    +
    rgb(125,155,253)
    @@ -11031,112 +2257,22 @@
    -
    H650
    -
    -
    - Light: -
    -
    - #3d63da -
    -
    -
    -
    - Dark: -
    -
    - #587df7 -
    -
    -
    -
    - Light: -
    -
    - rgb(61,99,218) -
    -
    -
    -
    - Dark: -
    -
    - rgb(88,125,247) -
    +
    H650
    +
    +
    Light:
    +
    #3d63da
    +
    +
    +
    Dark:
    +
    #587df7
    +
    +
    +
    Light:
    +
    rgb(61,99,218)
    +
    +
    +
    Dark:
    +
    rgb(88,125,247)
    @@ -11146,110 +2282,20 @@
    H550
    -
    - Light: -
    -
    - #587df7 -
    -
    -
    -
    - Dark: -
    -
    - #3d63da -
    -
    -
    -
    - Light: -
    -
    - rgb(88,125,247) -
    -
    -
    -
    - Dark: -
    -
    - rgb(61,99,218) -
    +
    Light:
    +
    #587df7
    +
    +
    +
    Dark:
    +
    #3d63da
    +
    +
    +
    Light:
    +
    rgb(88,125,247)
    +
    +
    +
    Dark:
    +
    rgb(61,99,218)
    @@ -11259,110 +2305,20 @@
    H450
    -
    - Light: -
    -
    - #7d9bfd -
    -
    -
    -
    - Dark: -
    -
    - #304daa -
    -
    -
    -
    - Light: -
    -
    - rgb(125,155,253) -
    -
    -
    -
    - Dark: -
    -
    - rgb(48,77,170) -
    +
    Light:
    +
    #7d9bfd
    +
    +
    +
    Dark:
    +
    #304daa
    +
    +
    +
    Light:
    +
    rgb(125,155,253)
    +
    +
    +
    Dark:
    +
    rgb(48,77,170)
    @@ -11372,110 +2328,20 @@
    H350
    -
    - Light: -
    -
    - #a4b8fd -
    -
    -
    -
    - Dark: -
    -
    - #23387c -
    -
    -
    -
    - Light: -
    -
    - rgb(164,184,253) -
    -
    -
    -
    - Dark: -
    -
    - rgb(35,56,124) -
    +
    Light:
    +
    #a4b8fd
    +
    +
    +
    Dark:
    +
    #23387c
    +
    +
    +
    Light:
    +
    rgb(164,184,253)
    +
    +
    +
    Dark:
    +
    rgb(35,56,124)
    @@ -11485,110 +2351,20 @@
    H250
    -
    - Light: -
    -
    - #cad6fe -
    -
    -
    -
    - Dark: -
    -
    - #1a295d -
    -
    -
    -
    - Light: -
    -
    - rgb(202,214,254) -
    -
    -
    -
    - Dark: -
    -
    - rgb(26,41,93) -
    +
    Light:
    +
    #cad6fe
    +
    +
    +
    Dark:
    +
    #1a295d
    +
    +
    +
    Light:
    +
    rgb(202,214,254)
    +
    +
    +
    Dark:
    +
    rgb(26,41,93)
    @@ -11598,110 +2374,20 @@
    H150
    -
    - Light: -
    -
    - #e7edff -
    -
    -
    -
    - Dark: -
    -
    - #16234f -
    -
    -
    -
    - Light: -
    -
    - rgb(231,237,255) -
    -
    -
    -
    - Dark: -
    -
    - rgb(22,35,79) -
    +
    Light:
    +
    #e7edff
    +
    +
    +
    Dark:
    +
    #16234f
    +
    +
    +
    Light:
    +
    rgb(231,237,255)
    +
    +
    +
    Dark:
    +
    rgb(22,35,79)
    @@ -11711,110 +2397,20 @@
    H50
    -
    - Light: -
    -
    - #f6f8ff -
    -
    -
    -
    - Dark: -
    -
    - #111a32 -
    -
    -
    -
    - Light: -
    -
    - rgb(246,248,255) -
    -
    -
    -
    - Dark: -
    -
    - rgb(17,26,50) -
    +
    Light:
    +
    #f6f8ff
    +
    +
    +
    Dark:
    +
    #111a32
    +
    +
    +
    Light:
    +
    rgb(246,248,255)
    +
    +
    +
    Dark:
    +
    rgb(17,26,50)
    @@ -11824,110 +2420,20 @@
    1100
    -
    - Light: -
    -
    - #132045 -
    -
    -
    -
    - Dark: -
    -
    - #f0f4ff -
    -
    -
    -
    - Light: -
    -
    - rgb(19,32,69) -
    -
    -
    -
    - Dark: -
    -
    - rgb(240,244,255) -
    +
    Light:
    +
    #132045
    +
    +
    +
    Dark:
    +
    #f0f4ff
    +
    +
    +
    Light:
    +
    rgb(19,32,69)
    +
    +
    +
    Dark:
    +
    rgb(240,244,255)
    @@ -11937,110 +2443,20 @@
    1000
    -
    - Light: -
    -
    - #182556 -
    -
    -
    -
    - Dark: -
    -
    - #d9e2ff -
    -
    -
    -
    - Light: -
    -
    - rgb(24,37,86) -
    -
    -
    -
    - Dark: -
    -
    - rgb(217,226,255) -
    +
    Light:
    +
    #182556
    +
    +
    +
    Dark:
    +
    #d9e2ff
    +
    +
    +
    Light:
    +
    rgb(24,37,86)
    +
    +
    +
    Dark:
    +
    rgb(217,226,255)
    @@ -12050,110 +2466,20 @@
    900
    -
    - Light: -
    -
    - #1b2b62 -
    -
    -
    -
    - Dark: -
    -
    - #b4c4fd -
    -
    -
    -
    - Light: -
    -
    - rgb(27,43,98) -
    -
    -
    -
    - Dark: -
    -
    - rgb(180,196,253) -
    +
    Light:
    +
    #1b2b62
    +
    +
    +
    Dark:
    +
    #b4c4fd
    +
    +
    +
    Light:
    +
    rgb(27,43,98)
    +
    +
    +
    Dark:
    +
    rgb(180,196,253)
    @@ -12163,110 +2489,20 @@
    800
    -
    - Light: -
    -
    - #28408d -
    -
    -
    -
    - Dark: -
    -
    - #8da7fd -
    -
    -
    -
    - Light: -
    -
    - rgb(40,64,141) -
    -
    -
    -
    - Dark: -
    -
    - rgb(141,167,253) -
    +
    Light:
    +
    #28408d
    +
    +
    +
    Dark:
    +
    #8da7fd
    +
    +
    +
    Light:
    +
    rgb(40,64,141)
    +
    +
    +
    Dark:
    +
    rgb(141,167,253)
    @@ -12276,110 +2512,20 @@
    700
    -
    - Light: -
    -
    - #3555bd -
    -
    -
    -
    - Dark: -
    -
    - #6689fd -
    -
    -
    -
    - Light: -
    -
    - rgb(53,85,189) -
    -
    -
    -
    - Dark: -
    -
    - rgb(102,137,253) -
    +
    Light:
    +
    #3555bd
    +
    +
    +
    Dark:
    +
    #6689fd
    +
    +
    +
    Light:
    +
    rgb(53,85,189)
    +
    +
    +
    Dark:
    +
    rgb(102,137,253)
    @@ -12389,110 +2535,20 @@
    600
    -
    - Light: -
    -
    - #436cee -
    -
    -
    -
    - Dark: -
    -
    - #436cee -
    -
    -
    -
    - Light: -
    -
    - rgb(67,108,238) -
    -
    -
    -
    - Dark: -
    -
    - rgb(67,108,238) -
    +
    Light:
    +
    #436cee
    +
    +
    +
    Dark:
    +
    #436cee
    +
    +
    +
    Light:
    +
    rgb(67,108,238)
    +
    +
    +
    Dark:
    +
    rgb(67,108,238)
    @@ -12502,110 +2558,20 @@
    500
    -
    - Light: -
    -
    - #6689fd -
    -
    -
    -
    - Dark: -
    -
    - #3555bd -
    -
    -
    -
    - Light: -
    -
    - rgb(102,137,253) -
    -
    -
    -
    - Dark: -
    -
    - rgb(53,85,189) -
    +
    Light:
    +
    #6689fd
    +
    +
    +
    Dark:
    +
    #3555bd
    +
    +
    +
    Light:
    +
    rgb(102,137,253)
    +
    +
    +
    Dark:
    +
    rgb(53,85,189)
    @@ -12615,110 +2581,20 @@
    400
    -
    - Light: -
    -
    - #8da7fd -
    -
    -
    -
    - Dark: -
    -
    - #28408d -
    -
    -
    -
    - Light: -
    -
    - rgb(141,167,253) -
    -
    -
    -
    - Dark: -
    -
    - rgb(40,64,141) -
    +
    Light:
    +
    #8da7fd
    +
    +
    +
    Dark:
    +
    #28408d
    +
    +
    +
    Light:
    +
    rgb(141,167,253)
    +
    +
    +
    Dark:
    +
    rgb(40,64,141)
    @@ -12728,110 +2604,20 @@
    300
    -
    - Light: -
    -
    - #b4c4fd -
    -
    -
    -
    - Dark: -
    -
    - #1b2b62 -
    -
    -
    -
    - Light: -
    -
    - rgb(180,196,253) -
    -
    -
    -
    - Dark: -
    -
    - rgb(27,43,98) -
    +
    Light:
    +
    #b4c4fd
    +
    +
    +
    Dark:
    +
    #1b2b62
    +
    +
    +
    Light:
    +
    rgb(180,196,253)
    +
    +
    +
    Dark:
    +
    rgb(27,43,98)
    @@ -12841,110 +2627,20 @@
    200
    -
    - Light: -
    -
    - #d9e2ff -
    -
    -
    -
    - Dark: -
    -
    - #182556 -
    -
    -
    -
    - Light: -
    -
    - rgb(217,226,255) -
    -
    -
    -
    - Dark: -
    -
    - rgb(24,37,86) -
    +
    Light:
    +
    #d9e2ff
    +
    +
    +
    Dark:
    +
    #182556
    +
    +
    +
    Light:
    +
    rgb(217,226,255)
    +
    +
    +
    Dark:
    +
    rgb(24,37,86)
    @@ -12954,127 +2650,26 @@
    100
    -
    - Light: -
    -
    - #f0f4ff -
    -
    -
    -
    - Dark: -
    -
    - #132045 -
    -
    -
    -
    - Light: -
    -
    - rgb(240,244,255) -
    -
    -
    -
    - Dark: -
    -
    - rgb(19,32,69) -
    +
    Light:
    +
    #f0f4ff
    +
    +
    +
    Dark:
    +
    #132045
    +
    +
    +
    Light:
    +
    rgb(240,244,255)
    +
    +
    +
    Dark:
    +
    rgb(19,32,69)
    -
    - Gray -
    +
    Gray
    @@ -13083,110 +2678,20 @@
    H1150
    -
    - Light: -
    -
    - #181b22 -
    -
    -
    -
    - Dark: -
    -
    - #f8f8f9 -
    -
    -
    -
    - Light: -
    -
    - rgb(24,27,34) -
    -
    -
    -
    - Dark: -
    -
    - rgb(248,248,249) -
    +
    Light:
    +
    #181b22
    +
    +
    +
    Dark:
    +
    #f8f8f9
    +
    +
    +
    Light:
    +
    rgb(24,27,34)
    +
    +
    +
    Dark:
    +
    rgb(248,248,249)
    @@ -13196,110 +2701,20 @@
    H1050
    -
    - Light: -
    -
    - #222731 -
    -
    -
    -
    - Dark: -
    -
    - #ebedef -
    -
    -
    -
    - Light: -
    -
    - rgb(34,39,49) -
    -
    -
    -
    - Dark: -
    -
    - rgb(235,237,239) -
    +
    Light:
    +
    #222731
    +
    +
    +
    Dark:
    +
    #ebedef
    +
    +
    +
    Light:
    +
    rgb(34,39,49)
    +
    +
    +
    Dark:
    +
    rgb(235,237,239)
    @@ -13309,110 +2724,20 @@
    H950
    -
    - Light: -
    -
    - #292e3a -
    -
    -
    -
    - Dark: -
    -
    - #d4d8dd -
    -
    -
    -
    - Light: -
    -
    - rgb(41,46,58) -
    -
    -
    -
    - Dark: -
    -
    - rgb(212,216,221) -
    +
    Light:
    +
    #292e3a
    +
    +
    +
    Dark:
    +
    #d4d8dd
    +
    +
    +
    Light:
    +
    rgb(41,46,58)
    +
    +
    +
    Dark:
    +
    rgb(212,216,221)
    @@ -13422,110 +2747,20 @@
    H850
    -
    - Light: -
    -
    - #373e4e -
    -
    -
    -
    - Dark: -
    -
    - #b7bcc6 -
    -
    -
    -
    - Light: -
    -
    - rgb(55,62,78) -
    -
    -
    -
    - Dark: -
    -
    - rgb(183,188,198) -
    +
    Light:
    +
    #373e4e
    +
    +
    +
    Dark:
    +
    #b7bcc6
    +
    +
    +
    Light:
    +
    rgb(55,62,78)
    +
    +
    +
    Dark:
    +
    rgb(183,188,198)
    @@ -13535,110 +2770,20 @@
    H750
    -
    - Light: -
    -
    - #4c556b -
    -
    -
    -
    - Dark: -
    -
    - #9ba1af -
    -
    -
    -
    - Light: -
    -
    - rgb(76,85,107) -
    -
    -
    -
    - Dark: -
    -
    - rgb(155,161,175) -
    +
    Light:
    +
    #4c556b
    +
    +
    +
    Dark:
    +
    #9ba1af
    +
    +
    +
    Light:
    +
    rgb(76,85,107)
    +
    +
    +
    Dark:
    +
    rgb(155,161,175)
    @@ -13648,110 +2793,20 @@
    H650
    -
    - Light: -
    -
    - #646d84 -
    -
    -
    -
    - Dark: -
    -
    - #7e8799 -
    -
    -
    -
    - Light: -
    -
    - rgb(100,109,132) -
    -
    -
    -
    - Dark: -
    -
    - rgb(126,135,153) -
    +
    Light:
    +
    #646d84
    +
    +
    +
    Dark:
    +
    #7e8799
    +
    +
    +
    Light:
    +
    rgb(100,109,132)
    +
    +
    +
    Dark:
    +
    rgb(126,135,153)
    @@ -13761,110 +2816,20 @@
    H550
    -
    - Light: -
    -
    - #7e8799 -
    -
    -
    -
    - Dark: -
    -
    - #646d84 -
    -
    -
    -
    - Light: -
    -
    - rgb(126,135,153) -
    -
    -
    -
    - Dark: -
    -
    - rgb(100,109,132) -
    +
    Light:
    +
    #7e8799
    +
    +
    +
    Dark:
    +
    #646d84
    +
    +
    +
    Light:
    +
    rgb(126,135,153)
    +
    +
    +
    Dark:
    +
    rgb(100,109,132)
    @@ -13874,110 +2839,20 @@
    H450
    -
    - Light: -
    -
    - #9ba1af -
    -
    -
    -
    - Dark: -
    -
    - #4c556b -
    -
    -
    -
    - Light: -
    -
    - rgb(155,161,175) -
    -
    -
    -
    - Dark: -
    -
    - rgb(76,85,107) -
    +
    Light:
    +
    #9ba1af
    +
    +
    +
    Dark:
    +
    #4c556b
    +
    +
    +
    Light:
    +
    rgb(155,161,175)
    +
    +
    +
    Dark:
    +
    rgb(76,85,107)
    @@ -13987,110 +2862,20 @@
    H350
    -
    - Light: -
    -
    - #b7bcc6 -
    -
    -
    -
    - Dark: -
    -
    - #373e4e -
    -
    -
    -
    - Light: -
    -
    - rgb(183,188,198) -
    -
    -
    -
    - Dark: -
    -
    - rgb(55,62,78) -
    +
    Light:
    +
    #b7bcc6
    +
    +
    +
    Dark:
    +
    #373e4e
    +
    +
    +
    Light:
    +
    rgb(183,188,198)
    +
    +
    +
    Dark:
    +
    rgb(55,62,78)
    @@ -14100,110 +2885,20 @@
    H250
    -
    - Light: -
    -
    - #d4d8dd -
    -
    -
    -
    - Dark: -
    -
    - #292e3a -
    -
    -
    -
    - Light: -
    -
    - rgb(212,216,221) -
    -
    -
    -
    - Dark: -
    -
    - rgb(41,46,58) -
    +
    Light:
    +
    #d4d8dd
    +
    +
    +
    Dark:
    +
    #292e3a
    +
    +
    +
    Light:
    +
    rgb(212,216,221)
    +
    +
    +
    Dark:
    +
    rgb(41,46,58)
    @@ -14213,110 +2908,20 @@
    H150
    -
    - Light: -
    -
    - #ebedef -
    -
    -
    -
    - Dark: -
    -
    - #222731 -
    -
    -
    -
    - Light: -
    -
    - rgb(235,237,239) -
    -
    -
    -
    - Dark: -
    -
    - rgb(34,39,49) -
    +
    Light:
    +
    #ebedef
    +
    +
    +
    Dark:
    +
    #222731
    +
    +
    +
    Light:
    +
    rgb(235,237,239)
    +
    +
    +
    Dark:
    +
    rgb(34,39,49)
    @@ -14326,110 +2931,20 @@
    H50
    -
    - Light: -
    -
    - #f8f8f9 -
    -
    -
    -
    - Dark: -
    -
    - #181b22 -
    -
    -
    -
    - Light: -
    -
    - rgb(248,248,249) -
    -
    -
    -
    - Dark: -
    -
    - rgb(24,27,34) -
    +
    Light:
    +
    #f8f8f9
    +
    +
    +
    Dark:
    +
    #181b22
    +
    +
    +
    Light:
    +
    rgb(248,248,249)
    +
    +
    +
    Dark:
    +
    rgb(24,27,34)
    @@ -14439,110 +2954,20 @@
    1100
    -
    - Light: -
    -
    - #1e222a -
    -
    -
    -
    - Dark: -
    -
    - #f3f4f5 -
    -
    -
    -
    - Light: -
    -
    - rgb(30,34,42) -
    -
    -
    -
    - Dark: -
    -
    - rgb(243,244,245) -
    +
    Light:
    +
    #1e222a
    +
    +
    +
    Dark:
    +
    #f3f4f5
    +
    +
    +
    Light:
    +
    rgb(30,34,42)
    +
    +
    +
    Dark:
    +
    rgb(243,244,245)
    @@ -14552,110 +2977,20 @@
    1000
    -
    - Light: -
    -
    - #252a35 -
    -
    -
    -
    - Dark: -
    -
    - #e0e3e7 -
    -
    -
    -
    - Light: -
    -
    - rgb(37,42,53) -
    -
    -
    -
    - Dark: -
    -
    - rgb(224,227,231) -
    +
    Light:
    +
    #252a35
    +
    +
    +
    Dark:
    +
    #e0e3e7
    +
    +
    +
    Light:
    +
    rgb(37,42,53)
    +
    +
    +
    Dark:
    +
    rgb(224,227,231)
    @@ -14665,110 +3000,20 @@
    900
    -
    - Light: -
    -
    - #2c313d -
    -
    -
    -
    - Dark: -
    -
    - #c3c7cf -
    -
    -
    -
    - Light: -
    -
    - rgb(44,49,61) -
    -
    -
    -
    - Dark: -
    -
    - rgb(195,199,207) -
    +
    Light:
    +
    #2c313d
    +
    +
    +
    Dark:
    +
    #c3c7cf
    +
    +
    +
    Light:
    +
    rgb(44,49,61)
    +
    +
    +
    Dark:
    +
    rgb(195,199,207)
    @@ -14778,110 +3023,20 @@
    800
    -
    - Light: -
    -
    - #3f4759 -
    -
    -
    -
    - Dark: -
    -
    - #a7acb8 -
    -
    -
    -
    - Light: -
    -
    - rgb(63,71,89) -
    -
    -
    -
    - Dark: -
    -
    - rgb(167,172,184) -
    +
    Light:
    +
    #3f4759
    +
    +
    +
    Dark:
    +
    #a7acb8
    +
    +
    +
    Light:
    +
    rgb(63,71,89)
    +
    +
    +
    Dark:
    +
    rgb(167,172,184)
    @@ -14891,110 +3046,20 @@
    700
    -
    - Light: -
    -
    - #545f77 -
    -
    -
    -
    - Dark: -
    -
    - #8a91a2 -
    -
    -
    -
    - Light: -
    -
    - rgb(84,95,119) -
    -
    -
    -
    - Dark: -
    -
    - rgb(138,145,162) -
    +
    Light:
    +
    #545f77
    +
    +
    +
    Dark:
    +
    #8a91a2
    +
    +
    +
    Light:
    +
    rgb(84,95,119)
    +
    +
    +
    Dark:
    +
    rgb(138,145,162)
    @@ -15004,110 +3069,20 @@
    600
    -
    - Light: -
    -
    - #6e778c -
    -
    -
    -
    - Dark: -
    -
    - #6e778c -
    -
    -
    -
    - Light: -
    -
    - rgb(110,119,140) -
    -
    -
    -
    - Dark: -
    -
    - rgb(110,119,140) -
    +
    Light:
    +
    #6e778c
    +
    +
    +
    Dark:
    +
    #6e778c
    +
    +
    +
    Light:
    +
    rgb(110,119,140)
    +
    +
    +
    Dark:
    +
    rgb(110,119,140)
    @@ -15117,110 +3092,20 @@
    500
    -
    - Light: -
    -
    - #8a91a2 -
    -
    -
    -
    - Dark: -
    -
    - #545f77 -
    -
    -
    -
    - Light: -
    -
    - rgb(138,145,162) -
    -
    -
    -
    - Dark: -
    -
    - rgb(84,95,119) -
    +
    Light:
    +
    #8a91a2
    +
    +
    +
    Dark:
    +
    #545f77
    +
    +
    +
    Light:
    +
    rgb(138,145,162)
    +
    +
    +
    Dark:
    +
    rgb(84,95,119)
    @@ -15230,110 +3115,20 @@
    400
    -
    - Light: -
    -
    - #a7acb8 -
    -
    -
    -
    - Dark: -
    -
    - #3f4759 -
    -
    -
    -
    - Light: -
    -
    - rgb(167,172,184) -
    -
    -
    -
    - Dark: -
    -
    - rgb(63,71,89) -
    +
    Light:
    +
    #a7acb8
    +
    +
    +
    Dark:
    +
    #3f4759
    +
    +
    +
    Light:
    +
    rgb(167,172,184)
    +
    +
    +
    Dark:
    +
    rgb(63,71,89)
    @@ -15343,110 +3138,20 @@
    300
    -
    - Light: -
    -
    - #c3c7cf -
    -
    -
    -
    - Dark: -
    -
    - #2c313d -
    -
    -
    -
    - Light: -
    -
    - rgb(195,199,207) -
    -
    -
    -
    - Dark: -
    -
    - rgb(44,49,61) -
    +
    Light:
    +
    #c3c7cf
    +
    +
    +
    Dark:
    +
    #2c313d
    +
    +
    +
    Light:
    +
    rgb(195,199,207)
    +
    +
    +
    Dark:
    +
    rgb(44,49,61)
    @@ -15456,110 +3161,20 @@
    200
    -
    - Light: -
    -
    - #e0e3e7 -
    -
    -
    -
    - Dark: -
    -
    - #252a35 -
    -
    -
    -
    - Light: -
    -
    - rgb(224,227,231) -
    -
    -
    -
    - Dark: -
    -
    - rgb(37,42,53) -
    +
    Light:
    +
    #e0e3e7
    +
    +
    +
    Dark:
    +
    #252a35
    +
    +
    +
    Light:
    +
    rgb(224,227,231)
    +
    +
    +
    Dark:
    +
    rgb(37,42,53)
    @@ -15569,110 +3184,20 @@
    100
    -
    - Light: -
    -
    - #f3f4f5 -
    -
    -
    -
    - Dark: -
    -
    - #1e222a -
    -
    -
    -
    - Light: -
    -
    - rgb(243,244,245) -
    -
    -
    -
    - Dark: -
    -
    - rgb(30,34,42) -
    +
    Light:
    +
    #f3f4f5
    +
    +
    +
    Dark:
    +
    #1e222a
    +
    +
    +
    Light:
    +
    rgb(243,244,245)
    +
    +
    +
    Dark:
    +
    rgb(30,34,42)
    @@ -15686,110 +3211,20 @@
    1200
    -
    - Light: -
    -
    - #0f1115 -
    -
    -
    -
    - Dark: -
    -
    - #ffffff -
    -
    -
    -
    - Light: -
    -
    - rgb(15,17,21) -
    -
    -
    -
    - Dark: -
    -
    - rgb(255,255,255) -
    +
    Light:
    +
    #0f1115
    +
    +
    +
    Dark:
    +
    #ffffff
    +
    +
    +
    Light:
    +
    rgb(15,17,21)
    +
    +
    +
    Dark:
    +
    rgb(255,255,255)
    @@ -15799,110 +3234,20 @@
    0
    -
    - Light: -
    -
    - #ffffff -
    -
    -
    -
    - Dark: -
    -
    - #0f1115 -
    -
    -
    -
    - Light: -
    -
    - rgb(255,255,255) -
    -
    -
    -
    - Dark: -
    -
    - rgb(15,17,21) -
    +
    Light:
    +
    #ffffff
    +
    +
    +
    Dark:
    +
    #0f1115
    +
    +
    +
    Light:
    +
    rgb(255,255,255)
    +
    +
    +
    Dark:
    +
    rgb(15,17,21)
    diff --git a/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.css b/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.css index cb713ae3b9..7f32a4d586 100644 --- a/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.css +++ b/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.css @@ -74,3 +74,21 @@ line-height: 20px; word-wrap: break-word; } + +.description-text-header { + color: var(--prizm-v3-text-icon-primary); + font-size: 16px; + font-family: Inter; + font-weight: 400; + line-height: 20px; + word-wrap: break-word; +} + +.description-text { + flex: 1 1 0; + color: var(--prizm-v3-text-icon-secondary); + font-size: 16px; + font-family: Inter; + font-weight: 500; + line-height: 20px; +} diff --git a/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.html b/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.html index c252e381ca..9a759073ec 100644 --- a/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.html +++ b/apps/doc/src/app/guidelines/colors/components/theme-colors/theme-colors.component.html @@ -9,14 +9,14 @@
    Disable
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: Gray/300
    +
    alias: Gray/300
    -
    Token: --prizm-v3-button-disable
    +
    Token: --prizm-v3-button-disable
    @@ -27,14 +27,14 @@
    Ghost-Hover
    Light:
    -
    alias: Gray/H150
    +
    alias: Gray/H150
    Dark:
    350
    -
    Token: --prizm-v3-button-ghost-hover
    +
    Token: --prizm-v3-button-ghost-hover
    @@ -45,14 +45,14 @@
    Alarm-Ghost-Active
    Light:
    -
    alias: Red/200
    +
    alias: Red/200
    Dark:
    -
    alias: Red/400
    +
    alias: Red/400
    -
    Token: --prizm-v3-button-alarm-ghost-active
    +
    Token: --prizm-v3-button-alarm-ghost-active
    @@ -63,14 +63,14 @@
    Alarm-Solid-Active
    Light:
    -
    alias: Red/700
    +
    alias: Red/700
    Dark:
    -
    alias: Red/700
    +
    alias: Red/700
    -
    Token: -prizm-v3-button-alarm-solid-active
    +
    Token: -prizm-v3-button-alarm-solid-active
    @@ -81,14 +81,14 @@
    Alarm-Solid-Hover
    Light:
    -
    alias: Red/H650
    +
    alias: Red/H650
    Dark:
    -
    alias: Red/H650
    +
    alias: Red/H650
    -
    Token: -prizm-v3-button-alarm-solid-hover
    +
    Token: -prizm-v3-button-alarm-solid-hover
    @@ -99,14 +99,14 @@
    Alarm-Solid-Default
    Light:
    -
    alias: Red/600
    +
    alias: Red/600
    Dark:
    -
    alias: Red/600
    +
    alias: Red/600
    -
    Token: -prizm-v3-button-alarm-solid-default
    +
    Token: -prizm-v3-button-alarm-solid-default
    @@ -117,14 +117,14 @@
    Warning-Ghost-Active
    Light:
    -
    alias: Orange/200
    +
    alias: Orange/200
    Dark:
    -
    alias: Orange/400
    +
    alias: Orange/400
    -
    Token: --prizm-v3-button-warning-ghost-active
    +
    Token: --prizm-v3-button-warning-ghost-active
    @@ -135,14 +135,14 @@
    Warning-Solid-Active
    Light:
    -
    alias: Orange/500
    +
    alias: Orange/500
    Dark:
    -
    alias: Orange/900
    +
    alias: Orange/900
    -
    Token: --prizm-v3-button-warning-solid-active
    +
    Token: --prizm-v3-button-warning-solid-active
    @@ -153,14 +153,14 @@
    Warning-Solid-Hover
    Light:
    -
    alias: Orange/H450
    +
    alias: Orange/H450
    Dark:
    -
    alias: Orange/H850
    +
    alias: Orange/H850
    -
    Token: --prizm-v3-button-warning-solid-hover
    +
    Token: --prizm-v3-button-warning-solid-hover
    @@ -171,14 +171,14 @@
    Warning-Solid-Default
    Light:
    -
    alias: Orange/400
    +
    alias: Orange/400
    Dark:
    -
    alias: Orange/800
    +
    alias: Orange/800
    -
    Token: --prizm-v3-button-warning-solid-default
    +
    Token: --prizm-v3-button-warning-solid-default
    @@ -189,14 +189,14 @@
    Success-Ghost-Active
    Light:
    -
    alias: Green/200
    +
    alias: Green/200
    Dark:
    -
    alias: Green/400
    +
    alias: Green/400
    -
    Token: --prizm-v3-button-success-ghost-active
    +
    Token: --prizm-v3-button-success-ghost-active
    @@ -207,14 +207,14 @@
    Success-Solid-Active
    Light:
    -
    alias: Green/700
    +
    alias: Green/700
    Dark:
    -
    alias: Green/700
    +
    alias: Green/700
    -
    Token: --prizm-v3-button-success-solid-active
    +
    Token: --prizm-v3-button-success-solid-active
    @@ -225,14 +225,14 @@
    Success-Solid-Hover
    Light:
    -
    alias: Green/H650
    +
    alias: Green/H650
    Dark:
    -
    alias: Green/H650
    +
    alias: Green/H650
    -
    Token: --prizm-v3-button-success-solid-hover
    +
    Token: --prizm-v3-button-success-solid-hover
    @@ -243,14 +243,14 @@
    Success-Solid-Default
    Light:
    -
    alias: Green/600
    +
    alias: Green/600
    Dark:
    -
    alias: Green/600
    +
    alias: Green/600
    -
    Token: --prizm-v3-button-success-solid-default
    +
    Token: --prizm-v3-button-success-solid-default
    @@ -261,14 +261,14 @@
    Secondary-Ghost-Active
    Light:
    -
    alias: Gray/200
    +
    alias: Gray/200
    Dark:
    -
    alias: Gray/400
    +
    alias: Gray/400
    -
    Token: --prizm-v3-button-secondary-ghost-active
    +
    Token: --prizm-v3-button-secondary-ghost-active
    @@ -279,14 +279,14 @@
    Secondary-Solid-Active
    Light:
    -
    alias: Gray/700
    +
    alias: Gray/700
    Dark:
    -
    alias: Gray/700
    +
    alias: Gray/700
    -
    Token: --prizm-v3-button-secondary-solid-active
    +
    Token: --prizm-v3-button-secondary-solid-active
    @@ -297,14 +297,14 @@
    Secondary-Solid-Hover
    Light:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    Dark:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    -
    Token: --prizm-v3-button-secondary-solid-hover
    +
    Token: --prizm-v3-button-secondary-solid-hover
    @@ -315,14 +315,14 @@
    Secondary-Solid-Default
    Light:
    -
    alias: Gray/600
    +
    alias: Gray/600
    Dark:
    -
    alias: Gray/600
    +
    alias: Gray/600
    -
    Token: --prizm-v3-button-secondary-solid-default
    +
    Token: --prizm-v3-button-secondary-solid-default
    @@ -333,14 +333,14 @@
    Primary-Ghost-Active
    Light:
    -
    alias: Blue/200
    +
    alias: Blue/200
    Dark:
    -
    alias: Blue/400
    +
    alias: Blue/400
    -
    Token: --prizm-v3-button-primary-ghost-active
    +
    Token: --prizm-v3-button-primary-ghost-active
    @@ -351,14 +351,14 @@
    Primary-Solid-Active
    Light:
    -
    alias: Blue/700
    +
    alias: Blue/700
    Dark:
    -
    alias: Blue/700
    +
    alias: Blue/700
    -
    Token: --prizm-v3-button-primary-solid-active
    +
    Token: --prizm-v3-button-primary-solid-active
    @@ -369,14 +369,14 @@
    Primary-Solid-Hover
    Light:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    Dark:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    -
    Token: --prizm-v3-button-primary-solid-hover
    +
    Token: --prizm-v3-button-primary-solid-hover
    @@ -387,14 +387,14 @@
    Primary-Solid-Default
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/600
    +
    alias: Blue/600
    -
    Token: --prizm-v3-button-primary-solid-default
    +
    Token: --prizm-v3-button-primary-solid-default
    @@ -410,14 +410,14 @@
    Active-Disable
    Light:
    -
    alias: Blue/400
    +
    alias: Blue/400
    Dark:
    -
    alias: Blue/400
    +
    alias: Blue/400
    -
    Token: --prizm-v3-form-active-disable
    +
    Token: --prizm-v3-form-active-disable
    @@ -428,14 +428,14 @@
    Active-Hover
    Light:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    Dark:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    -
    Token: --prizm-v3-form-active-hover
    +
    Token: --prizm-v3-form-active-hover
    @@ -446,14 +446,14 @@
    Active
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/600
    +
    alias: Blue/600
    -
    Token: --prizm-v3-form-active
    +
    Token: --prizm-v3-form-active
    @@ -464,14 +464,14 @@
    Stroke-Disable
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: 1200
    +
    alias: 1200
    -
    Token: --prizm-v3-form-stroke-disable
    +
    Token: --prizm-v3-form-stroke-disable
    @@ -482,14 +482,14 @@
    Stroke-Hover
    Light:
    -
    alias: Gray/H450
    +
    alias: Gray/H450
    Dark:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    -
    Token: --prizm-v3-form-stroke-hover
    +
    Token: --prizm-v3-form-stroke-hover
    @@ -500,14 +500,14 @@
    Stroke-Default
    Light:
    -
    alias: Gray/300
    +
    alias: Gray/300
    Dark:
    -
    alias: Gray/500
    +
    alias: Gray/500
    -
    Token: --prizm-v3-form-stroke-default
    +
    Token: --prizm-v3-form-stroke-default
    @@ -518,14 +518,14 @@
    Fill-Disable
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: 0
    +
    alias: 0
    -
    Token: --prizm-v3-form-fill-disable
    +
    Token: --prizm-v3-form-fill-disable
    @@ -536,14 +536,14 @@
    Fill-Default
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: 0
    +
    alias: 0
    -
    Token: --prizm-v3-form-fill-default
    +
    Token: --prizm-v3-form-fill-default
    @@ -565,84 +565,22 @@
    Fill-Blanket
    Light:
    -
    - #0f111580 -
    +
    #0f111580
    Dark:
    -
    - #0f111580 -
    +
    #0f111580
    -
    Token: --prizm-v3-background-fill-blanket
    +
    Token: --prizm-v3-background-fill-blanket
    -
    +
    Light:
    -
    - rgba(15,17,21,0.5) -
    -
    -
    +
    rgba(15,17,21,0.5)
    +
    +
    Dark:
    -
    - rgba(15,17,21,0.5) -
    +
    rgba(15,17,21,0.5)
    @@ -653,14 +591,14 @@
    Fill-Overlay
    Light:
    -
    alias: 0
    +
    alias: 0
    Dark:
    -
    alias: Gray/200
    +
    alias: Gray/200
    -
    Token: --prizm-v3-background-fill-overlay
    +
    Token: --prizm-v3-background-fill-overlay
    @@ -671,14 +609,14 @@
    Fill-Panel
    Light:
    -
    alias: 0
    +
    alias: 0
    Dark:
    -
    alias: Gray/300
    +
    alias: Gray/300
    -
    Token: --prizm-v3-background-fill-panel
    +
    Token: --prizm-v3-background-fill-panel
    @@ -689,14 +627,14 @@
    Stroke-Focus
    Light:
    -
    alias: Blue/400
    +
    alias: Blue/400
    Dark:
    -
    alias: Blue/800
    +
    alias: Blue/800
    -
    Token: --prizm-v3-background-stroke-focus
    +
    Token: --prizm-v3-background-stroke-focus
    @@ -707,14 +645,14 @@
    Stroke
    Light:
    -
    alias: Gray/200
    +
    alias: Gray/200
    Dark:
    -
    alias: Gray/400
    +
    alias: Gray/400
    -
    Token: --prizm-v3-background-stroke
    +
    Token: --prizm-v3-background-stroke
    @@ -725,14 +663,14 @@
    Fill-Revers
    Light:
    -
    alias: Gray/1100
    +
    alias: Gray/1100
    Dark:
    -
    alias: Gray/100
    +
    alias: Gray/100
    -
    Token: --prizm-v3-background-fill-reverse
    +
    Token: --prizm-v3-background-fill-reverse
    @@ -743,14 +681,14 @@
    Fill-Secondary
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: 1200
    +
    alias: 1200
    -
    Token: --prizm-v3-background-fill-secondary
    +
    Token: --prizm-v3-background-fill-secondary
    @@ -761,14 +699,14 @@
    Fill-Primary
    Light:
    -
    alias: 0
    +
    alias: 0
    Dark:
    -
    alias: Gray/100
    +
    alias: Gray/100
    -
    Token: --prizm-v3-background-fill-primary
    +
    Token: --prizm-v3-background-fill-primary
    @@ -784,14 +722,14 @@
    Link-Visited
    Light:
    -
    alias: Blue/400
    +
    alias: Blue/400
    Dark:
    -
    alias: Blue/500
    +
    alias: Blue/500
    -
    Token: --prizm-v3-text-icon-link-visited
    +
    Token: --prizm-v3-text-icon-link-visited
    @@ -802,14 +740,14 @@
    Link-Hover
    Light:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    Dark:
    -
    alias: Blue/H750
    +
    alias: Blue/H750
    -
    Token: --prizm-v3-text-icon-link-hover
    +
    Token: --prizm-v3-text-icon-link-hover
    @@ -820,14 +758,14 @@
    Exception
    Light:
    -
    alias: 0
    +
    alias: 0
    Dark:
    -
    alias: 1200
    +
    alias: 1200
    -
    Token: --prizm-v3-text-icon-exception
    +
    Token: --prizm-v3-text-icon-exception
    @@ -838,14 +776,14 @@
    Revers
    Light:
    -
    alias: 0
    +
    alias: 0
    Dark:
    -
    alias: 0
    +
    alias: 0
    -
    Token: --prizm-v3-text-icon-reverse
    +
    Token: --prizm-v3-text-icon-reverse
    @@ -856,14 +794,14 @@
    Link
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/700
    +
    alias: Blue/700
    -
    Token: --prizm-v3-text-icon-link
    +
    Token: --prizm-v3-text-icon-link
    @@ -874,14 +812,14 @@
    Disable
    Light:
    -
    alias: Gray/400
    +
    alias: Gray/400
    Dark:
    -
    alias: Gray/500
    +
    alias: Gray/500
    -
    Token: --prizm-v3-text-icon-disable
    +
    Token: --prizm-v3-text-icon-disable
    @@ -892,14 +830,14 @@
    Tertiary
    Light:
    -
    alias: Gray/600
    +
    alias: Gray/600
    Dark:
    -
    alias: Gray/600
    +
    alias: Gray/600
    -
    Token: --prizm-v3-text-icon-tertiary
    +
    Token: --prizm-v3-text-icon-tertiary
    @@ -910,14 +848,14 @@
    Secondary
    Light:
    -
    alias: Gray/800
    +
    alias: Gray/800
    Dark:
    -
    alias: Gray/800
    +
    alias: Gray/800
    -
    Token: --prizm-v3-text-icon-secondary
    +
    Token: --prizm-v3-text-icon-secondary
    @@ -928,14 +866,14 @@
    Primary
    Light:
    -
    alias: 1200
    +
    alias: 1200
    Dark:
    -
    alias: 1200
    +
    alias: 1200
    -
    Token: --prizm-v3-text-icon-primary
    +
    Token: --prizm-v3-text-icon-primary
    @@ -951,14 +889,14 @@
    Stroke-Cell-Hover
    Light:
    -
    alias: Gray/H450
    +
    alias: Gray/H450
    Dark:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    -
    Token: --prizm-v3-table-stroke-cell-hover
    +
    Token: --prizm-v3-table-stroke-cell-hover
    @@ -969,14 +907,14 @@
    Fill-Row-Active
    Light:
    -
    alias: Blue/200
    +
    alias: Blue/200
    Dark:
    -
    alias: Blue/400
    +
    alias: Blue/400
    -
    Token: --prizm-v3-table-fill-row-active
    +
    Token: --prizm-v3-table-fill-row-active
    @@ -987,14 +925,14 @@
    Fill-Row-Hover
    Light:
    -
    alias: Gray/H150
    +
    alias: Gray/H150
    Dark:
    -
    alias: Gray/H250
    +
    alias: Gray/H250
    -
    Token: --prizm-v3-table-fill-row-hover
    +
    Token: --prizm-v3-table-fill-row-hover
    @@ -1005,14 +943,14 @@
    Fill-Header-Hover
    Light:
    -
    alias: Gray/H150
    +
    alias: Gray/H150
    Dark:
    -
    alias: Gray/H250
    +
    alias: Gray/H250
    -
    Token: --prizm-v3-table-fill-header-hover
    +
    Token: --prizm-v3-table-fill-header-hover
    @@ -1023,14 +961,14 @@
    Stroke-Cell-Active
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/600
    +
    alias: Blue/600
    -
    Token: --prizm-v3-table-stroke-cell-active
    +
    Token: --prizm-v3-table-stroke-cell-active
    @@ -1041,14 +979,14 @@
    Fill-Cell-Disable
    Light:
    -
    alias: Gray/200
    +
    alias: Gray/200
    Dark:
    -
    alias: Gray/300
    +
    alias: Gray/300
    -
    Token: --prizm-v3-table-fill-cell-disable
    +
    Token: --prizm-v3-table-fill-cell-disable
    @@ -1059,14 +997,14 @@
    Stroke-Cell-Default
    Light:
    -
    alias: Gray/200
    +
    alias: Gray/200
    Dark:
    -
    alias: Gray/400
    +
    alias: Gray/400
    -
    Token: --prizm-v3-table-stroke-cell-default
    +
    Token: --prizm-v3-table-stroke-cell-default
    @@ -1077,14 +1015,14 @@
    Fill-Header-Default
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: Gray/200
    +
    alias: Gray/200
    -
    Token: --prizm-v3-table-fill-header-default
    +
    Token: --prizm-v3-table-fill-header-default
    @@ -1095,14 +1033,14 @@
    Fill-Row-Zebra_Default
    Light:
    -
    alias: Gray/100
    +
    alias: Gray/100
    Dark:
    -
    alias: Gray/200
    +
    alias: Gray/200
    -
    Token: --prizm-v3-table-fill-row-zebra_default
    +
    Token: --prizm-v3-table-fill-row-zebra_default
    @@ -1118,14 +1056,14 @@
    Alarm-Secondary-Hover
    Light:
    -
    alias: Red/H250
    +
    alias: Red/H250
    Dark:
    -
    alias: Red/H350
    +
    alias: Red/H350
    -
    Token: --prizm-v3-status-alarm-secondary-hover
    +
    Token: --prizm-v3-status-alarm-secondary-hover
    @@ -1136,14 +1074,14 @@
    Alarm-Primary-Hover
    Light:
    -
    alias: Red/H650
    +
    alias: Red/H650
    Dark:
    -
    alias: Red/H650
    +
    alias: Red/H650
    -
    Token: --prizm-v3-status-alarm-primary-hover
    +
    Token: --prizm-v3-status-alarm-primary-hover
    @@ -1154,14 +1092,14 @@
    Warning-Secondary-Hover
    Light:
    -
    alias: Orange/H150
    +
    alias: Orange/H150
    Dark:
    -
    alias: Orange/H350
    +
    alias: Orange/H350
    -
    Token: --prizm-v3-status-warning-secondary-hover
    +
    Token: --prizm-v3-status-warning-secondary-hover
    @@ -1172,14 +1110,14 @@
    Warning-Primary-Hover
    Light:
    -
    alias: Orange/H450
    +
    alias: Orange/H450
    Dark:
    -
    alias: Orange/H850
    +
    alias: Orange/H850
    -
    Token: --prizm-v3-status-warning-primary-hover
    +
    Token: --prizm-v3-status-warning-primary-hover
    @@ -1190,14 +1128,14 @@
    Attention-Secondary-Hover
    Light:
    -
    alias: Yellow/H150
    +
    alias: Yellow/H150
    Dark:
    -
    alias: Yellow/H350
    +
    alias: Yellow/H350
    -
    Token: --prizm-v3-status-attention-secondary-hover
    +
    Token: --prizm-v3-status-attention-secondary-hover
    @@ -1208,14 +1146,14 @@
    Attention-Primary-Hover
    Light:
    -
    alias: Yellow/H350
    +
    alias: Yellow/H350
    Dark:
    -
    alias: Yellow/H950
    +
    alias: Yellow/H950
    -
    Token: --prizm-v3-status-attention-primary-hover
    +
    Token: --prizm-v3-status-attention-primary-hover
    @@ -1226,14 +1164,14 @@
    Success-Secondary-Hover
    Light:
    -
    alias: Green/H250
    +
    alias: Green/H250
    Dark:
    -
    alias: Green/H350
    +
    alias: Green/H350
    -
    Token: --prizm-v3-status-success-secondary-hover
    +
    Token: --prizm-v3-status-success-secondary-hover
    @@ -1244,14 +1182,14 @@
    Success-Primary-Hover
    Light:
    -
    alias: Green/H650
    +
    alias: Green/H650
    Dark:
    -
    alias: Green/H650
    +
    alias: Green/H650
    -
    Token: --prizm-v3-status-success-primary-hover
    +
    Token: --prizm-v3-status-success-primary-hover
    @@ -1262,14 +1200,14 @@
    None-Secondary-Hover
    Light:
    -
    alias: Gray/H250
    +
    alias: Gray/H250
    Dark:
    -
    alias: Gray/H350
    +
    alias: Gray/H350
    -
    Token: --prizm-v3-status-none-secondary-hover
    +
    Token: --prizm-v3-status-none-secondary-hover
    @@ -1280,14 +1218,14 @@
    None-Primary-Hover
    Light:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    Dark:
    -
    alias: Gray/H650
    +
    alias: Gray/H650
    -
    Token: --prizm-v3-status-none-primary-hover
    +
    Token: --prizm-v3-status-none-primary-hover
    @@ -1298,14 +1236,14 @@
    Info-Secondary-Hover
    Light:
    -
    alias: Blue/H250
    +
    alias: Blue/H250
    Dark:
    -
    alias: Blue/H350
    +
    alias: Blue/H350
    -
    Token: --prizm-v3-status-info-secondary-hover
    +
    Token: --prizm-v3-status-info-secondary-hover
    @@ -1316,14 +1254,14 @@
    Info-Primary-Hover
    Light:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    Dark:
    -
    alias: Blue/H650
    +
    alias: Blue/H650
    -
    Token: --prizm-v3-status-info-primary-hover
    +
    Token: --prizm-v3-status-info-primary-hover
    @@ -1334,14 +1272,14 @@
    Alarm-Secondary-Default
    Light:
    -
    alias: Red/200
    +
    alias: Red/200
    Dark:
    -
    alias: Red/300
    +
    alias: Red/300
    -
    Token: --prizm-v3-status-alarm-secondary-default
    +
    Token: --prizm-v3-status-alarm-secondary-default
    @@ -1352,14 +1290,14 @@
    Alarm-Primary-Default
    Light:
    -
    alias: Red/600
    +
    alias: Red/600
    Dark:
    -
    alias: Red/600
    +
    alias: Red/600
    -
    Token: --prizm-v3-status-alarm-primary-default
    +
    Token: --prizm-v3-status-alarm-primary-default
    @@ -1370,14 +1308,14 @@
    Warning-Secondary-Default
    Light:
    -
    alias: Orange/100
    +
    alias: Orange/100
    Dark:
    -
    alias: Orange/300
    +
    alias: Orange/300
    -
    Token: --prizm-v3-status-warning-secondary-default
    +
    Token: --prizm-v3-status-warning-secondary-default
    @@ -1388,14 +1326,14 @@
    Warning-Primary-Default
    Light:
    -
    alias: Orange/400
    +
    alias: Orange/400
    Dark:
    -
    alias: Orange/800
    +
    alias: Orange/800
    -
    Token: --prizm-v3-status-warning-primary-default
    +
    Token: --prizm-v3-status-warning-primary-default
    @@ -1406,14 +1344,14 @@
    Attention-Secondary-Default
    Light:
    -
    alias: Yellow/100
    +
    alias: Yellow/100
    Dark:
    -
    alias: Yellow/300
    +
    alias: Yellow/300
    -
    Token: --prizm-v3-status-attention-secondary-default
    +
    Token: --prizm-v3-status-attention-secondary-default
    @@ -1424,14 +1362,14 @@
    Attention-Primary-Default
    Light:
    -
    alias: Yellow/300
    +
    alias: Yellow/300
    Dark:
    -
    alias: Yellow/900
    +
    alias: Yellow/900
    -
    Token: --prizm-v3-status-attention-primary-default
    +
    Token: --prizm-v3-status-attention-primary-default
    @@ -1442,14 +1380,14 @@
    Success-Secondary-Default
    Light:
    -
    alias: Green/200
    +
    alias: Green/200
    Dark:
    -
    alias: Green/300
    +
    alias: Green/300
    -
    Token: --prizm-v3-status-success-secondary-default
    +
    Token: --prizm-v3-status-success-secondary-default
    @@ -1460,14 +1398,14 @@
    Success-Primary-Default
    Light:
    -
    alias: Green/600
    +
    alias: Green/600
    Dark:
    -
    alias: Green/600
    +
    alias: Green/600
    -
    Token: --prizm-v3-status-success-primary-default
    +
    Token: --prizm-v3-status-success-primary-default
    @@ -1478,14 +1416,14 @@
    None-Secondary-Default
    Light:
    -
    alias: Gray/200
    +
    alias: Gray/200
    Dark:
    -
    alias: Gray/300
    +
    alias: Gray/300
    -
    Token: --prizm-v3-status-none-secondary-default
    +
    Token: --prizm-v3-status-none-secondary-default
    @@ -1496,14 +1434,14 @@
    None-Primary-Default
    Light:
    -
    alias: Gray/600
    +
    alias: Gray/600
    Dark:
    -
    alias: Gray/600
    +
    alias: Gray/600
    -
    Token: --prizm-v3-status-none-primary-default
    +
    Token: --prizm-v3-status-none-primary-default
    @@ -1514,14 +1452,14 @@
    Info-Secondary-Default
    Light:
    -
    alias: Blue/200
    +
    alias: Blue/200
    Dark:
    -
    alias: Blue/300
    +
    alias: Blue/300
    -
    Token: --prizm-v3-status-info-secondary-default
    +
    Token: --prizm-v3-status-info-secondary-default
    @@ -1532,14 +1470,14 @@
    Info-Primary-Default
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/600
    +
    alias: Blue/600
    -
    Token: --prizm-v3-status-info-primary-default
    +
    Token: --prizm-v3-status-info-primary-default
    @@ -1555,14 +1493,14 @@
    Prognosis
    Light:
    -
    alias: Gray/600
    +
    alias: Gray/600
    Dark:
    -
    alias: Gray/600
    +
    alias: Gray/600
    -
    Token: --prizm-v3-index-prognosis
    +
    Token: --prizm-v3-index-prognosis
    @@ -1573,84 +1511,22 @@
    Fact
    Light:
    -
    - #20222b -
    +
    #20222b
    Dark:
    -
    - #ffffff -
    +
    #ffffff
    -
    Token: --prizm-v3-index-fact
    +
    Token: --prizm-v3-index-fact
    -
    +
    Light:
    -
    - rgb(32,34,43) -
    -
    -
    +
    rgb(32,34,43)
    +
    +
    Dark:
    -
    - rgb(255,255,255) -
    +
    rgb(255,255,255)
    @@ -1661,84 +1537,22 @@
    Plan
    Light:
    -
    - #0033ff -
    +
    #0033ff
    Dark:
    -
    - #4075ff -
    +
    #4075ff
    -
    Token: --prizm-v3-index-plan
    +
    Token: --prizm-v3-index-plan
    -
    +
    Light:
    -
    - rgb(0,51,255) -
    -
    -
    +
    rgb(0,51,255)
    +
    +
    Dark:
    -
    - rgb(64,117,255) -
    +
    rgb(64,117,255)
    @@ -1760,84 +1574,22 @@
    Axis-Area-Active
    Light:
    -
    - #436cee33 -
    +
    #436cee33
    Dark:
    -
    - #436cee33 -
    +
    #436cee33
    -
    Token: --prizm-v3-chart-axis-area-active
    +
    Token: --prizm-v3-chart-axis-area-active
    -
    +
    Light:
    -
    - rgba(67,108,238,0.2) -
    -
    -
    +
    rgba(67,108,238,0.2)
    +
    +
    Dark:
    -
    - rgba(67,108,238,0.2) -
    +
    rgba(67,108,238,0.2)
    @@ -1848,14 +1600,14 @@
    Axis-Line-Active
    Light:
    -
    alias: Blue/600
    +
    alias: Blue/600
    Dark:
    -
    alias: Blue/600
    +
    alias: Blue/600
    -
    Token: --prizm-v3-chart-axis-line-active
    +
    Token: --prizm-v3-chart-axis-line-active
    @@ -1866,14 +1618,14 @@
    Axis-Line-Hover
    Light:
    -
    alias: 1200
    +
    alias: 1200
    Dark:
    -
    alias: 1200
    +
    alias: 1200
    -
    Token: --prizm-v3-chart-axis-line-hover
    +
    Token: --prizm-v3-chart-axis-line-hover
    @@ -1894,84 +1646,22 @@
    Axis-Area-Hover
    Light:
    -
    - #8a91a233 -
    +
    #8a91a233
    Dark:
    -
    - #8a91a233 -
    +
    #8a91a233
    -
    Token: --prizm-v3-chart-axis-area-hover
    +
    Token: --prizm-v3-chart-axis-area-hover
    -
    +
    Light:
    -
    - rgba(138,145,162,0.2) -
    -
    -
    +
    rgba(138,145,162,0.2)
    +
    +
    Dark:
    -
    - rgba(138,145,162,0.2) -
    +
    rgba(138,145,162,0.2)
    @@ -1992,84 +1682,22 @@
    Fill-Blanket
    Light:
    -
    - #8a91a233 -
    +
    #8a91a233
    Dark:
    -
    - #8a91a233 -
    +
    #8a91a233
    -
    Token: --prizm-v3-chart-fill-blanket
    +
    Token: --prizm-v3-chart-fill-blanket
    -
    +
    Light:
    -
    - rgba(138,145,162,0.2) -
    -
    -
    +
    rgba(138,145,162,0.2)
    +
    +
    Dark:
    -
    - rgba(138,145,162,0.2) -
    +
    rgba(138,145,162,0.2)
    @@ -2080,14 +1708,45 @@
    Axis-Default
    Light:
    -
    alias: Gray/300
    +
    alias: Gray/300
    +
    +
    +
    Dark:
    +
    alias: Gray/300
    +
    +
    +
    Token: --prizm-v3-chart-axis-default
    +
    +
    +
    +
    +
    +
    Shadow
    +
    +
    +
    +
    +
    +
    +
    Shadow color
    +
    +
    Light:
    +
    rgba(191, 198, 215, 0.5)
    Dark:
    -
    alias: Gray/300
    +
    rgba(0, 0, 0, 0.5)
    -
    Token: --prizm-v3-chart-axis-default
    +
    Token: --prizm-v3-shadow-color
    diff --git a/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts b/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts index 04fab242fe..4f5392b133 100644 --- a/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts +++ b/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts @@ -459,6 +459,52 @@ export class ThemeForDesignersComponent { description: 'Заблокированная кнопка', variable: '--prizm-v3-button-disable', }, + { + groupName: 'Shadow', + name: 'Shadow', + description: 'Цвет теней', + variable: '--prizm-v3-shadow-color', + }, + { + name: 'Shadow-Big-Top', + description: 'Большая тень сверху', + variable: '--prizm-v3-shadow-big-top', + }, + { + name: 'Shadow-Big-Right', + description: 'Большая тень справа', + variable: '--prizm-v3-shadow-big-right', + }, + { + name: 'Shadow-Big-Left', + description: 'Большая тень слева', + variable: '--prizm-v3-shadow-big-left', + }, + { + name: 'Shadow-Big-Bottom', + description: 'Большая тень снизу', + variable: '--prizm-v3-shadow-big-bottom', + }, + { + name: 'Shadow-Mini-Top', + description: 'Маленькая тень сверху', + variable: '--prizm-v3-shadow-mini-top', + }, + { + name: 'Shadow-Mini-Right', + description: 'Маленькая тень справа', + variable: '--prizm-v3-shadow-mini-right', + }, + { + name: 'Shadow-Mini-Left', + description: 'Маленькая тень слева', + variable: '--prizm-v3-shadow-mini-left', + }, + { + name: 'Shadow-Mini-Bottom', + description: 'Маленькая тень снизу', + variable: '--prizm-v3-shadow-mini-bottom', + }, ]; constructor( diff --git a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css index 356c7bf5d7..ea84fd1db3 100644 --- a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css +++ b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css @@ -1,34 +1,15 @@ :host { display: contents; } -.frame4-frame4 { - min-width: 1150px; +.frame-paragraph { height: auto; display: flex; - padding: 56px; position: relative; align-self: stretch; - box-shadow: 0px 8px 32px 0px rgba(191, 198, 215, 0.5); align-items: flex-start; - border-color: rgba(191, 198, 215, 1); - border-style: solid; - border-width: 1px; - border-radius: 2px; flex-direction: column; - background-color: var(--dl-color-bg-body); } -.frame4-text { - font-size: 26px; - font-weight: 800; - color: rgba(51, 125, 254, 1); - height: auto; - align-self: auto; - text-align: left; - line-height: 32px; - margin-right: 0; - margin-bottom: 40px; -} -.frame4-frame5 { +.frame4-content { display: flex; position: relative; align-self: stretch; @@ -37,19 +18,22 @@ margin-bottom: 40px; flex-direction: column; } -.frame4-text002 { - font-size: 20px; - font-weight: 600; - color: rgba(51, 125, 254, 1); - height: auto; - align-self: auto; - text-align: center; - line-height: 24px; - margin-right: 0; - margin-bottom: 8px; -} -.frame4-text004 { - color: var(--dl-color-text-main); +.frame4-info-table { + width: 100%; + .frame4-column-group { + th:nth-child(1), + th:nth-child(2) { + width: 12%; + } + + th:nth-child(3), + th:nth-child(4), + th:nth-child(5) { + width: 13%; + } + } +} +.frame4-description { height: auto; font-size: 18px; align-self: stretch; @@ -63,3585 +47,107 @@ margin-bottom: 8px; text-decoration: none; } -.frame4-frame25885 { - width: 1056px; +.frame4-frame25899 { display: flex; position: relative; - align-self: stretch; align-items: flex-start; border-color: transparent; + margin-bottom: 40px; flex-direction: column; } -.frame4-frame25887 { +.frame4-frame25900 { display: flex; position: relative; - align-self: stretch; align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame4-table-header { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text006 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header01 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container01 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text008 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header02 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container02 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; border-color: transparent; + margin-bottom: 24px; + flex-direction: column; } -.frame4-text010 { +.frame4-text066 { font-size: 12px; - font-weight: 500; - color: #20222b; + font-weight: 700; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; + text-align: left; line-height: 16px; margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header03 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container03 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; + margin-bottom: 4px; } -.frame4-text012 { - font-size: 12px; +.frame4-text068 { + font-size: 10px; font-weight: 500; - color: #20222b; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; - line-height: 16px; + text-align: left; + line-height: 12px; margin-right: 0; margin-bottom: 0; } -.frame4-table-header04 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container04 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame4-text014 { - font-size: 12px; - font-weight: 500; - color: #20222b; +.frame4-text070 { + font-size: 14px; + font-weight: 400; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; - line-height: 16px; + text-align: left; + line-height: 20px; margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header05 { - width: 396px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container05 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; + margin-bottom: 24px; } -.frame4-text016 { +.frame4-text072 { font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25888 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container06 { - width: var(--dl-size-size-large); - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text018 { - color: var(--dl-color-text-contrast); + font-weight: 400; height: auto; - flex-grow: 1; - font-size: 14px; align-self: auto; - font-style: Medium; text-align: left; - font-family: Inter; - font-weight: 500; line-height: 16px; - font-stretch: normal; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell01 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; } -.frame4-text-container07 { +.frame4-frame25898 { display: flex; - padding: 4px; position: relative; - flex-grow: 1; align-items: flex-start; border-color: transparent; + margin-bottom: 40px; + flex-direction: column; } -.frame4-text020 { - color: var(--dl-color-text-contrast); +.frame4-text143 { + font-size: 26px; + font-weight: 800; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; + line-height: 32px; margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell02 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container08 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; + margin-bottom: 24px; } -.frame4-text022 { - color: var(--dl-color-text-contrast); +.frame4-text145 { + font-size: 20px; + font-weight: 800; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; + line-height: 24px; margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell03 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container09 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; + margin-bottom: 24px; } -.frame4-text024 { - color: var(--dl-color-text-contrast); +.frame4-text147 { + font-size: 16px; + font-weight: 800; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; + line-height: 20px; margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell04 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container10 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; + margin-bottom: 24px; } -.frame4-text026 { - color: var(--dl-color-text-contrast); - height: auto; +.frame4-text149 { font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell05 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container11 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text028 { - color: var(--dl-color-text-contrast); + font-weight: 800; height: auto; align-self: auto; text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25881 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell06 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container12 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text030 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell07 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container13 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text032 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell08 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container14 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text034 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell09 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container15 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text036 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell10 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container16 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text038 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell11 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container17 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text040 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25889 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell12 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container18 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text042 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell13 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container19 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text044 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell14 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container20 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text046 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell15 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container21 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text048 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell16 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container22 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text050 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell17 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container23 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text052 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25890 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame4-table-cell18 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container24 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text054 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell19 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container25 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text056 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell20 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container26 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text058 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell21 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container27 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text060 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell22 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container28 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text062 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell23 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container29 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text064 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25899 { - display: flex; - position: relative; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-frame25900 { - display: flex; - position: relative; - align-items: flex-start; - border-color: transparent; - margin-bottom: 24px; - flex-direction: column; -} -.frame4-text066 { - font-size: 12px; - font-weight: 700; - color: var(--dl-color-text-main); - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 4px; -} -.frame4-text068 { - font-size: 10px; - font-weight: 500; - color: var(--dl-color-text-main); - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 12px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-text070 { - font-size: 14px; - font-weight: 400; - color: var(--dl-color-text-main); - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 20px; - margin-right: 0; - margin-bottom: 24px; -} -.frame4-text072 { - font-size: 12px; - font-weight: 400; - color: var(--dl-color-text-main); - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25886 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-text074 { - font-size: 20px; - font-weight: 600; - color: rgba(51, 125, 254, 1); - height: auto; - align-self: auto; - text-align: center; - line-height: 24px; - margin-right: 0; - margin-bottom: 8px; -} -.frame4-text076 { - color: var(--dl-color-text-main); - height: auto; - font-size: 18px; - align-self: stretch; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 30px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-frame258871 { - width: 1056px; - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-frame258872 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame4-table-header06 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container30 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text083 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header07 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container31 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text085 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header08 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container32 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text087 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header09 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - padding-right: 4px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container33 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text089 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header10 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container34 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame4-text091 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header11 { - width: 396px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container35 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame4-text093 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258811 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell24 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container36 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text095 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell25 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container37 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text097 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell26 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container38 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text099 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell27 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container39 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text101 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell28 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container40 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text103 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell29 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container41 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text105 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258881 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell30 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container42 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text107 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell31 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container43 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text109 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell32 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container44 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text111 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell33 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container45 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text113 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell34 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container46 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text115 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell35 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container47 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text117 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258891 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell36 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container48 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text119 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell37 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container49 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text121 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell38 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container50 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text123 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell39 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container51 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text125 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell40 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container52 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text127 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell41 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container53 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text129 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258901 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame4-table-cell42 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container54 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text131 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell43 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container55 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text133 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell44 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container56 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text135 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell45 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container57 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text137 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell46 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container58 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text139 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell47 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container59 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text141 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame25898 { - display: flex; - position: relative; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-text143 { - font-size: 26px; - font-weight: 800; - color: #50546b; - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 32px; - margin-right: 0; - margin-bottom: 24px; -} -.frame4-text145 { - font-size: 20px; - font-weight: 800; - color: #50546b; - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 24px; - margin-right: 0; - margin-bottom: 24px; -} -.frame4-text147 { - font-size: 16px; - font-weight: 800; - color: #50546b; - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 20px; - margin-right: 0; - margin-bottom: 24px; -} -.frame4-text149 { - font-size: 14px; - font-weight: 800; - color: #50546b; - width: 1056px; - height: auto; - align-self: auto; - text-align: left; - line-height: 20px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame259001 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-text151 { - font-size: 20px; - font-weight: 600; - color: rgba(51, 125, 254, 1); - height: auto; - align-self: auto; - text-align: center; - line-height: 24px; - margin-right: 0; - margin-bottom: 8px; -} -.frame4-text153 { - color: var(--dl-color-text-main); - height: auto; - font-size: 18px; - align-self: stretch; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 30px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-frame25901 { - width: 1056px; - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame4-frame258873 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame4-table-header12 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container60 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text160 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header13 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container61 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text162 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header14 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container62 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text164 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header15 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container63 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame4-text166 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header16 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container64 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame4-text168 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-table-header17 { - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame4-text-container65 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame4-text170 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258812 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell48 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container66 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text172 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell49 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container67 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text174 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell50 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container68 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text176 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell51 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container69 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text178 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell52 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container70 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text180 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell53 { - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container71 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text182 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258882 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell54 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container72 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text184 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell55 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container73 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text186 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell56 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container74 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text188 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell57 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container75 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text190 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell58 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container76 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text192 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell59 { - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container77 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text194 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258892 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame4-table-cell60 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container78 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text196 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell61 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container79 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text198 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell62 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container80 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text200 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell63 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container81 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text202 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell64 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container82 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text204 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell65 { - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container83 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text206 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame4-frame258902 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame4-table-cell66 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container84 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text208 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell67 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container85 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text210 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell68 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container86 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text212 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell69 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container87 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text214 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell70 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame4-text-container88 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text216 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame4-table-cell71 { - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame4-text-container89 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame4-text218 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; + line-height: 20px; margin-right: 0; margin-bottom: 0; } @@ -3655,8 +161,6 @@ .frame4-text220 { font-size: 26px; font-weight: 600; - color: #50546b; - width: 1056px; height: auto; align-self: auto; text-align: left; @@ -3667,8 +171,6 @@ .frame4-text222 { font-size: 20px; font-weight: 600; - color: #50546b; - width: 1056px; height: auto; align-self: auto; text-align: left; @@ -3679,8 +181,6 @@ .frame4-text224 { font-size: 16px; font-weight: 600; - color: #50546b; - width: 1056px; height: auto; align-self: auto; text-align: left; @@ -3691,8 +191,6 @@ .frame4-text226 { font-size: 14px; font-weight: 600; - color: #50546b; - width: 1056px; height: auto; align-self: auto; text-align: left; diff --git a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html index 3b13253691..a7dcc78ecb 100644 --- a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html +++ b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html @@ -1,195 +1,57 @@
    -
    - - Шрифты для дизайнеров - -
    - Main - +

    Шрифты для дизайнеров

    +

    Main

    +
    +
    + Типографика для основного текста -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - - Шрифт - -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - Body-text 14 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Основной текст - -
    -
    -
    -
    -
    -
    - Body-text 12 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Основной текст - -
    -
    -
    -
    -
    -
    - Subtitle -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Bold -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Акцентные подзаголовки - -
    -
    -
    -
    -
    -
    - Subscription -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Medium -
    -
    -
    -
    - 10 -
    -
    -
    -
    - 12 -
    -
    -
    -
    - - Подписи - -
    -
    -
    -
    +
    КодКод НаименованиеКатегорияКоличествоКатегорияКоличество
    @@ -20,6 +20,16 @@ >
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    Body-text 14InterRegular1220Основной текст
    Body-text 12InterRegular1216Основной текст
    SubtitleInterBold1216Акцентные подзаголовки
    SubscriptionInterMedium1012Подписи
    @@ -219,11 +81,12 @@
    -
    - - Dynamic title - - +
    + +

    Dynamic title

    +
    +
    + Динамические заголовки используются для сущностей, у которых заголовок меняется в зависимости от @@ -240,186 +103,52 @@ -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - Шрифт -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - H1 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Extra Bold -
    -
    -
    -
    - 26 -
    -
    -
    -
    - 32 -
    -
    -
    -
    - - Заголовок 1 уровня - -
    -
    -
    -
    -
    -
    - H2 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Extra Bold -
    -
    -
    -
    - 20 -
    -
    -
    -
    - 24 -
    -
    -
    -
    - - Заголовок 2 уровня - -
    -
    -
    -
    -
    -
    - H3 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Extra Bold -
    -
    -
    -
    - 16 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Заголовок 3 уровня - -
    -
    -
    -
    -
    -
    - H4 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Extra Bold -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Заголовок 4 уровня - -
    -
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    H1InterExtra Bold2632Заголовок 1 уровня
    H2InterExtra Bold2024Заголовок 2 уровня
    H3InterExtra Bold1620Заголовок 3 уровня
    H4InterExtra Bold1420Заголовок 4 уровня
    @@ -435,11 +164,12 @@ H4: Динамический заголовок 4 уровня
    -
    - - Static title - - +
    + +

    Static title

    +
    +
    + Статичный стиль применяется для статичных заголовоков.
    @@ -452,186 +182,52 @@
    -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - Шрифт -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - H1 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semi Bold -
    -
    -
    -
    - 26 -
    -
    -
    -
    - 32 -
    -
    -
    -
    - - Заголовок 1 уровня - -
    -
    -
    -
    -
    -
    - H2 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semi Bold -
    -
    -
    -
    - 20 -
    -
    -
    -
    - 24 -
    -
    -
    -
    - - Заголовок 2 уровня - -
    -
    -
    -
    -
    -
    - H3 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semi Bold -
    -
    -
    -
    - 16 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Заголовок 3 уровня - -
    -
    -
    -
    -
    -
    - H4 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semi Bold -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Заголовок 4 уровня - -
    -
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    H1InterSemi Bold2632Заголовок 1 уровня
    H2InterSemi Bold2024Заголовок 2 уровня
    H3InterSemi Bold1620Заголовок 3 уровня
    H4InterSemi Bold1420Заголовок 4 уровня
    diff --git a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css index d26ed7e3a8..bf88138f81 100644 --- a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css +++ b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css @@ -1,540 +1,129 @@ :host { display: contents; } -.frame9-frame9 { - min-width: 1150px; - height: auto; - display: flex; - padding: 56px; - position: relative; - align-self: stretch; - box-shadow: 0px 8px 32px 0px rgba(191, 198, 215, 0.5); - align-items: flex-start; - border-color: rgba(191, 198, 215, 1); - border-style: solid; - border-width: 1px; - border-radius: 2px; - flex-direction: column; - background-color: var(--dl-color-bg-body); -} -.frame9-text { - font-size: 26px; - font-weight: 800; - color: rgba(51, 125, 254, 1); +.frame9-text026 { + font-size: 14px; + font-weight: 600; height: auto; align-self: auto; text-align: left; - line-height: 32px; - margin-right: 0; - margin-bottom: 40px; -} -.frame9-frame5 { - width: 1056px; - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame9-frame25885 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - flex-direction: column; -} -.frame9-frame25887 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header { - width: 1056px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text002 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; line-height: 16px; margin-right: 0; margin-bottom: 0; } -.frame9-frame25891 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header01 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container001 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text004 { +.frame9-text038 { font-size: 12px; - font-weight: 500; - color: #20222b; + font-weight: 600; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; + text-align: left; line-height: 16px; margin-right: 0; margin-bottom: 0; } -.frame9-table-header02 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container002 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text006 { - font-size: 12px; +.frame9-text050 { + font-size: 14px; font-weight: 500; - color: #20222b; + text-decoration: underline; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; - line-height: 16px; + text-align: left; + line-height: 24px; margin-right: 0; margin-bottom: 0; } -.frame9-table-header03 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container003 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text008 { +.frame9-text062 { font-size: 12px; font-weight: 500; - color: #20222b; + text-decoration: underline; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; + text-align: left; line-height: 16px; margin-right: 0; margin-bottom: 0; } -.frame9-table-header04 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container004 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text010 { - font-size: 12px; - font-weight: 500; - color: #20222b; +.frame9-text088 { + font-size: 14px; + font-weight: 400; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; + text-align: left; line-height: 16px; margin-right: 0; margin-bottom: 0; } -.frame9-table-header05 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container005 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text012 { +.frame9-text100 { font-size: 12px; - font-weight: 500; - color: #20222b; + font-weight: 400; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; + text-align: left; line-height: 16px; margin-right: 0; margin-bottom: 0; } -.frame9-table-header06 { - width: 396px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container006 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text014 { - font-size: 12px; - font-weight: 500; - color: #20222b; +.frame9-text112 { + font-size: 14px; + font-weight: 400; height: auto; - flex-grow: 1; align-self: auto; - text-align: center; - line-height: 16px; + text-align: left; + line-height: 20px; margin-right: 0; margin-bottom: 0; } -.frame9-frame25888 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container007 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text016 { - color: var(--dl-color-text-contrast); +.frame9-text124 { + font-size: 12px; + font-weight: 600; height: auto; - flex-grow: 1; - font-size: 14px; align-self: auto; - font-style: Medium; text-align: left; - font-family: Inter; - font-weight: 500; line-height: 16px; - font-stretch: normal; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell01 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container008 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; } -.frame9-text018 { - color: var(--dl-color-text-contrast); +.frame9-text136 { + font-size: 10px; + font-weight: 500; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; + line-height: 12px; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell02 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; } -.frame9-text-container009 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text020 { - color: var(--dl-color-text-contrast); +.frame9-text162 { + font-size: 12px; + font-weight: 500; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; line-height: 16px; - font-stretch: normal; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell03 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container010 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; } -.frame9-text022 { - color: var(--dl-color-text-contrast); - height: auto; +.frame9-text174 { font-size: 14px; + font-weight: 400; + height: auto; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; line-height: 16px; - font-stretch: normal; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell04 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container011 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; } -.frame9-text024 { - color: var(--dl-color-text-contrast); +.frame9-text186 { + font-size: 12px; + font-weight: 400; height: auto; - font-size: 14px; align-self: auto; - font-style: Regular; text-align: left; - font-family: Inter; - font-weight: 400; line-height: 16px; - font-stretch: normal; margin-right: 0; margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell05 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container012 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; } -.frame9-text026 { - font-size: 14px; - font-weight: 600; - color: #20222b; +.frame9-text212 { height: auto; align-self: auto; text-align: left; @@ -542,3569 +131,35 @@ margin-right: 0; margin-bottom: 0; } -.frame9-frame25881 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell06 { - width: 120px; +.frame9-frame9 { + height: auto; display: flex; - padding: 8px 10px; - overflow: hidden; position: relative; align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container013 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; + flex-direction: column; } -.frame9-text028 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; +.frame9-info-table { + width: 100%; + + .frame9-column-group { + th:nth-child(1), + th:nth-child(2) { + width: 12%; + } + + th:nth-child(3), + th:nth-child(4), + th:nth-child(5) { + width: 13%; + } + } } -.frame9-table-cell07 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container014 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text030 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell08 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container015 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text032 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell09 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container016 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text034 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell10 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container017 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text036 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell11 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container018 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text038 { - font-size: 12px; - font-weight: 600; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame25889 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell12 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container019 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text040 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell13 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container020 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text042 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell14 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container021 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text044 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell15 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container022 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text046 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell16 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container023 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text048 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell17 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container024 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text050 { - font-size: 14px; - font-weight: 500; - color: #20222b; - text-decoration: underline; - height: auto; - align-self: auto; - text-align: left; - line-height: 24px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame25890 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame9-table-cell18 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container025 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text052 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell19 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container026 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text054 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell20 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container027 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text056 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell21 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container028 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text058 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell22 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container029 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text060 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell23 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container030 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text062 { - font-size: 12px; - font-weight: 500; - color: #20222b; - text-decoration: underline; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame6 { - width: 1056px; - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame9-frame258851 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - flex-direction: column; -} -.frame9-frame258871 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header07 { - width: 1056px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container031 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text064 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258911 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header08 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container032 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text066 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header09 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container033 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text068 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header10 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container034 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text070 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header11 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container035 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text072 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header12 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container036 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text074 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header13 { - width: 396px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container037 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text076 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258881 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell24 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container038 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text078 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell25 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container039 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text080 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell26 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container040 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text082 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell27 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container041 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text084 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell28 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container042 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text086 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell29 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container043 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text088 { - font-size: 14px; - font-weight: 400; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258811 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell30 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container044 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text090 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell31 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container045 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text092 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell32 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container046 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text094 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell33 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container047 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text096 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell34 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container048 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text098 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell35 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container049 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text100 { - font-size: 12px; - font-weight: 400; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258891 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell36 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container050 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text102 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell37 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container051 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text104 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell38 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container052 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text106 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell39 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container053 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text108 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell40 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container054 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text110 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell41 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container055 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text112 { - font-size: 14px; - font-weight: 400; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 20px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame25892 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell42 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container056 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text114 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell43 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container057 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text116 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell44 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container058 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text118 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell45 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container059 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text120 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell46 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container060 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text122 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell47 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container061 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text124 { - font-size: 12px; - font-weight: 600; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258901 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame9-table-cell48 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container062 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text126 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell49 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container063 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text128 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell50 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container064 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text130 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell51 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container065 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text132 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell52 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container066 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text134 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell53 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container067 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text136 { - font-size: 10px; - font-weight: 500; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 12px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame7 { - width: 1056px; - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - margin-bottom: 40px; - flex-direction: column; -} -.frame9-frame258852 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - flex-direction: column; -} -.frame9-frame258872 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header14 { - width: 1056px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container068 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text138 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258912 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header15 { - width: 128px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container069 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text140 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header16 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container070 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text142 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header17 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container071 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text144 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header18 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container072 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text146 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header19 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container073 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text148 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header20 { - width: 388px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container074 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text150 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258882 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell54 { - width: 128px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container075 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text152 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell55 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container076 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text154 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell56 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container077 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text156 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell57 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container078 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text158 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell58 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container079 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text160 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell59 { - width: 388px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container080 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text162 { - font-size: 12px; - font-weight: 500; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258812 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; -} -.frame9-table-cell60 { - width: 128px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container081 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text164 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell61 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container082 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text166 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell62 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container083 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text168 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell63 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container084 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text170 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell64 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container085 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text172 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell65 { - width: 388px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container086 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text174 { - font-size: 14px; - font-weight: 400; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258892 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame9-table-cell66 { - width: 128px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container087 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text176 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell67 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container088 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text178 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell68 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container089 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text180 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell69 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container090 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text182 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell70 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container091 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text184 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell71 { - width: 388px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container092 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text186 { - font-size: 12px; - font-weight: 400; - color: #20222b; - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame8 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - border-color: transparent; - flex-direction: column; - width: 1056px; -} -.frame9-frame258853 { +.frame9-table-container { display: flex; position: relative; align-self: stretch; align-items: flex-start; border-color: transparent; + margin-bottom: 40px; flex-direction: column; } -.frame9-frame258873 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header21 { - width: 1056px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container093 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text188 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258913 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; - margin-bottom: 0px; - background-color: #f4f6fb; -} -.frame9-table-header22 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container094 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text190 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header23 { - width: 120px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container095 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text192 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header24 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container096 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text194 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header25 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container097 { - display: flex; - padding: 0 4px; - position: relative; - flex-grow: 1; - align-items: center; - border-color: transparent; -} -.frame9-text196 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header26 { - width: 140px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: center; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container098 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text198 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-table-header27 { - width: 396px; - display: flex; - padding: 4px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: center; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - justify-content: center; - background-color: var(--dl-color-grey-g12g2); -} -.frame9-text-container099 { - width: 232px; - display: flex; - padding: 0 4px; - position: relative; - align-items: center; - flex-shrink: 0; - border-color: transparent; -} -.frame9-text200 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - align-self: auto; - text-align: center; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} -.frame9-frame258883 { - display: flex; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: transparent; -} -.frame9-table-cell72 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container100 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text202 { - color: var(--dl-color-text-contrast); - height: auto; - flex-grow: 1; - font-size: 14px; - align-self: auto; - font-style: Medium; - text-align: left; - font-family: Inter; - font-weight: 500; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell73 { - width: 120px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container101 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text204 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell74 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container102 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text206 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell75 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container103 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text208 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell76 { - width: 140px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - align-self: stretch; - align-items: flex-start; - flex-shrink: 0; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; - margin-right: 0px; -} -.frame9-text-container104 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text210 { - color: var(--dl-color-text-contrast); - height: auto; - font-size: 14px; - align-self: auto; - font-style: Regular; - text-align: left; - font-family: Inter; - font-weight: 400; - line-height: 16px; - font-stretch: normal; - margin-right: 0; - margin-bottom: 0; - text-decoration: none; -} -.frame9-table-cell77 { - width: 396px; - display: flex; - padding: 8px 10px; - overflow: hidden; - position: relative; - flex-grow: 1; - align-self: stretch; - align-items: flex-start; - border-color: rgba(214, 219, 231, 1); - border-style: solid; - border-width: 0.5px; -} -.frame9-text-container105 { - display: flex; - padding: 4px; - position: relative; - flex-grow: 1; - align-items: flex-start; - border-color: transparent; -} -.frame9-text212 { - color: var(--dl-color-text-contrast); - height: auto; - align-self: auto; - text-align: left; - line-height: 16px; - margin-right: 0; - margin-bottom: 0; -} diff --git a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html index b478c5c000..ef9e5f4281 100644 --- a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html +++ b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html @@ -1,683 +1,185 @@
    +

    Шрифты для компонентов

    - - Шрифты для компонентов - -
    -
    -
    -
    -
    - - Buttons & Links - -
    -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - - Шрифт - -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - btn-14 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semibold -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Для всех кнопок кроме 24рх - -
    -
    -
    -
    -
    -
    - btn-12 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semibold -
    -
    -
    -
    - 16 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Для кнопок высотой 24рх - -
    -
    -
    -
    -
    -
    - link-14 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Medium -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Cсылка, подчеркнутая - -
    -
    -
    -
    -
    -
    - link-12 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Medium -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Cсылка, подчеркнутая - -
    -
    -
    -
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Buttons & Links
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    btn-14InterSemibold1416Для всех кнопок кроме 24рх
    btn-12InterSemibold1616Для кнопок высотой 24рх
    link-14InterMedium1416Cсылка, подчеркнутая
    link-12InterMedium1216Cсылка, подчеркнутая
    -
    -
    -
    -
    -
    - - Input - -
    -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - - Шрифт - -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - text-14 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - - Введенные / выбранные данные - - - -
    -
    -
    -
    -
    -
    - text-12 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - - Введенные / выбранные данные - - - -
    -
    -
    -
    -
    -
    - area -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 20 -
    -
    -
    -
    - - Введенные данные в Text-area - -
    -
    -
    -
    -
    -
    - label -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Semibold -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Заголовок формы ввода - -
    -
    -
    -
    -
    -
    - helper -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Medium -
    -
    -
    -
    - 10 -
    -
    -
    -
    - 12 -
    -
    -
    -
    - - Текст пояснения / подсказки - -
    -
    -
    -
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Input
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    text-14InterRegular1416Введенные / выбранные данные
    text-12InterRegular1216Введенные / выбранные данные
    areaInterRegular1420Введенные данные в Text-area
    labelInterSemibold1216Заголовок формы ввода
    helperInterMedium1012Текст пояснения / подсказки
    -
    -
    -
    -
    -
    - - Table - -
    -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - - Шрифт - -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - table-heading -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Medium -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Основной текст - -
    -
    -
    -
    -
    -
    - table-text-14 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Основной текст - -
    -
    -
    -
    -
    -
    - table-text-12 -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 12 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Акцентные подзаголовки - -
    -
    -
    -
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    table-headingInterMedium1216Основной текст
    table-text-14InterRegular1416Основной текст
    table-text-12InterRegular1216Акцентные подзаголовки
    -
    -
    -
    -
    -
    - - Общие - -
    -
    -
    -
    -
    -
    - - Название - -
    -
    -
    -
    - - Шрифт - -
    -
    -
    -
    - - Начертание - -
    -
    -
    -
    - - Размер - -
    -
    -
    -
    - - Высота - -
    -
    -
    -
    - - Описание - -
    -
    -
    -
    -
    -
    - Chips-text -
    -
    -
    -
    - Inter -
    -
    -
    -
    - Regular -
    -
    -
    -
    - 14 -
    -
    -
    -
    - 16 -
    -
    -
    -
    - - Основной текст - -
    -
    -
    -
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Общие
    НазваниеШрифтНачертаниеРазмерВысотаОписание
    Chips-textInterRegular1416Основной текст
    diff --git a/apps/doc/src/app/guidelines/typography/typography.component.html b/apps/doc/src/app/guidelines/typography/typography.component.html index 9c8a08c782..0b9399a5ca 100644 --- a/apps/doc/src/app/guidelines/typography/typography.component.html +++ b/apps/doc/src/app/guidelines/typography/typography.component.html @@ -1,8 +1,6 @@ - -
    - - -
    - + +
    + + +
    +
    diff --git a/apps/doc/src/app/guidelines/typography/typography.module.ts b/apps/doc/src/app/guidelines/typography/typography.module.ts index f004841796..a3782981b9 100644 --- a/apps/doc/src/app/guidelines/typography/typography.module.ts +++ b/apps/doc/src/app/guidelines/typography/typography.module.ts @@ -5,6 +5,7 @@ import { Frame4Component } from './components/frame4/frame4.component'; import { Frame9Component } from './components/frame9/frame9.component'; import { TypographyComponent } from './typography.component'; import { PrizmAddonDocModule } from '@prizm-ui/doc'; +import { PrizmTableModule } from '@prizm-ui/components'; const routes: Routes = [ { @@ -15,7 +16,7 @@ const routes: Routes = [ @NgModule({ bootstrap: [], - imports: [CommonModule, PrizmAddonDocModule, RouterModule.forChild(routes)], + imports: [CommonModule, PrizmAddonDocModule, RouterModule.forChild(routes), PrizmTableModule], declarations: [TypographyComponent, Frame4Component, Frame9Component], exports: [RouterModule], }) diff --git a/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts b/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts index f232eb92a4..2c5df99ad1 100644 --- a/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts +++ b/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts @@ -53,7 +53,7 @@ export class PrizmLanguageSwitcherExampleComponent { } } - public onfilesValidationErrors(errors: PrizmFileValidationErrors): void { + public onfilesValidationErrors(errors: { [key: string]: PrizmFileValidationErrors }): void { for (const filename of Object.keys(errors)) { this.toastService.create(JSON.stringify(errors[filename]), { title: `Файл ${filename} не прошел валидацию`, diff --git a/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts b/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts index 950e5e1388..2fd57ede14 100644 --- a/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts +++ b/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts @@ -91,8 +91,7 @@ export class PrizmAstAccordionExampleComponent implements OnInit { // } // } // ]; - readonly zyfraAccordionHtml = ` - diff --git a/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts b/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts index 3089eaf22a..1ffaa9ea02 100644 --- a/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts +++ b/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts @@ -52,8 +52,7 @@ export class PrizmAstBreadcrumbExampleComponent implements OnInit { // }, // // ]; - readonly html = ` - - Test + readonly zyfraButtonHtml = ` +Test `; resultZyfraButtonHtml!: string; diff --git a/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts b/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts index 4e6ea47663..14dea25ce4 100644 --- a/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts +++ b/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts @@ -62,9 +62,7 @@ export class PrizmAstCheckboxExampleComponent implements OnInit { // }, // // ]; - readonly html = ` - > -`; + readonly html = ``; result!: string; public ngOnInit(): void { diff --git a/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts b/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts index c35247502f..0cb06ff15a 100644 --- a/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts +++ b/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts @@ -57,9 +57,7 @@ export class PrizmAstChipsExampleComponent implements OnInit { // }, // // ]; - readonly html = ` - -`; + readonly html = ``; result!: string; public ngOnInit(): void { diff --git a/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts b/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts index 85da7996fb..4ba7e53619 100644 --- a/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts +++ b/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts @@ -103,8 +103,7 @@ export class PrizmAstDropdownExampleComponent implements OnInit { // }, // // ]; - readonly html = ` -Show me
    + readonly html = `Show me
    @@ -28,11 +32,15 @@ class="screen-list__item" *ngFor="let item of data; let i = index" [class.selected]="i === currentScreenIdx" + [prizmHint]="item?.title" + [prizmHintCanShow]="prizmIsTextOverflow(title)" (click)="changeScreen(i)" >
    - {{ item?.title }} + + {{ item?.title }} +
    diff --git a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less index eec178040c..de4b7a2562 100644 --- a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less +++ b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less @@ -53,6 +53,8 @@ display: flex; gap: 8px; + overflow: hidden; + &__icon { color: var(--prizm-v3-status-info-primary-default); } diff --git a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts index 6c473a096a..1127ed15ea 100644 --- a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts +++ b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts @@ -7,6 +7,7 @@ import { PrizmDropdownHostModule } from '../../../dropdowns/dropdown-host'; import { PrizmDataListModule } from '../../../data-list'; import { PrizmButtonModule } from '../../../button'; import { PrizmHintModule } from '../../../../directives'; +import { prizmIsTextOverflow } from '../../../../util'; @Component({ selector: 'prizm-header-dropdown', @@ -29,6 +30,8 @@ export class PrizmHeaderDropdownComponent { @Input() public currentScreenIdx = 0; @Output() screenIdxChange: EventEmitter = new EventEmitter(); + readonly prizmIsTextOverflow = prizmIsTextOverflow; + public openDropdown = false; public changeScreen(idx: number): void { diff --git a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts index 6427db091e..2ea128fedd 100644 --- a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts +++ b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts @@ -26,6 +26,7 @@ import { PrizmInputCommonModule } from '../common'; :host { display: flex; align-items: center; + height: 100%; } `, ], diff --git a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts index 62eb34cbbf..fbaad43f70 100644 --- a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts +++ b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts @@ -26,6 +26,7 @@ import { PrizmInputCommonModule } from '../common'; :host { display: flex; align-items: center; + height: 100%; } `, ], diff --git a/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts b/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts index ce8cdac6c2..acd82c712c 100644 --- a/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts +++ b/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts @@ -1,4 +1,4 @@ -import { Directive, ElementRef, HostBinding, inject, Input, Optional } from '@angular/core'; +import { Directive, ElementRef, HostBinding, inject, Input } from '@angular/core'; import { PrizmHintDirective } from '../../../../directives/hint'; import { PrizmOverlayOutsidePlacement } from '../../../../modules/overlay/models'; import { prizmIsTextOverflow } from '../../../../util/dom/is-textoverflow'; @@ -44,11 +44,11 @@ export class PrizmInputHintDirective { } public ngOnChanges(): void { - this.prizmHint_.ngOnChanges(); + this.hintSyncChanges(); } private hintSyncChanges(): void { - this.prizmHint_.ngOnChanges(); + this.prizmHint_.drawHint(); } public updateHint(): void { diff --git a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less index 03c9bdbc9e..e9bc5f9eaa 100644 --- a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less +++ b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less @@ -26,11 +26,12 @@ color: var(--prizm-v3-button-primary-solid-hover); } - &:focus { + &:focus-visible { color: var(--prizm-v3-button-primary-solid-hover); } cursor: pointer; + height: 100%; } color: var(--prizm-v3-button-secondary-solid-default); diff --git a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts index a9880eaf64..8903813715 100644 --- a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts +++ b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts @@ -19,14 +19,19 @@ export class PrizmInputIconButtonComponent extends PrizmAbstractTestId { @Input() prizmInputIconButton!: string; @Input() interactive = false; - @HostBinding('class.disabled') + @HostBinding('attr.disabled') @Input() get disabled() { - return this._disabled; + return this._disabled || null; } set disabled(value: BooleanInput) { this._disabled = coerceBooleanProperty(value); } + + @HostBinding('class.disabled') + get classDisabled() { + return this._disabled; + } private _disabled = false; @Input() @HostBinding('attr.type') diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less index f9f6c62b75..ff01ec5e6d 100644 --- a/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less +++ b/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less @@ -1,5 +1,5 @@ :host.has-hidden-control { - .label-container { + .label-container:not(.label-container-outer) { height: 16px; margin-bottom: 2px; diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less index 980da716ca..13fa5ae413 100644 --- a/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less +++ b/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less @@ -102,6 +102,10 @@ .prizm-input-button-default { padding-top: 5px; } + + .prizm-input-form-status-button { + padding-top: 8px; + } } } diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html index 9dac382b02..51fc88fbd5 100644 --- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html +++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html @@ -104,6 +104,7 @@ class="prizm-input-label-clear-btn prizm-input-button-default clear-icon" *ngSwitchCase="true" [interactive]="true" + [class.alone]="!showStatusButton" [disabled]="$.disabled" [prizmInputIconButton]="$any(clearButton) ?? 'cancel-delete-content'" (click)="onClearClick($event)" diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less index 8376dfbef1..7e14bcf254 100644 --- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less +++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less @@ -6,7 +6,10 @@ .prizm-input-form-status-button, .prizm-input-button-default { flex-shrink: 0; - height: 100%; + } + + .prizm-input-form-status-button { + align-self: center; } .prizm-input-button-default { @@ -43,6 +46,7 @@ width: 100%; display: flex; gap: 4px; + margin-bottom: 4px; &-required { color: var(--prizm-v3-status-alarm-primary-default); @@ -120,6 +124,11 @@ flex-grow: 1; } + &:not(:has([prizm-input-bottom])):not(.prizm-input-form-textarea) &__first { + // Hack for height in percents for buttons inside controls + height: 1px; + } + &-body { position: relative; width: 100%; @@ -204,11 +213,23 @@ &-inner { min-height: 44px; + &:not(:has(prizm-chips > .chips-list)) { + max-height: 44px; + } + &[data-size='l'] { min-height: 44px; + + &:not(:has(prizm-chips > .chips-list)) { + max-height: 44px; + } } &[data-size='m'] { min-height: 36px; + + &:not(:has(prizm-chips > .chips-list)) { + max-height: 36px; + } } } @@ -218,14 +239,30 @@ &-outer { min-height: 32px; + &:not(:has(prizm-chips > .chips-list)) { + max-height: 32px; + } + &[data-size='l'] { min-height: 40px; + + &:not(:has(prizm-chips > .chips-list)) { + max-height: 40px; + } } &[data-size='m'] { min-height: 32px; + + &:not(:has(prizm-chips > .chips-list)) { + max-height: 32px; + } } &[data-size='s'] { min-height: 24px; + + &:not(:has(prizm-chips > .chips-list)) { + max-height: 24px; + } } } @@ -236,10 +273,11 @@ position: absolute; z-index: 100; background-color: var(--prizm-v3-form-fill-default); + height: auto; } .prizm-input-button-default { - right: 32px; + right: 24px; &.alone { right: 0; diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts index 6870fb9d5f..230d7fd21b 100644 --- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts +++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts @@ -20,7 +20,7 @@ import { PrizmInputControl } from '../base/input-control.class'; import { PrizmInputStatusTextDirective } from '../input-status-text/input-status-text.directive'; import { PrizmInputPosition, PrizmInputSize, PrizmInputStatus } from '../models/prizm-input.models'; import { debounceTime, map, startWith, takeUntil, tap } from 'rxjs/operators'; -import { isPolymorphPrimitive, PolymorphComponent, PolymorphContent } from '../../../../directives/polymorph'; +import { isPolymorphPrimitive, PolymorphContent } from '../../../../directives/polymorph'; import { Compare, filterTruthy, PrizmDestroyService, PrizmLetDirective } from '@prizm-ui/helpers'; import { PrizmAbstractTestId } from '../../../../abstract/interactive'; @@ -140,6 +140,7 @@ export class PrizmInputLayoutComponent readonly onClearClick = (event: MouseEvent) => { this.clear.next(event); this.control.clear(event); + this.control.stateChanges.next(); this.actualizeStatusIcon(); }; diff --git a/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts b/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts index 330b47d4db..2f39a57e82 100644 --- a/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts +++ b/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts @@ -23,11 +23,11 @@ export class PrizmInputStatusTextDirective extends DefaultInputInvalidTextClass protected override setInvalidText(text: string): void { super.setInvalidText(text); - this.changed.next(); } public getStatusMessage(): PolymorphContent { - return this.invalidText || this.templateRef; + const isTemplateEmpty = !this.templateRef.createEmbeddedView(null).rootNodes[0]; + return isTemplateEmpty ? this.invalidText : this.templateRef; } } diff --git a/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts b/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts index 4c21a6e5bf..5f3fb26100 100644 --- a/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts +++ b/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts @@ -217,29 +217,58 @@ export class PrizmInputLayoutDateRangeComponent extends PrizmInputNgControl toValue.getTime()) { + if (isFromValue) { + fromValue = toValue.copy(); + } else { + toValue = fromValue.copy(); + } + } + return [fromValue, toValue]; } public onRangeChange(range: PrizmDayRange | null): void { diff --git a/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts b/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts index c57fac95bb..7f53fd958b 100644 --- a/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts +++ b/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts @@ -6,7 +6,6 @@ import { Inject, Injector, Input, - OnDestroy, OnInit, ViewChild, } from '@angular/core'; @@ -14,7 +13,7 @@ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/fo import { prizmDefaultProp } from '@prizm-ui/core'; import { PrizmDestroyService, PrizmPluckPipe } from '@prizm-ui/helpers'; import { PrizmLanguageInputLayoutDateRelative } from '@prizm-ui/i18n'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; +import { BehaviorSubject, Observable, takeUntil, tap } from 'rxjs'; import { getDefaultRelativeDateMenuItems, @@ -75,7 +74,7 @@ const MenuItems: RelativeDateMenuItems = getDefaultRelativeDateMenuItems(); }) export class PrizmInputLayoutDateRelativeComponent extends PrizmInputNgControl - implements OnInit, OnDestroy + implements OnInit { readonly nativeElementType = 'input-layout-date-relative'; readonly hasClearButton = true; @@ -113,8 +112,6 @@ export class PrizmInputLayoutDateRelativeComponent private activeNumber = ''; private activeWrongFormat = false; - private readonly subscriptions = new Subscription(); - public rightButtons$!: BehaviorSubject; constructor( @@ -131,6 +128,12 @@ export class PrizmInputLayoutDateRelativeComponent public override ngOnInit(): void { super.ngOnInit(); this.rightButtons$ = this.extraButtonInjector.get(PRIZM_DATE_RIGHT_BUTTONS); + this.ngControl.valueChanges + ?.pipe( + tap((value: string) => this.valueChange(value)), + takeUntil(this.destroy$) + ) + .subscribe(); } public valueChange(value: string) { @@ -146,10 +149,6 @@ export class PrizmInputLayoutDateRelativeComponent this.updateTouchedAndValue(value); } - public ngOnDestroy(): void { - this.subscriptions.unsubscribe(); - } - public onMenuItemClick(event: MouseEvent, item: RelativeDateMenuItem): void { event.stopImmediatePropagation(); switch (item.groupId) { diff --git a/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts b/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts index ba37e15770..3de0bd1a94 100644 --- a/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts +++ b/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts @@ -30,7 +30,7 @@ import { PrizmDialogService } from '../../dialogs/dialog/dialog.service'; import { PRIZM_DATE_FORMAT } from '../../../@core/date-time/date-format'; import { PrizmDateMode } from '../../../types/date-mode'; import { PRIZM_DATE_TEXTS, PRIZM_TIME_TEXTS } from '../../../tokens/i18n'; -import { PRIZM_DATE_RANGE_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers'; +import { PRIZM_DATE_TIME_RANGE_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers'; import { PrizmControlValueTransformer } from '../../../types/control-value-transformer'; import { prizmNullableSame } from '../../../util/common/nullable-same'; import { filterTruthy, PrizmDestroyService, PrizmLetDirective } from '@prizm-ui/helpers'; @@ -247,7 +247,7 @@ export class PrizmInputLayoutDateTimeRangeComponent @Inject(PRIZM_DATE_TEXTS) readonly dateTexts$: Observable>, @Optional() - @Inject(PRIZM_DATE_RANGE_VALUE_TRANSFORMER) + @Inject(PRIZM_DATE_TIME_RANGE_VALUE_TRANSFORMER) override readonly valueTransformer: PrizmControlValueTransformer | null ) { super(injector); @@ -303,6 +303,7 @@ export class PrizmInputLayoutDateTimeRangeComponent public onOpenChange(open: boolean): void { this.open = open; this.changeDetectorRef.markForCheck(); + if (!open) this.completeDateIfAreNotPending(); } private completeDateIfAreNotPending() { @@ -369,10 +370,10 @@ export class PrizmInputLayoutDateTimeRangeComponent if (!toTimeValue || toTimeValue.length !== this.computedTimeMask.length) return; if ( - fromValue === this.value?.dayRange?.from.toString() && - fromTimeValue === this.value?.timeRange?.from.toString(this.timeMode) && - toValue === this.value?.dayRange?.to.toString() && - toTimeValue === this.value?.timeRange?.to.toString(this.timeMode) + fromValue === this.value?.dayRange?.from?.toString() && + fromTimeValue === this.value?.timeRange?.from?.toString(this.timeMode) && + toValue === this.value?.dayRange?.to?.toString() && + toTimeValue === this.value?.timeRange?.to?.toString(this.timeMode) ) { return; } @@ -517,7 +518,7 @@ export class PrizmInputLayoutDateTimeRangeComponent } public updateTimeTo(value: PrizmTime): void { - // TODO: #mz add min max + // TODO: feature > safe add min max limiter if ( value && this.value?.timeRange?.to instanceof PrizmTime && @@ -529,16 +530,14 @@ export class PrizmInputLayoutDateTimeRangeComponent } public updateTimeFrom(value: PrizmTime): void { - // TODO: #mz add min max + // TODO: feature > safe add min max limiter if ( value && this.value?.timeRange?.from instanceof PrizmTime && this.value?.timeRange?.from?.isSameTime(value) ) return; - // const range = PrizmDateTimeRange.safeUpdateTimeFrom(this.value, value); - // this.updateValue(range?.copy()); - this.nativeValueTimeFrom$$.next(value.toString(this.timeMode)); + this.nativeValueTimeFrom$$.next(value?.toString(this.timeMode) ?? ''); } public referFocusToMain(referFocus = true) { diff --git a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html index 7863346c0d..f108b4d5db 100644 --- a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html +++ b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html @@ -10,7 +10,6 @@ [closeByEsc]="true" (isOpenChange)="onOpenChange($event); $event && prizmDropdownHostComponent.reCalculatePositions()" > - Ошибка! Неправильный формат
    + + + {{ dictionary$ | async | prizmPluck : 'wrongFormat' }} + diff --git a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts index 404330f2d0..fd63468c01 100644 --- a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts +++ b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts @@ -23,7 +23,7 @@ import { PRIZM_ALWAYS_FALSE_HANDLER } from '../../../constants/always-false-hand import { PRIZM_DATE_TIME_SEPARATOR } from '../../../constants/date-time-separator'; import { prizmDefaultProp, prizmPure } from '@prizm-ui/core'; import { PRIZM_DATE_TIME_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers'; -import { PRIZM_DATE_TEXTS, PRIZM_TIME_TEXTS } from '../../../tokens/i18n'; +import { PRIZM_DATE_TEXTS, PRIZM_INPUT_LAYOUT_DATE_TIME, PRIZM_TIME_TEXTS } from '../../../tokens/i18n'; import { PrizmContextWithImplicit } from '../../../types/context-with-implicit'; import { PrizmControlValueTransformer } from '../../../types/control-value-transformer'; import { PrizmDateMode } from '../../../types/date-mode'; @@ -36,8 +36,8 @@ import { prizmClamp } from '../../../util/math/clamp'; import { PRIZM_DATE_RIGHT_BUTTONS } from '../../../tokens/date-extra-buttons'; import { PrizmDateButton } from '../../../types/date-button'; import { PRIZM_STRICT_MATCHER } from '../../../constants'; -import { filterTruthy, PrizmDestroyService } from '@prizm-ui/helpers'; -import { PrizmInputControl, PrizmInputNgControl } from '../common'; +import { filterTruthy, PrizmDestroyService, PrizmPluckPipe } from '@prizm-ui/helpers'; +import { PrizmInputControl, PrizmInputNgControl, PrizmInputStatusTextDirective } from '../common'; import { PrizmInputZoneDirective, PrizmInputZoneModule } from '../../../directives/input-zone'; import { debounceTime, delay, map, takeUntil } from 'rxjs/operators'; import { PrizmLifecycleModule } from '../../../directives/lifecycle'; @@ -58,6 +58,8 @@ import { PrizmCalendarComponent } from '../../calendar'; import { PrizmLinkComponent } from '../../link'; import { PrizmValueAccessorModule } from '../../../directives/value-accessor/value-accessor.module'; import { PrizmListingItemComponent } from '../../listing-item'; +import { PrizmLanguageInputLayoutDateTime } from '@prizm-ui/i18n'; +import { prizmTimeLimitWithinRange } from '../../../@core/date-time/time-limit'; @Component({ selector: `prizm-input-layout-date-time`, @@ -71,6 +73,7 @@ import { PrizmListingItemComponent } from '../../listing-item'; ...prizmI18nInitWithKeys({ time: PRIZM_TIME_TEXTS, dateTexts: PRIZM_DATE_TEXTS, + inputLayoutDateTime: PRIZM_INPUT_LAYOUT_DATE_TIME, }), ...PRIZM_INPUT_DATE_TIME_PROVIDERS, { @@ -103,6 +106,7 @@ import { PrizmListingItemComponent } from '../../listing-item'; PrizmValueAccessorModule, PrizmInputNativeValueModule, PrizmListingItemComponent, + PrizmPluckPipe, ], }) export class PrizmInputLayoutDateTimeComponent @@ -118,6 +122,9 @@ export class PrizmInputLayoutDateTimeComponent @ViewChild('focusableElementRef', { read: PrizmInputZoneDirective }) public override readonly focusableElement?: PrizmInputZoneDirective; + @ViewChild(PrizmInputStatusTextDirective, { static: true }) + override statusText!: PrizmInputStatusTextDirective; + @Input() @prizmDefaultProp() timeItems: readonly PrizmTime[] = new Array(24).fill(null).map((_, i) => new PrizmTime(i, 0, 0, 0)); @@ -182,6 +189,8 @@ export class PrizmInputLayoutDateTimeComponent injector: Injector, @Inject(PRIZM_DATE_TEXTS) readonly dateTexts$: Observable>, + @Inject(PRIZM_INPUT_LAYOUT_DATE_TIME) + public readonly dictionary$: Observable, @Optional() @Inject(PRIZM_DATE_TIME_VALUE_TRANSFORMER) valueTransformer: PrizmControlValueTransformer<[PrizmDay | null, PrizmTime | null] | null> | null @@ -316,23 +325,25 @@ export class PrizmInputLayoutDateTimeComponent private updateWithCorrectDateAndTime(value: [PrizmDay | null, PrizmTime | null]): void { if (!value) return; let [date, time] = value; - // correct min max time - if (date) - date = date.dayLimit( - this.min instanceof PrizmDay ? this.min : this.min && this.min[0], - this.max instanceof PrizmDay ? this.max : this.max && this.max[0] - ); - - const timeMin = Array.isArray(this.min) && this.min[1] ? this.min[1] : null; - const timeMax = Array.isArray(this.max) && this.max[1] ? this.max[1] : null; - if (time && (timeMin || timeMax)) { - time = time.timeLimit(timeMin, timeMax); - } + if (date && !time) time = new PrizmTime(0, 0, 0); + const dateMin = this.min instanceof PrizmDay ? this.min : this.min && this.min[0]; + const dateMax = this.max instanceof PrizmDay ? this.max : this.max && this.max[0]; - this.focusableElement?.updateNativeValues({ - idx: 0, - value: date?.toString() ?? '', - }); + // correct min max time + if (date) date = date.dayLimit(dateMin, dateMax); + + if (date) time = this.limitTime(date, time, dateMin, dateMax); + + this.focusableElement?.updateNativeValues( + { + idx: 0, + value: date?.toString() ?? '', + }, + { + idx: 1, + value: time?.toString() ?? '', + } + ); // force update native value this.nativeValue$$.next([ @@ -343,6 +354,13 @@ export class PrizmInputLayoutDateTimeComponent this.updateValue([date, time]); } + private limitTime(date: PrizmDay, time: PrizmTime | null, dateMin: PrizmDay, dateMax: PrizmDay) { + const timeMin = Array.isArray(this.min) && this.min[1] ? this.min[1] : null; + const timeMax = Array.isArray(this.max) && this.max[1] ? this.max[1] : null; + + return prizmTimeLimitWithinRange(date, time, dateMin, dateMax, timeMin, timeMax); + } + public onTimeValueChange(value: string): void { if (value === this.computedTimeValue()) return; this.nativeValue$$.next([this.nativeValue$$.value[0], value]); @@ -411,6 +429,7 @@ export class PrizmInputLayoutDateTimeComponent public onOpenChange(open: boolean): void { this.open = open; this.changeDetectorRef.markForCheck(); + if (!open) this.completeDateIfAreNotPending(); } public override writeValue(value: [PrizmDay | null, PrizmTime | null] | null): void { diff --git a/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less b/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less index e48e611c0c..90e2f4767f 100644 --- a/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less +++ b/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less @@ -1,6 +1,14 @@ +:host { + height: 100%; +} .container { display: flex; flex-direction: column; + height: 100%; + + [prizmInputIconButton] { + height: 50%; + } } :host-context(.prizm-input-form-outer[data-size='m']) { diff --git a/libs/components/src/lib/components/input/input-number/input-number.component.ts b/libs/components/src/lib/components/input/input-number/input-number.component.ts index b8539f0f7d..4f9f9652ca 100644 --- a/libs/components/src/lib/components/input/input-number/input-number.component.ts +++ b/libs/components/src/lib/components/input/input-number/input-number.component.ts @@ -32,7 +32,7 @@ import { PrizmHintDirective } from '../../../directives'; export class PrizmInputNumberComponent extends PrizmInputControl implements OnInit { private hasSymbol = false; - destroy$ = inject(PrizmDestroyService); + readonly destroy$ = inject(PrizmDestroyService); public get empty() { return this.el.nativeElement.value == '' && !this.hasSymbol; } @@ -80,6 +80,10 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme @HostBinding('attr.placeholder') placeholder?: string; + @Input() + @HostBinding('attr.title') + title = ''; + @Input() min: number | null = null; @Input() max: number | null = null; // TODO later create input with support zero postfix for number @@ -111,7 +115,6 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme @HostListener('input', ['$event.data']) @HostListener('paste', ['$event.clipboardData.getData("Text")']) public onInput(data: string) { - this.validateMinMax(); this.input$$.next(data); } @@ -128,20 +131,6 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme this.stateChanges.next(); } - private validateMinMax() { - if (this.max !== null && this.max < this.value) { - this.el.nativeElement.value = this.max.toString(); - this.stateChanges.next(); - return; - } - - if (this.min !== null && this.min > this.value) { - this.el.nativeElement.value = this.min.toString(); - this.stateChanges.next(); - return; - } - } - public clear(ev: MouseEvent): void { this.ngControl.control?.setValue(null); this.markAsTouched(); @@ -209,6 +198,7 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme // this.overrideSetValueMethod(); this.prizmHint_.ngOnInit(); this.inputHint?.updateHint(); + this.initUpdateParentOnChangeStatus(); this.input$$ .pipe( @@ -226,6 +216,17 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme this.prizmHint_.ngOnDestroy(); } + private initUpdateParentOnChangeStatus() { + this.ngControl?.statusChanges + ?.pipe( + tap(() => { + this.stateChanges.next(); + }), + takeUntil(this.destroy$) + ) + .subscribe(); + } + // TODO change overriding later // private overrideSetValueMethod(): void { // if (this.ngControl.control) { diff --git a/libs/components/src/lib/components/input/input-text/input-block.component.ts b/libs/components/src/lib/components/input/input-text/input-block.component.ts index 60eb85f986..017c509c75 100644 --- a/libs/components/src/lib/components/input/input-text/input-block.component.ts +++ b/libs/components/src/lib/components/input/input-text/input-block.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, ElementRef, Optional, Self } from '@angular/core'; +import { ChangeDetectorRef, Component, ElementRef, Optional, Renderer2, Self } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { PrizmDestroyService } from '@prizm-ui/helpers'; import { PrizmInputControl } from '../common/base/input-control.class'; @@ -43,9 +43,10 @@ export class PrizmInputBlockComponent extends PrizmInputTextComponent implements @Optional() @Self() public readonly ngControl_: NgControl, public readonly elementRef_: ElementRef, private readonly destroy_: PrizmDestroyService, - private readonly cdr_: ChangeDetectorRef + private readonly cdr_: ChangeDetectorRef, + private readonly renderer_: Renderer2 ) { - super(ngControl_, elementRef_, destroy_, cdr_); + super(ngControl_, elementRef_, destroy_, cdr_, renderer_); if (this.ngControl != null) { this.ngControl.valueAccessor = this; diff --git a/libs/components/src/lib/components/input/input-text/input-text.component.ts b/libs/components/src/lib/components/input/input-text/input-text.component.ts index eddd77a411..b39486f1c7 100644 --- a/libs/components/src/lib/components/input/input-text/input-text.component.ts +++ b/libs/components/src/lib/components/input/input-text/input-text.component.ts @@ -12,6 +12,7 @@ import { OnInit, Optional, Output, + Renderer2, Self, } from '@angular/core'; import { NgControl, NgModel, UntypedFormControl, Validators } from '@angular/forms'; @@ -113,7 +114,7 @@ export class PrizmInputTextComponent, private readonly destroy: PrizmDestroyService, - private readonly cdr: ChangeDetectorRef + private readonly cdr: ChangeDetectorRef, + private readonly renderer2_: Renderer2 ) { super(); this.nativeElementType = elementRef.nativeElement.type; @@ -205,14 +207,6 @@ export class PrizmInputTextComponent, private readonly destroy: PrizmDestroyService, - private readonly cdr: ChangeDetectorRef + private readonly cdr: ChangeDetectorRef, + private readonly renderer2_: Renderer2, ) { super(); this.nativeElementType = elementRef.nativeElement.type; @@ -183,7 +190,7 @@ export class PrizmInputTextComponent { - this.maybeMask, this.maybeMask?.writeValue(null as any); + this.maybeMask?.writeValue(null as any); }), takeUntil(this.destroy) ) @@ -200,14 +207,6 @@ export class PrizmInputTextComponent, private readonly destroy: PrizmDestroyService, - private readonly cdr: ChangeDetectorRef + private readonly cdr: ChangeDetectorRef, + private readonly renderer2_: Renderer2, ) { super(); this.nativeElementType = elementRef.nativeElement.type; @@ -182,7 +189,7 @@ export class PrizmInputTextComponent { - this.maybeMask, this.maybeMask?.writeValue(null as any); + this.maybeMask?.writeValue(null as any); }), takeUntil(this.destroy) ) @@ -199,14 +206,6 @@ export class PrizmInputTextComponent, private readonly destroy: PrizmDestroyService, - private readonly cdr: ChangeDetectorRef + private readonly cdr: ChangeDetectorRef, + private readonly renderer2_: Renderer2, ) { super(); this.nativeElementType = elementRef.nativeElement.type; @@ -205,14 +207,6 @@ export class PrizmInputTextComponent @@ -25,6 +26,7 @@ [value]="value" [disabledItemHandler]="disabledItemHandler" [showAdjacent]="false" + [rangeState]="rangeStates[1]" (dayClick)="onDayClick($event)" (monthChange)="onSectionSecondViewedMonth($event)" > diff --git a/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts b/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts index c91e21dd95..62556e9fe2 100644 --- a/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts +++ b/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts @@ -24,6 +24,7 @@ import { PrizmBooleanHandler } from '../../../types/handler'; import { PrizmMapper } from '../../../types/mapper'; import { PrizmMarkerHandler } from '../../../types/marker-handler'; import { PrizmAbstractTestId } from '../../../abstract/interactive'; +import { PrizmRangeState } from '../../../@core/enums'; /** * @internal @@ -64,6 +65,8 @@ export class PrizmPrimitiveCalendarRangeComponent extends PrizmAbstractTestId im @prizmDefaultProp() value: PrizmDayRange | null = null; + readonly rangeStates = [PrizmRangeState.Start, PrizmRangeState.End]; + @Output() readonly dayClick = new EventEmitter(); diff --git a/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less b/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less index c5dc62e132..05ca2557b1 100644 --- a/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less +++ b/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less @@ -1,11 +1,15 @@ @import '../../../../styles/ui-local.less'; -@itemSize: 2.25rem; +@itemSize: 40px; -.picker(@itemSize); +.picker(@itemSize, @itemSize); :host { width: @itemSize * 7; + + .footer:not(:empty) { + margin-top: 8px; + } } .z-item { @@ -63,7 +67,6 @@ height: 4px; width: 50%; bottom: 4px; - transform: translateX(50%); border-radius: 2px; background-color: var(--prizm-status-day-color); @@ -89,3 +92,14 @@ ); } } + +[data-range='single']:not([data-state='hovered']) { + .z-status { + &[data-prizm-status='index'] { + background-color: var( + --prizm-calendar-day-status-secondary-default, + var(--prizm-v3-status-info-secondary-default) + ); + } + } +} diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less index a5c4b996b9..db470b58b0 100644 --- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less +++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less @@ -1,27 +1,14 @@ @import '../../../../styles/ui-local.less'; -@itemSize: 3.9375rem; +@itemWidth: 93px; +@itemHeight: 70px; -.picker(@itemSize); +.picker(@itemWidth, @itemHeight); :host { - width: @itemSize * 4; -} - -.z-row { - margin: 16px 0; - gap: 4px; - - &:first-child { - margin-top: 0; - } - - &:last-child { - margin-bottom: 0; - } + width: 280px; } .z-cell { flex-grow: 1; - width: 100%; } diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts index 40f9d83158..e1db3772f0 100644 --- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts +++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts @@ -19,6 +19,7 @@ import { PrizmAbstractTestId } from '../../../abstract/interactive'; import { PrizmLetDirective } from '@prizm-ui/helpers'; import { CommonModule } from '@angular/common'; import { PrizmMonthPipeModule } from '../../../pipes'; +import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; const ITEMS_IN_ROW = 3; const ROWS = 4; @@ -70,6 +71,17 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId { @prizmDefaultProp() disabledItemHandler: PrizmBooleanHandler = PRIZM_ALWAYS_FALSE_HANDLER; + @Input() + @prizmDefaultProp() + rangeState: PrizmRangeState = PrizmRangeState.Single; + + @Input() + @prizmDefaultProp() + set intervalSupport(value: BooleanInput) { + this._intervalSupport = coerceBooleanProperty(value); + } + private _intervalSupport = false; + @Output() readonly monthClick = new EventEmitter(); @@ -102,10 +114,11 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId { } public getItemState(item: number): PrizmInteractiveState | null { - const { disabledItemHandler, max, pressedItem, hoveredItem } = this; + const { disabledItemHandler, max, min, pressedItem, hoveredItem } = this; if ( (max.month < item && max.year <= this.currentYear) || + (min.month > item && min.year >= this.currentYear) || (disabledItemHandler !== PRIZM_ALWAYS_FALSE_HANDLER && disabledItemHandler(item)) ) { return PrizmInteractiveState.Disabled; @@ -123,7 +136,7 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId { } public getItemRange(item: number): PrizmRangeState | null { - const { value, hoveredItem } = this; + const { value } = this; if (value === null) { return null; @@ -133,51 +146,27 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId { return value.month === item && value.year === this.currentYear ? PrizmRangeState.Single : null; } - if ( - this.value instanceof PrizmDayRange && - this.value.isMonthInRange(new PrizmMonth(this.currentYear, item)) - ) { - return PrizmRangeState.Single; + if (this._intervalSupport) { + return value.from.month === item && value.from.year === this.currentYear + ? PrizmRangeState.Start + : value.to.month === item && value.from.year === this.currentYear + ? PrizmRangeState.End + : null; } - if ( - (value.from.month === item && !value.from.monthSame(value.to)) || - (hoveredItem !== null && - hoveredItem > value.from.month && - value.from.month === item && - value.from.monthSame(value.to)) || - (hoveredItem !== null && - hoveredItem === item && - hoveredItem === value.from.month && - value.from.monthSame(value.to)) - ) { - return PrizmRangeState.Single; + if (this.rangeState === PrizmRangeState.Start && value.from.month === item) { + return PrizmRangeState.Start; + } - // TODO finish it after add support intervals - // return PrizmRangeState.Start; + if (this.rangeState === PrizmRangeState.End && value.to.month === item) { + return PrizmRangeState.End; } - // TODO finish it after add support intervals - // if ( - // (value.to.month === item && !value.from.monthSame(value.to)) || - // (hoveredItem !== null && - // hoveredItem < value.from.month && - // value.from.month === item && - // value.from.monthSame(value.to)) || - // (hoveredItem !== null && - // hoveredItem === item && - // hoveredItem > value.from.month && - // value.from.monthSame(value.to)) - // ) { - // return PrizmRangeState.Single; - // - // - // // return PrizmRangeState.End; - // } - - return value.from.monthSame(value.to) && value.from.month === item && value.from.year === this.currentYear - ? PrizmRangeState.Single - : null; + if (value.from.monthSame(value.to) && value.from.month === item && value.from.year === this.currentYear) { + return PrizmRangeState.Single; + } + + return null; } public itemIsToday(item: number): boolean { @@ -188,7 +177,7 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId { * not support interval * */ public itemIsInterval(item: number): boolean { - return false; + return this._intervalSupport ? this.itemIsIntervalNew(item) : false; } /** diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts index db6d5031f5..6504db43b3 100644 --- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts +++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts @@ -1,12 +1,5 @@ import { NgModule } from '@angular/core'; import { PrizmPrimitiveMonthPickerComponent } from './primitive-month-picker.component'; -import { PrizmLetModule } from '@prizm-ui/helpers'; -import { PrizmRepeatTimesModule } from '../../../directives/repeat-times/repeat-times.module'; -import { PrizmHoveredModule } from '../../../directives/hovered/hovered.module'; -import { PrizmPressedModule } from '../../../directives/pressed/pressed.module'; -import { PrizmScrollIntoViewModule } from '../../../directives/scroll-into-view/scroll-into-view.module'; -import { PrizmMonthPipeModule } from '../../../pipes/month'; -import { CommonModule } from '@angular/common'; /** * @deprecated diff --git a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts index 1d00efa667..e2192d31e4 100644 --- a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts +++ b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts @@ -4,6 +4,7 @@ import { PrizmFocusableModule, PrizmFocusedModule, PrizmFocusVisibleModule, + PrizmHintDirective, PrizmPreventDefaultModule, } from '../../../directives'; import { PrizmButtonModule } from '../../button/button.module'; @@ -18,6 +19,7 @@ import { PrizmPrimitiveSpinButtonComponent } from './primitive-spin-button.compo PrizmFocusableModule, PrizmPreventDefaultModule, PrizmButtonModule, + PrizmHintDirective, ], declarations: [PrizmPrimitiveSpinButtonComponent], exports: [PrizmPrimitiveSpinButtonComponent], diff --git a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html index eb4e7e54e8..62ef87ed1a 100644 --- a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html +++ b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html @@ -19,7 +19,8 @@ icon="arrows-chevron-left" appearance="secondary" [class.z-arrow_hidden]="leftComputedDisabled" - [title]="texts[0]" + [prizmHint]="texts[0]" + [prizmHintDirection]="'b'" [focusable]="false" (click)="onLeftClick()" > @@ -36,7 +37,8 @@ icon="arrows-chevron-right" [appearanceType]="mode" [class.z-arrow_hidden]="rightComputedDisabled" - [title]="texts[1]" + [prizmHint]="texts[1]" + [prizmHintDirection]="'b'" [focusable]="false" (click)="onRightClick()" > diff --git a/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html b/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html index 5c84a18cb7..251642493c 100644 --- a/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html +++ b/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html @@ -1,11 +1,34 @@
    -
    - {{ value | prizmMonth | async }} +
    +
    -
    - {{ value.formattedYear }} +
    +
    @@ -20,37 +43,3 @@
    - - -
    - -
    -
    - - -
    - -
    -
    diff --git a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less index 0e840181af..b9917ae7d3 100644 --- a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less +++ b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less @@ -1,21 +1,14 @@ @import '../../../../styles/ui-local.less'; -@itemSize: 3.9375rem; +@itemWidth: var(--prizm-year-item-widtn, 93px); +@itemHeight: var(--prizm-year-item-height, 56px); -.picker(@itemSize); +.picker(@itemWidth, @itemHeight); :host { - width: @itemSize * 4; + width: var(--prizm-year-picker-widtn, 280px); } -.z-row { - margin: 0.875rem 0; - - &:first-child { - margin-top: 0; - } - - &:last-child { - margin-bottom: 0; - } +.z-cell { + flex-grow: 1; } diff --git a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts index 4b17f9705c..27680b90ef 100644 --- a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts +++ b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts @@ -16,8 +16,10 @@ import { import { PrizmRangeState } from '../../../@core/enums/range-state'; import { PrizmAbstractTestId } from '../../../abstract/interactive'; import { PrizmLetDirective } from '@prizm-ui/helpers'; +import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; const LIMIT = 100; +const MIN_ROW_COUNT = 5; const ITEMS_IN_ROW = 3; @Component({ @@ -59,6 +61,17 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { @prizmDefaultProp() disabledItemHandler: PrizmBooleanHandler = PRIZM_ALWAYS_FALSE_HANDLER; + @Input() + @prizmDefaultProp() + rangeState: PrizmRangeState = PrizmRangeState.Single; + + @Input() + @prizmDefaultProp() + set intervalSupport(value: BooleanInput) { + this._intervalSupport = coerceBooleanProperty(value); + } + private _intervalSupport = false; + @Output() readonly yearClick = new EventEmitter(); @@ -72,7 +85,8 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { override readonly testId_ = 'ui_primitive_year_picker'; get rows(): number { - return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW); + const calculatedRows = Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW); + return calculatedRows < MIN_ROW_COUNT ? MIN_ROW_COUNT : calculatedRows; } get calculatedMin(): number { @@ -121,7 +135,7 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { } public getItemRange(item: number): PrizmRangeState | null { - const { value, hoveredItem } = this; + const { value } = this; if (value === null) { return null; @@ -131,48 +145,27 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { return value.year === item ? PrizmRangeState.Single : null; } - if ( - (value instanceof PrizmDayRange || value instanceof PrizmMonthRange) && - value.isYearInRange(new PrizmYear(item)) - ) { - return PrizmRangeState.Single; + if (this._intervalSupport) { + return value.from.year === item + ? PrizmRangeState.Start + : value.to.year === item + ? PrizmRangeState.End + : null; } - if ( - (value.from.year === item && !value.from.yearSame(value.to)) || - (hoveredItem !== null && - hoveredItem > value.from.year && - value.from.year === item && - value.from.yearSame(value.to)) || - (hoveredItem !== null && - hoveredItem === item && - hoveredItem < value.from.year && - value.from.yearSame(value.to)) - ) { - return PrizmRangeState.Single; + if (this.rangeState === PrizmRangeState.Start && value.from.year === item) { + return PrizmRangeState.Start; + } - // TODO add after add support intervals - // return PrizmRangeState.Start; + if (this.rangeState === PrizmRangeState.End && value.to.year === item) { + return PrizmRangeState.End; } - if ( - (value.to.year === item && !value.from.yearSame(value.to)) || - (hoveredItem !== null && - hoveredItem < value.from.year && - value.from.year === item && - value.from.yearSame(value.to)) || - (hoveredItem !== null && - hoveredItem === item && - hoveredItem > value.from.year && - value.from.yearSame(value.to)) - ) { + if (value.from.yearSame(value.to) && value.from.year === item) { return PrizmRangeState.Single; - - // TODO add after add support intervals - // return PrizmRangeState.End; } - return value.from.yearSame(value.to) && value.from.year === item ? PrizmRangeState.Single : null; + return null; } public itemIsToday(item: number): boolean { @@ -183,11 +176,11 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { * not support interval * */ public itemIsInterval(item: number): boolean { - return false; + return this._intervalSupport ? this.itemIsIntervalNew(item) : false; } /** - * TODO with support intervals + * with support intervals * */ public itemIsIntervalNew(item: number): boolean { const { value, hoveredItem } = this; @@ -197,7 +190,7 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId { } if (!value.from.yearSame(value.to)) { - return value.from.year <= item && value.to.year > item; + return value.from.year <= item && value.to.year >= item; } if (hoveredItem === null || value.from.year === hoveredItem) { diff --git a/libs/components/src/lib/components/listing-item/listing-item.component.less b/libs/components/src/lib/components/listing-item/listing-item.component.less index 2af7514d1b..56a53e9399 100644 --- a/libs/components/src/lib/components/listing-item/listing-item.component.less +++ b/libs/components/src/lib/components/listing-item/listing-item.component.less @@ -29,8 +29,8 @@ } } - &.item-container__selected:not(.item-container__disabled):has(.container-left:not(:empty)):hover { - background-color: var(--prizm-listing-item-row-instruments-hover, var(--prizm-v3-table-fill-row-hover)); + &.item-container__selected:not(.item-container__disabled):hover { + background-color: var(--prizm-listing-item-row-selected-hover, var(--prizm-v3-table-fill-row-active)); } &:active, diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less index b0b5afd0ad..da77bdf2ca 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less @@ -6,7 +6,7 @@ .prizm-navigation-menu-group { --prizm-empty-message__padding: 16px 32px; - border-bottom: 1px solid var(--prizm-v3-background-stroke); + border-top: 1px solid var(--prizm-v3-background-stroke); &_expanded:has(.empty-message) { border-bottom: none; diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html index eafea73b7d..582d93d747 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html @@ -1,9 +1,12 @@
    -

    +

    {{ item.text }}

    diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.less b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.less index 024c28391f..b5942d706b 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.less +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.less @@ -24,8 +24,11 @@ background: var(--prizm-v3-table-fill-row-hover); } - &_active { + &_active_node { background: var(--prizm-v3-table-fill-row-active); + } + + &_active { border-left-color: var( --prizm-navigation-active-row-marker-color, var(--prizm-v3-status-info-primary-default) @@ -49,6 +52,10 @@ margin: 0; } + &__extra:not(:empty) { + margin: 0 8px; + } + /* expand icon */ .expand-button { .transition(transform); diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.ts b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.ts index 3fffcced15..1932fc305e 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.ts +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.ts @@ -11,9 +11,11 @@ import { InternalPrizmNavigationMenuItem, ViewMode } from '../../interfaces'; import { PrizmAbstractTestId } from '@prizm-ui/core'; import { PrizmIconsSvgModule } from '@prizm-ui/icons'; import { NgIf, NgTemplateOutlet } from '@angular/common'; -import { PrizmButtonModule } from '../../../button/button.module'; import { PrizmInputCommonModule } from '../../../input/common/input-common.module'; import { PrizmHoveredModule } from '../../../../directives/hovered'; +import { PrizmHintDirective } from '../../../../directives'; +import { PrizmButtonComponent } from '../../../button'; +import { prizmIsTextOverflow } from '../../../../util'; @Component({ selector: 'prizm-navigation-menu-item', @@ -27,7 +29,8 @@ import { PrizmHoveredModule } from '../../../../directives/hovered'; NgIf, NgTemplateOutlet, PrizmInputCommonModule, - PrizmButtonModule, + PrizmButtonComponent, + PrizmHintDirective, ], }) export class PrizmNavigationMenuItemComponent extends PrizmAbstractTestId { @@ -39,12 +42,14 @@ export class PrizmNavigationMenuItemComponent extends PrizmAbstractTestId { @Input() itemExtraTemplate!: TemplateRef; @Input() isExpandable!: boolean; @Input() isExpanded!: boolean; + @Input() isActiveNode!: boolean; @Input() isActive!: boolean; @Input() item!: InternalPrizmNavigationMenuItem; @Input() mode!: ViewMode; @Input() showGoToButtons!: boolean; - isHovered = false; + public readonly prizmIsTextOverflow = prizmIsTextOverflow; + public isHovered = false; get expandButtonVisible(): boolean { return this.mode === 'rubricator' ? !!this.item.isRubricator : this.isExpandable; diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.html b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.html index ab7b18f5e3..cf4086055b 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.html +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.html @@ -13,6 +13,7 @@ [item]="item" [mode]="mode" [itemExtraTemplate]="itemExtraTemplate" + [isActiveNode]="getItemIsActiveNode(item)" [isActive]="getItemIsActive(item)" [isExpandable]="menuItemsChildrenHandler(item).length > 0" [isExpanded]="getItemIsExpanded(item)" diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.ts b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.ts index cdfab37933..c62193aded 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.ts +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-items/prizm-navigation-menu-items.component.ts @@ -96,7 +96,7 @@ export class PrizmNavigationMenuItemsComponent< return this.expandedItemsMap.get(item) ?? false; } - public getItemIsActive(item: InternalPrizmNavigationMenuItem): boolean { + public getItemIsActiveNode(item: InternalPrizmNavigationMenuItem): boolean { if (item === this.activeItem) return true; if (!this.getItemIsExpanded(item) && item.children && this.mode !== 'rubricator') { @@ -107,6 +107,12 @@ export class PrizmNavigationMenuItemsComponent< return false; } + public getItemIsActive(item: InternalPrizmNavigationMenuItem): boolean { + if (item === this.activeItem) return true; + + return false; + } + public triggerCdr(): void { this.cdr.markForCheck(); this.menuItemsList?.forEach(itemComponent => itemComponent.cdr.markForCheck()); diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.html b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.html index f7d53b9bd3..7c46859ea7 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.html +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.html @@ -1,7 +1,9 @@
    -
    {{ title }}
    +
    + {{ title }} +
    -
    - - -
    + +
    + + +
    +
    -
    - -
    + +
    + +
    +
    diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.less b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.less index a1827324ef..281da36c46 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.less +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.less @@ -10,7 +10,6 @@ &__header { overflow: hidden; - border-bottom: 1px solid var(--prizm-v3-background-stroke); } &__content { @@ -54,36 +53,30 @@ } } - .no-groups-content { - overflow: auto; + .scrollable { height: 100%; } + .no-groups-content { + &__empty { + height: 100%; + } + } + .groups-content { + height: 100%; + overflow: hidden; display: flex; flex-direction: column; - overflow: hidden; - height: 100%; &__top { flex: 1; - overflow: auto; display: flex; flex-direction: column; } &__bottom { flex-shrink: 1; - overflow: hidden; } } } - -&::-webkit-scrollbar { - width: 0px; - background: transparent; -} - -&::-webkit-scrollbar-track { - background: transparent; -} diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.ts b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.ts index a66ae3b3f4..349e170468 100644 --- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.ts +++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu/prizm-navigation-menu.component.ts @@ -32,9 +32,11 @@ import { ReactiveFormsModule } from '@angular/forms'; import { PrizmTreeModule } from '../../../tree'; import { PrizmIconsSvgModule } from '@prizm-ui/icons'; import { PrizmButtonComponent } from '../../../button'; -import { PolymorphOutletDirective, PrizmHoveredDirective } from '../../../../directives'; +import { PolymorphOutletDirective, PrizmHintDirective, PrizmHoveredDirective } from '../../../../directives'; import { PrizmAccordionComponent } from '../../../accordion'; import { PrizmNavigationMenuToolbarComponent } from '../prizm-navigation-menu-toolbar/prizm-navigation-menu-toolbar.component'; +import { prizmIsTextOverflow } from '../../../../util'; +import { PrizmScrollbarComponent } from '../../../scrollbar'; @Component({ selector: 'prizm-navigation-menu', @@ -53,6 +55,8 @@ import { PrizmNavigationMenuToolbarComponent } from '../prizm-navigation-menu-to PolymorphOutletDirective, PrizmNavigationMenuGroupComponent, PrizmNavigationMenuToolbarComponent, + PrizmHintDirective, + PrizmScrollbarComponent, ], providers: [PrizmNavigationMenuService, PrizmNavigationMenuToolbarService, PrizmDestroyService], }) @@ -77,7 +81,9 @@ export class PrizmNavigationMenuComponent< @Input() headerExtraTemplate!: TemplateRef; @Input() set activeItem(activeItem: UserItem | null) { - this.menuService.setActiveItem(activeItem as UserItem); + queueMicrotask(() => { + this.menuService.setActiveItem(activeItem as UserItem); + }); } @Input() set itemKeyName(keyName: string) { this.menuService.setItemKeyName(keyName); @@ -124,6 +130,8 @@ export class PrizmNavigationMenuComponent< headerIsHovered!: boolean; + public readonly prizmIsTextOverflow = prizmIsTextOverflow; + constructor( private menuService: PrizmNavigationMenuService, private destroy$: PrizmDestroyService diff --git a/libs/components/src/lib/components/navigation-menu/services/prizm-navigation-menu-group.service.ts b/libs/components/src/lib/components/navigation-menu/services/prizm-navigation-menu-group.service.ts index 4f6c42b15c..2298660467 100644 --- a/libs/components/src/lib/components/navigation-menu/services/prizm-navigation-menu-group.service.ts +++ b/libs/components/src/lib/components/navigation-menu/services/prizm-navigation-menu-group.service.ts @@ -103,18 +103,23 @@ export class PrizmNavigationMenuGroupService< this.searchState$$, ]).pipe( map(([modeBasedItems, searchState]) => { - if (searchState.enabled && searchState.value === '') { - return []; - } - if (searchState.enabled) { - const filtered = filterItems(modeBasedItems, item => - item.text.toLowerCase().includes(searchState.value.toLowerCase()) - ); - traverseAllDeep(filtered, item => this.temporaryExpandedItemsMap.set(item, true)); + const searchValue = + searchState.value !== null && searchState.value !== undefined + ? searchState.value.toLowerCase() + : ''; + + const filtered = filterItems(modeBasedItems, item => item.text.toLowerCase().includes(searchValue)); + if (searchValue !== '') { + traverseAllDeep(filtered, item => this.temporaryExpandedItemsMap.set(item, true)); + } return filtered; } + if (!searchState.enabled) { + this.temporaryExpandedItemsMap.clear(); + } + return modeBasedItems; }) ); diff --git a/libs/components/src/lib/components/navigation/components/prizm-navigation-item-expandable/prizm-navigation-item-expandable.component.html b/libs/components/src/lib/components/navigation/components/prizm-navigation-item-expandable/prizm-navigation-item-expandable.component.html index d633ca5013..cf4967f5b7 100644 --- a/libs/components/src/lib/components/navigation/components/prizm-navigation-item-expandable/prizm-navigation-item-expandable.component.html +++ b/libs/components/src/lib/components/navigation/components/prizm-navigation-item-expandable/prizm-navigation-item-expandable.component.html @@ -1,9 +1,18 @@
    -