@acorex/components 7.2.8 → 7.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.d.ts +1 -1
- package/action-sheet/lib/action-sheet.class.d.ts +31 -0
- package/action-sheet/lib/action-sheet.component.d.ts +12 -13
- package/action-sheet/lib/action-sheet.module.d.ts +2 -1
- package/action-sheet/lib/action-sheet.service.d.ts +4 -8
- package/alert/lib/alert.component.d.ts +10 -10
- package/button/lib/button-group.component.d.ts +6 -6
- package/button/lib/button-item.class.d.ts +6 -2
- package/button/lib/button-item.component.d.ts +6 -6
- package/button/lib/button.component.d.ts +5 -3
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/check-box/README.md +3 -0
- package/check-box/index.d.ts +2 -0
- package/check-box/lib/check-box.component.d.ts +14 -0
- package/{checkbox/lib/checkbox.module.d.ts → check-box/lib/check-box.module.d.ts} +1 -1
- package/color-palette/lib/color-palette-input.component.d.ts +1 -1
- package/color-palette/lib/color-palette.module.d.ts +1 -1
- package/color-picker/lib/color-picker.component.d.ts +17 -24
- package/color-picker/lib/color-picker.module.d.ts +1 -1
- package/common/index.d.ts +3 -3
- package/common/lib/classes/components.class.d.ts +12 -3
- package/common/lib/classes/datalist.class.d.ts +11 -0
- package/common/lib/common.module.d.ts +3 -4
- package/common/lib/components/base-component.class.d.ts +9 -3
- package/common/lib/components/input-base-value-component.class.d.ts +1 -0
- package/common/lib/components/value-component.class.d.ts +9 -2
- package/common/lib/directives/auto-focus.directive.d.ts +6 -5
- package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
- package/common/lib/services/dom.service.d.ts +6 -0
- package/data-pager/lib/data-pager-base.component.d.ts +18 -13
- package/data-pager/lib/data-pager-info.component.d.ts +3 -9
- package/data-pager/lib/data-pager-input-selector.component.d.ts +5 -9
- package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -8
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +2 -7
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +2 -6
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -7
- package/data-pager/lib/data-pager.component.d.ts +17 -18
- package/data-pager/lib/data-pager.module.d.ts +6 -5
- package/data-table/index.d.ts +0 -1
- package/data-table/lib/data-column.directive.d.ts +3 -8
- package/data-table/lib/data-table.component.d.ts +6 -7
- package/data-table/lib/data-table.module.d.ts +6 -7
- package/date-picker/lib/datepicker.component.d.ts +7 -6
- package/date-picker/lib/datepicker.module.d.ts +1 -1
- package/decorators/index.d.ts +2 -12
- package/decorators/lib/clear-button.component.d.ts +13 -0
- package/decorators/lib/close-button.component.d.ts +5 -8
- package/decorators/lib/decorators.module.d.ts +6 -15
- package/decorators/lib/generic-content.component.d.ts +6 -0
- package/decorators/lib/icon.component.d.ts +2 -4
- package/dialog/lib/dialog.class.d.ts +11 -3
- package/dialog/lib/dialog.component.d.ts +15 -11
- package/dialog/lib/dialog.module.d.ts +4 -3
- package/dialog/lib/dialog.service.d.ts +4 -12
- package/drawer/lib/drawer-container.component.d.ts +2 -5
- package/drawer/lib/drawer.component.d.ts +6 -7
- package/esm2022/action-sheet/index.mjs +2 -2
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +50 -38
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +11 -7
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +32 -72
- package/esm2022/alert/lib/alert.component.mjs +14 -16
- package/esm2022/alert/lib/alert.module.mjs +7 -7
- package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.module.mjs +4 -4
- package/esm2022/badge/lib/badge.component.mjs +6 -6
- package/esm2022/badge/lib/badge.module.mjs +4 -4
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
- package/esm2022/button/lib/button-group.component.mjs +3 -3
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button-item.component.mjs +3 -3
- package/esm2022/button/lib/button.component.mjs +35 -17
- package/esm2022/button/lib/button.module.mjs +4 -4
- package/esm2022/calendar/lib/calendar-range.component.mjs +5 -5
- package/esm2022/calendar/lib/calendar.class.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +7 -5
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
- package/esm2022/check-box/index.mjs +3 -0
- package/esm2022/check-box/lib/check-box.component.mjs +76 -0
- package/esm2022/check-box/lib/check-box.module.mjs +21 -0
- package/esm2022/chips/lib/chips.component.mjs +3 -3
- package/esm2022/chips/lib/chips.module.mjs +4 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +18 -12
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
- package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
- package/esm2022/color-palette/lib/color-palette.module.mjs +6 -6
- package/esm2022/color-picker/lib/color-picker.component.mjs +12 -6
- package/esm2022/color-picker/lib/color-picker.module.mjs +6 -6
- package/esm2022/common/index.mjs +4 -4
- package/esm2022/common/lib/classes/components.class.mjs +26 -19
- package/esm2022/common/lib/classes/datalist.class.mjs +3 -0
- package/esm2022/common/lib/common.module.mjs +5 -10
- package/esm2022/common/lib/components/base-component.class.mjs +21 -11
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +4 -4
- package/esm2022/common/lib/components/value-component.class.mjs +18 -10
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +18 -11
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +49 -0
- package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
- package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
- package/esm2022/common/lib/services/dom.service.mjs +16 -0
- package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
- package/esm2022/context-menu/lib/context-menu.component.mjs +5 -5
- package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +35 -21
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +13 -26
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +27 -31
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +19 -33
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +31 -38
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +22 -31
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -29
- package/esm2022/data-pager/lib/data-pager.component.mjs +66 -38
- package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
- package/esm2022/data-table/index.mjs +1 -2
- package/esm2022/data-table/lib/data-column.directive.mjs +7 -22
- package/esm2022/data-table/lib/data-table.component.mjs +30 -30
- package/esm2022/data-table/lib/data-table.module.mjs +6 -7
- package/esm2022/date-picker/lib/datepicker.component.mjs +19 -16
- package/esm2022/date-picker/lib/datepicker.module.mjs +6 -6
- package/esm2022/decorators/index.mjs +3 -13
- package/esm2022/decorators/lib/clear-button.component.mjs +58 -0
- package/esm2022/decorators/lib/close-button.component.mjs +16 -20
- package/esm2022/decorators/lib/decorators.module.mjs +13 -49
- package/esm2022/decorators/lib/generic-content.component.mjs +17 -0
- package/esm2022/decorators/lib/icon.component.mjs +8 -11
- package/esm2022/dialog/lib/dialog.class.mjs +1 -1
- package/esm2022/dialog/lib/dialog.component.mjs +41 -23
- package/esm2022/dialog/lib/dialog.module.mjs +10 -8
- package/esm2022/dialog/lib/dialog.service.mjs +41 -49
- package/esm2022/drawer/lib/drawer-container.component.mjs +9 -13
- package/esm2022/drawer/lib/drawer.component.mjs +22 -27
- package/esm2022/drawer/lib/drawer.module.mjs +4 -4
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +5 -5
- package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/form/lib/form-field.component.mjs +9 -12
- package/esm2022/form/lib/form.component.mjs +38 -42
- package/esm2022/form/lib/form.module.mjs +4 -4
- package/esm2022/form/lib/validation-rule.widget.mjs +24 -15
- package/esm2022/form/lib/validation-summary.component.mjs +15 -14
- package/esm2022/image/lib/image.component.mjs +13 -17
- package/esm2022/image/lib/image.module.mjs +4 -4
- package/esm2022/label/lib/label.component.mjs +18 -18
- package/esm2022/label/lib/label.module.mjs +4 -4
- package/esm2022/loading/index.mjs +2 -1
- package/esm2022/loading/lib/loading-spinner.component.mjs +4 -5
- package/esm2022/loading/lib/loading.component.mjs +22 -25
- package/esm2022/loading/lib/loading.config.mjs +17 -0
- package/esm2022/loading/lib/loading.directive.mjs +20 -51
- package/esm2022/loading/lib/loading.module.mjs +7 -18
- package/esm2022/loading/lib/loading.service.mjs +36 -60
- package/esm2022/menu/lib/menu.component.mjs +26 -19
- package/esm2022/menu/lib/menu.module.mjs +4 -4
- package/esm2022/mixin/index.mjs +1 -2
- package/esm2022/mixin/lib/base-components.class.mjs +3 -3
- package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -1
- package/esm2022/notification/index.mjs +2 -1
- package/esm2022/notification/lib/notification.class.mjs +1 -1
- package/esm2022/notification/lib/notification.component.mjs +51 -35
- package/esm2022/notification/lib/notification.config.mjs +20 -0
- package/esm2022/notification/lib/notification.module.mjs +11 -7
- package/esm2022/notification/lib/notification.service.mjs +46 -59
- package/esm2022/number-box/lib/number-box.component.mjs +101 -90
- package/esm2022/number-box/lib/number-box.module.mjs +4 -4
- package/esm2022/otp/lib/otp.component.mjs +38 -48
- package/esm2022/otp/lib/otp.module.mjs +4 -4
- package/esm2022/page/lib/base-page.class.mjs +22 -23
- package/esm2022/page/lib/page.component.mjs +13 -13
- package/esm2022/page/lib/page.module.mjs +4 -4
- package/esm2022/password-box/lib/password-box.component.mjs +37 -25
- package/esm2022/password-box/lib/password-box.module.mjs +4 -4
- package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
- package/esm2022/popover/lib/popover.component.mjs +62 -23
- package/esm2022/popover/lib/popover.module.mjs +4 -4
- package/esm2022/popup/index.mjs +2 -1
- package/esm2022/popup/lib/popup.component.mjs +49 -69
- package/esm2022/popup/lib/popup.interface.mjs +2 -0
- package/esm2022/popup/lib/popup.module.mjs +27 -12
- package/esm2022/popup/lib/popup.service.mjs +31 -86
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
- package/esm2022/radio/lib/radio.component.mjs +4 -4
- package/esm2022/radio/lib/radio.module.mjs +4 -4
- package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +3 -3
- package/esm2022/result/lib/result.module.mjs +4 -4
- package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
- package/esm2022/scheduler/index.mjs +4 -0
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +45 -0
- package/esm2022/scheduler/lib/scheduler.component.mjs +30 -0
- package/esm2022/scheduler/lib/scheduler.module.mjs +26 -0
- package/esm2022/search-box/lib/search-box.component.mjs +35 -44
- package/esm2022/search-box/lib/search-box.module.mjs +28 -7
- package/esm2022/select-box/lib/select-box.component.mjs +11 -9
- package/esm2022/select-box/lib/select-box.module.mjs +7 -7
- package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
- package/esm2022/switch/lib/switch-content.component.mjs +3 -3
- package/esm2022/switch/lib/switch.component.mjs +4 -4
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
- package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.module.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +3 -3
- package/esm2022/tag/lib/tag.module.mjs +4 -4
- package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
- package/esm2022/text-area/index.mjs +3 -0
- package/esm2022/text-area/lib/text-area.component.mjs +36 -0
- package/esm2022/text-area/lib/text-area.module.mjs +19 -0
- package/esm2022/{checkbox/acorex-components-checkbox.mjs → text-box/acorex-components-text-box.mjs} +1 -1
- package/esm2022/text-box/index.mjs +4 -0
- package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
- package/esm2022/text-box/lib/text-box.component.mjs +111 -0
- package/esm2022/text-box/lib/text-box.module.mjs +38 -0
- package/esm2022/time-box/lib/time-box.component.mjs +5 -5
- package/esm2022/time-box/lib/time-box.module.mjs +4 -4
- package/esm2022/toast/index.mjs +2 -1
- package/esm2022/toast/lib/toast.class.mjs +1 -1
- package/esm2022/toast/lib/toast.component.mjs +37 -25
- package/esm2022/toast/lib/toast.config.mjs +25 -0
- package/esm2022/toast/lib/toast.module.mjs +16 -8
- package/esm2022/toast/lib/toast.service.mjs +46 -55
- package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/uploader/lib/uploader.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader.module.mjs +4 -4
- package/fesm2022/acorex-components-action-sheet.mjs +99 -125
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +16 -18
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs +8 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button.mjs +42 -24
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +17 -15
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +100 -0
- package/fesm2022/acorex-components-check-box.mjs.map +1 -0
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-palette.mjs +42 -36
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +16 -10
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +155 -261
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +8 -8
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +214 -228
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +41 -71
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +25 -22
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +80 -283
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +97 -88
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +30 -39
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +8 -8
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +80 -77
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +15 -19
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +21 -21
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +123 -178
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +29 -22
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +4 -22
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +131 -107
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +106 -96
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +40 -50
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +55 -56
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +41 -30
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +68 -29
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +107 -170
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +12 -16
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +8 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-scheduler.mjs +98 -0
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
- package/fesm2022/acorex-components-search-box.mjs +61 -49
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +16 -14
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +8 -8
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +11 -11
- package/fesm2022/acorex-components-tabs.mjs +13 -13
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs +59 -0
- package/fesm2022/acorex-components-text-area.mjs.map +1 -0
- package/fesm2022/{acorex-components-textbox.mjs → acorex-components-text-box.mjs} +20 -20
- package/fesm2022/acorex-components-text-box.mjs.map +1 -0
- package/fesm2022/acorex-components-time-box.mjs +8 -8
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +126 -94
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-uploader.mjs +7 -7
- package/form/lib/form-field.component.d.ts +2 -4
- package/form/lib/form.component.d.ts +12 -17
- package/form/lib/validation-rule.widget.d.ts +9 -6
- package/form/lib/validation-summary.component.d.ts +7 -9
- package/image/lib/image.component.d.ts +7 -13
- package/label/lib/label.component.d.ts +4 -7
- package/loading/index.d.ts +1 -0
- package/loading/lib/loading.component.d.ts +9 -12
- package/loading/lib/loading.config.d.ts +8 -0
- package/loading/lib/loading.directive.d.ts +10 -17
- package/loading/lib/loading.module.d.ts +1 -2
- package/loading/lib/loading.service.d.ts +10 -33
- package/menu/lib/menu.component.d.ts +4 -2
- package/mixin/index.d.ts +0 -1
- 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 +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +3 -3
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/mixin.class.d.ts +61 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +8 -8
- package/notification/index.d.ts +1 -0
- package/notification/lib/notification.class.d.ts +29 -7
- package/notification/lib/notification.component.d.ts +13 -14
- package/notification/lib/notification.config.d.ts +13 -0
- package/notification/lib/notification.module.d.ts +4 -1
- package/notification/lib/notification.service.d.ts +5 -9
- package/number-box/lib/number-box.component.d.ts +12 -17
- package/otp/lib/otp.component.d.ts +7 -14
- package/package.json +41 -38
- package/page/lib/base-page.class.d.ts +8 -12
- package/page/lib/page.component.d.ts +4 -4
- package/password-box/lib/password-box.component.d.ts +8 -11
- package/popover/lib/popover.component.d.ts +13 -5
- package/popup/index.d.ts +1 -0
- package/popup/lib/popup.component.d.ts +14 -19
- package/popup/lib/popup.interface.d.ts +26 -0
- package/popup/lib/popup.module.d.ts +4 -4
- package/popup/lib/popup.service.d.ts +4 -25
- package/progress-bar/lib/progress-bar.component.d.ts +3 -8
- package/scheduler/README.md +3 -0
- package/scheduler/index.d.ts +3 -0
- package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
- package/scheduler/lib/scheduler.component.d.ts +11 -0
- package/scheduler/lib/scheduler.module.d.ts +13 -0
- package/search-box/lib/search-box.component.d.ts +8 -16
- package/search-box/lib/search-box.module.d.ts +7 -5
- package/select-box/lib/select-box.module.d.ts +2 -2
- package/selection-list/lib/selection-list.module.d.ts +1 -1
- package/tabs/lib/tab-item.component.d.ts +2 -2
- package/text-area/README.md +3 -0
- package/text-area/index.d.ts +2 -0
- package/text-area/lib/text-area.component.d.ts +11 -0
- package/text-area/lib/text-area.module.d.ts +9 -0
- package/text-box/README.md +3 -0
- package/text-box/index.d.ts +3 -0
- package/{textbox/lib/textbox.component.d.ts → text-box/lib/text-box.component.d.ts} +1 -3
- package/{textbox/lib/textbox.module.d.ts → text-box/lib/text-box.module.d.ts} +1 -1
- package/time-box/lib/time-box.component.d.ts +1 -1
- package/toast/index.d.ts +1 -0
- package/toast/lib/toast.class.d.ts +14 -5
- package/toast/lib/toast.component.d.ts +13 -12
- package/toast/lib/toast.config.d.ts +12 -0
- package/toast/lib/toast.module.d.ts +4 -1
- package/toast/lib/toast.service.d.ts +5 -9
- package/action-sheet/lib/action-sheet.interface.d.ts +0 -21
- package/checkbox/README.md +0 -3
- package/checkbox/index.d.ts +0 -2
- package/checkbox/lib/checkbox.component.d.ts +0 -18
- package/common/lib/directives/debounce-time.directive.d.ts +0 -17
- package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
- package/common/lib/services/overlay.service.d.ts +0 -34
- package/data-table/lib/data-column-cell-template.directive.d.ts +0 -8
- package/decorators/lib/content.component.d.ts +0 -9
- package/decorators/lib/divider.component.d.ts +0 -5
- package/decorators/lib/footer.component.d.ts +0 -9
- package/decorators/lib/form-hint.component.d.ts +0 -8
- package/decorators/lib/header.component.d.ts +0 -9
- package/decorators/lib/overlay.component.d.ts +0 -6
- package/decorators/lib/placeholder.component.d.ts +0 -5
- package/decorators/lib/prefix.component.d.ts +0 -9
- package/decorators/lib/sub-title.component.d.ts +0 -9
- package/decorators/lib/suffix.component.d.ts +0 -9
- package/decorators/lib/text.component.d.ts +0 -9
- package/decorators/lib/title.component.d.ts +0 -8
- package/esm2022/action-sheet/lib/action-sheet.interface.mjs +0 -2
- package/esm2022/checkbox/index.mjs +0 -3
- package/esm2022/checkbox/lib/checkbox.component.mjs +0 -65
- package/esm2022/checkbox/lib/checkbox.module.mjs +0 -21
- package/esm2022/common/lib/directives/debounce-time.directive.mjs +0 -48
- package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
- package/esm2022/common/lib/services/overlay.service.mjs +0 -113
- package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +0 -17
- package/esm2022/decorators/lib/content.component.mjs +0 -26
- package/esm2022/decorators/lib/divider.component.mjs +0 -17
- package/esm2022/decorators/lib/footer.component.mjs +0 -26
- package/esm2022/decorators/lib/form-hint.component.mjs +0 -20
- package/esm2022/decorators/lib/header.component.mjs +0 -26
- package/esm2022/decorators/lib/overlay.component.mjs +0 -22
- package/esm2022/decorators/lib/placeholder.component.mjs +0 -14
- package/esm2022/decorators/lib/prefix.component.mjs +0 -26
- package/esm2022/decorators/lib/sub-title.component.mjs +0 -26
- package/esm2022/decorators/lib/suffix.component.mjs +0 -26
- package/esm2022/decorators/lib/text.component.mjs +0 -21
- package/esm2022/decorators/lib/title.component.mjs +0 -20
- package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
- package/esm2022/textarea/acorex-components-textarea.mjs +0 -5
- package/esm2022/textarea/index.mjs +0 -3
- package/esm2022/textarea/lib/textarea.component.mjs +0 -37
- package/esm2022/textarea/lib/textarea.module.mjs +0 -19
- package/esm2022/textbox/acorex-components-textbox.mjs +0 -5
- package/esm2022/textbox/index.mjs +0 -4
- package/esm2022/textbox/lib/mask-options.directive.mjs +0 -17
- package/esm2022/textbox/lib/textbox.component.mjs +0 -111
- package/esm2022/textbox/lib/textbox.module.mjs +0 -38
- package/fesm2022/acorex-components-checkbox.mjs +0 -89
- package/fesm2022/acorex-components-checkbox.mjs.map +0 -1
- package/fesm2022/acorex-components-textarea.mjs +0 -60
- package/fesm2022/acorex-components-textarea.mjs.map +0 -1
- package/fesm2022/acorex-components-textbox.mjs.map +0 -1
- package/mixin/lib/loading-mixin.class.d.ts +0 -40
- package/textarea/README.md +0 -3
- package/textarea/index.d.ts +0 -2
- package/textarea/lib/textarea.component.d.ts +0 -14
- package/textarea/lib/textarea.module.d.ts +0 -9
- package/textbox/README.md +0 -3
- package/textbox/index.d.ts +0 -3
- /package/{textbox → text-box}/lib/mask-options.directive.d.ts +0 -0
@@ -1,19 +1,18 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Component, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, Directive, NgModule
|
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 { AXBaseComponentMixin } from '@acorex/components/mixin';
|
6
|
-
import { AXConfig } from '@acorex/core/config';
|
7
5
|
import * as i1$1 from '@angular/cdk/portal';
|
8
6
|
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
9
|
-
import {
|
7
|
+
import { MXBaseComponent } from '@acorex/components/common';
|
10
8
|
import { asyncScheduler, BehaviorSubject } from 'rxjs';
|
11
9
|
import { observeOn, finalize } from 'rxjs/operators';
|
12
|
-
import
|
10
|
+
import { Dialog } from '@angular/cdk/dialog';
|
11
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
13
12
|
|
14
13
|
class AXLoadingSpinnerComponent {
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", ngImport: i0, template: `
|
17
16
|
<svg
|
18
17
|
version="1.1"
|
19
18
|
width="24"
|
@@ -41,7 +40,7 @@ class AXLoadingSpinnerComponent {
|
|
41
40
|
<span *ngIf="text"> {{ text }} </span>
|
42
41
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
43
42
|
}
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
|
45
44
|
type: Component,
|
46
45
|
args: [{
|
47
46
|
selector: 'ax-loading-spinner',
|
@@ -72,16 +71,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
72
71
|
</svg>
|
73
72
|
<span *ngIf="text"> {{ text }} </span>
|
74
73
|
`,
|
75
|
-
host: { class: 'ax-loading-spinner' },
|
76
74
|
}]
|
77
75
|
}] });
|
78
76
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
77
|
+
const AX_LOADING_CONFIG = new InjectionToken('AX_LOADING_CONFIG', {
|
78
|
+
providedIn: 'root',
|
79
|
+
factory: () => AXLoadingDefaultConfig,
|
80
|
+
});
|
81
|
+
const AXLoadingDefaultConfig = {
|
82
|
+
spinner: AXLoadingSpinnerComponent
|
83
|
+
};
|
84
|
+
function loadingConfig(config = {}) {
|
85
|
+
const result = {
|
86
|
+
...AXLoadingDefaultConfig,
|
87
|
+
...config,
|
88
|
+
};
|
89
|
+
return result;
|
90
|
+
}
|
91
|
+
|
92
|
+
class AXLoadingComponent extends MXBaseComponent {
|
93
|
+
constructor() {
|
94
|
+
super(...arguments);
|
95
|
+
this.config = inject(AX_LOADING_CONFIG);
|
85
96
|
this.visibleChange = new EventEmitter();
|
86
97
|
this.type = 'spinner';
|
87
98
|
}
|
@@ -92,208 +103,98 @@ class AXLoadingComponent extends AXBaseComponentMixin {
|
|
92
103
|
if (v != this._visible) {
|
93
104
|
this._visible = v;
|
94
105
|
v
|
95
|
-
? this.
|
96
|
-
: this.
|
106
|
+
? this.getHostElement().classList.remove('ax-hide')
|
107
|
+
: this.getHostElement().classList.add('ax-hide');
|
97
108
|
this.visibleChange.emit(v);
|
98
109
|
}
|
99
110
|
}
|
100
|
-
|
101
|
-
|
102
|
-
this.
|
103
|
-
this._cdr.markForCheck();
|
111
|
+
ngOnInit() {
|
112
|
+
this._selectedPortal = new ComponentPortal(this.config.spinner);
|
113
|
+
this.cdr.markForCheck();
|
104
114
|
}
|
105
115
|
_handleAttched(ref) {
|
106
116
|
ref = ref;
|
107
|
-
if (ref.instance && this.
|
108
|
-
Object.assign(ref.instance, this.
|
117
|
+
if (ref.instance && this.context) {
|
118
|
+
Object.assign(ref.instance, this.context);
|
109
119
|
}
|
110
120
|
}
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingComponent, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: `
|
113
123
|
<ng-template
|
114
124
|
[cdkPortalOutlet]="_selectedPortal"
|
115
125
|
(attached)="_handleAttched($event)"
|
116
126
|
></ng-template>
|
117
|
-
`, 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-overlay{background:rgba(var(--ax-color-default))}.ax-loading-
|
127
|
+
`, 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 }); }
|
118
128
|
}
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingComponent, decorators: [{
|
120
130
|
type: Component,
|
121
131
|
args: [{ selector: 'ax-loading', template: `
|
122
132
|
<ng-template
|
123
133
|
[cdkPortalOutlet]="_selectedPortal"
|
124
134
|
(attached)="_handleAttched($event)"
|
125
135
|
></ng-template>
|
126
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
127
|
-
}],
|
136
|
+
`, 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"] }]
|
137
|
+
}], propDecorators: { visibleChange: [{
|
128
138
|
type: Output
|
129
139
|
}], visible: [{
|
130
140
|
type: Input
|
131
141
|
}], type: [{
|
132
142
|
type: Input
|
133
|
-
}],
|
143
|
+
}], context: [{
|
134
144
|
type: Input
|
135
145
|
}] } });
|
136
146
|
|
137
|
-
const OVERLAY_CLASS = 'ax-loading-overlay';
|
138
|
-
// This directive places an overlay with a loading spinner over its host element
|
139
|
-
// if isLoading equals to true and hides the overlay when isLoading becomes false.
|
140
|
-
class AXLoadingDirective {
|
141
|
-
//TODO: ComponentFactoryResolver is deprecated
|
142
|
-
constructor(elementRef, renderer, changeDetectorRef, viewContainerRef, componentFactoryResolver) {
|
143
|
-
this.elementRef = elementRef;
|
144
|
-
this.renderer = renderer;
|
145
|
-
this.changeDetectorRef = changeDetectorRef;
|
146
|
-
this.viewContainerRef = viewContainerRef;
|
147
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
148
|
-
this.isLoading = false;
|
149
|
-
this.hostElement = this.elementRef.nativeElement;
|
150
|
-
this.hostElement.style.position = 'relative';
|
151
|
-
}
|
152
|
-
ngOnChanges(changes) {
|
153
|
-
if (!this.overlayElement || !this.spinnerElement) {
|
154
|
-
this.init();
|
155
|
-
}
|
156
|
-
if (changes.isLoading) {
|
157
|
-
const isLoadingValue = changes.isLoading.currentValue;
|
158
|
-
if (isLoadingValue) {
|
159
|
-
this.addLoadingIndicator();
|
160
|
-
}
|
161
|
-
else {
|
162
|
-
this.removeLoadingIndicator();
|
163
|
-
}
|
164
|
-
this.changeDetectorRef.markForCheck();
|
165
|
-
}
|
166
|
-
}
|
167
|
-
addLoadingIndicator() {
|
168
|
-
this.renderer.appendChild(this.hostElement, this.overlayElement);
|
169
|
-
this.renderer.appendChild(this.overlayElement, this.spinnerElement);
|
170
|
-
}
|
171
|
-
removeLoadingIndicator() {
|
172
|
-
this.renderer.removeChild(this.overlayElement, this.spinnerElement);
|
173
|
-
this.renderer.removeChild(this.hostElement, this.overlayElement);
|
174
|
-
this.viewContainerRef.clear();
|
175
|
-
}
|
176
|
-
init() {
|
177
|
-
this.initOverlayElement();
|
178
|
-
this.initSpinnerComponent();
|
179
|
-
}
|
180
|
-
initSpinnerComponent() {
|
181
|
-
const spinnerComponentFactory = this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);
|
182
|
-
const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);
|
183
|
-
this.spinnerElement = spinnerComponent.location.nativeElement;
|
184
|
-
}
|
185
|
-
initOverlayElement() {
|
186
|
-
this.overlayElement = this.renderer.createElement('div');
|
187
|
-
this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);
|
188
|
-
}
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
|
190
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, usesOnChanges: true, ngImport: i0 }); }
|
191
|
-
}
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingDirective, decorators: [{
|
193
|
-
type: Directive,
|
194
|
-
args: [{
|
195
|
-
selector: '[axIsLoading]',
|
196
|
-
}]
|
197
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { isLoading: [{
|
198
|
-
type: Input,
|
199
|
-
args: ['axIsLoading']
|
200
|
-
}] } });
|
201
|
-
|
202
|
-
const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];
|
203
|
-
const MODULES = [CommonModule, OverlayModule, PortalModule];
|
204
|
-
class AXLoadingModule {
|
205
|
-
constructor() {
|
206
|
-
AXConfig.set({
|
207
|
-
layout: {
|
208
|
-
loading: {
|
209
|
-
spinner: AXLoadingSpinnerComponent,
|
210
|
-
}
|
211
|
-
}
|
212
|
-
});
|
213
|
-
}
|
214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
215
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] }); }
|
216
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingModule, imports: [MODULES] }); }
|
217
|
-
}
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXLoadingModule, decorators: [{
|
219
|
-
type: NgModule,
|
220
|
-
args: [{
|
221
|
-
declarations: [...COMPONENT],
|
222
|
-
imports: [...MODULES],
|
223
|
-
exports: [...COMPONENT],
|
224
|
-
providers: [],
|
225
|
-
}]
|
226
|
-
}], ctorParameters: function () { return []; } });
|
227
|
-
|
228
147
|
const DEFAULT_LOADER_ID = '_DEFAULT';
|
229
|
-
/**
|
230
|
-
* Used for centrally setting/unsetting loading flags for components or services.
|
231
|
-
* Should be connected to global HTTP interceptor which will unset
|
232
|
-
* the loading flags in case an error happens using the clearLoadings() method.
|
233
|
-
*
|
234
|
-
* FAQ:
|
235
|
-
* Q: How to change loading flag for a parent component?
|
236
|
-
* A: Inject the parent component as a dependency to your constructor and
|
237
|
-
* call loadingService.setLoading(parentComponent, STATE).
|
238
|
-
*
|
239
|
-
* Q: How to change loading flag for a child component?
|
240
|
-
* A: Use a @ViewChild with component selector and pass the
|
241
|
-
* reference of the child to setLoading method.
|
242
|
-
*
|
243
|
-
* Q: I need more loading indicators in my components. How to?
|
244
|
-
* A: Assign a LoaderId to each indicator and then use them
|
245
|
-
* with calls to methods of this service.
|
246
|
-
*/
|
247
148
|
class AXLoadingService {
|
248
|
-
constructor(
|
249
|
-
this.zoneRef = zoneRef;
|
250
|
-
this.overlayService = overlayService;
|
149
|
+
constructor() {
|
251
150
|
// WeakMap will remove components from itself upon
|
252
151
|
// their garbage collection by JS runtime.
|
253
152
|
this.loadingStates = new WeakMap();
|
254
153
|
// Both loading state maps are kept in-sync such that
|
255
154
|
// they can be used by both sync and async methods.
|
256
155
|
this.loadingStates$ = new WeakMap();
|
257
|
-
this.
|
156
|
+
this.dialog = inject(Dialog);
|
258
157
|
}
|
259
|
-
show(
|
260
|
-
|
261
|
-
|
262
|
-
host = options.location.closest('.ax-loading-host');
|
263
|
-
}
|
264
|
-
const containerElement = (host || document.body);
|
265
|
-
const com = this.overlayService.show(AXLoadingComponent, { options: options?.context }, {
|
266
|
-
closeOnClickOutside: false,
|
267
|
-
containerElement,
|
158
|
+
show(config) {
|
159
|
+
const ce = (config?.location ?? document.body);
|
160
|
+
const dialogRef = this.dialog.open(AXLoadingComponent, {
|
268
161
|
hasBackdrop: true,
|
269
|
-
|
270
|
-
|
162
|
+
disableClose: true,
|
163
|
+
restoreFocus: true,
|
164
|
+
closeOnDestroy: true,
|
165
|
+
closeOnNavigation: true,
|
166
|
+
ariaModal: true,
|
167
|
+
role: 'alertdialog',
|
168
|
+
panelClass: ['ax-loading-pane', 'ax-animate-fadeIn'],
|
169
|
+
backdropClass: ['ax-loading-overlay-backdrop', 'ax-animate-fadeIn'],
|
271
170
|
});
|
272
|
-
com.instance.visible = true;
|
273
171
|
const id = new Date().getTime();
|
274
|
-
|
172
|
+
dialogRef.componentInstance.visible = true;
|
173
|
+
dialogRef.componentInstance.id = id.toString();
|
174
|
+
if (ce != document.body) {
|
175
|
+
const bg = dialogRef.overlayRef.backdropElement;
|
176
|
+
const ov = dialogRef.overlayRef.overlayElement;
|
177
|
+
ce.style.position = 'relative';
|
178
|
+
ov.style.position = "absolute";
|
179
|
+
ce.appendChild(bg);
|
180
|
+
ce.appendChild(ov);
|
181
|
+
setTimeout(() => {
|
182
|
+
ov.style.position = "absolute";
|
183
|
+
}, 0);
|
184
|
+
}
|
275
185
|
return id;
|
186
|
+
// TODO: diabled focus and click, maybe we need a service and directive for it
|
276
187
|
}
|
277
188
|
hide(id) {
|
278
|
-
const f = this.
|
189
|
+
const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());
|
279
190
|
if (f) {
|
280
|
-
f.
|
281
|
-
this._stack = this._stack.filter(c => c.id !== id);
|
191
|
+
f.close();
|
282
192
|
}
|
283
193
|
}
|
284
|
-
// Observable creation operator.
|
285
|
-
// LoaderId can be used when there are multiple loading indicators associated to a single context.
|
286
|
-
// Context can be any object, though in practice, components and services will be the most common contexts.
|
287
|
-
// loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.
|
288
|
-
// Such a scenario is used when your context has contains only one loading indicator.
|
289
194
|
doLoading(source$, context, loaderId) {
|
290
195
|
this.startLoading(context, loaderId);
|
291
196
|
return source$.pipe(observeOn(asyncScheduler), finalize(() => this.endLoading(context, loaderId)));
|
292
197
|
}
|
293
|
-
// To be used in your html templates.
|
294
|
-
// Returns a boolean indicating whether a given loader is active in a given context.
|
295
|
-
// If loaderId is unspecified, the method will return a logical disjunction of all
|
296
|
-
// loader states in the context.
|
297
198
|
isLoading(context, loaderId) {
|
298
199
|
const loaderStates = this.loadingStates.get(context);
|
299
200
|
if (!loaderStates) {
|
@@ -308,8 +209,6 @@ class AXLoadingService {
|
|
308
209
|
}
|
309
210
|
}
|
310
211
|
}
|
311
|
-
// To be used in your html templates with async pipes.
|
312
|
-
// Returns an Observable of booleans indicating whether a given loader is active in a given context.
|
313
212
|
isLoading$(context, loaderId) {
|
314
213
|
const coalescedLoaderId = this.getLoaderId(loaderId);
|
315
214
|
if (!this.hasLoadingStates(context, coalescedLoaderId)) {
|
@@ -317,15 +216,12 @@ class AXLoadingService {
|
|
317
216
|
}
|
318
217
|
return this.loadingStates$.get(context).get(coalescedLoaderId);
|
319
218
|
}
|
320
|
-
// The startLoading and endLoading methods are intended to be used when handling
|
321
|
-
// complex scenarios where a need for extended usage flexibility is desired.
|
322
219
|
startLoading(context, loaderId) {
|
323
220
|
this.setLoadingState(context, true, this.getLoaderId(loaderId));
|
324
221
|
}
|
325
222
|
endLoading(context, loaderId) {
|
326
223
|
this.setLoadingState(context, false, this.getLoaderId(loaderId));
|
327
224
|
}
|
328
|
-
// To be called by middleware code (HTTP interceptors/routing listeners, etc.).
|
329
225
|
clearLoadings() {
|
330
226
|
this.loadingStates = new WeakMap();
|
331
227
|
this.loadingStates$ = new WeakMap();
|
@@ -359,19 +255,68 @@ class AXLoadingService {
|
|
359
255
|
getLoaderId(loaderId) {
|
360
256
|
return loaderId ?? DEFAULT_LOADER_ID;
|
361
257
|
}
|
362
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
363
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
259
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
|
364
260
|
}
|
365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingService, decorators: [{
|
366
262
|
type: Injectable,
|
367
263
|
args: [{
|
368
264
|
providedIn: 'root',
|
369
265
|
}]
|
370
|
-
}]
|
266
|
+
}] });
|
267
|
+
|
268
|
+
// This directive places an overlay with a loading spinner over its host element
|
269
|
+
// if isLoading equals to true and hides the overlay when isLoading becomes false.
|
270
|
+
class AXLoadingDirective {
|
271
|
+
get isLoading() {
|
272
|
+
return this._isLoading;
|
273
|
+
}
|
274
|
+
set isLoading(v) {
|
275
|
+
this._isLoading = v;
|
276
|
+
if (v) {
|
277
|
+
this._loadingRef = this.loadingService.show({ location: this._hostElement });
|
278
|
+
}
|
279
|
+
else {
|
280
|
+
this.loadingService.hide(this._loadingRef);
|
281
|
+
}
|
282
|
+
}
|
283
|
+
constructor(elementRef, loadingService) {
|
284
|
+
this.elementRef = elementRef;
|
285
|
+
this.loadingService = loadingService;
|
286
|
+
this._hostElement = this.elementRef.nativeElement;
|
287
|
+
}
|
288
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingDirective, deps: [{ token: i0.ElementRef }, { token: AXLoadingService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
289
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.8", type: AXLoadingDirective, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, ngImport: i0 }); }
|
290
|
+
}
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingDirective, decorators: [{
|
292
|
+
type: Directive,
|
293
|
+
args: [{
|
294
|
+
selector: '[axIsLoading]',
|
295
|
+
}]
|
296
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AXLoadingService }]; }, propDecorators: { isLoading: [{
|
297
|
+
type: Input,
|
298
|
+
args: ['axIsLoading']
|
299
|
+
}] } });
|
300
|
+
|
301
|
+
const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent];
|
302
|
+
const MODULES = [CommonModule, OverlayModule, PortalModule];
|
303
|
+
class AXLoadingModule {
|
304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
305
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent] }); }
|
306
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, imports: [MODULES] }); }
|
307
|
+
}
|
308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXLoadingModule, decorators: [{
|
309
|
+
type: NgModule,
|
310
|
+
args: [{
|
311
|
+
declarations: [...COMPONENT],
|
312
|
+
imports: [...MODULES],
|
313
|
+
exports: [...COMPONENT],
|
314
|
+
}]
|
315
|
+
}] });
|
371
316
|
|
372
317
|
/**
|
373
318
|
* Generated bundle index. Do not edit.
|
374
319
|
*/
|
375
320
|
|
376
|
-
export { AXLoadingComponent, AXLoadingDirective, AXLoadingModule, AXLoadingService, AXLoadingSpinnerComponent };
|
321
|
+
export { AXLoadingComponent, AXLoadingDefaultConfig, AXLoadingDirective, AXLoadingModule, AXLoadingService, AXLoadingSpinnerComponent, AX_LOADING_CONFIG, loadingConfig };
|
377
322
|
//# sourceMappingURL=acorex-components-loading.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-loading.mjs","sources":["../../../../libs/components/loading/src/lib/loading-spinner.component.ts","../../../../libs/components/loading/src/lib/loading.component.ts","../../../../libs/components/loading/src/lib/loading.directive.ts","../../../../libs/components/loading/src/lib/loading.module.ts","../../../../libs/components/loading/src/lib/loading.service.ts","../../../../libs/components/loading/src/acorex-components-loading.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ax-loading-spinner',\n template: `\n <svg\n version=\"1.1\"\n width=\"24\"\n height=\"24\"\n style=\"fill: currentColor;\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 50 50\"\n xml:space=\"preserve\">\n <path\n fill=\"current\"\n 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\">\n <animateTransform\n attributeType=\"xml\"\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 25 25\"\n to=\"360 25 25\"\n dur=\"0.6s\"\n repeatCount=\"indefinite\" />\n </path>\n </svg>\n <span *ngIf=\"text\"> {{ text }} </span>\n `,\n host: { class: 'ax-loading-spinner' },\n})\nexport class AXLoadingSpinnerComponent {\n text: string;\n}\n","import { AXBaseComponentMixin } from '@acorex/components/mixin';\nimport { AXConfig } from '@acorex/core/config';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, Portal } from '@angular/cdk/portal';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ChangeDetectorRef,\n ComponentRef,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-loading',\n template: `\n <ng-template\n [cdkPortalOutlet]=\"_selectedPortal\"\n (attached)=\"_handleAttched($event)\"\n ></ng-template>\n `,\n styleUrls: ['./loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'ax-loading' },\n})\nexport class AXLoadingComponent extends AXBaseComponentMixin {\n _selectedPortal: Portal<any>;\n\n /**\n * @ignore\n */\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\n super(elementRef, cdr);\n }\n\n @Output()\n visibleChange: EventEmitter<boolean> = new EventEmitter();\n\n private _visible: boolean;\n\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v != this._visible) {\n this._visible = v;\n v\n ? this._getHostElement().classList.remove('ax-hide')\n : this._getHostElement().classList.add('ax-hide');\n this.visibleChange.emit(v);\n }\n }\n\n @Input()\n type: string = 'spinner';\n\n @Input()\n options?: any;\n\n override onInit() {\n const loading = AXConfig.get(`layout.loading.${this.type}`);\n this._selectedPortal = new ComponentPortal(loading);\n this._cdr.markForCheck();\n }\n\n _handleAttched(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<any>;\n if (ref.instance && this.options) {\n Object.assign(ref.instance, this.options);\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { AXLoadingComponent } from './loading.component';\n\nconst OVERLAY_CLASS = 'ax-loading-overlay';\n\n// This directive places an overlay with a loading spinner over its host element\n// if isLoading equals to true and hides the overlay when isLoading becomes false.\n@Directive({\n selector: '[axIsLoading]',\n})\nexport class AXLoadingDirective implements OnChanges {\n @Input('axIsLoading')\n isLoading = false;\n\n protected overlayElement!: HTMLDivElement;\n protected spinnerElement!: HTMLDivElement;\n protected hostElement!: HTMLDivElement;\n\n //TODO: ComponentFactoryResolver is deprecated\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly renderer: Renderer2,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly componentFactoryResolver: ComponentFactoryResolver\n ) {\n this.hostElement = this.elementRef.nativeElement;\n this.hostElement.style.position = 'relative';\n }\n\n ngOnChanges(changes: any): void {\n if (!this.overlayElement || !this.spinnerElement) {\n this.init();\n }\n\n if (changes.isLoading) {\n const isLoadingValue = changes.isLoading.currentValue;\n\n if (isLoadingValue) {\n this.addLoadingIndicator();\n } else {\n this.removeLoadingIndicator();\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n protected addLoadingIndicator(): void {\n this.renderer.appendChild(this.hostElement, this.overlayElement);\n this.renderer.appendChild(this.overlayElement, this.spinnerElement);\n }\n\n protected removeLoadingIndicator(): void {\n this.renderer.removeChild(this.overlayElement, this.spinnerElement);\n this.renderer.removeChild(this.hostElement, this.overlayElement);\n this.viewContainerRef.clear();\n }\n\n protected init(): void {\n this.initOverlayElement();\n this.initSpinnerComponent();\n }\n\n protected initSpinnerComponent(): void {\n const spinnerComponentFactory =\n this.componentFactoryResolver.resolveComponentFactory(AXLoadingComponent);\n const spinnerComponent = this.viewContainerRef.createComponent(spinnerComponentFactory);\n this.spinnerElement = spinnerComponent.location.nativeElement;\n }\n\n protected initOverlayElement(): void {\n this.overlayElement = this.renderer.createElement('div');\n this.renderer.addClass(this.overlayElement, OVERLAY_CLASS);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXConfig } from '@acorex/core/config';\nimport { AXLoadingComponent } from './loading.component';\nimport { AXLoadingDirective } from './loading.directive';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];\nconst MODULES = [CommonModule, OverlayModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXLoadingModule {\n\n\n constructor() {\n AXConfig.set({\n layout: {\n loading: {\n spinner: AXLoadingSpinnerComponent,\n }\n }\n })\n\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\nimport { finalize, observeOn } from 'rxjs/operators';\nimport { AXOverlayService, AXOverlayViewRef } from '@acorex/components/common';\nimport { AXLoadingComponent } from './loading.component';\n\ntype LoadingContext = object;\ntype LoaderId = string | number; // expected enum values\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\n\n/**\n * Used for centrally setting/unsetting loading flags for components or services.\n * Should be connected to global HTTP interceptor which will unset\n * the loading flags in case an error happens using the clearLoadings() method.\n *\n * FAQ:\n * Q: How to change loading flag for a parent component?\n * A: Inject the parent component as a dependency to your constructor and\n * call loadingService.setLoading(parentComponent, STATE).\n *\n * Q: How to change loading flag for a child component?\n * A: Use a @ViewChild with component selector and pass the\n * reference of the child to setLoading method.\n *\n * Q: I need more loading indicators in my components. How to?\n * A: Assign a LoaderId to each indicator and then use them\n * with calls to methods of this service.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingService {\n // WeakMap will remove components from itself upon\n // their garbage collection by JS runtime.\n protected loadingStates: any = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n // Both loading state maps are kept in-sync such that\n // they can be used by both sync and async methods.\n protected loadingStates$: any = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n\n constructor(protected zoneRef: NgZone, private overlayService: AXOverlayService) {}\n\n private _stack: { id: number; component: AXOverlayViewRef }[] = [];\n\n show(options?: { location?: Element; type?: string; context?: any }): number {\n let host: Element | any;\n if (options?.location) {\n host = options.location.closest('.ax-loading-host');\n }\n const containerElement = (host || document.body) as HTMLDivElement;\n const com = this.overlayService.show(\n AXLoadingComponent,\n { options: options?.context },\n {\n closeOnClickOutside: false,\n containerElement,\n hasBackdrop: true,\n backdropClass: ['ax-loading-overlay'],\n scroll: 'block',\n }\n );\n com.instance.visible = true;\n const id = new Date().getTime();\n this._stack.push({ id, component: com });\n return id;\n }\n\n hide(id): void {\n const f = this._stack.find(c => c.id === id);\n if (f) {\n f.component.dispose();\n this._stack = this._stack.filter(c => c.id !== id);\n }\n }\n\n // Observable creation operator.\n // LoaderId can be used when there are multiple loading indicators associated to a single context.\n // Context can be any object, though in practice, components and services will be the most common contexts.\n // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.\n // Such a scenario is used when your context has contains only one loading indicator.\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\n this.startLoading(context, loaderId);\n\n return source$.pipe(\n observeOn(asyncScheduler),\n finalize(() => this.endLoading(context, loaderId))\n );\n }\n\n // To be used in your html templates.\n // Returns a boolean indicating whether a given loader is active in a given context.\n // If loaderId is unspecified, the method will return a logical disjunction of all\n // loader states in the context.\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\n const loaderStates = this.loadingStates.get(context);\n\n if (!loaderStates) {\n return false;\n } else {\n if (loaderId !== undefined) {\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\n } else {\n return [...loaderStates.values()].filter(state => state).length > 0;\n }\n }\n }\n\n // To be used in your html templates with async pipes.\n // Returns an Observable of booleans indicating whether a given loader is active in a given context.\n isLoading$(context: LoadingContext, loaderId?: LoaderId | any): Observable<boolean> {\n const coalescedLoaderId = this.getLoaderId(loaderId);\n\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\n this.setLoadingState(context, false, loaderId);\n }\n\n return this.loadingStates$.get(context).get(coalescedLoaderId);\n }\n\n // The startLoading and endLoading methods are intended to be used when handling\n // complex scenarios where a need for extended usage flexibility is desired.\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\n }\n\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\n }\n\n // To be called by middleware code (HTTP interceptors/routing listeners, etc.).\n clearLoadings(): void {\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n }\n\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\n if (!this.hasLoadingStates(context, loaderId)) {\n if (this.hasContextLoadingState(context)) {\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\n } else {\n this.loadingStates.set(context, new Map<LoaderId, boolean>([[loaderId, state]]));\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([[loaderId, new BehaviorSubject<boolean>(state)]]));\n }\n } else {\n // @ts-ignore - loadingStates[context] is surely defined in this branch\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).get(loaderId).next(state);\n }\n }\n\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\n }\n\n protected hasContextLoadingState(context: LoadingContext) {\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\n }\n\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\n }\n\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\n return loaderId ?? DEFAULT_LOADER_ID;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-loading.mjs","sources":["../../../../libs/components/loading/src/lib/loading-spinner.component.ts","../../../../libs/components/loading/src/lib/loading.config.ts","../../../../libs/components/loading/src/lib/loading.component.ts","../../../../libs/components/loading/src/lib/loading.service.ts","../../../../libs/components/loading/src/lib/loading.directive.ts","../../../../libs/components/loading/src/lib/loading.module.ts","../../../../libs/components/loading/src/acorex-components-loading.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ax-loading-spinner',\n template: `\n <svg\n version=\"1.1\"\n width=\"24\"\n height=\"24\"\n style=\"fill: currentColor;\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 50 50\"\n xml:space=\"preserve\">\n <path\n fill=\"current\"\n 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\">\n <animateTransform\n attributeType=\"xml\"\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 25 25\"\n to=\"360 25 25\"\n dur=\"0.6s\"\n repeatCount=\"indefinite\" />\n </path>\n </svg>\n <span *ngIf=\"text\"> {{ text }} </span>\n `,\n})\nexport class AXLoadingSpinnerComponent {\n text: string;\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\n\nexport interface AXLoadingConfig {\n spinner: unknown\n}\n\nexport const AX_LOADING_CONFIG = new InjectionToken<AXLoadingConfig>(\n 'AX_LOADING_CONFIG',\n {\n providedIn: 'root',\n factory: () => AXLoadingDefaultConfig,\n }\n);\n\n\nexport const AXLoadingDefaultConfig: AXLoadingConfig = {\n spinner: AXLoadingSpinnerComponent\n};\n\n\nexport type PartialLoadingConfig = Partial<AXLoadingConfig>;\n\nexport function loadingConfig(config: PartialLoadingConfig = {}): AXLoadingConfig {\n const result = {\n ...AXLoadingDefaultConfig,\n ...config,\n };\n return result\n}","\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, Portal } from '@angular/cdk/portal';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n ComponentRef,\n inject,\n} from '@angular/core';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXLoadingConfig, AX_LOADING_CONFIG } from './loading.config';\n\n@Component({\n selector: 'ax-loading',\n template: `\n <ng-template\n [cdkPortalOutlet]=\"_selectedPortal\"\n (attached)=\"_handleAttched($event)\"\n ></ng-template>\n `,\n styleUrls: ['./loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXLoadingComponent extends MXBaseComponent {\n\n\n private config: AXLoadingConfig = inject(AX_LOADING_CONFIG);\n\n\n protected _selectedPortal: Portal<unknown>;\n\n @Output()\n visibleChange: EventEmitter<boolean> = new EventEmitter();\n\n private _visible: boolean;\n\n @Input()\n public get visible(): boolean {\n return this._visible;\n }\n public set visible(v: boolean) {\n if (v != this._visible) {\n this._visible = v;\n v\n ? this.getHostElement().classList.remove('ax-hide')\n : this.getHostElement().classList.add('ax-hide');\n this.visibleChange.emit(v);\n }\n }\n\n @Input()\n type: string = 'spinner';\n\n @Input()\n context?: unknown;\n\n ngOnInit() {\n this._selectedPortal = new ComponentPortal(this.config.spinner as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n\n protected _handleAttched(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<unknown>;\n if (ref.instance && this.context) {\n Object.assign(ref.instance, this.context);\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { asyncScheduler, BehaviorSubject, Observable } from 'rxjs';\nimport { finalize, observeOn } from 'rxjs/operators';\nimport { AXLoadingComponent } from './loading.component';\nimport { Dialog } from '@angular/cdk/dialog';\n\ntype LoadingContext = object;\ntype LoaderId = string | number; // expected enum values\nconst DEFAULT_LOADER_ID: LoaderId = '_DEFAULT';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingService {\n // WeakMap will remove components from itself upon\n // their garbage collection by JS runtime.\n protected loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n // Both loading state maps are kept in-sync such that\n // they can be used by both sync and async methods.\n protected loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n\n private dialog = inject(Dialog);\n\n show(config?: { location?: Element; type?: string; context?: unknown }): number {\n const ce = (config?.location ?? document.body) as HTMLDivElement;\n const dialogRef = this.dialog.open(AXLoadingComponent,\n {\n hasBackdrop: true,\n disableClose: true,\n restoreFocus: true,\n closeOnDestroy: true,\n closeOnNavigation: true,\n ariaModal: true,\n role: 'alertdialog',\n panelClass: ['ax-loading-pane', 'ax-animate-fadeIn'],\n backdropClass: ['ax-loading-overlay-backdrop', 'ax-animate-fadeIn'],\n }\n );\n const id = new Date().getTime();\n dialogRef.componentInstance.visible = true;\n dialogRef.componentInstance.id = id.toString();\n if (ce != document.body) {\n const bg = dialogRef.overlayRef.backdropElement;\n const ov = dialogRef.overlayRef.overlayElement;\n ce.style.position = 'relative';\n ov.style.position = \"absolute\";\n ce.appendChild(bg);\n ce.appendChild(ov);\n setTimeout(() => {\n ov.style.position = \"absolute\";\n }, 0);\n }\n return id;\n // TODO: diabled focus and click, maybe we need a service and directive for it\n }\n\n hide(id: number): void {\n const f = this.dialog.openDialogs.find(c => c.componentInstance.id === id.toString());\n if (f) {\n f.close();\n }\n }\n\n doLoading<V>(source$: Observable<V>, context: LoadingContext, loaderId?: LoaderId): Observable<V> {\n this.startLoading(context, loaderId);\n return source$.pipe(\n observeOn(asyncScheduler),\n finalize(() => this.endLoading(context, loaderId))\n );\n }\n\n\n isLoading(context: LoadingContext, loaderId?: LoaderId): boolean {\n const loaderStates = this.loadingStates.get(context);\n\n if (!loaderStates) {\n return false;\n } else {\n if (loaderId !== undefined) {\n return loaderStates.get(this.getLoaderId(loaderId)) ?? false;\n } else {\n return [...loaderStates.values()].filter(state => state).length > 0;\n }\n }\n }\n\n\n isLoading$(context: LoadingContext, loaderId?: LoaderId | any): Observable<boolean> {\n const coalescedLoaderId = this.getLoaderId(loaderId);\n\n if (!this.hasLoadingStates(context, coalescedLoaderId)) {\n this.setLoadingState(context, false, loaderId);\n }\n\n return this.loadingStates$.get(context).get(coalescedLoaderId);\n }\n\n\n startLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, true, this.getLoaderId(loaderId));\n }\n\n endLoading(context: LoadingContext, loaderId?: LoaderId): void {\n this.setLoadingState(context, false, this.getLoaderId(loaderId));\n }\n\n\n clearLoadings(): void {\n this.loadingStates = new WeakMap<LoadingContext, Map<LoaderId, boolean>>();\n this.loadingStates$ = new WeakMap<LoadingContext, Map<LoaderId, BehaviorSubject<boolean>>>();\n }\n\n protected setLoadingState(context: LoadingContext, state: boolean, loaderId: LoaderId): void {\n if (!this.hasLoadingStates(context, loaderId)) {\n if (this.hasContextLoadingState(context)) {\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).set(loaderId, new BehaviorSubject<boolean>(state));\n } else {\n this.loadingStates.set(context, new Map<LoaderId, boolean>([[loaderId, state]]));\n this.loadingStates$.set(context, new Map<LoaderId, BehaviorSubject<boolean>>([[loaderId, new BehaviorSubject<boolean>(state)]]));\n }\n } else {\n // @ts-ignore - loadingStates[context] is surely defined in this branch\n this.loadingStates.get(context).set(loaderId, state);\n this.loadingStates$.get(context).get(loaderId).next(state);\n }\n }\n\n protected hasLoadingStates(context: LoadingContext, loaderId: LoaderId) {\n return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);\n }\n\n protected hasContextLoadingState(context: LoadingContext) {\n return this.loadingStates.has(context) && this.loadingStates$.has(context);\n }\n\n protected hasLoaderLoadingState(context: LoadingContext, loaderId: LoaderId) {\n return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);\n }\n\n protected getLoaderId(loaderId?: LoaderId): LoaderId {\n return loaderId ?? DEFAULT_LOADER_ID;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\nimport { AXLoadingService } from './loading.service';\n\n// This directive places an overlay with a loading spinner over its host element\n// if isLoading equals to true and hides the overlay when isLoading becomes false.\n@Directive({\n selector: '[axIsLoading]',\n})\nexport class AXLoadingDirective {\n\n private _hostElement!: HTMLDivElement;\n private _loadingRef!: number;\n\n private _isLoading: boolean;\n\n @Input('axIsLoading')\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this._isLoading = v;\n if (v) {\n this._loadingRef = this.loadingService.show({ location: this._hostElement })\n }\n else {\n this.loadingService.hide(this._loadingRef);\n }\n }\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly loadingService: AXLoadingService,\n ) {\n this._hostElement = this.elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXLoadingComponent } from './loading.component';\nimport { AXLoadingDirective } from './loading.directive';\nimport { AXLoadingSpinnerComponent } from './loading-spinner.component';\n\nconst COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent, AXLoadingSpinnerComponent];\nconst MODULES = [CommonModule, OverlayModule, PortalModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXLoadingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.AXLoadingService"],"mappings":"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"}
|