@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
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { CdkMenuTrigger } from '@angular/cdk/menu';
|
|
3
|
-
import { Component, ContentChildren, EventEmitter, forwardRef, HostListener, Input, Output, ViewChild, ViewChildren, } from '@angular/core';
|
|
4
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
-
import { FwMenuComponent } from '../../menu/menu.component';
|
|
6
|
-
import { FwMenuItemComponent } from '../../menu/menu-item/menu-item.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@angular/cdk/menu";
|
|
10
|
-
import * as i3 from "../../chip/chip.component";
|
|
11
|
-
import * as i4 from "../../icon/icon.component";
|
|
12
|
-
import * as i5 from "../../menu/menu.component";
|
|
13
|
-
import * as i6 from "../../menu/menu-container/menu-container.component";
|
|
14
|
-
import * as i7 from "../../menu/menu-item/menu-item.component";
|
|
15
|
-
export class FwMultiSelectMenuComponent {
|
|
16
|
-
constructor(_changeDetectorRef) {
|
|
17
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
18
|
-
this.options = [];
|
|
19
|
-
this.valueProperty = 'value';
|
|
20
|
-
this.titleProperty = 'title';
|
|
21
|
-
this.iconProperty = 'icon';
|
|
22
|
-
this.disabled = false;
|
|
23
|
-
this.useCheckbox = false;
|
|
24
|
-
this.closeOnSelect = true;
|
|
25
|
-
this.filterItemsOnSelect = true;
|
|
26
|
-
this.maxSelectedShown = 100;
|
|
27
|
-
this.width = '200px';
|
|
28
|
-
this.minHeight = '';
|
|
29
|
-
this.maxHeight = '200px';
|
|
30
|
-
this.size = 'medium';
|
|
31
|
-
this.placeholder = 'Select something...';
|
|
32
|
-
this.emptyText = 'No matches found...';
|
|
33
|
-
this.selectedValues = [];
|
|
34
|
-
this.selectedOptions = [];
|
|
35
|
-
this.filteredOptions = [];
|
|
36
|
-
this.subscriptions = [];
|
|
37
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
38
|
-
this.change = new EventEmitter();
|
|
39
|
-
this.focused = 0;
|
|
40
|
-
this.touched = false;
|
|
41
|
-
this._isOpen = false;
|
|
42
|
-
this._value = [];
|
|
43
|
-
this.onTouched = () => {
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
outsideClick() {
|
|
47
|
-
if (this._isOpen) {
|
|
48
|
-
this.trigger.close();
|
|
49
|
-
this._isOpen = false;
|
|
50
|
-
}
|
|
51
|
-
if (this.trigger && this.trigger.isOpen()) {
|
|
52
|
-
this._isOpen = true;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
get value() {
|
|
56
|
-
return this._value;
|
|
57
|
-
}
|
|
58
|
-
set value(newValue) {
|
|
59
|
-
this.updateValue(newValue);
|
|
60
|
-
}
|
|
61
|
-
registerOnChange(fn) {
|
|
62
|
-
this.onChange = fn;
|
|
63
|
-
}
|
|
64
|
-
registerOnTouched(fn) {
|
|
65
|
-
this.onTouched = fn;
|
|
66
|
-
}
|
|
67
|
-
setDisabledState(isDisabled) {
|
|
68
|
-
this.disabled = isDisabled;
|
|
69
|
-
}
|
|
70
|
-
writeValue(value) {
|
|
71
|
-
// this.updateValue(value);
|
|
72
|
-
this.value = value;
|
|
73
|
-
}
|
|
74
|
-
ngOnChanges(changes) {
|
|
75
|
-
if (changes.options) {
|
|
76
|
-
this.filteredOptions = this.options;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
ngOnDestroy() {
|
|
80
|
-
for (const subscription of this.subscriptions) {
|
|
81
|
-
subscription.unsubscribe();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
ngAfterContentInit() {
|
|
85
|
-
if (this.menuItems && this.menuItems.length > 0) {
|
|
86
|
-
if (this.options && this.options.length === 0) {
|
|
87
|
-
this.options = [];
|
|
88
|
-
this.menuItems.forEach(item => {
|
|
89
|
-
const opt = {
|
|
90
|
-
value: item.value,
|
|
91
|
-
label: item.title,
|
|
92
|
-
icon: item.icon,
|
|
93
|
-
};
|
|
94
|
-
this.options.push(opt);
|
|
95
|
-
if (this.selectedValues.indexOf(item.value.toString()) >= 0) {
|
|
96
|
-
this.selectedOptions.push(opt);
|
|
97
|
-
}
|
|
98
|
-
const sub = item.click.subscribe(value => this.menu.writeValue(value));
|
|
99
|
-
this.subscriptions.push(sub);
|
|
100
|
-
});
|
|
101
|
-
this.updateFilteredItems();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
handleTouched() {
|
|
106
|
-
this.touched = true;
|
|
107
|
-
}
|
|
108
|
-
handleClose(chip) {
|
|
109
|
-
this.value.splice(this.value.indexOf(chip[this.valueProperty]), 1);
|
|
110
|
-
this.updateValue(this.value);
|
|
111
|
-
this.trigger.close();
|
|
112
|
-
}
|
|
113
|
-
handleChange(e) {
|
|
114
|
-
if (Array.isArray(e)) {
|
|
115
|
-
if (e.toString() !== this.selectedValues.toString()) {
|
|
116
|
-
if (this.closeOnSelect) {
|
|
117
|
-
this.trigger.close();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
this.updateValue(e);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
updateFilteredItems() {
|
|
124
|
-
if (this.filterItemsOnSelect && this.options && this.value) {
|
|
125
|
-
this.filteredOptions = this.options.filter(i => !this.value.includes(i[this.valueProperty]));
|
|
126
|
-
}
|
|
127
|
-
if (this.value) {
|
|
128
|
-
if (this.value.length === 0) {
|
|
129
|
-
setTimeout(() => {
|
|
130
|
-
// this needs to be delayed to give time for element swap to happen
|
|
131
|
-
if (this.textInitialInput && this.textInitialInput.nativeElement && this.touched) {
|
|
132
|
-
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
133
|
-
this.textInitialInput.nativeElement.focus();
|
|
134
|
-
}
|
|
135
|
-
}, 100);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
setTimeout(() => {
|
|
139
|
-
// this needs to be delayed to give time for element swap to happen
|
|
140
|
-
if (this.textInput && this.textInput.nativeElement && this.touched) {
|
|
141
|
-
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
142
|
-
this.textInput.nativeElement.focus();
|
|
143
|
-
}
|
|
144
|
-
}, 100);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
updateValue(value) {
|
|
149
|
-
this.selectedValues = [];
|
|
150
|
-
this.selectedOptions = [];
|
|
151
|
-
if (value) {
|
|
152
|
-
value.forEach(val => {
|
|
153
|
-
if (typeof val === 'object') {
|
|
154
|
-
this.selectedValues.push(val[this.valueProperty]);
|
|
155
|
-
this.selectedOptions.push(val);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
this.selectedValues.push(val);
|
|
159
|
-
if (this.options && this.options.length) {
|
|
160
|
-
this.selectedOptions = [];
|
|
161
|
-
this.options.forEach(opt => {
|
|
162
|
-
if (value.indexOf(opt[this.valueProperty]) >= 0) {
|
|
163
|
-
this.selectedOptions.push(opt);
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
this._value = this.selectedValues;
|
|
171
|
-
this.updateFilteredItems();
|
|
172
|
-
if (this.onChange) {
|
|
173
|
-
this.onChange(value);
|
|
174
|
-
}
|
|
175
|
-
this.change.emit(value);
|
|
176
|
-
if (this.textInput && this.textInput.nativeElement) {
|
|
177
|
-
this.textInput.nativeElement.value = '';
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
moveFocused(direction) {
|
|
181
|
-
switch (direction) {
|
|
182
|
-
case 'down': {
|
|
183
|
-
this.focused++;
|
|
184
|
-
if (this.focused >= this.filteredOptions.length) {
|
|
185
|
-
this.focused = 0;
|
|
186
|
-
}
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
case 'up': {
|
|
190
|
-
this.focused--;
|
|
191
|
-
if (this.focused < 0) {
|
|
192
|
-
this.focused = this.filteredOptions.length - 1;
|
|
193
|
-
}
|
|
194
|
-
break;
|
|
195
|
-
}
|
|
196
|
-
default: {
|
|
197
|
-
this.focused = 0;
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
handleKeyDown(event) {
|
|
203
|
-
if (this.trigger.isOpen()) {
|
|
204
|
-
if (event.key === 'ArrowDown') {
|
|
205
|
-
this.moveFocused('down');
|
|
206
|
-
}
|
|
207
|
-
else if (event.key === 'ArrowUp') {
|
|
208
|
-
this.moveFocused('up');
|
|
209
|
-
}
|
|
210
|
-
else if (event.key === 'Tab') {
|
|
211
|
-
this.trigger.close();
|
|
212
|
-
if (event.target) {
|
|
213
|
-
event.target['value'] = '';
|
|
214
|
-
}
|
|
215
|
-
this.filteredOptions = this.options;
|
|
216
|
-
}
|
|
217
|
-
else if (event.key === 'Escape') {
|
|
218
|
-
this.trigger.close();
|
|
219
|
-
if (event.target) {
|
|
220
|
-
event.target['value'] = '';
|
|
221
|
-
}
|
|
222
|
-
this.filteredOptions = this.options;
|
|
223
|
-
}
|
|
224
|
-
else if (event.key === 'Enter') {
|
|
225
|
-
if (this.filteredOptions.length > this.focused) {
|
|
226
|
-
if (!this.value.includes(this.filteredOptions[this.focused])) {
|
|
227
|
-
const newValue = [...this.value, this.filteredOptions[this.focused][this.valueProperty]];
|
|
228
|
-
if (event.target) {
|
|
229
|
-
event.target['value'] = '';
|
|
230
|
-
}
|
|
231
|
-
this.filteredOptions = this.options;
|
|
232
|
-
this.updateValue(newValue);
|
|
233
|
-
if (this.closeOnSelect) {
|
|
234
|
-
setTimeout(() => {
|
|
235
|
-
this.trigger.close();
|
|
236
|
-
}, 0);
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
setTimeout(() => {
|
|
240
|
-
this.trigger.open();
|
|
241
|
-
}, 0);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
if (event.key === 'Backspace') {
|
|
249
|
-
if (this.value.length > 0 && event.target['value'].length === 0) {
|
|
250
|
-
this.value.splice(this.value.length - 1, 1);
|
|
251
|
-
this.updateValue(this.value);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
handleInput(event) {
|
|
257
|
-
if (event.target['value'].length > 0) {
|
|
258
|
-
this.filteredOptions = this.options.filter(option => {
|
|
259
|
-
if (option[this.titleProperty].toLowerCase().includes(event.target['value'].toLowerCase())) {
|
|
260
|
-
return !this.value.includes(option);
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
return false;
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
this.filteredOptions = this.options;
|
|
269
|
-
this.updateFilteredItems();
|
|
270
|
-
}
|
|
271
|
-
if (!this.trigger.isOpen()) {
|
|
272
|
-
this.trigger.open();
|
|
273
|
-
}
|
|
274
|
-
this.moveFocused('zero');
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
FwMultiSelectMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
278
|
-
FwMultiSelectMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwMultiSelectMenuComponent, selector: "fw-multi-select", inputs: { options: "options", valueProperty: "valueProperty", titleProperty: "titleProperty", iconProperty: "iconProperty", disabled: "disabled", useCheckbox: "useCheckbox", closeOnSelect: "closeOnSelect", filterItemsOnSelect: "filterItemsOnSelect", maxSelectedShown: "maxSelectedShown", width: "width", minHeight: "minHeight", maxHeight: "maxHeight", optionsWidth: "optionsWidth", minOptionsHeight: "minOptionsHeight", maxOptionsHeight: "maxOptionsHeight", size: "size", placeholder: "placeholder", emptyText: "emptyText", value: "value" }, outputs: { change: "change" }, host: { listeners: { "document:click": "outsideClick()" } }, providers: [
|
|
279
|
-
{
|
|
280
|
-
provide: NG_VALUE_ACCESSOR,
|
|
281
|
-
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
282
|
-
multi: true,
|
|
283
|
-
},
|
|
284
|
-
], queries: [{ propertyName: "menuItems", predicate: FwMenuItemComponent }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkMenuTrigger, descendants: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "textInitialInput", first: true, predicate: ["textInitialInput"], descendants: true }, { propertyName: "renderedMenuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngStyle]=\"{width: width}\">\n <div\n [ngClass]=\"['chip-grid', size]\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container\n [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\" [minHeight]=\"minOptionsHeight\"\n *ngIf=\"emptyText.length > 0 || (filteredOptions && filteredOptions.length > 0)\">\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n (mouseover)=\"focused=$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0 && emptyText\" [showCheckbox]=\"false\"\n [disabled]=\"true\" [title]=\"emptyText\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:4px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid.small{min-height:30px;padding:2px}:host .chip-grid.large{min-height:40px;padding:6px}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.CdkMenuTrigger, selector: "[cdkMenuTriggerFor]", inputs: ["cdkMenuTriggerFor", "cdkMenuPosition"], outputs: ["cdkMenuOpened", "cdkMenuClosed"], exportAs: ["cdkMenuTriggerFor"] }, { kind: "component", type: i3.FwChipComponent, selector: "fw-chip", inputs: ["value", "variant", "color", "icon", "title", "description", "showClose", "disabled", "selected", "selectable"], outputs: ["close", "select"] }, { kind: "component", type: i4.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i5.FwMenuComponent, selector: "fw-menu", inputs: ["disabled", "size", "multiSelect", "useCheckbox", "value", "variant", "collapsed", "collapsedWidth", "openWidth"], outputs: ["change", "filteredItemsChange"] }, { kind: "component", type: i6.FwMenuContainerComponent, selector: "fw-menu-container", inputs: ["width", "maxHeight", "minHeight", "border", "shadow", "showFilter", "filterText", "offset", "collapsed"], outputs: ["filterChanged"] }, { kind: "component", type: i7.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "checkboxColor", "multiSelect", "hidden", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMultiSelectMenuComponent, decorators: [{
|
|
286
|
-
type: Component,
|
|
287
|
-
args: [{ selector: 'fw-multi-select', providers: [
|
|
288
|
-
{
|
|
289
|
-
provide: NG_VALUE_ACCESSOR,
|
|
290
|
-
useExisting: forwardRef(() => FwMultiSelectMenuComponent),
|
|
291
|
-
multi: true,
|
|
292
|
-
},
|
|
293
|
-
], template: "<div [ngStyle]=\"{width: width}\">\n <div\n [ngClass]=\"['chip-grid', size]\"\n [ngStyle]=\"{minHeight: minHeight, maxHeight: maxHeight}\"\n [cdkMenuTriggerFor]=\"selectMenu\">\n <div class=\"inner-chip-grid\" *ngIf=\"value && value.length>0\">\n <fw-chip\n *ngFor=\"let chip of selectedOptions | slice:0:maxSelectedShown\"\n [title]=\"chip[titleProperty]\"\n [value]=\"chip[valueProperty]\"\n [icon]=\"chip[iconProperty]\"\n color=\"primary\"\n [showClose]=\"true\"\n (close)=\"handleClose(chip)\"\n [selectable]=\"false\">\n </fw-chip>\n <span *ngIf=\"value.length>maxSelectedShown\" class=\"max-exceeded\">+{{ value.length - maxSelectedShown }}\n more</span>\n <input\n type=\"text\" #textInput\n class=\"placeholder\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n </div>\n <input\n type=\"text\" #textInitialInput\n *ngIf=\"!value || value.length===0\"\n class=\"placeholder\" [placeholder]=\"placeholder\"\n (focus)=\"handleTouched()\"\n (keydown)=\"handleKeyDown($event)\" (input)=\"handleInput($event)\">\n <fw-icon>chevron-down</fw-icon>\n </div>\n <ng-template #selectMenu>\n <fw-menu-container\n [width]=\"optionsWidth || width\" [maxHeight]=\"maxOptionsHeight\" [minHeight]=\"minOptionsHeight\"\n *ngIf=\"emptyText.length > 0 || (filteredOptions && filteredOptions.length > 0)\">\n <fw-menu\n [multiSelect]=\"true\"\n [disabled]=\"disabled || (filteredOptions && filteredOptions.length===0)\"\n [value]=\"selectedValues\"\n (change)=\"handleChange($event)\">\n <ng-container *ngIf=\"menuItems && menuItems.length===0\">\n <fw-menu-item\n *ngFor=\"let item of filteredOptions; index as $index\"\n [title]=\"item[titleProperty]\"\n [value]=\"item[valueProperty]\"\n [icon]=\"item[iconProperty]\"\n [multiSelect]=\"true\"\n [showCheckbox]=\"useCheckbox\"\n [focused]=\"focused===$index\"\n (mouseover)=\"focused=$index\"\n >\n </fw-menu-item>\n <fw-menu-item\n *ngIf=\"filteredOptions && filteredOptions.length===0 && emptyText\" [showCheckbox]=\"false\"\n [disabled]=\"true\" [title]=\"emptyText\">\n </fw-menu-item>\n </ng-container>\n <ng-content select=\"[fw-menu-item, fw-menu-separator]\"></ng-content>\n </fw-menu>\n </fw-menu-container>\n </ng-template>\n</div>\n", styles: [":host .chip-grid{min-height:36px;box-sizing:border-box;color:var(--typography-light);background:var(--page-light);display:flex;padding:4px;align-items:center;border-radius:6px;border:1px solid var(--separations-input);cursor:pointer;font-family:Inter,sans-serif}:host .chip-grid.small{min-height:30px;padding:2px}:host .chip-grid.large{min-height:40px;padding:6px}:host .chip-grid:focus-within{border-color:var(--primary-base)}:host .chip-grid .inner-chip-grid{display:flex;flex-wrap:wrap;gap:4px;overflow:hidden auto;align-items:center;flex:1}:host .chip-grid .inner-chip-grid input{display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder{padding:0 2px 0 4px;font-size:14px;color:var(--typography-base);background:var(--page-light);border:0;outline:0;display:inline-flex;width:10px;flex-grow:1}:host .chip-grid .placeholder:focus{outline:none!important}:host .chip-grid .placeholder::placeholder{color:var(--typography-light)}:host .chip-grid fw-icon{font-size:20px}:host .chip-grid fw-icon:hover{color:var(--primary-base)}:host .chip-grid .max-exceeded{font-size:12px}\n"] }]
|
|
294
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { outsideClick: [{
|
|
295
|
-
type: HostListener,
|
|
296
|
-
args: ['document:click']
|
|
297
|
-
}], options: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], valueProperty: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], titleProperty: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], iconProperty: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], disabled: [{
|
|
306
|
-
type: Input
|
|
307
|
-
}], useCheckbox: [{
|
|
308
|
-
type: Input
|
|
309
|
-
}], closeOnSelect: [{
|
|
310
|
-
type: Input
|
|
311
|
-
}], filterItemsOnSelect: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], maxSelectedShown: [{
|
|
314
|
-
type: Input
|
|
315
|
-
}], width: [{
|
|
316
|
-
type: Input
|
|
317
|
-
}], minHeight: [{
|
|
318
|
-
type: Input
|
|
319
|
-
}], maxHeight: [{
|
|
320
|
-
type: Input
|
|
321
|
-
}], optionsWidth: [{
|
|
322
|
-
type: Input
|
|
323
|
-
}], minOptionsHeight: [{
|
|
324
|
-
type: Input
|
|
325
|
-
}], maxOptionsHeight: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], size: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], placeholder: [{
|
|
330
|
-
type: Input
|
|
331
|
-
}], emptyText: [{
|
|
332
|
-
type: Input
|
|
333
|
-
}], trigger: [{
|
|
334
|
-
type: ViewChild,
|
|
335
|
-
args: [CdkMenuTrigger]
|
|
336
|
-
}], menu: [{
|
|
337
|
-
type: ViewChild,
|
|
338
|
-
args: [FwMenuComponent]
|
|
339
|
-
}], renderedMenuItems: [{
|
|
340
|
-
type: ViewChildren,
|
|
341
|
-
args: [FwMenuItemComponent]
|
|
342
|
-
}], menuItems: [{
|
|
343
|
-
type: ContentChildren,
|
|
344
|
-
args: [FwMenuItemComponent]
|
|
345
|
-
}], textInput: [{
|
|
346
|
-
type: ViewChild,
|
|
347
|
-
args: ['textInput']
|
|
348
|
-
}], textInitialInput: [{
|
|
349
|
-
type: ViewChild,
|
|
350
|
-
args: ['textInitialInput']
|
|
351
|
-
}], change: [{
|
|
352
|
-
type: Output
|
|
353
|
-
}], value: [{
|
|
354
|
-
type: Input
|
|
355
|
-
}] } });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7O0FBYy9FLE1BQU0sT0FBTywwQkFBMEI7SUF3RHJDLFlBQXNCLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBN0NsRCxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGtCQUFhLEdBQVksT0FBTyxDQUFDO1FBQ2pDLGlCQUFZLEdBQVksTUFBTSxDQUFDO1FBQy9CLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsa0JBQWEsR0FBYSxJQUFJLENBQUM7UUFDL0Isd0JBQW1CLEdBQWEsSUFBSSxDQUFDO1FBQ3JDLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUMvQixVQUFLLEdBQVcsT0FBTyxDQUFDO1FBQ3hCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUk1QixTQUFJLEdBQWtDLFFBQVEsQ0FBQztRQUMvQyxnQkFBVyxHQUFXLHFCQUFxQixDQUFDO1FBQzVDLGNBQVMsR0FBVyxxQkFBcUIsQ0FBQztRQUtuRCxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUN2QixrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFHM0MsNERBQTREO1FBQ2xELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDSixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFXaEIsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQU8zQixjQUFTLEdBQUcsR0FBUyxFQUFFO1FBQ3ZCLENBQUMsQ0FBQztJQUxGLENBQUM7SUF4RCtCLFlBQVk7UUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFvQ0QsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFlO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQVlELGdCQUFnQixDQUFDLEVBQTBCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzdDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzVCLE1BQU0sR0FBRyxHQUFHO3dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzt3QkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7cUJBQ2hCLENBQUM7b0JBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2hDO29CQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDdkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzVCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVc7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25ELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDdEI7YUFDRjtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLG1FQUFtRTtvQkFDbkUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNoRix1RUFBdUU7d0JBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQzdDO2dCQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNUO2lCQUFNO2dCQUNMLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsbUVBQW1FO29CQUNuRSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDbEUsdUVBQXVFO3dCQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztxQkFDdEM7Z0JBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO29CQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTTtvQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO3dCQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dDQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs2QkFDaEM7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQWlCO1FBQzNCLFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssTUFBTSxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtvQkFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ2xCO2dCQUNELE1BQU07YUFDUDtZQUNELEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2lCQUNoRDtnQkFDRCxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN6QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO2dCQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzFCO2lCQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7aUJBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO29CQUNoQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDNUI7Z0JBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3JDO2lCQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDaEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQzVCO2dCQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNyQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO3dCQUM1RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3QkFDekYsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFOzRCQUNoQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQzt5QkFDNUI7d0JBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7NEJBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0NBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDdkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUNQOzZCQUFNOzRCQUNMLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0NBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQzs0QkFDdEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUVQO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtnQkFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM5QjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7b0JBQzFGLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDckM7cUJBQU07b0JBQ0wsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDOzt1SEE1UlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsb3FCQVIxQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1lBQ3pELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixvREFrQ2dCLG1CQUFtQixzRUFIekIsY0FBYyx1RUFDZCxlQUFlLHVRQUNaLG1CQUFtQixxRUNyRW5DLGdpRkE4REE7MkZEeEJhLDBCQUEwQjtrQkFadEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7NEJBQ3pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUcrQixZQUFZO3NCQUEzQyxZQUFZO3VCQUFDLGdCQUFnQjtnQkFVckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDcUIsT0FBTztzQkFBakMsU0FBUzt1QkFBQyxjQUFjO2dCQUNHLElBQUk7c0JBQS9CLFNBQVM7dUJBQUMsZUFBZTtnQkFDUyxpQkFBaUI7c0JBQW5ELFlBQVk7dUJBQUMsbUJBQW1CO2dCQUNLLFNBQVM7c0JBQTlDLGVBQWU7dUJBQUMsbUJBQW1CO2dCQUtaLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDUyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVuQixNQUFNO3NCQUFmLE1BQU07Z0JBTUgsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IENka01lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL21lbnUnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3TWVudUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZ3TXVsdGlTZWxlY3RNZW51Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TXVsdGlTZWxlY3RNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKSBvdXRzaWRlQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzT3Blbikge1xuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHJpZ2dlciAmJiB0aGlzLnRyaWdnZXIuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgb3B0aW9uczogb2JqZWN0W10gPSBbXTtcbiAgQElucHV0KCkgdmFsdWVQcm9wZXJ0eT86IHN0cmluZyA9ICd2YWx1ZSc7XG4gIEBJbnB1dCgpIHRpdGxlUHJvcGVydHk/OiBzdHJpbmcgPSAndGl0bGUnO1xuICBASW5wdXQoKSBpY29uUHJvcGVydHk/OiBzdHJpbmcgPSAnaWNvbic7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB1c2VDaGVja2JveD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBmaWx0ZXJJdGVtc09uU2VsZWN0PzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIG1heFNlbGVjdGVkU2hvd246IG51bWJlciA9IDEwMDtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcyMDBweCc7XG4gIEBJbnB1dCgpIG1pbkhlaWdodDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heEhlaWdodDogc3RyaW5nID0gJzIwMHB4JztcbiAgQElucHV0KCkgb3B0aW9uc1dpZHRoPzogc3RyaW5nO1xuICBASW5wdXQoKSBtaW5PcHRpb25zSGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhPcHRpb25zSGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBzb21ldGhpbmcuLi4nO1xuICBASW5wdXQoKSBlbXB0eVRleHQ6IHN0cmluZyA9ICdObyBtYXRjaGVzIGZvdW5kLi4uJztcbiAgQFZpZXdDaGlsZChDZGtNZW51VHJpZ2dlcikgdHJpZ2dlcjogQ2RrTWVudVRyaWdnZXI7XG4gIEBWaWV3Q2hpbGQoRndNZW51Q29tcG9uZW50KSBtZW51OiBGd01lbnVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCkgcmVuZGVyZWRNZW51SXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVJdGVtQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVJdGVtQ29tcG9uZW50KSBtZW51SXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVJdGVtQ29tcG9uZW50PjtcbiAgc2VsZWN0ZWRWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIHNlbGVjdGVkT3B0aW9uczogb2JqZWN0W10gPSBbXTtcbiAgZmlsdGVyZWRPcHRpb25zOiBvYmplY3RbXSA9IFtdO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIEBWaWV3Q2hpbGQoJ3RleHRJbnB1dCcpIHRleHRJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndGV4dEluaXRpYWxJbnB1dCcpIHRleHRJbml0aWFsSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGZvY3VzZWQgPSAwO1xuICBwcml2YXRlIHRvdWNoZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cblxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xuICAgIC8vIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tZW51SXRlbXMgJiYgdGhpcy5tZW51SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLm1lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IG9wdCA9IHtcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgICAgbGFiZWw6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICBpY29uOiBpdGVtLmljb24sXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChvcHQpO1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWVzLmluZGV4T2YoaXRlbS52YWx1ZS50b1N0cmluZygpKSA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKG9wdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHN1YiA9IGl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMubWVudS53cml0ZVZhbHVlKHZhbHVlKSk7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVRvdWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUNsb3NlKGNoaXA6IG9iamVjdCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUuc3BsaWNlKHRoaXMudmFsdWUuaW5kZXhPZihjaGlwW3RoaXMudmFsdWVQcm9wZXJ0eV0pLCAxKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIHtcbiAgICAgIGlmIChlLnRvU3RyaW5nKCkgIT09IHRoaXMuc2VsZWN0ZWRWYWx1ZXMudG9TdHJpbmcoKSkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRmlsdGVyZWRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0ZXJJdGVtc09uU2VsZWN0ICYmIHRoaXMub3B0aW9ucyAmJiB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoaSA9PiAhdGhpcy52YWx1ZS5pbmNsdWRlcyhpW3RoaXMudmFsdWVQcm9wZXJ0eV0pKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIC8vIHRoaXMgbmVlZHMgdG8gYmUgZGVsYXllZCB0byBnaXZlIHRpbWUgZm9yIGVsZW1lbnQgc3dhcCB0byBoYXBwZW5cbiAgICAgICAgICBpZiAodGhpcy50ZXh0SW5pdGlhbElucHV0ICYmIHRoaXMudGV4dEluaXRpYWxJbnB1dC5uYXRpdmVFbGVtZW50ICYmIHRoaXMudG91Y2hlZCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgICAgIHRoaXMudGV4dEluaXRpYWxJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAxMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLy8gdGhpcyBuZWVkcyB0byBiZSBkZWxheWVkIHRvIGdpdmUgdGltZSBmb3IgZWxlbWVudCBzd2FwIHRvIGhhcHBlblxuICAgICAgICAgIGlmICh0aGlzLnRleHRJbnB1dCAmJiB0aGlzLnRleHRJbnB1dC5uYXRpdmVFbGVtZW50ICYmIHRoaXMudG91Y2hlZCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgICAgIHRoaXMudGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVmFsdWUodmFsdWU6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZS5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaCh2YWxbdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaCh2YWwpO1xuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKG9wdCA9PiB7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZS5pbmRleE9mKG9wdFt0aGlzLnZhbHVlUHJvcGVydHldKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaChvcHQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXM7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICBpZiAodGhpcy50ZXh0SW5wdXQgJiYgdGhpcy50ZXh0SW5wdXQubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy50ZXh0SW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIG1vdmVGb2N1c2VkKGRpcmVjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2Rvd24nOiB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCsrO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkID49IHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd1cCc6IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkLS07XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgPCAwKSB7XG4gICAgICAgICAgdGhpcy5mb2N1c2VkID0gdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gMDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIuaXNPcGVuKCkpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzZWQoJ2Rvd24nKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgndXAnKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIGV2ZW50LnRhcmdldFsndmFsdWUnXSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQudGFyZ2V0Wyd2YWx1ZSddID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoID4gdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbHVlLmluY2x1ZGVzKHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZm9jdXNlZF0pKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IFsuLi50aGlzLnZhbHVlLCB0aGlzLmZpbHRlcmVkT3B0aW9uc1t0aGlzLmZvY3VzZWRdW3RoaXMudmFsdWVQcm9wZXJ0eV1dO1xuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgICBldmVudC50YXJnZXRbJ3ZhbHVlJ10gPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlci5vcGVuKCk7XG4gICAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgZXZlbnQudGFyZ2V0Wyd2YWx1ZSddLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMudmFsdWUuc3BsaWNlKHRoaXMudmFsdWUubGVuZ3RoIC0gMSwgMSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50YXJnZXRbJ3ZhbHVlJ10ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiB7XG4gICAgICAgIGlmIChvcHRpb25bdGhpcy50aXRsZVByb3BlcnR5XS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnRhcmdldFsndmFsdWUnXS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiAhdGhpcy52YWx1ZS5pbmNsdWRlcyhvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgfVxuICAgIGlmICghdGhpcy50cmlnZ2VyLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLnRyaWdnZXIub3BlbigpO1xuICAgIH1cbiAgICB0aGlzLm1vdmVGb2N1c2VkKCd6ZXJvJyk7XG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwie3dpZHRoOiB3aWR0aH1cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlsnY2hpcC1ncmlkJywgc2l6ZV1cIlxuICAgIFtuZ1N0eWxlXT1cInttaW5IZWlnaHQ6IG1pbkhlaWdodCwgbWF4SGVpZ2h0OiBtYXhIZWlnaHR9XCJcbiAgICBbY2RrTWVudVRyaWdnZXJGb3JdPVwic2VsZWN0TWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jaGlwLWdyaWRcIiAqbmdJZj1cInZhbHVlICYmIHZhbHVlLmxlbmd0aD4wXCI+XG4gICAgICA8ZnctY2hpcFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBzZWxlY3RlZE9wdGlvbnMgfCBzbGljZTowOm1heFNlbGVjdGVkU2hvd25cIlxuICAgICAgICBbdGl0bGVdPVwiY2hpcFt0aXRsZVByb3BlcnR5XVwiXG4gICAgICAgIFt2YWx1ZV09XCJjaGlwW3ZhbHVlUHJvcGVydHldXCJcbiAgICAgICAgW2ljb25dPVwiY2hpcFtpY29uUHJvcGVydHldXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW3Nob3dDbG9zZV09XCJ0cnVlXCJcbiAgICAgICAgKGNsb3NlKT1cImhhbmRsZUNsb3NlKGNoaXApXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIj5cbiAgICAgIDwvZnctY2hpcD5cbiAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWUubGVuZ3RoPm1heFNlbGVjdGVkU2hvd25cIiBjbGFzcz1cIm1heC1leGNlZWRlZFwiPit7eyB2YWx1ZS5sZW5ndGggLSBtYXhTZWxlY3RlZFNob3duIH19XG4gICAgICAgIG1vcmU8L3NwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIiAjdGV4dElucHV0XG4gICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIiAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiPlxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIiAjdGV4dEluaXRpYWxJbnB1dFxuICAgICAgKm5nSWY9XCIhdmFsdWUgfHwgdmFsdWUubGVuZ3RoPT09MFwiXG4gICAgICBjbGFzcz1cInBsYWNlaG9sZGVyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChmb2N1cyk9XCJoYW5kbGVUb3VjaGVkKClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCIgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIj5cbiAgICA8ZnctaWNvbj5jaGV2cm9uLWRvd248L2Z3LWljb24+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI3NlbGVjdE1lbnU+XG4gICAgPGZ3LW1lbnUtY29udGFpbmVyXG4gICAgICBbd2lkdGhdPVwib3B0aW9uc1dpZHRoIHx8IHdpZHRoXCIgW21heEhlaWdodF09XCJtYXhPcHRpb25zSGVpZ2h0XCIgW21pbkhlaWdodF09XCJtaW5PcHRpb25zSGVpZ2h0XCJcbiAgICAgICpuZ0lmPVwiZW1wdHlUZXh0Lmxlbmd0aCA+IDAgfHwgKGZpbHRlcmVkT3B0aW9ucyAmJiBmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoID4gMClcIj5cbiAgICAgIDxmdy1tZW51XG4gICAgICAgIFttdWx0aVNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IChmaWx0ZXJlZE9wdGlvbnMgJiYgZmlsdGVyZWRPcHRpb25zLmxlbmd0aD09PTApXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVzXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW1zICYmIG1lbnVJdGVtcy5sZW5ndGg9PT0wXCI+XG4gICAgICAgICAgPGZ3LW1lbnUtaXRlbVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRPcHRpb25zOyBpbmRleCBhcyAkaW5kZXhcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGl0bGVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1bdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW2ljb25dPVwiaXRlbVtpY29uUHJvcGVydHldXCJcbiAgICAgICAgICAgIFttdWx0aVNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwidXNlQ2hlY2tib3hcIlxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwiZm9jdXNlZD09PSRpbmRleFwiXG4gICAgICAgICAgICAobW91c2VvdmVyKT1cImZvY3VzZWQ9JGluZGV4XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9mdy1tZW51LWl0ZW0+XG4gICAgICAgICAgPGZ3LW1lbnUtaXRlbVxuICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZE9wdGlvbnMgJiYgZmlsdGVyZWRPcHRpb25zLmxlbmd0aD09PTAgJiYgZW1wdHlUZXh0XCIgW3Nob3dDaGVja2JveF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiIFt0aXRsZV09XCJlbXB0eVRleHRcIj5cbiAgICAgICAgICA8L2Z3LW1lbnUtaXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmdy1tZW51LWl0ZW0sIGZ3LW1lbnUtc2VwYXJhdG9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZnctbWVudT5cbiAgICA8L2Z3LW1lbnUtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|