@evotor-dev/ui-kit 7.3.0 → 8.0.0-beta.10
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/{esm2020 → esm2022}/lib/common/collection/evo-collection-fabric.mjs +1 -1
- package/esm2022/lib/common/evo-base-control.mjs +46 -0
- package/esm2022/lib/common/form-helper/form-helper.mjs +31 -0
- package/esm2022/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.mjs +5 -5
- package/esm2022/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +57 -0
- package/{esm2020 → esm2022}/lib/components/evo-accordion/evo-accordion.component.mjs +5 -5
- package/esm2022/lib/components/evo-accordion/evo-accordion.module.mjs +64 -0
- package/esm2022/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +358 -0
- package/esm2022/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +43 -0
- package/esm2022/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +56 -0
- package/esm2022/lib/components/evo-autocomplete/models/DaDataParty.mjs +28 -0
- package/esm2022/lib/components/evo-badge/evo-badge.component.mjs +40 -0
- package/esm2022/lib/components/evo-badge/evo-badge.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/evo-button/components/evo-button/evo-button.component.mjs +16 -16
- package/esm2022/lib/components/evo-button/evo-button.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/evo-button/public-api.mjs +1 -2
- package/esm2022/lib/components/evo-checkbox/evo-checkbox.component.mjs +86 -0
- package/esm2022/lib/components/evo-checkbox/evo-checkbox.module.mjs +32 -0
- package/esm2022/lib/components/evo-chip/evo-chip.component.mjs +130 -0
- package/esm2022/lib/components/evo-chip/evo-chip.module.mjs +43 -0
- package/esm2022/lib/components/evo-control-error/evo-control-error.component.mjs +41 -0
- package/esm2022/lib/components/evo-control-error/evo-control-error.module.mjs +28 -0
- package/{esm2020 → esm2022}/lib/components/evo-control-label/evo-control-label.component.mjs +4 -4
- package/esm2022/lib/components/evo-control-label/evo-control-label.module.mjs +20 -0
- package/esm2022/lib/components/evo-counter/evo-counter.component.mjs +38 -0
- package/esm2022/lib/components/evo-counter/evo-counter.module.mjs +28 -0
- package/esm2022/lib/components/evo-datepicker/evo-datepicker.component.mjs +561 -0
- package/esm2022/lib/components/evo-datepicker/evo-datepicker.module.mjs +32 -0
- package/esm2022/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +41 -0
- package/esm2022/lib/components/evo-dropdown/evo-dropdown.component.mjs +107 -0
- package/esm2022/lib/components/evo-dropdown/evo-dropdown.module.mjs +20 -0
- package/esm2022/lib/components/evo-icon/evo-icon.component.mjs +56 -0
- package/esm2022/lib/components/evo-icon/evo-icon.module.mjs +55 -0
- package/esm2022/lib/components/evo-icon-button/evo-icon-button.component.mjs +48 -0
- package/esm2022/lib/components/evo-icon-button/evo-icon-button.module.mjs +24 -0
- package/esm2022/lib/components/evo-icon-button/types/evo-icon-button-color.mjs +2 -0
- package/esm2022/lib/components/evo-icon-button/types/index.mjs +3 -0
- package/{esm2020 → esm2022}/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.mjs +4 -4
- package/esm2022/lib/components/evo-icon-number/evo-icon-number.module.mjs +18 -0
- package/{esm2020 → esm2022}/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.mjs +4 -4
- package/esm2022/lib/components/evo-input/evo-input.component.mjs +358 -0
- package/esm2022/lib/components/evo-input/evo-input.module.mjs +64 -0
- package/esm2022/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +150 -0
- package/esm2022/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.mjs +32 -0
- package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/utils/clear-multiline.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/evo-loader/evo-circular-loader.component.mjs +4 -4
- package/esm2022/lib/components/evo-loader/evo-loader.module.mjs +25 -0
- package/{esm2020 → esm2022}/lib/components/evo-loader/public-api.mjs +1 -2
- package/esm2022/lib/components/evo-modal/evo-modal.component.mjs +127 -0
- package/esm2022/lib/components/evo-modal/evo-modal.module.mjs +30 -0
- package/{esm2020 → esm2022}/lib/components/evo-modal/evo-modal.service.mjs +4 -4
- package/esm2022/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +58 -0
- package/esm2022/lib/components/evo-navbar/evo-navbar.component.mjs +46 -0
- package/esm2022/lib/components/evo-navbar/evo-navbar.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/components/evo-navigation-button/evo-navigation-button.component.mjs +5 -5
- package/esm2022/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +43 -0
- package/esm2022/lib/components/evo-note/evo-note.component.mjs +40 -0
- package/esm2022/lib/components/evo-note/evo-note.module.mjs +43 -0
- package/esm2022/lib/components/evo-paginator/evo-paginator.component.mjs +109 -0
- package/esm2022/lib/components/evo-paginator/evo-paginator.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/evo-plus-minus/evo-plus-minus.component.mjs +6 -6
- package/esm2022/lib/components/evo-plus-minus/evo-plus-minus.module.mjs +20 -0
- package/esm2022/lib/components/evo-popover/evo-popover.component.mjs +173 -0
- package/esm2022/lib/components/evo-popover/evo-popover.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/components/evo-portal/evo-portal-outlet.directive.mjs +5 -5
- package/esm2022/lib/components/evo-portal/evo-portal.module.mjs +30 -0
- package/esm2022/lib/components/evo-portal/evo-portal.service.mjs +92 -0
- package/esm2022/lib/components/evo-radio/evo-radio.component.mjs +51 -0
- package/esm2022/lib/components/evo-radio/evo-radio.module.mjs +24 -0
- package/esm2022/lib/components/evo-radio-group/evo-radio-group.component.mjs +123 -0
- package/esm2022/lib/components/evo-radio-group/evo-radio-group.module.mjs +32 -0
- package/esm2022/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +56 -0
- package/esm2022/lib/components/evo-radioshape/evo-radioshape.module.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.mjs +5 -5
- package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +77 -0
- package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar.module.mjs +24 -0
- package/esm2022/lib/components/evo-select/evo-select.component.mjs +115 -0
- package/esm2022/lib/components/evo-select/evo-select.module.mjs +32 -0
- package/esm2022/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +33 -0
- package/{esm2020 → esm2022}/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.mjs +4 -4
- package/esm2022/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +40 -0
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.component.mjs +172 -0
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.module.mjs +88 -0
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.service.mjs +105 -0
- package/{esm2020 → esm2022}/lib/components/evo-stepper/evo-stepper-events.mjs +4 -4
- package/esm2022/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +31 -0
- package/esm2022/lib/components/evo-stepper/evo-stepper.component.mjs +67 -0
- package/esm2022/lib/components/evo-stepper/evo-stepper.module.mjs +25 -0
- package/esm2022/lib/components/evo-submenu/evo-submenu.component.mjs +159 -0
- package/esm2022/lib/components/evo-submenu/evo-submenu.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/evo-switcher/evo-switcher.component.mjs +6 -6
- package/esm2022/lib/components/evo-switcher/evo-switcher.module.mjs +25 -0
- package/esm2022/lib/components/evo-table/evo-table/evo-table.component.mjs +67 -0
- package/{esm2020 → esm2022}/lib/components/evo-table/evo-table-column/evo-table-column.component.mjs +6 -6
- package/esm2022/lib/components/evo-table/evo-table.module.mjs +21 -0
- package/esm2022/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +88 -0
- package/esm2022/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +37 -0
- package/esm2022/lib/components/evo-tabs/evo-tab-state.collection.mjs +43 -0
- package/esm2022/lib/components/evo-tabs/evo-tabs-size.service.mjs +24 -0
- package/esm2022/lib/components/evo-tabs/evo-tabs.component.mjs +83 -0
- package/esm2022/lib/components/evo-tabs/evo-tabs.module.mjs +28 -0
- package/esm2022/lib/components/evo-tabs/evo-tabs.service.mjs +67 -0
- package/esm2022/lib/components/evo-textarea/evo-textarea.component.mjs +79 -0
- package/esm2022/lib/components/evo-textarea/evo-textarea.module.mjs +35 -0
- package/esm2022/lib/components/evo-toast/evo-toast.component.mjs +98 -0
- package/esm2022/lib/components/evo-toast/evo-toast.module.mjs +43 -0
- package/esm2022/lib/components/evo-toast/evo-toast.service.mjs +49 -0
- package/esm2022/lib/components/evo-toggle/evo-toggle.component.mjs +64 -0
- package/esm2022/lib/components/evo-toggle/evo-toggle.module.mjs +28 -0
- package/esm2022/lib/components/evo-upload/evo-upload.component.mjs +287 -0
- package/esm2022/lib/components/evo-upload/evo-upload.module.mjs +61 -0
- package/esm2022/lib/directives/evo-click-outside.directive.mjs +40 -0
- package/esm2022/lib/directives/evo-is-expanded.directive.mjs +71 -0
- package/{esm2020 → esm2022}/lib/directives/evo-let/evo-let.directive.mjs +6 -6
- package/esm2022/lib/directives/evo-ui-class.directive.mjs +169 -0
- package/esm2022/lib/evo-ui-kit.module.mjs +63 -0
- package/esm2022/lib/pipes/declination.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/lib/pipes/evo-pipes.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/safe-html.pipe.mjs +5 -5
- package/esm2022/lib/services/evo-expanded.service.mjs +23 -0
- package/esm2022/lib/services/window.service.mjs +49 -0
- package/esm2022/public_api.mjs +72 -0
- package/{fesm2020 → fesm2022}/evotor-dev-ui-kit.mjs +885 -1290
- package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -0
- package/lib/common/evo-base-control.d.ts +1 -1
- package/lib/common/types/evo-color.d.ts +1 -1
- package/lib/common/types/evo-size.d.ts +1 -1
- package/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.d.ts +1 -1
- package/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.d.ts +1 -1
- package/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.d.ts +1 -1
- package/lib/components/evo-accordion/evo-accordion.component.d.ts +1 -1
- package/lib/components/evo-autocomplete/components/evo-autocomplete.component.d.ts +5 -5
- package/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.d.ts +1 -1
- package/lib/components/evo-autocomplete/types/evo-autocomplete-size.d.ts +1 -1
- package/lib/components/evo-badge/evo-badge.component.d.ts +1 -1
- package/lib/components/evo-badge/types/evo-badge-color.d.ts +1 -1
- package/lib/components/evo-badge/types/evo-badge-size.d.ts +1 -1
- package/lib/components/evo-button/components/evo-button/evo-button.component.d.ts +1 -1
- package/lib/components/evo-button/evo-button.module.d.ts +4 -5
- package/lib/components/evo-button/public-api.d.ts +0 -1
- package/lib/components/evo-button/types/evo-button-color.d.ts +1 -1
- package/lib/components/evo-button/types/evo-button-shape.d.ts +1 -1
- package/lib/components/evo-button/types/evo-button-size.d.ts +1 -1
- package/lib/components/evo-button/types/evo-button-theme-params.d.ts +1 -1
- package/lib/components/evo-button/types/evo-button-theme.d.ts +1 -1
- package/lib/components/evo-checkbox/evo-checkbox.component.d.ts +1 -1
- package/lib/components/evo-chip/evo-chip.component.d.ts +3 -3
- package/lib/components/evo-control-error/evo-control-error.component.d.ts +1 -1
- package/lib/components/evo-control-label/evo-control-label.component.d.ts +1 -1
- package/lib/components/evo-counter/evo-counter.component.d.ts +1 -1
- package/lib/components/evo-datepicker/evo-datepicker.component.d.ts +2 -2
- package/lib/components/evo-dropdown/evo-dropdown-origin.directive.d.ts +1 -1
- package/lib/components/evo-dropdown/evo-dropdown.component.d.ts +2 -2
- package/lib/components/evo-dropdown/types/evo-dropdown-positions.d.ts +1 -1
- package/lib/components/evo-icon/evo-icon.component.d.ts +1 -1
- package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +3 -13
- package/lib/components/evo-icon-button/types/evo-icon-button-color.d.ts +2 -0
- package/lib/components/evo-icon-button/types/evo-icon-button-size.d.ts +1 -1
- package/lib/components/evo-icon-button/types/index.d.ts +2 -0
- package/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.d.ts +1 -1
- package/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.d.ts +1 -1
- package/lib/components/evo-input/evo-input.component.d.ts +1 -1
- package/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.d.ts +1 -1
- package/lib/components/evo-loader/evo-circular-loader.component.d.ts +1 -1
- package/lib/components/evo-loader/evo-loader.module.d.ts +4 -5
- package/lib/components/evo-loader/public-api.d.ts +0 -1
- package/lib/components/evo-modal/evo-modal.component.d.ts +1 -1
- package/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.d.ts +1 -1
- package/lib/components/evo-navbar/evo-navbar.component.d.ts +1 -1
- package/lib/components/evo-navbar/types/nav-item.d.ts +1 -1
- package/lib/components/evo-navigation-button/evo-navigation-button.component.d.ts +1 -1
- package/lib/components/evo-note/evo-note.component.d.ts +1 -1
- package/lib/components/evo-note/types/evo-note-type.d.ts +1 -1
- package/lib/components/evo-paginator/evo-paginator.component.d.ts +1 -1
- package/lib/components/evo-plus-minus/evo-plus-minus.component.d.ts +1 -1
- package/lib/components/evo-popover/evo-popover.component.d.ts +3 -3
- package/lib/components/evo-portal/evo-portal-outlet.directive.d.ts +1 -1
- package/lib/components/evo-portal/evo-portal.service.d.ts +1 -1
- package/lib/components/evo-radio/evo-radio.component.d.ts +1 -1
- package/lib/components/evo-radio-group/evo-radio-group.component.d.ts +3 -3
- package/lib/components/evo-radioshape/components/evo-radioshape.component.d.ts +1 -1
- package/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.d.ts +1 -1
- package/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.d.ts +1 -1
- package/lib/components/evo-select/evo-select.component.d.ts +1 -1
- package/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.d.ts +1 -1
- package/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.d.ts +1 -1
- package/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.d.ts +1 -1
- package/lib/components/evo-sidebar/evo-sidebar.component.d.ts +1 -1
- package/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.d.ts +1 -1
- package/lib/components/evo-stepper/evo-stepper.component.d.ts +1 -1
- package/lib/components/evo-submenu/evo-submenu.component.d.ts +1 -1
- package/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.d.ts +1 -1
- package/lib/components/evo-switcher/evo-switcher.component.d.ts +1 -1
- package/lib/components/evo-table/evo-table/evo-table.component.d.ts +1 -1
- package/lib/components/evo-table/evo-table-column/evo-table-column.component.d.ts +1 -1
- package/lib/components/evo-tabs/evo-tab/evo-tab.component.d.ts +3 -3
- package/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.d.ts +1 -1
- package/lib/components/evo-tabs/evo-tabs.component.d.ts +1 -1
- package/lib/components/evo-textarea/evo-textarea.component.d.ts +1 -1
- package/lib/components/evo-toast/evo-toast.component.d.ts +1 -1
- package/lib/components/evo-toggle/evo-toggle.component.d.ts +1 -1
- package/lib/components/evo-upload/evo-upload.component.d.ts +4 -4
- package/lib/components/evo-upload/evo-upload.module.d.ts +2 -2
- package/lib/directives/evo-click-outside.directive.d.ts +1 -1
- package/lib/directives/evo-is-expanded.directive.d.ts +1 -1
- package/lib/directives/evo-let/evo-let.directive.d.ts +1 -1
- package/lib/directives/evo-ui-class.directive.d.ts +2 -2
- package/lib/pipes/declination.pipe.d.ts +1 -1
- package/lib/pipes/safe-html.pipe.d.ts +1 -1
- package/package.json +53 -75
- package/public_api.d.ts +0 -2
- package/styles/components/evo-form.scss +2 -2
- package/styles/components/evo-title.scss +4 -4
- package/styles/main.scss +0 -1
- package/styles/mixins/_evo-input-mixins.scss +0 -6
- package/styles/mixins.scss +0 -42
- package/styles/variables.scss +0 -8
- package/esm2020/lib/common/evo-base-control.mjs +0 -46
- package/esm2020/lib/common/form-helper/form-helper.mjs +0 -31
- package/esm2020/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +0 -31
- package/esm2020/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +0 -57
- package/esm2020/lib/components/evo-accordion/evo-accordion.module.mjs +0 -66
- package/esm2020/lib/components/evo-alert/evo-alert.component.mjs +0 -79
- package/esm2020/lib/components/evo-alert/evo-alert.module.mjs +0 -29
- package/esm2020/lib/components/evo-alert/index.mjs +0 -2
- package/esm2020/lib/components/evo-alert/public-api.mjs +0 -3
- package/esm2020/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +0 -358
- package/esm2020/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +0 -43
- package/esm2020/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +0 -58
- package/esm2020/lib/components/evo-autocomplete/models/DaDataParty.mjs +0 -28
- package/esm2020/lib/components/evo-badge/evo-badge.component.mjs +0 -40
- package/esm2020/lib/components/evo-badge/evo-badge.module.mjs +0 -28
- package/esm2020/lib/components/evo-banner/evo-banner.component.mjs +0 -109
- package/esm2020/lib/components/evo-banner/evo-banner.module.mjs +0 -23
- package/esm2020/lib/components/evo-banner/index.mjs +0 -2
- package/esm2020/lib/components/evo-banner/public-api.mjs +0 -3
- package/esm2020/lib/components/evo-button/components/evo-button-old/evo-button-old.component.mjs +0 -91
- package/esm2020/lib/components/evo-button/evo-button.module.mjs +0 -21
- package/esm2020/lib/components/evo-checkbox/evo-checkbox.component.mjs +0 -86
- package/esm2020/lib/components/evo-checkbox/evo-checkbox.module.mjs +0 -34
- package/esm2020/lib/components/evo-chip/evo-chip.component.mjs +0 -130
- package/esm2020/lib/components/evo-chip/evo-chip.module.mjs +0 -45
- package/esm2020/lib/components/evo-control-error/evo-control-error.component.mjs +0 -41
- package/esm2020/lib/components/evo-control-error/evo-control-error.module.mjs +0 -30
- package/esm2020/lib/components/evo-control-label/evo-control-label.module.mjs +0 -22
- package/esm2020/lib/components/evo-counter/evo-counter.component.mjs +0 -38
- package/esm2020/lib/components/evo-counter/evo-counter.module.mjs +0 -30
- package/esm2020/lib/components/evo-datepicker/evo-datepicker.component.mjs +0 -561
- package/esm2020/lib/components/evo-datepicker/evo-datepicker.module.mjs +0 -34
- package/esm2020/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +0 -41
- package/esm2020/lib/components/evo-dropdown/evo-dropdown.component.mjs +0 -107
- package/esm2020/lib/components/evo-dropdown/evo-dropdown.module.mjs +0 -20
- package/esm2020/lib/components/evo-icon/evo-icon.component.mjs +0 -56
- package/esm2020/lib/components/evo-icon/evo-icon.module.mjs +0 -57
- package/esm2020/lib/components/evo-icon-button/evo-icon-button.component.mjs +0 -64
- package/esm2020/lib/components/evo-icon-button/evo-icon-button.module.mjs +0 -26
- package/esm2020/lib/components/evo-icon-button/types/evo-icon-button-theme.mjs +0 -2
- package/esm2020/lib/components/evo-icon-number/evo-icon-number.module.mjs +0 -18
- package/esm2020/lib/components/evo-input/evo-input.component.mjs +0 -358
- package/esm2020/lib/components/evo-input/evo-input.module.mjs +0 -66
- package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +0 -150
- package/esm2020/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.mjs +0 -34
- package/esm2020/lib/components/evo-loader/evo-loader.component.mjs +0 -27
- package/esm2020/lib/components/evo-loader/evo-loader.module.mjs +0 -33
- package/esm2020/lib/components/evo-modal/evo-modal.component.mjs +0 -127
- package/esm2020/lib/components/evo-modal/evo-modal.module.mjs +0 -32
- package/esm2020/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +0 -58
- package/esm2020/lib/components/evo-navbar/evo-navbar.component.mjs +0 -46
- package/esm2020/lib/components/evo-navbar/evo-navbar.module.mjs +0 -24
- package/esm2020/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +0 -45
- package/esm2020/lib/components/evo-note/evo-note.component.mjs +0 -40
- package/esm2020/lib/components/evo-note/evo-note.module.mjs +0 -45
- package/esm2020/lib/components/evo-paginator/evo-paginator.component.mjs +0 -109
- package/esm2020/lib/components/evo-paginator/evo-paginator.module.mjs +0 -22
- package/esm2020/lib/components/evo-plus-minus/evo-plus-minus.module.mjs +0 -22
- package/esm2020/lib/components/evo-popover/evo-popover.component.mjs +0 -173
- package/esm2020/lib/components/evo-popover/evo-popover.module.mjs +0 -26
- package/esm2020/lib/components/evo-portal/evo-portal.module.mjs +0 -32
- package/esm2020/lib/components/evo-portal/evo-portal.service.mjs +0 -92
- package/esm2020/lib/components/evo-radio/evo-radio.component.mjs +0 -51
- package/esm2020/lib/components/evo-radio/evo-radio.module.mjs +0 -26
- package/esm2020/lib/components/evo-radio-group/evo-radio-group.component.mjs +0 -123
- package/esm2020/lib/components/evo-radio-group/evo-radio-group.module.mjs +0 -34
- package/esm2020/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +0 -56
- package/esm2020/lib/components/evo-radioshape/evo-radioshape.module.mjs +0 -33
- package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +0 -77
- package/esm2020/lib/components/evo-segmented-bar/evo-segmented-bar.module.mjs +0 -24
- package/esm2020/lib/components/evo-select/evo-select.component.mjs +0 -115
- package/esm2020/lib/components/evo-select/evo-select.module.mjs +0 -34
- package/esm2020/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +0 -33
- package/esm2020/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +0 -40
- package/esm2020/lib/components/evo-sidebar/evo-sidebar.component.mjs +0 -172
- package/esm2020/lib/components/evo-sidebar/evo-sidebar.module.mjs +0 -90
- package/esm2020/lib/components/evo-sidebar/evo-sidebar.service.mjs +0 -105
- package/esm2020/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +0 -31
- package/esm2020/lib/components/evo-stepper/evo-stepper.component.mjs +0 -67
- package/esm2020/lib/components/evo-stepper/evo-stepper.module.mjs +0 -27
- package/esm2020/lib/components/evo-submenu/evo-submenu.component.mjs +0 -159
- package/esm2020/lib/components/evo-submenu/evo-submenu.module.mjs +0 -26
- package/esm2020/lib/components/evo-switcher/evo-switcher.module.mjs +0 -27
- package/esm2020/lib/components/evo-table/evo-table/evo-table.component.mjs +0 -67
- package/esm2020/lib/components/evo-table/evo-table.module.mjs +0 -23
- package/esm2020/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +0 -88
- package/esm2020/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +0 -37
- package/esm2020/lib/components/evo-tabs/evo-tab-state.collection.mjs +0 -43
- package/esm2020/lib/components/evo-tabs/evo-tabs-size.service.mjs +0 -24
- package/esm2020/lib/components/evo-tabs/evo-tabs.component.mjs +0 -83
- package/esm2020/lib/components/evo-tabs/evo-tabs.module.mjs +0 -30
- package/esm2020/lib/components/evo-tabs/evo-tabs.service.mjs +0 -67
- package/esm2020/lib/components/evo-textarea/evo-textarea.component.mjs +0 -79
- package/esm2020/lib/components/evo-textarea/evo-textarea.module.mjs +0 -37
- package/esm2020/lib/components/evo-toast/evo-toast.component.mjs +0 -98
- package/esm2020/lib/components/evo-toast/evo-toast.module.mjs +0 -45
- package/esm2020/lib/components/evo-toast/evo-toast.service.mjs +0 -49
- package/esm2020/lib/components/evo-toggle/evo-toggle.component.mjs +0 -64
- package/esm2020/lib/components/evo-toggle/evo-toggle.module.mjs +0 -30
- package/esm2020/lib/components/evo-upload/evo-upload.component.mjs +0 -287
- package/esm2020/lib/components/evo-upload/evo-upload.module.mjs +0 -59
- package/esm2020/lib/directives/evo-click-outside.directive.mjs +0 -40
- package/esm2020/lib/directives/evo-is-expanded.directive.mjs +0 -71
- package/esm2020/lib/directives/evo-ui-class.directive.mjs +0 -159
- package/esm2020/lib/evo-ui-kit.module.mjs +0 -65
- package/esm2020/lib/pipes/declination.pipe.mjs +0 -40
- package/esm2020/lib/services/evo-expanded.service.mjs +0 -23
- package/esm2020/lib/services/window.service.mjs +0 -49
- package/esm2020/public_api.mjs +0 -74
- package/fesm2015/evotor-dev-ui-kit.mjs +0 -7457
- package/fesm2015/evotor-dev-ui-kit.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-category.mjs +0 -68
- package/fesm2020/evotor-dev-ui-kit-icons-category.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-emotions.mjs +0 -24
- package/fesm2020/evotor-dev-ui-kit-icons-emotions.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-header.mjs +0 -34
- package/fesm2020/evotor-dev-ui-kit-icons-header.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-info.mjs +0 -46
- package/fesm2020/evotor-dev-ui-kit-icons-info.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs +0 -62
- package/fesm2020/evotor-dev-ui-kit-icons-navigation.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-side-menu.mjs +0 -70
- package/fesm2020/evotor-dev-ui-kit-icons-side-menu.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons-system.mjs +0 -378
- package/fesm2020/evotor-dev-ui-kit-icons-system.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit-icons.mjs +0 -648
- package/fesm2020/evotor-dev-ui-kit-icons.mjs.map +0 -1
- package/fesm2020/evotor-dev-ui-kit.mjs.map +0 -1
- package/icons/category/evotor-dev-ui-kit-icons-category.d.ts +0 -5
- package/icons/category/package.json +0 -10
- package/icons/emotions/evotor-dev-ui-kit-icons-emotions.d.ts +0 -5
- package/icons/emotions/package.json +0 -10
- package/icons/evotor-dev-ui-kit-icons.d.ts +0 -5
- package/icons/header/evotor-dev-ui-kit-icons-header.d.ts +0 -5
- package/icons/header/package.json +0 -10
- package/icons/info/evotor-dev-ui-kit-icons-info.d.ts +0 -5
- package/icons/info/package.json +0 -10
- package/icons/navigation/evotor-dev-ui-kit-icons-navigation.d.ts +0 -5
- package/icons/navigation/package.json +0 -10
- package/icons/package.json +0 -10
- package/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.d.ts +0 -5
- package/icons/side-menu/package.json +0 -10
- package/icons/system/evotor-dev-ui-kit-icons-system.d.ts +0 -5
- package/icons/system/package.json +0 -10
- package/lib/components/evo-alert/evo-alert.component.d.ts +0 -38
- package/lib/components/evo-alert/evo-alert.module.d.ts +0 -9
- package/lib/components/evo-alert/index.d.ts +0 -1
- package/lib/components/evo-alert/public-api.d.ts +0 -2
- package/lib/components/evo-banner/evo-banner.component.d.ts +0 -46
- package/lib/components/evo-banner/evo-banner.module.d.ts +0 -9
- package/lib/components/evo-banner/index.d.ts +0 -1
- package/lib/components/evo-banner/public-api.d.ts +0 -2
- package/lib/components/evo-button/components/evo-button-old/evo-button-old.component.d.ts +0 -39
- package/lib/components/evo-icon-button/types/evo-icon-button-theme.d.ts +0 -1
- package/lib/components/evo-loader/evo-loader.component.d.ts +0 -14
- package/styles/components/evo-alert.scss +0 -64
- /package/{esm2020 → esm2022}/evotor-dev-ui-kit.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/category/evotor-dev-ui-kit-icons-category.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/category/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/emotions/evotor-dev-ui-kit-icons-emotions.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/emotions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/evotor-dev-ui-kit-icons.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/header/evotor-dev-ui-kit-icons-header.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/header/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/info/evotor-dev-ui-kit-icons-info.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/info/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/navigation/evotor-dev-ui-kit-icons-navigation.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/navigation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/side-menu/evotor-dev-ui-kit-icons-side-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/side-menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/system/evotor-dev-ui-kit-icons-system.mjs +0 -0
- /package/{esm2020 → esm2022}/icons/system/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/Serializable.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/animations/expand.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/animations/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/animations/sidebar.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/animations/skip-initial-render.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/collection/evo-collection.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/collection/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/constants/css-breakpoints.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/constants/view-breakpoint-streams.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-state-manager.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-state.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/evo-control-state-manager/evo-control-states.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/types/evo-color.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/types/evo-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-accordion/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/helpers/switch-query-to-list.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/models/dadata.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-autocomplete/types/evo-autocomplete-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-badge/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-badge/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-badge/types/evo-badge-color.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-badge/types/evo-badge-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-badge/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/constants/evo-button-themes-map.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-color.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-shape.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-theme-params.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/evo-button-theme.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-button/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-checkbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-chip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-chip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-control-error/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-control-error/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-control-label/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-control-label/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-counter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-counter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-datepicker/flatpickr-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-datepicker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-datepicker/templates/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-dropdown/evo-dropdown-position-description.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-dropdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-dropdown/types/evo-dropdown-positions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon/classes/evo-icons-library.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon/interfaces/icons-category.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon/interfaces/icons-source.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon-button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon-button/types/evo-icon-button-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon-number/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-icon-number/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-input-contenteditable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-modal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item-main-info.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item-router-link.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/interfaces/nav-item.href.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navbar/types/nav-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navigation-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-navigation-button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-note/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-note/public.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-note/types/evo-note-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-paginator/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-paginator/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-plus-minus/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-plus-minus/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-popover/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-popover/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-portal/evo-portal-outlet.class.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-portal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-portal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radio/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radio/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radio-group/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radio-group/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radio-group/typings/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radioshape/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-radioshape/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-segmented-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-sizes.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/enums/evo-sidebar-states.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/evo-sidebar-portal.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/sidebar-injection-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-sidebar/tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-stepper/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-stepper/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-submenu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-submenu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-switcher/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-switcher/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-tabs/enums/evo-tabs-size.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-tabs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-tabs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-textarea/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-textarea/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-toast/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-toast/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-toggle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-toggle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-upload/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/evo-upload/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/deprecate-method.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/deprecate-variable.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/decorators/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/operators/enter-zone.operator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/operators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/operators/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-category.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-category.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-emotions.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-emotions.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-header.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-header.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-info.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-info.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-navigation.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-navigation.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-side-menu.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-side-menu.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-system.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons-system.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons.mjs +0 -0
- /package/{fesm2015 → fesm2022}/evotor-dev-ui-kit-icons.mjs.map +0 -0
- /package/{evotor-dev-ui-kit.d.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ApplicationRef, ComponentFactoryResolver, Injector, NgModule, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { EvoSidebarComponent } from './evo-sidebar.component';
|
|
4
|
+
import { EvoSidebarHeaderComponent } from './evo-sidebar-header/evo-sidebar-header.component';
|
|
5
|
+
import { EvoSidebarFooterComponent } from './evo-sidebar-footer/evo-sidebar-footer.component';
|
|
6
|
+
import { EvoSidebarService } from './evo-sidebar.service';
|
|
7
|
+
import { EvoUiKitModule } from '../../evo-ui-kit.module';
|
|
8
|
+
import { EvoIconModule } from '../evo-icon/evo-icon.module';
|
|
9
|
+
import { iconChevronLeft } from '@evotor-dev/ui-kit/icons/navigation';
|
|
10
|
+
import { iconClose } from '@evotor-dev/ui-kit/icons/header';
|
|
11
|
+
import { EvoSidebarContentComponent } from './evo-sidebar-content/evo-sidebar-content.component';
|
|
12
|
+
import { EVO_SIDEBAR_CONFIG } from './tokens';
|
|
13
|
+
import { EvoSidebarPortal } from './evo-sidebar-portal';
|
|
14
|
+
import { EvoAbstractPortal } from '../evo-portal';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "../evo-icon/evo-icon.module";
|
|
17
|
+
export const portalProvider = {
|
|
18
|
+
provide: EvoAbstractPortal,
|
|
19
|
+
useClass: EvoSidebarPortal,
|
|
20
|
+
deps: [ApplicationRef, Injector, ComponentFactoryResolver],
|
|
21
|
+
};
|
|
22
|
+
const components = [
|
|
23
|
+
EvoSidebarComponent,
|
|
24
|
+
EvoSidebarHeaderComponent,
|
|
25
|
+
EvoSidebarContentComponent,
|
|
26
|
+
EvoSidebarFooterComponent,
|
|
27
|
+
];
|
|
28
|
+
export class EvoSidebarModule {
|
|
29
|
+
static forRoot(config) {
|
|
30
|
+
return {
|
|
31
|
+
ngModule: EvoSidebarModule,
|
|
32
|
+
providers: [
|
|
33
|
+
portalProvider,
|
|
34
|
+
{
|
|
35
|
+
provide: EVO_SIDEBAR_CONFIG,
|
|
36
|
+
useValue: config,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
provide: EvoSidebarService,
|
|
40
|
+
useClass: EvoSidebarService,
|
|
41
|
+
deps: [EvoAbstractPortal, EVO_SIDEBAR_CONFIG],
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
47
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarModule, declarations: [EvoSidebarComponent,
|
|
48
|
+
EvoSidebarHeaderComponent,
|
|
49
|
+
EvoSidebarContentComponent,
|
|
50
|
+
EvoSidebarFooterComponent], imports: [CommonModule,
|
|
51
|
+
EvoUiKitModule, i1.EvoIconModule], exports: [EvoSidebarComponent,
|
|
52
|
+
EvoSidebarHeaderComponent,
|
|
53
|
+
EvoSidebarContentComponent,
|
|
54
|
+
EvoSidebarFooterComponent] }); }
|
|
55
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarModule, providers: [portalProvider, EvoSidebarService], imports: [CommonModule,
|
|
56
|
+
EvoUiKitModule,
|
|
57
|
+
EvoIconModule.forRoot([
|
|
58
|
+
{
|
|
59
|
+
name: 'sidebarIcons',
|
|
60
|
+
shapes: {
|
|
61
|
+
'chevron-left': iconChevronLeft,
|
|
62
|
+
close: iconClose,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
])] }); }
|
|
66
|
+
}
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarModule, decorators: [{
|
|
68
|
+
type: NgModule,
|
|
69
|
+
args: [{
|
|
70
|
+
imports: [
|
|
71
|
+
CommonModule,
|
|
72
|
+
EvoUiKitModule,
|
|
73
|
+
EvoIconModule.forRoot([
|
|
74
|
+
{
|
|
75
|
+
name: 'sidebarIcons',
|
|
76
|
+
shapes: {
|
|
77
|
+
'chevron-left': iconChevronLeft,
|
|
78
|
+
close: iconClose,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
]),
|
|
82
|
+
],
|
|
83
|
+
declarations: [...components],
|
|
84
|
+
exports: [...components],
|
|
85
|
+
providers: [portalProvider, EvoSidebarService],
|
|
86
|
+
}]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXNpZGViYXIvZXZvLXNpZGViYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLFFBQVEsRUFFUixRQUFRLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUUvRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFFaEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFhO0lBQ3BDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixDQUFDO0NBQzdELENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRztJQUNmLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLHlCQUF5QjtDQUM1QixDQUFDO0FBb0JGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF5QjtRQUNwQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixRQUFRLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7aUJBQ2hEO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzsrR0FqQlEsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBeEJ6QixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQix5QkFBeUIsYUFLckIsWUFBWTtZQUNaLGNBQWMsK0JBVGxCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLHlCQUF5QjtnSEFxQmhCLGdCQUFnQixhQUZkLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLFlBZDFDLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFDbEI7b0JBQ0ksSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLE1BQU0sRUFBRTt3QkFDSixjQUFjLEVBQUUsZUFBZTt3QkFDL0IsS0FBSyxFQUFFLFNBQVM7cUJBQ25CO2lCQUNKO2FBQ0osQ0FBQzs7NEZBTUcsZ0JBQWdCO2tCQWxCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWEsQ0FBQyxPQUFPLENBQUM7NEJBQ2xCO2dDQUNJLElBQUksRUFBRSxjQUFjO2dDQUNwQixNQUFNLEVBQUU7b0NBQ0osY0FBYyxFQUFFLGVBQWU7b0NBQy9CLEtBQUssRUFBRSxTQUFTO2lDQUNuQjs2QkFDSjt5QkFDSixDQUFDO3FCQUNMO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIEluamVjdG9yLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgUHJvdmlkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vZXZvLXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7RXZvU2lkZWJhckhlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9ldm8tc2lkZWJhci1oZWFkZXIvZXZvLXNpZGViYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0V2b1NpZGViYXJGb290ZXJDb21wb25lbnR9IGZyb20gJy4vZXZvLXNpZGViYXItZm9vdGVyL2V2by1zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9TaWRlYmFyU2VydmljZX0gZnJvbSAnLi9ldm8tc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7RXZvVWlLaXRNb2R1bGV9IGZyb20gJy4uLy4uL2V2by11aS1raXQubW9kdWxlJztcbmltcG9ydCB7RXZvSWNvbk1vZHVsZX0gZnJvbSAnLi4vZXZvLWljb24vZXZvLWljb24ubW9kdWxlJztcbmltcG9ydCB7aWNvbkNoZXZyb25MZWZ0fSBmcm9tICdAZXZvdG9yLWRldi91aS1raXQvaWNvbnMvbmF2aWdhdGlvbic7XG5pbXBvcnQge2ljb25DbG9zZX0gZnJvbSAnQGV2b3Rvci1kZXYvdWkta2l0L2ljb25zL2hlYWRlcic7XG5pbXBvcnQge0V2b1NpZGViYXJDb250ZW50Q29tcG9uZW50fSBmcm9tICcuL2V2by1zaWRlYmFyLWNvbnRlbnQvZXZvLXNpZGViYXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtFdm9TaWRlYmFyQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFVk9fU0lERUJBUl9DT05GSUd9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7RXZvU2lkZWJhclBvcnRhbH0gZnJvbSAnLi9ldm8tc2lkZWJhci1wb3J0YWwnO1xuaW1wb3J0IHtFdm9BYnN0cmFjdFBvcnRhbH0gZnJvbSAnLi4vZXZvLXBvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBwb3J0YWxQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogRXZvQWJzdHJhY3RQb3J0YWwsXG4gICAgdXNlQ2xhc3M6IEV2b1NpZGViYXJQb3J0YWwsXG4gICAgZGVwczogW0FwcGxpY2F0aW9uUmVmLCBJbmplY3RvciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXSxcbn07XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgRXZvU2lkZWJhckNvbXBvbmVudCxcbiAgICBFdm9TaWRlYmFySGVhZGVyQ29tcG9uZW50LFxuICAgIEV2b1NpZGViYXJDb250ZW50Q29tcG9uZW50LFxuICAgIEV2b1NpZGViYXJGb290ZXJDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBFdm9VaUtpdE1vZHVsZSxcbiAgICAgICAgRXZvSWNvbk1vZHVsZS5mb3JSb290KFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2lkZWJhckljb25zJyxcbiAgICAgICAgICAgICAgICBzaGFwZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ2NoZXZyb24tbGVmdCc6IGljb25DaGV2cm9uTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2U6IGljb25DbG9zZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gICAgcHJvdmlkZXJzOiBbcG9ydGFsUHJvdmlkZXIsIEV2b1NpZGViYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvU2lkZWJhck1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRXZvU2lkZWJhckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RXZvU2lkZWJhck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEV2b1NpZGViYXJNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBwb3J0YWxQcm92aWRlcixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVWT19TSURFQkFSX0NPTkZJRyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRXZvU2lkZWJhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBFdm9TaWRlYmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0V2b0Fic3RyYWN0UG9ydGFsLCBFVk9fU0lERUJBUl9DT05GSUddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, filter, take, tap } from 'rxjs/operators';
|
|
4
|
+
import { cloneDeep, isEqual } from 'lodash-es';
|
|
5
|
+
import { evoSidebarDefaultConfig, evoSidebarRootId, EVO_SIDEBAR_CONFIG } from './tokens';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../evo-portal";
|
|
8
|
+
export class EvoSidebarService {
|
|
9
|
+
constructor(portal, // EvoSidebarPortal provided
|
|
10
|
+
_config) {
|
|
11
|
+
this.portal = portal;
|
|
12
|
+
this._config = _config;
|
|
13
|
+
this.sidebarEvents$ = new Subject();
|
|
14
|
+
this.registeredSidebars = {};
|
|
15
|
+
this.config = {
|
|
16
|
+
...evoSidebarDefaultConfig,
|
|
17
|
+
..._config,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
deregister(id) {
|
|
21
|
+
delete this.registeredSidebars[id];
|
|
22
|
+
}
|
|
23
|
+
register(id) {
|
|
24
|
+
if (this.registeredSidebars[id]) {
|
|
25
|
+
throw Error(`[EvoUiKit]: Another evo-sidebar with id = "${id}" already registered!`);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.registeredSidebars[id] = { id, isOpen: false };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
open(idOrParams, params) {
|
|
32
|
+
if (typeof idOrParams === 'string') {
|
|
33
|
+
this.sidebarEvents$.next({
|
|
34
|
+
id: idOrParams,
|
|
35
|
+
isOpen: true,
|
|
36
|
+
params,
|
|
37
|
+
});
|
|
38
|
+
return this.getOpenedSidebarActions(idOrParams);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.openWithDefaultHost(idOrParams);
|
|
42
|
+
return this.getOpenedSidebarActions(evoSidebarRootId);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
openWithDefaultHost(params) {
|
|
46
|
+
if (!this.portal.hasAttachedPortal()) {
|
|
47
|
+
this.portal.attach(this.config.host);
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
this.open(evoSidebarRootId, params);
|
|
50
|
+
}, 0);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.open(evoSidebarRootId, params);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
close(idOrParams, params) {
|
|
57
|
+
if (typeof idOrParams === 'string') {
|
|
58
|
+
this.sidebarEvents$.next({ id: idOrParams, isOpen: false, params });
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.closeWithDefaultHost(idOrParams);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
closeWithDefaultHost(params) {
|
|
65
|
+
this.sidebarEvents$.next({ id: evoSidebarRootId, isOpen: false, params });
|
|
66
|
+
}
|
|
67
|
+
getEventsSubscription(id, immediate) {
|
|
68
|
+
return this.sidebarEvents$.pipe(filter((data) => data.id === id), filter((data) => {
|
|
69
|
+
if (!data.isOpen) {
|
|
70
|
+
return data.params && data.params.closeTarget ? true : immediate;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}), distinctUntilChanged((prev, next) => {
|
|
74
|
+
return immediate ? false : isEqual(prev, next);
|
|
75
|
+
}), tap((data) => {
|
|
76
|
+
if (!immediate) {
|
|
77
|
+
this.registeredSidebars[data.id] = cloneDeep(data);
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
cleanupDefaultHost() {
|
|
82
|
+
if (!this.portal.hasAttachedPortal()) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.portal.detach();
|
|
86
|
+
}
|
|
87
|
+
getOpenedSidebarActions(id) {
|
|
88
|
+
return {
|
|
89
|
+
afterClosed: () => {
|
|
90
|
+
return this.getEventsSubscription(id).pipe(filter(({ isOpen }) => !isOpen), take(1));
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, deps: [{ token: i1.EvoAbstractPortal }, { token: EVO_SIDEBAR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService }); }
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, decorators: [{
|
|
98
|
+
type: Injectable
|
|
99
|
+
}], ctorParameters: () => [{ type: i1.EvoAbstractPortal }, { type: undefined, decorators: [{
|
|
100
|
+
type: Optional
|
|
101
|
+
}, {
|
|
102
|
+
type: Inject,
|
|
103
|
+
args: [EVO_SIDEBAR_CONFIG]
|
|
104
|
+
}] }] });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXNpZGViYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1zaWRlYmFyL2V2by1zaWRlYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHekYsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQixZQUNZLE1BQXlCLEVBQUUsNEJBQTRCO0lBRTNCLE9BQXlCO1FBRnJELFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRUcsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFQekQsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUNoRCx1QkFBa0IsR0FBb0MsRUFBRSxDQUFDO1FBUTdELElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDVixHQUFHLHVCQUF1QjtZQUMxQixHQUFHLE9BQU87U0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBVTtRQUNmLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7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LEVBQ0YsR0FBRyxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFVO1FBQzlCLE9BQU87WUFDSCxXQUFXLEVBQUUsR0FBRyxFQUFFO2dCQUNkLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdEMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7K0dBM0dRLGlCQUFpQixtREFTZCxrQkFBa0I7bUhBVHJCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBU0YsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRXZvQWJzdHJhY3RQb3J0YWwgfSBmcm9tICcuLi9ldm8tcG9ydGFsJztcbmltcG9ydCB7IEV2b1NpZGViYXJTdGF0ZSwgRXZvU2lkZWJhckNvbmZpZywgRXZvU2lkZWJhclBhcmFtcywgRXZvT3BlbmVkU2lkZWJhckFjdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXZvU2lkZWJhckRlZmF1bHRDb25maWcsIGV2b1NpZGViYXJSb290SWQsIEVWT19TSURFQkFSX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2b1NpZGViYXJTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgc2lkZWJhckV2ZW50cyQgPSBuZXcgU3ViamVjdDxFdm9TaWRlYmFyU3RhdGU+KCk7XG4gICAgcHJpdmF0ZSByZWdpc3RlcmVkU2lkZWJhcnM6IHtbaWQ6IHN0cmluZ106IEV2b1NpZGViYXJTdGF0ZX0gPSB7fTtcbiAgICBwcml2YXRlIGNvbmZpZzogRXZvU2lkZWJhckNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHBvcnRhbDogRXZvQWJzdHJhY3RQb3J0YWwsIC8vIEV2b1NpZGViYXJQb3J0YWwgcHJvdmlkZWRcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChFVk9fU0lERUJBUl9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRXZvU2lkZWJhckNvbmZpZyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgICAgICAuLi5ldm9TaWRlYmFyRGVmYXVsdENvbmZpZyxcbiAgICAgICAgICAgIC4uLl9jb25maWcsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZGVyZWdpc3RlcihpZDogc3RyaW5nKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnJlZ2lzdGVyZWRTaWRlYmFyc1tpZF07XG4gICAgfVxuXG4gICAgcmVnaXN0ZXIoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5yZWdpc3RlcmVkU2lkZWJhcnNbaWRdKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgW0V2b1VpS2l0XTogQW5vdGhlciBldm8tc2lkZWJhciB3aXRoIGlkID0gXCIke2lkfVwiIGFscmVhZHkgcmVnaXN0ZXJlZCFgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFNpZGViYXJzW2lkXSA9IHsgaWQsIGlzT3BlbjogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW4ocGFyYW1zOiBFdm9TaWRlYmFyUGFyYW1zKTogRXZvT3BlbmVkU2lkZWJhckFjdGlvbnM7XG4gICAgb3BlbihpZDogc3RyaW5nLCBwYXJhbXM/OiBFdm9TaWRlYmFyUGFyYW1zKTogRXZvT3BlbmVkU2lkZWJhckFjdGlvbnM7XG4gICAgb3BlbihpZE9yUGFyYW1zOiBzdHJpbmcgfCBFdm9TaWRlYmFyUGFyYW1zLCBwYXJhbXM/OiBFdm9TaWRlYmFyUGFyYW1zKTogRXZvT3BlbmVkU2lkZWJhckFjdGlvbnMge1xuICAgICAgICBpZiAodHlwZW9mIGlkT3JQYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJFdmVudHMkLm5leHQoe1xuICAgICAgICAgICAgICAgIGlkOiBpZE9yUGFyYW1zLFxuICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE9wZW5lZFNpZGViYXJBY3Rpb25zKGlkT3JQYXJhbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuV2l0aERlZmF1bHRIb3N0KGlkT3JQYXJhbXMpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3BlbmVkU2lkZWJhckFjdGlvbnMoZXZvU2lkZWJhclJvb3RJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuV2l0aERlZmF1bHRIb3N0KHBhcmFtczogRXZvU2lkZWJhclBhcmFtcykge1xuICAgICAgICBpZiAoIXRoaXMucG9ydGFsLmhhc0F0dGFjaGVkUG9ydGFsKCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9ydGFsLmF0dGFjaCh0aGlzLmNvbmZpZy5ob3N0KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3Blbihldm9TaWRlYmFyUm9vdElkLCBwYXJhbXMpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oZXZvU2lkZWJhclJvb3RJZCwgcGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiB2b2lkO1xuICAgIGNsb3NlKGlkOiBzdHJpbmcsIHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpOiB2b2lkO1xuICAgIGNsb3NlKGlkT3JQYXJhbXM/OiBzdHJpbmcgfCBFdm9TaWRlYmFyUGFyYW1zLCBwYXJhbXM/OiBFdm9TaWRlYmFyUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgaWRPclBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMuc2lkZWJhckV2ZW50cyQubmV4dCh7aWQ6IGlkT3JQYXJhbXMsIGlzT3BlbjogZmFsc2UsIHBhcmFtc30pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVdpdGhEZWZhdWx0SG9zdChpZE9yUGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlV2l0aERlZmF1bHRIb3N0KHBhcmFtcz86IEV2b1NpZGViYXJQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5zaWRlYmFyRXZlbnRzJC5uZXh0KHtpZDogZXZvU2lkZWJhclJvb3RJZCwgaXNPcGVuOiBmYWxzZSwgcGFyYW1zfSk7XG4gICAgfVxuXG4gICAgZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKGlkOiBzdHJpbmcsIGltbWVkaWF0ZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEV2b1NpZGViYXJTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWRlYmFyRXZlbnRzJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChkYXRhOiBFdm9TaWRlYmFyU3RhdGUpID0+IGRhdGEuaWQgPT09IGlkKSxcbiAgICAgICAgICAgIGZpbHRlcigoZGF0YTogRXZvU2lkZWJhclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLmlzT3Blbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5wYXJhbXMgJiYgZGF0YS5wYXJhbXMuY2xvc2VUYXJnZXQgPyB0cnVlIDogaW1tZWRpYXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldjogRXZvU2lkZWJhclN0YXRlLCBuZXh0OiBFdm9TaWRlYmFyU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW1tZWRpYXRlID8gZmFsc2UgOiBpc0VxdWFsKHByZXYsIG5leHQpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKGRhdGE6IEV2b1NpZGViYXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaW1tZWRpYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJlZFNpZGViYXJzW2RhdGEuaWRdID0gY2xvbmVEZWVwKGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNsZWFudXBEZWZhdWx0SG9zdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBvcnRhbC5oYXNBdHRhY2hlZFBvcnRhbCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wb3J0YWwuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgZ2V0T3BlbmVkU2lkZWJhckFjdGlvbnMoaWQ6IHN0cmluZyk6IEV2b09wZW5lZFNpZGViYXJBY3Rpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFmdGVyQ2xvc2VkOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKGlkKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHsgaXNPcGVuIH0pID0+ICFpc09wZW4pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -16,10 +16,10 @@ export class EvoStepperEvents {
|
|
|
16
16
|
emit(type) {
|
|
17
17
|
this.events$.next(type);
|
|
18
18
|
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperEvents, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperEvents }); }
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
EvoStepperEvents.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoStepperEvents });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoStepperEvents, decorators: [{
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperEvents, decorators: [{
|
|
23
23
|
type: Injectable
|
|
24
24
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN0ZXBwZXItZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN0ZXBwZXIvZXZvLXN0ZXBwZXItZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXhDLE1BQU0sQ0FBTixJQUFZLGVBRVg7QUFGRCxXQUFZLGVBQWU7SUFDdkIsa0RBQStCLENBQUE7QUFDbkMsQ0FBQyxFQUZXLGVBQWUsS0FBZixlQUFlLFFBRTFCO0FBR0QsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdZLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztLQVlwRDtJQVZHLFNBQVMsQ0FBQyxJQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQXFCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7K0dBWlEsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBlbnVtIEV2b1N0ZXBwZXJFdmVudCB7XG4gICAgTEFCRUxfQ0hBTkdFRCA9ICdMQUJFTF9DSEFOR0VEJ1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXZvU3RlcHBlckV2ZW50cyB7XG5cbiAgICBwcml2YXRlIGV2ZW50cyQgPSBuZXcgU3ViamVjdDxFdm9TdGVwcGVyRXZlbnQ+KCk7XG5cbiAgICBnZXRFdmVudHModHlwZTogRXZvU3RlcHBlckV2ZW50KTogT2JzZXJ2YWJsZTxFdm9TdGVwcGVyRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnRzJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50ID09PSB0eXBlKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBlbWl0KHR5cGU6IEV2b1N0ZXBwZXJFdmVudCkge1xuICAgICAgICB0aGlzLmV2ZW50cyQubmV4dCh0eXBlKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input, ContentChild, TemplateRef, Host } from '@angular/core';
|
|
2
|
+
import { EvoStepperEvent } from '../evo-stepper-events';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../evo-stepper-events";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class EvoStepperItemComponent {
|
|
7
|
+
constructor(stepperEvents) {
|
|
8
|
+
this.stepperEvents = stepperEvents;
|
|
9
|
+
this.isSelected = false;
|
|
10
|
+
}
|
|
11
|
+
ngOnChanges(changes) {
|
|
12
|
+
const { firstChange } = changes.label;
|
|
13
|
+
if (!firstChange) {
|
|
14
|
+
this.stepperEvents.emit(EvoStepperEvent.LABEL_CHANGED);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperItemComponent, deps: [{ token: i1.EvoStepperEvents, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoStepperItemComponent, selector: "evo-stepper-item", inputs: { label: "label" }, queries: [{ propertyName: "contentTemp", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-stepper-content\" *ngIf=\"isSelected\">\n <ng-container *ngIf=\"contentTemp\">\n <ng-container *ngTemplateOutlet=\"contentTemp\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!contentTemp\">\n <ng-content></ng-content>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperItemComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: 'evo-stepper-item', template: "<div class=\"evo-stepper-content\" *ngIf=\"isSelected\">\n <ng-container *ngIf=\"contentTemp\">\n <ng-container *ngTemplateOutlet=\"contentTemp\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!contentTemp\">\n <ng-content></ng-content>\n </ng-container>\n</div>" }]
|
|
23
|
+
}], ctorParameters: () => [{ type: i1.EvoStepperEvents, decorators: [{
|
|
24
|
+
type: Host
|
|
25
|
+
}] }], propDecorators: { label: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], contentTemp: [{
|
|
28
|
+
type: ContentChild,
|
|
29
|
+
args: [TemplateRef]
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN0ZXBwZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tc3RlcHBlci9ldm8tc3RlcHBlci1pdGVtL2V2by1zdGVwcGVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN0ZXBwZXIvZXZvLXN0ZXBwZXItaXRlbS9ldm8tc3RlcHBlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQTRCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBTzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFRaEMsWUFFWSxhQUErQjtRQUEvQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFOM0MsZUFBVSxHQUFHLEtBQUssQ0FBQztJQU9mLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNELENBQUM7SUFDTCxDQUFDOytHQW5CUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2SEFNbEIsV0FBVyxxRUNkN0IsNlJBT007OzRGRENPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxrQkFBa0I7OzBCQWF2QixJQUFJO3lDQVBBLEtBQUs7c0JBQWIsS0FBSztnQkFJcUIsV0FBVztzQkFBckMsWUFBWTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdm9TdGVwcGVyRXZlbnQsIEV2b1N0ZXBwZXJFdmVudHMgfSBmcm9tICcuLi9ldm8tc3RlcHBlci1ldmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1zdGVwcGVyLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tc3RlcHBlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc3RlcHBlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEV2b1N0ZXBwZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBpc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSBjb250ZW50VGVtcDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASG9zdCgpXG4gICAgICAgIHByaXZhdGUgc3RlcHBlckV2ZW50czogRXZvU3RlcHBlckV2ZW50c1xuICAgICkgeyB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3RDaGFuZ2UgfSA9IGNoYW5nZXMubGFiZWw7XG5cbiAgICAgICAgaWYgKCFmaXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyRXZlbnRzLmVtaXQoRXZvU3RlcHBlckV2ZW50LkxBQkVMX0NIQU5HRUQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXN0ZXBwZXItY29udGVudFwiICpuZ0lmPVwiaXNTZWxlY3RlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudFRlbXBcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Component, Input, ContentChildren, Output, EventEmitter, } from '@angular/core';
|
|
2
|
+
import { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { concat, asyncScheduler, of, scheduled, merge } from 'rxjs';
|
|
5
|
+
import { EvoStepperEvent, EvoStepperEvents } from './evo-stepper-events';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./evo-stepper-events";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "../../directives/evo-ui-class.directive";
|
|
10
|
+
export class EvoStepperComponent {
|
|
11
|
+
constructor(cd, stepperEvents) {
|
|
12
|
+
this.cd = cd;
|
|
13
|
+
this.stepperEvents = stepperEvents;
|
|
14
|
+
this.currentStepIndex = 0;
|
|
15
|
+
this.clickableItems = false;
|
|
16
|
+
this.onChange = new EventEmitter();
|
|
17
|
+
this.clickItem = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this.stepsList$ = concat(scheduled(of(null), asyncScheduler), merge(this.stepComponentsList.changes, this.stepperEvents.getEvents(EvoStepperEvent.LABEL_CHANGED))).pipe(map(() => this.getStepsList()));
|
|
21
|
+
this.cd.detectChanges();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (this.stepComponentsList && changes.currentStepIndex !== undefined) {
|
|
25
|
+
const index = changes.currentStepIndex.currentValue;
|
|
26
|
+
this.changeCurrentStep(index);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
getStepsList() {
|
|
30
|
+
const currentStepComponent = this.stepComponentsList.find((stepComponent, i) => i === this.currentStepIndex);
|
|
31
|
+
currentStepComponent.isSelected = true;
|
|
32
|
+
return this.stepComponentsList.map(({ label }) => ({ label }));
|
|
33
|
+
}
|
|
34
|
+
changeCurrentStep(index) {
|
|
35
|
+
this.stepComponentsList.forEach((step, i) => step.isSelected = (index === i));
|
|
36
|
+
this.currentStepIndex = index;
|
|
37
|
+
this.onChange.emit(index);
|
|
38
|
+
this.cd.markForCheck();
|
|
39
|
+
}
|
|
40
|
+
handleItemClick(index) {
|
|
41
|
+
if (this.clickableItems) {
|
|
42
|
+
this.clickItem.emit(index);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.EvoStepperEvents }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoStepperComponent, selector: "evo-stepper", inputs: { currentStepIndex: "currentStepIndex", clickableItems: "clickableItems" }, outputs: { onChange: "onChange", clickItem: "clickItem" }, providers: [
|
|
47
|
+
EvoStepperEvents,
|
|
48
|
+
], queries: [{ propertyName: "stepComponentsList", predicate: EvoStepperItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-stepper\">\n\n <ng-container\n *ngIf=\"stepsList$ | async as stepsList\"\n >\n\n <div class=\"evo-stepper__current-step-name\">{{stepsList[currentStepIndex].label}}</div>\n\n <!-- List -->\n <div class=\"evo-stepper__list\">\n <div\n class=\"evo-stepper__item\"\n *ngFor=\"let step of stepsList; index as i\"\n [evoUiClass]=\"{'active': currentStepIndex == i, 'completed': i < currentStepIndex, 'clickable': clickableItems}\"\n >\n\n <div\n class=\"evo-stepper__item-inner\"\n (click)=\"handleItemClick(i)\"\n >\n\n <div class=\"evo-stepper__item-point\">\n <div class=\"evo-stepper__item-number\">{{i + 1}}</div>\n </div>\n\n <div class=\"evo-stepper__item-name\">{{step.label}}</div>\n\n </div>\n\n </div>\n </div>\n\n </ng-container>\n\n <!-- Content -->\n <ng-content></ng-content>\n\n</div>\n", styles: [":host{display:block}.evo-stepper__current-step-name{display:none}.evo-stepper__list{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;margin-bottom:40px}.evo-stepper__item{position:relative;display:flex;flex:1;flex-direction:column;justify-content:flex-start;align-items:center;padding:0 10px;text-align:center}.evo-stepper__item:before,.evo-stepper__item:after{position:absolute;top:13px;display:block;content:\"\";height:2px;background:#91b1b8}.evo-stepper__item:before{right:calc(50% + 16px);left:0}.evo-stepper__item:after{right:0;left:calc(50% + 16px)}.evo-stepper__item:first-child:before{display:none}.evo-stepper__item:last-child:after{display:none}.evo-stepper__item_completed:before,.evo-stepper__item_completed:after{background:#21c68b}.evo-stepper__item_completed .evo-stepper__item-point{background:#21c68b}.evo-stepper__item_completed .evo-stepper__item-point:before{top:6px}.evo-stepper__item_completed .evo-stepper__item-number{top:-24px}.evo-stepper__item_completed .evo-stepper__item-name{color:#21c68b}.evo-stepper__item_completed.evo-stepper__item_clickable .evo-stepper__item-inner{cursor:pointer}.evo-stepper__item_completed.evo-stepper__item_clickable .evo-stepper__item-point:hover{background:#4dd1a2}.evo-stepper__item_active:before{background:#21c68b}.evo-stepper__item_active:after{background:#91b1b8}.evo-stepper__item_active .evo-stepper__item-name{color:#21c68b}.evo-stepper__item_active .evo-stepper__item-point{background:#21c68b}.evo-stepper__item-inner{display:flex;flex-direction:column;align-items:center}.evo-stepper__item-point{position:relative;width:28px;height:28px;overflow:hidden;color:#fff;line-height:28px;text-align:center;background:#91b1b8;border-radius:50%;transition:background .3s}.evo-stepper__item-point:before{position:absolute;top:24px;left:11px;display:block;content:\"\";width:6px;height:12px;border-right:2px solid #FFFFFF;border-bottom:2px solid #FFFFFF;transform:rotate(45deg);transition:top .3s}.evo-stepper__item-number{position:relative;top:0;font-weight:600;transition:top .3s}.evo-stepper__item-name{margin-top:10px;color:#91b1b8;font-weight:600;transition:color .3s}@media (max-width: 768px){.evo-stepper__current-step-name{display:block;margin-bottom:12px;color:#21c68b;font-weight:600;text-align:center}.evo-stepper__list{margin-bottom:30px}.evo-stepper__item:before,.evo-stepper__item:after{top:7px}.evo-stepper__item:before{right:calc(50% + 10px)}.evo-stepper__item:after{left:calc(50% + 10px)}.evo-stepper__item_active .evo-stepper__item-point,.evo-stepper__item_completed .evo-stepper__item-point{border:2px solid #21C68B}.evo-stepper__item_completed .evo-stepper__item-point:before{display:none}.evo-stepper__item-point{width:16px;height:16px;background-color:transparent;border:2px solid #91B1B8}.evo-stepper__item-name,.evo-stepper__item-number{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'evo-stepper', providers: [
|
|
53
|
+
EvoStepperEvents,
|
|
54
|
+
], template: "<div class=\"evo-stepper\">\n\n <ng-container\n *ngIf=\"stepsList$ | async as stepsList\"\n >\n\n <div class=\"evo-stepper__current-step-name\">{{stepsList[currentStepIndex].label}}</div>\n\n <!-- List -->\n <div class=\"evo-stepper__list\">\n <div\n class=\"evo-stepper__item\"\n *ngFor=\"let step of stepsList; index as i\"\n [evoUiClass]=\"{'active': currentStepIndex == i, 'completed': i < currentStepIndex, 'clickable': clickableItems}\"\n >\n\n <div\n class=\"evo-stepper__item-inner\"\n (click)=\"handleItemClick(i)\"\n >\n\n <div class=\"evo-stepper__item-point\">\n <div class=\"evo-stepper__item-number\">{{i + 1}}</div>\n </div>\n\n <div class=\"evo-stepper__item-name\">{{step.label}}</div>\n\n </div>\n\n </div>\n </div>\n\n </ng-container>\n\n <!-- Content -->\n <ng-content></ng-content>\n\n</div>\n", styles: [":host{display:block}.evo-stepper__current-step-name{display:none}.evo-stepper__list{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;margin-bottom:40px}.evo-stepper__item{position:relative;display:flex;flex:1;flex-direction:column;justify-content:flex-start;align-items:center;padding:0 10px;text-align:center}.evo-stepper__item:before,.evo-stepper__item:after{position:absolute;top:13px;display:block;content:\"\";height:2px;background:#91b1b8}.evo-stepper__item:before{right:calc(50% + 16px);left:0}.evo-stepper__item:after{right:0;left:calc(50% + 16px)}.evo-stepper__item:first-child:before{display:none}.evo-stepper__item:last-child:after{display:none}.evo-stepper__item_completed:before,.evo-stepper__item_completed:after{background:#21c68b}.evo-stepper__item_completed .evo-stepper__item-point{background:#21c68b}.evo-stepper__item_completed .evo-stepper__item-point:before{top:6px}.evo-stepper__item_completed .evo-stepper__item-number{top:-24px}.evo-stepper__item_completed .evo-stepper__item-name{color:#21c68b}.evo-stepper__item_completed.evo-stepper__item_clickable .evo-stepper__item-inner{cursor:pointer}.evo-stepper__item_completed.evo-stepper__item_clickable .evo-stepper__item-point:hover{background:#4dd1a2}.evo-stepper__item_active:before{background:#21c68b}.evo-stepper__item_active:after{background:#91b1b8}.evo-stepper__item_active .evo-stepper__item-name{color:#21c68b}.evo-stepper__item_active .evo-stepper__item-point{background:#21c68b}.evo-stepper__item-inner{display:flex;flex-direction:column;align-items:center}.evo-stepper__item-point{position:relative;width:28px;height:28px;overflow:hidden;color:#fff;line-height:28px;text-align:center;background:#91b1b8;border-radius:50%;transition:background .3s}.evo-stepper__item-point:before{position:absolute;top:24px;left:11px;display:block;content:\"\";width:6px;height:12px;border-right:2px solid #FFFFFF;border-bottom:2px solid #FFFFFF;transform:rotate(45deg);transition:top .3s}.evo-stepper__item-number{position:relative;top:0;font-weight:600;transition:top .3s}.evo-stepper__item-name{margin-top:10px;color:#91b1b8;font-weight:600;transition:color .3s}@media (max-width: 768px){.evo-stepper__current-step-name{display:block;margin-bottom:12px;color:#21c68b;font-weight:600;text-align:center}.evo-stepper__list{margin-bottom:30px}.evo-stepper__item:before,.evo-stepper__item:after{top:7px}.evo-stepper__item:before{right:calc(50% + 10px)}.evo-stepper__item:after{left:calc(50% + 10px)}.evo-stepper__item_active .evo-stepper__item-point,.evo-stepper__item_completed .evo-stepper__item-point{border:2px solid #21C68B}.evo-stepper__item_completed .evo-stepper__item-point:before{display:none}.evo-stepper__item-point{width:16px;height:16px;background-color:transparent;border:2px solid #91B1B8}.evo-stepper__item-name,.evo-stepper__item-number{display:none}}\n"] }]
|
|
55
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.EvoStepperEvents }], propDecorators: { stepComponentsList: [{
|
|
56
|
+
type: ContentChildren,
|
|
57
|
+
args: [EvoStepperItemComponent]
|
|
58
|
+
}], currentStepIndex: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], clickableItems: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], onChange: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}], clickItem: [{
|
|
65
|
+
type: Output
|
|
66
|
+
}] } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN0ZXBwZXIvZXZvLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN0ZXBwZXIvZXZvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFBRSxLQUFLLEVBQWEsZUFBZSxFQUNsQixNQUFNLEVBQUUsWUFBWSxHQUNqRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVV6RSxNQUFNLE9BQU8sbUJBQW1CO0lBYzVCLFlBQ1ksRUFBcUIsRUFDckIsYUFBK0I7UUFEL0IsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBVmxDLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUVyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0QyxjQUFTLEdBQUksSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUsvQyxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUNwQixTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUNuQyxLQUFLLENBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUM5RCxDQUNKLENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQztZQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdHLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDekIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7K0dBeERRLG1CQUFtQjttR0FBbkIsbUJBQW1CLHFMQUpqQjtZQUNQLGdCQUFnQjtTQUNuQiw2REFNZ0IsdUJBQXVCLGtEQ3JCNUMsMjdCQXNDQTs7NEZEckJhLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDSSxhQUFhLGFBR1o7d0JBQ1AsZ0JBQWdCO3FCQUNuQjtxSEFNeUMsa0JBQWtCO3NCQUEzRCxlQUFlO3VCQUFDLHVCQUF1QjtnQkFFL0IsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QsIENvbnRlbnRDaGlsZHJlbixcbiAgICBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdm9TdGVwcGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZXZvLXN0ZXBwZXItaXRlbS9ldm8tc3RlcHBlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb25jYXQsIGFzeW5jU2NoZWR1bGVyLCBvZiwgc2NoZWR1bGVkLCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXZvU3RlcHBlckV2ZW50LCBFdm9TdGVwcGVyRXZlbnRzIH0gZnJvbSAnLi9ldm8tc3RlcHBlci1ldmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1zdGVwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyAnLi9ldm8tc3RlcHBlci5jb21wb25lbnQuc2NzcycgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRXZvU3RlcHBlckV2ZW50cyxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEV2b1N0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gICAgc3RlcHNMaXN0JDogT2JzZXJ2YWJsZTx7IGxhYmVsOiBzdHJpbmcgfVtdPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXZvU3RlcHBlckl0ZW1Db21wb25lbnQpIHN0ZXBDb21wb25lbnRzTGlzdDogUXVlcnlMaXN0PEV2b1N0ZXBwZXJJdGVtQ29tcG9uZW50PjtcblxuICAgIEBJbnB1dCgpIGN1cnJlbnRTdGVwSW5kZXggPSAwO1xuXG4gICAgQElucHV0KCkgY2xpY2thYmxlSXRlbXMgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbSAgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBzdGVwcGVyRXZlbnRzOiBFdm9TdGVwcGVyRXZlbnRzLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdGVwc0xpc3QkID0gY29uY2F0KFxuICAgICAgICAgICAgc2NoZWR1bGVkKG9mKG51bGwpLCBhc3luY1NjaGVkdWxlciksXG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXBDb21wb25lbnRzTGlzdC5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlckV2ZW50cy5nZXRFdmVudHMoRXZvU3RlcHBlckV2ZW50LkxBQkVMX0NIQU5HRUQpXG4gICAgICAgICAgICApXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFN0ZXBzTGlzdCgpKSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAodGhpcy5zdGVwQ29tcG9uZW50c0xpc3QgJiYgY2hhbmdlcy5jdXJyZW50U3RlcEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gY2hhbmdlcy5jdXJyZW50U3RlcEluZGV4LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQ3VycmVudFN0ZXAoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U3RlcHNMaXN0KCkge1xuICAgICAgICBjb25zdCBjdXJyZW50U3RlcENvbXBvbmVudCA9IHRoaXMuc3RlcENvbXBvbmVudHNMaXN0LmZpbmQoKHN0ZXBDb21wb25lbnQsIGkpID0+IGkgPT09IHRoaXMuY3VycmVudFN0ZXBJbmRleCk7XG4gICAgICAgIGN1cnJlbnRTdGVwQ29tcG9uZW50LmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwQ29tcG9uZW50c0xpc3QubWFwKCh7IGxhYmVsIH0pID0+ICh7IGxhYmVsIH0pKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDdXJyZW50U3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RlcENvbXBvbmVudHNMaXN0LmZvckVhY2goKHN0ZXAsIGkpID0+IHN0ZXAuaXNTZWxlY3RlZCA9IChpbmRleCA9PT0gaSkpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KGluZGV4KTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJdGVtQ2xpY2soaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5jbGlja2FibGVJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW0uZW1pdChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXN0ZXBwZXJcIj5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJzdGVwc0xpc3QkIHwgYXN5bmMgYXMgc3RlcHNMaXN0XCJcbiAgPlxuXG4gICAgPGRpdiBjbGFzcz1cImV2by1zdGVwcGVyX19jdXJyZW50LXN0ZXAtbmFtZVwiPnt7c3RlcHNMaXN0W2N1cnJlbnRTdGVwSW5kZXhdLmxhYmVsfX08L2Rpdj5cblxuICAgIDwhLS0gTGlzdCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZXZvLXN0ZXBwZXJfX2xpc3RcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJldm8tc3RlcHBlcl9faXRlbVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzTGlzdDsgaW5kZXggYXMgaVwiXG4gICAgICAgIFtldm9VaUNsYXNzXT1cInsnYWN0aXZlJzogY3VycmVudFN0ZXBJbmRleCA9PSBpLCAnY29tcGxldGVkJzogaSA8IGN1cnJlbnRTdGVwSW5kZXgsICdjbGlja2FibGUnOiBjbGlja2FibGVJdGVtc31cIlxuICAgICAgICA+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZXZvLXN0ZXBwZXJfX2l0ZW0taW5uZXJcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soaSlcIlxuICAgICAgICAgID5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJldm8tc3RlcHBlcl9faXRlbS1wb2ludFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXN0ZXBwZXJfX2l0ZW0tbnVtYmVyXCI+e3tpICsgMX19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXN0ZXBwZXJfX2l0ZW0tbmFtZVwiPnt7c3RlcC5sYWJlbH19PC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { EvoStepperComponent } from './evo-stepper.component';
|
|
4
|
+
import { EvoStepperItemComponent } from './evo-stepper-item/evo-stepper-item.component';
|
|
5
|
+
import { EvoUiKitModule } from '../../evo-ui-kit.module';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class EvoStepperModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperModule, declarations: [EvoStepperComponent, EvoStepperItemComponent], imports: [CommonModule,
|
|
10
|
+
EvoUiKitModule], exports: [EvoStepperComponent, EvoStepperItemComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperModule, imports: [CommonModule,
|
|
12
|
+
EvoUiKitModule] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoStepperModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [
|
|
18
|
+
CommonModule,
|
|
19
|
+
EvoUiKitModule,
|
|
20
|
+
],
|
|
21
|
+
declarations: [EvoStepperComponent, EvoStepperItemComponent],
|
|
22
|
+
exports: [EvoStepperComponent, EvoStepperItemComponent],
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN0ZXBwZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN0ZXBwZXIvZXZvLXN0ZXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFVekQsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBSFgsbUJBQW1CLEVBQUUsdUJBQXVCLGFBSDFELFlBQVk7WUFDWixjQUFjLGFBR0wsbUJBQW1CLEVBQUUsdUJBQXVCO2dIQUU1QyxnQkFBZ0IsWUFOekIsWUFBWTtZQUNaLGNBQWM7OzRGQUtMLGdCQUFnQjtrQkFSNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRSxDQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFFO29CQUM5RCxPQUFPLEVBQUUsQ0FBRSxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBRTtpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRXZvU3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZXZvLXN0ZXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV2b1N0ZXBwZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ldm8tc3RlcHBlci1pdGVtL2V2by1zdGVwcGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEV2b1VpS2l0TW9kdWxlIH0gZnJvbSAnLi4vLi4vZXZvLXVpLWtpdC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEV2b1VpS2l0TW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFsgRXZvU3RlcHBlckNvbXBvbmVudCwgRXZvU3RlcHBlckl0ZW1Db21wb25lbnQgXSxcbiAgZXhwb3J0czogWyBFdm9TdGVwcGVyQ29tcG9uZW50LCBFdm9TdGVwcGVySXRlbUNvbXBvbmVudCBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9TdGVwcGVyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Component, HostListener, Inject, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { delay } from 'rxjs/operators';
|
|
4
|
+
import { WINDOW } from '../../services/window.service';
|
|
5
|
+
import { DOCUMENT } from '@angular/common';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/router";
|
|
9
|
+
import * as i3 from "../../directives/evo-ui-class.directive";
|
|
10
|
+
import * as i4 from "ngx-page-scroll";
|
|
11
|
+
/**
|
|
12
|
+
* scroll - [default] link type with auto scroll to section on the same page
|
|
13
|
+
* outer - outer link (not accesible with router)
|
|
14
|
+
* router - router type link
|
|
15
|
+
*/
|
|
16
|
+
export var EvoSubmenuType;
|
|
17
|
+
(function (EvoSubmenuType) {
|
|
18
|
+
EvoSubmenuType[EvoSubmenuType["scroll"] = 0] = "scroll";
|
|
19
|
+
EvoSubmenuType[EvoSubmenuType["outer"] = 1] = "outer";
|
|
20
|
+
EvoSubmenuType[EvoSubmenuType["router"] = 2] = "router";
|
|
21
|
+
})(EvoSubmenuType || (EvoSubmenuType = {}));
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated use `EvoTabsComponent`
|
|
24
|
+
*/
|
|
25
|
+
export class EvoSubmenuComponent {
|
|
26
|
+
get items() {
|
|
27
|
+
return this._items;
|
|
28
|
+
}
|
|
29
|
+
set items(items) {
|
|
30
|
+
this._items = items;
|
|
31
|
+
if (this.menuType === EvoSubmenuType.scroll) {
|
|
32
|
+
this.calculateActiveItemIndex();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
constructor(elRef, window, document) {
|
|
36
|
+
this.elRef = elRef;
|
|
37
|
+
this.window = window;
|
|
38
|
+
this.document = document;
|
|
39
|
+
this.menuType = EvoSubmenuType.scroll;
|
|
40
|
+
this.offsetLeft = false;
|
|
41
|
+
this.isFloated = false;
|
|
42
|
+
this.activeItemIndex = 0;
|
|
43
|
+
this.evoSubmenuType = EvoSubmenuType;
|
|
44
|
+
this._items = [];
|
|
45
|
+
this.submenuOffset = 0;
|
|
46
|
+
this.isWindowResize = false;
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() { }
|
|
49
|
+
onWindowResize() {
|
|
50
|
+
if (this.menuType === EvoSubmenuType.scroll) {
|
|
51
|
+
this.isWindowResize = true;
|
|
52
|
+
this.submenuOffset = this.elRef.nativeElement.offsetTop;
|
|
53
|
+
this.onWindowScroll();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
onWindowScroll() {
|
|
57
|
+
if (this.menuType === EvoSubmenuType.scroll) {
|
|
58
|
+
this.submenuOffset = this.elRef.nativeElement.offsetTop;
|
|
59
|
+
this.isFloated = this.window.pageYOffset + this.headerHeight >= this.submenuOffset;
|
|
60
|
+
this.calculateActiveItemIndex();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ngAfterViewInit() {
|
|
64
|
+
if (this.menuType === EvoSubmenuType.scroll) {
|
|
65
|
+
this.submenuOffset = this.elRef.nativeElement.offsetTop;
|
|
66
|
+
this.header = this.document.querySelector('evo-header');
|
|
67
|
+
if (this.header) {
|
|
68
|
+
this.headerHeight = this.header.getBoundingClientRect().height;
|
|
69
|
+
}
|
|
70
|
+
this.onWindowScroll();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
calculateActiveItemIndex() {
|
|
74
|
+
let newIndex;
|
|
75
|
+
const { documentElement } = this.document;
|
|
76
|
+
if (documentElement.clientHeight + documentElement.scrollTop >= documentElement.scrollHeight) {
|
|
77
|
+
newIndex = this.items.length - 1;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
newIndex =
|
|
81
|
+
this.items
|
|
82
|
+
.map((item) => {
|
|
83
|
+
const anchorSection = this.document.querySelector('#' + item.href);
|
|
84
|
+
if (anchorSection) {
|
|
85
|
+
return anchorSection.getBoundingClientRect().top - item.scrollOffset - 1;
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
.filter((value) => value < 0).length - 1;
|
|
89
|
+
}
|
|
90
|
+
if (this.isWindowResize || newIndex !== this.activeItemIndex) {
|
|
91
|
+
this.activeItemIndex = newIndex;
|
|
92
|
+
this.isWindowResize = false;
|
|
93
|
+
// Timeout to get correct container scrollWidth
|
|
94
|
+
of({})
|
|
95
|
+
.pipe(delay(0))
|
|
96
|
+
.subscribe(() => {
|
|
97
|
+
this.checkHorizontalScroll();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
checkHorizontalScroll() {
|
|
102
|
+
const container = this.container.nativeElement;
|
|
103
|
+
if (container.scrollWidth > container.clientWidth) {
|
|
104
|
+
const items = container.querySelectorAll('.evo-submenu__item');
|
|
105
|
+
const item = items ? items[this.activeItemIndex] : null;
|
|
106
|
+
if (item) {
|
|
107
|
+
const itemOffset = item.getBoundingClientRect().left;
|
|
108
|
+
if (itemOffset >= 0) {
|
|
109
|
+
if (item.clientWidth + itemOffset > container.clientWidth) {
|
|
110
|
+
container.scroll({
|
|
111
|
+
left: container.scrollLeft + item.clientWidth + itemOffset - container.clientWidth,
|
|
112
|
+
behavior: 'smooth',
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
container.scroll({
|
|
118
|
+
left: container.scrollLeft + itemOffset,
|
|
119
|
+
behavior: 'smooth',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
container.scroll({
|
|
125
|
+
left: 0,
|
|
126
|
+
behavior: 'smooth',
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSubmenuComponent, deps: [{ token: i0.ElementRef }, { token: WINDOW }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoSubmenuComponent, selector: "evo-submenu", inputs: { menuType: "menuType", offsetLeft: "offsetLeft", items: "items" }, host: { listeners: { "window:resize": "onWindowResize()", "window:scroll": "onWindowScroll()" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\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: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "directive", type: i4.NgxPageScrollDirective, selector: "[pageScroll]", inputs: ["routerLink", "href", "fragment", "pageScrollTarget", "pageScrollHorizontal", "pageScrollOffset", "pageScrollDuration", "pageScrollSpeed", "pageScrollEasing", "pageScrollInterruptible", "pageScrollInView", "pageScrollAdjustHash", "pageScroll"], outputs: ["pageScrollFinish"] }] }); }
|
|
133
|
+
}
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSubmenuComponent, decorators: [{
|
|
135
|
+
type: Component,
|
|
136
|
+
args: [{ selector: 'evo-submenu', template: "<section class=\"evo-submenu\">\n <div class=\"evo-submenu__wrapper\" [evoUiClass]=\"{affix: isFloated, 'has-offset-left': offsetLeft}\">\n <div #container class=\"container evo-submenu__container\">\n <ul class=\"evo-submenu__list\">\n <ng-container *ngIf=\"menuType === evoSubmenuType.scroll\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n [evoUiClass]=\"{active: index === activeItemIndex}\"\n role=\"presentation\">\n <a class=\"evo-submenu__link\"\n [pageScrollDuration]=\"200\"\n [pageScrollOffset]=\"item.scrollOffset || 0\"\n pageScroll\n href=\"#{{ item.href }}\">{{ item.title }}</a>\n </li>\n </ng-container>\n <ng-container *ngIf=\"menuType === evoSubmenuType.router || menuType === evoSubmenuType.outer\">\n <li *ngFor=\"let item of items; let index = index;\"\n class=\"evo-submenu__item\"\n routerLinkActive=\"evo-submenu__item_active\"\n [ngClass]=\"{'evo-submenu__item_active': item.isActive}\"\n role=\"presentation\">\n <ng-container *ngIf=\"item.type === evoSubmenuType.router || (! item.type && menuType === evoSubmenuType.router)\">\n <a class=\"evo-submenu__link\"\n [routerLink]=\"[item.href]\">{{ item.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"item.type === evoSubmenuType.outer || (! item.type && menuType === evoSubmenuType.outer)\">\n <a class=\"evo-submenu__link\"\n href=\"{{ item.href }}\"\n [target]=\"item.target || '_self'\"\n >{{ item.title }}</a>\n </ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</section>\n", styles: [".evo-submenu{height:60px;margin-top:38px}.evo-submenu__wrapper{height:60px;overflow:hidden;background-color:#fff;border-bottom:solid 1px #C6C6C6}.evo-submenu__wrapper_affix{position:fixed;top:80px;right:0;left:0;z-index:110;box-shadow:0 1px 10px #0003,0 4px 5px #0000001f,0 2px 4px #00000024}.evo-submenu__container{padding-bottom:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.evo-submenu__button{display:none}@media (min-width: 992px){.evo-submenu__button{display:block;float:right;margin-top:12px}}.evo-submenu__list{display:flex;float:left;margin:0;padding:0;list-style:none}.evo-submenu__item_active .evo-submenu__link{color:#f05023}.evo-submenu__item_active .evo-submenu__link:before{position:absolute;right:15px;bottom:0;left:15px;height:3px;background-color:#f05023;content:\"\"}.evo-submenu__link,.evo-submenu__link:hover,.evo-submenu__link:focus{position:relative;display:flex;align-items:center;height:60px;padding:20px 15px;color:#212121;font-size:14px;font-family:var(--evo-font-secondary);white-space:nowrap;text-transform:uppercase;text-decoration:none}\n"] }]
|
|
137
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
138
|
+
type: Inject,
|
|
139
|
+
args: [WINDOW]
|
|
140
|
+
}] }, { type: undefined, decorators: [{
|
|
141
|
+
type: Inject,
|
|
142
|
+
args: [DOCUMENT]
|
|
143
|
+
}] }], propDecorators: { menuType: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], offsetLeft: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], items: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], container: [{
|
|
150
|
+
type: ViewChild,
|
|
151
|
+
args: ['container', { static: true }]
|
|
152
|
+
}], onWindowResize: [{
|
|
153
|
+
type: HostListener,
|
|
154
|
+
args: ['window:resize', []]
|
|
155
|
+
}], onWindowScroll: [{
|
|
156
|
+
type: HostListener,
|
|
157
|
+
args: ['window:scroll', []]
|
|
158
|
+
}] } });
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXN1Ym1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXN1Ym1lbnUvZXZvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQXNCLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFekM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsdURBQU0sQ0FBQTtJQUNOLHFEQUFLLENBQUE7SUFDTCx1REFBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBa0JEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUtELElBQWEsS0FBSyxDQUFDLEtBQXVCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFD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LFNBQVMsQ0FBQyxNQUFNLENBQUM7NEJBQ2IsSUFBSSxFQUFFLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVc7NEJBQ2xGLFFBQVEsRUFBRSxRQUFRO3lCQUNyQixDQUFDLENBQUM7b0JBQ1AsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osU0FBUyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixJQUFJLEVBQUUsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVO3dCQUN2QyxRQUFRLEVBQUUsUUFBUTtxQkFDckIsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osU0FBUyxDQUFDLE1BQU0sQ0FBQztvQkFDYixJQUFJLEVBQUUsQ0FBQztvQkFDUCxRQUFRLEVBQUUsUUFBUTtpQkFDckIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOytHQS9IUSxtQkFBbUIsNENBOEJoQixNQUFNLGFBQ04sUUFBUTttR0EvQlgsbUJBQW1CLHdWQ3BDaEMsNHNFQXNDQTs7NEZERmEsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNJLGFBQWE7OzBCQXFDbEIsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLFFBQVE7eUNBMUJYLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFTyxLQUFLO3NCQUFqQixLQUFLO2dCQU9rQyxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBc0J0QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBVWpDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogc2Nyb2xsIC0gW2RlZmF1bHRdIGxpbmsgdHlwZSB3aXRoIGF1dG8gc2Nyb2xsIHRvIHNlY3Rpb24gb24gdGhlIHNhbWUgcGFnZVxuICogb3V0ZXIgLSBvdXRlciBsaW5rIChub3QgYWNjZXNpYmxlIHdpdGggcm91dGVyKVxuICogcm91dGVyIC0gcm91dGVyIHR5cGUgbGlua1xuICovXG5leHBvcnQgZW51bSBFdm9TdWJtZW51VHlwZSB7XG4gICAgc2Nyb2xsLFxuICAgIG91dGVyLFxuICAgIHJvdXRlcixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdm9TdWJtZW51SXRlbSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBocmVmOiBzdHJpbmc7XG4gICAgdHlwZT86IEV2b1N1Ym1lbnVUeXBlOyAvLyBpZiBtZW51VHlwZSA9PT0gc2Nyb2xsLCB0aGlzIHByb3BlcnR5IGlzIGlnbm9yZWQgKGZvciBub3cpXG4gICAgdGFyZ2V0Pzogc3RyaW5nOyAvLyB1c2VkIG9ubHkgZm9yIG91dGVyIHR5cGVcbiAgICBpc0FjdGl2ZT86IGJvb2xlYW47IC8vIHVzZWQgb25seSBmb3Igb3V0ZXIgdHlwZVxuICAgIGluZGV4PzogbnVtYmVyO1xuICAgIHNjcm9sbE9mZnNldD86IG51bWJlcjtcbiAgICBzY3JvbGxEdXJhdGlvbj86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tc3VibWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1zdWJtZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tc3VibWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBFdm9UYWJzQ29tcG9uZW50YFxuICovXG5leHBvcnQgY2xhc3MgRXZvU3VibWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgZ2V0IGl0ZW1zKCk6IEV2b1N1Ym1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbWVudVR5cGU6IEV2b1N1Ym1lbnVUeXBlID0gRXZvU3VibWVudVR5cGUuc2Nyb2xsO1xuICAgIEBJbnB1dCgpIG9mZnNldExlZnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogRXZvU3VibWVudUl0ZW1bXSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zO1xuICAgICAgICBpZiAodGhpcy5tZW51VHlwZSA9PT0gRXZvU3VibWVudVR5cGUuc2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUFjdGl2ZUl0ZW1JbmRleCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge3N0YXRpYzogdHJ1ZX0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIGlzRmxvYXRlZCA9IGZhbHNlO1xuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG4gICAgZXZvU3VibWVudVR5cGUgPSBFdm9TdWJtZW51VHlwZTtcblxuICAgIHByaXZhdGUgX2l0ZW1zOiBFdm9TdWJtZW51SXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGhlYWRlckhlaWdodDogbnVtYmVyO1xuICAgIHByaXZhdGUgc3VibWVudU9mZnNldCA9IDA7XG4gICAgcHJpdmF0ZSBpc1dpbmRvd1Jlc2l6ZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgaGVhZGVyOiBFbGVtZW50IHwgbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcm90ZWN0ZWQgd2luZG93OiBhbnksXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByb3RlY3RlZCBkb2N1bWVudDogYW55LFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcbiAgICBvbldpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVudVR5cGUgPT09IEV2b1N1Ym1lbnVUeXBlLnNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5pc1dpbmRvd1Jlc2l6ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnVPZmZzZXQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgdGhpcy5vbldpbmRvd1Njcm9sbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxuICAgIG9uV2luZG93U2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5tZW51VHlwZSA9PT0gRXZvU3VibWVudVR5cGUuc2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnVPZmZzZXQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgdGhpcy5pc0Zsb2F0ZWQgPSB0aGlzLndpbmRvdy5wYWdlWU9mZnNldCArIHRoaXMuaGVhZGVySGVpZ2h0ID49IHRoaXMuc3VibWVudU9mZnNldDtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQWN0aXZlSXRlbUluZGV4KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVUeXBlID09PSBFdm9TdWJtZW51VHlwZS5zY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWVudU9mZnNldCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgICAgICB0aGlzLmhlYWRlciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZXZvLWhlYWRlcicpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uV2luZG93U2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUFjdGl2ZUl0ZW1JbmRleCgpIHtcbiAgICAgICAgbGV0IG5ld0luZGV4O1xuICAgICAgICBjb25zdCB7ZG9jdW1lbnRFbGVtZW50fSA9IHRoaXMuZG9jdW1lbnQ7XG5cbiAgICAgICAgaWYgKGRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgKyBkb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID49IGRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpIHtcbiAgICAgICAgICAgIG5ld0luZGV4ID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3SW5kZXggPVxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbTogRXZvU3VibWVudUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFuY2hvclNlY3Rpb24gPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgaXRlbS5ocmVmKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFuY2hvclNlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYW5jaG9yU2VjdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSBpdGVtLnNjcm9sbE9mZnNldCAtIDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHZhbHVlOiBudW1iZXIpID0+IHZhbHVlIDwgMCkubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzV2luZG93UmVzaXplIHx8IG5ld0luZGV4ICE9PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBuZXdJbmRleDtcbiAgICAgICAgICAgIHRoaXMuaXNXaW5kb3dSZXNpemUgPSBmYWxzZTtcblxuICAgICAgICAgICAgLy8gIFRpbWVvdXQgdG8gZ2V0IGNvcnJlY3QgY29udGFpbmVyIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBvZih7fSlcbiAgICAgICAgICAgICAgICAucGlwZShkZWxheSgwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0hvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmIChjb250YWluZXIuc2Nyb2xsV2lkdGggPiBjb250YWluZXIuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldm8tc3VibWVudV9faXRlbScpO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zID8gaXRlbXNbdGhpcy5hY3RpdmVJdGVtSW5kZXhdIDogbnVsbDtcblxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtT2Zmc2V0ID0gaXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1PZmZzZXQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5jbGllbnRXaWR0aCArIGl0ZW1PZmZzZXQgPiBjb250YWluZXIuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5zY3JvbGwoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNvbnRhaW5lci5zY3JvbGxMZWZ0ICsgaXRlbS5jbGllbnRXaWR0aCArIGl0ZW1PZmZzZXQgLSBjb250YWluZXIuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuc2Nyb2xsKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNvbnRhaW5lci5zY3JvbGxMZWZ0ICsgaXRlbU9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250YWluZXIuc2Nyb2xsKHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJldm8tc3VibWVudVwiPlxuICAgIDxkaXYgY2xhc3M9XCJldm8tc3VibWVudV9fd3JhcHBlclwiIFtldm9VaUNsYXNzXT1cInthZmZpeDogaXNGbG9hdGVkLCAnaGFzLW9mZnNldC1sZWZ0Jzogb2Zmc2V0TGVmdH1cIj5cbiAgICAgICAgPGRpdiAjY29udGFpbmVyIGNsYXNzPVwiY29udGFpbmVyIGV2by1zdWJtZW51X19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImV2by1zdWJtZW51X19saXN0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUeXBlID09PSBldm9TdWJtZW51VHlwZS5zY3JvbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tc3VibWVudV9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXZvVWlDbGFzc109XCJ7YWN0aXZlOiBpbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImV2by1zdWJtZW51X19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2Nyb2xsRHVyYXRpb25dPVwiMjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2Nyb2xsT2Zmc2V0XT1cIml0ZW0uc2Nyb2xsT2Zmc2V0IHx8IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVNjcm9sbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiN7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51VHlwZSA9PT0gZXZvU3VibWVudVR5cGUucm91dGVyIHx8IG1lbnVUeXBlID09PSBldm9TdWJtZW51VHlwZS5vdXRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1zdWJtZW51X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJldm8tc3VibWVudV9faXRlbV9hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydldm8tc3VibWVudV9faXRlbV9hY3RpdmUnOiBpdGVtLmlzQWN0aXZlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSBldm9TdWJtZW51VHlwZS5yb3V0ZXIgfHwgKCEgaXRlbS50eXBlICYmIG1lbnVUeXBlID09PSBldm9TdWJtZW51VHlwZS5yb3V0ZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJldm8tc3VibWVudV9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW2l0ZW0uaHJlZl1cIj57eyBpdGVtLnRpdGxlIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSBldm9TdWJtZW51VHlwZS5vdXRlciB8fCAoISBpdGVtLnR5cGUgJiYgbWVudVR5cGUgPT09IGV2b1N1Ym1lbnVUeXBlLm91dGVyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZXZvLXN1Ym1lbnVfX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJ7eyBpdGVtLmhyZWYgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGl0ZW0udGl0bGUgfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|