@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,317 @@
|
|
|
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
|
+
EventEmitter,
|
|
9
|
+
HostListener,
|
|
10
|
+
Input,
|
|
11
|
+
OnChanges,
|
|
12
|
+
OnDestroy,
|
|
13
|
+
Optional,
|
|
14
|
+
Output,
|
|
15
|
+
QueryList,
|
|
16
|
+
Self,
|
|
17
|
+
SimpleChanges,
|
|
18
|
+
ViewChild,
|
|
19
|
+
} from '@angular/core';
|
|
20
|
+
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
21
|
+
import { Subscription } from 'rxjs';
|
|
22
|
+
|
|
23
|
+
import { IconType } from '../icon/icon.types';
|
|
24
|
+
import { FwMenuComponent } from '../menu/menu.component';
|
|
25
|
+
import { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';
|
|
26
|
+
|
|
27
|
+
@Component({
|
|
28
|
+
selector: 'fw-select',
|
|
29
|
+
templateUrl: './select-menu.component.html',
|
|
30
|
+
styleUrls: ['./select-menu.component.scss'],
|
|
31
|
+
})
|
|
32
|
+
export class FwSelectMenuComponent implements OnChanges, AfterContentInit, OnDestroy, ControlValueAccessor {
|
|
33
|
+
@HostListener('document:click', ['$event.target']) outsideClick(evt: any): void {
|
|
34
|
+
if (this._isOpen && evt.nodeName !== 'INPUT') {
|
|
35
|
+
this.onTouched();
|
|
36
|
+
this.close();
|
|
37
|
+
this._isOpen = false;
|
|
38
|
+
}
|
|
39
|
+
if (this.trigger && this.trigger.isOpen()) {
|
|
40
|
+
this._isOpen = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@Input() options: object[] = [];
|
|
45
|
+
@Input() valueProperty?: string = 'value';
|
|
46
|
+
@Input() titleProperty?: string = 'title';
|
|
47
|
+
@Input() iconProperty?: string = 'icon';
|
|
48
|
+
@Input() staticIcon?: IconType;
|
|
49
|
+
@Input() descriptionProperty?: string = 'description';
|
|
50
|
+
@Input() showFilter?: boolean = false;
|
|
51
|
+
@Input() showReset?: boolean = false;
|
|
52
|
+
@Input() disabled?: boolean = false;
|
|
53
|
+
@Input() errored?: boolean = false;
|
|
54
|
+
@Input() width: string = '200px';
|
|
55
|
+
@Input() optionsWidth?: string;
|
|
56
|
+
@Input() minOptionsHeight?: string;
|
|
57
|
+
@Input() maxOptionsHeight?: string;
|
|
58
|
+
@Input() size?: 'small' | 'medium' | 'large' = 'medium';
|
|
59
|
+
@Input() placeholder: string = 'Select something...';
|
|
60
|
+
@ViewChild(CdkMenuTrigger) trigger: CdkMenuTrigger;
|
|
61
|
+
@ViewChild(FwMenuComponent) menu: FwMenuComponent;
|
|
62
|
+
@ContentChildren(FwMenuItemComponent, { descendants: true }) menuItems: QueryList<FwMenuItemComponent>;
|
|
63
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
64
|
+
@Output() change = new EventEmitter<any>();
|
|
65
|
+
@Output() readonly filterChanged = new EventEmitter<string>();
|
|
66
|
+
selectValue: string = '';
|
|
67
|
+
selectTitle: string = '';
|
|
68
|
+
selectIcon: string = '';
|
|
69
|
+
filterValue: string = '';
|
|
70
|
+
private subscriptions: Subscription[] = [];
|
|
71
|
+
private _isOpen = false;
|
|
72
|
+
focused = 0;
|
|
73
|
+
inFocusOpen = false;
|
|
74
|
+
preFocusValue: any;
|
|
75
|
+
|
|
76
|
+
@Input()
|
|
77
|
+
get value(): any {
|
|
78
|
+
return this._value;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
set value(newValue: any) {
|
|
82
|
+
this._valueType = typeof newValue;
|
|
83
|
+
this.updateValue(newValue);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
private _value: any;
|
|
87
|
+
private _valueType: string;
|
|
88
|
+
|
|
89
|
+
constructor(
|
|
90
|
+
protected _changeDetectorRef: ChangeDetectorRef,
|
|
91
|
+
@Optional() @Self() private ngControl: NgControl,
|
|
92
|
+
) {
|
|
93
|
+
// this is just a different way of binding the controlValueAccessor
|
|
94
|
+
// it can be accessed in the component this way
|
|
95
|
+
if (this.ngControl) {
|
|
96
|
+
this.ngControl.valueAccessor = this;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
101
|
+
const currentOptions = changes.options?.currentValue;
|
|
102
|
+
|
|
103
|
+
// if the options change check if the title we should be displaying has changed
|
|
104
|
+
if (currentOptions && currentOptions !== changes.options?.previousValue) {
|
|
105
|
+
const selectedOption = currentOptions.find(item => item['value']?.toString() === this.selectValue);
|
|
106
|
+
|
|
107
|
+
if (selectedOption) {
|
|
108
|
+
this.selectTitle = selectedOption['title'];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
ngAfterContentInit(): void {
|
|
114
|
+
if (!this.options || (this.options.length === 0 && this.menuItems && this.menuItems.length > 0)) {
|
|
115
|
+
this.options = [];
|
|
116
|
+
this.menuItems.forEach(item => {
|
|
117
|
+
this.options.push({
|
|
118
|
+
value: item.value.toString(),
|
|
119
|
+
title: item.title.toString(),
|
|
120
|
+
icon: item.icon,
|
|
121
|
+
description: item.description,
|
|
122
|
+
});
|
|
123
|
+
const sub = item.click.subscribe(value => this.menu.writeValue(value));
|
|
124
|
+
this.subscriptions.push(sub);
|
|
125
|
+
if (item.value.toString() === this.selectValue) {
|
|
126
|
+
this.selectTitle = item.title.toString();
|
|
127
|
+
this.selectIcon = item.icon;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
ngOnDestroy(): void {
|
|
134
|
+
for (const subscription of this.subscriptions) {
|
|
135
|
+
subscription.unsubscribe();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
get invalid(): boolean {
|
|
140
|
+
return this.ngControl?.invalid;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
get touched(): boolean {
|
|
144
|
+
return this.ngControl?.touched;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
onChange?: (value: any) => void;
|
|
148
|
+
|
|
149
|
+
onTouched = (): void => {
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
registerOnChange(fn: (value: any) => void): void {
|
|
153
|
+
this.onChange = fn;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
registerOnTouched(fn: () => {}): void {
|
|
157
|
+
this.onTouched = fn;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
setDisabledState?(isDisabled: boolean): void {
|
|
161
|
+
this.disabled = isDisabled;
|
|
162
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
163
|
+
this._changeDetectorRef.markForCheck();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
writeValue(value: any): void {
|
|
167
|
+
this.updateValue(value);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
handleClick(e: string): void {
|
|
171
|
+
this.onTouched();
|
|
172
|
+
if (this.selectValue !== e) {
|
|
173
|
+
this.options.forEach(item => {
|
|
174
|
+
if (item[this.valueProperty].toString() === e) {
|
|
175
|
+
if (this._valueType === 'object') {
|
|
176
|
+
this.updateValue(item);
|
|
177
|
+
} else {
|
|
178
|
+
this.updateValue(item[this.valueProperty]);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
this.close();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
moveFocused(direction: string): void {
|
|
187
|
+
switch (direction) {
|
|
188
|
+
case 'down': {
|
|
189
|
+
this.focused++;
|
|
190
|
+
if (this.focused >= this.options.length) {
|
|
191
|
+
this.focused = 0;
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
case 'up': {
|
|
196
|
+
this.focused--;
|
|
197
|
+
if (this.focused < 0) {
|
|
198
|
+
this.focused = this.options.length - 1;
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
default: {
|
|
203
|
+
this.focused = 0;
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
handleKeyDown(event: KeyboardEvent): void {
|
|
210
|
+
if (this.trigger.isOpen()) {
|
|
211
|
+
if (this.inFocusOpen) {
|
|
212
|
+
if (event.key === 'ArrowDown') {
|
|
213
|
+
this.moveFocused('down');
|
|
214
|
+
if (this._valueType === 'object') {
|
|
215
|
+
this.updateValue(this.options[this.focused]);
|
|
216
|
+
} else {
|
|
217
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (event.key === 'ArrowUp') {
|
|
221
|
+
this.moveFocused('up');
|
|
222
|
+
if (this._valueType === 'object') {
|
|
223
|
+
this.updateValue(this.options[this.focused]);
|
|
224
|
+
} else {
|
|
225
|
+
this.updateValue(this.options[this.focused][this.valueProperty]);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (event.key === 'Tab') {
|
|
229
|
+
this.close();
|
|
230
|
+
this.inFocusOpen = false;
|
|
231
|
+
this.updateValue(this.preFocusValue);
|
|
232
|
+
}
|
|
233
|
+
} else {
|
|
234
|
+
this.inFocusOpen = true;
|
|
235
|
+
this.preFocusValue = this.value;
|
|
236
|
+
}
|
|
237
|
+
} else {
|
|
238
|
+
if (event.key === 'Enter') {
|
|
239
|
+
this.inFocusOpen = false;
|
|
240
|
+
this.preFocusValue = this.value;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
handleKeyUp(event: KeyboardEvent): void {
|
|
246
|
+
if (this.trigger.isOpen()) {
|
|
247
|
+
if (event.key === 'Escape') {
|
|
248
|
+
this.close();
|
|
249
|
+
this.inFocusOpen = false;
|
|
250
|
+
this.updateValue(this.preFocusValue);
|
|
251
|
+
}
|
|
252
|
+
} else {
|
|
253
|
+
if (this.showReset) {
|
|
254
|
+
if (event.key === 'Escape') {
|
|
255
|
+
this.handleReset();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
updateValue(value: any): void {
|
|
263
|
+
this._value = value;
|
|
264
|
+
if (value && this._valueType === 'object' && typeof value === 'object') {
|
|
265
|
+
this.selectValue = value[this.valueProperty].toString();
|
|
266
|
+
this.selectTitle = value[this.titleProperty].toString();
|
|
267
|
+
this.selectIcon = value[this.iconProperty];
|
|
268
|
+
} else {
|
|
269
|
+
let selectedOption: object;
|
|
270
|
+
if (this.options && this.options.length > 0 && this.valueProperty && this.value) {
|
|
271
|
+
selectedOption = this.options.find(option => option[this.valueProperty] === value[this.valueProperty]);
|
|
272
|
+
}
|
|
273
|
+
if (selectedOption) {
|
|
274
|
+
this.selectValue = selectedOption[this.valueProperty].toString();
|
|
275
|
+
this.selectTitle = selectedOption[this.titleProperty].toString();
|
|
276
|
+
this.selectIcon = selectedOption[this.iconProperty];
|
|
277
|
+
} else {
|
|
278
|
+
this.selectValue = value ? value.toString() : '';
|
|
279
|
+
this.selectTitle = value ? value.toString() : '';
|
|
280
|
+
}
|
|
281
|
+
if (this.options && this.options.length) {
|
|
282
|
+
this.options.forEach((opt, index) => {
|
|
283
|
+
if (opt[this.valueProperty] === value) {
|
|
284
|
+
this.selectTitle = opt[this.titleProperty]?.toString();
|
|
285
|
+
this.selectIcon = opt[this.iconProperty];
|
|
286
|
+
this.focused = index;
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
this.onTouched();
|
|
293
|
+
this.onChange?.(value);
|
|
294
|
+
this.change.emit(value);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
handleReset(): void {
|
|
298
|
+
if (this.showReset) {
|
|
299
|
+
if (this._valueType === 'object') {
|
|
300
|
+
this.updateValue(null);
|
|
301
|
+
} else {
|
|
302
|
+
this.updateValue('');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
close(): void {
|
|
308
|
+
this.trigger.close();
|
|
309
|
+
this.filterValue = '';
|
|
310
|
+
this.filterChanged.emit(this.filterValue);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
onFilterChanged(value: string): void {
|
|
314
|
+
this.filterValue = value;
|
|
315
|
+
this.filterChanged.emit(value);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import {Canvas, Meta} from '@storybook/addon-docs';
|
|
2
|
+
import * as SelectStories from './select-menu.stories'
|
|
3
|
+
import * as MultiSelectStories from './multi-select-menu/multi-select-menu.stories'
|
|
4
|
+
|
|
5
|
+
<Meta of={SelectStories}/>
|
|
6
|
+
|
|
7
|
+
# Select
|
|
8
|
+
|
|
9
|
+
The Vision **Select** `<fw-select>` is a form control for selecting a value from a set of options, similar to the native html `<select>` element.
|
|
10
|
+
|
|
11
|
+
- it is a **single** option select dropdown. for multiple select see [MultiSelect](#multiselect)
|
|
12
|
+
- the select options can be populated via the `[options]` data model array.
|
|
13
|
+
- the default properties it uses from the array are `value, title, icon`
|
|
14
|
+
- defaults can be changed via `[valueProperty], [titleProperty], [iconProperty]`
|
|
15
|
+
- selecting an option will automatically close the window and set the `ngModel` with the full object from the `[options]` array.
|
|
16
|
+
- the selected option title and optional icon will be shown in the text box field selector
|
|
17
|
+
- has the optional [inputs](/story/vision-select--select) of `showFilter, disabled, placeholder, width, optionsWidth, maxOptionsHeight`
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
First import the module into your `app.module.ts`
|
|
22
|
+
|
|
23
|
+
```ts filename="app.module.ts"
|
|
24
|
+
// app.module.ts
|
|
25
|
+
|
|
26
|
+
import {FwSelectMenuModule} from '@flywheel-io/vision';
|
|
27
|
+
|
|
28
|
+
@NgModule({
|
|
29
|
+
imports: [
|
|
30
|
+
FwSelectMenuModule
|
|
31
|
+
]
|
|
32
|
+
})
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
and then in your layout code add the component
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<!--- your.component.ts --->
|
|
39
|
+
options: [
|
|
40
|
+
{ title: '1-One', value: 1 },
|
|
41
|
+
{ title: '2-Two', value: 2 },
|
|
42
|
+
{ title: '3-Three', value: 3 },
|
|
43
|
+
{ title: '4-Four', value: 4 },
|
|
44
|
+
],
|
|
45
|
+
|
|
46
|
+
selectedValue = 2;
|
|
47
|
+
|
|
48
|
+
<!--- your.component.html --->
|
|
49
|
+
|
|
50
|
+
<fw-select [options]="options" [value]="selectedValue">
|
|
51
|
+
</fw-select>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
<Canvas of={SelectStories.SelectNumber}></Canvas>
|
|
55
|
+
|
|
56
|
+
## Complex Object Usage
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<!--- your.component.ts --->
|
|
60
|
+
rolePermissions: [
|
|
61
|
+
{ roleName: 'Owner', roleId: 'owner', roleDescription: 'Owner description', roleIcon: 'icon-placeholder' },
|
|
62
|
+
{ roleName: 'Admin', roleId: 'admin', roleDescription: 'Admin description', roleIcon: 'icon-placeholder' },
|
|
63
|
+
{ roleName: 'Developer', roleId: 'developer', roleDescription: 'Developer description', roleIcon: 'icon-placeholder' },
|
|
64
|
+
{ roleName: 'Member', roleId: 'member', roleDescription: 'Member description', roleIcon: 'icon-placeholder' },
|
|
65
|
+
],
|
|
66
|
+
|
|
67
|
+
selectedPermission = { roleName: 'Developer', roleId: 'developer', roleIcon: 'icon-placeholder' };
|
|
68
|
+
|
|
69
|
+
<!--- your.component.html --->
|
|
70
|
+
|
|
71
|
+
<fw-select
|
|
72
|
+
[options]="rolePermissions"
|
|
73
|
+
[(ngModel)]="selectedPermission"
|
|
74
|
+
[valueProperty]="roleId"
|
|
75
|
+
[titleProperty]="roleName"
|
|
76
|
+
[iconProperty]="roleIcon"
|
|
77
|
+
placeholder="Select Role...">
|
|
78
|
+
</fw-select>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
<Canvas of={SelectStories.Select}></Canvas>
|
|
82
|
+
|
|
83
|
+
## Alternate Usage
|
|
84
|
+
|
|
85
|
+
If you prefer you can also alternatively define your collection of [MenuItem](/story/vision-menu--menu-item) directly in your layout code.
|
|
86
|
+
|
|
87
|
+
```html
|
|
88
|
+
<!--- your.component.html --->
|
|
89
|
+
|
|
90
|
+
<fw-select placeholder="Pick a Topic" width="220px" value="release">
|
|
91
|
+
<fw-menu-item value="release" title="Release Notes" icon="notebook-pen-edit"></fw-menu-item>
|
|
92
|
+
<fw-menu-item value="documentation" title="Browse Documentation" icon="files"></fw-menu-item>
|
|
93
|
+
<fw-menu-item value="forum" title="User Forum" icon="message-chat-question-support"></fw-menu-item>
|
|
94
|
+
<fw-menu-item value="feedback" title="Give Us Feedback" icon="message-question-checkmark"></fw-menu-item>
|
|
95
|
+
<fw-menu-separator></fw-menu-separator>
|
|
96
|
+
<fw-menu-item value="bookmark" title="Add Bookmark" icon="add-new-create"></fw-menu-item>
|
|
97
|
+
<fw-menu-separator></fw-menu-separator>
|
|
98
|
+
<fw-menu-item value="flywheel" title="Flywheel Enterprise" description="Version 18.22.1"></fw-menu-item>
|
|
99
|
+
</fw-select>
|
|
100
|
+
|
|
101
|
+
or even in a for loop like so:
|
|
102
|
+
|
|
103
|
+
<fw-select placeholder="Pick a Topic..." width="100%" [(ngModel)]="selectedItem">
|
|
104
|
+
<fw-menu-item *ngFor="let item of items" [value]="item.choice" [title]="item.name">
|
|
105
|
+
</fw-menu-item>
|
|
106
|
+
</fw-select>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
<Canvas of={SelectStories.SelectCustom}></Canvas>
|
|
110
|
+
|
|
111
|
+
## Managing state directly
|
|
112
|
+
```html
|
|
113
|
+
<fw-select [options]="options" [value]="value" (change)="handleChange($event)"></fw-select>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Using with ngModel
|
|
117
|
+
```html
|
|
118
|
+
<fw-select [options]="options" [(ngModel)]="selected" (ngModelChange)="handleChange($event)"></fw-select>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## With a FormGroup
|
|
122
|
+
|
|
123
|
+
```html
|
|
124
|
+
<!--- your.component.ts --->
|
|
125
|
+
options: [
|
|
126
|
+
{ title: 'Owner', value: 'owner', icon: 'icon-placeholder' },
|
|
127
|
+
{ title: 'Admin', value: 'admin', icon: 'icon-placeholder' },
|
|
128
|
+
{ title: 'Developer', value: 'developer', icon: 'icon-placeholder' },
|
|
129
|
+
{ title: 'Member', value: 'member', icon: 'icon-placeholder' },
|
|
130
|
+
],
|
|
131
|
+
|
|
132
|
+
const formGroup = new FormGroup({
|
|
133
|
+
role: new FormControl('developer'),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
<!--- your.component.html --->
|
|
137
|
+
|
|
138
|
+
<form [formGroup]="formGroup">
|
|
139
|
+
<fw-select
|
|
140
|
+
placeholder="Pick a Role"
|
|
141
|
+
width="220px"
|
|
142
|
+
[options]="options"
|
|
143
|
+
formControlName="role">
|
|
144
|
+
</fw-select>
|
|
145
|
+
</form>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## With a Content Projection
|
|
149
|
+
|
|
150
|
+
```html
|
|
151
|
+
<!--- your.component.ts --->
|
|
152
|
+
filterValue = '',
|
|
153
|
+
options:[
|
|
154
|
+
{ title: 'Superman', value: 'superman'},
|
|
155
|
+
{ title: 'Batman', value: 'batman'},
|
|
156
|
+
{ title: 'Iron Man', value: 'ironman'},
|
|
157
|
+
{ title: 'Spider-Man', value: 'spiderman'}
|
|
158
|
+
];
|
|
159
|
+
|
|
160
|
+
<!--- your.component.html --->
|
|
161
|
+
|
|
162
|
+
<fw-select
|
|
163
|
+
placeholder="Pick a Hero"
|
|
164
|
+
width="220px"
|
|
165
|
+
[showFilter]="true"
|
|
166
|
+
(filterChanged)="filterValue = $event" >
|
|
167
|
+
<fw-menu-item
|
|
168
|
+
*ngFor="let option of options"
|
|
169
|
+
[value]="option.value"
|
|
170
|
+
[title]="option.title"
|
|
171
|
+
[hidden]="!option.title.toLowerCase().includes(filterValue.toLowerCase())"
|
|
172
|
+
></fw-menu-item>
|
|
173
|
+
</fw-select>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
<Canvas of={SelectStories.SelectInAForm}></Canvas>
|
|
177
|
+
|
|
178
|
+
# MultiSelect
|
|
179
|
+
|
|
180
|
+
The Vision **MutliSelect** `<fw-multi-select>` is a form control for selecting values from a set of options, similar to the native html `<select multiple="true">` element with the multiple option enabled.
|
|
181
|
+
|
|
182
|
+
- selected results will be shown in a chip grid instead of a `<fw-text-input>`.
|
|
183
|
+
- you have a few additional properties `minHeight, maxHeight, useCheckbox, closeOnSelect, filterItemsOnSelect, maxSelectedShown`
|
|
184
|
+
- __value__ will always be an array of strings, you also have __selectedOptions__ if you need the array of selected options objects
|
|
185
|
+
|
|
186
|
+
much like the single [Select](#) tag your layout code looks almost identical except now you are using the `<fw-multi-select>` tag and your bound `[ngModel]` will be an **array** of strings instead of a single string/object.
|
|
187
|
+
|
|
188
|
+
```html
|
|
189
|
+
<!--- your.component.ts --->
|
|
190
|
+
permissionOptions: [
|
|
191
|
+
{ title: 'Owner', value: 'owner', icon: 'icon-placeholder' },
|
|
192
|
+
{ title: 'Admin', value: 'admin', icon: 'icon-placeholder' },
|
|
193
|
+
{ title: 'Developer', value: 'developer', icon: 'icon-placeholder' },
|
|
194
|
+
{ title: 'Member', value: 'member', icon: 'icon-placeholder' },
|
|
195
|
+
],
|
|
196
|
+
|
|
197
|
+
<!--- your.component.html --->
|
|
198
|
+
|
|
199
|
+
<fw-multi-select
|
|
200
|
+
[(ngModel)]="permissions"
|
|
201
|
+
[options]="permissionOptions"
|
|
202
|
+
placeholder="Select Something...">
|
|
203
|
+
</fw-multi-select>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
<Canvas of={MultiSelectStories.MultiSelect}></Canvas>
|
|
207
|
+
|
|
208
|
+
## MultiSelect Examples
|
|
209
|
+
|
|
210
|
+
<Canvas of={MultiSelectStories.MultiSelectExamples}></Canvas>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CdkMenuModule } from '@angular/cdk/menu';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
import { FwChipModule } from '../chip/chip.module';
|
|
7
|
+
import { FwIconModule } from '../icon/icon.module';
|
|
8
|
+
import { FwMenuModule } from '../menu/menu.module';
|
|
9
|
+
import { FwTextInputModule } from '../text-input/text-input.module';
|
|
10
|
+
import { FwMultiSelectMenuComponent } from './multi-select-menu/multi-select-menu.component';
|
|
11
|
+
import { FwSelectMenuComponent } from './select-menu.component';
|
|
12
|
+
|
|
13
|
+
@NgModule({
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
CdkMenuModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
FwChipModule,
|
|
19
|
+
FwIconModule,
|
|
20
|
+
FwMenuModule,
|
|
21
|
+
FwTextInputModule,
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
FwMultiSelectMenuComponent,
|
|
25
|
+
FwSelectMenuComponent,
|
|
26
|
+
],
|
|
27
|
+
declarations: [
|
|
28
|
+
FwMultiSelectMenuComponent,
|
|
29
|
+
FwSelectMenuComponent,
|
|
30
|
+
],
|
|
31
|
+
})
|
|
32
|
+
export class FwSelectMenuModule {
|
|
33
|
+
}
|