@acorex/components 7.4.8 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.d.ts +1 -1
- package/action-sheet/lib/action-sheet.component.d.ts +3 -3
- package/avatar/index.d.ts +1 -1
- package/breadcrumbs/index.d.ts +2 -2
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
- package/button/lib/button-item.class.d.ts +1 -1
- package/button/lib/button.component.d.ts +1 -1
- package/button/lib/button.module.d.ts +2 -1
- package/calendar/lib/calendar.class.d.ts +1 -1
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/collapse/lib/collapse-group.component.d.ts +9 -6
- package/collapse/lib/collapse.component.d.ts +6 -6
- package/color-box/lib/color-box.component.d.ts +2 -2
- package/color-palette/lib/color-palette-input.component.d.ts +3 -3
- package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
- package/color-palette/lib/color-palette.class.d.ts +4 -4
- package/common/index.d.ts +0 -1
- package/common/lib/classes/datalist.class.d.ts +34 -3
- package/common/lib/classes/styles.class.d.ts +2 -3
- package/common/lib/components/colorlook-component.class.d.ts +2 -2
- package/common/lib/components/input-base-value-component.class.d.ts +12 -12
- package/common/lib/components/selection-base.component.class.d.ts +5 -10
- package/common/lib/directives/delayed-value-changed.directive.d.ts +5 -5
- package/common/lib/directives/hotkey.directive.d.ts +2 -2
- package/common/lib/directives/responsive.directive.d.ts +1 -1
- package/context-menu/lib/context-menu.component.d.ts +1 -1
- package/data-table/lib/data-table.component.d.ts +2 -2
- package/datetime-box/lib/datetime-box.component.d.ts +5 -4
- package/datetime-input/lib/datetime-input.component.d.ts +1 -1
- package/datetime-picker/index.d.ts +1 -1
- package/datetime-picker/lib/datetime-picker.component.d.ts +1 -2
- package/dialog/lib/dialog.class.d.ts +4 -2
- package/dialog/lib/dialog.service.d.ts +3 -2
- package/dropdown/lib/dropdown-box.component.d.ts +6 -3
- package/dropdown/lib/dropdown-panel.component.d.ts +1 -0
- package/esm2022/action-sheet/index.mjs +2 -2
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +22 -14
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +3 -3
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +5 -5
- package/esm2022/alert/lib/alert.component.mjs +6 -7
- package/esm2022/avatar/index.mjs +2 -2
- package/esm2022/avatar/lib/avatar-group.component.mjs +1 -1
- package/esm2022/avatar/lib/avatar.component.mjs +2 -2
- package/esm2022/badge/lib/badge.component.mjs +3 -3
- package/esm2022/badge/lib/badge.module.mjs +2 -2
- package/esm2022/breadcrumbs/index.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +1 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +2 -2
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +1 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +3 -3
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button-item.component.mjs +1 -1
- package/esm2022/button/lib/button.component.mjs +3 -3
- package/esm2022/button/lib/button.module.mjs +4 -3
- package/esm2022/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/button-group/lib/button-group.module.mjs +2 -2
- package/esm2022/calendar/lib/calendar-range.component.mjs +4 -7
- package/esm2022/calendar/lib/calendar.class.mjs +3 -11
- package/esm2022/calendar/lib/calendar.component.mjs +28 -29
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/lib/check-box.component.mjs +9 -9
- package/esm2022/check-box/lib/check-box.module.mjs +3 -3
- package/esm2022/chips/lib/chips.component.mjs +5 -5
- package/esm2022/chips/lib/chips.module.mjs +2 -2
- package/esm2022/collapse/lib/collapse-group.component.mjs +17 -12
- package/esm2022/collapse/lib/collapse.component.mjs +9 -9
- package/esm2022/collapse/lib/collapse.module.mjs +3 -3
- package/esm2022/color-box/lib/color-box.component.mjs +7 -7
- package/esm2022/color-box/lib/color-box.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +10 -14
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +29 -31
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +8 -16
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +5 -5
- package/esm2022/color-palette/lib/color-palette.class.mjs +2 -2
- package/esm2022/color-palette/lib/color-palette.component.mjs +14 -6
- package/esm2022/color-palette/lib/color-palette.module.mjs +12 -12
- package/esm2022/common/index.mjs +1 -2
- package/esm2022/common/lib/classes/components.class.mjs +1 -1
- package/esm2022/common/lib/classes/datalist.class.mjs +41 -3
- package/esm2022/common/lib/classes/styles.class.mjs +2 -10
- package/esm2022/common/lib/common.module.mjs +4 -2
- package/esm2022/common/lib/components/button-base-component.class.mjs +4 -4
- package/esm2022/common/lib/components/color-component.class.mjs +2 -2
- package/esm2022/common/lib/components/colorlook-component.class.mjs +4 -4
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +15 -15
- package/esm2022/common/lib/components/interactive-component.class.mjs +1 -1
- package/esm2022/common/lib/components/look-component.class.mjs +2 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +19 -36
- package/esm2022/common/lib/components/value-component.class.mjs +4 -4
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +4 -12
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +16 -14
- package/esm2022/common/lib/directives/hotkey.directive.mjs +14 -15
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +7 -9
- package/esm2022/common/lib/directives/responsive.directive.mjs +12 -10
- package/esm2022/common/lib/directives/ripple.directive.mjs +1 -1
- package/esm2022/common/lib/services/dom.service.mjs +2 -2
- package/esm2022/common/lib/services/hotkey.service.mjs +4 -5
- package/esm2022/common/lib/types/direction.mjs +1 -1
- package/esm2022/common/lib/types/orientation.mjs +1 -1
- package/esm2022/common/lib/types/placement.mjs +23 -23
- package/esm2022/common/lib/types/range.mjs +1 -1
- package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
- package/esm2022/context-menu/lib/context-menu.module.mjs +7 -17
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +1 -1
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +21 -8
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +17 -5
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -7
- package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager.module.mjs +30 -16
- package/esm2022/data-table/lib/data-column.directive.mjs +2 -2
- package/esm2022/data-table/lib/data-table.component.mjs +2 -2
- package/esm2022/data-table/lib/data-table.module.mjs +7 -7
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +11 -8
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +7 -7
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +134 -134
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
- package/esm2022/datetime-picker/index.mjs +2 -2
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +4 -4
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +4 -4
- package/esm2022/decorators/lib/components/clear-button.component.mjs +2 -2
- package/esm2022/decorators/lib/components/close-button.component.mjs +8 -4
- package/esm2022/decorators/lib/components/generic-content.component.mjs +1 -1
- package/esm2022/decorators/lib/components/icon.component.mjs +2 -2
- package/esm2022/dialog/lib/dialog.class.mjs +1 -1
- package/esm2022/dialog/lib/dialog.component.mjs +3 -17
- package/esm2022/dialog/lib/dialog.module.mjs +26 -10
- package/esm2022/dialog/lib/dialog.service.mjs +47 -24
- package/esm2022/drawer/lib/drawer-container.component.mjs +2 -2
- package/esm2022/drawer/lib/drawer.component.mjs +2 -2
- package/esm2022/drawer/lib/drawer.module.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +1 -1
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +16 -10
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +7 -6
- package/esm2022/dropdown/lib/dropdown.module.mjs +29 -9
- package/esm2022/form/index.mjs +2 -2
- package/esm2022/form/lib/form-field.component.mjs +4 -4
- package/esm2022/form/lib/form.component.mjs +3 -4
- package/esm2022/form/lib/form.config.mjs +6 -6
- package/esm2022/form/lib/form.module.mjs +3 -11
- package/esm2022/form/lib/validation-summary.component.mjs +40 -30
- package/esm2022/form/lib/validation.class.mjs +1 -1
- package/esm2022/image/lib/image.component.mjs +1 -1
- package/esm2022/image/lib/image.module.mjs +2 -2
- package/esm2022/label/lib/label.component.mjs +4 -8
- package/esm2022/label/lib/label.module.mjs +2 -2
- package/esm2022/list/acorex-components-list.mjs +5 -0
- package/esm2022/list/index.mjs +3 -0
- package/esm2022/list/lib/list.component.mjs +244 -0
- package/esm2022/list/lib/list.module.mjs +22 -0
- package/esm2022/loading/index.mjs +2 -2
- package/esm2022/loading/lib/loading-spinner.component.mjs +13 -7
- package/esm2022/loading/lib/loading.component.mjs +8 -16
- package/esm2022/loading/lib/loading.config.mjs +2 -2
- package/esm2022/loading/lib/loading.directive.mjs +2 -2
- package/esm2022/loading/lib/loading.module.mjs +22 -8
- package/esm2022/loading/lib/loading.service.mjs +9 -13
- package/esm2022/menu/index.mjs +4 -1
- package/esm2022/menu/lib/class/root-menu.class.mjs +3 -0
- package/esm2022/menu/lib/menu-item/menu-item.component.mjs +95 -0
- package/esm2022/menu/lib/menu.component.mjs +4 -4
- package/esm2022/menu/lib/menu.module.mjs +11 -16
- package/esm2022/menu/lib/menu2.component.mjs +45 -0
- package/esm2022/mixin/lib/base-components.class.mjs +2 -3
- package/esm2022/mixin/lib/base-menu-mixin.class.mjs +1 -1
- package/esm2022/mixin/lib/button-mixin.class.mjs +1 -1
- package/esm2022/mixin/lib/clickable-mixin.class.mjs +8 -8
- package/esm2022/mixin/lib/color-look-mixing.class.mjs +3 -3
- package/esm2022/mixin/lib/constratctor.mjs +1 -1
- package/esm2022/mixin/lib/datalist-component.class.mjs +3 -5
- package/esm2022/mixin/lib/datalist.class.mjs +46 -3
- package/esm2022/mixin/lib/dropdown-mixin.class.mjs +2 -4
- package/esm2022/mixin/lib/interactive-mixin.class.mjs +29 -28
- package/esm2022/mixin/lib/mixin.class.mjs +13 -13
- package/esm2022/mixin/lib/page-component.class.mjs +3 -3
- package/esm2022/mixin/lib/selection-component.class.mjs +1 -1
- package/esm2022/mixin/lib/textbox-mixin.class.mjs +29 -20
- package/esm2022/mixin/lib/value-mixin.class.mjs +1 -1
- package/esm2022/notification/index.mjs +2 -2
- package/esm2022/notification/lib/notification.class.mjs +1 -1
- package/esm2022/notification/lib/notification.component.mjs +7 -7
- package/esm2022/notification/lib/notification.config.mjs +1 -1
- package/esm2022/notification/lib/notification.module.mjs +21 -9
- package/esm2022/notification/lib/notification.service.mjs +11 -11
- package/esm2022/number-box/lib/number-box.component.mjs +6 -6
- package/esm2022/number-box/lib/number-box.module.mjs +6 -16
- package/esm2022/otp/lib/otp.component.mjs +5 -5
- package/esm2022/otp/lib/otp.module.mjs +2 -2
- package/esm2022/page/lib/base-page.class.mjs +6 -4
- package/esm2022/page/lib/page.component.mjs +3 -3
- package/esm2022/page/lib/page.module.mjs +1 -1
- package/esm2022/password-box/lib/password-box.component.mjs +6 -6
- package/esm2022/password-box/lib/password-box.module.mjs +7 -15
- package/esm2022/picker/lib/picker-column.directive.mjs +9 -16
- package/esm2022/picker/lib/picker.component.mjs +2 -2
- package/esm2022/picker/lib/picker.module.mjs +3 -3
- package/esm2022/popover/lib/popover.component.mjs +8 -5
- package/esm2022/popover/lib/popover.module.mjs +2 -2
- package/esm2022/popup/index.mjs +2 -2
- package/esm2022/popup/lib/popup.component.mjs +1 -2
- package/esm2022/popup/lib/popup.interface.mjs +1 -1
- package/esm2022/popup/lib/popup.module.mjs +2 -2
- package/esm2022/popup/lib/popup.service.mjs +1 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +5 -5
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +2 -2
- package/esm2022/radio/lib/radio.component.mjs +8 -8
- package/esm2022/radio/lib/radio.module.mjs +2 -2
- package/esm2022/range-slider/lib/range-slider.component.mjs +9 -9
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +4 -4
- package/esm2022/result/lib/result.module.mjs +2 -2
- package/esm2022/routing-progress/acorex-components-routing-progress.mjs +5 -0
- package/esm2022/routing-progress/index.mjs +3 -0
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +58 -0
- package/esm2022/routing-progress/lib/routing-progress.module.mjs +21 -0
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +4 -2
- package/esm2022/scheduler/lib/scheduler.component.mjs +1 -1
- package/esm2022/search-box/lib/search-box.component.mjs +43 -19
- package/esm2022/search-box/lib/search-box.module.mjs +8 -8
- package/esm2022/select-box/index.mjs +2 -1
- package/esm2022/select-box/lib/select-box.component.mjs +4 -4
- package/esm2022/select-box/lib/select-box.module.mjs +21 -12
- package/esm2022/select-box/lib/select-box2.component.mjs +191 -0
- package/esm2022/selection-list/lib/selection-list.component.mjs +24 -9
- package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
- package/esm2022/switch/lib/switch-content.component.mjs +1 -1
- package/esm2022/switch/lib/switch.component.mjs +11 -18
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +1 -1
- package/esm2022/tabs/lib/tabs.component.mjs +2 -2
- package/esm2022/tabs/lib/tabs.module.mjs +5 -5
- package/esm2022/tag/lib/tag.component.mjs +4 -4
- package/esm2022/tag/lib/tag.module.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +21 -15
- package/esm2022/text-area/lib/text-area.module.mjs +2 -2
- package/esm2022/text-box/lib/text-box.component.mjs +6 -6
- package/esm2022/text-box/lib/text-box.module.mjs +4 -18
- package/esm2022/toast/index.mjs +2 -2
- package/esm2022/toast/lib/toast.class.mjs +1 -1
- package/esm2022/toast/lib/toast.component.mjs +7 -7
- package/esm2022/toast/lib/toast.config.mjs +3 -3
- package/esm2022/toast/lib/toast.module.mjs +6 -10
- package/esm2022/toast/lib/toast.service.mjs +16 -14
- package/esm2022/tooltip/lib/tooltip.component.mjs +2 -2
- package/esm2022/tooltip/lib/tooltip.directive.mjs +4 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +3 -3
- package/esm2022/uploader/index.mjs +3 -1
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader-list.component.mjs +41 -7
- package/esm2022/uploader/lib/uploader-overlay.component.mjs +2 -2
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +53 -0
- package/esm2022/uploader/lib/uploader.module.mjs +26 -7
- package/esm2022/uploader/lib/uploader.service.mjs +30 -0
- package/fesm2022/acorex-components-action-sheet.mjs +23 -15
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +5 -6
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +15 -15
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +2 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +5 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +26 -38
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +9 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +4 -4
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +23 -18
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +6 -6
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +53 -59
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +147 -164
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +6 -16
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +70 -19
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +1 -1
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +11 -8
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +133 -133
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +8 -4
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +65 -40
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +1 -1
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +46 -20
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +76 -75
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -6
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +269 -0
- package/fesm2022/acorex-components-list.mjs.map +1 -0
- package/fesm2022/acorex-components-loading.mjs +42 -36
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +147 -21
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +113 -64
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +50 -38
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -17
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +4 -4
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +6 -4
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +7 -15
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +10 -17
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +7 -4
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -3
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +3 -3
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +6 -6
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +83 -0
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -0
- package/fesm2022/acorex-components-scheduler.mjs +3 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +47 -24
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +201 -12
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +26 -11
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +9 -16
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +3 -3
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +20 -14
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +8 -22
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +46 -48
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +146 -18
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/form/index.d.ts +1 -1
- package/form/lib/form.component.d.ts +2 -2
- package/form/lib/validation-summary.component.d.ts +3 -3
- package/list/README.md +3 -0
- package/list/index.d.ts +2 -0
- package/list/lib/list.component.d.ts +70 -0
- package/list/lib/list.module.d.ts +9 -0
- package/loading/index.d.ts +1 -1
- package/loading/lib/loading.component.d.ts +1 -1
- package/loading/lib/loading.module.d.ts +3 -2
- package/menu/index.d.ts +3 -0
- package/menu/lib/class/root-menu.class.d.ts +4 -0
- package/menu/lib/menu-item/menu-item.component.d.ts +22 -0
- package/menu/lib/menu.component.d.ts +3 -3
- package/menu/lib/menu.module.d.ts +10 -7
- package/menu/lib/menu2.component.d.ts +12 -0
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +9 -9
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/datalist.class.d.ts +38 -0
- package/mixin/lib/dropdown-mixin.class.d.ts +3 -3
- package/mixin/lib/interactive-mixin.class.d.ts +25 -22
- package/mixin/lib/mixin.class.d.ts +62 -62
- package/mixin/lib/page-component.class.d.ts +4 -4
- package/mixin/lib/selection-component.class.d.ts +3 -3
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +20 -20
- package/mixin/lib/value-mixin.class.d.ts +9 -9
- package/notification/index.d.ts +1 -1
- package/notification/lib/notification.class.d.ts +3 -3
- package/notification/lib/notification.component.d.ts +3 -3
- package/notification/lib/notification.config.d.ts +1 -1
- package/number-box/lib/number-box.component.d.ts +3 -3
- package/otp/lib/otp.component.d.ts +3 -3
- package/package.json +13 -1
- package/page/lib/base-page.class.d.ts +1 -1
- package/page/lib/page.component.d.ts +1 -1
- package/password-box/lib/password-box.component.d.ts +4 -4
- package/popover/lib/popover.component.d.ts +2 -1
- package/popup/index.d.ts +1 -1
- package/popup/lib/popup.interface.d.ts +2 -2
- package/routing-progress/README.md +3 -0
- package/routing-progress/index.d.ts +2 -0
- package/routing-progress/lib/routing-progress.component.d.ts +14 -0
- package/routing-progress/lib/routing-progress.module.d.ts +8 -0
- package/search-box/lib/search-box.component.d.ts +10 -4
- package/select-box/index.d.ts +1 -0
- package/select-box/lib/select-box.module.d.ts +15 -12
- package/select-box/lib/select-box2.component.d.ts +44 -0
- package/selection-list/lib/selection-list.component.d.ts +7 -3
- package/text-area/lib/text-area.component.d.ts +10 -3
- package/text-box/lib/text-box.component.d.ts +3 -3
- package/toast/index.d.ts +1 -1
- package/toast/lib/toast.class.d.ts +1 -1
- package/toast/lib/toast.component.d.ts +5 -4
- package/toast/lib/toast.config.d.ts +1 -1
- package/tooltip/lib/tooltip.directive.d.ts +1 -1
- package/uploader/index.d.ts +2 -0
- package/uploader/lib/uploader-list.component.d.ts +14 -1
- package/uploader/lib/uploader-zone.directive.d.ts +18 -0
- package/uploader/lib/uploader.module.d.ts +6 -4
- package/uploader/lib/uploader.service.d.ts +10 -0
- package/common/lib/components/appearance-component.class.d.ts +0 -12
- package/esm2022/common/lib/components/appearance-component.class.mjs +0 -25
@@ -0,0 +1,269 @@
|
|
1
|
+
import { MXSelectionValueComponent, AXComponent, AXFocusableComponent, AXValuableComponent } from '@acorex/components/common';
|
2
|
+
import { DataSource } from '@angular/cdk/collections';
|
3
|
+
import * as i2 from '@angular/cdk/scrolling';
|
4
|
+
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
5
|
+
import * as i0 from '@angular/core';
|
6
|
+
import { EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, HostListener, HostBinding, NgModule } from '@angular/core';
|
7
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
8
|
+
import { Subscription, BehaviorSubject, debounceTime, distinctUntilChanged } from 'rxjs';
|
9
|
+
import * as i1 from '@angular/common';
|
10
|
+
import { CommonModule } from '@angular/common';
|
11
|
+
|
12
|
+
class AXListDataSource extends DataSource {
|
13
|
+
get cachedItems() {
|
14
|
+
return this._cachedData || [];
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* @ignore
|
18
|
+
*/
|
19
|
+
constructor(config) {
|
20
|
+
super();
|
21
|
+
this.config = config;
|
22
|
+
this.pageSize = 20;
|
23
|
+
this.debounceTime = 300;
|
24
|
+
this._cachedData = new Array(this.config.pageSize);
|
25
|
+
this.fetchedPages = new Set();
|
26
|
+
this.subscription = new Subscription();
|
27
|
+
this.initiated = false;
|
28
|
+
this.dataStream = new BehaviorSubject(this._cachedData);
|
29
|
+
this.loadingState = new BehaviorSubject(true);
|
30
|
+
this.source = config.source;
|
31
|
+
if (config.pageSize)
|
32
|
+
this.pageSize = config.pageSize;
|
33
|
+
if (config.debounceTime)
|
34
|
+
this.debounceTime = config.debounceTime;
|
35
|
+
}
|
36
|
+
connect(collectionViewer) {
|
37
|
+
this.subscription.add(collectionViewer.viewChange
|
38
|
+
.pipe(debounceTime(this.debounceTime))
|
39
|
+
.pipe(distinctUntilChanged())
|
40
|
+
.subscribe((range) => {
|
41
|
+
const startPage = this.getPageForIndex(range.start);
|
42
|
+
const endPage = this.getPageForIndex(range.end - 1);
|
43
|
+
for (let i = startPage; i <= endPage; i++) {
|
44
|
+
this.fetchPage(i);
|
45
|
+
}
|
46
|
+
}));
|
47
|
+
return this.dataStream;
|
48
|
+
}
|
49
|
+
disconnect() {
|
50
|
+
this.subscription.unsubscribe();
|
51
|
+
}
|
52
|
+
getPageForIndex(index) {
|
53
|
+
return Math.floor(index / this.pageSize);
|
54
|
+
}
|
55
|
+
fetchPage(page) {
|
56
|
+
if (this.fetchedPages.has(page)) {
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
this.loadingState.next(true);
|
60
|
+
this.fetchedPages.add(page);
|
61
|
+
if (Array.isArray(this.source)) {
|
62
|
+
this._cachedData = this.source;
|
63
|
+
this.dataStream.next(this._cachedData);
|
64
|
+
this.loadingState.next(false);
|
65
|
+
}
|
66
|
+
else if (typeof this.source == 'function') {
|
67
|
+
const promise = this.source({
|
68
|
+
take: this.pageSize,
|
69
|
+
skip: this.pageSize * page,
|
70
|
+
});
|
71
|
+
promise
|
72
|
+
.then((result) => {
|
73
|
+
if (!this.initiated) {
|
74
|
+
this._cachedData = new Array(result.total);
|
75
|
+
this.initiated = true;
|
76
|
+
}
|
77
|
+
this._cachedData.splice(page * this.pageSize, this.pageSize, ...result.items);
|
78
|
+
this.dataStream.next(this._cachedData);
|
79
|
+
})
|
80
|
+
.finally(() => {
|
81
|
+
this.loadingState.next(false);
|
82
|
+
});
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
86
|
+
class AXListComponent extends MXSelectionValueComponent {
|
87
|
+
constructor() {
|
88
|
+
super(...arguments);
|
89
|
+
this.source = [];
|
90
|
+
this.itemHeight = 40;
|
91
|
+
this.onDataLoad = new EventEmitter();
|
92
|
+
this.onScrolledIndexChanged = new EventEmitter();
|
93
|
+
this.checkbox = true;
|
94
|
+
this.isLoading = true;
|
95
|
+
this.hasItems = false;
|
96
|
+
this.lastIndex = 0;
|
97
|
+
this.postponeFocus = false;
|
98
|
+
}
|
99
|
+
trackByIdx(i) {
|
100
|
+
return i;
|
101
|
+
}
|
102
|
+
ngOnInit() {
|
103
|
+
super.ngOnInit();
|
104
|
+
this.dataSource = new AXListDataSource({
|
105
|
+
source: this.source,
|
106
|
+
});
|
107
|
+
this.dataSource.loadingState.subscribe((data) => {
|
108
|
+
this.isLoading = data;
|
109
|
+
});
|
110
|
+
this.dataSource.dataStream.subscribe((data) => {
|
111
|
+
this.hasItems = data.length > 0;
|
112
|
+
this.onDataLoad.emit(data);
|
113
|
+
setTimeout(() => {
|
114
|
+
this.render();
|
115
|
+
}, 100);
|
116
|
+
});
|
117
|
+
}
|
118
|
+
_handleOnItemClick(e, item) {
|
119
|
+
if (this.readonly || this.disabled) {
|
120
|
+
e.preventDefault();
|
121
|
+
e.stopPropagation();
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
if (this.isItemDisabled(item)) {
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
this.toggleSelect(item);
|
128
|
+
}
|
129
|
+
_handleKeydown(e) {
|
130
|
+
if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {
|
131
|
+
this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);
|
132
|
+
e.preventDefault();
|
133
|
+
}
|
134
|
+
if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {
|
135
|
+
if (this.readonly || this.disabled) {
|
136
|
+
e.preventDefault();
|
137
|
+
e.stopPropagation();
|
138
|
+
return;
|
139
|
+
}
|
140
|
+
const id = document.activeElement?.closest('li')?.dataset?.id;
|
141
|
+
this.toggleSelect(id);
|
142
|
+
e.preventDefault();
|
143
|
+
e.stopPropagation();
|
144
|
+
}
|
145
|
+
}
|
146
|
+
focusItemByNav(sign) {
|
147
|
+
const list = this.getHostElement().querySelector('ul');
|
148
|
+
const fn = (s) => list.querySelector(s);
|
149
|
+
const itemDiv = document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);
|
150
|
+
const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);
|
151
|
+
if (next) {
|
152
|
+
next.focus();
|
153
|
+
}
|
154
|
+
}
|
155
|
+
_handleOnscrolledIndexChange(e) {
|
156
|
+
this.lastIndex = e;
|
157
|
+
this.onScrolledIndexChanged.emit({
|
158
|
+
component: this,
|
159
|
+
index: this.lastIndex,
|
160
|
+
isUserInteraction: true,
|
161
|
+
});
|
162
|
+
}
|
163
|
+
/**
|
164
|
+
* @ignore
|
165
|
+
*/
|
166
|
+
get __hostClass() {
|
167
|
+
const _class = `ax-default`;
|
168
|
+
return this.itemTemplate ? '' : _class;
|
169
|
+
}
|
170
|
+
getItemByKey(key) {
|
171
|
+
const cachedItem = this.dataSource.cachedItems.find((c) => c && c[this.valueField] == key);
|
172
|
+
return cachedItem || { [this.valueField]: key, [this.textField]: key };
|
173
|
+
}
|
174
|
+
render() {
|
175
|
+
this.viewport.checkViewportSize();
|
176
|
+
this.viewport.scrollToIndex(this.lastIndex);
|
177
|
+
if (this.postponeFocus) {
|
178
|
+
this.postponeFocus = false;
|
179
|
+
this.focus();
|
180
|
+
}
|
181
|
+
}
|
182
|
+
scrollToIndex(index) {
|
183
|
+
this.viewport.scrollToIndex(index);
|
184
|
+
}
|
185
|
+
focus() {
|
186
|
+
const list = this.getHostElement().querySelector('ul');
|
187
|
+
const focusable = list.querySelector('li.ax-state-selected') ??
|
188
|
+
list.querySelector('li.list-item');
|
189
|
+
if (focusable) {
|
190
|
+
focusable.focus();
|
191
|
+
}
|
192
|
+
else {
|
193
|
+
this.postponeFocus = true;
|
194
|
+
}
|
195
|
+
}
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXListComponent, selector: "ax-list", inputs: { id: "id", name: "name", disabled: "disabled", readonly: "readonly", valueField: "valueField", textField: "textField", disabledField: "disabledField", multiple: "multiple", source: "source", itemHeight: "itemHeight", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate", checkbox: "checkbox" }, outputs: { onValueChanged: "onValueChanged", disabledChange: "disabledChange", readOnlyChange: "readOnlyChange", onBlur: "onBlur", onFocus: "onFocus", onDataLoad: "onDataLoad", onScrolledIndexChanged: "onScrolledIndexChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
|
198
|
+
{ provide: AXComponent, useExisting: AXListComponent },
|
199
|
+
{ provide: AXFocusableComponent, useExisting: AXListComponent },
|
200
|
+
{ provide: AXValuableComponent, useExisting: AXListComponent },
|
201
|
+
{
|
202
|
+
provide: NG_VALUE_ACCESSOR,
|
203
|
+
useExisting: forwardRef(() => AXListComponent),
|
204
|
+
multi: true,
|
205
|
+
},
|
206
|
+
], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\" (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>", styles: ["ax-list{width:100%;height:100%;display:block}ax-list .list-container{display:flex;flex-direction:column;height:100%}ax-list .empty-container{width:100%;min-height:var(--ax-size-default);display:flex;align-items:center;padding-inline:.75rem}ax-list.ax-default .cdk-virtual-scroll-viewport li{font-size:.875rem;padding-inline-start:.75rem;padding-inline-end:1rem;position:relative;height:var(--ax-size-default);display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer}ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible{outline:transparent;background-color:rgba(var(--ax-color-primary-100))}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-checkbox-label{margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-selected-icon{color:rgba(var(--ax-color-primary-500));font-size:1.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-selected:not(ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible){background-color:rgba(var(--ax-color-on-surface))!important;color:rgba(var(--ax-color-on-surface-fore))!important}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i2.CdkVirtualScrollableElement, selector: "[cdkVirtualScrollingElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
207
|
+
}
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListComponent, decorators: [{
|
209
|
+
type: Component,
|
210
|
+
args: [{ selector: 'ax-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['id', 'name', 'disabled', 'readonly', 'valueField', 'textField', 'disabledField', 'multiple'], outputs: ['onValueChanged', 'disabledChange', 'readOnlyChange', 'onBlur', 'onFocus'], providers: [
|
211
|
+
{ provide: AXComponent, useExisting: AXListComponent },
|
212
|
+
{ provide: AXFocusableComponent, useExisting: AXListComponent },
|
213
|
+
{ provide: AXValuableComponent, useExisting: AXListComponent },
|
214
|
+
{
|
215
|
+
provide: NG_VALUE_ACCESSOR,
|
216
|
+
useExisting: forwardRef(() => AXListComponent),
|
217
|
+
multi: true,
|
218
|
+
},
|
219
|
+
], template: "<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\" (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>", styles: ["ax-list{width:100%;height:100%;display:block}ax-list .list-container{display:flex;flex-direction:column;height:100%}ax-list .empty-container{width:100%;min-height:var(--ax-size-default);display:flex;align-items:center;padding-inline:.75rem}ax-list.ax-default .cdk-virtual-scroll-viewport li{font-size:.875rem;padding-inline-start:.75rem;padding-inline-end:1rem;position:relative;height:var(--ax-size-default);display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer}ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible{outline:transparent;background-color:rgba(var(--ax-color-primary-100))}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-label-container{display:flex;align-items:center}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-checkbox-label{margin-inline-start:.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li .ax-selected-icon{color:rgba(var(--ax-color-primary-500));font-size:1.5rem}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-selected:not(ax-list.ax-default .cdk-virtual-scroll-viewport li:focus,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-within,ax-list.ax-default .cdk-virtual-scroll-viewport li:focus-visible){background-color:rgba(var(--ax-color-on-surface))!important;color:rgba(var(--ax-color-on-surface-fore))!important}ax-list.ax-default .cdk-virtual-scroll-viewport li.ax-state-disabled{cursor:not-allowed;opacity:.5}\n"] }]
|
220
|
+
}], propDecorators: { source: [{
|
221
|
+
type: Input
|
222
|
+
}], itemHeight: [{
|
223
|
+
type: Input
|
224
|
+
}], itemTemplate: [{
|
225
|
+
type: Input
|
226
|
+
}], emptyTemplate: [{
|
227
|
+
type: Input
|
228
|
+
}], loadingTemplate: [{
|
229
|
+
type: Input
|
230
|
+
}], onDataLoad: [{
|
231
|
+
type: Output
|
232
|
+
}], onScrolledIndexChanged: [{
|
233
|
+
type: Output
|
234
|
+
}], checkbox: [{
|
235
|
+
type: Input
|
236
|
+
}], viewport: [{
|
237
|
+
type: ViewChild,
|
238
|
+
args: [CdkVirtualScrollViewport]
|
239
|
+
}], _handleKeydown: [{
|
240
|
+
type: HostListener,
|
241
|
+
args: ['keydown', ['$event']]
|
242
|
+
}], __hostClass: [{
|
243
|
+
type: HostBinding,
|
244
|
+
args: ['class']
|
245
|
+
}] } });
|
246
|
+
|
247
|
+
const COMPONENT = [AXListComponent];
|
248
|
+
const MODULES = [CommonModule, ScrollingModule];
|
249
|
+
class AXListModule {
|
250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
251
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, declarations: [AXListComponent], imports: [CommonModule, ScrollingModule], exports: [AXListComponent] }); }
|
252
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, imports: [MODULES] }); }
|
253
|
+
}
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXListModule, decorators: [{
|
255
|
+
type: NgModule,
|
256
|
+
args: [{
|
257
|
+
declarations: [...COMPONENT],
|
258
|
+
imports: [...MODULES],
|
259
|
+
exports: [...COMPONENT],
|
260
|
+
providers: [],
|
261
|
+
}]
|
262
|
+
}] });
|
263
|
+
|
264
|
+
/**
|
265
|
+
* Generated bundle index. Do not edit.
|
266
|
+
*/
|
267
|
+
|
268
|
+
export { AXListComponent, AXListDataSource, AXListModule };
|
269
|
+
//# sourceMappingURL=acorex-components-list.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-components-list.mjs","sources":["../../../../libs/components/list/src/lib/list.component.ts","../../../../libs/components/list/src/lib/list.component.html","../../../../libs/components/list/src/lib/list.module.ts","../../../../libs/components/list/src/acorex-components-list.ts"],"sourcesContent":["import {\n AXComponent,\n AXDataListFetchCallbackResult,\n AXDataListItems,\n AXEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXSelectionValueComponent,\n} from '@acorex/components/common';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, Observable, Subscription, debounceTime, distinctUntilChanged } from 'rxjs';\n\nexport class AXListDataSource<T = any> extends DataSource<T> {\n private pageSize = 20;\n private debounceTime = 300;\n private _cachedData: T[] = new Array(this.config.pageSize);\n private fetchedPages = new Set<number>();\n private subscription = new Subscription();\n private initiated = false;\n private source: AXDataListItems;\n\n public dataStream = new BehaviorSubject<T[]>(this._cachedData);\n public loadingState = new BehaviorSubject<boolean>(true);\n public get cachedItems(): T[] {\n return this._cachedData || [];\n }\n\n /**\n * @ignore\n */\n constructor(public config: { source: AXDataListItems; pageSize?: number; debounceTime?: number }) {\n super();\n this.source = config.source;\n if (config.pageSize) this.pageSize = config.pageSize;\n if (config.debounceTime) this.debounceTime = config.debounceTime;\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n this.subscription.add(\n collectionViewer.viewChange\n .pipe(debounceTime(this.debounceTime))\n .pipe(distinctUntilChanged())\n .subscribe((range) => {\n const startPage = this.getPageForIndex(range.start);\n const endPage = this.getPageForIndex(range.end - 1);\n for (let i = startPage; i <= endPage; i++) {\n this.fetchPage(i);\n }\n }),\n );\n return this.dataStream;\n }\n\n disconnect(): void {\n this.subscription.unsubscribe();\n }\n\n private getPageForIndex(index: number): number {\n return Math.floor(index / this.pageSize);\n }\n\n private fetchPage(page: number) {\n if (this.fetchedPages.has(page)) {\n return;\n }\n this.loadingState.next(true);\n this.fetchedPages.add(page);\n if (Array.isArray(this.source)) {\n this._cachedData = this.source;\n this.dataStream.next(this._cachedData);\n this.loadingState.next(false);\n } else if (typeof this.source == 'function') {\n const promise = this.source({\n take: this.pageSize,\n skip: this.pageSize * page,\n }) as Promise<AXDataListFetchCallbackResult>;\n promise\n .then((result) => {\n if (!this.initiated) {\n this._cachedData = new Array(result.total);\n this.initiated = true;\n }\n this._cachedData.splice(page * this.pageSize, this.pageSize, ...result.items);\n this.dataStream.next(this._cachedData);\n })\n .finally(() => {\n this.loadingState.next(false);\n });\n }\n }\n}\n\nexport interface AXListScrollIndexChanged extends AXEvent {\n index: number;\n}\n\n@Component({\n selector: 'ax-list',\n templateUrl: './list.component.html',\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['id', 'name', 'disabled', 'readonly', 'valueField', 'textField', 'disabledField', 'multiple'],\n outputs: ['onValueChanged', 'disabledChange', 'readOnlyChange', 'onBlur', 'onFocus'],\n // hostDirectives: [\n // {\n // directive: CdkVirtualScrollableElement\n // }\n // ],\n providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n ],\n})\nexport class AXListComponent extends MXSelectionValueComponent implements OnInit {\n @Input()\n source: AXDataListItems = [];\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n @Input()\n itemTemplate: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @Output()\n onDataLoad: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXListScrollIndexChanged> =\n new EventEmitter<AXListScrollIndexChanged>();\n\n @Input()\n checkbox = true;\n\n protected dataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n private lastIndex = 0;\n private postponeFocus = false;\n\n @ViewChild(CdkVirtualScrollViewport)\n viewport: CdkVirtualScrollViewport;\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.dataSource = new AXListDataSource<unknown>({\n source: this.source,\n });\n this.dataSource.loadingState.subscribe((data) => {\n this.isLoading = data;\n });\n this.dataSource.dataStream.subscribe((data) => {\n this.hasItems = data.length > 0;\n this.onDataLoad.emit(data);\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n\n _handleOnItemClick(e: MouseEvent, item: any) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n }\n\n @HostListener('keydown', ['$event'])\n _handleKeydown(e: KeyboardEvent) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n }\n if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n const id = document.activeElement?.closest('li')?.dataset?.id;\n this.toggleSelect(id);\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n private focusItemByNav(sign: -1 | 1): void {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector<HTMLDivElement>(s);\n const itemDiv: HTMLElement =\n document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling) as HTMLElement;\n if (next) {\n next.focus();\n }\n }\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string {\n const _class = `ax-default`;\n return this.itemTemplate ? '' : _class;\n }\n\n getItemByKey(key: unknown): unknown {\n const cachedItem = this.dataSource.cachedItems.find((c) => c && c[this.valueField] == key);\n return cachedItem || { [this.valueField]: key, [this.textField]: key };\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n if (this.postponeFocus) {\n this.postponeFocus = false;\n this.focus();\n }\n }\n\n public scrollToIndex(index: number) {\n this.viewport.scrollToIndex(index);\n }\n\n override focus(): void {\n const list = this.getHostElement().querySelector('ul');\n const focusable =\n list.querySelector<HTMLElement>('li.ax-state-selected') ??\n list.querySelector<HTMLElement>('li.list-item');\n if (focusable) {\n focusable.focus();\n } else {\n this.postponeFocus = true;\n }\n }\n}\n","<div class=\"list-container\" cdkVirtualScrollingElement>\n <ng-content select=\"ax-header\"></ng-content>\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n class=\"ax-list-items-container\" (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <ul>\n <!-- Item Template -->\n <ng-container *cdkVirtualFor=\"let item of dataSource;let i = index; trackBy: trackByIdx\">\n <ng-container *ngIf=\"item;else loadingTpl\">\n <li [class.ax-state-selected]=\"isItemSelected(item)\" class=\"list-item\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\" [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"getValue(item)\">\n <!-- Custom Item Template -->\n <ng-container *ngIf=\"itemTemplate;else defaultItemTpl\">\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: { data:item } }\">\n </ng-container>\n </ng-container>\n <!-- Default Item Template -->\n <ng-template #defaultItemTpl>\n <ng-container *ngIf=\"item;else loadingTpl\">\n <div class=\"ax-label-container\">\n <input class=\"ax-checkbox\" *ngIf=\"multiple && checkbox\" type=\"checkbox\"\n [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\"\n tabindex=\"0\" />\n <span\n [class.ax-checkbox-label]=\"multiple && checkbox\">{{getDisplayText(item)}}</span>\n </div>\n <i class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) \"></i>\n </ng-container>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </cdk-virtual-scroll-viewport>\n <ng-content select=\"ax-footer\"></ng-content>\n</div>\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <li>Loading...</li>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-container *ngIf=\"emptyTemplate && hasItems===false && isLoading===false\">\n <div class=\"empty-container\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n</ng-container>","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXListComponent } from './list.component';\n\nconst COMPONENT = [AXListComponent];\nconst MODULES = [CommonModule, ScrollingModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -2,12 +2,12 @@ import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, InjectionToken, inject, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, Injectable, Directive, NgModule } from '@angular/core';
|
3
3
|
import * as i1 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
|
+
import { MXBaseComponent } from '@acorex/components/common';
|
5
6
|
import * as i1$1 from '@angular/cdk/portal';
|
6
7
|
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
7
|
-
import {
|
8
|
+
import { Dialog, DialogModule } from '@angular/cdk/dialog';
|
8
9
|
import { asyncScheduler, BehaviorSubject } from 'rxjs';
|
9
10
|
import { observeOn, finalize } from 'rxjs/operators';
|
10
|
-
import { Dialog } from '@angular/cdk/dialog';
|
11
11
|
import { OverlayModule } from '@angular/cdk/overlay';
|
12
12
|
|
13
13
|
class AXLoadingSpinnerComponent {
|
@@ -23,10 +23,12 @@ class AXLoadingSpinnerComponent {
|
|
23
23
|
x="0px"
|
24
24
|
y="0px"
|
25
25
|
viewBox="0 0 50 50"
|
26
|
-
xml:space="preserve"
|
26
|
+
xml:space="preserve"
|
27
|
+
>
|
27
28
|
<path
|
28
29
|
fill="current"
|
29
|
-
d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"
|
30
|
+
d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"
|
31
|
+
>
|
30
32
|
<animateTransform
|
31
33
|
attributeType="xml"
|
32
34
|
attributeName="transform"
|
@@ -34,7 +36,8 @@ class AXLoadingSpinnerComponent {
|
|
34
36
|
from="0 25 25"
|
35
37
|
to="360 25 25"
|
36
38
|
dur="0.6s"
|
37
|
-
repeatCount="indefinite"
|
39
|
+
repeatCount="indefinite"
|
40
|
+
/>
|
38
41
|
</path>
|
39
42
|
</svg>
|
40
43
|
<span *ngIf="text"> {{ text }} </span>
|
@@ -55,10 +58,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
55
58
|
x="0px"
|
56
59
|
y="0px"
|
57
60
|
viewBox="0 0 50 50"
|
58
|
-
xml:space="preserve"
|
61
|
+
xml:space="preserve"
|
62
|
+
>
|
59
63
|
<path
|
60
64
|
fill="current"
|
61
|
-
d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"
|
65
|
+
d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z"
|
66
|
+
>
|
62
67
|
<animateTransform
|
63
68
|
attributeType="xml"
|
64
69
|
attributeName="transform"
|
@@ -66,7 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
66
71
|
from="0 25 25"
|
67
72
|
to="360 25 25"
|
68
73
|
dur="0.6s"
|
69
|
-
repeatCount="indefinite"
|
74
|
+
repeatCount="indefinite"
|
75
|
+
/>
|
70
76
|
</path>
|
71
77
|
</svg>
|
72
78
|
<span *ngIf="text"> {{ text }} </span>
|
@@ -79,7 +85,7 @@ const AX_LOADING_CONFIG = new InjectionToken('AX_LOADING_CONFIG', {
|
|
79
85
|
factory: () => AXLoadingDefaultConfig,
|
80
86
|
});
|
81
87
|
const AXLoadingDefaultConfig = {
|
82
|
-
spinner: AXLoadingSpinnerComponent
|
88
|
+
spinner: AXLoadingSpinnerComponent,
|
83
89
|
};
|
84
90
|
function loadingConfig(config = {}) {
|
85
91
|
const result = {
|
@@ -102,9 +108,7 @@ class AXLoadingComponent extends MXBaseComponent {
|
|
102
108
|
set visible(v) {
|
103
109
|
if (v != this._visible) {
|
104
110
|
this._visible = v;
|
105
|
-
v
|
106
|
-
? this.getHostElement().classList.remove('ax-hide')
|
107
|
-
: this.getHostElement().classList.add('ax-hide');
|
111
|
+
v ? this.getHostElement().classList.remove('ax-hide') : this.getHostElement().classList.add('ax-hide');
|
108
112
|
this.visibleChange.emit(v);
|
109
113
|
}
|
110
114
|
}
|
@@ -121,20 +125,14 @@ class AXLoadingComponent extends MXBaseComponent {
|
|
121
125
|
}
|
122
126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
123
127
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: `
|
124
|
-
<ng-template
|
125
|
-
|
126
|
-
(attached)="_handleAttched($event)"
|
127
|
-
></ng-template>
|
128
|
-
`, isInline: true, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-default));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
128
|
+
<ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttched($event)"></ng-template>
|
129
|
+
`, isInline: true, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-on-surface));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
129
130
|
}
|
130
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingComponent, decorators: [{
|
131
132
|
type: Component,
|
132
133
|
args: [{ selector: 'ax-loading', template: `
|
133
|
-
<ng-template
|
134
|
-
|
135
|
-
(attached)="_handleAttched($event)"
|
136
|
-
></ng-template>
|
137
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-default));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"] }]
|
134
|
+
<ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttched($event)"></ng-template>
|
135
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-loading{position:relative}ax-loading:before,ax-loading:after{content:\"\";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%) scale(0)}ax-loading:before,ax-loading:after{background-color:transparent;animation:pulse2 2s ease-in-out infinite}@keyframes pulse2{0%,to{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(-50%,-50%) scale(1);opacity:0}}ax-loading ax-loading-spinner{display:flex;gap:.75rem}.ax-loading-overlay-backdrop{background:rgba(var(--ax-color-on-surface));opacity:.85!important}.ax-loading-pane{width:100%!important;height:100%!important;inset:0}.ax-loading-pane .cdk-dialog-container{display:flex!important;align-items:center;justify-content:center}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline:none}\n"] }]
|
138
136
|
}], propDecorators: { visibleChange: [{
|
139
137
|
type: Output
|
140
138
|
}], visible: [{
|
@@ -176,18 +174,18 @@ class AXLoadingService {
|
|
176
174
|
const bg = dialogRef.overlayRef.backdropElement;
|
177
175
|
const ov = dialogRef.overlayRef.overlayElement;
|
178
176
|
ce.style.position = 'relative';
|
179
|
-
ov.style.position =
|
177
|
+
ov.style.position = 'absolute';
|
180
178
|
ce.appendChild(bg);
|
181
179
|
ce.appendChild(ov);
|
182
180
|
setTimeout(() => {
|
183
|
-
ov.style.position =
|
181
|
+
ov.style.position = 'absolute';
|
184
182
|
}, 0);
|
185
183
|
}
|
186
184
|
return id;
|
187
185
|
// TODO: diabled focus and click, maybe we need a service and directive for it
|
188
186
|
}
|
189
187
|
hide(id) {
|
190
|
-
const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());
|
188
|
+
const f = this.dialog.openDialogs.find((c) => c.componentInstance.id === id.toString());
|
191
189
|
if (f) {
|
192
190
|
f.close();
|
193
191
|
}
|
@@ -206,7 +204,7 @@ class AXLoadingService {
|
|
206
204
|
return loaderStates.get(this.getLoaderId(loaderId)) ?? false;
|
207
205
|
}
|
208
206
|
else {
|
209
|
-
return [...loaderStates.values()].filter(state => state).length > 0;
|
207
|
+
return [...loaderStates.values()].filter((state) => state).length > 0;
|
210
208
|
}
|
211
209
|
}
|
212
210
|
}
|
@@ -239,7 +237,6 @@ class AXLoadingService {
|
|
239
237
|
}
|
240
238
|
}
|
241
239
|
else {
|
242
|
-
// @ts-ignore - loadingStates[context] is surely defined in this branch
|
243
240
|
this.loadingStates.get(context).set(loaderId, state);
|
244
241
|
this.loadingStates$.get(context).get(loaderId).next(state);
|
245
242
|
}
|
@@ -257,13 +254,10 @@ class AXLoadingService {
|
|
257
254
|
return loaderId ?? DEFAULT_LOADER_ID;
|
258
255
|
}
|
259
256
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
260
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService
|
257
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService }); }
|
261
258
|
}
|
262
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingService, decorators: [{
|
263
|
-
type: Injectable
|
264
|
-
args: [{
|
265
|
-
providedIn: 'root',
|
266
|
-
}]
|
260
|
+
type: Injectable
|
267
261
|
}] });
|
268
262
|
|
269
263
|
// This directive places an overlay with a loading spinner over its host element
|
@@ -299,12 +293,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
299
293
|
args: ['axIsLoading']
|
300
294
|
}] } });
|
301
295
|
|
302
|
-
const COMPONENT = [
|
303
|
-
|
296
|
+
const COMPONENT = [
|
297
|
+
AXLoadingComponent,
|
298
|
+
AXLoadingDirective,
|
299
|
+
AXLoadingSpinnerComponent,
|
300
|
+
AXLoadingSpinnerComponent,
|
301
|
+
];
|
302
|
+
const MODULES = [CommonModule, OverlayModule, DialogModule, PortalModule];
|
304
303
|
class AXLoadingModule {
|
305
304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
306
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent,
|
307
|
-
|
305
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent,
|
306
|
+
AXLoadingDirective,
|
307
|
+
AXLoadingSpinnerComponent,
|
308
|
+
AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, DialogModule, PortalModule], exports: [AXLoadingComponent,
|
309
|
+
AXLoadingDirective,
|
310
|
+
AXLoadingSpinnerComponent,
|
311
|
+
AXLoadingSpinnerComponent] }); }
|
312
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, providers: [AXLoadingService], imports: [MODULES] }); }
|
308
313
|
}
|
309
314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXLoadingModule, decorators: [{
|
310
315
|
type: NgModule,
|
@@ -312,6 +317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
312
317
|
declarations: [...COMPONENT],
|
313
318
|
imports: [...MODULES],
|
314
319
|
exports: [...COMPONENT],
|
320
|
+
providers: [AXLoadingService],
|
315
321
|
}]
|
316
322
|
}] });
|
317
323
|
|