@festo-ui/angular 3.1.0 → 3.2.1-pre-20220624.2
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/README.md +5 -1
- package/css/bundle.css +1 -0
- package/css/image-gallery.css +1 -0
- package/css/popover.css +1 -0
- package/esm2020/festo-ui-angular.mjs +5 -0
- package/esm2020/index.mjs +20 -0
- package/esm2020/lib/components/accordion/accordion-header/accordion-header.component.mjs +11 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +15 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +28 -0
- package/esm2020/lib/components/accordion/accordion-item/accordion-item.component.mjs +143 -0
- package/esm2020/lib/components/accordion/accordion.component.mjs +59 -0
- package/esm2020/lib/components/accordion/index.mjs +6 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +23 -0
- package/esm2020/lib/components/buttons/button/button.component.mjs +41 -0
- package/esm2020/lib/components/buttons/link-button/link-button.component.mjs +33 -0
- package/esm2020/lib/components/chips/chip/chip.component.mjs +37 -0
- package/esm2020/lib/components/chips/chip-container/chip-container.component.mjs +16 -0
- package/esm2020/lib/components/click-outside.directive.mjs +28 -0
- package/esm2020/lib/components/components.module.mjs +223 -0
- package/esm2020/lib/components/image-gallery/image-gallery.component.mjs +58 -0
- package/esm2020/lib/components/image-gallery/image-gallery.module.mjs +21 -0
- package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +16 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +38 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +64 -0
- package/esm2020/lib/components/mobile-flyout/mobile-flyout.component.mjs +68 -0
- package/esm2020/lib/components/modals/alert/alert.component.mjs +52 -0
- package/esm2020/lib/components/modals/confirm/confirm.component.mjs +53 -0
- package/esm2020/lib/components/modals/custom-modal/custom-modal.component.mjs +70 -0
- package/esm2020/lib/components/modals/index.mjs +2 -0
- package/esm2020/lib/components/modals/modal.service.mjs +121 -0
- package/esm2020/lib/components/modals/modals.module.mjs +31 -0
- package/esm2020/lib/components/modals/prompt/prompt.component.mjs +102 -0
- package/esm2020/lib/components/pagination/pagination.component.mjs +55 -0
- package/esm2020/lib/components/popovers/legend/legend.component.mjs +42 -0
- package/esm2020/lib/components/popovers/legend/legend.directive.mjs +31 -0
- package/esm2020/lib/components/popovers/popover/popover.component.mjs +31 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.component.mjs +82 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.directive.mjs +39 -0
- package/esm2020/lib/components/popovers/popover-menu/popover-menu.component.mjs +68 -0
- package/esm2020/lib/components/popovers/popover-ref.mjs +25 -0
- package/esm2020/lib/components/popovers/popover.defaults.mjs +60 -0
- package/esm2020/lib/components/popovers/popover.models.mjs +23 -0
- package/esm2020/lib/components/popovers/popover.service.mjs +123 -0
- package/esm2020/lib/components/popovers/tooltip/tooltip.directive.mjs +100 -0
- package/esm2020/lib/components/progress/progress.component.mjs +20 -0
- package/esm2020/lib/components/scroll/index.mjs +2 -0
- package/esm2020/lib/components/scroll/scrollable.directive.mjs +72 -0
- package/esm2020/lib/components/search-input/safe-html.pipe.mjs +21 -0
- package/esm2020/lib/components/search-input/search-input.component.mjs +172 -0
- package/esm2020/lib/components/snackbar/snackbar-container.component.mjs +21 -0
- package/esm2020/lib/components/snackbar/snackbar-container.directive.mjs +83 -0
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +79 -0
- package/esm2020/lib/components/snackbar/snackbar.models.mjs +2 -0
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +26 -0
- package/esm2020/lib/components/snackbar/snackbar.service.mjs +23 -0
- package/esm2020/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +19 -0
- package/esm2020/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +51 -0
- package/esm2020/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +56 -0
- package/esm2020/lib/components/stepper-vertical/stepper-vertical.component.mjs +54 -0
- package/esm2020/lib/components/table-header-cell/table-header-cell.directive.mjs +58 -0
- package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +31 -0
- package/esm2020/lib/components/tabs/tabs.component.mjs +353 -0
- package/esm2020/lib/content/content.module.mjs +20 -0
- package/esm2020/lib/content/icon/icon.component.mjs +17 -0
- package/esm2020/lib/festo-angular.module.mjs +65 -0
- package/esm2020/lib/forms/checkbox/checkbox.component.mjs +149 -0
- package/esm2020/lib/forms/color-indicator/color-indicator.component.mjs +68 -0
- package/esm2020/lib/forms/color-picker/color-helper.mjs +121 -0
- package/esm2020/lib/forms/color-picker/color-picker.component.mjs +273 -0
- package/esm2020/lib/forms/container-host.mjs +27 -0
- package/esm2020/lib/forms/date-picker/date-picker.component.mjs +199 -0
- package/esm2020/lib/forms/date-range-picker/date-range-picker.component.mjs +224 -0
- package/esm2020/lib/forms/forms.module.mjs +146 -0
- package/esm2020/lib/forms/radio/radio.component.mjs +346 -0
- package/esm2020/lib/forms/segment/segment-control/segment-control.component.mjs +57 -0
- package/esm2020/lib/forms/segment/segment.component.mjs +109 -0
- package/esm2020/lib/forms/select/chip-text.pipe.mjs +34 -0
- package/esm2020/lib/forms/select/select-option/select-option.component.mjs +22 -0
- package/esm2020/lib/forms/select/select.component.mjs +257 -0
- package/esm2020/lib/forms/slider/slider.component.mjs +110 -0
- package/esm2020/lib/forms/switch/switch.component.mjs +120 -0
- package/esm2020/lib/forms/text-area/text-area.component.mjs +180 -0
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +286 -0
- package/esm2020/lib/forms/text-input/text-input.component.mjs +183 -0
- package/esm2020/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +89 -0
- package/esm2020/lib/forms/time-picker/time-picker.component.mjs +188 -0
- package/esm2020/lib/forms/unique-selection-dispatcher.mjs +39 -0
- package/esm2020/lib/forms/value-accessor-base.mjs +41 -0
- package/esm2020/lib/layout/layout.module.mjs +18 -0
- package/esm2020/lib/wrappers/flatpickr/flatpickr.component.mjs +59 -0
- package/fesm2015/festo-ui-angular.mjs +6172 -0
- package/fesm2015/festo-ui-angular.mjs.map +1 -0
- package/fesm2020/festo-ui-angular.mjs +6154 -0
- package/fesm2020/festo-ui-angular.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
- package/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.d.ts +6 -0
- package/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.d.ts +15 -0
- package/lib/components/accordion/accordion-item/accordion-item.component.d.ts +34 -0
- package/lib/components/accordion/accordion.component.d.ts +24 -0
- package/lib/components/accordion/index.d.ts +5 -0
- package/lib/components/components.module.d.ts +40 -20
- package/lib/components/image-gallery/image-gallery.component.d.ts +33 -0
- package/lib/components/image-gallery/image-gallery.module.d.ts +10 -0
- package/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.d.ts +15 -0
- package/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.d.ts +19 -0
- package/lib/components/mobile-flyout/mobile-flyout.component.d.ts +17 -0
- package/lib/components/modals/confirm/confirm.component.d.ts +1 -3
- package/lib/components/modals/custom-modal/custom-modal.component.d.ts +21 -0
- package/lib/components/modals/modal.service.d.ts +2 -0
- package/lib/components/modals/modals.module.d.ts +8 -5
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +5 -3
- package/lib/components/search-input/safe-html.pipe.d.ts +10 -0
- package/lib/components/search-input/search-input.component.d.ts +22 -5
- package/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.d.ts +7 -0
- package/lib/components/stepper-horizontal/stepper-horizontal.component.d.ts +14 -0
- package/lib/components/stepper-vertical/step-vertical/step-vertical.component.d.ts +18 -0
- package/lib/components/stepper-vertical/stepper-vertical.component.d.ts +14 -0
- package/lib/festo-angular.module.d.ts +2 -1
- package/package.json +41 -19
- package/scss/base/components/accordion/accordion-header/accordion-header.component.scss +12 -0
- package/scss/base/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.scss +109 -0
- package/scss/base/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.scss +9 -0
- package/scss/base/components/accordion/accordion-item/accordion-item.component.scss +71 -0
- package/scss/base/components/accordion/accordion.component.scss +6 -0
- package/scss/base/components/breadcrumb/breadcrumb.component.scss +0 -1
- package/scss/base/components/buttons/button/button.component.scss +5 -3
- package/scss/base/components/image-gallery/image-gallery.component.scss +0 -0
- package/scss/base/components/image-gallery/styles.scss +5 -0
- package/scss/base/components/modals/prompt/prompt.component.scss +0 -1
- package/scss/base/components/popovers/legend/legend.component.scss +2 -2
- package/scss/base/components/popovers/popover/styles.scss +2 -3
- package/scss/base/components/popovers/popover-content/popover-content.component.scss +1 -1
- package/scss/base/components/scroll/scroll-story-helper.scss +1 -3
- package/scss/base/components/search-input/search-input.component.scss +4 -0
- package/scss/base/components/snackbar/snackbar.component.scss +1 -1
- package/scss/base/components/stepper-horizontal/step-horizontal/step-horizontal.component.scss +23 -0
- package/scss/base/components/stepper-vertical/step-vertical/step-vertical.component.scss +6 -0
- package/scss/base/forms/color-indicator/color-indicator.component.scss +1 -1
- package/scss/base/forms/color-picker/color-picker.component.scss +15 -15
- package/scss/base/forms/date-picker/date-picker.component.scss +1 -1
- package/scss/base/forms/date-range-picker/date-range-picker.component.scss +1 -1
- package/scss/base/forms/text-area/text-area.component.scss +4 -4
- package/scss/base/forms/text-editor/text-editor.component.scss +8 -10
- package/scss/base/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.scss +1 -1
- package/bundles/festo-ui-angular.umd.js +0 -6429
- package/bundles/festo-ui-angular.umd.js.map +0 -1
- package/esm2015/festo-ui-angular.js +0 -5
- package/esm2015/festo-ui-angular.js.map +0 -1
- package/esm2015/index.js +0 -18
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -27
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +0 -1
- package/esm2015/lib/components/buttons/button/button.component.js +0 -46
- package/esm2015/lib/components/buttons/button/button.component.js.map +0 -1
- package/esm2015/lib/components/buttons/link-button/link-button.component.js +0 -38
- package/esm2015/lib/components/buttons/link-button/link-button.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip/chip.component.js +0 -42
- package/esm2015/lib/components/chips/chip/chip.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js +0 -21
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js.map +0 -1
- package/esm2015/lib/components/click-outside.directive.js +0 -28
- package/esm2015/lib/components/click-outside.directive.js.map +0 -1
- package/esm2015/lib/components/components.module.js +0 -155
- package/esm2015/lib/components/components.module.js.map +0 -1
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js +0 -21
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js.map +0 -1
- package/esm2015/lib/components/modals/alert/alert.component.js +0 -57
- package/esm2015/lib/components/modals/alert/alert.component.js.map +0 -1
- package/esm2015/lib/components/modals/confirm/confirm.component.js +0 -73
- package/esm2015/lib/components/modals/confirm/confirm.component.js.map +0 -1
- package/esm2015/lib/components/modals/index.js +0 -2
- package/esm2015/lib/components/modals/index.js.map +0 -1
- package/esm2015/lib/components/modals/modal.service.js +0 -91
- package/esm2015/lib/components/modals/modal.service.js.map +0 -1
- package/esm2015/lib/components/modals/modals.module.js +0 -28
- package/esm2015/lib/components/modals/modals.module.js.map +0 -1
- package/esm2015/lib/components/modals/prompt/prompt.component.js +0 -110
- package/esm2015/lib/components/modals/prompt/prompt.component.js.map +0 -1
- package/esm2015/lib/components/pagination/pagination.component.js +0 -60
- package/esm2015/lib/components/pagination/pagination.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.component.js +0 -46
- package/esm2015/lib/components/popovers/legend/legend.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.directive.js +0 -31
- package/esm2015/lib/components/popovers/legend/legend.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover/popover.component.js +0 -35
- package/esm2015/lib/components/popovers/popover/popover.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js +0 -86
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js +0 -39
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js +0 -72
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-ref.js +0 -25
- package/esm2015/lib/components/popovers/popover-ref.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.defaults.js +0 -60
- package/esm2015/lib/components/popovers/popover.defaults.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.models.js +0 -23
- package/esm2015/lib/components/popovers/popover.models.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.service.js +0 -117
- package/esm2015/lib/components/popovers/popover.service.js.map +0 -1
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js +0 -96
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js.map +0 -1
- package/esm2015/lib/components/progress/progress.component.js +0 -23
- package/esm2015/lib/components/progress/progress.component.js.map +0 -1
- package/esm2015/lib/components/scroll/index.js +0 -2
- package/esm2015/lib/components/scroll/index.js.map +0 -1
- package/esm2015/lib/components/scroll/scrollable.directive.js +0 -73
- package/esm2015/lib/components/scroll/scrollable.directive.js.map +0 -1
- package/esm2015/lib/components/search-input/search-input.component.js +0 -155
- package/esm2015/lib/components/search-input/search-input.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.component.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar-container.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js +0 -83
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.component.js +0 -85
- package/esm2015/lib/components/snackbar/snackbar.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.models.js +0 -2
- package/esm2015/lib/components/snackbar/snackbar.models.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.module.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar.module.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.service.js +0 -23
- package/esm2015/lib/components/snackbar/snackbar.service.js.map +0 -1
- package/esm2015/lib/components/stepper/stepper.component.js +0 -28
- package/esm2015/lib/components/stepper/stepper.component.js.map +0 -1
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js +0 -58
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js.map +0 -1
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js +0 -35
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js.map +0 -1
- package/esm2015/lib/components/tabs/tabs.component.js +0 -362
- package/esm2015/lib/components/tabs/tabs.component.js.map +0 -1
- package/esm2015/lib/content/content.module.js +0 -24
- package/esm2015/lib/content/content.module.js.map +0 -1
- package/esm2015/lib/content/icon/icon.component.js +0 -23
- package/esm2015/lib/content/icon/icon.component.js.map +0 -1
- package/esm2015/lib/festo-angular.module.js +0 -58
- package/esm2015/lib/festo-angular.module.js.map +0 -1
- package/esm2015/lib/forms/checkbox/checkbox.component.js +0 -156
- package/esm2015/lib/forms/checkbox/checkbox.component.js.map +0 -1
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js +0 -72
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-helper.js +0 -121
- package/esm2015/lib/forms/color-picker/color-helper.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-picker.component.js +0 -280
- package/esm2015/lib/forms/color-picker/color-picker.component.js.map +0 -1
- package/esm2015/lib/forms/container-host.js +0 -27
- package/esm2015/lib/forms/container-host.js.map +0 -1
- package/esm2015/lib/forms/date-picker/date-picker.component.js +0 -205
- package/esm2015/lib/forms/date-picker/date-picker.component.js.map +0 -1
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js +0 -230
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js.map +0 -1
- package/esm2015/lib/forms/forms.module.js +0 -146
- package/esm2015/lib/forms/forms.module.js.map +0 -1
- package/esm2015/lib/forms/radio/radio.component.js +0 -353
- package/esm2015/lib/forms/radio/radio.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js +0 -58
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment.component.js +0 -116
- package/esm2015/lib/forms/segment/segment.component.js.map +0 -1
- package/esm2015/lib/forms/select/chip-text.pipe.js +0 -34
- package/esm2015/lib/forms/select/chip-text.pipe.js.map +0 -1
- package/esm2015/lib/forms/select/select-option/select-option.component.js +0 -29
- package/esm2015/lib/forms/select/select-option/select-option.component.js.map +0 -1
- package/esm2015/lib/forms/select/select.component.js +0 -265
- package/esm2015/lib/forms/select/select.component.js.map +0 -1
- package/esm2015/lib/forms/slider/slider.component.js +0 -116
- package/esm2015/lib/forms/slider/slider.component.js.map +0 -1
- package/esm2015/lib/forms/switch/switch.component.js +0 -127
- package/esm2015/lib/forms/switch/switch.component.js.map +0 -1
- package/esm2015/lib/forms/text-area/text-area.component.js +0 -186
- package/esm2015/lib/forms/text-area/text-area.component.js.map +0 -1
- package/esm2015/lib/forms/text-editor/text-editor.component.js +0 -294
- package/esm2015/lib/forms/text-editor/text-editor.component.js.map +0 -1
- package/esm2015/lib/forms/text-input/text-input.component.js +0 -189
- package/esm2015/lib/forms/text-input/text-input.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js +0 -103
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker.component.js +0 -194
- package/esm2015/lib/forms/time-picker/time-picker.component.js.map +0 -1
- package/esm2015/lib/forms/unique-selection-dispatcher.js +0 -39
- package/esm2015/lib/forms/unique-selection-dispatcher.js.map +0 -1
- package/esm2015/lib/forms/value-accessor-base.js +0 -41
- package/esm2015/lib/forms/value-accessor-base.js.map +0 -1
- package/esm2015/lib/layout/layout.module.js +0 -18
- package/esm2015/lib/layout/layout.module.js.map +0 -1
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js +0 -63
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js.map +0 -1
- package/fesm2015/festo-ui-angular.js +0 -5596
- package/fesm2015/festo-ui-angular.js.map +0 -1
- package/lib/components/stepper/stepper.component.d.ts +0 -30
- package/scss/base/components/stepper/stepper.component.scss +0 -118
- package/scss/styles.scss +0 -2056
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ElementRef, ViewEncapsulation, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../click-outside.directive";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "./safe-html.pipe";
|
|
7
|
+
export class SearchSuggestion {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a basic Suggestion from a string. The first query match is highlighted by bold tags.
|
|
10
|
+
* @param suggestionString The suggested string (should contain the whole query)
|
|
11
|
+
* @param query The current query. This string will be highlighted.
|
|
12
|
+
* @returns a html-string.
|
|
13
|
+
*/
|
|
14
|
+
static basicSuggestion(suggestionString, query) {
|
|
15
|
+
const i = suggestionString.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
|
|
16
|
+
let template = suggestionString;
|
|
17
|
+
if (i != -1) {
|
|
18
|
+
const boldStart = i;
|
|
19
|
+
const boldEnd = i + query.length;
|
|
20
|
+
const part1 = suggestionString.substring(0, boldStart);
|
|
21
|
+
const part2 = suggestionString.substring(boldStart, boldEnd);
|
|
22
|
+
const part3 = suggestionString.substring(boldEnd, suggestionString.length);
|
|
23
|
+
template = part1 + '<b>' + part2 + '</b>' + part3;
|
|
24
|
+
}
|
|
25
|
+
return { value: suggestionString, template };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A custom form element for search inputs.
|
|
30
|
+
*/
|
|
31
|
+
export class SearchInputComponent {
|
|
32
|
+
constructor() {
|
|
33
|
+
/**
|
|
34
|
+
* the querrry was changed, update the suggetion list
|
|
35
|
+
*/
|
|
36
|
+
this.fngChange = new EventEmitter();
|
|
37
|
+
/**
|
|
38
|
+
* Start search on this event
|
|
39
|
+
*/
|
|
40
|
+
this.fngSearch = new EventEmitter();
|
|
41
|
+
/**
|
|
42
|
+
* The search input label.
|
|
43
|
+
*/
|
|
44
|
+
this.label = '';
|
|
45
|
+
this.innerDisabled = false;
|
|
46
|
+
this.innerValue = '';
|
|
47
|
+
this.innerSuggestions = [];
|
|
48
|
+
this.hideSuggestionList = false;
|
|
49
|
+
// This is the index of the selected element in dhe suggestion list.
|
|
50
|
+
this.selectedSuggestionIndex = -1;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* When true the control's disabled attribute is set
|
|
54
|
+
* and it gets addeed the .disabled css class.
|
|
55
|
+
*/
|
|
56
|
+
get disabled() {
|
|
57
|
+
return this.innerDisabled;
|
|
58
|
+
}
|
|
59
|
+
set disabled(value) {
|
|
60
|
+
this.innerDisabled = coerceBooleanProperty(value);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The getter for value.
|
|
64
|
+
*/
|
|
65
|
+
get value() {
|
|
66
|
+
return this.innerValue;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The setter for value.
|
|
70
|
+
*/
|
|
71
|
+
set value(value) {
|
|
72
|
+
if (value != null) {
|
|
73
|
+
value = '' + value;
|
|
74
|
+
}
|
|
75
|
+
this.innerValue = value;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The list of suggestions
|
|
79
|
+
*/
|
|
80
|
+
set suggestions(value) {
|
|
81
|
+
this.selectedSuggestionIndex = -1;
|
|
82
|
+
this.innerSuggestions = value;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The list of suggestions capped by 10 entries
|
|
86
|
+
*/
|
|
87
|
+
get cappedSuggestions() {
|
|
88
|
+
return this.innerSuggestions.slice(0, 10);
|
|
89
|
+
}
|
|
90
|
+
keyhandler(event) {
|
|
91
|
+
if (!this.cappedSuggestions || !this.cappedSuggestions.length) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// navigate inside the suggestion list
|
|
95
|
+
if (event.key === 'ArrowUp') {
|
|
96
|
+
if (this.selectedSuggestionIndex > 0) {
|
|
97
|
+
this.selectedSuggestionIndex--;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.selectedSuggestionIndex = this.cappedSuggestions.length - 1;
|
|
101
|
+
}
|
|
102
|
+
this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
|
|
103
|
+
}
|
|
104
|
+
if (event.key === 'ArrowDown') {
|
|
105
|
+
if (this.selectedSuggestionIndex >= this.cappedSuggestions.length - 1) {
|
|
106
|
+
this.selectedSuggestionIndex = 0;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.selectedSuggestionIndex++;
|
|
110
|
+
}
|
|
111
|
+
this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onClickOutside() {
|
|
115
|
+
this.hideSuggestionList = true;
|
|
116
|
+
}
|
|
117
|
+
onFocus() {
|
|
118
|
+
this.hideSuggestionList = false;
|
|
119
|
+
}
|
|
120
|
+
onInput(event) {
|
|
121
|
+
this.selectedSuggestionIndex = -1;
|
|
122
|
+
this.value = event.target.value;
|
|
123
|
+
this.fngChange.emit(this.value);
|
|
124
|
+
}
|
|
125
|
+
// also triggert on "Enter" and "Escape"
|
|
126
|
+
onSearch(event) {
|
|
127
|
+
event.stopPropagation();
|
|
128
|
+
this.selectedSuggestionIndex = -1;
|
|
129
|
+
this.fngSearch.emit(this.value);
|
|
130
|
+
this.hideSuggestionList = true;
|
|
131
|
+
this.inputRef.nativeElement.blur();
|
|
132
|
+
}
|
|
133
|
+
onSuggestionClick(suggestion) {
|
|
134
|
+
this.selectedSuggestionIndex = -1;
|
|
135
|
+
this.value = suggestion.value;
|
|
136
|
+
this.fngSearch.emit(this.value);
|
|
137
|
+
this.hideSuggestionList = true;
|
|
138
|
+
this.inputRef.nativeElement.blur();
|
|
139
|
+
}
|
|
140
|
+
clearQuery() {
|
|
141
|
+
this.selectedSuggestionIndex = -1;
|
|
142
|
+
this.value = '';
|
|
143
|
+
this.fngSearch.emit(this.value);
|
|
144
|
+
this.hideSuggestionList = true;
|
|
145
|
+
this.inputRef.nativeElement.blur();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
SearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
+
SearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SearchInputComponent, selector: "fng-search-input", inputs: { label: "label", disabled: "disabled", value: "value", suggestions: "suggestions" }, outputs: { fngChange: "fngChange", fngSearch: "fngSearch" }, host: { listeners: { "document:keydown": "keyhandler($event)" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | safeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"], directives: [{ type: i1.ClickOutsideDirective, selector: "[fngClickOutside]", outputs: ["clickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "safeHtml": i3.SafeHtmlPipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'fng-search-input', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | safeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"] }]
|
|
153
|
+
}], propDecorators: { inputRef: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: ['inputElement']
|
|
156
|
+
}], fngChange: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}], fngSearch: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], label: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], disabled: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], value: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], suggestions: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], keyhandler: [{
|
|
169
|
+
type: HostListener,
|
|
170
|
+
args: ['document:keydown', ['$event']]
|
|
171
|
+
}] } });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFFOUQsTUFBTSxPQUFPLGdCQUFnQjtJQVczQjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQXdCLEVBQUUsS0FBYTtRQUM1RCxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksUUFBUSxHQUFHLGdCQUFnQixDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ1gsTUFBTyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLENB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QUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7aUhBM0lVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGdZQzVDakMsbStCQTBCQTsyRkRrQmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJOzhCQUlyQyxRQUFRO3NCQURQLFNBQVM7dUJBQUMsY0FBYztnQkFPaEIsU0FBUztzQkFEakIsTUFBTTtnQkFPRSxTQUFTO3NCQURqQixNQUFNO2dCQU1FLEtBQUs7c0JBQWIsS0FBSztnQkFPRixRQUFRO3NCQURYLEtBQUs7Z0JBc0JGLEtBQUs7c0JBRFIsS0FBSztnQkFZRixXQUFXO3NCQURkLEtBQUs7Z0JBb0JOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hTdWdnZXN0aW9uIHtcbiAgLyoqXG4gICAqIGEgaHRtbC1zdHJpbmcuIGUuZy46ICc8Yj4gaGVsbG8gPC9iPidcbiAgICovXG4gIHRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgVmFsdWUgd2lsbCBiZSB1c2VkIGFzIG5ldyBxdWVyeSB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgdGhlIHN1Z2dlc3Rpb24uXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmFzaWMgU3VnZ2VzdGlvbiBmcm9tIGEgc3RyaW5nLiBUaGUgZmlyc3QgcXVlcnkgbWF0Y2ggaXMgaGlnaGxpZ2h0ZWQgYnkgYm9sZCB0YWdzLlxuICAgKiBAcGFyYW0gc3VnZ2VzdGlvblN0cmluZyBUaGUgc3VnZ2VzdGVkIHN0cmluZyAoc2hvdWxkIGNvbnRhaW4gdGhlIHdob2xlIHF1ZXJ5KVxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIGN1cnJlbnQgcXVlcnkuIFRoaXMgc3RyaW5nIHdpbGwgYmUgaGlnaGxpZ2h0ZWQuXG4gICAqIEByZXR1cm5zIGEgaHRtbC1zdHJpbmcuXG4gICAqL1xuICBzdGF0aWMgYmFzaWNTdWdnZXN0aW9uKHN1Z2dlc3Rpb25TdHJpbmc6IHN0cmluZywgcXVlcnk6IHN0cmluZyk6IFNlYXJjaFN1Z2dlc3Rpb24ge1xuICAgIGNvbnN0IGkgPSBzdWdnZXN0aW9uU3RyaW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICBsZXQgdGVtcGxhdGUgPSBzdWdnZXN0aW9uU3RyaW5nO1xuICAgIGlmIChpICE9IC0xKSB7XG4gICAgICBjb25zdCAgYm9sZFN0YXJ0ID0gaTtcbiAgICAgIGNvbnN0IGJvbGRFbmQgPSBpICsgcXVlcnkubGVuZ3RoO1xuICAgICAgY29uc3QgcGFydDEgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZygwLCBib2xkU3RhcnQpO1xuICAgICAgY29uc3QgcGFydDIgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZyhib2xkU3RhcnQsIGJvbGRFbmQpO1xuICAgICAgY29uc3QgcGFydDMgPSBzdWdnZXN0aW9uU3RyaW5nLnN1YnN0cmluZyhib2xkRW5kLCBzdWdnZXN0aW9uU3RyaW5nLmxlbmd0aCk7XG4gICAgICB0ZW1wbGF0ZSA9IHBhcnQxICsgJzxiPicgKyBwYXJ0MiArICc8L2I+JyArIHBhcnQzO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogc3VnZ2VzdGlvblN0cmluZywgdGVtcGxhdGUgfTtcbiAgfVxufVxuXG4vKipcbiAqIEEgY3VzdG9tIGZvcm0gZWxlbWVudCBmb3Igc2VhcmNoIGlucHV0cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hJbnB1dENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gIGlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvKipcbiAgICogdGhlIHF1ZXJycnkgd2FzIGNoYW5nZWQsIHVwZGF0ZSB0aGUgc3VnZ2V0aW9uIGxpc3RcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU3RhcnQgc2VhcmNoIG9uIHRoaXMgZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBpbnB1dCBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlbiB0cnVlIHRoZSBjb250cm9sJ3MgZGlzYWJsZWQgYXR0cmlidXRlIGlzIHNldFxuICAgKiBhbmQgaXQgZ2V0cyBhZGRlZWQgdGhlIC5kaXNhYmxlZCBjc3MgY2xhc3MuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJEaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlubmVyRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBpbm5lckRpc2FibGVkID0gZmFsc2U7XG5cbiAgaW5uZXJWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBnZXR0ZXIgZm9yIHZhbHVlLlxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGVyIGZvciB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHZhbHVlID0gJycgKyB2YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogU2VhcmNoU3VnZ2VzdGlvbltdKSB7XG4gICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuICAgIHRoaXMuaW5uZXJTdWdnZXN0aW9ucyA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zIGNhcHBlZCBieSAxMCBlbnRyaWVzXG4gICAqL1xuICBnZXQgY2FwcGVkU3VnZ2VzdGlvbnMoKTogU2VhcmNoU3VnZ2VzdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclN1Z2dlc3Rpb25zLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIGlubmVyU3VnZ2VzdGlvbnM6IFNlYXJjaFN1Z2dlc3Rpb25bXSA9IFtdO1xuICBoaWRlU3VnZ2VzdGlvbkxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUaGlzIGlzIHRoZSBpbmRleCBvZiB0aGUgc2VsZWN0ZWQgZWxlbWVudCBpbiBkaGUgc3VnZ2VzdGlvbiBsaXN0LlxuICBzZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBrZXloYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zIHx8ICF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIG5hdmlnYXRlIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBsaXN0XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleC0tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IHRoaXMuY2FwcGVkU3VnZ2VzdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zW3RoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXhdLnZhbHVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+PSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4Kys7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jYXBwZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4XS52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWdnZXN0aW9uTGlzdCA9IHRydWU7XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gZmFsc2U7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmZuZ0NoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gYWxzbyB0cmlnZ2VydCBvbiBcIkVudGVyXCIgYW5kIFwiRXNjYXBlXCJcbiAgb25TZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgb25TdWdnZXN0aW9uQ2xpY2soc3VnZ2VzdGlvbjogU2VhcmNoU3VnZ2VzdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLnZhbHVlID0gc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgY2xlYXJRdWVyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZm5nU2VhcmNoLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5oaWRlU3VnZ2VzdGlvbkxpc3QgPSB0cnVlO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLWlucHV0IGZ3ZS13LTEwMFwiIChjbGlja091dHNpZGUpPVwib25DbGlja091dHNpZGUoKVwiIGZuZ0NsaWNrT3V0c2lkZT5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJmd2Utdy0xMDBcIlxuICAgICNpbnB1dEVsZW1lbnRcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAoc2VhcmNoKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJpbm5lclZhbHVlXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zZWFyY2gtaWNvblwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLWNsZWFyLWljb25cIiAoY2xpY2spPVwiY2xlYXJRdWVyeSgpXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLXN1Z2dlc3Rpb25zXCIgKm5nSWY9XCJpbm5lclN1Z2dlc3Rpb25zPy5sZW5ndGggJiYgIWhpZGVTdWdnZXN0aW9uTGlzdFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIGNhcHBlZFN1Z2dlc3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIChjbGljayk9XCJvblN1Z2dlc3Rpb25DbGljayhzdWdnZXN0aW9uKVwiXG4gICAgICBbY2xhc3MuZndlLXNlbGVjdGVkXT1cInNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID09PSBpXCJcbiAgICAgIGNsYXNzPVwiZndlLXNlYXJjaC1zdWdnZXN0aW9uXCJcbiAgICA+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic3VnZ2VzdGlvbi50ZW1wbGF0ZSB8IHNhZmVIdG1sXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tbC14eHNcIiAqbmdJZj1cImlubmVyU3VnZ2VzdGlvbnMubGVuZ3RoID4gMTBcIj4uLi48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./snackbar-container.directive";
|
|
4
|
+
export class SnackbarContainerComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.config = {
|
|
7
|
+
darkBackground: true,
|
|
8
|
+
disappearAfter: 5000,
|
|
9
|
+
closeOnAction: true
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SnackbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
SnackbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SnackbarContainerComponent, selector: "fng-snackbar-container", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"], directives: [{ type: i1.SnackbarContainerDirective, selector: "[fngSnackbarContainer]", inputs: ["fngSnackbarContainer"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'fng-snackbar-container', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"] }]
|
|
18
|
+
}], propDecorators: { config: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTcEUsTUFBTSxPQUFPLDBCQUEwQjtJQU52QztRQU9XLFdBQU0sR0FBbUI7WUFDaEMsY0FBYyxFQUFFLElBQUk7WUFDcEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQztLQUNIOzt1SEFOWSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw0RkNUdkMsbUdBR0E7MkZETWEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi9zbmFja2Jhci5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctc25hY2tiYXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBTbmFja2JhckNvbmZpZyA9IHtcbiAgICBkYXJrQmFja2dyb3VuZDogdHJ1ZSxcbiAgICBkaXNhcHBlYXJBZnRlcjogNTAwMCxcbiAgICBjbG9zZU9uQWN0aW9uOiB0cnVlXG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLXNuYWNrYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IFtmbmdTbmFja2JhckNvbnRhaW5lcl09XCJjb25maWdcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { SnackbarComponent } from './snackbar.component';
|
|
5
|
+
import { SnackbarService } from './snackbar.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./snackbar.service";
|
|
8
|
+
export class SnackbarContainerDirective {
|
|
9
|
+
constructor(viewContainerRef, componentFactoryResolver, snackbarService) {
|
|
10
|
+
this.viewContainerRef = viewContainerRef;
|
|
11
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
12
|
+
this.snackbarService = snackbarService;
|
|
13
|
+
this.snacks = [];
|
|
14
|
+
this.factory = this.componentFactoryResolver.resolveComponentFactory(SnackbarComponent);
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.snacksSub = this.snackbarService.snacks$.subscribe(SnackDescription => this.push(SnackDescription));
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
if (this.snacks != null && this.snacks.length > 0) {
|
|
21
|
+
this.snacks.forEach(snack => {
|
|
22
|
+
snack.complete.next(true);
|
|
23
|
+
snack.complete.complete();
|
|
24
|
+
snack.complete.unsubscribe();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (this.snacksSub != null) {
|
|
28
|
+
this.snacksSub.unsubscribe();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
push(snackDescription) {
|
|
32
|
+
const complete = new Subject();
|
|
33
|
+
const componentRef = this.viewContainerRef.createComponent(this.factory, 0);
|
|
34
|
+
const componentInstance = componentRef.instance;
|
|
35
|
+
componentInstance.data = { ...this.fngSnackbarContainer, ...snackDescription.data };
|
|
36
|
+
componentInstance.animationState = this.snacks.length === 0 ? 'first' : 'fadeIn';
|
|
37
|
+
const snackbarRef = { componentRef, complete };
|
|
38
|
+
componentInstance.close.pipe(takeUntil(complete)).subscribe(() => {
|
|
39
|
+
this.remove(snackbarRef);
|
|
40
|
+
if (snackDescription.closeCallback) {
|
|
41
|
+
snackDescription.closeCallback();
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
componentInstance.action.pipe(takeUntil(complete)).subscribe(() => {
|
|
45
|
+
if (componentInstance.data.closeOnAction) {
|
|
46
|
+
this.remove(snackbarRef);
|
|
47
|
+
}
|
|
48
|
+
if (snackDescription.actionCallback) {
|
|
49
|
+
snackDescription.actionCallback();
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.snacks.push(snackbarRef);
|
|
53
|
+
snackDescription.resolve(snackbarRef.componentRef);
|
|
54
|
+
}
|
|
55
|
+
remove(snackbarRef) {
|
|
56
|
+
const index = this.snacks.indexOf(snackbarRef);
|
|
57
|
+
if (index !== -1) {
|
|
58
|
+
const deletedSnackbarRef = this.snacks.splice(index, 1);
|
|
59
|
+
if (deletedSnackbarRef != null && deletedSnackbarRef.length > 0) {
|
|
60
|
+
const deletedSnackbar = deletedSnackbarRef[0];
|
|
61
|
+
if (deletedSnackbar.complete != null) {
|
|
62
|
+
deletedSnackbar.complete.next(true);
|
|
63
|
+
deletedSnackbar.complete.complete();
|
|
64
|
+
deletedSnackbar.complete.unsubscribe();
|
|
65
|
+
}
|
|
66
|
+
if (deletedSnackbar.componentRef != null) {
|
|
67
|
+
deletedSnackbar.componentRef.destroy();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
SnackbarContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i1.SnackbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
SnackbarContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: SnackbarContainerDirective, selector: "[fngSnackbarContainer]", inputs: { fngSnackbarContainer: "fngSnackbarContainer" }, ngImport: i0 });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarContainerDirective, decorators: [{
|
|
76
|
+
type: Directive,
|
|
77
|
+
args: [{
|
|
78
|
+
selector: '[fngSnackbarContainer]'
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.SnackbarService }]; }, propDecorators: { fngSnackbarContainer: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}] } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsd0JBQXdCLEVBRXhCLFNBQVMsRUFDVCxLQUFLLEVBR0wsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG9CQUFvQixDQUFDOzs7QUFVdkUsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQyxZQUNVLGdCQUFrQyxFQUNsQyx3QkFBa0QsRUFDbEQsZUFBZ0M7UUFGaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVJsQyxXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQVVqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJ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LFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLGVBQWUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BDLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3hDO2dCQUNELElBQUksZUFBZSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7b0JBQ3hDLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRjtJQUNILENBQUM7O3VIQTFFVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzRLQUVVLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbmFja2JhckNvbmZpZyB9IGZyb20gJy4vc25hY2tiYXIubW9kZWxzJztcbmltcG9ydCB7IFNuYWNrYmFyU2VydmljZSwgU25hY2tEZXNjcmlwdGlvbiB9IGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XG5cbmludGVyZmFjZSBTbmFja2JhclJlZiB7XG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFNuYWNrYmFyQ29tcG9uZW50PjtcbiAgY29tcGxldGU6IFN1YmplY3Q8Ym9vbGVhbj47XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmbmdTbmFja2JhckNvbnRhaW5lcl0nXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29udGFpbmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBASW5wdXQoKSBmbmdTbmFja2JhckNvbnRhaW5lcjogU25hY2tiYXJDb25maWc7XG5cbiAgcHJpdmF0ZSBzbmFja3M6IFNuYWNrYmFyUmVmW10gPSBbXTtcblxuICBwcml2YXRlIHNuYWNrc1N1YjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8U25hY2tiYXJDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgc25hY2tiYXJTZXJ2aWNlOiBTbmFja2JhclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU25hY2tiYXJDb21wb25lbnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zbmFja3NTdWIgPSB0aGlzLnNuYWNrYmFyU2VydmljZS5zbmFja3MkLnN1YnNjcmliZShTbmFja0Rlc2NyaXB0aW9uID0+IHRoaXMucHVzaChTbmFja0Rlc2NyaXB0aW9uKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zbmFja3MgIT0gbnVsbCAmJiB0aGlzLnNuYWNrcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNuYWNrcy5mb3JFYWNoKHNuYWNrID0+IHtcbiAgICAgICAgc25hY2suY29tcGxldGUubmV4dCh0cnVlKTtcbiAgICAgICAgc25hY2suY29tcGxldGUuY29tcGxldGUoKTtcbiAgICAgICAgc25hY2suY29tcGxldGUudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5zbmFja3NTdWIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zbmFja3NTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHB1c2goc25hY2tEZXNjcmlwdGlvbjogU25hY2tEZXNjcmlwdGlvbikge1xuICAgIGNvbnN0IGNvbXBsZXRlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuZmFjdG9yeSwgMCk7XG4gICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IHsgLi4udGhpcy5mbmdTbmFja2JhckNvbnRhaW5lciwgLi4uc25hY2tEZXNjcmlwdGlvbi5kYXRhIH07XG4gICAgY29tcG9uZW50SW5zdGFuY2UuYW5pbWF0aW9uU3RhdGUgPSB0aGlzLnNuYWNrcy5sZW5ndGggPT09IDAgPyAnZmlyc3QnIDogJ2ZhZGVJbic7XG4gICAgY29uc3Qgc25hY2tiYXJSZWYgPSB7IGNvbXBvbmVudFJlZiwgY29tcGxldGUgfTtcbiAgICBjb21wb25lbnRJbnN0YW5jZS5jbG9zZS5waXBlKHRha2VVbnRpbChjb21wbGV0ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZShzbmFja2JhclJlZik7XG4gICAgICBpZiAoc25hY2tEZXNjcmlwdGlvbi5jbG9zZUNhbGxiYWNrKSB7XG4gICAgICAgIHNuYWNrRGVzY3JpcHRpb24uY2xvc2VDYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbXBvbmVudEluc3RhbmNlLmFjdGlvbi5waXBlKHRha2VVbnRpbChjb21wbGV0ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAoY29tcG9uZW50SW5zdGFuY2UuZGF0YS5jbG9zZU9uQWN0aW9uKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKHNuYWNrYmFyUmVmKTtcbiAgICAgIH1cbiAgICAgIGlmIChzbmFja0Rlc2NyaXB0aW9uLmFjdGlvbkNhbGxiYWNrKSB7XG4gICAgICAgIHNuYWNrRGVzY3JpcHRpb24uYWN0aW9uQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNuYWNrcy5wdXNoKHNuYWNrYmFyUmVmKTtcbiAgICBzbmFja0Rlc2NyaXB0aW9uLnJlc29sdmUoc25hY2tiYXJSZWYuY29tcG9uZW50UmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlKHNuYWNrYmFyUmVmOiBTbmFja2JhclJlZikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zbmFja3MuaW5kZXhPZihzbmFja2JhclJlZik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3QgZGVsZXRlZFNuYWNrYmFyUmVmID0gdGhpcy5zbmFja3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIGlmIChkZWxldGVkU25hY2tiYXJSZWYgIT0gbnVsbCAmJiBkZWxldGVkU25hY2tiYXJSZWYubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBkZWxldGVkU25hY2tiYXIgPSBkZWxldGVkU25hY2tiYXJSZWZbMF07XG4gICAgICAgIGlmIChkZWxldGVkU25hY2tiYXIuY29tcGxldGUgIT0gbnVsbCkge1xuICAgICAgICAgIGRlbGV0ZWRTbmFja2Jhci5jb21wbGV0ZS5uZXh0KHRydWUpO1xuICAgICAgICAgIGRlbGV0ZWRTbmFja2Jhci5jb21wbGV0ZS5jb21wbGV0ZSgpO1xuICAgICAgICAgIGRlbGV0ZWRTbmFja2Jhci5jb21wbGV0ZS51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWxldGVkU25hY2tiYXIuY29tcG9uZW50UmVmICE9IG51bGwpIHtcbiAgICAgICAgICBkZWxldGVkU25hY2tiYXIuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { animate, sequence, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class SnackbarComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.close = new EventEmitter();
|
|
8
|
+
this.action = new EventEmitter();
|
|
9
|
+
this.blockDisplay = 'block';
|
|
10
|
+
this.animationState = 'init';
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (this.data && this.data.disappearAfter) {
|
|
14
|
+
this.timeout = setTimeout(() => this.onClose(), this.data.disappearAfter);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
if (this.timeout) {
|
|
19
|
+
clearTimeout(this.timeout);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
onAction() {
|
|
23
|
+
this.action.emit();
|
|
24
|
+
}
|
|
25
|
+
onClose() {
|
|
26
|
+
this.close.emit();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
SnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
SnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SnackbarComponent, selector: "fng-snackbar", inputs: { data: "data" }, outputs: { close: "close", action: "action" }, host: { properties: { "style.display": "this.blockDisplay", "@appearDisappear": "this.animationState" } }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'fwe-snackbar': true,\n 'fwe-snackbar-b': data?.variant === 'b',\n 'fwe-snackbar-c': data?.variant === 'c',\n 'fwe-snackbar-warning': data?.type === 'warning',\n 'fwe-snackbar-error': data?.type === 'error',\n 'fwe-snackbar-shadow': data?.darkBackground\n }\"\n>\n <i\n *ngIf=\"data?.type\"\n aria-hidden=\"true\"\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-info': data?.type === 'info',\n 'fwe-icon-status-warning': data?.type === 'warning',\n 'fwe-icon-status-failure': data?.type === 'error'\n }\"\n ></i>\n <span>{{ data?.text }}</span>\n <button *ngIf=\"data?.action\" aria-label=\"UserAction\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onAction()\">\n {{ data?.action }}\n </button>\n <button *ngIf=\"data?.showClose\" aria-label=\"Close\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n</div>\n", styles: [".fwe-snackbar{pointer-events:all}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
31
|
+
trigger('appearDisappear', [
|
|
32
|
+
state('init', style({ opacity: 0 })),
|
|
33
|
+
state('first', style({
|
|
34
|
+
opacity: 1,
|
|
35
|
+
transform: 'translateY(0)'
|
|
36
|
+
})),
|
|
37
|
+
state('fadeIn', style({ opacity: '1' })),
|
|
38
|
+
transition('void => fadeIn', [style({ opacity: 0 }), animate('0.6s ease-out')]),
|
|
39
|
+
transition('void => first', [style({ transform: 'translateY(100px)' }), animate('0.6s ease-out')]),
|
|
40
|
+
transition(':leave', sequence([
|
|
41
|
+
style({ 'margin-bottom': '24px' }),
|
|
42
|
+
animate('0.3s ease-out', style({ opacity: 0 })),
|
|
43
|
+
animate('0.3s ease-out', style({ height: '0px', 'margin-bottom': '0px' }))
|
|
44
|
+
]))
|
|
45
|
+
])
|
|
46
|
+
], encapsulation: i0.ViewEncapsulation.None });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarComponent, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{ selector: 'fng-snackbar', encapsulation: ViewEncapsulation.None, animations: [
|
|
50
|
+
trigger('appearDisappear', [
|
|
51
|
+
state('init', style({ opacity: 0 })),
|
|
52
|
+
state('first', style({
|
|
53
|
+
opacity: 1,
|
|
54
|
+
transform: 'translateY(0)'
|
|
55
|
+
})),
|
|
56
|
+
state('fadeIn', style({ opacity: '1' })),
|
|
57
|
+
transition('void => fadeIn', [style({ opacity: 0 }), animate('0.6s ease-out')]),
|
|
58
|
+
transition('void => first', [style({ transform: 'translateY(100px)' }), animate('0.6s ease-out')]),
|
|
59
|
+
transition(':leave', sequence([
|
|
60
|
+
style({ 'margin-bottom': '24px' }),
|
|
61
|
+
animate('0.3s ease-out', style({ opacity: 0 })),
|
|
62
|
+
animate('0.3s ease-out', style({ height: '0px', 'margin-bottom': '0px' }))
|
|
63
|
+
]))
|
|
64
|
+
])
|
|
65
|
+
], template: "<div\n [ngClass]=\"{\n 'fwe-snackbar': true,\n 'fwe-snackbar-b': data?.variant === 'b',\n 'fwe-snackbar-c': data?.variant === 'c',\n 'fwe-snackbar-warning': data?.type === 'warning',\n 'fwe-snackbar-error': data?.type === 'error',\n 'fwe-snackbar-shadow': data?.darkBackground\n }\"\n>\n <i\n *ngIf=\"data?.type\"\n aria-hidden=\"true\"\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-info': data?.type === 'info',\n 'fwe-icon-status-warning': data?.type === 'warning',\n 'fwe-icon-status-failure': data?.type === 'error'\n }\"\n ></i>\n <span>{{ data?.text }}</span>\n <button *ngIf=\"data?.action\" aria-label=\"UserAction\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onAction()\">\n {{ data?.action }}\n </button>\n <button *ngIf=\"data?.showClose\" aria-label=\"Close\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n</div>\n", styles: [".fwe-snackbar{pointer-events:all}\n"] }]
|
|
66
|
+
}], propDecorators: { data: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], close: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], action: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}], blockDisplay: [{
|
|
73
|
+
type: HostBinding,
|
|
74
|
+
args: ['style.display']
|
|
75
|
+
}], animationState: [{
|
|
76
|
+
type: HostBinding,
|
|
77
|
+
args: ['@appearDisappear']
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBZ0MzRixNQUFNLE9BQU8saUJBQWlCO0lBN0I5QjtRQStCWSxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNoQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUViLGlCQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLG1CQUFjLEdBQWdDLE1BQU0sQ0FBQztLQXVCdkY7SUFuQkMsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7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QkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUV1QixZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0ssY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHNlcXVlbmNlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IFNuYWNrYmFyRGF0YSB9IGZyb20gJy4vc25hY2tiYXIubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXNuYWNrYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2FwcGVhckRpc2FwcGVhcicsIFtcbiAgICAgIHN0YXRlKCdpbml0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnZmlyc3QnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKCdmYWRlSW4nLCBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZhZGVJbicsIFtzdHlsZSh7IG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJzAuNnMgZWFzZS1vdXQnKV0pLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBmaXJzdCcsIFtzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwcHgpJyB9KSwgYW5pbWF0ZSgnMC42cyBlYXNlLW91dCcpXSksXG4gICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgc2VxdWVuY2UoW1xuICAgICAgICAgIHN0eWxlKHsgJ21hcmdpbi1ib3R0b20nOiAnMjRweCcgfSksXG4gICAgICAgICAgYW5pbWF0ZSgnMC4zcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXG4gICAgICAgICAgYW5pbWF0ZSgnMC4zcyBlYXNlLW91dCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JywgJ21hcmdpbi1ib3R0b20nOiAnMHB4JyB9KSlcbiAgICAgICAgXSlcbiAgICAgIClcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YTogU25hY2tiYXJEYXRhO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGJsb2NrRGlzcGxheSA9ICdibG9jayc7XG4gIEBIb3N0QmluZGluZygnQGFwcGVhckRpc2FwcGVhcicpIGFuaW1hdGlvblN0YXRlOiAnaW5pdCcgfCAnZmlyc3QnIHwgJ2ZhZGVJbicgPSAnaW5pdCc7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0OiBhbnk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmRpc2FwcGVhckFmdGVyKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25DbG9zZSgpLCB0aGlzLmRhdGEuZGlzYXBwZWFyQWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uKCkge1xuICAgIHRoaXMuYWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwie1xuICAgICdmd2Utc25hY2tiYXInOiB0cnVlLFxuICAgICdmd2Utc25hY2tiYXItYic6IGRhdGE/LnZhcmlhbnQgPT09ICdiJyxcbiAgICAnZndlLXNuYWNrYmFyLWMnOiBkYXRhPy52YXJpYW50ID09PSAnYycsXG4gICAgJ2Z3ZS1zbmFja2Jhci13YXJuaW5nJzogZGF0YT8udHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICdmd2Utc25hY2tiYXItZXJyb3InOiBkYXRhPy50eXBlID09PSAnZXJyb3InLFxuICAgICdmd2Utc25hY2tiYXItc2hhZG93JzogZGF0YT8uZGFya0JhY2tncm91bmRcbiAgfVwiXG4+XG4gIDxpXG4gICAgKm5nSWY9XCJkYXRhPy50eXBlXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdmd2UtaWNvbic6IHRydWUsXG4gICAgICAnZndlLWljb24tc3RhdHVzLWluZm8nOiBkYXRhPy50eXBlID09PSAnaW5mbycsXG4gICAgICAnZndlLWljb24tc3RhdHVzLXdhcm5pbmcnOiBkYXRhPy50eXBlID09PSAnd2FybmluZycsXG4gICAgICAnZndlLWljb24tc3RhdHVzLWZhaWx1cmUnOiBkYXRhPy50eXBlID09PSAnZXJyb3InXG4gICAgfVwiXG4gID48L2k+XG4gIDxzcGFuPnt7IGRhdGE/LnRleHQgfX08L3NwYW4+XG4gIDxidXR0b24gKm5nSWY9XCJkYXRhPy5hY3Rpb25cIiBhcmlhLWxhYmVsPVwiVXNlckFjdGlvblwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1saW5rXCIgKGNsaWNrKT1cIm9uQWN0aW9uKClcIj5cbiAgICB7eyBkYXRhPy5hY3Rpb24gfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJkYXRhPy5zaG93Q2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGlua1wiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLWNsb3NlLXNtYWxsXCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwiZndlLXNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJDb25maWcge1xuICB0eXBlPzogJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcbiAgdmFyaWFudD86ICdhJyB8ICdiJyB8ICdjJztcbiAgZGFya0JhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Q2xvc2U/OiBib29sZWFuO1xuICBhY3Rpb24/OiBzdHJpbmc7XG4gIGRpc2FwcGVhckFmdGVyPzogbnVtYmVyO1xuICBjbG9zZU9uQWN0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbmFja2JhckRhdGEgZXh0ZW5kcyBTbmFja2JhckNvbmZpZyB7XG4gIHRleHQ6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SnackbarComponent } from './snackbar.component';
|
|
4
|
+
import { SnackbarContainerDirective } from './snackbar-container.directive';
|
|
5
|
+
import { SnackbarContainerComponent } from './snackbar-container.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export * from './snackbar.models';
|
|
8
|
+
export * from './snackbar.component';
|
|
9
|
+
export * from './snackbar-container.component';
|
|
10
|
+
export * from './snackbar-container.directive';
|
|
11
|
+
export class FestoAngularSnackbarModule {
|
|
12
|
+
}
|
|
13
|
+
FestoAngularSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
FestoAngularSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularSnackbarModule, bootstrap: [SnackbarComponent], declarations: [SnackbarComponent, SnackbarContainerDirective, SnackbarContainerComponent], imports: [CommonModule], exports: [SnackbarContainerComponent, SnackbarContainerDirective, SnackbarContainerComponent] });
|
|
15
|
+
FestoAngularSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularSnackbarModule, providers: [], imports: [[CommonModule]] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularSnackbarModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [SnackbarComponent, SnackbarContainerDirective, SnackbarContainerComponent],
|
|
20
|
+
imports: [CommonModule],
|
|
21
|
+
exports: [SnackbarContainerComponent, SnackbarContainerDirective, SnackbarContainerComponent],
|
|
22
|
+
providers: [],
|
|
23
|
+
bootstrap: [SnackbarComponent]
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRTVFLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFTL0MsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGNBRnpCLGlCQUFpQixrQkFKZCxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsYUFDOUUsWUFBWSxhQUNaLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQjt3SEFJakYsMEJBQTBCLGFBSDFCLEVBQUUsWUFGSixDQUFDLFlBQVksQ0FBQzsyRkFLWiwwQkFBMEI7a0JBUHRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUM7b0JBQ3pGLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUM7b0JBQzdGLFNBQVMsRUFBRSxFQUFFO29CQUNiLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNuYWNrYmFyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NuYWNrYmFyQ29tcG9uZW50LCBTbmFja2JhckNvbnRhaW5lckRpcmVjdGl2ZSwgU25hY2tiYXJDb250YWluZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50LCBTbmFja2JhckNvbnRhaW5lckRpcmVjdGl2ZSwgU25hY2tiYXJDb250YWluZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdLFxuICBib290c3RyYXA6IFtTbmFja2JhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRmVzdG9Bbmd1bGFyU25hY2tiYXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SnackbarService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.snacks = new Subject();
|
|
7
|
+
this.snacks$ = this.snacks.asObservable();
|
|
8
|
+
}
|
|
9
|
+
snack(data, actionCallback, closeCallback) {
|
|
10
|
+
return new Promise(resolve => {
|
|
11
|
+
this.snacks.next({ data, actionCallback, closeCallback, resolve });
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
SnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarService, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SnackbarService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{
|
|
20
|
+
providedIn: 'root'
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: function () { return []; } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBYTNDLE1BQU0sT0FBTyxlQUFlO0lBSzFCO1FBRlEsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO1FBRy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWtCLEVBQUUsY0FBMkIsRUFBRSxhQUEwQjtRQUMvRSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQWJVLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTbmFja2JhckRhdGEgfSBmcm9tICcuL3NuYWNrYmFyLm1vZGVscyc7XG5cbmV4cG9ydCB0eXBlIFNuYWNrRGVzY3JpcHRpb24gPSB7XG4gIGRhdGE6IFNuYWNrYmFyRGF0YTtcbiAgYWN0aW9uQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBjbG9zZUNhbGxiYWNrPzogKCkgPT4gdm9pZDtcbiAgcmVzb2x2ZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkO1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU25hY2tiYXJTZXJ2aWNlIHtcbiAgc25hY2tzJDogT2JzZXJ2YWJsZTxTbmFja0Rlc2NyaXB0aW9uPjtcblxuICBwcml2YXRlIHNuYWNrcyA9IG5ldyBTdWJqZWN0PFNuYWNrRGVzY3JpcHRpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zbmFja3MkID0gdGhpcy5zbmFja3MuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzbmFjayhkYXRhOiBTbmFja2JhckRhdGEsIGFjdGlvbkNhbGxiYWNrPzogKCkgPT4gdm9pZCwgY2xvc2VDYWxsYmFjaz86ICgpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICB0aGlzLnNuYWNrcy5uZXh0KHsgZGF0YSwgYWN0aW9uQ2FsbGJhY2ssIGNsb3NlQ2FsbGJhY2ssIHJlc29sdmUgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class StepHorizontalComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.isActive = false;
|
|
6
|
+
this.title = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
StepHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StepHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
StepHorizontalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: StepHorizontalComponent, selector: "fng-step-horizontal", inputs: { isActive: "isActive", title: "title" }, ngImport: i0, template: "<div class=\"overflow-hidden\" [class.hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.hidden{display:none}\n"] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StepHorizontalComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'fng-step-horizontal', template: "<div class=\"overflow-hidden\" [class.hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.hidden{display:none}\n"] }]
|
|
14
|
+
}], propDecorators: { isActive: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], title: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHBlci1ob3Jpem9udGFsL3N0ZXAtaG9yaXpvbnRhbC9zdGVwLWhvcml6b250YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zdGVwcGVyLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsL3N0ZXAtaG9yaXpvbnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsVUFBSyxHQUFXLEVBQUUsQ0FBQztLQUM3Qjs7b0hBSlksdUJBQXVCO3dHQUF2Qix1QkFBdUIsNkdDUHBDLHlKQUtBOzJGREVhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBS3RCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctc3RlcC1ob3Jpem9udGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXAtaG9yaXpvbnRhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0ZXAtaG9yaXpvbnRhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBIb3Jpem9udGFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG59XG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCIgW2NsYXNzLmhpZGRlbl09XCIhaXNBY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1tb3ZpbmctY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, ContentChildren, EventEmitter, Input, Output, QueryList } from '@angular/core';
|
|
2
|
+
import { delay } from 'rxjs/operators';
|
|
3
|
+
import { StepHorizontalComponent } from './step-horizontal/step-horizontal.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class StepperHorizontalComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.stepIndex = 0;
|
|
9
|
+
this.stepIndexChange = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
ngOnChanges() {
|
|
12
|
+
this.updateStepComponents();
|
|
13
|
+
}
|
|
14
|
+
updateStepComponents() {
|
|
15
|
+
if (this.stepIndex > -1 && this.stepComponents?.length > this.stepIndex) {
|
|
16
|
+
this.stepComponents.forEach((s, i) => {
|
|
17
|
+
s.isActive = i == this.stepIndex;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ngAfterContentInit() {
|
|
22
|
+
if (!this.stepComponents) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.stepComponents.changes.pipe(delay(0)).subscribe(() => {
|
|
26
|
+
this.updateStepComponents();
|
|
27
|
+
});
|
|
28
|
+
this.updateStepComponents();
|
|
29
|
+
}
|
|
30
|
+
onStepClick(index) {
|
|
31
|
+
if (this.stepIndex > index) {
|
|
32
|
+
this.stepIndex = index;
|
|
33
|
+
this.updateStepComponents();
|
|
34
|
+
this.stepIndexChange?.emit(index);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
StepperHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StepperHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
StepperHorizontalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: StepperHorizontalComponent, selector: "fng-stepper-horizontal", inputs: { stepIndex: "stepIndex" }, outputs: { stepIndexChange: "stepIndexChange" }, queries: [{ propertyName: "stepComponents", predicate: StepHorizontalComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fwe-stepper-horizontal\">\n <div\n *ngFor=\"let step of stepComponents; index as i\"\n class=\"fwe-step-container\"\n (click)=\"onStepClick(i)\"\n [class.fwe-step-done]=\"stepIndex > i\"\n [class.fwe-step-active]=\"i === stepIndex\"\n >\n <div class=\"fwe-step\">\n <div class=\"fwe-step-no\">{{ i + 1 }}</div>\n <div class=\"fwe-step-name\">{{ step.title }}</div>\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StepperHorizontalComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'fng-stepper-horizontal', template: "<div class=\"fwe-stepper-horizontal\">\n <div\n *ngFor=\"let step of stepComponents; index as i\"\n class=\"fwe-step-container\"\n (click)=\"onStepClick(i)\"\n [class.fwe-step-done]=\"stepIndex > i\"\n [class.fwe-step-active]=\"i === stepIndex\"\n >\n <div class=\"fwe-step\">\n <div class=\"fwe-step-no\">{{ i + 1 }}</div>\n <div class=\"fwe-step-name\">{{ step.title }}</div>\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n" }]
|
|
43
|
+
}], propDecorators: { stepComponents: [{
|
|
44
|
+
type: ContentChildren,
|
|
45
|
+
args: [StepHorizontalComponent]
|
|
46
|
+
}], stepIndex: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], stepIndexChange: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1ob3Jpem9udGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHBlci1ob3Jpem9udGFsL3N0ZXBwZXItaG9yaXpvbnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXItaG9yaXpvbnRhbC9zdGVwcGVyLWhvcml6b250YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQU10RixNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBT1csY0FBUyxHQUFXLENBQUMsQ0FBQztRQUNyQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0ErQnhEO0lBN0JDLFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDOzt1SEFsQ1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsa0xBQ3BCLHVCQUF1QixrRENUMUMsc2RBZ0JBOzJGRFJhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx3QkFBd0I7OEJBSVEsY0FBYztzQkFBdkQsZUFBZTt1QkFBQyx1QkFBdUI7Z0JBRS9CLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0ZXBIb3Jpem9udGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZuZy1zdGVwcGVyLWhvcml6b250YWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci1ob3Jpem9udGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVySG9yaXpvbnRhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gIEBDb250ZW50Q2hpbGRyZW4oU3RlcEhvcml6b250YWxDb21wb25lbnQpIHN0ZXBDb21wb25lbnRzITogUXVlcnlMaXN0PFN0ZXBIb3Jpem9udGFsQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBzdGVwSW5kZXg6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKSBzdGVwSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnVwZGF0ZVN0ZXBDb21wb25lbnRzKCk7XG4gIH1cblxuICB1cGRhdGVTdGVwQ29tcG9uZW50cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGVwSW5kZXggPiAtMSAmJiB0aGlzLnN0ZXBDb21wb25lbnRzPy5sZW5ndGggPiB0aGlzLnN0ZXBJbmRleCkge1xuICAgICAgdGhpcy5zdGVwQ29tcG9uZW50cy5mb3JFYWNoKChzLCBpKSA9PiB7XG4gICAgICAgIHMuaXNBY3RpdmUgPSBpID09IHRoaXMuc3RlcEluZGV4O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGVwQ29tcG9uZW50cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0ZXBDb21wb25lbnRzLmNoYW5nZXMucGlwZShkZWxheSgwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3RlcENvbXBvbmVudHMoKTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZVN0ZXBDb21wb25lbnRzKCk7XG4gIH1cblxuICBvblN0ZXBDbGljayhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc3RlcEluZGV4ID4gaW5kZXgpIHtcbiAgICAgIHRoaXMuc3RlcEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLnVwZGF0ZVN0ZXBDb21wb25lbnRzKCk7XG4gICAgICB0aGlzLnN0ZXBJbmRleENoYW5nZT8uZW1pdChpbmRleCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLXN0ZXBwZXItaG9yaXpvbnRhbFwiPlxuICA8ZGl2XG4gICAgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcENvbXBvbmVudHM7IGluZGV4IGFzIGlcIlxuICAgIGNsYXNzPVwiZndlLXN0ZXAtY29udGFpbmVyXCJcbiAgICAoY2xpY2spPVwib25TdGVwQ2xpY2soaSlcIlxuICAgIFtjbGFzcy5md2Utc3RlcC1kb25lXT1cInN0ZXBJbmRleCA+IGlcIlxuICAgIFtjbGFzcy5md2Utc3RlcC1hY3RpdmVdPVwiaSA9PT0gc3RlcEluZGV4XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmd2Utc3RlcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS1zdGVwLW5vXCI+e3sgaSArIDEgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmd2Utc3RlcC1uYW1lXCI+e3sgc3RlcC50aXRsZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|