@testgorilla/tgo-ui 2.10.0 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +112 -0
- package/.editorconfig +16 -0
- package/.eslintignore +5 -0
- package/.eslintrc.js +301 -0
- package/.github/README.md +81 -0
- package/.husky/pre-commit +4 -0
- package/.prettierignore +2 -0
- package/.prettierrc +13 -0
- package/.storybook/main.js +25 -0
- package/.storybook/preview-head.html +10 -0
- package/.storybook/preview.js +107 -0
- package/.storybook/tsconfig.json +24 -0
- package/.storybook/typings.d.ts +4 -0
- package/.stylelintrc.json +30 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/tasks.json +42 -0
- package/CHANGELOG.md +123 -0
- package/angular.json +164 -0
- package/e2e/bannerAction.spec.ts +46 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--default-chromium-darwin.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--default-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--error-chromium-darwin.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--error-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--info-chromium-darwin.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--info-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--warning-chromium-darwin.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--warning-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--with-relative-width-chromium-darwin.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-alert-bars-banner-action--with-relative-width-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-bars-banner-action--default-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-bars-banner-action--error-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-bars-banner-action--info-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-bars-banner-action--warning-chromium-linux.png +0 -0
- package/e2e/bannerAction.spec.ts-snapshots/id-bars-banner-action--with-relative-width-chromium-linux.png +0 -0
- package/e2e/button.spec.ts +53 -0
- package/e2e/button.spec.ts-snapshots/id-button--basic-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--button-as-link-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--button-only-label-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--disabled-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--full-width-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--label-icon-left-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--label-icon-right-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--loading-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--menu-cell-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--menu-trigger-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--only-icon-chromium-linux.png +0 -0
- package/e2e/button.spec.ts-snapshots/id-button--small-chromium-linux.png +0 -0
- package/e2e/card.spec.ts +43 -0
- package/e2e/card.spec.ts-snapshots/id-card--default-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts +47 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--greysacale-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--primary-error-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--primary-petrol-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--primary-teal-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--primary-warning-chromium-linux.png +0 -0
- package/e2e/colors.spec.ts-snapshots/id-foundations-colors--secondary-colors-chromium-linux.png +0 -0
- package/e2e/createAccount.spec.ts +102 -0
- package/e2e/createAccount.spec.ts-snapshots/id-create-account--default-chromium-linux.png +0 -0
- package/e2e/createAccount.spec.ts-snapshots/id-deprecated-create-account--default-chromium-linux.png +0 -0
- package/e2e/createAccount.spec.ts-snapshots/register-with-errors-chromium-linux.png +0 -0
- package/e2e/createAccount.spec.ts-snapshots/register-with-texts-chromium-linux.png +0 -0
- package/e2e/createPassword.spec.ts +94 -0
- package/e2e/createPassword.spec.ts-snapshots/createPassword-with-errors-chromium-linux.png +0 -0
- package/e2e/createPassword.spec.ts-snapshots/createPassword-with-texts-chromium-linux.png +0 -0
- package/e2e/createPassword.spec.ts-snapshots/id-createpassword--default-args-viewMode-story-chromium-linux.png +0 -0
- package/e2e/createPassword.spec.ts-snapshots/id-createpassword--default-chromium-linux.png +0 -0
- package/e2e/createPassword.spec.ts-snapshots/id-deprecated-create-password--default-chromium-linux.png +0 -0
- package/e2e/dialog.spec.ts +43 -0
- package/e2e/dialog.spec.ts-snapshots/id-dialog-dialog--default-chromium-darwin.png +0 -0
- package/e2e/dialog.spec.ts-snapshots/id-dialog-dialog--default-chromium-linux.png +0 -0
- package/e2e/field.spec.ts +51 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--email-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--number-type-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--password-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--search-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--tel-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--text-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--with-disable-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--with-errors-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--with-require-chromium-linux.png +0 -0
- package/e2e/field.spec.ts-snapshots/id-forms-field--without-label-chromium-linux.png +0 -0
- package/e2e/forgotPassword.spec.ts +94 -0
- package/e2e/forgotPassword.spec.ts-snapshots/forgotPassword-with-errors-chromium-linux.png +0 -0
- package/e2e/forgotPassword.spec.ts-snapshots/forgotPassword-with-texts-chromium-linux.png +0 -0
- package/e2e/forgotPassword.spec.ts-snapshots/id-deprecated-forgot-password--default-chromium-linux.png +0 -0
- package/e2e/forgotPassword.spec.ts-snapshots/id-forgotpassword--default-args-viewMode-story-chromium-linux.png +0 -0
- package/e2e/forgotPassword.spec.ts-snapshots/id-forgotpassword--default-chromium-linux.png +0 -0
- package/e2e/label.spec.ts +47 -0
- package/e2e/label.spec.ts-snapshots/id-label--big-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-label--huge-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-label--large-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-label--medium-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-label--small-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-under-review-label--big-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-under-review-label--huge-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-under-review-label--large-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-under-review-label--medium-chromium-linux.png +0 -0
- package/e2e/label.spec.ts-snapshots/id-under-review-label--small-chromium-linux.png +0 -0
- package/e2e/login.spec.ts +102 -0
- package/e2e/login.spec.ts-snapshots/id-deprecated-login--default-chromium-linux.png +0 -0
- package/e2e/login.spec.ts-snapshots/id-login--default-chromium-linux.png +0 -0
- package/e2e/login.spec.ts-snapshots/login-with-errors-chromium-linux.png +0 -0
- package/e2e/login.spec.ts-snapshots/login-with-texts-chromium-linux.png +0 -0
- package/e2e/logo.spec.ts +45 -0
- package/e2e/logo.spec.ts-snapshots/id-logo--default-chromium-linux.png +0 -0
- package/e2e/logo.spec.ts-snapshots/id-logo--powered-by-chromium-linux.png +0 -0
- package/e2e/logo.spec.ts-snapshots/id-logo--reverse-chromium-linux.png +0 -0
- package/e2e/navbar.spec.ts +42 -0
- package/e2e/navbar.spec.ts-snapshots/id-navbar--default-chromium-linux.png +0 -0
- package/e2e/navigation.spec.ts +43 -0
- package/e2e/navigation.spec.ts-snapshots/id-navigation--default-chromium-linux.png +0 -0
- package/e2e/paginator.spec.ts +42 -0
- package/e2e/paginator.spec.ts-snapshots/id-paginator--default-chromium-linux.png +0 -0
- package/e2e/progressBar.spec.ts +42 -0
- package/e2e/progressBar.spec.ts-snapshots/id-progressbar--determinate-chromium-linux.png +0 -0
- package/e2e/table.spec.ts +47 -0
- package/e2e/table.spec.ts-snapshots/id-deprecated-table--default-chromium-linux.png +0 -0
- package/e2e/table.spec.ts-snapshots/id-table--default-chromium-darwin.png +0 -0
- package/e2e/table.spec.ts-snapshots/id-table--default-chromium-linux.png +0 -0
- package/e2e/table.spec.ts-snapshots/id-table--expandable-chromium-darwin.png +0 -0
- package/e2e/table.spec.ts-snapshots/id-table--expandable-chromium-linux.png +0 -0
- package/e2e/typography.spec.ts +42 -0
- package/e2e/typography.spec.ts-snapshots/id-foundations-typography--page-args-viewMode-story-chromium-linux.png +0 -0
- package/globalSetup.js +9 -0
- package/jest.config.js +69 -0
- package/ng-package.json +9 -0
- package/package.json +68 -17
- package/projects/client/src/app/app.component.html +1 -0
- package/projects/client/src/app/app.component.scss +8 -0
- package/projects/client/src/app/app.component.spec.ts +27 -0
- package/projects/client/src/app/app.component.ts +37 -0
- package/projects/client/src/app/app.routes.ts +8 -0
- package/projects/client/src/app/components/avatar/avatar.component.html +10 -0
- package/projects/client/src/app/components/avatar/avatar.component.scss +0 -0
- package/projects/client/src/app/components/avatar/avatar.component.ts +25 -0
- package/projects/client/src/assets/.gitkeep +0 -0
- package/projects/client/src/favicon.ico +0 -0
- package/projects/client/src/index.html +13 -0
- package/projects/client/src/main.ts +15 -0
- package/projects/client/src/styles.scss +10 -0
- package/projects/client/tsconfig.app.json +14 -0
- package/projects/client/tsconfig.spec.json +14 -0
- package/projects/tgo-canopy-ui/__mocks__/alert-bar.mock.ts +18 -0
- package/projects/tgo-canopy-ui/__mocks__/button.mock.ts +34 -0
- package/projects/tgo-canopy-ui/__mocks__/field.mock.ts +10 -0
- package/projects/tgo-canopy-ui/__mocks__/icon.mock.ts +14 -0
- package/projects/tgo-canopy-ui/__mocks__/tag.mock.ts +9 -0
- package/projects/tgo-canopy-ui/assets/.gitkeep +0 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.html +35 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.module.ts +26 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.scss +284 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.spec.ts +37 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.stories.ts +176 -0
- package/projects/tgo-canopy-ui/components/accordion/accordion.component.ts +97 -0
- package/projects/tgo-canopy-ui/components/alert-banner/__snapshots__/alert-banner.component.spec.ts.snap +42 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.html +22 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.scss +39 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.spec.ts +177 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.stories.ts +100 -0
- package/projects/tgo-canopy-ui/components/alert-banner/alert-banner.component.ts +130 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.html +198 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.module.ts +40 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.scss +283 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.spec.ts +238 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.stories.ts +135 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.component.ts +519 -0
- package/projects/tgo-canopy-ui/components/autocomplete/autocomplete.model.ts +22 -0
- package/projects/tgo-canopy-ui/components/autocomplete/includes.pipe.spec.ts +33 -0
- package/projects/tgo-canopy-ui/components/autocomplete/includes.pipe.ts +15 -0
- package/projects/tgo-canopy-ui/components/autocomplete/transform-Item.pipe.ts +21 -0
- package/projects/tgo-canopy-ui/components/autocomplete/transform-item.pipe.spec.ts +24 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.html +23 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.module.ts +14 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.scss +75 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.spec.ts +39 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.stories.ts +111 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.component.ts +76 -0
- package/projects/tgo-canopy-ui/components/avatar/avatar.model.ts +13 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.html +10 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.scss +147 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.spec.ts +57 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.stories.ts +61 -0
- package/projects/tgo-canopy-ui/components/badge/badge.component.ts +99 -0
- package/projects/tgo-canopy-ui/components/badge/badge.model.ts +40 -0
- package/projects/tgo-canopy-ui/components/button/__snapshots__/button.component.spec.ts.snap +64 -0
- package/projects/tgo-canopy-ui/components/button/button.component.html +80 -0
- package/projects/tgo-canopy-ui/components/button/button.component.module.ts +23 -0
- package/projects/tgo-canopy-ui/components/button/button.component.scss +1012 -0
- package/projects/tgo-canopy-ui/components/button/button.component.spec.ts +274 -0
- package/projects/tgo-canopy-ui/components/button/button.component.stories.ts +455 -0
- package/projects/tgo-canopy-ui/components/button/button.component.ts +393 -0
- package/projects/tgo-canopy-ui/components/button/button.model.ts +28 -0
- package/projects/tgo-canopy-ui/components/card/card.component.html +9 -0
- package/projects/tgo-canopy-ui/components/card/card.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/card/card.component.scss +91 -0
- package/projects/tgo-canopy-ui/components/card/card.component.spec.ts +76 -0
- package/projects/tgo-canopy-ui/components/card/card.component.stories.ts +88 -0
- package/projects/tgo-canopy-ui/components/card/card.component.ts +72 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.html +23 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.module.ts +17 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.scss +221 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.spec.ts +191 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.stories.ts +122 -0
- package/projects/tgo-canopy-ui/components/checkbox/checkbox.component.ts +233 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.component.html +16 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.component.module.ts +18 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.component.scss +3 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.component.spec.ts +42 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.component.ts +43 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.model.ts +10 -0
- package/projects/tgo-canopy-ui/components/confirm-dialog/confirm-dialog.stories.ts +37 -0
- package/projects/tgo-canopy-ui/components/datepicker/__snapshots__/datepicker.component.spec.ts.snap +56 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.html +98 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.module.ts +33 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.scss +195 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.spec.ts +249 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.stories.ts +138 -0
- package/projects/tgo-canopy-ui/components/datepicker/datepicker.component.ts +358 -0
- package/projects/tgo-canopy-ui/components/datepicker/no-date-format.directive.spec.ts +35 -0
- package/projects/tgo-canopy-ui/components/datepicker/no-date-format.directive.ts +43 -0
- package/projects/tgo-canopy-ui/components/deprecated-paginator/deprecated-paginator.component.html +5 -0
- package/projects/tgo-canopy-ui/components/deprecated-paginator/deprecated-paginator.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/deprecated-paginator/deprecated-paginator.component.scss +32 -0
- package/projects/tgo-canopy-ui/components/deprecated-paginator/deprecated-paginator.component.stories.ts +31 -0
- package/projects/tgo-canopy-ui/components/deprecated-paginator/deprecated-paginator.component.ts +54 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.component.html +113 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.component.module.ts +25 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.component.scss +188 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.component.stories.ts +620 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.component.ts +160 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/deprecated-table.model.ts +51 -0
- package/projects/tgo-canopy-ui/components/deprecated-table/directives/dynamic-component.directive.ts +41 -0
- package/projects/tgo-canopy-ui/components/dialog/__snapshots__/dialog.component.spec.ts.snap +51 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.html +41 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.module.ts +15 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.scss +133 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.spec.ts +230 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.stories.ts +60 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.component.ts +184 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.service.spec.ts +55 -0
- package/projects/tgo-canopy-ui/components/dialog/dialog.service.ts +33 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/__snapshots__/dialog-custom.component.spec.ts.snap +28 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom +0 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.html +38 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.mdx +38 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.scss +0 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.spec.ts +56 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.stories.ts +27 -0
- package/projects/tgo-canopy-ui/components/dialog-custom/dialog-custom.component.ts +45 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/__snapshots__/dialog-demo.component.spec.ts.snap +21 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.html +4 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.mdx +28 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.module.ts +15 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.scss +12 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.spec.ts +58 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.stories.ts +30 -0
- package/projects/tgo-canopy-ui/components/dialog-demo/dialog-demo.component.ts +33 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.html +13 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.scss +57 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.spec.ts +21 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.stories.ts +48 -0
- package/projects/tgo-canopy-ui/components/divider/divider.component.ts +54 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.html +43 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.module.ts +31 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.scss +237 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.spec.ts +104 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.stories.ts +213 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.component.ts +250 -0
- package/projects/tgo-canopy-ui/components/dropdown/dropdown.model.ts +5 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.html +3 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.module.ts +10 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.scss +41 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.spec.ts +39 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.stories.ts +59 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.component.ts +38 -0
- package/projects/tgo-canopy-ui/components/elevation-shadow/elevation-shadow.constant.ts +9 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.html +25 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.module.ts +13 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.scss +70 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.spec.ts +80 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.stories.ts +159 -0
- package/projects/tgo-canopy-ui/components/empty-state/empty-state.component.ts +174 -0
- package/projects/tgo-canopy-ui/components/field/__snapshots__/field.component.spec.ts.snap +55 -0
- package/projects/tgo-canopy-ui/components/field/field.component.html +105 -0
- package/projects/tgo-canopy-ui/components/field/field.component.module.ts +32 -0
- package/projects/tgo-canopy-ui/components/field/field.component.scss +492 -0
- package/projects/tgo-canopy-ui/components/field/field.component.spec.ts +268 -0
- package/projects/tgo-canopy-ui/components/field/field.component.stories.ts +212 -0
- package/projects/tgo-canopy-ui/components/field/field.component.ts +430 -0
- package/projects/tgo-canopy-ui/components/field/field.model.ts +11 -0
- package/projects/tgo-canopy-ui/components/file-upload/__snapshots__/file-upload.component.spec.ts.snap +59 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.html +94 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.module.ts +23 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.scss +182 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.spec.ts +142 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.stories.ts +96 -0
- package/projects/tgo-canopy-ui/components/file-upload/file-upload.component.ts +284 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.html +32 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.module.ts +14 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.scss +23 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.spec.ts +111 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.stories.ts +28 -0
- package/projects/tgo-canopy-ui/components/file-upload-demo/file-upload-demo.component.ts +74 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo-component.stories.ts +41 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.component.html +210 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.component.module.ts +34 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.component.scss +59 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.component.spec.ts +127 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.component.ts +217 -0
- package/projects/tgo-canopy-ui/components/form-demo/form-demo.model.ts +6 -0
- package/projects/tgo-canopy-ui/components/icon/__snapshots__/icon.component.spec.ts.snap +20 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.html +1 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.module.ts +13 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.scss +66 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.spec.ts +150 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.stories.ts +68 -0
- package/projects/tgo-canopy-ui/components/icon/icon.component.ts +147 -0
- package/projects/tgo-canopy-ui/components/icon/icon.config.ts +658 -0
- package/projects/tgo-canopy-ui/components/icon/icon.model.ts +8 -0
- package/projects/tgo-canopy-ui/components/icon-label/__snapshots__/icon-label.component.spec.ts.snap +15 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.html +2 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.scss +8 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.spec.ts +64 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.stories.ts +48 -0
- package/projects/tgo-canopy-ui/components/icon-label/icon-label.component.ts +53 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/__snapshots__/icons-showcase.component.spec.ts.snap +3487 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.html +17 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.scss +25 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.spec.ts +40 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.stories.ts +44 -0
- package/projects/tgo-canopy-ui/components/icons-showcase/icons-showcase.component.ts +43 -0
- package/projects/tgo-canopy-ui/components/login/login.component.scss +0 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.html +14 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.module.ts +10 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.scss +13 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.spec.ts +162 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.stories.ts +55 -0
- package/projects/tgo-canopy-ui/components/logo/logo.component.ts +148 -0
- package/projects/tgo-canopy-ui/components/logo/logo.model.ts +30 -0
- package/projects/tgo-canopy-ui/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.html +36 -0
- package/projects/tgo-canopy-ui/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.scss +70 -0
- package/projects/tgo-canopy-ui/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.spec.ts +58 -0
- package/projects/tgo-canopy-ui/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.ts +58 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.html +62 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.module.ts +36 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.scss +240 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.spec.ts +136 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.stories.ts +134 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.component.ts +206 -0
- package/projects/tgo-canopy-ui/components/navbar/navbar.model.ts +12 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/__snapshots__/overflow-menu.component.spec.ts.snap +28 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.html +47 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.module.ts +13 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.scss +98 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.spec.ts +124 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.stories.ts +58 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.component.ts +88 -0
- package/projects/tgo-canopy-ui/components/overflow-menu/overflow-menu.model.ts +11 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.html +35 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.scss +61 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.spec.ts +34 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.stories.ts +56 -0
- package/projects/tgo-canopy-ui/components/page-header/page-header.component.ts +64 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.html +10 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.scss +159 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.spec.ts +29 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.stories.ts +36 -0
- package/projects/tgo-canopy-ui/components/paginator/paginator.component.ts +67 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.html +31 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.module.ts +22 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.scss +56 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.spec.ts +45 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.stories.ts +49 -0
- package/projects/tgo-canopy-ui/components/password-criteria/password.component.ts +106 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.html +19 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.module.ts +13 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.scss +54 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.spec.ts +40 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.stories.ts +50 -0
- package/projects/tgo-canopy-ui/components/password-strength/password-strength.component.ts +98 -0
- package/projects/tgo-canopy-ui/components/password-strength-demo/password-strength-demo.component.html +2 -0
- package/projects/tgo-canopy-ui/components/password-strength-demo/password-strength-demo.component.scss +0 -0
- package/projects/tgo-canopy-ui/components/password-strength-demo/password-strength-demo.component.spec.ts +28 -0
- package/projects/tgo-canopy-ui/components/password-strength-demo/password-strength-demo.component.stories.ts +40 -0
- package/projects/tgo-canopy-ui/components/password-strength-demo/password-strength-demo.component.ts +20 -0
- package/projects/tgo-canopy-ui/components/phone-input/join-string.pipe.spec.ts +9 -0
- package/projects/tgo-canopy-ui/components/phone-input/join-strings.pipe.ts +8 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.html +64 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.module.ts +35 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.scss +133 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.spec.ts +212 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.stories.ts +89 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.component.ts +427 -0
- package/projects/tgo-canopy-ui/components/phone-input/phone-input.model.ts +8 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.html +9 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.scss +152 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.spec.ts +76 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.stories.ts +48 -0
- package/projects/tgo-canopy-ui/components/progress-bar/progress-bar.component.ts +82 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.html +26 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.scss +41 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.spec.ts +102 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.stories.ts +69 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.component.ts +114 -0
- package/projects/tgo-canopy-ui/components/radial-progress/radial-progress.model.ts +13 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.html +16 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.module.ts +13 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.scss +175 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.spec.ts +141 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.stories.ts +126 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.component.ts +190 -0
- package/projects/tgo-canopy-ui/components/radio-button/radio-button.model.ts +4 -0
- package/projects/tgo-canopy-ui/components/rating/__snapshots__/rating.component.spec.ts.snap +47 -0
- package/projects/tgo-canopy-ui/components/rating/half-star.pipe.spec.ts +33 -0
- package/projects/tgo-canopy-ui/components/rating/half-star.pipe.ts +17 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.html +31 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.scss +139 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.spec.ts +142 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.stories.ts +87 -0
- package/projects/tgo-canopy-ui/components/rating/rating.component.ts +97 -0
- package/projects/tgo-canopy-ui/components/scale/__snapshots__/scale.component.spec.ts.snap +42 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.html +7 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.scss +71 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.spec.ts +125 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.stories.ts +60 -0
- package/projects/tgo-canopy-ui/components/scale/scale.component.ts +57 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.html +16 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.scss +86 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.spec.ts +69 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.stories.ts +98 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.component.ts +69 -0
- package/projects/tgo-canopy-ui/components/segmented-bar/segmented-bar.model.ts +8 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.html +11 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.module.ts +22 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.scss +44 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.spec.ts +50 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.stories.ts +48 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.component.ts +54 -0
- package/projects/tgo-canopy-ui/components/segmented-button/segmented-button.model.ts +7 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.component.html +37 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.component.module.ts +24 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.component.scss +97 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.component.spec.ts +176 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.component.ts +110 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.model.ts +12 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.service.spec.ts +88 -0
- package/projects/tgo-canopy-ui/components/side-sheet/side-sheet.service.ts +28 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.component.html +5 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.component.scss +14 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.component.spec.ts +26 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.component.stories.ts +54 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.component.ts +98 -0
- package/projects/tgo-canopy-ui/components/side-sheet-demo/side-sheet-demo.module.ts +12 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.component.html +5 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.component.scss +0 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.component.spec.ts +75 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.component.stories.ts +47 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.component.ts +66 -0
- package/projects/tgo-canopy-ui/components/skeleton/skeleton.model.ts +3 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.html +75 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.module.ts +24 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.scss +223 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.spec.ts +103 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.stories.ts +87 -0
- package/projects/tgo-canopy-ui/components/slider/slider.component.ts +185 -0
- package/projects/tgo-canopy-ui/components/slider/slider.model.ts +4 -0
- package/projects/tgo-canopy-ui/components/snackbar/__snapshots__/snackbar.component.spec.ts.snap +44 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.html +33 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.module.ts +16 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.scss +45 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.spec.ts +214 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.stories.ts +159 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.component.ts +196 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.service.spec.ts +52 -0
- package/projects/tgo-canopy-ui/components/snackbar/snackbar.service.ts +37 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.component.html +6 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.component.scss +75 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.component.spec.ts +82 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.component.stories.ts +46 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.component.ts +59 -0
- package/projects/tgo-canopy-ui/components/spinner/spinner.module.ts +10 -0
- package/projects/tgo-canopy-ui/components/step/step.component.html +100 -0
- package/projects/tgo-canopy-ui/components/step/step.component.module.ts +11 -0
- package/projects/tgo-canopy-ui/components/step/step.component.scss +315 -0
- package/projects/tgo-canopy-ui/components/step/step.component.spec.ts +61 -0
- package/projects/tgo-canopy-ui/components/step/step.component.ts +134 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.html +79 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.module.ts +25 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.scss +144 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.spec.ts +64 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.stories.ts +84 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.component.ts +118 -0
- package/projects/tgo-canopy-ui/components/stepper/stepper.model.ts +10 -0
- package/projects/tgo-canopy-ui/components/table/sentence-case.pipe.ts +13 -0
- package/projects/tgo-canopy-ui/components/table/sentence-case.spec.ts +53 -0
- package/projects/tgo-canopy-ui/components/table/table.component.html +290 -0
- package/projects/tgo-canopy-ui/components/table/table.component.module.ts +33 -0
- package/projects/tgo-canopy-ui/components/table/table.component.scss +201 -0
- package/projects/tgo-canopy-ui/components/table/table.component.spec.ts +187 -0
- package/projects/tgo-canopy-ui/components/table/table.component.stories.ts +425 -0
- package/projects/tgo-canopy-ui/components/table/table.component.ts +235 -0
- package/projects/tgo-canopy-ui/components/table/table.model.ts +103 -0
- package/projects/tgo-canopy-ui/components/tabs/tab.directive.ts +33 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.html +19 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.module.ts +22 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.scss +234 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.spec.ts +85 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.stories.ts +73 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.component.ts +79 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.directive.spec.ts +90 -0
- package/projects/tgo-canopy-ui/components/tabs/tabs.model.ts +11 -0
- package/projects/tgo-canopy-ui/components/tag/__snapshots__/tag.component.spec.ts.snap +42 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.html +26 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.module.ts +15 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.scss +161 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.spec.ts +193 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.stories.ts +125 -0
- package/projects/tgo-canopy-ui/components/tag/tag.component.ts +213 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.html +24 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.module.ts +14 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.scss +202 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.spec.ts +197 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.stories.ts +97 -0
- package/projects/tgo-canopy-ui/components/toggle/toggle.component.ts +179 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.component.html +9 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.component.module.ts +10 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.component.spec.ts +53 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.component.stories.ts +235 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.component.ts +81 -0
- package/projects/tgo-canopy-ui/components/tooltip/tooltip.model.ts +6 -0
- package/projects/tgo-canopy-ui/components/validation-error/validation-error.component.html +29 -0
- package/projects/tgo-canopy-ui/components/validation-error/validation-error.component.scss +0 -0
- package/projects/tgo-canopy-ui/components/validation-error/validation-error.component.spec.ts +75 -0
- package/projects/tgo-canopy-ui/components/validation-error/validation-error.component.ts +53 -0
- package/projects/tgo-canopy-ui/components/validation-error/validation-error.module.ts +12 -0
- package/projects/tgo-canopy-ui/directives/digits-only.directive.spec.ts +121 -0
- package/projects/tgo-canopy-ui/directives/digits-only.directive.ts +42 -0
- package/projects/tgo-canopy-ui/directives/drag-drop.directive.spec.ts +84 -0
- package/projects/tgo-canopy-ui/directives/drag-drop.directive.ts +39 -0
- package/projects/tgo-canopy-ui/directives/ellipse-text.directive.spec.ts +57 -0
- package/projects/tgo-canopy-ui/directives/ellipse-text.directive.ts +27 -0
- package/projects/tgo-canopy-ui/directives/select-text.directive.spec.ts +54 -0
- package/projects/tgo-canopy-ui/directives/select-text.directive.ts +37 -0
- package/projects/tgo-canopy-ui/directives/step-line-width.directive.spec.ts +59 -0
- package/projects/tgo-canopy-ui/directives/step-line-width.directive.ts +31 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.component.html +4 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.component.module.ts +10 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.component.scss +318 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.component.spec.ts +47 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.component.ts +22 -0
- package/projects/tgo-canopy-ui/foundations/colors/colors.stories.ts +426 -0
- package/projects/tgo-canopy-ui/foundations/typography/typography.stories.ts +195 -0
- package/projects/tgo-canopy-ui/mocked-assets/images/some_progress.svg +4 -0
- package/projects/tgo-canopy-ui/models/colors.model.ts +88 -0
- package/projects/tgo-canopy-ui/models/screen-breakpoints.model.ts +4 -0
- package/projects/tgo-canopy-ui/pipes/data-property-getter.spec.ts +42 -0
- package/projects/tgo-canopy-ui/pipes/data-property-getter.ts +31 -0
- package/projects/tgo-canopy-ui/pipes/has-validation-error.pipe.spec.ts +32 -0
- package/projects/tgo-canopy-ui/pipes/has-validation-error.pipe.ts +20 -0
- package/projects/tgo-canopy-ui/pipes/name-initials.pipe.spec.ts +44 -0
- package/projects/tgo-canopy-ui/pipes/name-initials.pipe.ts +18 -0
- package/projects/tgo-canopy-ui/pipes/ui-translate.pipe.spec.ts +45 -0
- package/projects/tgo-canopy-ui/pipes/ui-translate.pipe.ts +71 -0
- package/projects/tgo-canopy-ui/polyfills.ts +51 -0
- package/projects/tgo-canopy-ui/providers/is-mobile.ts +11 -0
- package/projects/tgo-canopy-ui/public-api.ts +184 -0
- package/projects/tgo-canopy-ui/services/custom-event-manager.service.spec.ts +57 -0
- package/projects/tgo-canopy-ui/services/custom-event-manager.service.ts +28 -0
- package/projects/tgo-canopy-ui/test-utils/mock-file.spec.ts +44 -0
- package/projects/tgo-canopy-ui/test-utils/mock-file.ts +24 -0
- package/projects/tgo-canopy-ui/test.ts +20 -0
- package/projects/tgo-canopy-ui/utils/alert-bars.utils.spec.ts +47 -0
- package/projects/tgo-canopy-ui/utils/alert-bars.utils.ts +36 -0
- package/projects/tgo-canopy-ui/utils/autocomplete-utils.spec.ts +68 -0
- package/projects/tgo-canopy-ui/utils/autocomplete-utils.ts +66 -0
- package/projects/tgo-canopy-ui/utils/color-contrast.spec.ts +46 -0
- package/projects/tgo-canopy-ui/utils/color-contrast.ts +135 -0
- package/projects/tgo-canopy-ui/utils/localization/language.model.ts +14 -0
- package/projects/tgo-canopy-ui/utils/localization/language.service.mocks.ts +6 -0
- package/projects/tgo-canopy-ui/utils/localization/language.service.spec.ts +25 -0
- package/projects/tgo-canopy-ui/utils/localization/language.service.ts +32 -0
- package/projects/tgo-canopy-ui/utils/table.utils.spec.ts +47 -0
- package/projects/tgo-canopy-ui/utils/table.utils.ts +22 -0
- package/projects/tgo-canopy-ui/utils/transform-theme.ts +9 -0
- package/projects/tgo-canopy-ui/utils/transform.theme.spec.ts +16 -0
- package/projects/tgo-canopy-ui/utils/validators.utils.spec.ts +16 -0
- package/projects/tgo-canopy-ui/utils/validators.utils.ts +9 -0
- package/setupJest.ts +1 -0
- package/transloco.config.js +5 -0
- package/tsconfig.json +46 -0
- package/tsconfig.spec.json +17 -0
- package/tsconfig.ui.json +24 -0
- package/tsconfig.ui.prod.json +10 -0
- package/visual-tests/component-page-objects/avatar-component.ts +30 -0
- package/visual-tests/component-page-objects/base-component.ts +44 -0
- package/visual-tests/component-tests/avatar.spec.ts +32 -0
- package/visual-tests/component-tests/avatar.spec.ts-snapshots/Avatar-Component-Visual-Tests-should-allow-edit-for-the-avatar-1-chromium-linux.png +0 -0
- package/visual-tests/component-tests/avatar.spec.ts-snapshots/Avatar-Component-Visual-Tests-should-display-the-avatar-correctly-1-chromium-linux.png +0 -0
- package/visual-tests/playwright.config.ts +45 -0
- package/visual-tests/runConfig.ts +1 -0
- package/components/accordion/accordion.component.d.ts +0 -76
- package/components/accordion/accordion.component.module.d.ts +0 -12
- package/components/alert-banner/alert-banner.component.d.ts +0 -89
- package/components/alert-banner/alert-banner.component.module.d.ts +0 -10
- package/components/autocomplete/autocomplete.component.d.ts +0 -208
- package/components/autocomplete/autocomplete.component.module.d.ts +0 -21
- package/components/autocomplete/autocomplete.model.d.ts +0 -18
- package/components/autocomplete/includes.pipe.d.ts +0 -12
- package/components/autocomplete/transform-Item.pipe.d.ts +0 -11
- package/components/avatar/avatar.component.d.ts +0 -58
- package/components/avatar/avatar.component.module.d.ts +0 -12
- package/components/avatar/avatar.model.d.ts +0 -7
- package/components/badge/badge.component.d.ts +0 -58
- package/components/badge/badge.component.module.d.ts +0 -9
- package/components/badge/badge.model.d.ts +0 -27
- package/components/button/button.component.d.ts +0 -190
- package/components/button/button.component.module.d.ts +0 -13
- package/components/button/button.model.d.ts +0 -14
- package/components/card/card.component.d.ts +0 -46
- package/components/card/card.component.module.d.ts +0 -9
- package/components/checkbox/checkbox.component.d.ts +0 -147
- package/components/checkbox/checkbox.component.module.d.ts +0 -15
- package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -25
- package/components/confirm-dialog/confirm-dialog.component.module.d.ts +0 -12
- package/components/confirm-dialog/confirm-dialog.model.d.ts +0 -9
- package/components/datepicker/datepicker.component.d.ts +0 -205
- package/components/datepicker/datepicker.component.module.d.ts +0 -18
- package/components/datepicker/no-date-format.directive.d.ts +0 -11
- package/components/deprecated-paginator/deprecated-paginator.component.d.ts +0 -38
- package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +0 -9
- package/components/deprecated-table/deprecated-table.component.d.ts +0 -91
- package/components/deprecated-table/deprecated-table.component.module.d.ts +0 -14
- package/components/deprecated-table/deprecated-table.model.d.ts +0 -45
- package/components/deprecated-table/directives/dynamic-component.directive.d.ts +0 -13
- package/components/dialog/dialog.component.d.ts +0 -108
- package/components/dialog/dialog.component.module.d.ts +0 -11
- package/components/dialog/dialog.service.d.ts +0 -13
- package/components/divider/divider.component.d.ts +0 -39
- package/components/divider/divider.component.module.d.ts +0 -9
- package/components/dropdown/dropdown.component.d.ts +0 -157
- package/components/dropdown/dropdown.component.module.d.ts +0 -17
- package/components/dropdown/dropdown.model.d.ts +0 -5
- package/components/elevation-shadow/elevation-shadow.component.d.ts +0 -26
- package/components/elevation-shadow/elevation-shadow.component.module.d.ts +0 -8
- package/components/elevation-shadow/elevation-shadow.constant.d.ts +0 -8
- package/components/empty-state/empty-state.component.d.ts +0 -124
- package/components/empty-state/empty-state.component.module.d.ts +0 -11
- package/components/field/field.component.d.ts +0 -238
- package/components/field/field.component.module.d.ts +0 -18
- package/components/field/field.model.d.ts +0 -1
- package/components/file-upload/file-upload.component.d.ts +0 -124
- package/components/file-upload/file-upload.component.module.d.ts +0 -14
- package/components/icon/icon.component.d.ts +0 -65
- package/components/icon/icon.component.module.d.ts +0 -10
- package/components/icon/icon.config.d.ts +0 -10
- package/components/icon/icon.model.d.ts +0 -7
- package/components/icon-label/icon-label.component.d.ts +0 -39
- package/components/icon-label/icon-label.component.module.d.ts +0 -9
- package/components/logo/logo.component.d.ts +0 -57
- package/components/logo/logo.component.module.d.ts +0 -8
- package/components/logo/logo.model.d.ts +0 -29
- package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +0 -22
- package/components/navbar/navbar.component.d.ts +0 -113
- package/components/navbar/navbar.component.module.d.ts +0 -20
- package/components/navbar/navbar.model.d.ts +0 -10
- package/components/overflow-menu/overflow-menu.component.d.ts +0 -55
- package/components/overflow-menu/overflow-menu.component.module.d.ts +0 -11
- package/components/overflow-menu/overflow-menu.model.d.ts +0 -10
- package/components/page-header/page-header.component.d.ts +0 -45
- package/components/page-header/page-header.component.module.d.ts +0 -10
- package/components/paginator/paginator.component.d.ts +0 -49
- package/components/paginator/paginator.component.module.d.ts +0 -9
- package/components/password-criteria/password.component.d.ts +0 -49
- package/components/password-criteria/password.component.module.d.ts +0 -13
- package/components/password-strength/password-strength.component.d.ts +0 -52
- package/components/password-strength/password-strength.component.module.d.ts +0 -11
- package/components/phone-input/join-strings.pipe.d.ts +0 -7
- package/components/phone-input/phone-input.component.d.ts +0 -154
- package/components/phone-input/phone-input.component.module.d.ts +0 -20
- package/components/phone-input/phone-input.model.d.ts +0 -8
- package/components/progress-bar/progress-bar.component.d.ts +0 -52
- package/components/progress-bar/progress-bar.component.module.d.ts +0 -9
- package/components/radial-progress/radial-progress.component.d.ts +0 -68
- package/components/radial-progress/radial-progress.component.module.d.ts +0 -10
- package/components/radial-progress/radial-progress.model.d.ts +0 -10
- package/components/radio-button/radio-button.component.d.ts +0 -116
- package/components/radio-button/radio-button.component.module.d.ts +0 -11
- package/components/radio-button/radio-button.model.d.ts +0 -4
- package/components/rating/half-star.pipe.d.ts +0 -14
- package/components/rating/rating.component.d.ts +0 -64
- package/components/rating/rating.component.module.d.ts +0 -10
- package/components/scale/scale.component.d.ts +0 -34
- package/components/scale/scale.component.module.d.ts +0 -8
- package/components/segmented-bar/segmented-bar.component.d.ts +0 -54
- package/components/segmented-bar/segmented-bar.component.module.d.ts +0 -10
- package/components/segmented-bar/segmented-bar.model.d.ts +0 -7
- package/components/segmented-button/segmented-button.component.d.ts +0 -23
- package/components/segmented-button/segmented-button.component.module.d.ts +0 -10
- package/components/segmented-button/segmented-button.model.d.ts +0 -6
- package/components/side-sheet/side-sheet.component.d.ts +0 -49
- package/components/side-sheet/side-sheet.component.module.d.ts +0 -14
- package/components/side-sheet/side-sheet.model.d.ts +0 -10
- package/components/side-sheet/side-sheet.service.d.ts +0 -14
- package/components/skeleton/skeleton.component.d.ts +0 -26
- package/components/skeleton/skeleton.model.d.ts +0 -2
- package/components/slider/slider.component.d.ts +0 -103
- package/components/slider/slider.component.module.d.ts +0 -14
- package/components/slider/slider.model.d.ts +0 -4
- package/components/snackbar/snackbar.component.d.ts +0 -111
- package/components/snackbar/snackbar.component.module.d.ts +0 -12
- package/components/snackbar/snackbar.service.d.ts +0 -12
- package/components/spinner/spinner.component.d.ts +0 -38
- package/components/spinner/spinner.module.d.ts +0 -8
- package/components/step/step.component.d.ts +0 -104
- package/components/step/step.component.module.d.ts +0 -9
- package/components/stepper/stepper.component.d.ts +0 -76
- package/components/stepper/stepper.component.module.d.ts +0 -15
- package/components/stepper/stepper.model.d.ts +0 -9
- package/components/table/sentence-case.pipe.d.ts +0 -7
- package/components/table/table.component.d.ts +0 -93
- package/components/table/table.component.module.d.ts +0 -19
- package/components/table/table.model.d.ts +0 -92
- package/components/tabs/tab.directive.d.ts +0 -18
- package/components/tabs/tabs.component.d.ts +0 -59
- package/components/tabs/tabs.component.module.d.ts +0 -11
- package/components/tabs/tabs.model.d.ts +0 -9
- package/components/tag/tag.component.d.ts +0 -129
- package/components/tag/tag.component.module.d.ts +0 -12
- package/components/toggle/toggle.component.d.ts +0 -105
- package/components/toggle/toggle.component.module.d.ts +0 -12
- package/components/tooltip/tooltip.component.d.ts +0 -44
- package/components/tooltip/tooltip.component.module.d.ts +0 -8
- package/components/tooltip/tooltip.model.d.ts +0 -6
- package/components/validation-error/validation-error.component.d.ts +0 -27
- package/components/validation-error/validation-error.module.d.ts +0 -10
- package/directives/digits-only.directive.d.ts +0 -15
- package/directives/drag-drop.directive.d.ts +0 -12
- package/directives/ellipse-text.directive.d.ts +0 -16
- package/directives/select-text.directive.d.ts +0 -19
- package/directives/step-line-width.directive.d.ts +0 -15
- package/esm2022/assets/i18n/da-dk.json +0 -77
- package/esm2022/assets/i18n/de.json +0 -77
- package/esm2022/assets/i18n/en.json +0 -100
- package/esm2022/assets/i18n/es.json +0 -77
- package/esm2022/assets/i18n/fr.json +0 -77
- package/esm2022/assets/i18n/it-it.json +0 -77
- package/esm2022/assets/i18n/ja-jp.json +0 -77
- package/esm2022/assets/i18n/nb-no.json +0 -77
- package/esm2022/assets/i18n/nl.json +0 -77
- package/esm2022/assets/i18n/pl-pl.json +0 -77
- package/esm2022/assets/i18n/pt-br.json +0 -77
- package/esm2022/assets/i18n/sv-se.json +0 -77
- package/esm2022/components/accordion/accordion.component.mjs +0 -105
- package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
- package/esm2022/components/accordion/accordion.model.mjs +0 -2
- package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -127
- package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -20
- package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -496
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -62
- package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -22
- package/esm2022/components/autocomplete/includes.pipe.mjs +0 -21
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -29
- package/esm2022/components/avatar/avatar.component.mjs +0 -91
- package/esm2022/components/avatar/avatar.component.module.mjs +0 -22
- package/esm2022/components/avatar/avatar.model.mjs +0 -12
- package/esm2022/components/badge/badge.component.mjs +0 -102
- package/esm2022/components/badge/badge.component.module.mjs +0 -19
- package/esm2022/components/badge/badge.model.mjs +0 -28
- package/esm2022/components/button/button.component.mjs +0 -352
- package/esm2022/components/button/button.component.module.mjs +0 -41
- package/esm2022/components/button/button.model.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -75
- package/esm2022/components/card/card.component.module.mjs +0 -19
- package/esm2022/components/card/card.model.mjs +0 -2
- package/esm2022/components/checkbox/checkbox.component.mjs +0 -228
- package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -25
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -48
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
- package/esm2022/components/datepicker/datepicker.component.mjs +0 -302
- package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
- package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
- package/esm2022/components/deprecated-table/deprecated-table.component.mjs +0 -158
- package/esm2022/components/deprecated-table/deprecated-table.component.module.mjs +0 -43
- package/esm2022/components/deprecated-table/deprecated-table.model.mjs +0 -13
- package/esm2022/components/deprecated-table/directives/dynamic-component.directive.mjs +0 -40
- package/esm2022/components/dialog/dialog.component.mjs +0 -193
- package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
- package/esm2022/components/dialog/dialog.service.mjs +0 -32
- package/esm2022/components/divider/divider.component.mjs +0 -65
- package/esm2022/components/divider/divider.component.module.mjs +0 -19
- package/esm2022/components/divider/divider.model.mjs +0 -2
- package/esm2022/components/dropdown/dropdown.component.mjs +0 -228
- package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
- package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
- package/esm2022/components/empty-state/empty-state.component.mjs +0 -195
- package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
- package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
- package/esm2022/components/field/field.component.mjs +0 -409
- package/esm2022/components/field/field.component.module.mjs +0 -58
- package/esm2022/components/field/field.model.mjs +0 -2
- package/esm2022/components/file-upload/file-upload.component.mjs +0 -271
- package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
- package/esm2022/components/icon/icon.component.mjs +0 -127
- package/esm2022/components/icon/icon.component.module.mjs +0 -21
- package/esm2022/components/icon/icon.config.mjs +0 -657
- package/esm2022/components/icon/icon.model.mjs +0 -2
- package/esm2022/components/icon-label/icon-label.component.mjs +0 -53
- package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
- package/esm2022/components/logo/logo.component.mjs +0 -149
- package/esm2022/components/logo/logo.component.module.mjs +0 -18
- package/esm2022/components/logo/logo.model.mjs +0 -32
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -75
- package/esm2022/components/navbar/navbar.component.mjs +0 -200
- package/esm2022/components/navbar/navbar.component.module.mjs +0 -67
- package/esm2022/components/navbar/navbar.model.mjs +0 -2
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -73
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -21
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
- package/esm2022/components/page-header/page-header.component.mjs +0 -81
- package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
- package/esm2022/components/paginator/paginator.component.mjs +0 -76
- package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
- package/esm2022/components/password-criteria/password.component.mjs +0 -115
- package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
- package/esm2022/components/password-strength/password-strength.component.mjs +0 -103
- package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
- package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
- package/esm2022/components/phone-input/phone-input.component.mjs +0 -363
- package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
- package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -74
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -20
- package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -106
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
- package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
- package/esm2022/components/radio-button/radio-button.component.mjs +0 -176
- package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -21
- package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
- package/esm2022/components/rating/half-star.pipe.mjs +0 -23
- package/esm2022/components/rating/rating.component.mjs +0 -92
- package/esm2022/components/rating/rating.component.module.mjs +0 -20
- package/esm2022/components/scale/scale.component.mjs +0 -58
- package/esm2022/components/scale/scale.component.module.mjs +0 -18
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -75
- package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -20
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
- package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -53
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -32
- package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -109
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
- package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
- package/esm2022/components/skeleton/skeleton.component.mjs +0 -71
- package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
- package/esm2022/components/slider/slider.component.mjs +0 -191
- package/esm2022/components/slider/slider.component.module.mjs +0 -43
- package/esm2022/components/slider/slider.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.component.mjs +0 -208
- package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -24
- package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.service.mjs +0 -41
- package/esm2022/components/spinner/spinner.component.mjs +0 -62
- package/esm2022/components/spinner/spinner.model.mjs +0 -2
- package/esm2022/components/spinner/spinner.module.mjs +0 -18
- package/esm2022/components/step/step.component.mjs +0 -110
- package/esm2022/components/step/step.component.module.mjs +0 -19
- package/esm2022/components/stepper/stepper.component.mjs +0 -124
- package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
- package/esm2022/components/stepper/stepper.model.mjs +0 -2
- package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
- package/esm2022/components/table/table.component.mjs +0 -220
- package/esm2022/components/table/table.component.module.mjs +0 -58
- package/esm2022/components/table/table.model.mjs +0 -13
- package/esm2022/components/tabs/tab.directive.mjs +0 -42
- package/esm2022/components/tabs/tabs.component.mjs +0 -99
- package/esm2022/components/tabs/tabs.component.module.mjs +0 -33
- package/esm2022/components/tabs/tabs.model.mjs +0 -2
- package/esm2022/components/tag/tag.component.mjs +0 -201
- package/esm2022/components/tag/tag.component.module.mjs +0 -23
- package/esm2022/components/tag/tag.model.mjs +0 -2
- package/esm2022/components/toggle/toggle.component.mjs +0 -169
- package/esm2022/components/toggle/toggle.component.module.mjs +0 -22
- package/esm2022/components/toggle/toggle.model.mjs +0 -2
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -79
- package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -18
- package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
- package/esm2022/components/validation-error/validation-error.component.mjs +0 -59
- package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
- package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
- package/esm2022/directives/digits-only.directive.mjs +0 -52
- package/esm2022/directives/drag-drop.directive.mjs +0 -55
- package/esm2022/directives/ellipse-text.directive.mjs +0 -37
- package/esm2022/directives/select-text.directive.mjs +0 -41
- package/esm2022/directives/step-line-width.directive.mjs +0 -38
- package/esm2022/models/application-theme.model.mjs +0 -2
- package/esm2022/models/colors.model.mjs +0 -78
- package/esm2022/models/screen-breakpoints.model.mjs +0 -6
- package/esm2022/pipes/data-property-getter.mjs +0 -33
- package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
- package/esm2022/pipes/name-initials.pipe.mjs +0 -25
- package/esm2022/pipes/ui-translate.pipe.mjs +0 -76
- package/esm2022/providers/is-mobile.mjs +0 -11
- package/esm2022/public-api.mjs +0 -184
- package/esm2022/testgorilla-tgo-ui.mjs +0 -5
- package/esm2022/utils/alert-bar.model.mjs +0 -2
- package/esm2022/utils/alert-bars.utils.mjs +0 -33
- package/esm2022/utils/autocomplete-utils.mjs +0 -61
- package/esm2022/utils/color-contrast.mjs +0 -131
- package/esm2022/utils/localization/language.model.mjs +0 -16
- package/esm2022/utils/localization/language.service.mjs +0 -33
- package/esm2022/utils/table.utils.mjs +0 -19
- package/fesm2022/testgorilla-tgo-ui.mjs +0 -11086
- package/fesm2022/testgorilla-tgo-ui.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/models/colors.model.d.ts +0 -63
- package/models/screen-breakpoints.model.d.ts +0 -4
- package/pipes/data-property-getter.d.ts +0 -8
- package/pipes/has-validation-error.pipe.d.ts +0 -15
- package/pipes/name-initials.pipe.d.ts +0 -7
- package/pipes/ui-translate.pipe.d.ts +0 -28
- package/providers/is-mobile.d.ts +0 -2
- package/public-api.d.ts +0 -130
- package/utils/alert-bars.utils.d.ts +0 -7
- package/utils/autocomplete-utils.d.ts +0 -11
- package/utils/color-contrast.d.ts +0 -28
- package/utils/localization/language.model.d.ts +0 -14
- package/utils/localization/language.service.d.ts +0 -16
- package/utils/table.utils.d.ts +0 -6
- /package/{components/accordion/accordion.model.d.ts → projects/tgo-canopy-ui/components/accordion/accordion.model.ts} +0 -0
- /package/{components/alert-banner/alert-banner.model.d.ts → projects/tgo-canopy-ui/components/alert-banner/alert-banner.model.ts} +0 -0
- /package/{components/card/card.model.d.ts → projects/tgo-canopy-ui/components/card/card.model.ts} +0 -0
- /package/{components/divider/divider.model.d.ts → projects/tgo-canopy-ui/components/divider/divider.model.ts} +0 -0
- /package/{components/empty-state/empty-state.model.d.ts → projects/tgo-canopy-ui/components/empty-state/empty-state.model.ts} +0 -0
- /package/{components/snackbar/snackbar.model.d.ts → projects/tgo-canopy-ui/components/snackbar/snackbar.model.ts} +0 -0
- /package/{components/spinner/spinner.model.d.ts → projects/tgo-canopy-ui/components/spinner/spinner.model.ts} +0 -0
- /package/{components/tag/tag.model.d.ts → projects/tgo-canopy-ui/components/tag/tag.model.ts} +0 -0
- /package/{components/toggle/toggle.model.d.ts → projects/tgo-canopy-ui/components/toggle/toggle.model.ts} +0 -0
- /package/{components/validation-error/validation-error.model.d.ts → projects/tgo-canopy-ui/components/validation-error/validation-error.model.ts} +0 -0
- /package/{models/application-theme.model.d.ts → projects/tgo-canopy-ui/models/application-theme.model.ts} +0 -0
- /package/{utils/alert-bar.model.d.ts → projects/tgo-canopy-ui/utils/alert-bar.model.ts} +0 -0
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AfterViewInit,
|
|
3
|
+
ChangeDetectionStrategy,
|
|
4
|
+
ChangeDetectorRef,
|
|
5
|
+
Component,
|
|
6
|
+
DoCheck,
|
|
7
|
+
ElementRef,
|
|
8
|
+
EventEmitter,
|
|
9
|
+
HostBinding,
|
|
10
|
+
Inject,
|
|
11
|
+
Input,
|
|
12
|
+
OnChanges,
|
|
13
|
+
Optional,
|
|
14
|
+
Output,
|
|
15
|
+
PLATFORM_ID,
|
|
16
|
+
Renderer2,
|
|
17
|
+
Self,
|
|
18
|
+
SimpleChanges,
|
|
19
|
+
ViewChild,
|
|
20
|
+
} from '@angular/core';
|
|
21
|
+
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
22
|
+
import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
23
|
+
import { map, ReplaySubject, startWith } from 'rxjs';
|
|
24
|
+
import { AutocompleteUtils } from '../../utils/autocomplete-utils';
|
|
25
|
+
import { Autocomplete, AutocompleteType, DropdownVariation, Padding, Timeout } from './autocomplete.model';
|
|
26
|
+
import { LanguageService } from '../../utils/localization/language.service';
|
|
27
|
+
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
28
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
29
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
30
|
+
import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
|
|
31
|
+
|
|
32
|
+
@Component({
|
|
33
|
+
selector: 'ui-autocomplete',
|
|
34
|
+
templateUrl: './autocomplete.component.html',
|
|
35
|
+
styleUrls: ['./autocomplete.component.scss'],
|
|
36
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
|
+
})
|
|
38
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
39
|
+
export class AutocompleteComponent implements ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {
|
|
40
|
+
/**
|
|
41
|
+
* @property itemsList
|
|
42
|
+
* @description The list of items to display in the autocomplete.
|
|
43
|
+
* @memberof AutocompleteComponent
|
|
44
|
+
*/
|
|
45
|
+
@Input() itemsList: any[] = [];
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @property suggestionsList
|
|
49
|
+
* @description The list of suggestions to display in the autocomplete.
|
|
50
|
+
* @memberof AutocompleteComponent
|
|
51
|
+
*/
|
|
52
|
+
@Input() suggestionsList: any[] = [];
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @property disabled
|
|
56
|
+
* @description If `true`, the autocomplete is disabled.
|
|
57
|
+
* @memberof AutocompleteComponent
|
|
58
|
+
*/
|
|
59
|
+
@Input() disabled = false;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @property allowAdd
|
|
63
|
+
* @description If `true`, allows adding new values to the autocomplete.
|
|
64
|
+
* @memberof AutocompleteComponent
|
|
65
|
+
*/
|
|
66
|
+
@Input() allowAdd = true;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @property textField
|
|
70
|
+
* @description The field to be used as the display text in the autocomplete.
|
|
71
|
+
* @memberof AutocompleteComponent
|
|
72
|
+
*/
|
|
73
|
+
@Input() textField = '';
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @property valueField
|
|
77
|
+
* @description The field to be used as the value in the autocomplete.
|
|
78
|
+
* @memberof AutocompleteComponent
|
|
79
|
+
*/
|
|
80
|
+
@Input() valueField = '';
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @property label
|
|
84
|
+
* @description The label for the autocomplete input.
|
|
85
|
+
* @memberof AutocompleteComponent
|
|
86
|
+
*/
|
|
87
|
+
@Input() label = '';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @property value
|
|
91
|
+
* @description The selected value(s) in the autocomplete.
|
|
92
|
+
* @memberof AutocompleteComponent
|
|
93
|
+
*/
|
|
94
|
+
@Input() set itemValue(v: any) {
|
|
95
|
+
this.value = AutocompleteUtils.isArray(v) ? v : v ? [v] : [];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @property type
|
|
100
|
+
* @description The type of the autocomplete ('single', 'multi', etc.).
|
|
101
|
+
* @memberof AutocompleteComponent
|
|
102
|
+
*/
|
|
103
|
+
@Input() type: AutocompleteType = 'multi';
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @property minCharactersSearch
|
|
107
|
+
* @description The minimum characters to trigger search.
|
|
108
|
+
* @memberof AutocompleteComponent
|
|
109
|
+
*/
|
|
110
|
+
@Input() minCharactersSearch = 3;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* @property variant
|
|
114
|
+
* @description The variant of Autocomplete
|
|
115
|
+
* @memberof AutocompleteComponent
|
|
116
|
+
*/
|
|
117
|
+
@Input({ required: true }) variant = DropdownVariation.AUTOCOMPLETE;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* The language to be used
|
|
121
|
+
* @property language
|
|
122
|
+
* @type {Language}
|
|
123
|
+
* @memberof AutocompleteComponent
|
|
124
|
+
*/
|
|
125
|
+
@Input() language = LanguageService.defaultLanguage;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Show reserved content below form field
|
|
129
|
+
* @property showBottomContent
|
|
130
|
+
* @type {boolean}
|
|
131
|
+
* @memberof AutocompleteComponent
|
|
132
|
+
*/
|
|
133
|
+
@Input() showBottomContent = true;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Return full object if true
|
|
137
|
+
* @property valuePrimitive
|
|
138
|
+
* @type {boolean}
|
|
139
|
+
* @memberof AutocompleteComponent
|
|
140
|
+
*/
|
|
141
|
+
@Input() valuePrimitive = false;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Indicator of the autocomplete width
|
|
145
|
+
* @property fullWidth
|
|
146
|
+
* @type {boolean}
|
|
147
|
+
* @memberof AutocompleteComponent
|
|
148
|
+
*/
|
|
149
|
+
@Input() fullWidth = false;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
*
|
|
153
|
+
* Defines the application theme
|
|
154
|
+
*
|
|
155
|
+
* @type {ApplicationTheme}
|
|
156
|
+
* @memberof AutocompleteComponent
|
|
157
|
+
*/
|
|
158
|
+
@HostBinding('attr.theme')
|
|
159
|
+
@Input() applicationTheme: ApplicationTheme = 'light';
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Autocomplete is required or not
|
|
163
|
+
*
|
|
164
|
+
* @type {boolean}
|
|
165
|
+
* @memberof AutocompleteComponent
|
|
166
|
+
*/
|
|
167
|
+
@Input() required: boolean;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Input field errors
|
|
171
|
+
*
|
|
172
|
+
* @type {string[]}
|
|
173
|
+
* @memberof AutocompleteComponent
|
|
174
|
+
*/
|
|
175
|
+
@Input() set errors(errors: string[]) {
|
|
176
|
+
this.safeErrors = errors?.filter(Boolean).map(error => this.domSanitizer.bypassSecurityTrustHtml(error));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Color of the option hover.
|
|
181
|
+
* Defaults to Test Gorilla primary color.
|
|
182
|
+
*
|
|
183
|
+
* @type {string}
|
|
184
|
+
* @memberof AutocompleteComponent
|
|
185
|
+
*/
|
|
186
|
+
@Input() companyColor = '#FFF2FC';
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Hide in-build errors for Reactive Forms
|
|
190
|
+
*
|
|
191
|
+
* @type {number}
|
|
192
|
+
* @memberof AutocompleteComponent
|
|
193
|
+
*/
|
|
194
|
+
@Input() hideBuiltInErrors = false;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Hide label in errors
|
|
198
|
+
*
|
|
199
|
+
* @type {number}
|
|
200
|
+
* @memberof AutocompleteComponent
|
|
201
|
+
*/
|
|
202
|
+
@Input() hideLabelInErrors = false;
|
|
203
|
+
|
|
204
|
+
@Output() selectionChange = new EventEmitter<any>();
|
|
205
|
+
@Output() searchTextChange = new EventEmitter<string>();
|
|
206
|
+
|
|
207
|
+
@ViewChild('formField') formFieldElement: ElementRef<HTMLElement>;
|
|
208
|
+
@ViewChild('tagContainer') tagContainer: ElementRef<HTMLElement>;
|
|
209
|
+
@ViewChild('trigger') autocomplete: MatAutocompleteTrigger;
|
|
210
|
+
@ViewChild(CdkVirtualScrollViewport, { static: false }) cdkVirtualScrollViewPort: CdkVirtualScrollViewport;
|
|
211
|
+
protected safeErrors: SafeHtml[] = [];
|
|
212
|
+
protected value: any;
|
|
213
|
+
protected inputValue: any = '';
|
|
214
|
+
protected isInputFocus = false;
|
|
215
|
+
protected autocompleteType = Autocomplete;
|
|
216
|
+
protected isOverLapping = false;
|
|
217
|
+
protected isOverlapChecking = true;
|
|
218
|
+
protected overlapIndex = 0;
|
|
219
|
+
protected inputValueSearch$ = new ReplaySubject<string>(1);
|
|
220
|
+
protected userInput$ = new ReplaySubject<string>(1);
|
|
221
|
+
protected filteredItemsList$ = this.inputValueSearch$.pipe(
|
|
222
|
+
startWith(''),
|
|
223
|
+
map(inputValue =>
|
|
224
|
+
inputValue.length ? AutocompleteUtils.filterItems(this.itemsList, inputValue, this.textField) : null
|
|
225
|
+
)
|
|
226
|
+
);
|
|
227
|
+
protected filteredSuggestionList$ = this.inputValueSearch$.pipe(
|
|
228
|
+
map(inputValue =>
|
|
229
|
+
inputValue.length ? AutocompleteUtils.filterItems(this.suggestionsList, inputValue, this.textField) : null
|
|
230
|
+
)
|
|
231
|
+
);
|
|
232
|
+
protected searchResult$ = this.inputValueSearch$.pipe(map(inputValue => !!inputValue.trim()));
|
|
233
|
+
protected translationContext = 'AUTOCOMPLETE.';
|
|
234
|
+
private readonly isPlatform = isPlatformBrowser(this.platformId);
|
|
235
|
+
|
|
236
|
+
constructor(
|
|
237
|
+
@Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,
|
|
238
|
+
private readonly cdr: ChangeDetectorRef,
|
|
239
|
+
private readonly domSanitizer: DomSanitizer,
|
|
240
|
+
@Optional() @Self() public ngControl: NgControl,
|
|
241
|
+
private renderer2: Renderer2,
|
|
242
|
+
@Inject(PLATFORM_ID) private platformId: any
|
|
243
|
+
) {
|
|
244
|
+
if (this.ngControl != null) {
|
|
245
|
+
this.ngControl.valueAccessor = this;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (defaultAppTheme) {
|
|
249
|
+
this.applicationTheme = defaultAppTheme;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors
|
|
255
|
+
* to display validation errors that might happen (e.g. required)
|
|
256
|
+
*/
|
|
257
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
258
|
+
ngDoCheck(): void {
|
|
259
|
+
if (this.ngControl?.touched || this.ngControl?.errors) {
|
|
260
|
+
this.cdr.markForCheck();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
265
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
266
|
+
this.itemsList = AutocompleteUtils.excludeSuggestions(this.itemsList, this.suggestionsList, this.valueField);
|
|
267
|
+
this.initValue();
|
|
268
|
+
|
|
269
|
+
if (this.isPlatform && changes['companyColor']) {
|
|
270
|
+
this.setCompanyColorVariable();
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
275
|
+
ngAfterViewInit(): void {
|
|
276
|
+
if (this.type !== Autocomplete.LARGE) {
|
|
277
|
+
this.checkOverlap(Timeout.VIEW_INITIALIZED_COMPONENT_LOAD, true);
|
|
278
|
+
}
|
|
279
|
+
this.isPlatform && this.setCompanyColorVariable();
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
onChange = (_: any) => {};
|
|
283
|
+
onTouch = () => {};
|
|
284
|
+
|
|
285
|
+
registerOnChange(fn: any): void {
|
|
286
|
+
this.onChange = fn;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
registerOnTouched(fn: any): void {
|
|
290
|
+
this.onTouch = fn;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
setDisabledState(isDisabled: boolean): void {
|
|
294
|
+
this.disabled = isDisabled;
|
|
295
|
+
this.cdr.markForCheck();
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
writeValue(value: any): void {
|
|
299
|
+
if (this.valuePrimitive && this.textField && this.valueField) {
|
|
300
|
+
if (this.type === Autocomplete.SINGLE) {
|
|
301
|
+
this.value = this.itemsList.find(item => item[this.valueField] === value);
|
|
302
|
+
} else {
|
|
303
|
+
this.value = [this.itemsList.find(item => item[this.valueField] === value)];
|
|
304
|
+
}
|
|
305
|
+
} else {
|
|
306
|
+
this.value = value;
|
|
307
|
+
}
|
|
308
|
+
this.initValue();
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
protected onOptionSelected(event: MatAutocompleteSelectedEvent): void {
|
|
312
|
+
const inputValue = event.option.value;
|
|
313
|
+
const itemValue = AutocompleteUtils.createValueItem(inputValue, this.textField, this.valueField);
|
|
314
|
+
this.addNewValue(itemValue);
|
|
315
|
+
|
|
316
|
+
if (this.type === this.autocompleteType.MULTI) {
|
|
317
|
+
this.checkOverlap();
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
queueMicrotask(() => {
|
|
321
|
+
if (this.type !== this.autocompleteType.SINGLE) {
|
|
322
|
+
this.inputValue = '';
|
|
323
|
+
} else {
|
|
324
|
+
this.inputValue = AutocompleteUtils.transformDisplayValue(this.value, this.textField);
|
|
325
|
+
}
|
|
326
|
+
this.cdr.markForCheck();
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
this.onUpdate();
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
protected onOptionRemoved(option: any): void {
|
|
333
|
+
setTimeout(() => this.autocomplete.closePanel(), 0);
|
|
334
|
+
const foundValue = this.value.find((v: any) => v === option);
|
|
335
|
+
|
|
336
|
+
if (foundValue) {
|
|
337
|
+
this.value = this.value.filter((v: any) => v !== option);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
if (this.type === this.autocompleteType.MULTI) {
|
|
341
|
+
this.checkOverlap();
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
if (!this.value.length) {
|
|
345
|
+
this.inputValue = '';
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
this.onUpdate();
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
protected onInputChange(event: Event): void {
|
|
352
|
+
const inputValue = (event.target as HTMLInputElement).value;
|
|
353
|
+
this.userInput$.next(inputValue);
|
|
354
|
+
if (inputValue.length >= this.minCharactersSearch) {
|
|
355
|
+
this.inputValueSearch$.next(inputValue);
|
|
356
|
+
this.searchTextChange.emit(inputValue);
|
|
357
|
+
} else {
|
|
358
|
+
this.inputValueSearch$.next('');
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
protected onClear(): void {
|
|
363
|
+
this.inputValue = '';
|
|
364
|
+
this.value = AutocompleteUtils.isArray(this.value) ? [] : '';
|
|
365
|
+
this.isOverLapping = false;
|
|
366
|
+
this.overlapIndex = 0;
|
|
367
|
+
this.onUpdate();
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
protected refillInput(): void {
|
|
371
|
+
if (this.value && this.type === this.autocompleteType.SINGLE && !this.inputValue) {
|
|
372
|
+
this.inputValue = AutocompleteUtils.transformDisplayValue(this.value, this.textField);
|
|
373
|
+
this.inputValueSearch$.next('');
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
if (!this.inputValue && this.value?.length) {
|
|
377
|
+
this.inputValue = ' ';
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
this.isInputFocus = false;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
protected gotoUp() {
|
|
384
|
+
if (this.cdkVirtualScrollViewPort) {
|
|
385
|
+
this.cdkVirtualScrollViewPort.scrollToIndex(0);
|
|
386
|
+
this.cdkVirtualScrollViewPort.checkViewportSize();
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
protected onFocus(): void {
|
|
391
|
+
this.isInputFocus = true;
|
|
392
|
+
|
|
393
|
+
const inputValue = AutocompleteUtils.isArray(this.inputValue) ? this.inputValue[0] : this.inputValue;
|
|
394
|
+
|
|
395
|
+
if (AutocompleteUtils.isPrimitive(inputValue)) {
|
|
396
|
+
if (inputValue?.match(/^\s+/gm)) {
|
|
397
|
+
this.inputValue = inputValue.trimStart();
|
|
398
|
+
}
|
|
399
|
+
} else {
|
|
400
|
+
if (inputValue[this.textField]?.match(/^\s+/gm)) {
|
|
401
|
+
this.inputValue = inputValue[this.textField].trimStart();
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
private checkOverlap(delay = Timeout.VIEW_INITIALIZED_AFTER_ACTION, init = false): void {
|
|
407
|
+
this.isOverLapping = false;
|
|
408
|
+
this.isOverlapChecking = true;
|
|
409
|
+
|
|
410
|
+
setTimeout(() => {
|
|
411
|
+
const inputWidth = this.inputWidth;
|
|
412
|
+
const tags = this.tagContainer?.nativeElement.querySelectorAll('.value-tag');
|
|
413
|
+
if (tags) {
|
|
414
|
+
let width = 0;
|
|
415
|
+
let firstTagWidth = 0;
|
|
416
|
+
|
|
417
|
+
tags.forEach((tag: any, index: number) => {
|
|
418
|
+
width += tag.getBoundingClientRect().width;
|
|
419
|
+
|
|
420
|
+
if (!index) {
|
|
421
|
+
firstTagWidth = width;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
if (!this.isOverLapping && width > inputWidth) {
|
|
425
|
+
this.isOverLapping = true;
|
|
426
|
+
this.overlapIndex = index;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
if (firstTagWidth > inputWidth) {
|
|
430
|
+
this.overlapIndex = 0;
|
|
431
|
+
}
|
|
432
|
+
});
|
|
433
|
+
this.isOverlapChecking = false;
|
|
434
|
+
if (init) {
|
|
435
|
+
if (this.type === this.autocompleteType.SINGLE) {
|
|
436
|
+
this.inputValue = AutocompleteUtils.transformDisplayValue(this.value[0], this.textField);
|
|
437
|
+
} else {
|
|
438
|
+
this.inputValue = ' ';
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
this.cdr.markForCheck();
|
|
442
|
+
}
|
|
443
|
+
}, delay);
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
private onUpdate(): void {
|
|
447
|
+
this.inputValueSearch$.next('');
|
|
448
|
+
this.userInput$.next('');
|
|
449
|
+
if (!this.valuePrimitive) {
|
|
450
|
+
this.onChange(this.value);
|
|
451
|
+
} else {
|
|
452
|
+
if (this.type === Autocomplete.SINGLE) {
|
|
453
|
+
this.onChange(this.value[this.valueField]);
|
|
454
|
+
} else {
|
|
455
|
+
this.onChange(this.value.map((v: any) => v[this.valueField]));
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
this.selectionChange.emit(this.value);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
private initValue(): void {
|
|
462
|
+
if (this.type === this.autocompleteType.SINGLE && this.variant !== DropdownVariation.DROPDOWN) {
|
|
463
|
+
if (AutocompleteUtils.isArray(this.value)) {
|
|
464
|
+
this.inputValue = AutocompleteUtils.transformDisplayValue(this.value[0], this.textField);
|
|
465
|
+
} else {
|
|
466
|
+
this.inputValue = this.value ? AutocompleteUtils.transformDisplayValue(this.value, this.textField) : '';
|
|
467
|
+
}
|
|
468
|
+
} else if (this.variant === DropdownVariation.DROPDOWN) {
|
|
469
|
+
this.inputValue = this.value ? AutocompleteUtils.transformDisplayValue(this.value, this.textField) : '';
|
|
470
|
+
} else {
|
|
471
|
+
this.inputValue = this.value && this.value.length ? ' ' : '';
|
|
472
|
+
}
|
|
473
|
+
if (this.type === this.autocompleteType.MULTI) {
|
|
474
|
+
this.checkOverlap();
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
private addNewValue(newValue: any): void {
|
|
479
|
+
if (this.type !== this.autocompleteType.SINGLE && !this.value) {
|
|
480
|
+
this.value = [];
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
const foundDuplicate = AutocompleteUtils.findDuplicate(this.value, newValue, this.textField);
|
|
484
|
+
|
|
485
|
+
if (this.type !== this.autocompleteType.SINGLE) {
|
|
486
|
+
this.value = foundDuplicate ? this.value.filter((v: any) => v !== foundDuplicate) : [...this.value, newValue];
|
|
487
|
+
} else {
|
|
488
|
+
this.value = newValue;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
protected get isDropdown(): boolean {
|
|
493
|
+
return this.variant === DropdownVariation.DROPDOWN;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
protected onChevronClick(autocomplete: MatAutocomplete): void {
|
|
497
|
+
if (autocomplete.isOpen) {
|
|
498
|
+
setTimeout(() => {
|
|
499
|
+
this.autocomplete.closePanel();
|
|
500
|
+
}, 0);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
protected get inputWidth(): number {
|
|
505
|
+
return (
|
|
506
|
+
this.formFieldElement?.nativeElement.getBoundingClientRect().width -
|
|
507
|
+
(this.isDropdown ? Padding.DROPDOWN_CONTAINER : Padding.AUTOCOMPLETE_CONTAINER)
|
|
508
|
+
);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
protected trackByFn = (index: number, value: any) => value.changingThisBreaksApplicationSecurity;
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Adding company color variable to the body to style overlay container that's out of the component scope.
|
|
515
|
+
*/
|
|
516
|
+
private setCompanyColorVariable(): void {
|
|
517
|
+
this.renderer2.setProperty(document.body, 'style', `--ui-autocomplete-option-color: ${this.companyColor};`);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type AutocompleteType = 'single' | 'multi' | 'large';
|
|
2
|
+
|
|
3
|
+
export enum Autocomplete {
|
|
4
|
+
SINGLE = 'single',
|
|
5
|
+
MULTI = 'multi',
|
|
6
|
+
LARGE = 'large',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export enum Padding {
|
|
10
|
+
AUTOCOMPLETE_CONTAINER = 40,
|
|
11
|
+
DROPDOWN_CONTAINER = 60,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export enum Timeout {
|
|
15
|
+
VIEW_INITIALIZED_AFTER_ACTION = 150,
|
|
16
|
+
VIEW_INITIALIZED_COMPONENT_LOAD = 600,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export enum DropdownVariation {
|
|
20
|
+
AUTOCOMPLETE = 'autocomplete',
|
|
21
|
+
DROPDOWN = 'dropdown',
|
|
22
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IncludesPipe } from './includes.pipe';
|
|
2
|
+
|
|
3
|
+
describe('IncludesPipe', () => {
|
|
4
|
+
let pipe: IncludesPipe;
|
|
5
|
+
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
pipe = new IncludesPipe();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('should create an instance', () => {
|
|
11
|
+
expect(pipe).toBeTruthy();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('should return true if value is included in the array', () => {
|
|
15
|
+
const result = pipe.transform('apple', ['apple', 'banana', 'orange']);
|
|
16
|
+
expect(result).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should return false if value is not included in the array', () => {
|
|
20
|
+
const result = pipe.transform('grape', ['apple', 'banana', 'orange']);
|
|
21
|
+
expect(result).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('should handle non-array values and return false if not equal', () => {
|
|
25
|
+
const result = pipe.transform('apple', 'not an apple');
|
|
26
|
+
expect(result).toBe(false);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('should handle non-array values and return true if equal', () => {
|
|
30
|
+
const result = pipe.transform('apple', 'apple');
|
|
31
|
+
expect(result).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe, PipeTransform } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The purpose of this pipe is to determine if the value is present in the values array.
|
|
5
|
+
* If values is an array, the method uses the includes method to check for inclusion.
|
|
6
|
+
* If values is not an array, it checks for strict equality between value and values.
|
|
7
|
+
*/
|
|
8
|
+
@Pipe({
|
|
9
|
+
name: 'includes',
|
|
10
|
+
})
|
|
11
|
+
export class IncludesPipe implements PipeTransform {
|
|
12
|
+
transform(value: any, values: any): boolean {
|
|
13
|
+
return Array.isArray(values) ? values.includes(value) : value === values;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe, PipeTransform } from '@angular/core';
|
|
2
|
+
import { AutocompleteUtils } from '../../utils/autocomplete-utils';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* the TransformItemPipe is designed to selectively extract and return values from objects based on a specified field,
|
|
6
|
+
* providing a way to transform and display data a template.
|
|
7
|
+
*/
|
|
8
|
+
@Pipe({
|
|
9
|
+
name: 'transformItem',
|
|
10
|
+
})
|
|
11
|
+
export class TransformItemPipe implements PipeTransform {
|
|
12
|
+
transform(value: any, field: string): any {
|
|
13
|
+
if (AutocompleteUtils.isPrimitive(value)) {
|
|
14
|
+
return value;
|
|
15
|
+
} else if (!AutocompleteUtils.isPrimitive(value) && field && (value[field] || value[0][field])) {
|
|
16
|
+
return value[field] || value[0][field];
|
|
17
|
+
} else {
|
|
18
|
+
AutocompleteUtils.throwInvalidSetupError();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TransformItemPipe } from './transform-Item.pipe';
|
|
2
|
+
|
|
3
|
+
describe('TransformItemPipe', () => {
|
|
4
|
+
let pipe: TransformItemPipe;
|
|
5
|
+
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
pipe = new TransformItemPipe();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('transforms primitive value', () => {
|
|
11
|
+
const result = pipe.transform('test', 'someField');
|
|
12
|
+
expect(result).toBe('test');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('transforms non-primitive value with a specified field', () => {
|
|
16
|
+
const input = { someField: 'test' };
|
|
17
|
+
const result = pipe.transform(input, 'someField');
|
|
18
|
+
expect(result).toBe('test');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('throws an error for invalid setup', () => {
|
|
22
|
+
expect(() => pipe.transform({}, 'someField')).toThrowError();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<div
|
|
2
|
+
class="avatar-container"
|
|
3
|
+
[attr.type]="!imageUrl && !name ? 'icon' : 'initials'"
|
|
4
|
+
[ngClass]="[size]"
|
|
5
|
+
[attr.theme]="applicationTheme"
|
|
6
|
+
>
|
|
7
|
+
<span *ngIf="name && !imageUrl">
|
|
8
|
+
{{ name | nameInitials }}
|
|
9
|
+
</span>
|
|
10
|
+
<img *ngIf="imageUrl" [attr.src]="imageUrl" [alt]="'profile-image'">
|
|
11
|
+
<ui-icon [color]="applicationTheme === 'classic' ? 'dark' : 'rebrand-black'" [applicationTheme]="applicationTheme" [size]="iconSize[size]" *ngIf="!imageUrl && !name" [name]="'User-profile'"></ui-icon>
|
|
12
|
+
<div class="edit-avatar" *ngIf="size === avatarSize.LARGE && allowEdit">
|
|
13
|
+
<ui-button
|
|
14
|
+
[applicationTheme]="applicationTheme"
|
|
15
|
+
[companyColor]="'black'"
|
|
16
|
+
[size]="'small'"
|
|
17
|
+
[iconName]="'Edit'"
|
|
18
|
+
[variant]="'icon-button'"
|
|
19
|
+
[tooltip]="tooltipText"
|
|
20
|
+
(buttonClickEvent)="onEditClick($event)"
|
|
21
|
+
></ui-button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AvatarComponent } from './avatar.component';
|
|
4
|
+
import { NameInitialsPipe } from '../../pipes/name-initials.pipe';
|
|
5
|
+
import { IconComponentModule } from '../icon/icon.component.module';
|
|
6
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
+
import { ButtonComponentModule } from '../button/button.component.module';
|
|
8
|
+
|
|
9
|
+
@NgModule({
|
|
10
|
+
declarations: [AvatarComponent, NameInitialsPipe],
|
|
11
|
+
imports: [CommonModule, IconComponentModule, MatTooltipModule, ButtonComponentModule],
|
|
12
|
+
exports: [AvatarComponent],
|
|
13
|
+
})
|
|
14
|
+
export class AvatarComponentModule {}
|