@acorex/components 7.0.40 → 7.1.0
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/action-sheet/src/action-sheet.interface.d.ts +1 -1
- package/alert/src/alert.component.d.ts +3 -3
- package/avatar/src/avatar.component.d.ts +1 -1
- package/badge/src/badge.component.d.ts +3 -3
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +7 -7
- package/button/src/button-group.component.d.ts +7 -7
- package/button/src/button-item.class.d.ts +1 -1
- package/button/src/button-item.component.d.ts +7 -7
- package/button/src/button.component.d.ts +1 -1
- package/calendar/public-api.d.ts +1 -0
- package/calendar/src/calendar-range.component.d.ts +29 -0
- package/calendar/src/calendar.class.d.ts +55 -6
- package/calendar/src/calendar.component.d.ts +17 -24
- package/calendar/src/calendar.module.d.ts +4 -3
- package/checkbox/src/checkbox.component.d.ts +1 -1
- package/chips/src/chips.component.d.ts +7 -7
- package/collapse/src/collapse-group.component.d.ts +1 -1
- package/collapse/src/collapse.component.d.ts +1 -1
- package/color-palette/src/color-palette-swatches.component.d.ts +1 -1
- package/color-palette/src/color-palette.class.d.ts +1 -1
- package/color-palette/src/color-palette.component.d.ts +1 -1
- package/color-picker/src/color-picker.component.d.ts +20 -17
- package/common/public-api.d.ts +1 -0
- package/common/src/classes/data.class.d.ts +4 -0
- package/common/src/classes/events.class.d.ts +9 -0
- package/common/src/classes/styles.class.d.ts +5 -5
- package/common/src/components/base-component.class.d.ts +6 -9
- package/common/src/components/index.d.ts +1 -0
- package/common/src/components/value-component.class.d.ts +45 -0
- package/common/src/constant/positions.d.ts +1 -1
- package/common/src/directives/auto-focus.directive.d.ts +1 -1
- package/common/src/directives/debounce-time.directive.d.ts +1 -1
- package/common/src/directives/hotkey.directive.d.ts +2 -2
- package/common/src/directives/infinite-scroll.directive.d.ts +1 -1
- package/common/src/services/hotkey.service.d.ts +1 -1
- package/context-menu/src/context-menu.component.d.ts +1 -1
- package/data-pager/src/data-pager-base.component.d.ts +1 -1
- package/data-pager/src/data-pager-info.component.d.ts +1 -1
- package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +1 -1
- package/data-pager/src/data-pager.component.d.ts +1 -1
- package/data-table/src/data-column.directive.d.ts +1 -1
- package/data-table/src/data-table.component.d.ts +1 -1
- package/date-picker/src/datepicker.component.d.ts +15 -15
- package/decorators/src/close-button.component.d.ts +1 -1
- package/decorators/src/icon.component.d.ts +1 -1
- package/decorators/src/overlay.component.d.ts +1 -1
- package/decorators/src/sub-title.component.d.ts +1 -1
- package/decorators/src/text.component.d.ts +1 -1
- package/drawer/src/drawer.component.d.ts +3 -3
- package/dropdown/src/dropdown-panel.component.d.ts +1 -1
- package/esm2022/action-sheet/src/action-sheet.component.mjs +80 -0
- package/{esm2020 → esm2022}/action-sheet/src/action-sheet.module.mjs +5 -5
- package/esm2022/action-sheet/src/action-sheet.service.mjs +93 -0
- package/esm2022/alert/src/alert.component.mjs +188 -0
- package/{esm2020 → esm2022}/alert/src/alert.module.mjs +5 -5
- package/{esm2020 → esm2022}/avatar/src/avatar-group.component.mjs +4 -4
- package/esm2022/avatar/src/avatar.component.mjs +43 -0
- package/{esm2020 → esm2022}/avatar/src/avatar.module.mjs +5 -5
- package/esm2022/badge/src/badge.component.mjs +28 -0
- package/{esm2020 → esm2022}/badge/src/badge.module.mjs +5 -5
- package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +50 -0
- package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +27 -0
- package/{esm2020 → esm2022}/breadcrumbs/src/breadcrumbs.module.mjs +5 -5
- package/esm2022/button/src/button-group.component.mjs +91 -0
- package/esm2022/button/src/button-item.component.mjs +79 -0
- package/esm2022/button/src/button.component.mjs +78 -0
- package/{esm2020 → esm2022}/button/src/button.module.mjs +9 -9
- package/{esm2020 → esm2022}/calendar/public-api.mjs +2 -1
- package/esm2022/calendar/src/calendar-range.component.mjs +174 -0
- package/esm2022/calendar/src/calendar.class.mjs +280 -0
- package/esm2022/calendar/src/calendar.component.mjs +372 -0
- package/esm2022/calendar/src/calendar.module.mjs +23 -0
- package/esm2022/card/src/card.component.mjs +18 -0
- package/{esm2020 → esm2022}/card/src/card.module.mjs +5 -5
- package/esm2022/checkbox/src/checkbox.component.mjs +42 -0
- package/{esm2020 → esm2022}/checkbox/src/checkbox.module.mjs +5 -5
- package/{esm2020 → esm2022}/chips/src/chips.component.mjs +7 -7
- package/{esm2020 → esm2022}/chips/src/chips.module.mjs +5 -5
- package/esm2022/collapse/src/collapse-group.component.mjs +52 -0
- package/esm2022/collapse/src/collapse.component.mjs +47 -0
- package/{esm2020 → esm2022}/collapse/src/collapse.module.mjs +5 -5
- package/esm2022/color-palette/src/color-palette-input.component.mjs +130 -0
- package/esm2022/color-palette/src/color-palette-picker.component.mjs +159 -0
- package/esm2022/color-palette/src/color-palette-preview.component.mjs +62 -0
- package/esm2022/color-palette/src/color-palette-swatches.component.mjs +304 -0
- package/{esm2020 → esm2022}/color-palette/src/color-palette.class.mjs +7 -7
- package/esm2022/color-palette/src/color-palette.component.mjs +75 -0
- package/{esm2020 → esm2022}/color-palette/src/color-palette.module.mjs +19 -19
- package/esm2022/color-picker/src/color-picker.component.mjs +119 -0
- package/{esm2020 → esm2022}/color-picker/src/color-picker.module.mjs +25 -25
- package/esm2022/common/public-api.mjs +17 -0
- package/esm2022/common/src/classes/components.class.mjs +72 -0
- package/esm2022/common/src/classes/data.class.mjs +2 -0
- package/esm2022/common/src/classes/events.class.mjs +96 -0
- package/{esm2020 → esm2022}/common/src/common.module.mjs +13 -13
- package/esm2022/common/src/components/base-component.class.mjs +57 -0
- package/esm2022/common/src/components/button-base-component.class.mjs +69 -0
- package/esm2022/common/src/components/color-component.class.mjs +27 -0
- package/{esm2020 → esm2022}/common/src/components/index.mjs +2 -1
- package/esm2022/common/src/components/interactive-component.class.mjs +63 -0
- package/{esm2020 → esm2022}/common/src/components/look-component.class.mjs +3 -3
- package/esm2022/common/src/components/value-component.class.mjs +206 -0
- package/esm2022/common/src/directives/auto-focus.directive.mjs +57 -0
- package/esm2022/common/src/directives/debounce-time.directive.mjs +49 -0
- package/esm2022/common/src/directives/hotkey.directive.mjs +82 -0
- package/esm2022/common/src/directives/infinite-scroll.directive.mjs +69 -0
- package/esm2022/common/src/directives/responsive.directive.mjs +35 -0
- package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +50 -0
- package/esm2022/common/src/services/hotkey.service.mjs +40 -0
- package/esm2022/common/src/services/overlay.service.mjs +115 -0
- package/esm2022/context-menu/src/context-menu.component.mjs +270 -0
- package/{esm2020 → esm2022}/context-menu/src/context-menu.module.mjs +9 -9
- package/esm2022/data-pager/src/data-pager-base.component.mjs +35 -0
- package/esm2022/data-pager/src/data-pager-info.component.mjs +61 -0
- package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +53 -0
- package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +66 -0
- package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +100 -0
- package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +88 -0
- package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +61 -0
- package/esm2022/data-pager/src/data-pager.component.mjs +146 -0
- package/{esm2020 → esm2022}/data-pager/src/data-pager.module.mjs +17 -17
- package/esm2022/data-table/src/data-column-cell-template.directive.mjs +18 -0
- package/esm2022/data-table/src/data-column.directive.mjs +50 -0
- package/esm2022/data-table/src/data-table.component.mjs +139 -0
- package/{esm2020 → esm2022}/data-table/src/data-table.module.mjs +5 -5
- package/esm2022/date-picker/src/datepicker.component.mjs +240 -0
- package/{esm2020 → esm2022}/date-picker/src/datepicker.module.mjs +12 -12
- package/esm2022/decorators/src/close-button.component.mjs +51 -0
- package/{esm2020 → esm2022}/decorators/src/content.component.mjs +4 -4
- package/{esm2020 → esm2022}/decorators/src/decorators.module.mjs +29 -29
- package/{esm2020 → esm2022}/decorators/src/footer.component.mjs +5 -5
- package/{esm2020 → esm2022}/decorators/src/form-hint.component.mjs +4 -4
- package/{esm2020 → esm2022}/decorators/src/header.component.mjs +5 -5
- package/esm2022/decorators/src/icon.component.mjs +30 -0
- package/esm2022/decorators/src/overlay.component.mjs +20 -0
- package/{esm2020 → esm2022}/decorators/src/placeholder.component.mjs +4 -4
- package/{esm2020 → esm2022}/decorators/src/prefix.component.mjs +4 -4
- package/esm2022/decorators/src/sub-title.component.mjs +27 -0
- package/{esm2020 → esm2022}/decorators/src/suffix.component.mjs +4 -4
- package/esm2022/decorators/src/text.component.mjs +22 -0
- package/{esm2020 → esm2022}/decorators/src/title.component.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/src/dialog.component.mjs +7 -4
- package/{esm2020 → esm2022}/dialog/src/dialog.module.mjs +5 -5
- package/esm2022/dialog/src/dialog.service.mjs +154 -0
- package/esm2022/drawer/src/drawer-container.component.mjs +38 -0
- package/esm2022/drawer/src/drawer.component.mjs +144 -0
- package/{esm2020 → esm2022}/drawer/src/drawer.module.mjs +5 -5
- package/esm2022/dropdown/src/dropdown-panel.component.mjs +105 -0
- package/{esm2020 → esm2022}/dropdown/src/dropdown.module.mjs +5 -5
- package/{esm2020 → esm2022}/form/src/form-field.component.mjs +4 -4
- package/esm2022/form/src/form.component.mjs +163 -0
- package/{esm2020 → esm2022}/form/src/form.module.mjs +11 -11
- package/esm2022/form/src/validation-rule.widget.mjs +113 -0
- package/esm2022/form/src/validation-summary.component.mjs +109 -0
- package/esm2022/image/src/image.component.mjs +79 -0
- package/{esm2020 → esm2022}/image/src/image.module.mjs +5 -5
- package/esm2022/label/src/label.component.mjs +48 -0
- package/{esm2020 → esm2022}/label/src/label.module.mjs +5 -5
- package/{esm2020 → esm2022}/loading/src/loading-spinner.component.mjs +6 -5
- package/esm2022/loading/src/loading.component.mjs +67 -0
- package/esm2022/loading/src/loading.directive.mjs +76 -0
- package/{esm2020 → esm2022}/loading/src/loading.module.mjs +5 -5
- package/esm2022/loading/src/loading.service.mjs +158 -0
- package/esm2022/menu/src/menu.component.mjs +346 -0
- package/{esm2020 → esm2022}/menu/src/menu.module.mjs +8 -8
- package/esm2022/mixin/src/base-components.class.mjs +110 -0
- package/esm2022/mixin/src/base-menu-mixin.class.mjs +134 -0
- package/esm2022/mixin/src/button-mixin.class.mjs +71 -0
- package/esm2022/mixin/src/clickable-mixin.class.mjs +24 -0
- package/esm2022/mixin/src/color-look-mixing.class.mjs +48 -0
- package/esm2022/mixin/src/datalist-component.class.mjs +151 -0
- package/esm2022/mixin/src/dropdown-mixin.class.mjs +99 -0
- package/esm2022/mixin/src/interactive-mixin.class.mjs +81 -0
- package/esm2022/mixin/src/loading-mixin.class.mjs +26 -0
- package/esm2022/mixin/src/selection-component.class.mjs +183 -0
- package/esm2022/mixin/src/sizable-mixin.class.mjs +22 -0
- package/esm2022/mixin/src/textbox-mixin.class.mjs +66 -0
- package/esm2022/mixin/src/value-mixin.class.mjs +220 -0
- package/esm2022/notification/src/notification.component.mjs +92 -0
- package/{esm2020 → esm2022}/notification/src/notification.module.mjs +5 -5
- package/esm2022/notification/src/notification.service.mjs +109 -0
- package/esm2022/number-box/src/number-box.component.mjs +268 -0
- package/{esm2020 → esm2022}/number-box/src/number-box.module.mjs +9 -9
- package/esm2022/page/src/base-page.class.mjs +63 -0
- package/esm2022/page/src/page.component.mjs +46 -0
- package/{esm2020 → esm2022}/page/src/page.module.mjs +5 -5
- package/esm2022/password-box/src/password-box.component.mjs +63 -0
- package/{esm2020 → esm2022}/password-box/src/password-box.module.mjs +8 -8
- package/esm2022/picker/src/picker-column.component.mjs +20 -0
- package/{esm2020 → esm2022}/picker/src/picker.component.mjs +4 -4
- package/{esm2020 → esm2022}/picker/src/picker.module.mjs +9 -9
- package/esm2022/popover/src/popover.component.mjs +262 -0
- package/{esm2020 → esm2022}/popover/src/popover.module.mjs +5 -5
- package/esm2022/popup/src/popup.component.mjs +145 -0
- package/{esm2020 → esm2022}/popup/src/popup.module.mjs +5 -5
- package/esm2022/popup/src/popup.service.mjs +116 -0
- package/{esm2020 → esm2022}/progress-bar/src/progress-bar.component.mjs +5 -5
- package/{esm2020 → esm2022}/progress-bar/src/progress-bar.module.mjs +5 -5
- package/{esm2020 → esm2022}/radio/src/radio.component.mjs +4 -4
- package/{esm2020 → esm2022}/radio/src/radio.module.mjs +5 -5
- package/esm2022/range-slider/src/range-slider.component.mjs +117 -0
- package/{esm2020 → esm2022}/range-slider/src/range-slider.module.mjs +5 -5
- package/esm2022/rating/src/rating.component.mjs +41 -0
- package/{esm2020 → esm2022}/rating/src/rating.component.module.mjs +5 -5
- package/esm2022/result/src/result.component.mjs +26 -0
- package/{esm2020 → esm2022}/result/src/result.module.mjs +5 -5
- package/esm2022/search-box/src/search-box.component.mjs +54 -0
- package/{esm2020 → esm2022}/search-box/src/search-box.module.mjs +5 -5
- package/esm2022/select-box/src/selectbox.component.mjs +391 -0
- package/{esm2020 → esm2022}/select-box/src/selectbox.module.mjs +27 -27
- package/{esm2020 → esm2022}/selection-list/src/selection-list.component.mjs +8 -8
- package/{esm2020 → esm2022}/selection-list/src/selection-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/switch/src/switch-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/switch/src/switch.component.mjs +7 -4
- package/{esm2020 → esm2022}/switch/src/switch.module.mjs +5 -5
- package/esm2022/tabs/src/tab-content.directive.mjs +31 -0
- package/esm2022/tabs/src/tab-item.component.mjs +140 -0
- package/esm2022/tabs/src/tabs.class.mjs +6 -0
- package/{esm2020 → esm2022}/tabs/src/tabs.component.mjs +14 -11
- package/{esm2020 → esm2022}/tabs/src/tabs.module.mjs +5 -5
- package/{esm2020 → esm2022}/tag/src/tag.component.mjs +6 -6
- package/{esm2020 → esm2022}/tag/src/tag.module.mjs +5 -5
- package/esm2022/textarea/src/textarea.component.mjs +29 -0
- package/{esm2020 → esm2022}/textarea/src/textarea.module.mjs +5 -5
- package/esm2022/textbox/src/mask-options.directive.mjs +19 -0
- package/esm2022/textbox/src/textbox.component.mjs +95 -0
- package/{esm2020 → esm2022}/textbox/src/textbox.module.mjs +13 -13
- package/esm2022/time-box/src/time-box.component.mjs +305 -0
- package/{esm2020 → esm2022}/time-box/src/time-box.module.mjs +8 -8
- package/esm2022/toast/src/toast.component.mjs +67 -0
- package/{esm2020 → esm2022}/toast/src/toast.module.mjs +5 -5
- package/esm2022/toast/src/toast.service.mjs +136 -0
- package/esm2022/tooltip/src/tooltip.component.mjs +21 -0
- package/esm2022/tooltip/src/tooltip.directive.mjs +163 -0
- package/{esm2020 → esm2022}/tooltip/src/tooltip.module.mjs +5 -5
- package/esm2022/tree-view/src/tree-view.component.mjs +107 -0
- package/{esm2020 → esm2022}/tree-view/src/tree-view.module.mjs +5 -5
- package/esm2022/uploader/src/uploader.component.mjs +101 -0
- package/{esm2020 → esm2022}/uploader/src/uploader.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/acorex-components-action-sheet.mjs +21 -16
- package/{fesm2020 → fesm2022}/acorex-components-action-sheet.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-alert.mjs +41 -32
- package/{fesm2020 → fesm2022}/acorex-components-alert.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-avatar.mjs +12 -11
- package/{fesm2020 → fesm2022}/acorex-components-avatar.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components-badge.mjs +9 -9
- package/{fesm2015 → fesm2022}/acorex-components-badge.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-breadcrumbs.mjs +16 -11
- package/{fesm2020 → fesm2022}/acorex-components-breadcrumbs.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-button.mjs +45 -48
- package/fesm2022/acorex-components-button.mjs.map +1 -0
- package/fesm2022/acorex-components-calendar.mjs +837 -0
- package/fesm2022/acorex-components-calendar.mjs.map +1 -0
- package/fesm2022/acorex-components-card.mjs +41 -0
- package/{fesm2015 → fesm2022}/acorex-components-card.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-checkbox.mjs +8 -8
- package/{fesm2015 → fesm2022}/acorex-components-checkbox.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components-chips.mjs +10 -11
- package/{fesm2020 → fesm2022}/acorex-components-chips.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components-collapse.mjs +21 -18
- package/{fesm2020 → fesm2022}/acorex-components-collapse.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-color-palette.mjs +337 -331
- package/{fesm2020 → fesm2022}/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +182 -0
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/acorex-components-common.mjs +405 -140
- package/fesm2022/acorex-components-common.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/acorex-components-context-menu.mjs +29 -20
- package/{fesm2015 → fesm2022}/acorex-components-context-menu.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-data-pager.mjs +95 -80
- package/{fesm2020 → fesm2022}/acorex-components-data-pager.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-data-table.mjs +40 -31
- package/{fesm2020 → fesm2022}/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +285 -0
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/acorex-components-decorators.mjs +80 -80
- package/{fesm2015 → fesm2022}/acorex-components-decorators.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-dialog.mjs +16 -11
- package/{fesm2015 → fesm2022}/acorex-components-dialog.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-drawer.mjs +25 -21
- package/{fesm2020 → fesm2022}/acorex-components-drawer.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-dropdown.mjs +19 -16
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/acorex-components-form.mjs +65 -61
- package/fesm2022/acorex-components-form.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/acorex-components-image.mjs +17 -15
- package/{fesm2015 → fesm2022}/acorex-components-image.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components-label.mjs +12 -10
- package/fesm2022/acorex-components-label.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/acorex-components-loading.mjs +42 -29
- package/{fesm2020 → fesm2022}/acorex-components-loading.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-menu.mjs +26 -19
- package/{fesm2020 → fesm2022}/acorex-components-menu.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components-mixin.mjs +276 -284
- package/{fesm2020 → fesm2022}/acorex-components-mixin.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-notification.mjs +24 -18
- package/{fesm2020 → fesm2022}/acorex-components-notification.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-number-box.mjs +42 -35
- package/{fesm2015 → fesm2022}/acorex-components-number-box.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-page.mjs +20 -17
- package/{fesm2020 → fesm2022}/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +99 -0
- package/{fesm2015 → fesm2022}/acorex-components-password-box.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-picker.mjs +15 -18
- package/{fesm2015 → fesm2022}/acorex-components-picker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-popover.mjs +50 -37
- package/{fesm2015 → fesm2022}/acorex-components-popover.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-popup.mjs +30 -19
- package/{fesm2020 → fesm2022}/acorex-components-popup.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-progress-bar.mjs +8 -9
- package/{fesm2015 → fesm2022}/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +65 -0
- package/{fesm2015 → fesm2022}/acorex-components-radio.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-range-slider.mjs +16 -16
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -0
- package/fesm2022/acorex-components-rating.mjs +64 -0
- package/{fesm2015 → fesm2022}/acorex-components-rating.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-result.mjs +10 -10
- package/{fesm2020 → fesm2022}/acorex-components-result.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-search-box.mjs +12 -11
- package/{fesm2020 → fesm2022}/acorex-components-search-box.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-select-box.mjs +56 -46
- package/{fesm2020 → fesm2022}/acorex-components-select-box.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-selection-list.mjs +11 -12
- package/{fesm2015 → fesm2022}/acorex-components-selection-list.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-switch.mjs +13 -11
- package/{fesm2015 → fesm2022}/acorex-components-switch.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-tabs.mjs +36 -26
- package/{fesm2015 → fesm2022}/acorex-components-tabs.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-tag.mjs +9 -10
- package/{fesm2020 → fesm2022}/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-textarea.mjs +52 -0
- package/{fesm2020 → fesm2022}/acorex-components-textarea.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-textbox.mjs +34 -30
- package/{fesm2020 → fesm2022}/acorex-components-textbox.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-time-box.mjs +30 -22
- package/{fesm2020 → fesm2022}/acorex-components-time-box.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-toast.mjs +22 -18
- package/{fesm2020 → fesm2022}/acorex-components-toast.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-tooltip.mjs +20 -14
- package/{fesm2020 → fesm2022}/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +131 -0
- package/{fesm2015 → fesm2022}/acorex-components-tree-view.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/acorex-components-uploader.mjs +15 -13
- package/{fesm2020 → fesm2022}/acorex-components-uploader.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/acorex-components.mjs +0 -1
- package/form/src/form.component.d.ts +2 -2
- package/form/src/validation-rule.widget.d.ts +1 -1
- package/form/src/validation-summary.component.d.ts +2 -2
- package/form/src/validation.class.d.ts +1 -1
- package/image/src/image.component.d.ts +1 -1
- package/label/src/label.component.d.ts +1 -1
- package/loading/src/loading.component.d.ts +1 -1
- package/loading/src/loading.directive.d.ts +1 -1
- package/loading/src/loading.service.d.ts +2 -2
- package/menu/src/menu.component.d.ts +1 -1
- package/mixin/src/base-components.class.d.ts +7 -7
- package/mixin/src/base-menu-mixin.class.d.ts +5 -5
- package/mixin/src/button-mixin.class.d.ts +2 -2
- package/mixin/src/clickable-mixin.class.d.ts +2 -2
- package/mixin/src/color-look-mixing.class.d.ts +2 -2
- package/mixin/src/constratctor.d.ts +2 -2
- package/mixin/src/datalist-component.class.d.ts +10 -10
- package/mixin/src/datalist.class.d.ts +2 -2
- package/mixin/src/dropdown-mixin.class.d.ts +2 -2
- package/mixin/src/interactive-mixin.class.d.ts +4 -4
- package/mixin/src/loading-mixin.class.d.ts +2 -2
- package/mixin/src/mixin.class.d.ts +61 -61
- package/mixin/src/page-component.class.d.ts +2 -2
- package/mixin/src/selection-component.class.d.ts +2 -2
- package/mixin/src/sizable-mixin.class.d.ts +2 -2
- package/mixin/src/textbox-mixin.class.d.ts +2 -2
- package/mixin/src/value-mixin.class.d.ts +8 -8
- package/notification/src/notification.class.d.ts +1 -1
- package/number-box/src/number-box.component.d.ts +1 -1
- package/package.json +172 -284
- package/password-box/src/password-box.component.d.ts +1 -1
- package/picker/src/picker-column.component.d.ts +1 -1
- package/popover/src/popover.component.d.ts +1 -1
- package/popup/src/popup.service.d.ts +2 -2
- package/progress-bar/src/progress-bar.component.d.ts +1 -1
- package/radio/src/radio.component.d.ts +1 -1
- package/range-slider/src/range-slider.component.d.ts +1 -1
- package/result/src/result.component.d.ts +1 -1
- package/search-box/src/search-box.component.d.ts +1 -1
- package/select-box/src/selectbox.component.d.ts +1 -1
- package/selection-list/src/selection-list.component.d.ts +1 -1
- package/switch/src/switch.component.d.ts +1 -1
- package/tabs/src/tab-content.directive.d.ts +1 -1
- package/tabs/src/tab-item.component.d.ts +3 -3
- package/tabs/src/tabs.class.d.ts +1 -1
- package/tabs/src/tabs.component.d.ts +1 -1
- package/tag/src/tag.component.d.ts +1 -1
- package/textarea/src/textarea.component.d.ts +1 -1
- package/textbox/src/mask-options.directive.d.ts +2 -2
- package/textbox/src/textbox.component.d.ts +1 -1
- package/time-box/src/time-box.component.d.ts +2 -2
- package/tooltip/src/tooltip.component.d.ts +1 -1
- package/tooltip/src/tooltip.directive.d.ts +1 -1
- package/tree-view/src/tree-view.component.d.ts +1 -1
- package/uploader/src/uploader.component.d.ts +1 -1
- package/esm2020/action-sheet/src/action-sheet.component.mjs +0 -76
- package/esm2020/action-sheet/src/action-sheet.service.mjs +0 -91
- package/esm2020/alert/src/alert.component.mjs +0 -178
- package/esm2020/avatar/src/avatar.component.mjs +0 -41
- package/esm2020/badge/src/badge.component.mjs +0 -27
- package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +0 -46
- package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +0 -25
- package/esm2020/button/src/button-group.component.mjs +0 -88
- package/esm2020/button/src/button-item.component.mjs +0 -77
- package/esm2020/button/src/button.component.mjs +0 -85
- package/esm2020/calendar/src/calendar.class.mjs +0 -127
- package/esm2020/calendar/src/calendar.component.mjs +0 -382
- package/esm2020/calendar/src/calendar.module.mjs +0 -22
- package/esm2020/card/src/card.component.mjs +0 -17
- package/esm2020/checkbox/src/checkbox.component.mjs +0 -41
- package/esm2020/collapse/src/collapse-group.component.mjs +0 -50
- package/esm2020/collapse/src/collapse.component.mjs +0 -45
- package/esm2020/color-palette/src/color-palette-input.component.mjs +0 -129
- package/esm2020/color-palette/src/color-palette-picker.component.mjs +0 -158
- package/esm2020/color-palette/src/color-palette-preview.component.mjs +0 -60
- package/esm2020/color-palette/src/color-palette-swatches.component.mjs +0 -302
- package/esm2020/color-palette/src/color-palette.component.mjs +0 -74
- package/esm2020/color-picker/src/color-picker.component.mjs +0 -105
- package/esm2020/common/public-api.mjs +0 -16
- package/esm2020/common/src/classes/components.class.mjs +0 -69
- package/esm2020/common/src/classes/events.class.mjs +0 -58
- package/esm2020/common/src/components/base-component.class.mjs +0 -57
- package/esm2020/common/src/components/button-base-component.class.mjs +0 -68
- package/esm2020/common/src/components/color-component.class.mjs +0 -27
- package/esm2020/common/src/components/interactive-component.class.mjs +0 -62
- package/esm2020/common/src/directives/auto-focus.directive.mjs +0 -55
- package/esm2020/common/src/directives/debounce-time.directive.mjs +0 -47
- package/esm2020/common/src/directives/hotkey.directive.mjs +0 -79
- package/esm2020/common/src/directives/infinite-scroll.directive.mjs +0 -63
- package/esm2020/common/src/directives/responsive.directive.mjs +0 -34
- package/esm2020/common/src/services/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/common/src/services/hotkey.service.mjs +0 -38
- package/esm2020/common/src/services/overlay.service.mjs +0 -111
- package/esm2020/context-menu/src/context-menu.component.mjs +0 -260
- package/esm2020/data-pager/src/data-pager-base.component.mjs +0 -38
- package/esm2020/data-pager/src/data-pager-info.component.mjs +0 -57
- package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +0 -51
- package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +0 -63
- package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +0 -98
- package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +0 -85
- package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +0 -59
- package/esm2020/data-pager/src/data-pager.component.mjs +0 -143
- package/esm2020/data-table/src/data-column-cell-template.directive.mjs +0 -17
- package/esm2020/data-table/src/data-column.directive.mjs +0 -43
- package/esm2020/data-table/src/data-table.component.mjs +0 -137
- package/esm2020/date-picker/src/datepicker.component.mjs +0 -249
- package/esm2020/decorators/src/close-button.component.mjs +0 -50
- package/esm2020/decorators/src/icon.component.mjs +0 -29
- package/esm2020/decorators/src/overlay.component.mjs +0 -22
- package/esm2020/decorators/src/sub-title.component.mjs +0 -27
- package/esm2020/decorators/src/text.component.mjs +0 -21
- package/esm2020/dialog/src/dialog.service.mjs +0 -151
- package/esm2020/drawer/src/drawer-container.component.mjs +0 -37
- package/esm2020/drawer/src/drawer.component.mjs +0 -140
- package/esm2020/dropdown/src/dropdown-panel.component.mjs +0 -101
- package/esm2020/form/src/form.component.mjs +0 -160
- package/esm2020/form/src/validation-rule.widget.mjs +0 -115
- package/esm2020/form/src/validation-summary.component.mjs +0 -105
- package/esm2020/image/src/image.component.mjs +0 -76
- package/esm2020/label/src/label.component.mjs +0 -45
- package/esm2020/loading/src/loading.component.mjs +0 -64
- package/esm2020/loading/src/loading.directive.mjs +0 -68
- package/esm2020/loading/src/loading.service.mjs +0 -156
- package/esm2020/menu/src/menu.component.mjs +0 -338
- package/esm2020/mixin/src/base-components.class.mjs +0 -110
- package/esm2020/mixin/src/base-menu-mixin.class.mjs +0 -138
- package/esm2020/mixin/src/button-mixin.class.mjs +0 -70
- package/esm2020/mixin/src/clickable-mixin.class.mjs +0 -24
- package/esm2020/mixin/src/color-look-mixing.class.mjs +0 -48
- package/esm2020/mixin/src/datalist-component.class.mjs +0 -163
- package/esm2020/mixin/src/dropdown-mixin.class.mjs +0 -99
- package/esm2020/mixin/src/interactive-mixin.class.mjs +0 -84
- package/esm2020/mixin/src/loading-mixin.class.mjs +0 -18
- package/esm2020/mixin/src/selection-component.class.mjs +0 -180
- package/esm2020/mixin/src/sizable-mixin.class.mjs +0 -18
- package/esm2020/mixin/src/textbox-mixin.class.mjs +0 -58
- package/esm2020/mixin/src/value-mixin.class.mjs +0 -230
- package/esm2020/notification/src/notification.component.mjs +0 -87
- package/esm2020/notification/src/notification.service.mjs +0 -107
- package/esm2020/number-box/src/number-box.component.mjs +0 -260
- package/esm2020/page/src/base-page.class.mjs +0 -61
- package/esm2020/page/src/page.component.mjs +0 -44
- package/esm2020/password-box/src/password-box.component.mjs +0 -62
- package/esm2020/picker/src/picker-column.component.mjs +0 -22
- package/esm2020/popover/src/popover.component.mjs +0 -248
- package/esm2020/popup/src/popup.component.mjs +0 -135
- package/esm2020/popup/src/popup.service.mjs +0 -114
- package/esm2020/range-slider/src/range-slider.component.mjs +0 -116
- package/esm2020/rating/src/rating.component.mjs +0 -41
- package/esm2020/result/src/result.component.mjs +0 -25
- package/esm2020/search-box/src/search-box.component.mjs +0 -52
- package/esm2020/select-box/src/selectbox.component.mjs +0 -380
- package/esm2020/tabs/src/tab-content.directive.mjs +0 -29
- package/esm2020/tabs/src/tab-item.component.mjs +0 -136
- package/esm2020/tabs/src/tabs.class.mjs +0 -4
- package/esm2020/textarea/src/textarea.component.mjs +0 -28
- package/esm2020/textbox/src/mask-options.directive.mjs +0 -17
- package/esm2020/textbox/src/textbox.component.mjs +0 -92
- package/esm2020/time-box/src/time-box.component.mjs +0 -296
- package/esm2020/toast/src/toast.component.mjs +0 -64
- package/esm2020/toast/src/toast.service.mjs +0 -134
- package/esm2020/tooltip/src/tooltip.component.mjs +0 -20
- package/esm2020/tooltip/src/tooltip.directive.mjs +0 -157
- package/esm2020/tree-view/src/tree-view.component.mjs +0 -108
- package/esm2020/uploader/src/uploader.component.mjs +0 -98
- package/fesm2015/acorex-components-action-sheet.mjs +0 -193
- package/fesm2015/acorex-components-action-sheet.mjs.map +0 -1
- package/fesm2015/acorex-components-alert.mjs +0 -208
- package/fesm2015/acorex-components-alert.mjs.map +0 -1
- package/fesm2015/acorex-components-avatar.mjs +0 -81
- package/fesm2015/acorex-components-avatar.mjs.map +0 -1
- package/fesm2015/acorex-components-breadcrumbs.mjs +0 -91
- package/fesm2015/acorex-components-breadcrumbs.mjs.map +0 -1
- package/fesm2015/acorex-components-button.mjs +0 -281
- package/fesm2015/acorex-components-button.mjs.map +0 -1
- package/fesm2015/acorex-components-calendar.mjs +0 -531
- package/fesm2015/acorex-components-calendar.mjs.map +0 -1
- package/fesm2015/acorex-components-card.mjs +0 -41
- package/fesm2015/acorex-components-checkbox.mjs +0 -67
- package/fesm2015/acorex-components-chips.mjs.map +0 -1
- package/fesm2015/acorex-components-collapse.mjs.map +0 -1
- package/fesm2015/acorex-components-color-palette.mjs +0 -772
- package/fesm2015/acorex-components-color-palette.mjs.map +0 -1
- package/fesm2015/acorex-components-color-picker.mjs +0 -172
- package/fesm2015/acorex-components-color-picker.mjs.map +0 -1
- package/fesm2015/acorex-components-common.mjs +0 -955
- package/fesm2015/acorex-components-common.mjs.map +0 -1
- package/fesm2015/acorex-components-context-menu.mjs +0 -301
- package/fesm2015/acorex-components-data-pager.mjs +0 -615
- package/fesm2015/acorex-components-data-pager.mjs.map +0 -1
- package/fesm2015/acorex-components-data-table.mjs +0 -224
- package/fesm2015/acorex-components-data-table.mjs.map +0 -1
- package/fesm2015/acorex-components-date-picker.mjs +0 -297
- package/fesm2015/acorex-components-date-picker.mjs.map +0 -1
- package/fesm2015/acorex-components-decorators.mjs +0 -356
- package/fesm2015/acorex-components-dialog.mjs +0 -233
- package/fesm2015/acorex-components-drawer.mjs +0 -202
- package/fesm2015/acorex-components-drawer.mjs.map +0 -1
- package/fesm2015/acorex-components-dropdown.mjs +0 -135
- package/fesm2015/acorex-components-dropdown.mjs.map +0 -1
- package/fesm2015/acorex-components-form.mjs +0 -450
- package/fesm2015/acorex-components-form.mjs.map +0 -1
- package/fesm2015/acorex-components-label.mjs.map +0 -1
- package/fesm2015/acorex-components-loading.mjs +0 -385
- package/fesm2015/acorex-components-loading.mjs.map +0 -1
- package/fesm2015/acorex-components-menu.mjs +0 -381
- package/fesm2015/acorex-components-menu.mjs.map +0 -1
- package/fesm2015/acorex-components-mixin.mjs.map +0 -1
- package/fesm2015/acorex-components-notification.mjs +0 -217
- package/fesm2015/acorex-components-notification.mjs.map +0 -1
- package/fesm2015/acorex-components-number-box.mjs +0 -300
- package/fesm2015/acorex-components-page.mjs +0 -127
- package/fesm2015/acorex-components-page.mjs.map +0 -1
- package/fesm2015/acorex-components-password-box.mjs +0 -99
- package/fesm2015/acorex-components-picker.mjs +0 -77
- package/fesm2015/acorex-components-popover.mjs +0 -278
- package/fesm2015/acorex-components-popup.mjs +0 -275
- package/fesm2015/acorex-components-popup.mjs.map +0 -1
- package/fesm2015/acorex-components-progress-bar.mjs +0 -57
- package/fesm2015/acorex-components-radio.mjs +0 -66
- package/fesm2015/acorex-components-range-slider.mjs +0 -148
- package/fesm2015/acorex-components-range-slider.mjs.map +0 -1
- package/fesm2015/acorex-components-rating.mjs +0 -65
- package/fesm2015/acorex-components-result.mjs +0 -49
- package/fesm2015/acorex-components-result.mjs.map +0 -1
- package/fesm2015/acorex-components-search-box.mjs +0 -84
- package/fesm2015/acorex-components-search-box.mjs.map +0 -1
- package/fesm2015/acorex-components-select-box.mjs +0 -453
- package/fesm2015/acorex-components-select-box.mjs.map +0 -1
- package/fesm2015/acorex-components-selection-list.mjs +0 -89
- package/fesm2015/acorex-components-switch.mjs +0 -91
- package/fesm2015/acorex-components-tabs.mjs +0 -299
- package/fesm2015/acorex-components-tag.mjs +0 -53
- package/fesm2015/acorex-components-tag.mjs.map +0 -1
- package/fesm2015/acorex-components-textarea.mjs +0 -52
- package/fesm2015/acorex-components-textarea.mjs.map +0 -1
- package/fesm2015/acorex-components-textbox.mjs +0 -149
- package/fesm2015/acorex-components-textbox.mjs.map +0 -1
- package/fesm2015/acorex-components-time-box.mjs +0 -336
- package/fesm2015/acorex-components-time-box.mjs.map +0 -1
- package/fesm2015/acorex-components-toast.mjs +0 -222
- package/fesm2015/acorex-components-toast.mjs.map +0 -1
- package/fesm2015/acorex-components-tooltip.mjs +0 -164
- package/fesm2015/acorex-components-tooltip.mjs.map +0 -1
- package/fesm2015/acorex-components-tree-view.mjs +0 -133
- package/fesm2015/acorex-components-uploader.mjs +0 -129
- package/fesm2015/acorex-components-uploader.mjs.map +0 -1
- package/fesm2020/acorex-components-badge.mjs +0 -53
- package/fesm2020/acorex-components-badge.mjs.map +0 -1
- package/fesm2020/acorex-components-button.mjs.map +0 -1
- package/fesm2020/acorex-components-calendar.mjs +0 -530
- package/fesm2020/acorex-components-calendar.mjs.map +0 -1
- package/fesm2020/acorex-components-card.mjs +0 -41
- package/fesm2020/acorex-components-card.mjs.map +0 -1
- package/fesm2020/acorex-components-checkbox.mjs.map +0 -1
- package/fesm2020/acorex-components-chips.mjs +0 -57
- package/fesm2020/acorex-components-collapse.mjs +0 -115
- package/fesm2020/acorex-components-color-picker.mjs +0 -169
- package/fesm2020/acorex-components-color-picker.mjs.map +0 -1
- package/fesm2020/acorex-components-common.mjs.map +0 -1
- package/fesm2020/acorex-components-context-menu.mjs.map +0 -1
- package/fesm2020/acorex-components-date-picker.mjs +0 -295
- package/fesm2020/acorex-components-date-picker.mjs.map +0 -1
- package/fesm2020/acorex-components-decorators.mjs.map +0 -1
- package/fesm2020/acorex-components-dialog.mjs.map +0 -1
- package/fesm2020/acorex-components-dropdown.mjs.map +0 -1
- package/fesm2020/acorex-components-form.mjs.map +0 -1
- package/fesm2020/acorex-components-image.mjs +0 -100
- package/fesm2020/acorex-components-image.mjs.map +0 -1
- package/fesm2020/acorex-components-label.mjs +0 -71
- package/fesm2020/acorex-components-label.mjs.map +0 -1
- package/fesm2020/acorex-components-mixin.mjs +0 -1259
- package/fesm2020/acorex-components-number-box.mjs.map +0 -1
- package/fesm2020/acorex-components-password-box.mjs +0 -99
- package/fesm2020/acorex-components-password-box.mjs.map +0 -1
- package/fesm2020/acorex-components-picker.mjs.map +0 -1
- package/fesm2020/acorex-components-popover.mjs.map +0 -1
- package/fesm2020/acorex-components-progress-bar.mjs.map +0 -1
- package/fesm2020/acorex-components-radio.mjs +0 -66
- package/fesm2020/acorex-components-radio.mjs.map +0 -1
- package/fesm2020/acorex-components-range-slider.mjs.map +0 -1
- package/fesm2020/acorex-components-rating.mjs +0 -65
- package/fesm2020/acorex-components-rating.mjs.map +0 -1
- package/fesm2020/acorex-components-selection-list.mjs.map +0 -1
- package/fesm2020/acorex-components-switch.mjs.map +0 -1
- package/fesm2020/acorex-components-tabs.mjs.map +0 -1
- package/fesm2020/acorex-components-textarea.mjs +0 -52
- package/fesm2020/acorex-components-tree-view.mjs +0 -133
- package/fesm2020/acorex-components-tree-view.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs +0 -12
- package/fesm2020/acorex-components.mjs.map +0 -1
- /package/{esm2020 → esm2022}/acorex-components.mjs +0 -0
- /package/{esm2020 → esm2022}/action-sheet/acorex-components-action-sheet.mjs +0 -0
- /package/{esm2020 → esm2022}/action-sheet/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/action-sheet/src/action-sheet.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/alert/acorex-components-alert.mjs +0 -0
- /package/{esm2020 → esm2022}/alert/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar/acorex-components-avatar.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/badge/acorex-components-badge.mjs +0 -0
- /package/{esm2020 → esm2022}/badge/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/breadcrumbs/acorex-components-breadcrumbs.mjs +0 -0
- /package/{esm2020 → esm2022}/breadcrumbs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/breadcrumbs/src/breadcrumbs-item.class.mjs +0 -0
- /package/{esm2020 → esm2022}/button/acorex-components-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/src/button-item.class.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/acorex-components-calendar.mjs +0 -0
- /package/{esm2020 → esm2022}/card/acorex-components-card.mjs +0 -0
- /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/acorex-components-checkbox.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chips/acorex-components-chips.mjs +0 -0
- /package/{esm2020 → esm2022}/chips/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/collapse/acorex-components-collapse.mjs +0 -0
- /package/{esm2020 → esm2022}/collapse/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/color-palette/acorex-components-color-palette.mjs +0 -0
- /package/{esm2020 → esm2022}/color-palette/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/color-picker/acorex-components-color-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/color-picker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/acorex-components-common.mjs +0 -0
- /package/{esm2020 → esm2022}/common/src/classes/drawing.class.mjs +0 -0
- /package/{esm2020 → esm2022}/common/src/classes/styles.class.mjs +0 -0
- /package/{esm2020 → esm2022}/common/src/components/colorlook-component.class.mjs +0 -0
- /package/{esm2020 → esm2022}/common/src/constant/positions.mjs +0 -0
- /package/{esm2020 → esm2022}/context-menu/acorex-components-context-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/context-menu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/data-pager/acorex-components-data-pager.mjs +0 -0
- /package/{esm2020 → esm2022}/data-pager/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/data-table/acorex-components-data-table.mjs +0 -0
- /package/{esm2020 → esm2022}/data-table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/acorex-components-date-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/acorex-components-decorators.mjs +0 -0
- /package/{esm2020 → esm2022}/decorators/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/acorex-components-dialog.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/src/dialog.class.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/acorex-components-drawer.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/acorex-components-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/form/acorex-components-form.mjs +0 -0
- /package/{esm2020 → esm2022}/form/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/form/src/validation.class.mjs +0 -0
- /package/{esm2020 → esm2022}/image/acorex-components-image.mjs +0 -0
- /package/{esm2020 → esm2022}/image/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/label/acorex-components-label.mjs +0 -0
- /package/{esm2020 → esm2022}/label/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/acorex-components-loading.mjs +0 -0
- /package/{esm2020 → esm2022}/loading/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/acorex-components-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/acorex-components-mixin.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/src/constratctor.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/src/datalist.class.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/src/mixin.class.mjs +0 -0
- /package/{esm2020 → esm2022}/mixin/src/page-component.class.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/acorex-components-notification.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/src/notification.class.mjs +0 -0
- /package/{esm2020 → esm2022}/number-box/acorex-components-number-box.mjs +0 -0
- /package/{esm2020 → esm2022}/number-box/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/page/acorex-components-page.mjs +0 -0
- /package/{esm2020 → esm2022}/page/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/password-box/acorex-components-password-box.mjs +0 -0
- /package/{esm2020 → esm2022}/password-box/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/picker/acorex-components-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/picker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/acorex-components-popover.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/popup/acorex-components-popup.mjs +0 -0
- /package/{esm2020 → esm2022}/popup/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-bar/acorex-components-progress-bar.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/acorex-components-radio.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/range-slider/acorex-components-range-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/range-slider/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/rating/acorex-components-rating.mjs +0 -0
- /package/{esm2020 → esm2022}/rating/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/result/acorex-components-result.mjs +0 -0
- /package/{esm2020 → esm2022}/result/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search-box/acorex-components-search-box.mjs +0 -0
- /package/{esm2020 → esm2022}/search-box/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/select-box/acorex-components-select-box.mjs +0 -0
- /package/{esm2020 → esm2022}/select-box/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/selection-list/acorex-components-selection-list.mjs +0 -0
- /package/{esm2020 → esm2022}/selection-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/acorex-components-switch.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/acorex-components-tabs.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tag/acorex-components-tag.mjs +0 -0
- /package/{esm2020 → esm2022}/tag/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/acorex-components-textarea.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox/acorex-components-textbox.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/time-box/acorex-components-time-box.mjs +0 -0
- /package/{esm2020 → esm2022}/time-box/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/acorex-components-toast.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/src/toast.class.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/acorex-components-tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-view/acorex-components-tree-view.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-view/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/acorex-components-uploader.mjs +0 -0
- /package/{esm2020 → esm2022}/uploader/public-api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/acorex-components.mjs.map +0 -0
@@ -0,0 +1,206 @@
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
2
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
3
|
+
import { AXObjectUtil } from '@acorex/core/utils';
|
4
|
+
import { MXBaseComponent } from './base-component.class';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class MXValueComponent extends MXBaseComponent {
|
7
|
+
/**
|
8
|
+
* Fires each time the user press a key.
|
9
|
+
* @event
|
10
|
+
*/
|
11
|
+
onValueChanged = new EventEmitter();
|
12
|
+
valueChange = new EventEmitter();
|
13
|
+
stateChange = new EventEmitter();
|
14
|
+
_readonly = false;
|
15
|
+
/**
|
16
|
+
* If set to true, user cannot change the value of component.
|
17
|
+
*/
|
18
|
+
get readonly() {
|
19
|
+
return this._readonly;
|
20
|
+
}
|
21
|
+
set readonly(value) {
|
22
|
+
this._readonly = coerceBooleanProperty(value);
|
23
|
+
}
|
24
|
+
_name;
|
25
|
+
get name() {
|
26
|
+
return this._name;
|
27
|
+
}
|
28
|
+
set name(value) {
|
29
|
+
this._name = value;
|
30
|
+
}
|
31
|
+
_isUserInteraction = false;
|
32
|
+
get isUserInteraction() {
|
33
|
+
return this._isUserInteraction;
|
34
|
+
}
|
35
|
+
set isUserInteraction(value) {
|
36
|
+
this._isUserInteraction = value;
|
37
|
+
}
|
38
|
+
initValue;
|
39
|
+
defaultValue;
|
40
|
+
_value;
|
41
|
+
get value() {
|
42
|
+
return this.getValue(this._value) || this.defaultValue;
|
43
|
+
}
|
44
|
+
set value(v) {
|
45
|
+
v = this.setValue(v);
|
46
|
+
//if (!this._isInited ) {
|
47
|
+
const old = AXObjectUtil.deepJSONClone(this.value);
|
48
|
+
// TODO: check real equality
|
49
|
+
if (v != old) {
|
50
|
+
this._value = v;
|
51
|
+
this.emitOnValueChangedEvent(old, this.value);
|
52
|
+
this.cdr.markForCheck();
|
53
|
+
if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {
|
54
|
+
this.setState('clear');
|
55
|
+
}
|
56
|
+
// else {
|
57
|
+
// if (this._isInited) {
|
58
|
+
// this.validate();
|
59
|
+
// }
|
60
|
+
// }
|
61
|
+
}
|
62
|
+
this._isUserInteraction = false;
|
63
|
+
//}
|
64
|
+
}
|
65
|
+
_state = 'clear';
|
66
|
+
get state() {
|
67
|
+
return this._state;
|
68
|
+
}
|
69
|
+
set state(value) {
|
70
|
+
this.setState(value);
|
71
|
+
this.stateChange.emit(value);
|
72
|
+
}
|
73
|
+
emitOnValueChangedEvent(oldValue, newValue) {
|
74
|
+
this.valueChange.emit(newValue);
|
75
|
+
this.onValueChanged.emit({
|
76
|
+
component: this,
|
77
|
+
value: newValue,
|
78
|
+
oldValue: oldValue,
|
79
|
+
name: this.name,
|
80
|
+
isUserInteraction: this.isUserInteraction,
|
81
|
+
});
|
82
|
+
this._isUserInteraction = false;
|
83
|
+
}
|
84
|
+
setValue(value) {
|
85
|
+
return value;
|
86
|
+
}
|
87
|
+
getValue(value) {
|
88
|
+
return value;
|
89
|
+
}
|
90
|
+
ngOnInit() {
|
91
|
+
this.getHostElement().setAttribute('ax-form-input', 'true');
|
92
|
+
}
|
93
|
+
ngAfterViewInit() {
|
94
|
+
this._checkRequired();
|
95
|
+
}
|
96
|
+
ngOnDestroy() {
|
97
|
+
debugger;
|
98
|
+
this.onValueChanged?.unsubscribe();
|
99
|
+
this.onOptionChanged?.unsubscribe();
|
100
|
+
}
|
101
|
+
clear() {
|
102
|
+
this.value = null;
|
103
|
+
}
|
104
|
+
_checkRequired() {
|
105
|
+
const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some(c => c.__axContext__.enabled && c.__axContext__.rule == 'required');
|
106
|
+
//
|
107
|
+
if (isRequired) {
|
108
|
+
const container = this.getHostElement().classList.contains('ax-editor-container')
|
109
|
+
? this.getHostElement()
|
110
|
+
: this.getHostElement().querySelector('.ax-editor-container');
|
111
|
+
const formField = container?.closest('.ax-form-field');
|
112
|
+
const label = formField?.querySelector('ax-label')?.__axContext__;
|
113
|
+
if (label)
|
114
|
+
label.required = true;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
validate() {
|
118
|
+
const rules = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).filter(c => c.__axContext__.enabled);
|
119
|
+
//
|
120
|
+
if (!rules || rules.length === 0) {
|
121
|
+
this.setState('clear');
|
122
|
+
return Promise.resolve({
|
123
|
+
result: true,
|
124
|
+
value: this.value,
|
125
|
+
name: this.name,
|
126
|
+
id: this.id,
|
127
|
+
});
|
128
|
+
}
|
129
|
+
return new Promise(resolve => {
|
130
|
+
Promise.all(rules
|
131
|
+
.filter(c => typeof c?.validate === 'function')
|
132
|
+
.map(c => {
|
133
|
+
return c.validate(this.value);
|
134
|
+
})).then(d => {
|
135
|
+
const error = d.find(c => c.result === false);
|
136
|
+
if (error) {
|
137
|
+
this.setState('error', error.message);
|
138
|
+
resolve({
|
139
|
+
result: false,
|
140
|
+
value: this.value,
|
141
|
+
message: error.message,
|
142
|
+
name: this.name,
|
143
|
+
id: this.id,
|
144
|
+
});
|
145
|
+
}
|
146
|
+
else {
|
147
|
+
this.setState('success');
|
148
|
+
resolve({
|
149
|
+
result: true,
|
150
|
+
value: this.value,
|
151
|
+
name: this.name,
|
152
|
+
id: this.id,
|
153
|
+
});
|
154
|
+
}
|
155
|
+
});
|
156
|
+
});
|
157
|
+
}
|
158
|
+
setState(state, ...args) {
|
159
|
+
const container = this.getHostElement().classList.contains('ax-editor-container')
|
160
|
+
? this.getHostElement()
|
161
|
+
: this.getHostElement().querySelector('.ax-editor-container');
|
162
|
+
const formField = container?.closest('.ax-form-field');
|
163
|
+
const label = formField?.querySelector('ax-label') || formField?.querySelector('label');
|
164
|
+
let target = container || this.getHostElement().firstElementChild;
|
165
|
+
if (target?.querySelector('.ax-error-container')) {
|
166
|
+
target = target.querySelector('.ax-error-container');
|
167
|
+
}
|
168
|
+
const parent = target?.parentElement;
|
169
|
+
if (!target || !parent)
|
170
|
+
return;
|
171
|
+
switch (state) {
|
172
|
+
case 'clear':
|
173
|
+
this._state = 'clear';
|
174
|
+
if (parent.querySelector('span.ax-error-message')) {
|
175
|
+
parent.removeChild(parent.querySelector('span.ax-error-message'));
|
176
|
+
}
|
177
|
+
label?.classList.remove('ax-state-error');
|
178
|
+
target.classList.remove('ax-state-error', 'ax-state-success');
|
179
|
+
break;
|
180
|
+
case 'success':
|
181
|
+
this.setState('clear');
|
182
|
+
target.classList.add('ax-state-success');
|
183
|
+
this._state = 'success';
|
184
|
+
break;
|
185
|
+
case 'error':
|
186
|
+
this.setState('clear');
|
187
|
+
if (args[0]) {
|
188
|
+
const span = document.createElement('span');
|
189
|
+
span.innerText = args[0];
|
190
|
+
span.classList.add('ax-error-message');
|
191
|
+
parent.appendChild(span);
|
192
|
+
}
|
193
|
+
label?.classList.add('ax-state-error');
|
194
|
+
target.classList.add('ax-state-error');
|
195
|
+
this._state = 'error';
|
196
|
+
break;
|
197
|
+
}
|
198
|
+
this.cdr.markForCheck();
|
199
|
+
}
|
200
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
201
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent });
|
202
|
+
}
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent, decorators: [{
|
204
|
+
type: Injectable
|
205
|
+
}] });
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uL3NyYy9jb21wb25lbnRzL3ZhbHVlLWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFJM0UsTUFBTSxPQUFPLGdCQUEwQixTQUFRLGVBQWU7SUFDNUQ7OztPQUdHO0lBQ0gsY0FBYyxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQUV0RyxXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDekQsV0FBVyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUUzRSxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLEtBQUssQ0FBUztJQUN0QixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVPLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUU1QyxJQUFJ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QU07U0FDVDtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt1R0E5TlUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhPYmplY3RVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQVhDb21wb25lbnRTdGF0ZSwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNWFZhbHVlQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxyXG4gICAqICBAZXZlbnRcclxuICAgKi9cclxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBnZXQgcmVhZG9ubHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XHJcbiAgfVxyXG4gIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xyXG4gIGdldCBuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XHJcbiAgfVxyXG4gIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBpc1VzZXJJbnRlcmFjdGlvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbjtcclxuICB9XHJcblxyXG4gIHNldCBpc1VzZXJJbnRlcmFjdGlvbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcblxyXG5cclxuICBpbml0VmFsdWU6VDtcclxuICBkZWZhdWx0VmFsdWU6VDtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XHJcbiAgZ2V0IHZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUodGhpcy5fdmFsdWUpIHx8IHRoaXMuZGVmYXVsdFZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodjogVCkge1xyXG4gICAgdiA9IHRoaXMuc2V0VmFsdWUodik7XHJcbiAgICAvL2lmICghdGhpcy5faXNJbml0ZWQgKSB7XHJcbiAgICBjb25zdCBvbGQgPSBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZSh0aGlzLnZhbHVlKTtcclxuICAgIC8vIFRPRE86IGNoZWNrIHJlYWwgZXF1YWxpdHlcclxuICAgIGlmICh2ICE9IG9sZCkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMuZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkLCB0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2KSAmJiB2Lmxlbmd0aCA9PSAwKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZWxzZSB7XHJcbiAgICAgIC8vICAgaWYgKHRoaXMuX2lzSW5pdGVkKSB7XHJcbiAgICAgIC8vICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gICAgLy99XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdGF0ZTogQVhDb21wb25lbnRTdGF0ZSA9ICdjbGVhcic7XHJcblxyXG4gIGdldCBzdGF0ZSgpOiBBWENvbXBvbmVudFN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcclxuICB9XHJcblxyXG4gIHNldCBzdGF0ZSh2YWx1ZTogQVhDb21wb25lbnRTdGF0ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGVtaXRPblZhbHVlQ2hhbmdlZEV2ZW50KG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxyXG4gICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuaXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWlucHV0JywgJ3RydWUnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGVja1JlcXVpcmVkKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrUmVxdWlyZWQoKSB7XHJcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gQXJyYXkuZnJvbSh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJykpLnNvbWUoXHJcbiAgICAgIGMgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQgJiYgKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLnJ1bGUgPT0gJ3JlcXVpcmVkJ1xyXG4gICAgKTtcclxuICAgIC8vXHJcbiAgICBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJylcclxuICAgICAgICA/IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XHJcbiAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGNvbnRhaW5lcj8uY2xvc2VzdCgnLmF4LWZvcm0tZmllbGQnKTtcclxuICAgICAgY29uc3QgbGFiZWwgPSAoZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIGFzIGFueSk/Ll9fYXhDb250ZXh0X187XHJcbiAgICAgIGlmIChsYWJlbCkgbGFiZWwucmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHJ1bGVzID0gQXJyYXkuZnJvbSh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJykpLmZpbHRlcihjID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkKTtcclxuICAgIC8vXHJcbiAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgICByZXN1bHQ6IHRydWUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PihyZXNvbHZlID0+IHtcclxuICAgICAgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgcnVsZXNcclxuICAgICAgICAgIC5maWx0ZXIoYyA9PiB0eXBlb2YgKGMgYXMgYW55KT8udmFsaWRhdGUgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKGMgYXMgYW55KS52YWxpZGF0ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICkudGhlbihkID0+IHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZChjID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgcmVzb2x2ZSh7XHJcbiAgICAgICAgICAgIHJlc3VsdDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoJ3N1Y2Nlc3MnKTtcclxuICAgICAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgICAgICByZXN1bHQ6IHRydWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByb3RlY3RlZCBzZXRTdGF0ZShzdGF0ZTogQVhDb21wb25lbnRTdGF0ZSwgLi4uYXJncykge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpXHJcbiAgICAgID8gdGhpcy5nZXRIb3N0RWxlbWVudCgpXHJcbiAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XHJcbiAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XHJcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSB8fCBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XHJcbiAgICBsZXQgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5maXJzdEVsZW1lbnRDaGlsZDtcclxuICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xyXG4gICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudCkgcmV0dXJuO1xyXG5cclxuICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgY2FzZSAnY2xlYXInOlxyXG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ2NsZWFyJztcclxuICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpKSB7XHJcbiAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicsICdheC1zdGF0ZS1zdWNjZXNzJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICB0aGlzLl9zdGF0ZSA9ICdzdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgaWYgKGFyZ3NbMF0pIHtcclxuICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XHJcbiAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1lc3NhZ2UnKTtcclxuICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../classes/components.class";
|
4
|
+
export class AXAutoFocusDirective {
|
5
|
+
el;
|
6
|
+
_host;
|
7
|
+
autoFocus = true;
|
8
|
+
constructor(el, _host) {
|
9
|
+
this.el = el;
|
10
|
+
this._host = _host;
|
11
|
+
}
|
12
|
+
time = 100;
|
13
|
+
ngAfterContentInit() {
|
14
|
+
if (this.autoFocus) {
|
15
|
+
const list = [
|
16
|
+
'button',
|
17
|
+
'input',
|
18
|
+
'[href]',
|
19
|
+
'select',
|
20
|
+
'textarea',
|
21
|
+
'[tabindex]',
|
22
|
+
].map((c) => c + ':not([tabindex="-1"])');
|
23
|
+
const focusable = this.el.nativeElement.querySelector(list.join(', ')) ??
|
24
|
+
this.el.nativeElement;
|
25
|
+
const attr = document.createAttribute('autofocus');
|
26
|
+
focusable.setAttributeNode(attr);
|
27
|
+
const hasTabindex = focusable.hasAttribute('tabindex');
|
28
|
+
if (!hasTabindex) {
|
29
|
+
focusable.setAttribute('tabIndex', '0');
|
30
|
+
}
|
31
|
+
setTimeout(() => {
|
32
|
+
focusable.focus();
|
33
|
+
}, 100);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
37
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 });
|
38
|
+
}
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
|
40
|
+
type: Directive,
|
41
|
+
args: [{
|
42
|
+
selector: '[axAutoFocus]',
|
43
|
+
}]
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXFocusableComponent, decorators: [{
|
45
|
+
type: Host
|
46
|
+
}, {
|
47
|
+
type: Self
|
48
|
+
}, {
|
49
|
+
type: Optional
|
50
|
+
}] }]; }, propDecorators: { autoFocus: [{
|
51
|
+
type: Input,
|
52
|
+
args: ['axAutoFocus']
|
53
|
+
}], time: [{
|
54
|
+
type: Input,
|
55
|
+
args: ['focus-time']
|
56
|
+
}] } });
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7OztBQU12QixNQUFNLE9BQU8sb0JBQW9CO0lBTXJCO0lBSUQ7SUFQRixTQUFTLEdBQWEsSUFBSSxDQUFDO0lBRWxDLFlBQ1UsRUFBMkIsRUFJNUIsS0FBMkI7UUFKMUIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFJNUIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFDaEMsQ0FBQztJQUlMLElBQUksR0FBVyxHQUFHLENBQUM7SUFFbkIsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLE9BQU87Z0JBQ1AsUUFBUTtnQkFDUixRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsWUFBWTthQUNiLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztZQUUxQyxNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFFeEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN6QztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzt1R0ExQ1Usb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzswQkFRSSxJQUFJOzswQkFDSixJQUFJOzswQkFDSixRQUFROzRDQU5KLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxhQUFhO2dCQWFwQixJQUFJO3NCQURILEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9jb21wb25lbnRzLmNsYXNzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2F4QXV0b0ZvY3VzXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICBASW5wdXQoJ2F4QXV0b0ZvY3VzJylcclxuICBwdWJsaWMgYXV0b0ZvY3VzPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBASG9zdCgpXHJcbiAgICBAU2VsZigpXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgcHVibGljIF9ob3N0OiBBWEZvY3VzYWJsZUNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG5cclxuICBASW5wdXQoJ2ZvY3VzLXRpbWUnKVxyXG4gIHRpbWU6IG51bWJlciA9IDEwMDtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSBbXHJcbiAgICAgICAgJ2J1dHRvbicsXHJcbiAgICAgICAgJ2lucHV0JyxcclxuICAgICAgICAnW2hyZWZdJyxcclxuICAgICAgICAnc2VsZWN0JyxcclxuICAgICAgICAndGV4dGFyZWEnLFxyXG4gICAgICAgICdbdGFiaW5kZXhdJyxcclxuICAgICAgXS5tYXAoKGMpID0+IGMgKyAnOm5vdChbdGFiaW5kZXg9XCItMVwiXSknKTtcclxuXHJcbiAgICAgIGNvbnN0IGZvY3VzYWJsZSA9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGxpc3Quam9pbignLCAnKSkgPz9cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBhdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCdhdXRvZm9jdXMnKTtcclxuICAgICAgZm9jdXNhYmxlLnNldEF0dHJpYnV0ZU5vZGUoYXR0cik7XHJcbiAgICAgIGNvbnN0IGhhc1RhYmluZGV4ID0gZm9jdXNhYmxlLmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKTtcclxuICAgICAgaWYgKCFoYXNUYWJpbmRleCkge1xyXG4gICAgICAgIGZvY3VzYWJsZS5zZXRBdHRyaWJ1dGUoJ3RhYkluZGV4JywgJzAnKTtcclxuICAgICAgfVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { Directive, EventEmitter, Input, Output } from "@angular/core";
|
2
|
+
import { debounceTime, distinctUntilChanged, skip } from "rxjs";
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/forms";
|
5
|
+
export class AXNgModelChangeDebouncedDirective {
|
6
|
+
ngModel;
|
7
|
+
ngModelChangeDebounced = new EventEmitter();
|
8
|
+
ngModelChangeDebounceTimeChange = new EventEmitter();
|
9
|
+
_ngModelChangeDebounceTime = 0;
|
10
|
+
get ngModelChangeDebounceTime() {
|
11
|
+
return this._ngModelChangeDebounceTime;
|
12
|
+
}
|
13
|
+
set ngModelChangeDebounceTime(v) {
|
14
|
+
if (v != this._ngModelChangeDebounceTime) {
|
15
|
+
this._ngModelChangeDebounceTime = v;
|
16
|
+
this.ngModelChangeDebounceTimeChange.emit(v);
|
17
|
+
this.update();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
subscription;
|
21
|
+
ngOnDestroy() {
|
22
|
+
this.subscription.unsubscribe();
|
23
|
+
}
|
24
|
+
constructor(ngModel) {
|
25
|
+
this.ngModel = ngModel;
|
26
|
+
this.ngModelChangeDebounceTime = 0;
|
27
|
+
}
|
28
|
+
update() {
|
29
|
+
this.subscription?.unsubscribe();
|
30
|
+
//
|
31
|
+
this.subscription = this.ngModel.control.valueChanges.pipe(skip(1), // skip initial value
|
32
|
+
distinctUntilChanged(), debounceTime(this.ngModelChangeDebounceTime)).subscribe((value) => this.ngModelChangeDebounced.emit(value));
|
33
|
+
}
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, deps: [{ token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
|
35
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXNgModelChangeDebouncedDirective, selector: "[ngModelChangeDebounced]", inputs: { ngModelChangeDebounceTime: "ngModelChangeDebounceTime" }, outputs: { ngModelChangeDebounced: "ngModelChangeDebounced", ngModelChangeDebounceTimeChange: "ngModelChangeDebounceTimeChange" }, ngImport: i0 });
|
36
|
+
}
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, decorators: [{
|
38
|
+
type: Directive,
|
39
|
+
args: [{
|
40
|
+
selector: '[ngModelChangeDebounced]',
|
41
|
+
}]
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.NgModel }]; }, propDecorators: { ngModelChangeDebounced: [{
|
43
|
+
type: Output
|
44
|
+
}], ngModelChangeDebounceTimeChange: [{
|
45
|
+
type: Output
|
46
|
+
}], ngModelChangeDebounceTime: [{
|
47
|
+
type: Input
|
48
|
+
}] } });
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtdGltZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvZGVib3VuY2UtdGltZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQUs5RSxNQUFNLE9BQU8saUNBQWlDO0lBMkJ0QjtJQXhCcEIsc0JBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUdqRCwrQkFBK0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBRXBELDBCQUEwQixHQUFXLENBQUMsQ0FBQztJQUMvQyxJQUNXLHlCQUF5QjtRQUNoQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBVyx5QkFBeUIsQ0FBQyxDQUFTO1FBQzFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN0QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQ2hCO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBZTtJQUVuQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxNQUFNO1FBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxFQUFFO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0RCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCO1FBQzlCLG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FDL0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO3VHQXZDUSxpQ0FBaUM7MkZBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO2lCQUN2Qzs4RkFJRyxzQkFBc0I7c0JBRHJCLE1BQU07Z0JBSVAsK0JBQStCO3NCQUQ5QixNQUFNO2dCQUtJLHlCQUF5QjtzQkFEbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXAsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW25nTW9kZWxDaGFuZ2VEZWJvdW5jZWRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTmdNb2RlbENoYW5nZURlYm91bmNlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBuZ01vZGVsQ2hhbmdlRGVib3VuY2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBuZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KClcclxuXHJcbiAgICBwcml2YXRlIF9uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lOiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgbmdNb2RlbENoYW5nZURlYm91bmNlVGltZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBuZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX25nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fbmdNb2RlbENoYW5nZURlYm91bmNlVGltZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMubmdNb2RlbENoYW5nZURlYm91bmNlVGltZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWwpIHtcclxuICAgICAgICB0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlKCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc2tpcCgxKSwgLy8gc2tpcCBpbml0aWFsIHZhbHVlXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZWQuZW1pdCh2YWx1ZSkpO1xyXG4gICAgfVxyXG59Il19
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../classes/components.class";
|
4
|
+
import * as i2 from "../services/hotkey.service";
|
5
|
+
export class AXHotkeyDirective {
|
6
|
+
el;
|
7
|
+
_host;
|
8
|
+
hs;
|
9
|
+
hotkey = '';
|
10
|
+
_subs = [];
|
11
|
+
constructor(el, _host, hs) {
|
12
|
+
this.el = el;
|
13
|
+
this._host = _host;
|
14
|
+
this.hs = hs;
|
15
|
+
}
|
16
|
+
ngAfterViewInit() {
|
17
|
+
if (!this.hotkey || !this._host)
|
18
|
+
return;
|
19
|
+
if (typeof this.hotkey == 'string') {
|
20
|
+
this._addDefaultAction(this.hotkey);
|
21
|
+
}
|
22
|
+
else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {
|
23
|
+
this._addHotKeyAction([this.hotkey]);
|
24
|
+
}
|
25
|
+
else if (Array.isArray(this.hotkey)) {
|
26
|
+
this._addHotKeyAction(this.hotkey);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
_addDefaultAction(hotkey) {
|
30
|
+
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
31
|
+
['click', 'toggle', 'open', 'focus'].forEach((a) => {
|
32
|
+
if (this._host[a]) {
|
33
|
+
this._host[a]();
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
});
|
37
|
+
}));
|
38
|
+
}
|
39
|
+
_addHotKeyAction(hotkeys) {
|
40
|
+
hotkeys.forEach((k) => {
|
41
|
+
const hotkey = Object.entries(k)[0][0];
|
42
|
+
const action = Object.entries(k)[0][1];
|
43
|
+
if (!action)
|
44
|
+
this._addDefaultAction(hotkey);
|
45
|
+
else {
|
46
|
+
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
47
|
+
if (typeof action == 'string' && this._host[action]) {
|
48
|
+
this._host[action]();
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
if (typeof action == 'function') {
|
52
|
+
action();
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
}));
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
ngOnDestroy() {
|
60
|
+
this._subs.forEach((s) => {
|
61
|
+
s.unsubscribe();
|
62
|
+
});
|
63
|
+
}
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive });
|
65
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 });
|
66
|
+
}
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, decorators: [{
|
68
|
+
type: Directive,
|
69
|
+
args: [{
|
70
|
+
selector: '[hotkey]',
|
71
|
+
}]
|
72
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXComponent, decorators: [{
|
73
|
+
type: Host
|
74
|
+
}, {
|
75
|
+
type: Self
|
76
|
+
}, {
|
77
|
+
type: Optional
|
78
|
+
}] }, { type: i2.AXHotkeysService }]; }, propDecorators: { hotkey: [{
|
79
|
+
type: Input,
|
80
|
+
args: ['hotkey']
|
81
|
+
}] } });
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9ob3RrZXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFPbEI7SUFJRDtJQUNDO0lBVkgsTUFBTSxHQUErQyxFQUFFLENBQUM7SUFFdkQsS0FBSyxHQUFtQixFQUFFLENBQUM7SUFFbkMsWUFDVSxFQUEyQixFQUk1QixLQUFrQixFQUNqQixFQUFvQjtRQUxwQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUk1QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWtCO0lBQzNCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFeEMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBd0IsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBYztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkQsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hCLE9BQU87aUJBQ1I7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBeUI7UUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFhLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUM7WUFDNUQsTUFBTSxNQUFNLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDbkQsSUFBSSxPQUFPLE1BQU0sSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPO3FCQUNSO29CQUNELElBQUksT0FBTyxNQUFNLElBQUksVUFBVSxFQUFFO3dCQUMvQixNQUFNLEVBQUUsQ0FBQzt3QkFDVCxPQUFPO3FCQUNSO2dCQUNILENBQUMsQ0FBQyxDQUNILENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBbEVVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs7MEJBU0ksSUFBSTs7MEJBQ0osSUFBSTs7MEJBQ0osUUFBUTsyRUFSSixNQUFNO3NCQURaLEtBQUs7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJy4uL2NsYXNzZXMvY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IEFYSG90a2V5c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ob3RrZXkuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBBWEhvdEtleUFjdGlvbiA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgRnVuY3Rpb247IHBhcm1hcz86IGFueSB9O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaG90a2V5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEhvdGtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgnaG90a2V5JylcclxuICBwdWJsaWMgaG90a2V5OiBzdHJpbmcgfCBBWEhvdEtleUFjdGlvbiB8IEFYSG90S2V5QWN0aW9uW10gPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIEBIb3N0KClcclxuICAgIEBTZWxmKClcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwdWJsaWMgX2hvc3Q6IEFYQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBoczogQVhIb3RrZXlzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmhvdGtleSB8fCAhdGhpcy5faG9zdCkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdGhpcy5ob3RrZXkgPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5fYWRkRGVmYXVsdEFjdGlvbih0aGlzLmhvdGtleSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvdGtleSA9PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmhvdGtleSkpIHtcclxuICAgICAgdGhpcy5fYWRkSG90S2V5QWN0aW9uKFt0aGlzLmhvdGtleSBhcyBBWEhvdEtleUFjdGlvbl0pO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG90a2V5KSkge1xyXG4gICAgICB0aGlzLl9hZGRIb3RLZXlBY3Rpb24odGhpcy5ob3RrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkRGVmYXVsdEFjdGlvbihob3RrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLmhzLmFkZFNob3J0Y3V0KHsga2V5czogaG90a2V5IH0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgWydjbGljaycsICd0b2dnbGUnLCAnb3BlbicsICdmb2N1cyddLmZvckVhY2goKGEpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLl9ob3N0W2FdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hvc3RbYV0oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZEhvdEtleUFjdGlvbihob3RrZXlzOiBBWEhvdEtleUFjdGlvbltdKSB7XHJcbiAgICBob3RrZXlzLmZvckVhY2goKGspID0+IHtcclxuICAgICAgY29uc3QgaG90a2V5ID0gKDx1bmtub3duPk9iamVjdC5lbnRyaWVzKGspWzBdWzBdKSBhcyBzdHJpbmc7XHJcbiAgICAgIGNvbnN0IGFjdGlvbiA9IDx1bmtub3duPk9iamVjdC5lbnRyaWVzKGspWzBdWzFdO1xyXG4gICAgICBpZiAoIWFjdGlvbikgdGhpcy5fYWRkRGVmYXVsdEFjdGlvbihob3RrZXkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICB0aGlzLmhzLmFkZFNob3J0Y3V0KHsga2V5czogaG90a2V5IH0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09ICdzdHJpbmcnICYmIHRoaXMuX2hvc3RbYWN0aW9uXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hvc3RbYWN0aW9uXSgpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGFjdGlvbiA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgYWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHMpID0+IHtcclxuICAgICAgcy51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
2
|
+
import { fromEvent } from 'rxjs';
|
3
|
+
import { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
;
|
6
|
+
const AX_DEFAULT_SCROLL_POSITION = {
|
7
|
+
scrollHeight: 0,
|
8
|
+
scrollTop: 0,
|
9
|
+
clientHeight: 0
|
10
|
+
};
|
11
|
+
export class AXInfiniteScrollerDirective {
|
12
|
+
elm;
|
13
|
+
scrollEvent$;
|
14
|
+
userScrolledDown$;
|
15
|
+
requestOnScroll$;
|
16
|
+
scrollCallback;
|
17
|
+
immediateCallback;
|
18
|
+
scrollPercent = 70;
|
19
|
+
constructor(elm) {
|
20
|
+
this.elm = elm;
|
21
|
+
}
|
22
|
+
ngAfterViewInit() {
|
23
|
+
this.registerScrollEvent();
|
24
|
+
this.streamScrollEvents();
|
25
|
+
this.requestCallbackOnScroll();
|
26
|
+
}
|
27
|
+
registerScrollEvent() {
|
28
|
+
this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');
|
29
|
+
}
|
30
|
+
streamScrollEvents() {
|
31
|
+
this.userScrolledDown$ = this.scrollEvent$
|
32
|
+
.pipe(map((e) => ({
|
33
|
+
scrollHeight: e.target.scrollHeight,
|
34
|
+
scrollTop: e.target.scrollTop,
|
35
|
+
clientHeight: e.target.clientHeight
|
36
|
+
})), pairwise(), filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
|
37
|
+
}
|
38
|
+
requestCallbackOnScroll() {
|
39
|
+
this.requestOnScroll$ = this.userScrolledDown$;
|
40
|
+
if (this.immediateCallback) {
|
41
|
+
this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));
|
42
|
+
}
|
43
|
+
this.requestOnScroll$.pipe(exhaustMap(() => {
|
44
|
+
return this.scrollCallback();
|
45
|
+
}));
|
46
|
+
//.subscribe((data) => { console.log(data) }, (err) => console.log(err));
|
47
|
+
}
|
48
|
+
isUserScrollingDown = (positions) => {
|
49
|
+
return positions[0].sT < positions[1].sT;
|
50
|
+
};
|
51
|
+
isScrollExpectedPercent = (position) => {
|
52
|
+
return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);
|
53
|
+
};
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
55
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 });
|
56
|
+
}
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
|
58
|
+
type: Directive,
|
59
|
+
args: [{
|
60
|
+
selector: '[axInfiniteScroller]'
|
61
|
+
}]
|
62
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollCallback: [{
|
63
|
+
type: Input
|
64
|
+
}], immediateCallback: [{
|
65
|
+
type: Input
|
66
|
+
}], scrollPercent: [{
|
67
|
+
type: Input
|
68
|
+
}] } });
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdFLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFxQjtJQUNqRCxZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osWUFBWSxFQUFFLENBQUM7Q0FDbEIsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFrQmhCO0lBaEJaLFlBQVksQ0FBa0I7SUFFOUIsaUJBQWlCLENBQWtCO0lBR25DLGdCQUFnQixDQUFrQjtJQUcxQyxjQUFjLENBQVc7SUFHekIsaUJBQWlCLENBQUM7SUFHbEIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVuQixZQUFvQixHQUFlO1FBQWYsUUFBRyxHQUFILEdBQUcsQ0FBWTtJQUFJLENBQUM7SUFFeEMsZUFBZTtRQUVYLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBRW5DLENBQUM7SUFFTyxtQkFBbUI7UUFFdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFcEUsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDckMsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBb0IsRUFBRSxDQUFDLENBQUM7WUFDL0IsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUNuQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQzdCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDdEMsQ0FBQyxDQUFDLEVBQ0gsUUFBUSxFQUFFLEVBQ1YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RyxDQUFDO0lBQ1YsQ0FBQztJQUVPLHVCQUF1QjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRS9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsQ0FBQywwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQ3RFLENBQUM7U0FDTDtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ0gseUVBQXlFO0lBRWpGLENBQUM7SUFFTyxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3hDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdDLENBQUMsQ0FBQTtJQUVPLHVCQUF1QixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDM0MsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQUE7dUdBeEVRLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO2lHQVdHLGNBQWM7c0JBRGIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFNjcm9sbFBvc2l0aW9uIHtcclxuICAgIHNjcm9sbEhlaWdodDogbnVtYmVyO1xyXG4gICAgc2Nyb2xsVG9wOiBudW1iZXI7XHJcbiAgICBjbGllbnRIZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IEFYX0RFRkFVTFRfU0NST0xMX1BPU0lUSU9OOiBBWFNjcm9sbFBvc2l0aW9uID0ge1xyXG4gICAgc2Nyb2xsSGVpZ2h0OiAwLFxyXG4gICAgc2Nyb2xsVG9wOiAwLFxyXG4gICAgY2xpZW50SGVpZ2h0OiAwXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2F4SW5maW5pdGVTY3JvbGxlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEluZmluaXRlU2Nyb2xsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICBwcml2YXRlIHNjcm9sbEV2ZW50JDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIHByaXZhdGUgdXNlclNjcm9sbGVkRG93biQ6IE9ic2VydmFibGU8YW55PjtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0T25TY3JvbGwkOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbENhbGxiYWNrOiBGdW5jdGlvbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaW1tZWRpYXRlQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbFBlcmNlbnQgPSA3MDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsbTogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsRXZlbnQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdHJlYW1TY3JvbGxFdmVudHMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0Q2FsbGJhY2tPblNjcm9sbCgpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlZ2lzdGVyU2Nyb2xsRXZlbnQoKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsRXZlbnQkID0gZnJvbUV2ZW50KHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdHJlYW1TY3JvbGxFdmVudHMoKSB7XHJcbiAgICAgICAgdGhpcy51c2VyU2Nyb2xsZWREb3duJCA9IHRoaXMuc2Nyb2xsRXZlbnQkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChlOiBhbnkpOiBBWFNjcm9sbFBvc2l0aW9uID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlLnRhcmdldC5zY3JvbGxIZWlnaHQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBlLnRhcmdldC5zY3JvbGxUb3AsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiBlLnRhcmdldC5jbGllbnRIZWlnaHRcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIocG9zaXRpb25zID0+IHRoaXMuaXNVc2VyU2Nyb2xsaW5nRG93bihwb3NpdGlvbnMpICYmIHRoaXMuaXNTY3JvbGxFeHBlY3RlZFBlcmNlbnQocG9zaXRpb25zWzFdKSlcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RDYWxsYmFja09uU2Nyb2xsKCkge1xyXG4gICAgICAgIHRoaXMucmVxdWVzdE9uU2Nyb2xsJCA9IHRoaXMudXNlclNjcm9sbGVkRG93biQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmltbWVkaWF0ZUNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdE9uU2Nyb2xsJCA9IHRoaXMucmVxdWVzdE9uU2Nyb2xsJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKFtBWF9ERUZBVUxUX1NDUk9MTF9QT1NJVElPTiwgQVhfREVGQVVMVF9TQ1JPTExfUE9TSVRJT05dKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T25TY3JvbGwkLnBpcGUoXHJcbiAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC8vLnN1YnNjcmliZSgoZGF0YSkgPT4geyBjb25zb2xlLmxvZyhkYXRhKSB9LCAoZXJyKSA9PiBjb25zb2xlLmxvZyhlcnIpKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1VzZXJTY3JvbGxpbmdEb3duID0gKHBvc2l0aW9ucykgPT4ge1xyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbnNbMF0uc1QgPCBwb3NpdGlvbnNbMV0uc1Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1Njcm9sbEV4cGVjdGVkUGVyY2VudCA9IChwb3NpdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoKHBvc2l0aW9uLnNUICsgcG9zaXRpb24uY0gpIC8gcG9zaXRpb24uc0gpID4gKHRoaXMuc2Nyb2xsUGVyY2VudCAvIDEwMCk7XHJcbiAgICB9XHJcblxyXG59Il19
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { Directive } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class AXResponsiveDirective {
|
4
|
+
_elementRef;
|
5
|
+
_observer = new ResizeObserver(entries => {
|
6
|
+
for (let entry of entries) {
|
7
|
+
if (entry.target) {
|
8
|
+
const e = entry.target;
|
9
|
+
const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];
|
10
|
+
elements.map(c => ({
|
11
|
+
element: c,
|
12
|
+
classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))
|
13
|
+
})).forEach(c => {
|
14
|
+
e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);
|
15
|
+
});
|
16
|
+
}
|
17
|
+
}
|
18
|
+
});
|
19
|
+
;
|
20
|
+
constructor(_elementRef) {
|
21
|
+
this._elementRef = _elementRef;
|
22
|
+
this._observer.observe(_elementRef.nativeElement);
|
23
|
+
}
|
24
|
+
ngOnDestroy() {
|
25
|
+
this._observer.disconnect();
|
26
|
+
this._observer.unobserve(this._elementRef.nativeElement);
|
27
|
+
}
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
29
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 });
|
30
|
+
}
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXResponsiveDirective, decorators: [{
|
32
|
+
type: Directive,
|
33
|
+
args: [{ selector: '[ax-responsive]' }]
|
34
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBR2pFLE1BQU0sT0FBTyxxQkFBcUI7SUFrQlY7SUFoQlosU0FBUyxHQUFtQixJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3RCxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUV2QixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDdkIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2YsT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN4RixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1osQ0FBQyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvRyxDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFSixZQUFvQixXQUF1QztRQUF2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7dUdBekJRLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1theC1yZXNwb25zaXZlXScgfSlcclxuZXhwb3J0IGNsYXNzIEFYUmVzcG9uc2l2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChlbnRyeS50YXJnZXQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBlbnRyeS50YXJnZXQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IFtlLCAuLi5BcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChgW2NsYXNzKj0nc206J11gKSldO1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudHMubWFwKGMgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBjLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdDogQXJyYXkuZnJvbShjLmNsYXNzTGlzdCkuZmlsdGVyKGMgPT4gYy5pbmNsdWRlcygnc20nKSkubWFwKGMgPT4gYy5zbGljZSgzKSlcclxuICAgICAgICAgICAgICAgIH0pKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGUuY2xpZW50V2lkdGggPCAzMjAgPyBjLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jLmNsYXNzTGlzdCkgOiBjLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jLmNsYXNzTGlzdCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pOztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pikge1xyXG4gICAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIHRoaXMuX29ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import { Overlay, OverlayContainer, } from '@angular/cdk/overlay';
|
2
|
+
// TODO: 'ComponentFactoryResolver' is deprecated.
|
3
|
+
import { Inject, Injectable, } from '@angular/core';
|
4
|
+
import { DOCUMENT } from '@angular/common';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/cdk/overlay";
|
7
|
+
import * as i2 from "@angular/cdk/bidi";
|
8
|
+
import * as i3 from "@angular/common";
|
9
|
+
export class DynamicOverlayContainer extends OverlayContainer {
|
10
|
+
setContainerElement(containerElement) {
|
11
|
+
this._containerElement = containerElement;
|
12
|
+
}
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
14
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, providedIn: 'root' });
|
15
|
+
}
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, decorators: [{
|
17
|
+
type: Injectable,
|
18
|
+
args: [{
|
19
|
+
providedIn: 'root',
|
20
|
+
}]
|
21
|
+
}] });
|
22
|
+
export class DynamicOverlay extends Overlay {
|
23
|
+
_dynamicOverlayContainer;
|
24
|
+
renderer;
|
25
|
+
constructor(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, rendererFactory, _location, _outsideClickDispatcher) {
|
26
|
+
super(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher);
|
27
|
+
this.renderer = rendererFactory.createRenderer(null, null);
|
28
|
+
this._dynamicOverlayContainer = _overlayContainer;
|
29
|
+
}
|
30
|
+
setContainerElement(containerElement) {
|
31
|
+
this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');
|
32
|
+
this._dynamicOverlayContainer.setContainerElement(containerElement);
|
33
|
+
}
|
34
|
+
createOn(containerElement, config) {
|
35
|
+
this.setContainerElement(containerElement);
|
36
|
+
return super.create(config);
|
37
|
+
}
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: DynamicOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i0.RendererFactory2 }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
39
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, providedIn: 'root' });
|
40
|
+
}
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, decorators: [{
|
42
|
+
type: Injectable,
|
43
|
+
args: [{
|
44
|
+
providedIn: 'root',
|
45
|
+
}]
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }, { type: DynamicOverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: i1.OverlayPositionBuilder }, { type: i1.OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
47
|
+
type: Inject,
|
48
|
+
args: [DOCUMENT]
|
49
|
+
}] }, { type: i2.Directionality }, { type: i0.RendererFactory2 }, { type: i3.Location }, { type: i1.OverlayOutsideClickDispatcher }]; } });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNkay1vdmVybGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL3NlcnZpY2VzL2N1c3RvbS1jZGstb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBSVAsZ0JBQWdCLEdBSWpCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsa0RBQWtEO0FBQ2xELE9BQU8sRUFFTCxNQUFNLEVBS04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFLckQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQUNwRCxtQkFBbUIsQ0FBQyxnQkFBNkI7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7dUdBSFUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFVRCxNQUFNLE9BQU8sY0FBZSxTQUFRLE9BQU87SUFDeEIsd0JBQXdCLENBQTBCO0lBQzNELFFBQVEsQ0FBWTtJQUU1QixZQUNFLGdCQUF1QyxFQUN2QyxpQkFBMEMsRUFDMUMseUJBQW1ELEVBQ25ELGdCQUF3QyxFQUN4QyxtQkFBOEMsRUFDOUMsU0FBbUIsRUFDbkIsT0FBZSxFQUNHLFNBQWMsRUFDaEMsZUFBK0IsRUFDL0IsZUFBaUMsRUFDakMsU0FBbUIsRUFDbkIsdUJBQXNEO1FBRXRELEtBQUssQ0FDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsdUJBQXVCLENBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQztJQUNwRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sUUFBUSxDQUNiLGdCQUE2QixFQUM3QixNQUFzQjtRQUV0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0EvQ1UsY0FBYyxnUUFZZixRQUFROzJHQVpQLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBPdmVybGF5LFxyXG4gIE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsXHJcbiAgT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcclxuICBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXHJcbiAgT3ZlcmxheUNvbnRhaW5lcixcclxuICBPdmVybGF5UmVmLFxyXG4gIE92ZXJsYXlDb25maWcsXHJcbiAgT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuLy8gVE9ETzogJ0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcicgaXMgZGVwcmVjYXRlZC5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIE5nWm9uZSxcclxuICBSZW5kZXJlcjIsXHJcbiAgUmVuZGVyZXJGYWN0b3J5MixcclxuICBJbmplY3RhYmxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY092ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBPdmVybGF5Q29udGFpbmVyIHtcclxuICBwdWJsaWMgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY092ZXJsYXkgZXh0ZW5kcyBPdmVybGF5IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljT3ZlcmxheUNvbnRhaW5lcjogRHluYW1pY092ZXJsYXlDb250YWluZXI7XHJcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNjcm9sbFN0cmF0ZWdpZXM6IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcclxuICAgIF9vdmVybGF5Q29udGFpbmVyOiBEeW5hbWljT3ZlcmxheUNvbnRhaW5lcixcclxuICAgIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIF9wb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXHJcbiAgICBfa2V5Ym9hcmREaXNwYXRjaGVyOiBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyLFxyXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIF9uZ1pvbmU6IE5nWm9uZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxyXG4gICAgX2RpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcclxuICAgIF9sb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcclxuICApIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICBzY3JvbGxTdHJhdGVnaWVzLFxyXG4gICAgICBfb3ZlcmxheUNvbnRhaW5lcixcclxuICAgICAgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgX3Bvc2l0aW9uQnVpbGRlcixcclxuICAgICAgX2tleWJvYXJkRGlzcGF0Y2hlcixcclxuICAgICAgX2luamVjdG9yLFxyXG4gICAgICBfbmdab25lLFxyXG4gICAgICBfZG9jdW1lbnQsXHJcbiAgICAgIF9kaXJlY3Rpb25hbGl0eSxcclxuICAgICAgX2xvY2F0aW9uLFxyXG4gICAgICBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlclxyXG4gICAgKTtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcblxyXG4gICAgdGhpcy5fZHluYW1pY092ZXJsYXlDb250YWluZXIgPSBfb3ZlcmxheUNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXJFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVooMCknKTtcclxuICAgIHRoaXMuX2R5bmFtaWNPdmVybGF5Q29udGFpbmVyLnNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlT24oXHJcbiAgICBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCxcclxuICAgIGNvbmZpZz86IE92ZXJsYXlDb25maWdcclxuICApOiBPdmVybGF5UmVmIHtcclxuICAgIHRoaXMuc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcclxuICAgIHJldHVybiBzdXBlci5jcmVhdGUoY29uZmlnKTtcclxuICB9XHJcbn1cclxuIl19
|