@flywheel-io/vision 1.17.0 → 2.0.0-beta-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/.editorconfig +56 -0
- package/.eslintrc.json +312 -0
- package/.gitattributes +2 -0
- package/.gitlab-ci.yml +157 -0
- package/.nvmrc +1 -0
- package/.storybook/main.js +23 -0
- package/.storybook/manager-head.html +2 -0
- package/.storybook/manager.js +7 -0
- package/.storybook/preview.js +44 -0
- package/.storybook/public/images/core.svg +22 -0
- package/.storybook/public/images/discovery.svg +22 -0
- package/.storybook/public/images/exchange.svg +28 -0
- package/.storybook/public/images/favicon.png +0 -0
- package/.storybook/public/images/grid.png +0 -0
- package/.storybook/public/images/logo.png +0 -0
- package/.storybook/theme.js +9 -0
- package/.storybook/tsconfig.json +20 -0
- package/.storybook/typings.d.ts +4 -0
- package/.stylelintignore +2 -0
- package/.stylelintrc.json +44 -0
- package/.vscode/extensions.json +18 -0
- package/.vscode/settings.json +7 -0
- package/CONTRIBUTING.md +51 -0
- package/angular.json +79 -0
- package/build.js +66 -0
- package/elements/elements.html +0 -0
- package/flywheel-io-vision-2.0.0-beta-1.tgz +0 -0
- package/install-into-frontend.sh +13 -0
- package/karma.conf.js +50 -0
- package/ng-package.json +26 -0
- package/package.json +79 -23
- package/src/assets/.gitkeep +0 -0
- package/src/assets/brand/core.svg +22 -0
- package/src/assets/brand/discovery.svg +22 -0
- package/src/assets/brand/exchange.svg +28 -0
- package/src/assets/brand/fw-logo-mark-dark-bg.svg +4 -0
- package/src/assets/img/avatar.png +0 -0
- package/src/assets/updating-icons.md +71 -0
- package/src/components/alert/alert.component.html +19 -0
- package/src/components/alert/alert.component.scss +150 -0
- package/src/components/alert/alert.component.spec.ts +22 -0
- package/src/components/alert/alert.component.ts +19 -0
- package/src/components/alert/alert.mdx +16 -0
- package/src/components/alert/alert.module.ts +22 -0
- package/src/components/alert/alert.stories.ts +144 -0
- package/src/components/app-icon/app-icon.component.html +10 -0
- package/src/components/app-icon/app-icon.component.scss +348 -0
- package/src/components/app-icon/app-icon.component.spec.ts +22 -0
- package/src/components/app-icon/app-icon.component.ts +27 -0
- package/src/components/app-icon/app-icon.mdx +16 -0
- package/src/components/app-icon/app-icon.module.ts +20 -0
- package/src/components/app-icon/app-icon.stories.ts +200 -0
- package/src/components/avatar/avatar.component.html +22 -0
- package/src/components/avatar/avatar.component.scss +124 -0
- package/src/components/avatar/avatar.component.spec.ts +26 -0
- package/src/components/avatar/avatar.component.ts +33 -0
- package/src/components/avatar/avatar.mdx +16 -0
- package/src/components/avatar/avatar.module.ts +20 -0
- package/src/components/avatar/avatar.stories.ts +181 -0
- package/src/components/badge/badge.component.html +4 -0
- package/src/components/badge/badge.component.scss +98 -0
- package/src/components/badge/badge.component.spec.ts +26 -0
- package/src/components/badge/badge.component.ts +30 -0
- package/src/components/badge/badge.mdx +33 -0
- package/src/components/badge/badge.module.ts +18 -0
- package/src/components/badge/badge.stories.ts +131 -0
- package/src/components/breadcrumbs/breadcrumbs.component.scss +5 -0
- package/src/components/breadcrumbs/breadcrumbs.component.spec.ts +22 -0
- package/src/components/breadcrumbs/breadcrumbs.component.stories.ts +81 -0
- package/src/components/breadcrumbs/breadcrumbs.component.ts +20 -0
- package/src/components/breadcrumbs/breadcrumbs.mdx +53 -0
- package/src/components/breadcrumbs/breadcrumbs.module.ts +23 -0
- package/src/components/breadcrumbs/crumb.component.html +5 -0
- package/src/components/breadcrumbs/crumb.component.scss +23 -0
- package/src/components/breadcrumbs/crumb.component.stories.ts +53 -0
- package/src/components/breadcrumbs/crumb.component.ts +23 -0
- package/src/components/button/button.component.html +7 -0
- package/src/components/button/button.component.scss +129 -0
- package/src/components/button/button.component.spec.ts +26 -0
- package/src/components/button/button.component.ts +40 -0
- package/src/components/button/button.directives.ts +93 -0
- package/src/components/button/button.mdx +16 -0
- package/src/components/button/button.module.ts +39 -0
- package/src/components/button/button.stories.ts +165 -0
- package/src/components/button/story.css +0 -0
- package/src/components/button-group/button-group.component.scss +94 -0
- package/src/components/button-group/button-group.component.ts +138 -0
- package/src/components/button-group/button-group.mdx +23 -0
- package/src/components/button-group/button-group.module.ts +22 -0
- package/src/components/button-group/button-group.stories.ts +145 -0
- package/src/components/button-toggle/button-toggle-item/button-toggle-item.component.html +10 -0
- package/src/components/button-toggle/button-toggle-item/button-toggle-item.component.spec.ts +25 -0
- package/src/components/button-toggle/button-toggle-item/button-toggle-item.component.ts +36 -0
- package/src/components/button-toggle/button-toggle.component.scss +94 -0
- package/src/components/button-toggle/button-toggle.component.ts +139 -0
- package/src/components/button-toggle/button-toggle.mdx +23 -0
- package/src/components/button-toggle/button-toggle.module.ts +23 -0
- package/src/components/button-toggle/button-toggle.stories.ts +204 -0
- package/src/components/card/card-attribute/card-attribute.component.html +3 -0
- package/src/components/card/card-attribute/card-attribute.component.scss +19 -0
- package/src/components/card/card-attribute/card-attribute.component.spec.ts +22 -0
- package/src/components/card/card-attribute/card-attribute.component.ts +13 -0
- package/src/components/card/card-author/card-author.component.html +5 -0
- package/src/components/card/card-author/card-author.component.scss +21 -0
- package/src/components/card/card-author/card-author.component.spec.ts +22 -0
- package/src/components/card/card-author/card-author.component.ts +11 -0
- package/src/components/card/card-author/card-author.stories.ts +55 -0
- package/src/components/card/card-content/card-content.component.scss +26 -0
- package/src/components/card/card-content/card-content.component.spec.ts +22 -0
- package/src/components/card/card-content/card-content.component.ts +11 -0
- package/src/components/card/card-content/card-content.stories.ts +55 -0
- package/src/components/card/card-footer/card-footer.component.spec.ts +22 -0
- package/src/components/card/card-footer/card-footer.component.ts +24 -0
- package/src/components/card/card-footer/card-footer.stories.ts +72 -0
- package/src/components/card/card-header/card-header.component.html +9 -0
- package/src/components/card/card-header/card-header.component.scss +41 -0
- package/src/components/card/card-header/card-header.component.spec.ts +22 -0
- package/src/components/card/card-header/card-header.component.ts +15 -0
- package/src/components/card/card-header/card-header.stories.ts +58 -0
- package/src/components/card/card.component.html +12 -0
- package/src/components/card/card.component.scss +40 -0
- package/src/components/card/card.component.spec.ts +34 -0
- package/src/components/card/card.component.ts +16 -0
- package/src/components/card/card.mdx +128 -0
- package/src/components/card/card.module.ts +37 -0
- package/src/components/card/card.stories.ts +240 -0
- package/src/components/changelog.mdx +375 -0
- package/src/components/checkbox/checkbox.component.html +16 -0
- package/src/components/checkbox/checkbox.component.scss +189 -0
- package/src/components/checkbox/checkbox.component.ts +68 -0
- package/src/components/checkbox/checkbox.module.ts +21 -0
- package/src/components/checkbox/checkbox.stories.ts +224 -0
- package/src/components/chip/chip.component.html +13 -0
- package/src/components/chip/chip.component.scss +352 -0
- package/src/components/chip/chip.component.spec.ts +22 -0
- package/src/components/chip/chip.component.ts +32 -0
- package/src/components/chip/chip.mdx +16 -0
- package/src/components/chip/chip.module.ts +22 -0
- package/src/components/chip/chip.stories.ts +222 -0
- package/src/components/color-palette/color-palette.component.html +10 -0
- package/src/components/color-palette/color-palette.component.scss +15 -0
- package/src/components/color-palette/color-palette.component.ts +73 -0
- package/src/components/color-palette/color-palette.module.ts +22 -0
- package/src/components/color-palette/color-palette.stories.ts +35 -0
- package/src/components/color-palette/colors.mdx +47 -0
- package/src/components/color-palette/swatch/swatch.component.html +3 -0
- package/src/components/color-palette/swatch/swatch.component.scss +21 -0
- package/src/components/color-palette/swatch/swatch.component.ts +28 -0
- package/src/components/contained-input/contained-input.component.html +15 -0
- package/src/components/contained-input/contained-input.component.scss +88 -0
- package/src/components/contained-input/contained-input.component.spec.ts +34 -0
- package/src/components/contained-input/contained-input.component.ts +65 -0
- package/src/components/contained-input/contained-input.mdx +16 -0
- package/src/components/contained-input/contained-input.module.ts +26 -0
- package/src/components/contained-input/contained-input.stories.ts +155 -0
- package/src/components/date-input/date-input.component.html +28 -0
- package/src/components/date-input/date-input.component.scss +192 -0
- package/src/components/date-input/date-input.component.spec.ts +26 -0
- package/src/components/date-input/date-input.component.ts +126 -0
- package/src/components/date-input/date-input.mdx +23 -0
- package/src/components/date-input/date-input.module.ts +23 -0
- package/src/components/date-input/date-input.stories.ts +96 -0
- package/src/components/dialog/dialog-actions.component.ts +22 -0
- package/src/components/dialog/dialog-confirm.component.html +37 -0
- package/src/components/dialog/dialog-confirm.component.scss +49 -0
- package/src/components/dialog/dialog-confirm.component.ts +35 -0
- package/src/components/dialog/dialog-confirm.stories.ts +47 -0
- package/src/components/dialog/dialog-content.component.ts +28 -0
- package/src/components/dialog/dialog-header.component.ts +25 -0
- package/src/components/dialog/dialog-simple.component.html +27 -0
- package/src/components/dialog/dialog-simple.component.scss +13 -0
- package/src/components/dialog/dialog-simple.component.ts +36 -0
- package/src/components/dialog/dialog-simple.stories.ts +78 -0
- package/src/components/dialog/dialog.component.html +20 -0
- package/src/components/dialog/dialog.component.scss +91 -0
- package/src/components/dialog/dialog.component.ts +39 -0
- package/src/components/dialog/dialog.mdx +252 -0
- package/src/components/dialog/dialog.service.ts +34 -0
- package/src/components/dialog/dialog.stories.ts +169 -0
- package/src/components/dialog/dialogs.module.ts +47 -0
- package/src/components/form-heading/form-heading.component.html +15 -0
- package/src/components/form-heading/form-heading.component.scss +55 -0
- package/src/components/form-heading/form-heading.component.spec.ts +28 -0
- package/src/components/form-heading/form-heading.component.ts +17 -0
- package/src/components/form-heading/form-heading.mdx +16 -0
- package/src/components/form-heading/form-heading.module.ts +22 -0
- package/src/components/form-heading/form-heading.stories.ts +168 -0
- package/src/components/forms/validators.ts +97 -0
- package/src/components/getting-started.mdx +92 -0
- package/src/components/ghost/ghost.stories.ts +76 -0
- package/src/components/icon/README.txt +5 -0
- package/src/components/icon/icon.component.ts +52 -0
- package/src/components/icon/icon.mdx +36 -0
- package/src/components/icon/icon.module.ts +17 -0
- package/src/components/icon/icon.stories.ts +51 -0
- package/src/components/icon/icon.types.ts +318 -0
- package/src/components/icon/icons.stories.scss +63 -0
- package/src/components/icon/icons.stories.ts +95 -0
- package/src/components/icon/selection.json +1 -0
- package/src/components/icon-button/icon-button.component.html +6 -0
- package/src/components/icon-button/icon-button.component.scss +231 -0
- package/src/components/icon-button/icon-button.component.spec.ts +28 -0
- package/src/components/icon-button/icon-button.component.ts +32 -0
- package/src/components/icon-button/icon-button.mdx +16 -0
- package/src/components/icon-button/icon-button.module.ts +20 -0
- package/src/components/icon-button/icon-button.stories.ts +257 -0
- package/src/components/json/json.component.ts +15 -0
- package/src/components/layouts/context/context.component.html +6 -0
- package/src/components/layouts/context/context.component.scss +71 -0
- package/src/components/layouts/context/context.component.spec.ts +22 -0
- package/src/components/layouts/context/context.component.stories.ts +63 -0
- package/src/components/layouts/context/context.component.ts +32 -0
- package/src/components/layouts/context/context.mdx +15 -0
- package/src/components/layouts/grid/grid.component.scss +281 -0
- package/src/components/layouts/grid/grid.component.spec.ts +22 -0
- package/src/components/layouts/grid/grid.component.stories.ts +183 -0
- package/src/components/layouts/grid/grid.component.ts +43 -0
- package/src/components/layouts/grid/grid.mdx +27 -0
- package/src/components/layouts/layout-group.component.scss +38 -0
- package/src/components/layouts/layout-group.component.spec.ts +22 -0
- package/src/components/layouts/layout-group.component.stories.ts +105 -0
- package/src/components/layouts/layout-group.component.ts +24 -0
- package/src/components/layouts/layout-group.mdx +22 -0
- package/src/components/layouts/layouts.mdx +63 -0
- package/src/components/layouts/layouts.module.ts +37 -0
- package/src/components/layouts/panel/panel.component.html +9 -0
- package/src/components/layouts/panel/panel.component.scss +110 -0
- package/src/components/layouts/panel/panel.component.spec.ts +22 -0
- package/src/components/layouts/panel/panel.component.stories.ts +249 -0
- package/src/components/layouts/panel/panel.component.ts +16 -0
- package/src/components/layouts/panel/panel.mdx +28 -0
- package/src/components/layouts/sidebar/sidebar.component.html +14 -0
- package/src/components/layouts/sidebar/sidebar.component.scss +87 -0
- package/src/components/layouts/sidebar/sidebar.component.spec.ts +22 -0
- package/src/components/layouts/sidebar/sidebar.component.stories.ts +243 -0
- package/src/components/layouts/sidebar/sidebar.component.ts +14 -0
- package/src/components/layouts/sidebar/sidebar.mdx +18 -0
- package/src/components/layouts/toolbar/toolbar.component.scss +11 -0
- package/src/components/layouts/toolbar/toolbar.component.spec.ts +22 -0
- package/src/components/layouts/toolbar/toolbar.component.stories.ts +59 -0
- package/src/components/layouts/toolbar/toolbar.component.ts +15 -0
- package/src/components/layouts/toolbar/toolbar.mdx +16 -0
- package/src/components/menu/menu-close-triggers.directive.ts +27 -0
- package/src/components/menu/menu-container/menu-container.component.html +9 -0
- package/src/components/menu/menu-container/menu-container.component.scss +41 -0
- package/src/components/menu/menu-container/menu-container.component.spec.ts +22 -0
- package/src/components/menu/menu-container/menu-container.component.ts +76 -0
- package/src/components/menu/menu-container/menu-container.stories.ts +105 -0
- package/src/components/menu/menu-header/menu-header.component.html +5 -0
- package/src/components/menu/menu-header/menu-header.component.scss +20 -0
- package/src/components/menu/menu-header/menu-header.component.spec.ts +22 -0
- package/src/components/menu/menu-header/menu-header.component.ts +10 -0
- package/src/components/menu/menu-item/menu-item.component.html +42 -0
- package/src/components/menu/menu-item/menu-item.component.scss +282 -0
- package/src/components/menu/menu-item/menu-item.component.ts +108 -0
- package/src/components/menu/menu-item/menu-item.stories.ts +106 -0
- package/src/components/menu/menu-item-group/menu-item-group.component.html +9 -0
- package/src/components/menu/menu-item-group/menu-item-group.component.scss +33 -0
- package/src/components/menu/menu-item-group/menu-item-group.component.spec.ts +23 -0
- package/src/components/menu/menu-item-group/menu-item-group.component.ts +16 -0
- package/src/components/menu/menu-item-group/menu-item-group.stories.ts +83 -0
- package/src/components/menu/menu-separator/menu-separator.component.scss +6 -0
- package/src/components/menu/menu-separator/menu-separator.component.spec.ts +22 -0
- package/src/components/menu/menu-separator/menu-separator.component.ts +9 -0
- package/src/components/menu/menu-sub-item/menu-sub-item.component.html +18 -0
- package/src/components/menu/menu-sub-item/menu-sub-item.component.scss +244 -0
- package/src/components/menu/menu-sub-item/menu-sub-item.component.ts +70 -0
- package/src/components/menu/menu.component.html +6 -0
- package/src/components/menu/menu.component.scss +5 -0
- package/src/components/menu/menu.component.ts +196 -0
- package/src/components/menu/menu.mdx +118 -0
- package/src/components/menu/menu.module.ts +57 -0
- package/src/components/menu/menu.stories.ts +230 -0
- package/src/components/navbar/navbar-header/navbar-header.component.html +5 -0
- package/src/components/navbar/navbar-header/navbar-header.component.scss +20 -0
- package/src/components/navbar/navbar-header/navbar-header.component.ts +10 -0
- package/src/components/navbar/navbar-item/navbar-item.component.html +35 -0
- package/src/components/navbar/navbar-item/navbar-item.component.scss +142 -0
- package/src/components/navbar/navbar-item/navbar-item.component.ts +73 -0
- package/src/components/navbar/navbar-item/navbar-item.stories.ts +82 -0
- package/src/components/navbar/navbar-sub-item/navbar-sub-item.component.html +22 -0
- package/src/components/navbar/navbar-sub-item/navbar-sub-item.component.scss +152 -0
- package/src/components/navbar/navbar-sub-item/navbar-sub-item.component.ts +40 -0
- package/src/components/navbar/navbar.component.html +5 -0
- package/src/components/navbar/navbar.component.scss +16 -0
- package/src/components/navbar/navbar.component.ts +63 -0
- package/src/components/navbar/navbar.mdx +20 -0
- package/src/components/navbar/navbar.module.ts +41 -0
- package/src/components/navbar/navbar.stories.ts +201 -0
- package/src/components/number-input/number-input.component.html +39 -0
- package/src/components/number-input/number-input.component.scss +185 -0
- package/src/components/number-input/number-input.component.spec.ts +26 -0
- package/src/components/number-input/number-input.component.ts +96 -0
- package/src/components/number-input/number-input.mdx +25 -0
- package/src/components/number-input/number-input.module.ts +23 -0
- package/src/components/number-input/number-input.stories.ts +87 -0
- package/src/components/paginator/paginator-advanced/paginator-advanced.component.html +45 -0
- package/src/components/paginator/paginator-advanced/paginator-advanced.component.scss +217 -0
- package/src/components/paginator/paginator-advanced/paginator-advanced.component.spec.ts +32 -0
- package/src/components/paginator/paginator-advanced/paginator-advanced.component.ts +107 -0
- package/src/components/paginator/paginator-advanced/paginator-advanced.stories.ts +69 -0
- package/src/components/paginator/paginator.component.html +32 -0
- package/src/components/paginator/paginator.component.scss +212 -0
- package/src/components/paginator/paginator.component.spec.ts +24 -0
- package/src/components/paginator/paginator.component.ts +115 -0
- package/src/components/paginator/paginator.mdx +55 -0
- package/src/components/paginator/paginator.model.ts +8 -0
- package/src/components/paginator/paginator.module.ts +31 -0
- package/src/components/paginator/paginator.stories.ts +142 -0
- package/src/components/phone-input/country-code.data.ts +495 -0
- package/src/components/phone-input/images/arrow_drop_down_grey600_18dp.png +0 -0
- package/src/components/phone-input/images/flags_sprite_2x.png +0 -0
- package/src/components/phone-input/phone-input.component.html +68 -0
- package/src/components/phone-input/phone-input.component.scss +467 -0
- package/src/components/phone-input/phone-input.component.spec.ts +33 -0
- package/src/components/phone-input/phone-input.component.ts +318 -0
- package/src/components/phone-input/phone-input.mdx +49 -0
- package/src/components/phone-input/phone-input.model.ts +11 -0
- package/src/components/phone-input/phone-input.module.ts +29 -0
- package/src/components/phone-input/phone-input.stories.ts +201 -0
- package/src/components/popover/popover-panel/popover-panel.component.html +4 -0
- package/src/components/popover/popover-panel/popover-panel.component.scss +220 -0
- package/src/components/popover/popover-panel/popover-panel.component.spec.ts +22 -0
- package/src/components/popover/popover-panel/popover-panel.component.ts +22 -0
- package/src/components/popover/popover-panel/popover-panel.stories.ts +162 -0
- package/src/components/popover/popover.component.html +13 -0
- package/src/components/popover/popover.component.spec.ts +26 -0
- package/src/components/popover/popover.component.ts +77 -0
- package/src/components/popover/popover.mdx +52 -0
- package/src/components/popover/popover.module.ts +28 -0
- package/src/components/popover/popover.stories.ts +176 -0
- package/src/components/progress/bar/bar.component.html +18 -0
- package/src/components/progress/bar/bar.component.spec.ts +26 -0
- package/src/components/progress/bar/bar.component.ts +98 -0
- package/src/components/progress/bar/bar.mdx +22 -0
- package/src/components/progress/bar/bar.scss +313 -0
- package/src/components/progress/bar/bar.stories.ts +52 -0
- package/src/components/progress/progress.module.ts +21 -0
- package/src/components/progress/spinner/spinner.component.html +53 -0
- package/src/components/progress/spinner/spinner.component.scss +225 -0
- package/src/components/progress/spinner/spinner.component.spec.ts +26 -0
- package/src/components/progress/spinner/spinner.component.ts +107 -0
- package/src/components/progress/spinner/spinner.mdx +21 -0
- package/src/components/progress/spinner/spinner.stories.ts +70 -0
- package/src/components/radio/radio-group.component.ts +124 -0
- package/src/components/radio/radio-group.mdx +45 -0
- package/src/components/radio/radio-group.stories.ts +76 -0
- package/src/components/radio/radio.component.html +19 -0
- package/src/components/radio/radio.component.scss +132 -0
- package/src/components/radio/radio.component.ts +33 -0
- package/src/components/radio/radio.module.ts +24 -0
- package/src/components/radio/radio.stories.ts +168 -0
- package/src/components/section-heading/back-button/back-button.component.html +3 -0
- package/src/components/section-heading/back-button/back-button.component.scss +37 -0
- package/src/components/section-heading/back-button/back-button.component.spec.ts +27 -0
- package/src/components/section-heading/back-button/back-button.component.ts +24 -0
- package/src/components/section-heading/back-button/back-button.stories.ts +39 -0
- package/src/components/section-heading/section-heading.component.html +15 -0
- package/src/components/section-heading/section-heading.component.scss +48 -0
- package/src/components/section-heading/section-heading.component.spec.ts +28 -0
- package/src/components/section-heading/section-heading.component.ts +21 -0
- package/src/components/section-heading/section-heading.mdx +22 -0
- package/src/components/section-heading/section-heading.module.ts +28 -0
- package/src/components/section-heading/section-heading.stories.ts +141 -0
- package/src/components/section-heading/subsection-heading/subsection-heading.component.html +7 -0
- package/src/components/section-heading/subsection-heading/subsection-heading.component.scss +31 -0
- package/src/components/section-heading/subsection-heading/subsection-heading.component.spec.ts +23 -0
- package/src/components/section-heading/subsection-heading/subsection-heading.component.ts +17 -0
- package/src/components/section-heading/subsection-heading/subsection-heading.stories.ts +60 -0
- package/src/components/select-menu/multi-select-menu/multi-select-menu.component.html +62 -0
- package/src/components/select-menu/multi-select-menu/multi-select-menu.component.scss +76 -0
- package/src/components/select-menu/multi-select-menu/multi-select-menu.component.spec.ts +83 -0
- package/src/components/select-menu/multi-select-menu/multi-select-menu.component.ts +324 -0
- package/src/components/select-menu/multi-select-menu/multi-select-menu.stories.ts +177 -0
- package/src/components/select-menu/select-menu.component.html +39 -0
- package/src/components/select-menu/select-menu.component.scss +4 -0
- package/src/components/select-menu/select-menu.component.spec.ts +121 -0
- package/src/components/select-menu/select-menu.component.ts +317 -0
- package/src/components/select-menu/select-menu.mdx +210 -0
- package/src/components/select-menu/select-menu.module.ts +33 -0
- package/src/components/select-menu/select-menu.stories.ts +368 -0
- package/src/components/shadows/shadows.stories.ts +76 -0
- package/src/components/shared/pipes/pipes.module.ts +24 -0
- package/src/components/shared/pipes/translate.pipe.ts +40 -0
- package/src/components/shared/pipes/trusthtml.pipe.ts +14 -0
- package/src/components/shared/translation.service.ts +24 -0
- package/src/components/snackbar/snackbar/snackbar.component.html +15 -0
- package/src/components/snackbar/snackbar/snackbar.component.scss +58 -0
- package/src/components/snackbar/snackbar/snackbar.component.spec.ts +56 -0
- package/src/components/snackbar/snackbar/snackbar.component.ts +115 -0
- package/src/components/snackbar/snackbar/snackbar.stories.ts +92 -0
- package/src/components/snackbar/snackbar-container/snackbar-container.component.html +18 -0
- package/src/components/snackbar/snackbar-container/snackbar-container.component.scss +11 -0
- package/src/components/snackbar/snackbar-container/snackbar-container.component.spec.ts +98 -0
- package/src/components/snackbar/snackbar-container/snackbar-container.component.ts +71 -0
- package/src/components/snackbar/snackbar-container/snackbar-container.stories.ts +70 -0
- package/src/components/snackbar/snackbar-message.model.ts +13 -0
- package/src/components/snackbar/snackbar-timer.service.ts +32 -0
- package/src/components/snackbar/snackbar.mdx +90 -0
- package/src/components/snackbar/snackbar.module.ts +31 -0
- package/src/components/snackbar/snackbar.service.spec.ts +16 -0
- package/src/components/snackbar/snackbar.service.ts +36 -0
- package/src/components/stepper/step.component.html +33 -0
- package/src/components/stepper/step.component.scss +421 -0
- package/src/components/stepper/step.component.ts +92 -0
- package/src/components/stepper/step.stories.ts +73 -0
- package/src/components/stepper/stepper.component.ts +100 -0
- package/src/components/stepper/stepper.mdx +83 -0
- package/src/components/stepper/stepper.module.ts +27 -0
- package/src/components/stepper/stepper.stories.ts +233 -0
- package/src/components/switch/switch.component.html +10 -0
- package/src/components/switch/switch.component.scss +179 -0
- package/src/components/switch/switch.component.spec.ts +22 -0
- package/src/components/switch/switch.component.ts +58 -0
- package/src/components/switch/switch.mdx +39 -0
- package/src/components/switch/switch.module.ts +18 -0
- package/src/components/switch/switch.stories.ts +117 -0
- package/src/components/table/cell.ts +111 -0
- package/src/components/table/row.ts +113 -0
- package/src/components/table/table-dense.component.scss +178 -0
- package/src/components/table/table-dense.component.ts +36 -0
- package/src/components/table/table-dense.stories.ts +105 -0
- package/src/components/table/table.component.html +4 -0
- package/src/components/table/table.component.scss +186 -0
- package/src/components/table/table.component.ts +36 -0
- package/src/components/table/table.mdx +83 -0
- package/src/components/table/table.module.ts +53 -0
- package/src/components/table/table.stories.ts +198 -0
- package/src/components/tabs/tab/tab.component.html +3 -0
- package/src/components/tabs/tab/tab.component.scss +79 -0
- package/src/components/tabs/tab/tab.component.spec.ts +22 -0
- package/src/components/tabs/tab/tab.component.ts +47 -0
- package/src/components/tabs/tab/tab.stories.ts +38 -0
- package/src/components/tabs/tab-panel/tab-panel.component.html +1 -0
- package/src/components/tabs/tab-panel/tab-panel.component.scss +7 -0
- package/src/components/tabs/tab-panel/tab-panel.component.spec.ts +22 -0
- package/src/components/tabs/tab-panel/tab-panel.component.ts +11 -0
- package/src/components/tabs/tabs.component.html +2 -0
- package/src/components/tabs/tabs.component.scss +9 -0
- package/src/components/tabs/tabs.component.spec.ts +22 -0
- package/src/components/tabs/tabs.component.ts +69 -0
- package/src/components/tabs/tabs.mdx +74 -0
- package/src/components/tabs/tabs.module.ts +26 -0
- package/src/components/tabs/tabs.stories.ts +87 -0
- package/src/components/text-input/text-input.component.html +36 -0
- package/src/components/text-input/text-input.component.scss +155 -0
- package/src/components/text-input/text-input.component.spec.ts +26 -0
- package/src/components/text-input/text-input.component.ts +90 -0
- package/src/components/text-input/text-input.mdx +24 -0
- package/src/components/text-input/text-input.module.ts +23 -0
- package/src/components/text-input/text-input.stories.ts +125 -0
- package/src/components/textarea-input/textarea-input.component.html +18 -0
- package/src/components/textarea-input/textarea-input.component.scss +97 -0
- package/src/components/textarea-input/textarea-input.component.spec.ts +28 -0
- package/src/components/textarea-input/textarea-input.component.ts +73 -0
- package/src/components/textarea-input/textarea-input.mdx +43 -0
- package/src/components/textarea-input/textarea-input.module.ts +25 -0
- package/src/components/textarea-input/textarea-input.stories.ts +106 -0
- package/src/components/tooltip/tooltip-panel/tooltip-panel.component.html +6 -0
- package/src/components/tooltip/tooltip-panel/tooltip-panel.component.scss +109 -0
- package/src/components/tooltip/tooltip-panel/tooltip-panel.component.ts +22 -0
- package/src/components/tooltip/tooltip-panel/tooltip-panel.stories.ts +74 -0
- package/src/components/tooltip/tooltip.component.html +16 -0
- package/src/components/tooltip/tooltip.component.scss +26 -0
- package/src/components/tooltip/tooltip.component.spec.ts +24 -0
- package/src/components/tooltip/tooltip.component.ts +30 -0
- package/src/components/tooltip/tooltip.mdx +27 -0
- package/src/components/tooltip/tooltip.module.ts +28 -0
- package/src/components/tooltip/tooltip.stories.ts +111 -0
- package/src/components/typography-sample/typography-sample.component.html +25 -0
- package/src/components/typography-sample/typography-sample.component.ts +10 -0
- package/src/components/typography-sample/typography-sample.module.ts +17 -0
- package/src/components/typography-sample/typography-sample.stories.ts +33 -0
- package/src/components/typography-sample/typography.mdx +41 -0
- package/src/components/wrapped-input/wrapped-input.component.html +10 -0
- package/src/components/wrapped-input/wrapped-input.component.scss +32 -0
- package/src/components/wrapped-input/wrapped-input.component.spec.ts +34 -0
- package/src/components/wrapped-input/wrapped-input.component.ts +18 -0
- package/src/components/wrapped-input/wrapped-input.mdx +26 -0
- package/src/components/wrapped-input/wrapped-input.module.ts +20 -0
- package/src/components/wrapped-input/wrapped-input.stories.ts +195 -0
- package/src/favicon.ico +0 -0
- package/src/global.scss +5 -0
- package/src/index.html +16 -0
- package/src/polyfills.ts +64 -0
- package/src/public-api.scss +6 -0
- package/src/public-api.ts +125 -0
- package/src/scss/atoms/scrollbar.scss +10 -0
- package/src/scss/config/colors.scss +143 -0
- package/src/scss/icons/_icon-font-face.scss +13 -0
- package/src/scss/icons/_icon-glyphs.scss +1614 -0
- package/src/scss/icons/_icon-variables.scss +319 -0
- package/src/test.ts +15 -0
- package/tsconfig.app.json +17 -0
- package/tsconfig.json +29 -0
- package/tsconfig.lib.json +21 -0
- package/tsconfig.spec.json +28 -0
- package/update-icons.js +40 -0
- package/components/alert/alert.component.d.ts +0 -14
- package/components/alert/alert.module.d.ts +0 -10
- package/components/app-icon/app-icon.component.d.ts +0 -19
- package/components/app-icon/app-icon.module.d.ts +0 -9
- package/components/avatar/avatar.component.d.ts +0 -18
- package/components/avatar/avatar.module.d.ts +0 -9
- package/components/badge/badge.component.d.ts +0 -12
- package/components/badge/badge.module.d.ts +0 -8
- package/components/breadcrumbs/breadcrumbs.component.d.ts +0 -9
- package/components/breadcrumbs/breadcrumbs.module.d.ts +0 -10
- package/components/breadcrumbs/crumb.component.d.ts +0 -12
- package/components/button/button.component.d.ts +0 -16
- package/components/button/button.directives.d.ts +0 -37
- package/components/button/button.module.d.ts +0 -11
- package/components/button-group/button-group.component.d.ts +0 -33
- package/components/button-group/button-group.module.d.ts +0 -10
- package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +0 -21
- package/components/button-toggle/button-toggle.component.d.ts +0 -33
- package/components/button-toggle/button-toggle.module.d.ts +0 -10
- package/components/card/card-attribute/card-attribute.component.d.ts +0 -8
- package/components/card/card-author/card-author.component.d.ts +0 -7
- package/components/card/card-content/card-content.component.d.ts +0 -5
- package/components/card/card-footer/card-footer.component.d.ts +0 -9
- package/components/card/card-header/card-header.component.d.ts +0 -10
- package/components/card/card.component.d.ts +0 -12
- package/components/card/card.module.d.ts +0 -15
- package/components/checkbox/checkbox.component.d.ts +0 -23
- package/components/checkbox/checkbox.module.d.ts +0 -9
- package/components/chip/chip.component.d.ts +0 -20
- package/components/chip/chip.module.d.ts +0 -10
- package/components/contained-input/contained-input.component.d.ts +0 -23
- package/components/contained-input/contained-input.module.d.ts +0 -12
- package/components/date-input/date-input.component.d.ts +0 -47
- package/components/date-input/date-input.module.d.ts +0 -10
- package/components/dialog/dialog-actions.component.d.ts +0 -9
- package/components/dialog/dialog-confirm.component.d.ts +0 -25
- package/components/dialog/dialog-content.component.d.ts +0 -10
- package/components/dialog/dialog-header.component.d.ts +0 -9
- package/components/dialog/dialog-simple.component.d.ts +0 -25
- package/components/dialog/dialog.component.d.ts +0 -25
- package/components/dialog/dialog.service.d.ts +0 -17
- package/components/dialog/dialogs.module.d.ts +0 -18
- package/components/form-heading/form-heading.component.d.ts +0 -10
- package/components/form-heading/form-heading.module.d.ts +0 -10
- package/components/forms/validators.d.ts +0 -29
- package/components/icon/icon.component.d.ts +0 -13
- package/components/icon/icon.module.d.ts +0 -8
- package/components/icon/icon.types.d.ts +0 -2
- package/components/icon-button/icon-button.component.d.ts +0 -12
- package/components/icon-button/icon-button.module.d.ts +0 -9
- package/components/layouts/context/context.component.d.ts +0 -18
- package/components/layouts/grid/grid.component.d.ts +0 -19
- package/components/layouts/layout-group.component.d.ts +0 -9
- package/components/layouts/layouts.module.d.ts +0 -14
- package/components/layouts/panel/panel.component.d.ts +0 -11
- package/components/layouts/sidebar/sidebar.component.d.ts +0 -9
- package/components/layouts/toolbar/toolbar.component.d.ts +0 -7
- package/components/legacy/dialog/choice-dialog.component.d.ts +0 -35
- package/components/legacy/dialog/confirm-dialog.component.d.ts +0 -20
- package/components/legacy/dialog/dialog.module.d.ts +0 -19
- package/components/legacy/dialog/dialog.service.d.ts +0 -25
- package/components/legacy/dialog/error-dialog.component.d.ts +0 -18
- package/components/legacy/dialog/portal-dialog.component.d.ts +0 -33
- package/components/legacy/notification/notification/notification.component.d.ts +0 -20
- package/components/legacy/notification/notification/notification.model.d.ts +0 -14
- package/components/legacy/notification/notification-container/notification-container.component.d.ts +0 -25
- package/components/legacy/notification/notification-timer.service.d.ts +0 -10
- package/components/legacy/notification/notification.module.d.ts +0 -12
- package/components/legacy/notification/notification.service.d.ts +0 -13
- package/components/menu/menu-close-triggers.directive.d.ts +0 -10
- package/components/menu/menu-container/menu-container.component.d.ts +0 -28
- package/components/menu/menu-header/menu-header.component.d.ts +0 -5
- package/components/menu/menu-item/menu-item.component.d.ts +0 -38
- package/components/menu/menu-item-group/menu-item-group.component.d.ts +0 -11
- package/components/menu/menu-separator/menu-separator.component.d.ts +0 -5
- package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +0 -25
- package/components/menu/menu.component.d.ts +0 -48
- package/components/menu/menu.module.d.ts +0 -24
- package/components/navbar/navbar-header/navbar-header.component.d.ts +0 -5
- package/components/navbar/navbar-item/navbar-item.component.d.ts +0 -28
- package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +0 -18
- package/components/navbar/navbar.component.d.ts +0 -14
- package/components/navbar/navbar.module.d.ts +0 -18
- package/components/number-input/number-input.component.d.ts +0 -42
- package/components/number-input/number-input.module.d.ts +0 -10
- package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +0 -32
- package/components/paginator/paginator.component.d.ts +0 -40
- package/components/paginator/paginator.model.d.ts +0 -8
- package/components/paginator/paginator.module.d.ts +0 -14
- package/components/phone-input/country-code.data.d.ts +0 -2
- package/components/phone-input/phone-input.component.d.ts +0 -66
- package/components/phone-input/phone-input.model.d.ts +0 -10
- package/components/phone-input/phone-input.module.d.ts +0 -13
- package/components/popover/popover-panel/popover-panel.component.d.ts +0 -10
- package/components/popover/popover.component.d.ts +0 -19
- package/components/popover/popover.module.d.ts +0 -11
- package/components/progress/bar/bar.component.d.ts +0 -32
- package/components/progress/progress.module.d.ts +0 -9
- package/components/progress/spinner/spinner.component.d.ts +0 -37
- package/components/radio/radio-group.component.d.ts +0 -32
- package/components/radio/radio.component.d.ts +0 -17
- package/components/radio/radio.module.d.ts +0 -10
- package/components/section-heading/back-button/back-button.component.d.ts +0 -11
- package/components/section-heading/section-heading.component.d.ts +0 -13
- package/components/section-heading/section-heading.module.d.ts +0 -12
- package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +0 -9
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +0 -65
- package/components/select-menu/select-menu.component.d.ts +0 -68
- package/components/select-menu/select-menu.module.d.ts +0 -15
- package/components/shared/pipes/pipes.module.d.ts +0 -10
- package/components/shared/pipes/translate.pipe.d.ts +0 -17
- package/components/shared/pipes/trusthtml.pipe.d.ts +0 -10
- package/components/shared/translation.service.d.ts +0 -14
- package/components/snackbar/snackbar/snackbar.component.d.ts +0 -24
- package/components/snackbar/snackbar-container/snackbar-container.component.d.ts +0 -20
- package/components/snackbar/snackbar-message.model.d.ts +0 -12
- package/components/snackbar/snackbar-timer.service.d.ts +0 -10
- package/components/snackbar/snackbar.module.d.ts +0 -14
- package/components/snackbar/snackbar.service.d.ts +0 -13
- package/components/stepper/step.component.d.ts +0 -27
- package/components/stepper/stepper.component.d.ts +0 -23
- package/components/stepper/stepper.module.d.ts +0 -11
- package/components/switch/switch.component.d.ts +0 -22
- package/components/switch/switch.module.d.ts +0 -8
- package/components/table/cell.d.ts +0 -63
- package/components/table/row.d.ts +0 -60
- package/components/table/table-dense.component.d.ts +0 -11
- package/components/table/table.component.d.ts +0 -11
- package/components/table/table.module.d.ts +0 -12
- package/components/tabs/tab/tab.component.d.ts +0 -21
- package/components/tabs/tab-panel/tab-panel.component.d.ts +0 -6
- package/components/tabs/tabs.component.d.ts +0 -17
- package/components/tabs/tabs.module.d.ts +0 -11
- package/components/text-input/text-input.component.d.ts +0 -45
- package/components/text-input/text-input.module.d.ts +0 -10
- package/components/textarea-input/textarea-input.component.d.ts +0 -34
- package/components/textarea-input/textarea-input.module.d.ts +0 -11
- package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +0 -12
- package/components/tooltip/tooltip.component.d.ts +0 -17
- package/components/tooltip/tooltip.module.d.ts +0 -11
- package/components/wrapped-input/wrapped-input.component.d.ts +0 -10
- package/components/wrapped-input/wrapped-input.module.d.ts +0 -9
- package/esm2020/components/alert/alert.component.mjs +0 -34
- package/esm2020/components/alert/alert.module.mjs +0 -32
- package/esm2020/components/app-icon/app-icon.component.mjs +0 -63
- package/esm2020/components/app-icon/app-icon.module.mjs +0 -28
- package/esm2020/components/avatar/avatar.component.mjs +0 -53
- package/esm2020/components/avatar/avatar.module.mjs +0 -28
- package/esm2020/components/badge/badge.component.mjs +0 -45
- package/esm2020/components/badge/badge.module.mjs +0 -24
- package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
- package/esm2020/components/breadcrumbs/breadcrumbs.module.mjs +0 -33
- package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
- package/esm2020/components/button/button.component.mjs +0 -59
- package/esm2020/components/button/button.directives.mjs +0 -129
- package/esm2020/components/button/button.module.mjs +0 -53
- package/esm2020/components/button-group/button-group.component.mjs +0 -131
- package/esm2020/components/button-group/button-group.module.mjs +0 -32
- package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
- package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -132
- package/esm2020/components/button-toggle/button-toggle.module.mjs +0 -33
- package/esm2020/components/card/card-attribute/card-attribute.component.mjs +0 -17
- package/esm2020/components/card/card-author/card-author.component.mjs +0 -15
- package/esm2020/components/card/card-content/card-content.component.mjs +0 -11
- package/esm2020/components/card/card-footer/card-footer.component.mjs +0 -29
- package/esm2020/components/card/card-header/card-header.component.mjs +0 -24
- package/esm2020/components/card/card.component.mjs +0 -27
- package/esm2020/components/card/card.module.mjs +0 -57
- package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
- package/esm2020/components/checkbox/checkbox.module.mjs +0 -31
- package/esm2020/components/chip/chip.component.mjs +0 -52
- package/esm2020/components/chip/chip.module.mjs +0 -32
- package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
- package/esm2020/components/contained-input/contained-input.module.mjs +0 -40
- package/esm2020/components/date-input/date-input.component.mjs +0 -139
- package/esm2020/components/date-input/date-input.module.mjs +0 -32
- package/esm2020/components/dialog/dialog-actions.component.mjs +0 -32
- package/esm2020/components/dialog/dialog-confirm.component.mjs +0 -63
- package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
- package/esm2020/components/dialog/dialog-header.component.mjs +0 -35
- package/esm2020/components/dialog/dialog-simple.component.mjs +0 -62
- package/esm2020/components/dialog/dialog.component.mjs +0 -55
- package/esm2020/components/dialog/dialog.service.mjs +0 -49
- package/esm2020/components/dialog/dialogs.module.mjs +0 -75
- package/esm2020/components/form-heading/form-heading.component.mjs +0 -24
- package/esm2020/components/form-heading/form-heading.module.mjs +0 -32
- package/esm2020/components/forms/validators.mjs +0 -81
- package/esm2020/components/icon/icon.component.mjs +0 -61
- package/esm2020/components/icon/icon.module.mjs +0 -24
- package/esm2020/components/icon/icon.types.mjs +0 -317
- package/esm2020/components/icon-button/icon-button.component.mjs +0 -39
- package/esm2020/components/icon-button/icon-button.module.mjs +0 -28
- package/esm2020/components/layouts/context/context.component.mjs +0 -46
- package/esm2020/components/layouts/grid/grid.component.mjs +0 -62
- package/esm2020/components/layouts/layout-group.component.mjs +0 -36
- package/esm2020/components/layouts/layouts.module.mjs +0 -57
- package/esm2020/components/layouts/panel/panel.component.mjs +0 -32
- package/esm2020/components/layouts/sidebar/sidebar.component.mjs +0 -26
- package/esm2020/components/layouts/toolbar/toolbar.component.mjs +0 -21
- package/esm2020/components/legacy/dialog/choice-dialog.component.mjs +0 -107
- package/esm2020/components/legacy/dialog/confirm-dialog.component.mjs +0 -61
- package/esm2020/components/legacy/dialog/dialog.module.mjs +0 -82
- package/esm2020/components/legacy/dialog/dialog.service.mjs +0 -75
- package/esm2020/components/legacy/dialog/error-dialog.component.mjs +0 -52
- package/esm2020/components/legacy/dialog/portal-dialog.component.mjs +0 -109
- package/esm2020/components/legacy/notification/notification/notification.component.mjs +0 -74
- package/esm2020/components/legacy/notification/notification/notification.model.mjs +0 -9
- package/esm2020/components/legacy/notification/notification-container/notification-container.component.mjs +0 -98
- package/esm2020/components/legacy/notification/notification-timer.service.mjs +0 -29
- package/esm2020/components/legacy/notification/notification.module.mjs +0 -47
- package/esm2020/components/legacy/notification/notification.service.mjs +0 -36
- package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
- package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
- package/esm2020/components/menu/menu-header/menu-header.component.mjs +0 -11
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
- package/esm2020/components/menu/menu-item-group/menu-item-group.component.mjs +0 -31
- package/esm2020/components/menu/menu-separator/menu-separator.component.mjs +0 -11
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
- package/esm2020/components/menu/menu.component.mjs +0 -212
- package/esm2020/components/menu/menu.module.mjs +0 -95
- package/esm2020/components/navbar/navbar-header/navbar-header.component.mjs +0 -11
- package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
- package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
- package/esm2020/components/navbar/navbar.component.mjs +0 -75
- package/esm2020/components/navbar/navbar.module.mjs +0 -67
- package/esm2020/components/number-input/number-input.component.mjs +0 -122
- package/esm2020/components/number-input/number-input.module.mjs +0 -32
- package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
- package/esm2020/components/paginator/paginator.component.mjs +0 -133
- package/esm2020/components/paginator/paginator.model.mjs +0 -2
- package/esm2020/components/paginator/paginator.module.mjs +0 -49
- package/esm2020/components/phone-input/country-code.data.mjs +0 -495
- package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
- package/esm2020/components/phone-input/phone-input.model.mjs +0 -2
- package/esm2020/components/phone-input/phone-input.module.mjs +0 -47
- package/esm2020/components/popover/popover-panel/popover-panel.component.mjs +0 -30
- package/esm2020/components/popover/popover.component.mjs +0 -76
- package/esm2020/components/popover/popover.module.mjs +0 -42
- package/esm2020/components/progress/bar/bar.component.mjs +0 -83
- package/esm2020/components/progress/progress.module.mjs +0 -29
- package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
- package/esm2020/components/radio/radio-group.component.mjs +0 -117
- package/esm2020/components/radio/radio.component.mjs +0 -51
- package/esm2020/components/radio/radio.module.mjs +0 -36
- package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
- package/esm2020/components/section-heading/section-heading.component.mjs +0 -31
- package/esm2020/components/section-heading/section-heading.module.mjs +0 -42
- package/esm2020/components/section-heading/subsection-heading/subsection-heading.component.mjs +0 -19
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -356
- package/esm2020/components/select-menu/select-menu.component.mjs +0 -328
- package/esm2020/components/select-menu/select-menu.module.mjs +0 -53
- package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
- package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
- package/esm2020/components/shared/pipes/trusthtml.pipe.mjs +0 -21
- package/esm2020/components/shared/translation.service.mjs +0 -26
- package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
- package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
- package/esm2020/components/snackbar/snackbar-message.model.mjs +0 -2
- package/esm2020/components/snackbar/snackbar-timer.service.mjs +0 -29
- package/esm2020/components/snackbar/snackbar.module.mjs +0 -55
- package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
- package/esm2020/components/stepper/step.component.mjs +0 -113
- package/esm2020/components/stepper/stepper.component.mjs +0 -95
- package/esm2020/components/stepper/stepper.module.mjs +0 -41
- package/esm2020/components/switch/switch.component.mjs +0 -73
- package/esm2020/components/switch/switch.module.mjs +0 -24
- package/esm2020/components/table/cell.mjs +0 -151
- package/esm2020/components/table/row.mjs +0 -170
- package/esm2020/components/table/table-dense.component.mjs +0 -38
- package/esm2020/components/table/table.component.mjs +0 -38
- package/esm2020/components/table/table.module.mjs +0 -91
- package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
- package/esm2020/components/tabs/tab-panel/tab-panel.component.mjs +0 -19
- package/esm2020/components/tabs/tabs.component.mjs +0 -68
- package/esm2020/components/tabs/tabs.module.mjs +0 -38
- package/esm2020/components/text-input/text-input.component.mjs +0 -112
- package/esm2020/components/text-input/text-input.module.mjs +0 -32
- package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
- package/esm2020/components/textarea-input/textarea-input.module.mjs +0 -36
- package/esm2020/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +0 -37
- package/esm2020/components/tooltip/tooltip.component.mjs +0 -49
- package/esm2020/components/tooltip/tooltip.module.mjs +0 -42
- package/esm2020/components/wrapped-input/wrapped-input.component.mjs +0 -30
- package/esm2020/components/wrapped-input/wrapped-input.module.mjs +0 -28
- package/esm2020/flywheel-io-vision.mjs +0 -5
- package/esm2020/public-api.mjs +0 -137
- package/fesm2015/flywheel-io-vision.mjs +0 -8767
- package/fesm2015/flywheel-io-vision.mjs.map +0 -1
- package/fesm2020/flywheel-io-vision.mjs +0 -8739
- package/fesm2020/flywheel-io-vision.mjs.map +0 -1
- package/global.scss +0 -9
- package/index.d.ts +0 -5
- package/public-api.d.ts +0 -136
- package/public-api.scss +0 -7
- package/scss/atoms/scrollbar.scss +0 -10
- package/scss/config/colors.scss +0 -148
- package/scss/icons/_icon-font-face.scss +0 -13
- package/scss/icons/_icon-glyphs.scss +0 -1612
- package/scss/icons/_icon-variables.scss +0 -317
- package/scss/material/theme.scss +0 -243
- package/styles.css +0 -8770
- /package/{assets → src/assets}/fonts/Flywheel-Vision-Icons.svg +0 -0
- /package/{assets → src/assets}/fonts/Flywheel-Vision-Icons.ttf +0 -0
- /package/{assets → src/assets}/fonts/Flywheel-Vision-Icons.woff +0 -0
- /package/{assets → src/assets}/svg/3d-sphere-rotate-arrows.svg +0 -0
- /package/{assets → src/assets}/svg/add-circle.svg +0 -0
- /package/{assets → src/assets}/svg/add-new-create.svg +0 -0
- /package/{assets → src/assets}/svg/add-row-above.svg +0 -0
- /package/{assets → src/assets}/svg/add-row-below.svg +0 -0
- /package/{assets → src/assets}/svg/add-server-databases-endpoint.svg +0 -0
- /package/{assets → src/assets}/svg/add-server.svg +0 -0
- /package/{assets → src/assets}/svg/add-user.svg +0 -0
- /package/{assets → src/assets}/svg/ai.svg +0 -0
- /package/{assets → src/assets}/svg/apple.svg +0 -0
- /package/{assets → src/assets}/svg/apply-copy-duplicate.svg +0 -0
- /package/{assets → src/assets}/svg/arrange-filter-sort.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-annotate.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-back-collapse.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-back.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-down.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-forward-collapse.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-forward.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-rotate-restore.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-rotate.svg +0 -0
- /package/{assets → src/assets}/svg/arrow-up.svg +0 -0
- /package/{assets → src/assets}/svg/arrow.svg +0 -0
- /package/{assets → src/assets}/svg/barcode-serial.svg +0 -0
- /package/{assets → src/assets}/svg/barcode-stack-scan.svg +0 -0
- /package/{assets → src/assets}/svg/bell-notification.svg +0 -0
- /package/{assets → src/assets}/svg/bezier-curve.svg +0 -0
- /package/{assets → src/assets}/svg/blocks-code-test-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/book-lab-flask.svg +0 -0
- /package/{assets → src/assets}/svg/bookmark-plus-add.svg +0 -0
- /package/{assets → src/assets}/svg/bookmark.svg +0 -0
- /package/{assets → src/assets}/svg/brain.svg +0 -0
- /package/{assets → src/assets}/svg/brightness-photo-edit.svg +0 -0
- /package/{assets → src/assets}/svg/browser-internet-web-windows.svg +0 -0
- /package/{assets → src/assets}/svg/brush-edit-create.svg +0 -0
- /package/{assets → src/assets}/svg/bucket-paint.svg +0 -0
- /package/{assets → src/assets}/svg/button-form-element.svg +0 -0
- /package/{assets → src/assets}/svg/calendar-arrow-left-center.svg +0 -0
- /package/{assets → src/assets}/svg/calendar-schedule.svg +0 -0
- /package/{assets → src/assets}/svg/camera-photo-capture.svg +0 -0
- /package/{assets → src/assets}/svg/cash-banknotes.svg +0 -0
- /package/{assets → src/assets}/svg/chart-square.svg +0 -0
- /package/{assets → src/assets}/svg/chart-trend-square.svg +0 -0
- /package/{assets → src/assets}/svg/chat-messages-bubble.svg +0 -0
- /package/{assets → src/assets}/svg/checklist-tasks-chechmark-square.svg +0 -0
- /package/{assets → src/assets}/svg/checklist.svg +0 -0
- /package/{assets → src/assets}/svg/chevron-back.svg +0 -0
- /package/{assets → src/assets}/svg/chevron-down.svg +0 -0
- /package/{assets → src/assets}/svg/chevron-forward.svg +0 -0
- /package/{assets → src/assets}/svg/chevron-input-number.svg +0 -0
- /package/{assets → src/assets}/svg/chevron-up.svg +0 -0
- /package/{assets → src/assets}/svg/circle-ellipses.svg +0 -0
- /package/{assets → src/assets}/svg/circle.svg +0 -0
- /package/{assets → src/assets}/svg/clap-applause-hands.svg +0 -0
- /package/{assets → src/assets}/svg/clip-attachment.svg +0 -0
- /package/{assets → src/assets}/svg/clock-history.svg +0 -0
- /package/{assets → src/assets}/svg/clock-hour-4.svg +0 -0
- /package/{assets → src/assets}/svg/clock-loading.svg +0 -0
- /package/{assets → src/assets}/svg/close-circled.svg +0 -0
- /package/{assets → src/assets}/svg/close.svg +0 -0
- /package/{assets → src/assets}/svg/closed-freehand-vector-poly.svg +0 -0
- /package/{assets → src/assets}/svg/cloud-network-add.svg +0 -0
- /package/{assets → src/assets}/svg/cloud-storage-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/cloud-upload.svg +0 -0
- /package/{assets → src/assets}/svg/code-block-embed.svg +0 -0
- /package/{assets → src/assets}/svg/code-text.svg +0 -0
- /package/{assets → src/assets}/svg/color-design-profile.svg +0 -0
- /package/{assets → src/assets}/svg/color-ven-design-profile-central.svg +0 -0
- /package/{assets → src/assets}/svg/column-edit.svg +0 -0
- /package/{assets → src/assets}/svg/computer-chip.svg +0 -0
- /package/{assets → src/assets}/svg/contrast-photo-edit.svg +0 -0
- /package/{assets → src/assets}/svg/copy-item.svg +0 -0
- /package/{assets → src/assets}/svg/creative-commons.svg +0 -0
- /package/{assets → src/assets}/svg/crosshair.svg +0 -0
- /package/{assets → src/assets}/svg/crown-style-circle.svg +0 -0
- /package/{assets → src/assets}/svg/cursor-select.svg +0 -0
- /package/{assets → src/assets}/svg/curve-object-secet-cursor.svg +0 -0
- /package/{assets → src/assets}/svg/data-tree.svg +0 -0
- /package/{assets → src/assets}/svg/delivery-shipment-packages.svg +0 -0
- /package/{assets → src/assets}/svg/dna-hospital-medical.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-add-plus-bottom-left.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-blank.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-download.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-list-protocol.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-tar.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-upload-bottom-center.svg +0 -0
- /package/{assets → src/assets}/svg/document-file-zip.svg +0 -0
- /package/{assets → src/assets}/svg/document-status-done-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/document-visible.svg +0 -0
- /package/{assets → src/assets}/svg/documents-file.svg +0 -0
- /package/{assets → src/assets}/svg/documents-files.svg +0 -0
- /package/{assets → src/assets}/svg/done-check-tracked.svg +0 -0
- /package/{assets → src/assets}/svg/done-check.svg +0 -0
- /package/{assets → src/assets}/svg/download-status.svg +0 -0
- /package/{assets → src/assets}/svg/download.svg +0 -0
- /package/{assets → src/assets}/svg/drag-drop-indicator.svg +0 -0
- /package/{assets → src/assets}/svg/draw-rectangle.svg +0 -0
- /package/{assets → src/assets}/svg/earth-globe-fail.svg +0 -0
- /package/{assets → src/assets}/svg/edit-boxed.svg +0 -0
- /package/{assets → src/assets}/svg/edit-erase.svg +0 -0
- /package/{assets → src/assets}/svg/edit.svg +0 -0
- /package/{assets → src/assets}/svg/email-mail-checkmark-group.svg +0 -0
- /package/{assets → src/assets}/svg/email.svg +0 -0
- /package/{assets → src/assets}/svg/embed-circle.svg +0 -0
- /package/{assets → src/assets}/svg/exchange.svg +0 -0
- /package/{assets → src/assets}/svg/expand-pathfinder-dot-square-segmentation.svg +0 -0
- /package/{assets → src/assets}/svg/facebook.svg +0 -0
- /package/{assets → src/assets}/svg/file-blank-image-load-mask.svg +0 -0
- /package/{assets → src/assets}/svg/file-download.svg +0 -0
- /package/{assets → src/assets}/svg/file-text.svg +0 -0
- /package/{assets → src/assets}/svg/files-library-content.svg +0 -0
- /package/{assets → src/assets}/svg/files-library.svg +0 -0
- /package/{assets → src/assets}/svg/files.svg +0 -0
- /package/{assets → src/assets}/svg/filter-sort-add.svg +0 -0
- /package/{assets → src/assets}/svg/filter-sort-check-mark.svg +0 -0
- /package/{assets → src/assets}/svg/filter-sort-delete.svg +0 -0
- /package/{assets → src/assets}/svg/filter.svg +0 -0
- /package/{assets → src/assets}/svg/flag.svg +0 -0
- /package/{assets → src/assets}/svg/flip-horizontal.svg +0 -0
- /package/{assets → src/assets}/svg/flip-vertical.svg +0 -0
- /package/{assets → src/assets}/svg/floppy-save.svg +0 -0
- /package/{assets → src/assets}/svg/flywheel-mark-logo.svg +0 -0
- /package/{assets → src/assets}/svg/flywheel-viewer-mark-logo.svg +0 -0
- /package/{assets → src/assets}/svg/folder-add.svg +0 -0
- /package/{assets → src/assets}/svg/folder-blank.svg +0 -0
- /package/{assets → src/assets}/svg/folder-checked.svg +0 -0
- /package/{assets → src/assets}/svg/folder-group.svg +0 -0
- /package/{assets → src/assets}/svg/folder-open.svg +0 -0
- /package/{assets → src/assets}/svg/folder-share.svg +0 -0
- /package/{assets → src/assets}/svg/form-metadata-element.svg +0 -0
- /package/{assets → src/assets}/svg/free-rights.svg +0 -0
- /package/{assets → src/assets}/svg/freehand-vector-poly.svg +0 -0
- /package/{assets → src/assets}/svg/full-screen-zoom.svg +0 -0
- /package/{assets → src/assets}/svg/github-color-login.svg +0 -0
- /package/{assets → src/assets}/svg/gitlab.svg +0 -0
- /package/{assets → src/assets}/svg/graduate-hat.svg +0 -0
- /package/{assets → src/assets}/svg/grid-dot-square.svg +0 -0
- /package/{assets → src/assets}/svg/grid-layout.svg +0 -0
- /package/{assets → src/assets}/svg/hammer-legal-square.svg +0 -0
- /package/{assets → src/assets}/svg/hammer-screwdriver.svg +0 -0
- /package/{assets → src/assets}/svg/hand-money-currency.svg +0 -0
- /package/{assets → src/assets}/svg/header-form-element.svg +0 -0
- /package/{assets → src/assets}/svg/home-modern-door.svg +0 -0
- /package/{assets → src/assets}/svg/home-modern-option-lines.svg +0 -0
- /package/{assets → src/assets}/svg/human-artificial-intelligence.svg +0 -0
- /package/{assets → src/assets}/svg/icon-placeholder.svg +0 -0
- /package/{assets → src/assets}/svg/image-photo-copy-left-down.svg +0 -0
- /package/{assets → src/assets}/svg/image-picture-square.svg +0 -0
- /package/{assets → src/assets}/svg/information-circle.svg +0 -0
- /package/{assets → src/assets}/svg/invoice-checkmark-paid.svg +0 -0
- /package/{assets → src/assets}/svg/invoice.svg +0 -0
- /package/{assets → src/assets}/svg/italic.svg +0 -0
- /package/{assets → src/assets}/svg/items-group-elements.svg +0 -0
- /package/{assets → src/assets}/svg/key.svg +0 -0
- /package/{assets → src/assets}/svg/keyboard.svg +0 -0
- /package/{assets → src/assets}/svg/keychain.svg +0 -0
- /package/{assets → src/assets}/svg/label-tag.svg +0 -0
- /package/{assets → src/assets}/svg/laptop-health-medical-cross.svg +0 -0
- /package/{assets → src/assets}/svg/layers.svg +0 -0
- /package/{assets → src/assets}/svg/layout-grid.svg +0 -0
- /package/{assets → src/assets}/svg/layout.svg +0 -0
- /package/{assets → src/assets}/svg/line.svg +0 -0
- /package/{assets → src/assets}/svg/link-unlink.svg +0 -0
- /package/{assets → src/assets}/svg/link.svg +0 -0
- /package/{assets → src/assets}/svg/linkedin.svg +0 -0
- /package/{assets → src/assets}/svg/linux.svg +0 -0
- /package/{assets → src/assets}/svg/list-paragraph-number.svg +0 -0
- /package/{assets → src/assets}/svg/list-paragraph.svg +0 -0
- /package/{assets → src/assets}/svg/list-test-lab-flask.svg +0 -0
- /package/{assets → src/assets}/svg/livewire-tool.svg +0 -0
- /package/{assets → src/assets}/svg/loading-status-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/lock-unlock.svg +0 -0
- /package/{assets → src/assets}/svg/lock.svg +0 -0
- /package/{assets → src/assets}/svg/logout.svg +0 -0
- /package/{assets → src/assets}/svg/lung.svg +0 -0
- /package/{assets → src/assets}/svg/lungs.svg +0 -0
- /package/{assets → src/assets}/svg/markdown.svg +0 -0
- /package/{assets → src/assets}/svg/measure-angle.svg +0 -0
- /package/{assets → src/assets}/svg/measure-ruler-calibration.svg +0 -0
- /package/{assets → src/assets}/svg/media-library-imports-dowload.svg +0 -0
- /package/{assets → src/assets}/svg/menu-burger-handle.svg +0 -0
- /package/{assets → src/assets}/svg/menu-horizontal.svg +0 -0
- /package/{assets → src/assets}/svg/menu-list-form-square.svg +0 -0
- /package/{assets → src/assets}/svg/menu-vertical.svg +0 -0
- /package/{assets → src/assets}/svg/message-chat-info.svg +0 -0
- /package/{assets → src/assets}/svg/message-chat-question-support.svg +0 -0
- /package/{assets → src/assets}/svg/message-checkmark-sent.svg +0 -0
- /package/{assets → src/assets}/svg/message-question-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/microphone-mic-rec-circle.svg +0 -0
- /package/{assets → src/assets}/svg/microphone-mic-rec.svg +0 -0
- /package/{assets → src/assets}/svg/microphone-mic-recording-circle.svg +0 -0
- /package/{assets → src/assets}/svg/minus.svg +0 -0
- /package/{assets → src/assets}/svg/modalities.svg +0 -0
- /package/{assets → src/assets}/svg/molecule.svg +0 -0
- /package/{assets → src/assets}/svg/money-coin.svg +0 -0
- /package/{assets → src/assets}/svg/money-dollar.svg +0 -0
- /package/{assets → src/assets}/svg/money.svg +0 -0
- /package/{assets → src/assets}/svg/mouse-big.svg +0 -0
- /package/{assets → src/assets}/svg/move.svg +0 -0
- /package/{assets → src/assets}/svg/music-play-resume.svg +0 -0
- /package/{assets → src/assets}/svg/music-stop.svg +0 -0
- /package/{assets → src/assets}/svg/mute.svg +0 -0
- /package/{assets → src/assets}/svg/network-storage-alert.svg +0 -0
- /package/{assets → src/assets}/svg/notebook-add-plus.svg +0 -0
- /package/{assets → src/assets}/svg/notebook-open.svg +0 -0
- /package/{assets → src/assets}/svg/notebook-pen-edit.svg +0 -0
- /package/{assets → src/assets}/svg/notebook.svg +0 -0
- /package/{assets → src/assets}/svg/notes-pen.svg +0 -0
- /package/{assets → src/assets}/svg/object-search-zoom-plus.svg +0 -0
- /package/{assets → src/assets}/svg/open.svg +0 -0
- /package/{assets → src/assets}/svg/paint-roller.svg +0 -0
- /package/{assets → src/assets}/svg/pause.svg +0 -0
- /package/{assets → src/assets}/svg/pen-edit-circle.svg +0 -0
- /package/{assets → src/assets}/svg/pencil-edit-create.svg +0 -0
- /package/{assets → src/assets}/svg/photo-edit-brightness-invert.svg +0 -0
- /package/{assets → src/assets}/svg/pie-chart.svg +0 -0
- /package/{assets → src/assets}/svg/pie-graph-chart-sample.svg +0 -0
- /package/{assets → src/assets}/svg/plus-add-rectangle.svg +0 -0
- /package/{assets → src/assets}/svg/polygon.svg +0 -0
- /package/{assets → src/assets}/svg/private-mode-protection-circle.svg +0 -0
- /package/{assets → src/assets}/svg/protection-target.svg +0 -0
- /package/{assets → src/assets}/svg/protective-mask.svg +0 -0
- /package/{assets → src/assets}/svg/question-circle.svg +0 -0
- /package/{assets → src/assets}/svg/quote.svg +0 -0
- /package/{assets → src/assets}/svg/radiology-scan-circle.svg +0 -0
- /package/{assets → src/assets}/svg/radiology-scan.svg +0 -0
- /package/{assets → src/assets}/svg/reader-studies.svg +0 -0
- /package/{assets → src/assets}/svg/rotate-arrow-manual.svg +0 -0
- /package/{assets → src/assets}/svg/rotate-item-left.svg +0 -0
- /package/{assets → src/assets}/svg/rotate-item-right.svg +0 -0
- /package/{assets → src/assets}/svg/rotate-refresh.svg +0 -0
- /package/{assets → src/assets}/svg/rotate.svg +0 -0
- /package/{assets → src/assets}/svg/ruler-bidirectional.svg +0 -0
- /package/{assets → src/assets}/svg/ruler.svg +0 -0
- /package/{assets → src/assets}/svg/scanner.svg +0 -0
- /package/{assets → src/assets}/svg/search-loop.svg +0 -0
- /package/{assets → src/assets}/svg/search-user-profile-person.svg +0 -0
- /package/{assets → src/assets}/svg/search-zoom-minus.svg +0 -0
- /package/{assets → src/assets}/svg/search-zoom-plus.svg +0 -0
- /package/{assets → src/assets}/svg/search.svg +0 -0
- /package/{assets → src/assets}/svg/section-form-element.svg +0 -0
- /package/{assets → src/assets}/svg/send-message-share.svg +0 -0
- /package/{assets → src/assets}/svg/server-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/server-database-endpoint.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-connect.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-download.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-key-protection.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-minimal-download.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-sync-import.svg +0 -0
- /package/{assets → src/assets}/svg/server-databases-sync.svg +0 -0
- /package/{assets → src/assets}/svg/server-upload.svg +0 -0
- /package/{assets → src/assets}/svg/server.svg +0 -0
- /package/{assets → src/assets}/svg/servers-database.svg +0 -0
- /package/{assets → src/assets}/svg/setting-gear.svg +0 -0
- /package/{assets → src/assets}/svg/settings-adjust.svg +0 -0
- /package/{assets → src/assets}/svg/settings-gear-square.svg +0 -0
- /package/{assets → src/assets}/svg/settings-gear.svg +0 -0
- /package/{assets → src/assets}/svg/settings-select.svg +0 -0
- /package/{assets → src/assets}/svg/shapes-objects.svg +0 -0
- /package/{assets → src/assets}/svg/share.svg +0 -0
- /package/{assets → src/assets}/svg/shield-protect.svg +0 -0
- /package/{assets → src/assets}/svg/show-visible.svg +0 -0
- /package/{assets → src/assets}/svg/smiley-emoji-face.svg +0 -0
- /package/{assets → src/assets}/svg/speed-dashboard.svg +0 -0
- /package/{assets → src/assets}/svg/square-fill-outline.svg +0 -0
- /package/{assets → src/assets}/svg/square-fill.svg +0 -0
- /package/{assets → src/assets}/svg/square-outline.svg +0 -0
- /package/{assets → src/assets}/svg/star.svg +0 -0
- /package/{assets → src/assets}/svg/stars-light-sparkle.svg +0 -0
- /package/{assets → src/assets}/svg/stomach.svg +0 -0
- /package/{assets → src/assets}/svg/substract-group.svg +0 -0
- /package/{assets → src/assets}/svg/switch.svg +0 -0
- /package/{assets → src/assets}/svg/target-space-object-select.svg +0 -0
- /package/{assets → src/assets}/svg/target.svg +0 -0
- /package/{assets → src/assets}/svg/tasklist-to-do-checkmark.svg +0 -0
- /package/{assets → src/assets}/svg/technology-cube-3d.svg +0 -0
- /package/{assets → src/assets}/svg/test-lab-flask.svg +0 -0
- /package/{assets → src/assets}/svg/text-bold.svg +0 -0
- /package/{assets → src/assets}/svg/text-cross.svg +0 -0
- /package/{assets → src/assets}/svg/text-h1.svg +0 -0
- /package/{assets → src/assets}/svg/text-h2.svg +0 -0
- /package/{assets → src/assets}/svg/text-input-form.svg +0 -0
- /package/{assets → src/assets}/svg/text-long.svg +0 -0
- /package/{assets → src/assets}/svg/text-short-form-element.svg +0 -0
- /package/{assets → src/assets}/svg/text-underline.svg +0 -0
- /package/{assets → src/assets}/svg/thumbs-up-like.svg +0 -0
- /package/{assets → src/assets}/svg/timer-clock-style.svg +0 -0
- /package/{assets → src/assets}/svg/trash-delete.svg +0 -0
- /package/{assets → src/assets}/svg/twitter.svg +0 -0
- /package/{assets → src/assets}/svg/undone-uncheck-untracked.svg +0 -0
- /package/{assets → src/assets}/svg/unlimited-repeat-subscription-circle.svg +0 -0
- /package/{assets → src/assets}/svg/upload.svg +0 -0
- /package/{assets → src/assets}/svg/user-checked.svg +0 -0
- /package/{assets → src/assets}/svg/user-delete-cross.svg +0 -0
- /package/{assets → src/assets}/svg/user-document.svg +0 -0
- /package/{assets → src/assets}/svg/user-group.svg +0 -0
- /package/{assets → src/assets}/svg/user-key.svg +0 -0
- /package/{assets → src/assets}/svg/user-lock.svg +0 -0
- /package/{assets → src/assets}/svg/user-profile-group-discovery.svg +0 -0
- /package/{assets → src/assets}/svg/user-setting-gear.svg +0 -0
- /package/{assets → src/assets}/svg/user.svg +0 -0
- /package/{assets → src/assets}/svg/video-player-controls.svg +0 -0
- /package/{assets → src/assets}/svg/visible-eye-hidden.svg +0 -0
- /package/{assets → src/assets}/svg/volume-full.svg +0 -0
- /package/{assets → src/assets}/svg/warning-circle.svg +0 -0
- /package/{assets → src/assets}/svg/warning.svg +0 -0
- /package/{assets → src/assets}/svg/window-finder-resize-arrow-down.svg +0 -0
- /package/{assets → src/assets}/svg/window-finder-resize-arrow-up.svg +0 -0
- /package/{assets → src/assets}/svg/window-resize-left.svg +0 -0
- /package/{assets → src/assets}/svg/window-resize-right.svg +0 -0
- /package/{assets → src/assets}/svg/window-zoom-plus-loupe.svg +0 -0
- /package/{assets → src/assets}/svg/windows.svg +0 -0
- /package/{assets → src/assets}/svg/workspace-mode.svg +0 -0
- /package/{assets → src/assets}/svg/youtube.svg +0 -0
- /package/{assets → src/assets}/svg/zendesk-logo.svg +0 -0
- /package/{scss → src/scss}/atoms/ghost.scss +0 -0
- /package/{scss → src/scss}/config/overlay.scss +0 -0
- /package/{scss → src/scss}/config/shadows.scss +0 -0
- /package/{scss → src/scss}/config/typography.scss +0 -0
- /package/{scss → src/scss}/icons/icons.scss +0 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { CdkMenuTrigger } from '@angular/cdk/menu';
|
|
3
|
+
import {
|
|
4
|
+
AfterContentInit,
|
|
5
|
+
ChangeDetectorRef,
|
|
6
|
+
Component,
|
|
7
|
+
ContentChildren,
|
|
8
|
+
ElementRef,
|
|
9
|
+
EventEmitter,
|
|
10
|
+
forwardRef,
|
|
11
|
+
HostListener,
|
|
12
|
+
Input,
|
|
13
|
+
OnChanges,
|
|
14
|
+
OnDestroy,
|
|
15
|
+
Output,
|
|
16
|
+
QueryList,
|
|
17
|
+
SimpleChanges,
|
|
18
|
+
ViewChild,
|
|
19
|
+
ViewChildren,
|
|
20
|
+
} from '@angular/core';
|
|
21
|
+
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
22
|
+
import { Subscription } from 'rxjs';
|
|
23
|
+
|
|
24
|
+
import { FwMenuComponent } from '../../menu/menu.component';
|
|
25
|
+
import { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';
|
|
26
|
+
|
|
27
|
+
@Component({
|
|
28
|
+
selector: 'fw-multi-select',
|
|
29
|
+
templateUrl: './multi-select-menu.component.html',
|
|
30
|
+
styleUrls: ['./multi-select-menu.component.scss'],
|
|
31
|
+
providers: [
|
|
32
|
+
{
|
|
33
|
+
provide: NG_VALUE_ACCESSOR,
|
|
34
|
+
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
35
|
+
multi: true,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
})
|
|
39
|
+
export class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnDestroy {
|
|
40
|
+
@HostListener('document:click') outsideClick(): void {
|
|
41
|
+
if (this._isOpen) {
|
|
42
|
+
this.trigger.close();
|
|
43
|
+
this._isOpen = false;
|
|
44
|
+
}
|
|
45
|
+
if (this.trigger && this.trigger.isOpen()) {
|
|
46
|
+
this._isOpen = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@Input() options: object[] = [];
|
|
51
|
+
@Input() valueProperty?: string = 'value';
|
|
52
|
+
@Input() titleProperty?: string = 'title';
|
|
53
|
+
@Input() iconProperty?: string = 'icon';
|
|
54
|
+
@Input() disabled?: boolean = false;
|
|
55
|
+
@Input() useCheckbox?: boolean = false;
|
|
56
|
+
@Input() closeOnSelect?: boolean = true;
|
|
57
|
+
@Input() filterItemsOnSelect?: boolean = true;
|
|
58
|
+
@Input() maxSelectedShown: number = 100;
|
|
59
|
+
@Input() width: string = '200px';
|
|
60
|
+
@Input() minHeight: string = '';
|
|
61
|
+
@Input() maxHeight: string = '200px';
|
|
62
|
+
@Input() optionsWidth?: string;
|
|
63
|
+
@Input() minOptionsHeight?: string;
|
|
64
|
+
@Input() maxOptionsHeight?: string;
|
|
65
|
+
@Input() size?: 'small' | 'medium' | 'large' = 'medium';
|
|
66
|
+
@Input() placeholder: string = 'Select something...';
|
|
67
|
+
@Input() emptyText: string = 'No matches found...';
|
|
68
|
+
@ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;
|
|
69
|
+
@ViewChild(FwMenuComponent) menu: FwMenuComponent;
|
|
70
|
+
@ViewChildren(FwMenuItemComponent) renderedMenuItems: QueryList<FwMenuItemComponent>;
|
|
71
|
+
@ContentChildren(FwMenuItemComponent) menuItems: QueryList<FwMenuItemComponent>;
|
|
72
|
+
selectedValues: string[] = [];
|
|
73
|
+
selectedOptions: object[] = [];
|
|
74
|
+
filteredOptions: object[] = [];
|
|
75
|
+
private subscriptions: Subscription[] = [];
|
|
76
|
+
@ViewChild('textInput') textInput: ElementRef<HTMLInputElement>;
|
|
77
|
+
@ViewChild('textInitialInput') textInitialInput: ElementRef<HTMLInputElement>;
|
|
78
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
79
|
+
@Output() change = new EventEmitter<any>();
|
|
80
|
+
focused = 0;
|
|
81
|
+
private touched = false;
|
|
82
|
+
private _isOpen = false;
|
|
83
|
+
|
|
84
|
+
@Input()
|
|
85
|
+
get value(): any[] {
|
|
86
|
+
return this._value;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
set value(newValue: any[]) {
|
|
90
|
+
this.updateValue(newValue);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
private _value: any[] = [];
|
|
94
|
+
|
|
95
|
+
constructor(protected _changeDetectorRef: ChangeDetectorRef) {
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
onChange: (value: any[]) => void;
|
|
100
|
+
onTouched = (): void => {
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
registerOnChange(fn: (value: any[]) => void): void {
|
|
104
|
+
this.onChange = fn;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
registerOnTouched(fn: () => void): void {
|
|
108
|
+
this.onTouched = fn;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
setDisabledState?(isDisabled: boolean): void {
|
|
112
|
+
this.disabled = isDisabled;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
writeValue(value: any[]): void {
|
|
116
|
+
// this.updateValue(value);
|
|
117
|
+
this.value = value;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
121
|
+
if (changes.options) {
|
|
122
|
+
this.filteredOptions = this.options;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
ngOnDestroy(): void {
|
|
127
|
+
for (const subscription of this.subscriptions) {
|
|
128
|
+
subscription.unsubscribe();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
ngAfterContentInit(): void {
|
|
133
|
+
if (this.menuItems && this.menuItems.length > 0) {
|
|
134
|
+
if (this.options && this.options.length === 0) {
|
|
135
|
+
this.options = [];
|
|
136
|
+
this.menuItems.forEach(item => {
|
|
137
|
+
const opt = {
|
|
138
|
+
value: item.value,
|
|
139
|
+
label: item.title,
|
|
140
|
+
icon: item.icon,
|
|
141
|
+
};
|
|
142
|
+
this.options.push(opt);
|
|
143
|
+
if (this.selectedValues.indexOf(item.value.toString()) >= 0) {
|
|
144
|
+
this.selectedOptions.push(opt);
|
|
145
|
+
}
|
|
146
|
+
const sub = item.click.subscribe(value => this.menu.writeValue(value));
|
|
147
|
+
this.subscriptions.push(sub);
|
|
148
|
+
});
|
|
149
|
+
this.updateFilteredItems();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
handleTouched(): void {
|
|
155
|
+
this.touched = true;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
handleClose(chip: object): void {
|
|
159
|
+
this.value.splice(this.value.indexOf(chip[this.valueProperty]), 1);
|
|
160
|
+
this.updateValue(this.value);
|
|
161
|
+
this.trigger.close();
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
handleChange(e: string[]): void {
|
|
165
|
+
if (Array.isArray(e)) {
|
|
166
|
+
if (e.toString() !== this.selectedValues.toString()) {
|
|
167
|
+
if (this.closeOnSelect) {
|
|
168
|
+
this.trigger.close();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
this.updateValue(e);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
updateFilteredItems(): void {
|
|
176
|
+
if (this.filterItemsOnSelect && this.options && this.value) {
|
|
177
|
+
this.filteredOptions = this.options.filter(i => !this.value.includes(i[this.valueProperty]));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (this.value) {
|
|
181
|
+
if (this.value.length === 0) {
|
|
182
|
+
setTimeout(() => {
|
|
183
|
+
// this needs to be delayed to give time for element swap to happen
|
|
184
|
+
if (this.textInitialInput && this.textInitialInput.nativeElement && this.touched) {
|
|
185
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
186
|
+
this.textInitialInput.nativeElement.focus();
|
|
187
|
+
}
|
|
188
|
+
}, 100);
|
|
189
|
+
} else {
|
|
190
|
+
setTimeout(() => {
|
|
191
|
+
// this needs to be delayed to give time for element swap to happen
|
|
192
|
+
if (this.textInput && this.textInput.nativeElement && this.touched) {
|
|
193
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
194
|
+
this.textInput.nativeElement.focus();
|
|
195
|
+
}
|
|
196
|
+
}, 100);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
updateValue(value: any[]): void {
|
|
202
|
+
this.selectedValues = [];
|
|
203
|
+
this.selectedOptions = [];
|
|
204
|
+
if (value) {
|
|
205
|
+
value.forEach(val => {
|
|
206
|
+
if (typeof val === 'object') {
|
|
207
|
+
this.selectedValues.push(val[this.valueProperty]);
|
|
208
|
+
this.selectedOptions.push(val);
|
|
209
|
+
} else {
|
|
210
|
+
this.selectedValues.push(val);
|
|
211
|
+
if (this.options && this.options.length) {
|
|
212
|
+
this.selectedOptions = [];
|
|
213
|
+
this.options.forEach(opt => {
|
|
214
|
+
if (value.indexOf(opt[this.valueProperty]) >= 0) {
|
|
215
|
+
this.selectedOptions.push(opt);
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
this._value = this.selectedValues;
|
|
223
|
+
this.updateFilteredItems();
|
|
224
|
+
if (this.onChange) {
|
|
225
|
+
this.onChange(value);
|
|
226
|
+
}
|
|
227
|
+
this.change.emit(value);
|
|
228
|
+
if (this.textInput && this.textInput.nativeElement) {
|
|
229
|
+
this.textInput.nativeElement.value = '';
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
moveFocused(direction: string): void {
|
|
234
|
+
switch (direction) {
|
|
235
|
+
case 'down': {
|
|
236
|
+
this.focused++;
|
|
237
|
+
if (this.focused >= this.filteredOptions.length) {
|
|
238
|
+
this.focused = 0;
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
case 'up': {
|
|
243
|
+
this.focused--;
|
|
244
|
+
if (this.focused < 0) {
|
|
245
|
+
this.focused = this.filteredOptions.length - 1;
|
|
246
|
+
}
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
default: {
|
|
250
|
+
this.focused = 0;
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
handleKeyDown(event: KeyboardEvent): void {
|
|
257
|
+
if (this.trigger.isOpen()) {
|
|
258
|
+
if (event.key === 'ArrowDown') {
|
|
259
|
+
this.moveFocused('down');
|
|
260
|
+
} else if (event.key === 'ArrowUp') {
|
|
261
|
+
this.moveFocused('up');
|
|
262
|
+
} else if (event.key === 'Tab') {
|
|
263
|
+
this.trigger.close();
|
|
264
|
+
if (event.target) {
|
|
265
|
+
event.target['value'] = '';
|
|
266
|
+
}
|
|
267
|
+
this.filteredOptions = this.options;
|
|
268
|
+
} else if (event.key === 'Escape') {
|
|
269
|
+
this.trigger.close();
|
|
270
|
+
if (event.target) {
|
|
271
|
+
event.target['value'] = '';
|
|
272
|
+
}
|
|
273
|
+
this.filteredOptions = this.options;
|
|
274
|
+
} else if (event.key === 'Enter') {
|
|
275
|
+
if (this.filteredOptions.length > this.focused) {
|
|
276
|
+
if (!this.value.includes(this.filteredOptions[this.focused])) {
|
|
277
|
+
const newValue = [...this.value, this.filteredOptions[this.focused][this.valueProperty]];
|
|
278
|
+
if (event.target) {
|
|
279
|
+
event.target['value'] = '';
|
|
280
|
+
}
|
|
281
|
+
this.filteredOptions = this.options;
|
|
282
|
+
this.updateValue(newValue);
|
|
283
|
+
if (this.closeOnSelect) {
|
|
284
|
+
setTimeout(() => {
|
|
285
|
+
this.trigger.close();
|
|
286
|
+
}, 0);
|
|
287
|
+
} else {
|
|
288
|
+
setTimeout(() => {
|
|
289
|
+
this.trigger.open();
|
|
290
|
+
}, 0);
|
|
291
|
+
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
} else {
|
|
297
|
+
if (event.key === 'Backspace') {
|
|
298
|
+
if (this.value.length > 0 && event.target['value'].length === 0) {
|
|
299
|
+
this.value.splice(this.value.length - 1, 1);
|
|
300
|
+
this.updateValue(this.value);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
handleInput(event: Event): void {
|
|
307
|
+
if (event.target['value'].length > 0) {
|
|
308
|
+
this.filteredOptions = this.options.filter(option => {
|
|
309
|
+
if (option[this.titleProperty].toLowerCase().includes(event.target['value'].toLowerCase())) {
|
|
310
|
+
return !this.value.includes(option);
|
|
311
|
+
} else {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
} else {
|
|
316
|
+
this.filteredOptions = this.options;
|
|
317
|
+
this.updateFilteredItems();
|
|
318
|
+
}
|
|
319
|
+
if (!this.trigger.isOpen()) {
|
|
320
|
+
this.trigger.open();
|
|
321
|
+
}
|
|
322
|
+
this.moveFocused('zero');
|
|
323
|
+
}
|
|
324
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { importProvidersFrom } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
5
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
6
|
+
import { applicationConfig, Meta, moduleMetadata, StoryObj } from '@storybook/angular';
|
|
7
|
+
|
|
8
|
+
import { FwIconModule } from '../../icon/icon.module';
|
|
9
|
+
import { FwMenuModule } from '../../menu/menu.module';
|
|
10
|
+
import { FwTextInputModule } from '../../text-input/text-input.module';
|
|
11
|
+
import { FwSelectMenuModule } from '../select-menu.module';
|
|
12
|
+
import { FwMultiSelectMenuComponent } from './multi-select-menu.component';
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
title: 'Form Controls/Select',
|
|
16
|
+
component: FwMultiSelectMenuComponent,
|
|
17
|
+
parameters: {
|
|
18
|
+
controls: {},
|
|
19
|
+
design: {
|
|
20
|
+
type: 'figma',
|
|
21
|
+
url: 'https://www.figma.com/file/yjtHt1Pn8c8t5moaab3pIH/Vision-Design-System?type=design&node-id=4959-73505&mode=design&t=oWH7ZDZej5cyHY4O-11',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
decorators: [
|
|
25
|
+
moduleMetadata({
|
|
26
|
+
imports: [
|
|
27
|
+
CommonModule,
|
|
28
|
+
FwIconModule,
|
|
29
|
+
FwMenuModule,
|
|
30
|
+
FwSelectMenuModule,
|
|
31
|
+
FwTextInputModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
],
|
|
34
|
+
}),
|
|
35
|
+
applicationConfig({
|
|
36
|
+
providers: [
|
|
37
|
+
importProvidersFrom(BrowserModule),
|
|
38
|
+
importProvidersFrom(BrowserAnimationsModule),
|
|
39
|
+
],
|
|
40
|
+
}),
|
|
41
|
+
],
|
|
42
|
+
|
|
43
|
+
} as Meta;
|
|
44
|
+
|
|
45
|
+
type Story = StoryObj<FwMultiSelectMenuComponent>;
|
|
46
|
+
|
|
47
|
+
export const MultiSelect: Story = {
|
|
48
|
+
args: {
|
|
49
|
+
placeholder: 'Select something...',
|
|
50
|
+
emptyText: 'No matches found...',
|
|
51
|
+
closeOnSelect: true,
|
|
52
|
+
filterItemsOnSelect: true,
|
|
53
|
+
maxSelectedShown: 100,
|
|
54
|
+
titleProperty: 'title',
|
|
55
|
+
valueProperty: 'value',
|
|
56
|
+
iconProperty: 'icon',
|
|
57
|
+
disabled: false,
|
|
58
|
+
useCheckbox: false,
|
|
59
|
+
size: 'medium',
|
|
60
|
+
width: '200px',
|
|
61
|
+
maxHeight: '200px',
|
|
62
|
+
options: [
|
|
63
|
+
{ title: 'Owner', value: 'owner', icon: 'icon-placeholder' },
|
|
64
|
+
{ title: 'Admin', value: 'admin', icon: 'icon-placeholder' },
|
|
65
|
+
{ title: 'Developer', value: 'developer', icon: 'icon-placeholder' },
|
|
66
|
+
{ title: 'Member', value: 'member', icon: 'icon-placeholder' },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const MultiSelectChecked: Story = {
|
|
72
|
+
args: {
|
|
73
|
+
placeholder: 'Select role',
|
|
74
|
+
emptyText: 'No roles found...',
|
|
75
|
+
closeOnSelect: false,
|
|
76
|
+
filterItemsOnSelect: false,
|
|
77
|
+
useCheckbox: true,
|
|
78
|
+
size: 'medium',
|
|
79
|
+
width: '433px',
|
|
80
|
+
value: [],
|
|
81
|
+
options: [
|
|
82
|
+
{ value: 'Contributor', title: 'Contributor' },
|
|
83
|
+
{ value: 'Data Manager', title: 'Data Manager' },
|
|
84
|
+
{ value: 'Data Scientist', title: 'Data Scientist' },
|
|
85
|
+
{ value: 'ML Engineer', title: 'ML Engineer' },
|
|
86
|
+
{ value: 'Principle Investigator', title: 'Principle Investigator' },
|
|
87
|
+
{ value: 'Radiologist', title: 'Radiologist' },
|
|
88
|
+
{ value: 'Research Coordinator', title: 'Research Coordinator' },
|
|
89
|
+
{ value: 'Site Administrator', title: 'Site Administrator, IT' },
|
|
90
|
+
{ value: 'Other', title: 'Other' },
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const MultiSelectExamples: Story = {
|
|
96
|
+
args: {
|
|
97
|
+
options: [
|
|
98
|
+
{ title: 'Owner', value: 'owner', icon: 'icon-placeholder' },
|
|
99
|
+
{ title: 'Admin', value: 'admin', icon: 'icon-placeholder' },
|
|
100
|
+
{ title: 'Developer', value: 'developer', icon: 'icon-placeholder' },
|
|
101
|
+
{ title: 'Member', value: 'member', icon: 'icon-placeholder' },
|
|
102
|
+
],
|
|
103
|
+
value: [
|
|
104
|
+
{ title: 'Admin', value: 'admin', icon: 'icon-placeholder' },
|
|
105
|
+
{ title: 'Developer', value: 'developer', icon: 'icon-placeholder' },
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
render: (args) => ({
|
|
109
|
+
props: {
|
|
110
|
+
...args,
|
|
111
|
+
directValues: ['admin', 'developer'],
|
|
112
|
+
},
|
|
113
|
+
controls: { disabled: false },
|
|
114
|
+
template: `
|
|
115
|
+
<style>
|
|
116
|
+
th{
|
|
117
|
+
vertical-align: top;
|
|
118
|
+
text-align: left;
|
|
119
|
+
font-size: 12px;
|
|
120
|
+
padding-left: 10px;
|
|
121
|
+
font-family: Inter;
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
124
|
+
<table>
|
|
125
|
+
<tr>
|
|
126
|
+
<th>
|
|
127
|
+
MultiSelect
|
|
128
|
+
<li>maxSelectedShown: 100</li>
|
|
129
|
+
<li>filterItemsOnSelect: true</li>
|
|
130
|
+
<li>closeOnSelect: true</li>
|
|
131
|
+
</th>
|
|
132
|
+
<th>
|
|
133
|
+
MultiSelect
|
|
134
|
+
<li>maxSelectedShown: 1</li>
|
|
135
|
+
<li>filterItemsOnSelect: false</li>
|
|
136
|
+
<li>closeOnSelect: false</li>
|
|
137
|
+
</th>
|
|
138
|
+
<th>
|
|
139
|
+
Select
|
|
140
|
+
<li>shown for contrast</li>
|
|
141
|
+
</th>
|
|
142
|
+
</tr>
|
|
143
|
+
<tr>
|
|
144
|
+
<td>
|
|
145
|
+
<fw-multi-select
|
|
146
|
+
[(ngModel)]="directValues"
|
|
147
|
+
[options]="options"
|
|
148
|
+
[filterItemsOnSelect]="true"
|
|
149
|
+
width="260px"
|
|
150
|
+
placeholder="Select Permissions...">
|
|
151
|
+
</fw-multi-select>
|
|
152
|
+
</td>
|
|
153
|
+
<td>
|
|
154
|
+
<fw-multi-select
|
|
155
|
+
[(ngModel)]="value"
|
|
156
|
+
[options]="options"
|
|
157
|
+
[maxSelectedShown]="1"
|
|
158
|
+
[filterItemsOnSelect]="false"
|
|
159
|
+
[closeOnSelect]="false"
|
|
160
|
+
width="220px"
|
|
161
|
+
placeholder="Select Permissions...">
|
|
162
|
+
</fw-multi-select>
|
|
163
|
+
</td>
|
|
164
|
+
<td>
|
|
165
|
+
<fw-select
|
|
166
|
+
[value]="value[0]"
|
|
167
|
+
[options]="options"
|
|
168
|
+
width="220px"
|
|
169
|
+
placeholder="Select Permissions...">
|
|
170
|
+
</fw-select>
|
|
171
|
+
</td>
|
|
172
|
+
</tr>
|
|
173
|
+
</table>
|
|
174
|
+
|
|
175
|
+
`,
|
|
176
|
+
}),
|
|
177
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<div [ngStyle]="{width: width, cursor: 'pointer'}">
|
|
2
|
+
<fw-text-input
|
|
3
|
+
[cdkMenuTriggerFor]="selectMenu"
|
|
4
|
+
[value]="selectTitle"
|
|
5
|
+
[leftIcon]="staticIcon || selectIcon"
|
|
6
|
+
[rightIcon]="(selectTitle&&showReset)?'close-circled':'chevron-down'"
|
|
7
|
+
(rightIconAction)="handleReset()"
|
|
8
|
+
[useActionableIcons]="true"
|
|
9
|
+
[placeholder]="placeholder"
|
|
10
|
+
[disabled]="disabled"
|
|
11
|
+
[size]="size"
|
|
12
|
+
[error]="errored || (invalid && touched)"
|
|
13
|
+
(keyup)="handleKeyUp($event)"
|
|
14
|
+
(keydown)="handleKeyDown($event)"
|
|
15
|
+
readOnly="true">
|
|
16
|
+
</fw-text-input>
|
|
17
|
+
<ng-template #selectMenu>
|
|
18
|
+
<fw-menu-container
|
|
19
|
+
[filterText]="filterValue"
|
|
20
|
+
*ngIf="!disabled" [showFilter]="showFilter" [width]="optionsWidth || width"
|
|
21
|
+
[maxHeight]="maxOptionsHeight" [minHeight]="minOptionsHeight" (filterChanged)="onFilterChanged($event)">
|
|
22
|
+
<fw-menu [disabled]="disabled" [value]="selectValue" (change)="handleClick($event)">
|
|
23
|
+
<ng-container *ngIf="menuItems.length===0">
|
|
24
|
+
<fw-menu-item
|
|
25
|
+
*ngFor="let item of options"
|
|
26
|
+
[title]="item[titleProperty]?.toString()"
|
|
27
|
+
[description]="item[descriptionProperty]"
|
|
28
|
+
[value]="item[valueProperty]?.toString()"
|
|
29
|
+
[icon]="item[iconProperty]"
|
|
30
|
+
>
|
|
31
|
+
</fw-menu-item>
|
|
32
|
+
</ng-container>
|
|
33
|
+
<div #menuContentWrapper>
|
|
34
|
+
<ng-content select="[fw-menu-item, fw-menu-separator, fw-menu-item-group]"></ng-content>
|
|
35
|
+
</div>
|
|
36
|
+
</fw-menu>
|
|
37
|
+
</fw-menu-container>
|
|
38
|
+
</ng-template>
|
|
39
|
+
</div>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { CdkMenuModule } from '@angular/cdk/menu';
|
|
2
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
5
|
+
|
|
6
|
+
import { FwIconModule } from '../icon/icon.module';
|
|
7
|
+
import { FwMenuModule } from '../menu/menu.module';
|
|
8
|
+
import { FwTextInputModule } from '../text-input/text-input.module';
|
|
9
|
+
import { FwSelectMenuComponent } from './select-menu.component';
|
|
10
|
+
|
|
11
|
+
describe('FwSelectMenuComponent', () => {
|
|
12
|
+
let component: FwSelectMenuComponent;
|
|
13
|
+
let fixture: ComponentFixture<FwSelectMenuComponent>;
|
|
14
|
+
|
|
15
|
+
beforeEach(async () => {
|
|
16
|
+
await TestBed.configureTestingModule({
|
|
17
|
+
declarations: [
|
|
18
|
+
FwSelectMenuComponent,
|
|
19
|
+
],
|
|
20
|
+
imports: [
|
|
21
|
+
CdkMenuModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
FwTextInputModule,
|
|
24
|
+
FwIconModule,
|
|
25
|
+
FwMenuModule,
|
|
26
|
+
NoopAnimationsModule,
|
|
27
|
+
],
|
|
28
|
+
}).compileComponents();
|
|
29
|
+
|
|
30
|
+
fixture = TestBed.createComponent(FwSelectMenuComponent);
|
|
31
|
+
component = fixture.componentInstance;
|
|
32
|
+
fixture.detectChanges();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('should create', () => {
|
|
36
|
+
expect(component).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('should handle item click with value string', () => {
|
|
40
|
+
component.options = [{ value: "a" }, { value: "b" }, { value: "c" }];
|
|
41
|
+
component.titleProperty = 'value';
|
|
42
|
+
component.descriptionProperty = 'value';
|
|
43
|
+
expect(component.value).toBeUndefined();
|
|
44
|
+
component.handleClick("b");
|
|
45
|
+
expect(component.value).toEqual("b");
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('should handle item click with value object', () => {
|
|
49
|
+
component.options = [{ value: 'a' }, { value: 'b' }, { value: 'c' }];
|
|
50
|
+
component.titleProperty = 'value';
|
|
51
|
+
component.descriptionProperty = 'value';
|
|
52
|
+
component.value = { value: 'a' };
|
|
53
|
+
expect(component.value).toEqual({ value: 'a' });
|
|
54
|
+
component.handleClick("b");
|
|
55
|
+
expect(component.value).toEqual({ value: 'b' });
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('should handle item keydown with value string', () => {
|
|
59
|
+
component.options = [{ value: 'a' }, { value: 'b' }, { value: 'c' }];
|
|
60
|
+
component.titleProperty = 'value';
|
|
61
|
+
component.descriptionProperty = 'value';
|
|
62
|
+
component.value = 'a';
|
|
63
|
+
component.trigger.open();
|
|
64
|
+
component.inFocusOpen = true;
|
|
65
|
+
expect(component.value).toEqual('a');
|
|
66
|
+
component.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
|
|
67
|
+
expect(component.value).toEqual('b');
|
|
68
|
+
component.handleKeyDown(new KeyboardEvent('keydown', { key: 'Enter' }));
|
|
69
|
+
expect(component.value).toEqual('b');
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should handle item keydown with value object', () => {
|
|
73
|
+
component.options = [{ value: 'a' }, { value: 'b' }, { value: 'c' }];
|
|
74
|
+
component.titleProperty = 'value';
|
|
75
|
+
component.descriptionProperty = 'value';
|
|
76
|
+
component.value = { value: 'a' };
|
|
77
|
+
component.trigger.open();
|
|
78
|
+
component.inFocusOpen = true;
|
|
79
|
+
component.handleKeyDown(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
|
|
80
|
+
expect(component.value).toEqual({ value: 'b' });
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it('should handle different value property name', () => {
|
|
84
|
+
component.options = [{ item: "a", title: "test value a" }, { item: "b" }, { item: "c" }];
|
|
85
|
+
component.valueProperty = 'item';
|
|
86
|
+
component.titleProperty = 'title';
|
|
87
|
+
component.descriptionProperty = 'item';
|
|
88
|
+
expect(component.value).toBeUndefined();
|
|
89
|
+
component.handleClick("b");
|
|
90
|
+
expect(component.value).toEqual("b");
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it('should handle `writeValue` calls from the Angular Forms API and choose the right option to display', () => {
|
|
94
|
+
const options = [
|
|
95
|
+
{
|
|
96
|
+
title: 'Test Value A',
|
|
97
|
+
value: 'a',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
title: 'Test Value B',
|
|
101
|
+
value: 'b',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
title: 'Test Value C',
|
|
105
|
+
value: 'c',
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
|
|
109
|
+
component.titleProperty = 'title';
|
|
110
|
+
component.valueProperty = 'value';
|
|
111
|
+
component.options = options;
|
|
112
|
+
|
|
113
|
+
expect(component.value).toEqual(undefined);
|
|
114
|
+
expect(component.selectTitle).toEqual('');
|
|
115
|
+
|
|
116
|
+
component.writeValue('b');
|
|
117
|
+
|
|
118
|
+
expect(component.value).toEqual('b');
|
|
119
|
+
expect(component.selectTitle).toEqual('Test Value B');
|
|
120
|
+
});
|
|
121
|
+
});
|