@acorex/components 7.3.2 → 7.4.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/button/lib/button-group.component.d.ts +10 -73
- package/button/lib/button-item.class.d.ts +1 -3
- package/button/lib/button-item.component.d.ts +12 -75
- package/button/lib/button.component.d.ts +1 -1
- package/button-group/README.md +3 -0
- package/button-group/index.d.ts +2 -0
- package/button-group/lib/button-group.component.d.ts +21 -0
- package/button-group/lib/button-group.module.d.ts +8 -0
- package/calendar/lib/calendar-range.component.d.ts +2 -1
- package/calendar/lib/calendar.class.d.ts +9 -8
- package/calendar/lib/calendar.component.d.ts +2 -1
- package/check-box/lib/check-box.component.d.ts +3 -2
- package/color-box/README.md +3 -0
- package/color-box/index.d.ts +2 -0
- package/color-box/lib/color-box.component.d.ts +27 -0
- package/color-box/lib/color-box.module.d.ts +11 -0
- package/common/index.d.ts +5 -3
- package/common/lib/classes/styles.class.d.ts +0 -9
- package/common/lib/components/button-base-component.class.d.ts +0 -2
- package/common/lib/components/interactive-component.class.d.ts +7 -1
- package/common/lib/types/direction.d.ts +4 -0
- package/common/lib/types/orientation.d.ts +4 -0
- package/common/lib/types/placement.d.ts +30 -0
- package/common/lib/types/selection-mode.d.ts +4 -0
- package/data-pager/lib/data-pager.module.d.ts +5 -4
- package/data-table/lib/data-column.directive.d.ts +2 -2
- package/datetime-box/README.md +3 -0
- package/datetime-box/index.d.ts +2 -0
- package/datetime-box/lib/datetime-box.component.d.ts +34 -0
- package/datetime-box/lib/datetime-box.module.d.ts +13 -0
- package/datetime-input/README.md +3 -0
- package/datetime-input/index.d.ts +2 -0
- package/datetime-input/lib/datetime-input.component.d.ts +44 -0
- package/datetime-input/lib/datetime-input.module.d.ts +10 -0
- package/datetime-picker/README.md +3 -0
- package/datetime-picker/index.d.ts +2 -0
- package/datetime-picker/lib/datetime-picker.component.d.ts +42 -0
- package/datetime-picker/lib/datetime-picker.module.d.ts +14 -0
- package/decorators/index.d.ts +4 -4
- package/decorators/lib/decorators.module.d.ts +4 -4
- package/dropdown/index.d.ts +2 -0
- package/dropdown/lib/dropdown-box.class.d.ts +15 -0
- package/dropdown/lib/dropdown-box.component.d.ts +25 -0
- package/dropdown/lib/dropdown-panel.component.d.ts +31 -20
- package/dropdown/lib/dropdown.module.d.ts +9 -8
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
- package/esm2022/alert/lib/alert.component.mjs +3 -3
- package/esm2022/alert/lib/alert.module.mjs +4 -4
- 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 +3 -3
- 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 +36 -29
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button-item.component.mjs +46 -32
- package/esm2022/button/lib/button.component.mjs +10 -7
- package/esm2022/button/lib/button.module.mjs +4 -4
- package/esm2022/{color-picker/acorex-components-color-picker.mjs → button-group/acorex-components-button-group.mjs} +1 -1
- package/esm2022/button-group/index.mjs +3 -0
- package/esm2022/button-group/lib/button-group.component.mjs +97 -0
- package/esm2022/button-group/lib/button-group.module.mjs +21 -0
- package/esm2022/calendar/lib/calendar-range.component.mjs +14 -13
- package/esm2022/calendar/lib/calendar.class.mjs +19 -18
- package/esm2022/calendar/lib/calendar.component.mjs +80 -40
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/lib/check-box.component.mjs +9 -5
- package/esm2022/check-box/lib/check-box.module.mjs +4 -4
- 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-box/acorex-components-color-box.mjs +5 -0
- package/esm2022/color-box/index.mjs +3 -0
- package/esm2022/color-box/lib/color-box.component.mjs +91 -0
- package/esm2022/color-box/lib/color-box.module.mjs +24 -0
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -13
- 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 +4 -4
- package/esm2022/common/index.mjs +6 -4
- package/esm2022/common/lib/classes/components.class.mjs +22 -22
- package/esm2022/common/lib/classes/styles.class.mjs +1 -2
- package/esm2022/common/lib/common.module.mjs +4 -4
- package/esm2022/common/lib/components/base-component.class.mjs +3 -3
- package/esm2022/common/lib/components/button-base-component.class.mjs +4 -18
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
- package/esm2022/common/lib/components/interactive-component.class.mjs +14 -1
- package/esm2022/common/lib/components/value-component.class.mjs +6 -6
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
- 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 +3 -3
- package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
- package/esm2022/common/lib/types/direction.mjs +2 -0
- package/esm2022/common/lib/types/orientation.mjs +2 -0
- package/esm2022/common/lib/types/placement.mjs +160 -0
- package/esm2022/common/lib/types/range.mjs +2 -0
- package/esm2022/common/lib/types/selection-mode.mjs +5 -0
- package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
- package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -18
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +7 -7
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
- package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
- package/esm2022/data-table/lib/data-column.directive.mjs +6 -8
- package/esm2022/data-table/lib/data-table.component.mjs +3 -3
- package/esm2022/data-table/lib/data-table.module.mjs +4 -4
- package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
- package/esm2022/datetime-box/index.mjs +3 -0
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +109 -0
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
- package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
- package/esm2022/datetime-input/index.mjs +3 -0
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +522 -0
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
- package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
- package/esm2022/datetime-picker/index.mjs +3 -0
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +232 -0
- package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +41 -0
- package/esm2022/decorators/index.mjs +5 -5
- package/esm2022/decorators/lib/components/clear-button.component.mjs +58 -0
- package/esm2022/decorators/lib/components/close-button.component.mjs +43 -0
- package/esm2022/decorators/lib/components/generic-content.component.mjs +17 -0
- package/esm2022/decorators/lib/components/icon.component.mjs +26 -0
- package/esm2022/decorators/lib/decorators.module.mjs +10 -10
- package/esm2022/dialog/lib/dialog.component.mjs +4 -4
- package/esm2022/dialog/lib/dialog.module.mjs +4 -4
- package/esm2022/dialog/lib/dialog.service.mjs +3 -3
- package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
- package/esm2022/drawer/lib/drawer.component.mjs +3 -3
- package/esm2022/drawer/lib/drawer.module.mjs +4 -4
- package/esm2022/dropdown/index.mjs +3 -1
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +94 -0
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +88 -37
- package/esm2022/dropdown/lib/dropdown.module.mjs +8 -7
- package/esm2022/form/index.mjs +2 -1
- package/esm2022/form/lib/form-field.component.mjs +3 -3
- package/esm2022/form/lib/form.component.mjs +3 -3
- package/esm2022/form/lib/form.config.mjs +36 -0
- package/esm2022/form/lib/form.module.mjs +6 -28
- package/esm2022/form/lib/validation-rule.widget.mjs +8 -7
- package/esm2022/form/lib/validation-summary.component.mjs +4 -4
- package/esm2022/image/lib/image.component.mjs +3 -3
- package/esm2022/image/lib/image.module.mjs +4 -4
- package/esm2022/label/lib/label.component.mjs +3 -3
- package/esm2022/label/lib/label.module.mjs +4 -4
- package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
- package/esm2022/loading/lib/loading.component.mjs +3 -3
- package/esm2022/loading/lib/loading.directive.mjs +3 -3
- package/esm2022/loading/lib/loading.module.mjs +4 -4
- package/esm2022/loading/lib/loading.service.mjs +3 -3
- package/esm2022/menu/lib/menu.component.mjs +3 -3
- package/esm2022/menu/lib/menu.module.mjs +4 -4
- package/esm2022/mixin/lib/base-components.class.mjs +3 -3
- package/esm2022/mixin/lib/selection-component.class.mjs +3 -3
- package/esm2022/mixin/lib/value-mixin.class.mjs +3 -3
- package/esm2022/notification/lib/notification.component.mjs +3 -3
- package/esm2022/notification/lib/notification.module.mjs +4 -4
- package/esm2022/notification/lib/notification.service.mjs +3 -3
- package/esm2022/number-box/lib/number-box.component.mjs +3 -3
- package/esm2022/number-box/lib/number-box.module.mjs +4 -4
- package/esm2022/otp/lib/otp.component.mjs +23 -11
- package/esm2022/otp/lib/otp.module.mjs +4 -4
- package/esm2022/page/lib/base-page.class.mjs +3 -3
- package/esm2022/page/lib/page.component.mjs +3 -3
- package/esm2022/page/lib/page.module.mjs +4 -4
- package/esm2022/password-box/lib/password-box.component.mjs +3 -3
- package/esm2022/password-box/lib/password-box.module.mjs +4 -4
- package/esm2022/picker/acorex-components-picker.mjs +5 -0
- package/esm2022/picker/index.mjs +4 -0
- package/esm2022/picker/lib/picker-column.directive.mjs +73 -0
- package/esm2022/picker/lib/picker.component.mjs +148 -0
- package/esm2022/picker/lib/picker.module.mjs +22 -0
- package/esm2022/popover/index.mjs +1 -2
- package/esm2022/popover/lib/popover.component.mjs +241 -176
- package/esm2022/popover/lib/popover.module.mjs +4 -4
- package/esm2022/popup/lib/popup.component.mjs +37 -12
- package/esm2022/popup/lib/popup.module.mjs +4 -4
- package/esm2022/popup/lib/popup.service.mjs +9 -6
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +4 -4
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
- package/esm2022/radio/lib/radio.component.mjs +36 -21
- package/esm2022/radio/lib/radio.module.mjs +4 -4
- package/esm2022/range-slider/lib/range-slider.component.mjs +21 -34
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +6 -6
- package/esm2022/result/lib/result.module.mjs +4 -4
- package/esm2022/scheduler/index.mjs +2 -1
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +16 -9
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
- package/esm2022/scheduler/lib/scheduler.component.mjs +27 -14
- package/esm2022/scheduler/lib/scheduler.module.mjs +10 -9
- package/esm2022/search-box/lib/search-box.component.mjs +3 -3
- package/esm2022/search-box/lib/search-box.module.mjs +4 -4
- package/esm2022/select-box/lib/select-box.component.mjs +7 -7
- package/esm2022/select-box/lib/select-box.module.mjs +4 -4
- package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
- package/esm2022/switch/lib/switch-content.component.mjs +3 -3
- package/esm2022/switch/lib/switch.component.mjs +3 -3
- 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 +23 -53
- package/esm2022/tabs/lib/tabs.class.mjs +1 -1
- package/esm2022/tabs/lib/tabs.component.mjs +19 -28
- package/esm2022/tabs/lib/tabs.module.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +8 -10
- package/esm2022/tag/lib/tag.module.mjs +4 -4
- package/esm2022/text-area/lib/text-area.component.mjs +3 -3
- package/esm2022/text-area/lib/text-area.module.mjs +4 -4
- package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
- package/esm2022/text-box/lib/text-box.component.mjs +3 -3
- package/esm2022/text-box/lib/text-box.module.mjs +4 -4
- package/esm2022/toast/lib/toast.component.mjs +3 -3
- package/esm2022/toast/lib/toast.module.mjs +4 -4
- package/esm2022/toast/lib/toast.service.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.component.mjs +9 -13
- package/esm2022/tooltip/lib/tooltip.directive.mjs +35 -143
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/uploader/index.mjs +4 -2
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +13 -0
- package/esm2022/uploader/lib/uploader-list.component.mjs +14 -0
- package/esm2022/uploader/lib/uploader-overlay.component.mjs +12 -0
- package/esm2022/uploader/lib/uploader.module.mjs +14 -11
- package/fesm2022/acorex-components-action-sheet.mjs +10 -10
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs +122 -0
- package/fesm2022/acorex-components-button-group.mjs.map +1 -0
- package/fesm2022/acorex-components-button.mjs +134 -113
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +110 -68
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +12 -8
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-box.mjs +116 -0
- package/fesm2022/acorex-components-color-box.mjs.map +1 -0
- package/fesm2022/acorex-components-color-palette.mjs +36 -36
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +236 -149
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +7 -7
- package/fesm2022/acorex-components-data-pager.mjs +52 -54
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +12 -14
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +146 -0
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
- package/fesm2022/acorex-components-datetime-input.mjs +547 -0
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
- package/fesm2022/acorex-components-datetime-picker.mjs +273 -0
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
- package/fesm2022/acorex-components-decorators.mjs +50 -50
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +11 -11
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +10 -10
- package/fesm2022/acorex-components-dropdown.mjs +217 -44
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +58 -44
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-menu.mjs +7 -7
- package/fesm2022/acorex-components-mixin.mjs +6 -7
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +10 -10
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs +27 -15
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs +7 -7
- package/fesm2022/acorex-components-picker.mjs +242 -0
- package/fesm2022/acorex-components-picker.mjs.map +1 -0
- package/fesm2022/acorex-components-popover.mjs +246 -251
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +48 -20
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +39 -25
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +24 -37
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +9 -9
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +50 -25
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs +10 -10
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-tabs.mjs +45 -85
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +11 -13
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-toast.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs +45 -157
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +38 -103
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/form/index.d.ts +1 -0
- package/form/lib/form.config.d.ts +17 -0
- package/form/lib/form.module.d.ts +0 -1
- package/form/lib/validation-rule.widget.d.ts +1 -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 +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- 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/otp/lib/otp.component.d.ts +10 -6
- package/package.json +42 -24
- package/picker/README.md +3 -0
- package/picker/index.d.ts +3 -0
- package/picker/lib/picker-column.directive.d.ts +16 -0
- package/picker/lib/picker.component.d.ts +30 -0
- package/picker/lib/picker.module.d.ts +9 -0
- package/popover/index.d.ts +0 -1
- package/popover/lib/popover.component.d.ts +43 -27
- package/popup/lib/popup.component.d.ts +6 -6
- package/radio/lib/radio.component.d.ts +8 -10
- package/range-slider/lib/range-slider.component.d.ts +12 -12
- package/result/lib/result.component.d.ts +2 -2
- package/scheduler/index.d.ts +1 -0
- package/scheduler/lib/scheduler-month-view.component.d.ts +2 -1
- package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
- package/scheduler/lib/scheduler.component.d.ts +6 -0
- package/scheduler/lib/scheduler.module.d.ts +7 -6
- package/tabs/lib/tab-item.component.d.ts +7 -38
- package/tabs/lib/tabs.class.d.ts +2 -1
- package/tabs/lib/tabs.component.d.ts +7 -9
- package/tag/lib/tag.component.d.ts +2 -4
- package/tooltip/lib/tooltip.component.d.ts +3 -6
- package/tooltip/lib/tooltip.directive.d.ts +11 -17
- package/uploader/index.d.ts +3 -1
- package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
- package/uploader/lib/uploader-list.component.d.ts +6 -0
- package/uploader/lib/uploader-overlay.component.d.ts +6 -0
- package/uploader/lib/uploader.module.d.ts +7 -4
- package/color-picker/README.md +0 -3
- package/color-picker/index.d.ts +0 -2
- package/color-picker/lib/color-picker.component.d.ts +0 -191
- package/color-picker/lib/color-picker.module.d.ts +0 -18
- package/common/lib/classes/drawing.class.d.ts +0 -9
- package/common/lib/constant/positions.d.ts +0 -75
- package/date-picker/README.md +0 -3
- package/date-picker/index.d.ts +0 -2
- package/date-picker/lib/datepicker.component.d.ts +0 -40
- package/date-picker/lib/datepicker.module.d.ts +0 -15
- package/esm2022/color-picker/index.mjs +0 -3
- package/esm2022/color-picker/lib/color-picker.component.mjs +0 -116
- package/esm2022/color-picker/lib/color-picker.module.mjs +0 -61
- package/esm2022/common/lib/classes/data.class.mjs +0 -2
- package/esm2022/common/lib/classes/drawing.class.mjs +0 -2
- package/esm2022/common/lib/constant/positions.mjs +0 -75
- package/esm2022/date-picker/acorex-components-date-picker.mjs +0 -5
- package/esm2022/date-picker/index.mjs +0 -3
- package/esm2022/date-picker/lib/datepicker.component.mjs +0 -128
- package/esm2022/date-picker/lib/datepicker.module.mjs +0 -44
- package/esm2022/decorators/lib/clear-button.component.mjs +0 -58
- package/esm2022/decorators/lib/close-button.component.mjs +0 -43
- package/esm2022/decorators/lib/generic-content.component.mjs +0 -17
- package/esm2022/decorators/lib/icon.component.mjs +0 -26
- package/esm2022/popover/lib/dropdown-component.class.mjs +0 -73
- package/esm2022/time-box/acorex-components-time-box.mjs +0 -5
- package/esm2022/time-box/index.mjs +0 -3
- package/esm2022/time-box/lib/time-box.component.mjs +0 -294
- package/esm2022/time-box/lib/time-box.module.mjs +0 -32
- package/esm2022/uploader/lib/uploader.component.mjs +0 -99
- package/fesm2022/acorex-components-color-picker.mjs +0 -178
- package/fesm2022/acorex-components-color-picker.mjs.map +0 -1
- package/fesm2022/acorex-components-date-picker.mjs +0 -173
- package/fesm2022/acorex-components-date-picker.mjs.map +0 -1
- package/fesm2022/acorex-components-time-box.mjs +0 -329
- package/fesm2022/acorex-components-time-box.mjs.map +0 -1
- package/popover/lib/dropdown-component.class.d.ts +0 -17
- package/time-box/README.md +0 -3
- package/time-box/index.d.ts +0 -2
- package/time-box/lib/time-box.component.d.ts +0 -50
- package/time-box/lib/time-box.module.d.ts +0 -11
- package/uploader/lib/uploader.component.d.ts +0 -28
- /package/common/lib/{classes/data.class.d.ts → types/range.d.ts} +0 -0
- /package/decorators/lib/{clear-button.component.d.ts → components/clear-button.component.d.ts} +0 -0
- /package/decorators/lib/{close-button.component.d.ts → components/close-button.component.d.ts} +0 -0
- /package/decorators/lib/{generic-content.component.d.ts → components/generic-content.component.d.ts} +0 -0
- /package/decorators/lib/{icon.component.d.ts → components/icon.component.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../libs/components/mixin/src/lib/base-components.class.ts","../../../../libs/components/mixin/src/lib/base-menu-mixin.class.ts","../../../../libs/components/mixin/src/lib/button-mixin.class.ts","../../../../libs/components/mixin/src/lib/clickable-mixin.class.ts","../../../../libs/components/mixin/src/lib/color-look-mixing.class.ts","../../../../libs/components/mixin/src/lib/datalist-component.class.ts","../../../../libs/components/mixin/src/lib/datalist.class.ts","../../../../libs/components/mixin/src/lib/dropdown-mixin.class.ts","../../../../libs/components/mixin/src/lib/interactive-mixin.class.ts","../../../../libs/components/mixin/src/lib/selection-component.class.ts","../../../../libs/components/mixin/src/lib/sizable-mixin.class.ts","../../../../libs/components/mixin/src/lib/textbox-mixin.class.ts","../../../../libs/components/mixin/src/lib/value-mixin.class.ts","../../../../libs/components/mixin/src/lib/mixin.class.ts","../../../../libs/components/mixin/src/lib/page-component.class.ts","../../../../libs/components/mixin/src/acorex-components-mixin.ts"],"sourcesContent":["import { ChangeDetectorRef, EventEmitter, Inject, Injectable, ElementRef } from '@angular/core';\nimport { Constructor } from './constratctor';\n\n/**\n * A token that specifies the size of component.\n */\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\nexport type AXComponentOptionChanging = { name: string; value?: any };\nexport type AXComponentOptionChanged = {\n name: string;\n newValue?: any;\n oldValue?: any;\n};\nexport type AXComponentSetOption = {\n name: string;\n value?: any;\n afterCallback?: (oldValue?: any, newValue?: any) => void;\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\n};\n\n@Injectable()\nexport class AXBaseComponent {\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\n\n /**\n * A token that specifies the layout direction of component.\n */\n //rtl: boolean;\n\n #rtl: boolean;\n\n get rtl(): boolean {\n if (this.#rtl) return this.#rtl;\n else\n return (\n this._getHostElement()?.classList?.contains('ax-rtl') ||\n window.getComputedStyle(this._getHostElement(), null)?.getPropertyValue('direction') ===\n 'rtl'\n );\n }\n\n set rtl(value: boolean) {\n this.#rtl = value;\n }\n\n #elementRef: ElementRef;\n _cdr: ChangeDetectorRef;\n\n _isInited: boolean;\n _isRendered: boolean;\n\n /**\n * @ignore\n */\n constructor(@Inject(Array) ...args: any[]) {\n this.#elementRef = args[0];\n this._cdr = args[1];\n }\n\n ngOnInit() {\n this._isInited = true;\n this._onInternalInit();\n }\n\n ngAfterViewInit() {\n this._isRendered = true;\n this._onInternalViewInit();\n }\n\n ngOnDestroy() {\n this._onInternalDestroy();\n }\n\n //TODO: check why every time called _getHostElement function\n _getHostElement<T = HTMLElement>(): T {\n //TODO: check elementRef retrun 0\n return this.#elementRef?.nativeElement as T;\n }\n\n _getInnerElement<T = HTMLElement>(): T {\n return this._getHostElement().firstElementChild as unknown as T;\n }\n\n _onInternalInit() {\n //TODO: check Cannot set properties of undefined (setting '__axContext__')\n\n if (this._getHostElement()) {\n (this._getHostElement() as any).__axContext__ = this;\n }\n this._applyRtl();\n this.onInit();\n }\n\n _onInternalViewInit() {\n this.onViewInit();\n }\n\n _onInternalDestroy() {\n this.onDestroy();\n }\n\n onInit() {}\n\n onViewInit() {}\n\n onDestroy() {}\n\n _applyRtl() {\n if (this.rtl) {\n this._getHostElement().classList.add('ax-rtl');\n }\n }\n\n _onOptionChanging(option: AXComponentOptionChanging) {\n return option?.value;\n }\n _onOptionChanged(option: AXComponentOptionChanged): void {}\n\n _setOption(option: AXComponentSetOption) {\n const oldValue = this[option.name];\n const newValue = this._onOptionChanging({\n name: option.name,\n value: option.value,\n });\n //TODO : check real changes\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this._onOptionChanged({ name: option.name, newValue, oldValue });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n if (emitter) emitter.emit(newValue);\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n}\n\nexport function _BaseComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n\nexport const BASE_INPUTS = ['rtl'];\nexport const BASE_OUTPUT = [];\n","import { AXItemClickEvent } from '@acorex/components/common';\nimport { EventEmitter } from '@angular/core';\nimport { unionBy } from 'lodash-es';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _BaseMenuComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n textField: string = 'text';\n\n valueField: string = 'id';\n\n #isLoading: boolean = false;\n\n #loadedItems: any = [];\n\n visibleField: string;\n\n disableField: string = 'disabled';\n\n hasChildField: string;\n\n iconField: string = 'icon';\n\n openMode: 'click' | 'hover' = 'click';\n\n displayMode: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\n\n dividerField: string = 'divider';\n\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\n AXItemClickEvent<any>\n >();\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n #items: any = [];\n get items(): any {\n return this.#items;\n }\n set items(v: any) {\n if (Array.isArray(v)) {\n this.#items = v;\n } else if (typeof v === 'function') {\n this.#items = v;\n } else {\n this.#items = [];\n }\n }\n\n get displayItems() {\n if (Array.isArray(this.items)) {\n return this.#items || [];\n } else if (typeof this.#items == 'function') {\n return this.#loadedItems || [];\n }\n return [];\n }\n\n get isLoading() {\n return this.#isLoading;\n }\n\n _formatData(v: any[]) {\n return unionBy(\n v.map((o, i) => {\n if (typeof o == 'object') return o;\n else {\n const no: any = {};\n no[this.valueField] = o;\n no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\n return no;\n }\n }),\n this.valueField\n );\n }\n\n _findNode(parentId: number, _children: any, source: any) {\n if (source.length > 0) {\n source.forEach((element) => {\n if (element[this.valueField] == parentId) {\n element.children = _children;\n } else {\n if (element?.children) this._findNode(parentId, _children, element.children);\n }\n });\n }\n }\n\n _fetchData(parentId?: number, searchText?: string) {\n return new Promise((resolve) => {\n if (this.#isLoading) {\n return;\n }\n if (this.#items) {\n this.#isLoading = true;\n this.#items({\n parentId: parentId,\n searchQuery: searchText,\n })\n .then((c) => {\n if (Array.isArray(c)) {\n if (parentId) {\n resolve(this._findNode(parentId, c, this.displayItems));\n } else {\n resolve((this.#loadedItems = c));\n }\n }\n this._cdr.markForCheck();\n })\n .finally(() => {\n this.#isLoading = false;\n });\n }\n });\n }\n\n override _onInternalInit() {\n if (typeof this.#items == 'function') {\n this._fetchData();\n }\n super._onInternalInit();\n }\n\n _getItemDisplayTextTemplte(item) {\n if (item)\n return Array.isArray(this.textField)\n ? this.textField.map((c) => item[c]).join(',')\n : item[this.textField];\n else return 'Loading...';\n }\n\n public refresh() {\n this._fetchData();\n }\n };\n}\n\nexport const BASEMENU_INPUTS = [\n 'textField',\n 'valueField',\n 'items',\n 'parentId',\n 'iconField',\n 'tooltip',\n 'opened',\n 'active',\n 'visibleField',\n 'disableField',\n 'hasChildField',\n 'openMode',\n 'displayMode',\n 'dividerField',\n];\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\n","import { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this._setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable!;\n }\n set toggleable(value: boolean) {\n this._setOption({\n name: 'toggleable',\n value,\n });\n }\n\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected!;\n }\n set selected(value: boolean) {\n this._setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get _classes() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this['disabled'],\n 'ax-state-selected': this.selected,\n };\n cssClasses[\n `ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`\n ] = true;\n return cssClasses;\n }\n };\n}\n\nexport const BUTTON_INPUTS = ['text', 'toggleable', 'selected'];\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\n","import { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXClickEvent } from \"@acorex/components/common\";\n\n\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\n return class extends Base {\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n _emitOnClickEvent(e: MouseEvent): void {\n this.onClick.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n}\n\n","import { AXStyleColorType, AXStyleLookType } from '@acorex/components/common';\nimport { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n _color: AXStyleColorType = 'default';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this._setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n _look?: AXStyleLookType = 'default';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look!;\n }\n set look(value: AXStyleLookType) {\n this._setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n };\n}\n\nexport const COLOR_LOOK_INPUTS = ['color', 'look'];\nexport const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];\n","import { unionBy, flatMapDeep } from 'lodash-es';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\n\nexport function _DatalistComponenetMixin<\n TBase extends Constructor<AXBaseComponent>\n>(Base: TBase) {\n return class extends Base {\n valueField: string = 'id';\n textField: string = 'text';\n childrenField: string;\n pageSize: number = 10;\n\n #currentPage: number = 0;\n #isLoading: boolean = false;\n #loadedItems: any[] = [];\n #flatItems: any[] = [];\n #totalItems: number = 0;\n\n #isLazy: boolean = false;\n\n get totalCount(): number {\n return this.#totalItems;\n }\n\n get isLazy(): boolean {\n return this.#isLazy;\n }\n\n get loadedCount(): number {\n return this.#loadedItems?.length || 0;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n #items: AXDataListItems = [];\n get items(): AXDataListItems {\n return this.#items;\n }\n set items(v: AXDataListItems) {\n if (Array.isArray(v)) {\n this.#items = this._formatData(v);\n this._onDataLoaded();\n this.#generateFlatItems();\n } else if (typeof v === 'function') {\n this.#isLazy = true;\n this.#items = v;\n } else {\n this.#items = [];\n this._onDataLoaded();\n this.#generateFlatItems();\n }\n }\n\n get displayItems(): any[] {\n if (Array.isArray(this.items)) {\n return (this.#items || []) as any[];\n } else if (typeof this.#items == 'function') {\n return this.#loadedItems || [];\n }\n return [];\n }\n\n get flatItems(): any[] {\n return this.#flatItems || [];\n }\n\n get isLoading(): boolean {\n return this.#isLoading;\n }\n\n _formatData(v: any[]) {\n return unionBy(\n v.map((o, i) => {\n if (typeof o == 'object') return o;\n else {\n const no: any = {};\n no[this.valueField] = o;\n no[\n Array.isArray(this.textField) ? this.textField[0] : this.textField\n ] = o;\n return no;\n }\n }),\n this.valueField\n );\n // return v.map((o, i) => {\n // if (typeof o == 'object')\n // return o\n // else {\n // const no: any = {};\n // no[this.valueField] = o;\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\n // return no;\n // }\n // });\n }\n\n _fetchData(opts?: { searchQuery?: string }) {\n const skip = this.#currentPage * this.pageSize, take = this.pageSize;\n if (\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\n this.#isLoading ||\n !this.#isLazy ||\n skip > this.totalCount\n ) {\n return;\n }\n if (this.#items) {\n this.#isLoading = true;\n const fetchFn = this.#items as AXDataListFetchDataCallback;\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\n .then((c) => {\n if (Array.isArray(c)) {\n this.#loadedItems = this._formatData(c);\n this.#totalItems = c.length;\n } else {\n this.#totalItems = c.total || c.items?.length || 0;\n this.#loadedItems = [\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\n ];\n this.#currentPage++;\n }\n this._cdr.markForCheck();\n })\n .finally(() => {\n this.#isLoading = false;\n this._onDataLoaded();\n this.#generateFlatItems();\n });\n }\n }\n\n _onDataLoaded() { }\n\n #generateFlatItems(): void {\n const flattenFn = (item) => {\n return [item, flatMapDeep(item.children, flattenFn)];\n };\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\n }\n\n _getItemDisplayTextTemplte(item) {\n if (item)\n return Array.isArray(this.textField)\n ? this.textField.map((c) => item[c]).join(',')\n : item[this.textField];\n else return 'Loading...';\n }\n\n _trackByFunction(item) {\n if (!item) return null;\n return item[this.valueField];\n }\n\n refresh() {\n this.empty();\n this._fetchData();\n }\n\n empty() {\n this.#isLoading = false;\n this.#currentPage = 0;\n if (this.#loadedItems) {\n this.#loadedItems.length = 0;\n }\n }\n };\n}\n\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\nexport const DATALIST_OUTPUT = [];\n","\nexport interface AXDataListQuery {\n take?: number;\n skip?: number;\n searchQuery?: string;\n}\nexport interface AXDataListFetchCallbackResult {\n items: any[];\n total: number;\n};\n\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\n\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXEvent, AXConnectedPosition } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\n\nexport interface DropdownComponentInterface {\n open(): void;\n close(): void;\n toggle(): void;\n isOpen: boolean;\n}\n\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n abstract class Mixin extends Base {\n readonly: boolean = false;\n\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n //TODO: Circular dependency on AXPopverComponent\n abstract popover: any;\n\n position: AXConnectedPosition[] = [];\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this._getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this._getHostElement(),\n });\n }\n\n override onInit(): void {\n super.onInit();\n this.popover.onOpened.subscribe(this.onOpened);\n this.popover.onClosed.subscribe(this.onClosed);\n }\n\n override onViewInit() {\n // wait for documentElement\n setTimeout(() => {\n if (this.position.length == 0) {\n const a = 0;\n const offset = Number(\n getComputedStyle(document.documentElement)\n .getPropertyValue('--ax-base-size')\n .replace('px', '')\n );\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.position.push(...list);\n }\n }, 500);\n }\n\n toggle() {\n if (this['disabled'] !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this['disabled']) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this['disabled']) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return Mixin;\n}\n\nexport const DROPDOWN_INPUTS = ['isOpen', 'fitParent', 'dropdownWidth', 'position'];\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];\n","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXFocusEvent } from \"@acorex/components/common\";\n\n\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n abstract class Mixin extends Base {\n\n #disabled: boolean = false;\n /**\n * If set to true, it disables the component.\n */\n get disabled(): boolean { return this.#disabled; }\n set disabled(value: boolean) {\n value = this._onOptionChanging({ name: 'disabled', value: value });\n if (value != this.disabled) {\n const oldValue = this.disabled;\n this.#disabled = coerceBooleanProperty(value);\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\n this._cdr.markForCheck();\n }\n }\n\n\n\n #tabIndex: number = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\n set tabIndex(value: number) {\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnBlurEvent(e: FocusEvent): void {\n this.onBlur.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Focuses the component.\n */\n focus(): void {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n }\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n return Mixin;\n}\n\nexport const INTERACTIVE_INPUTS = [\n 'disabled',\n 'tabIndex',\n];\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { AXObjectUtil } from '@acorex/core/utils';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n valueField: string = 'id';\n textField: string = 'text';\n disabledField: string = 'disabled';\n disabledCallback: (e: { item: any; index: number }) => boolean;\n multiple: boolean = false;\n selectionMode: 'value' | 'item' = 'value';\n\n /**\n * Defines the primary text to show inside the button.\n */\n get items(): any[] {\n return [];\n }\n\n get displayItems(): any[] {\n return [];\n }\n\n get flatItems(): any[] {\n return [];\n }\n\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> =\n new EventEmitter<AXSelectionValueChangedEvent>();\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n override _onInternalInit() {\n super._onInternalInit();\n }\n\n _value: any | any[];\n get value(): any | any[] {\n return this._value;\n }\n set value(v: any | any[]) {\n v = (this as any)._internalSetValue(v);\n if (v !== this._value) {\n const oldValue = AXObjectUtil.deepJSONClone(this._value);\n if (this.multiple) {\n this._value = Array.isArray(v) ? v : v ? [v] : [];\n } else {\n this._value = Array.isArray(v) ? v[0] : v;\n }\n this._renderSelection();\n this.valueChange.emit(this._value);\n this.onValueChanged.emit({\n component: this,\n htmlElement: this._getHostElement(),\n isUserInteraction: false,\n oldValue,\n value: this._value,\n selectedKeys: this.selectedItems.map((c) => c[this.valueField]),\n selectedItems: this.selectedItems.slice(),\n });\n if (v == null || v == undefined || v == '') {\n (this as any)._setState('clear');\n } else {\n if (this._isInited) {\n (this as any).validate();\n }\n }\n }\n }\n\n _selectedItems: any[];\n get selectedItems(): any[] {\n return this._selectedItems || [];\n }\n\n _renderSelection() {\n const func = () => {\n if (this.value == null || this.value == undefined) {\n return [];\n }\n const items = this.flatItems;\n if (items.length > 0) {\n return items.filter((i) => {\n if (Array.isArray(this.value)) {\n return this.value.some((ii) => {\n if (typeof ii === 'object') {\n return i[this.valueField] === ii[this.valueField];\n } else {\n return i[this.valueField] === ii;\n }\n });\n } else {\n if (typeof this.value === 'object') {\n return i[this.valueField] === this.value[this.valueField];\n } else {\n return i[this.valueField] === this.value;\n }\n }\n });\n }\n if (Array.isArray(this.value)) {\n return this.value.map((ii) => {\n if (typeof ii === 'object') {\n return ii;\n } else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n fake[this.textField] = this.value;\n return fake;\n }\n });\n } else {\n if (typeof this.value === 'object') {\n return [this.value];\n } else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n fake[this.textField] = this.value;\n return [fake];\n }\n }\n };\n this._selectedItems = func();\n }\n\n _getItemByDataMode(item: any) {\n return this.selectionMode === 'item' ? item : item[this.valueField];\n }\n\n _getItemValue(item: any) {\n return typeof item === 'object' ? item[this.valueField] : item;\n }\n\n unselectItems(...items: any[]) {\n if (!items || items.length === 0) {\n this.value = null;\n } else if (Array.isArray(this.value)) {\n this.value = this.value.filter(\n (c) => !items.some((d) => this._getItemValue(c) === this._getItemValue(d))\n );\n } else {\n this.value = null;\n }\n }\n\n selectItems(...items: any[]) {\n if (items && items.length) {\n if (this.multiple) {\n this.value = (this.value || []).concat(items.map((c) => this._getItemByDataMode(c)));\n } else {\n this.value = this._getItemByDataMode(items[0]);\n }\n }\n }\n\n toggleSelect(...items: any[]) {\n if (items && items.length) {\n items.forEach((item) => {\n if (this.multiple) {\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\n } else {\n this.selectItems(item);\n }\n });\n }\n }\n\n isItemSelected(item: any): boolean {\n return this.selectedItems.some((c) => c[this.valueField] === item[this.valueField]);\n }\n\n isItemDisabled(item: any): boolean {\n return (\n coerceBooleanProperty(item[this.disabledField]) === true ||\n (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false)\n );\n }\n };\n}\n\nexport const SELECTION_INPUTS = [\n 'valueField',\n 'textField',\n 'disabledField',\n 'disabledCallback',\n 'multiple',\n 'selectionMode',\n];\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];\n","import { AXBaseComponent, AXElementSize } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n /**\n * A token that specifies the size of component.\n */\n size: AXElementSize;\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2));\n }\n\n override _onInternalInit() {\n super._onInternalInit();\n }\n };\n}\n\nexport const SIZABLE_INPUTS = ['size'];\nexport const SIZABLE_OUTPUT = [];\n","import { EventEmitter } from '@angular/core';\nimport { AXHtmlEvent } from '@acorex/components/common';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n /**\n * A string value that specifies the type of text box.\n */\n type = 'text'\n\n /**\n * A string value that specifies the placeholder of text box.\n */\n placeholder: string = '';\n\n /**\n * A number value that specifies the maximum characters of text box.\n */\n maxLength: number;\n\n /**\n * Specifies that autocomplete is on or off.\n */\n autoComplete: string;\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n\n _emitOnKeydownEvent(e: KeyboardEvent) {\n this.onKeyDown.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n\n _emitOnKeyupEvent(e: KeyboardEvent) {\n this.onKeyUp.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n \n _emitOnKeypressEvent(e: KeyboardEvent) {\n this.onKeyPress.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n }\n}\n\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { AXBaseComponent, AXComponentState } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { AXObjectUtil } from '@acorex/core/utils';\n\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<\n AXValueChangedEvent<any>\n >();\n\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n #readonly: boolean = false;\n\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this.#readonly;\n }\n set readonly(value: boolean) {\n this.#readonly = coerceBooleanProperty(value);\n }\n\n #allowNull: boolean = true;\n get allowNull() {\n return this.#allowNull;\n }\n set allowNull(value: boolean) {\n this.#allowNull = coerceBooleanProperty(value);\n }\n\n #name: string;\n get name() {\n return this.#name;\n }\n set name(value: string) {\n this.#name = value;\n }\n\n #isUserInteraction: boolean = false;\n\n get isUserInteraction(): boolean {\n return this.#isUserInteraction;\n }\n\n #value: any;\n get value(): any {\n return this._internalGetValue();\n }\n set value(v: any) {\n v = this._internalSetValue(v);\n //if (!this._isInited ) {\n const old = AXObjectUtil.deepJSONClone(this.value);\n // TODO: check real equality\n if (v != old) {\n this.#value = v;\n this._emitOnValueChangedEvent(old, this.value);\n this._cdr.markForCheck();\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\n this._setState('clear');\n }\n // else {\n // if (this._isInited) {\n // this.validate();\n // }\n // }\n }\n this.#isUserInteraction = false;\n //}\n }\n\n #state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this.#state;\n }\n\n set state(value: AXComponentState) {\n this._setState(value);\n this.stateChange.emit(value);\n }\n\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this.isUserInteraction,\n });\n this._onValueChanged(oldValue, this.#value);\n this.#isUserInteraction = false;\n }\n\n _internalSetValue(value: any) {\n return this._setValue(value);\n }\n\n _internalGetValue() {\n return this._getValue(this.#value);\n }\n\n _setValue(value: any) {\n return value;\n }\n\n _getValue(value: any) {\n return value;\n }\n\n _setUserInteraction() {\n this.#isUserInteraction = true;\n }\n\n setUserInteraction() {\n this.#isUserInteraction = true;\n }\n\n _onValueChanged(oldValue: any, newValue: any): void {}\n\n override _onInternalInit() {\n this._getHostElement().setAttribute('ax-form-input', 'true');\n super._onInternalInit();\n }\n\n override _onInternalViewInit(): void {\n this._checkRequired();\n super._onInternalViewInit();\n }\n\n override _onInternalDestroy() {\n super.onDestroy();\n }\n\n clear() {\n this.value = null;\n }\n\n _checkRequired() {\n const isRequired = Array.from(\n this._getHostElement().querySelectorAll('ax-validation-rule')\n ).some(\n (c) => (c as any).__axContext__.enabled && (c as any).__axContext__.rule == 'required'\n );\n //\n if (isRequired) {\n const container = this._getHostElement().classList.contains('ax-editor-container')\n ? this._getHostElement()\n : this._getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = (formField?.querySelector('ax-label') as any)?.__axContext__;\n if (label) label.required = true;\n }\n }\n\n validate(): Promise<any> {\n const rules = Array.from(\n this._getHostElement().querySelectorAll('ax-validation-rule')\n ).filter((c) => (c as any).__axContext__.enabled);\n //\n if (!rules || rules.length === 0) {\n this._setState('clear');\n return Promise.resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n\n return new Promise<any>((resolve) => {\n Promise.all(\n rules\n .filter((c) => typeof (c as any)?.validate === 'function')\n .map((c) => {\n return (c as any).validate(this.value);\n })\n ).then((d) => {\n const error = d.find((c) => c.result === false);\n if (error) {\n this._setState('error', error.message);\n resolve({\n result: false,\n value: this.value,\n message: error.message,\n name: this.name,\n id: this.id,\n });\n } else {\n this._setState('success');\n resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n\n _setState(state: AXComponentState, ...args) {\n const container = this._getHostElement().classList.contains('ax-editor-container')\n ? this._getHostElement()\n : this._getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this._getInnerElement();\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this.#state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this._setState('clear');\n target.classList.add('ax-state-success');\n this.#state = 'success';\n break;\n case 'error':\n this._setState('clear');\n if (args[0]) {\n const span = document.createElement('span');\n span.innerText = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this.#state = 'error';\n break;\n }\n this._cdr.markForCheck();\n }\n };\n}\n","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\n\n\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\n\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\n _BaseComponenetMixin(AXBaseComponent)\n);\n\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(AXBaseComponent)\n);\n\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\n _ClickableComponenetMixin(AXBaseComponent)\n);\n\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ClickableComponenetMixin(\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n\n\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\n )\n);\n\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _DatalistComponenetMixin(\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\n _DropdownComponenetMixin(\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n);\n\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\n AXBaseSelectionValueMixin\n);\n\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\n);\n\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\n","import { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\n\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAwBa,eAAe,CAAA;AAG1B;;AAEG;;AAGH,IAAA,IAAI,CAAU;AAEd,IAAA,IAAI,GAAG,GAAA;QACL,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;;YAE9B,QACE,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACrD,gBAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC;AAClF,oBAAA,KAAK,EACP;KACL;IAED,IAAI,GAAG,CAAC,KAAc,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AAED,IAAA,WAAW,CAAa;AAMxB;;AAEG;AACH,IAAA,WAAA,CAA2B,GAAG,IAAW,EAAA;QAhCzC,IAAE,CAAA,EAAA,GAAW,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;AAiC/D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;KACrB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAED,WAAW,GAAA;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;IAGD,eAAe,GAAA;;AAEb,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,aAAkB,CAAC;KAC7C;IAED,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,iBAAiC,CAAC;KACjE;IAED,eAAe,GAAA;;AAGb,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,EAAU,CAAC,aAAa,GAAG,IAAI,CAAC;AACtD,SAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,mBAAmB,GAAA;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,MAAM,MAAK;AAEX,IAAA,UAAU,MAAK;AAEf,IAAA,SAAS,MAAK;IAEd,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChD,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,MAAiC,EAAA;QACjD,OAAO,MAAM,EAAE,KAAK,CAAC;KACtB;IACD,gBAAgB,CAAC,MAAgC,EAAA,GAAU;AAE3D,IAAA,UAAU,CAAC,MAA4B,EAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;AACpB,SAAA,CAAC,CAAC;;QAEH,IAAI,MAAM,CAAC,cAAc;AAAE,YAAA,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,IAAI,CAAC,CAAI,CAAA,EAAA,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAA,EAAG,MAAM,CAAC,IAAI,CAAQ,MAAA,CAAA,CAAsB,CAAC;AAClE,YAAA,IAAI,OAAO;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,SAAA;QACD,IAAI,MAAM,CAAC,aAAa;AAAE,YAAA,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACpE;AAhHU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAiCN,KAAK,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAjCd,eAAe,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;0BAkCI,MAAM;2BAAC,KAAK,CAAA;;AAkFrB,SAAU,oBAAoB,CAA6C,IAAW,EAAA;IAC1F,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;KACF,CAAC;AACJ,CAAC;AAEY,MAAA,WAAW,GAAG,CAAC,KAAK,EAAE;AAC5B,MAAM,WAAW,GAAG;;AC9IrB,SAAU,uBAAuB,CAA6C,IAAW,EAAA;IAC7F,OAAO,cAAc,IAAI,CAAA;AAKvB,QAAA,UAAU,CAAkB;AAE5B,QAAA,YAAY,CAAW;AAoBvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YA3BjB,IAAS,CAAA,SAAA,GAAW,MAAM,CAAC;YAE3B,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;YAE1B,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;YAE5B,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;YAIvB,IAAY,CAAA,YAAA,GAAW,UAAU,CAAC;YAIlC,IAAS,CAAA,SAAA,GAAW,MAAM,CAAC;YAE3B,IAAQ,CAAA,QAAA,GAAsB,OAAO,CAAC;YAEtC,IAAW,CAAA,WAAA,GAA2C,UAAU,CAAC;YAEjE,IAAY,CAAA,YAAA,GAAW,SAAS,CAAC;AAEjC,YAAA,IAAA,CAAA,eAAe,GAAwC,IAAI,YAAY,EAEpE,CAAC;YAMJ,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;SAFhB;AAED,QAAA,MAAM,CAAW;AACjB,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACjB,aAAA;AAAM,iBAAA,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;AAClC,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACjB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AAClB,aAAA;SACF;AAED,QAAA,IAAI,YAAY,GAAA;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,gBAAA,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1B,aAAA;AAAM,iBAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;AAChC,aAAA;AACD,YAAA,OAAO,EAAE,CAAC;SACX;AAED,QAAA,IAAI,SAAS,GAAA;YACX,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;AAED,QAAA,WAAW,CAAC,CAAQ,EAAA;YAClB,OAAO,OAAO,CACZ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBACb,IAAI,OAAO,CAAC,IAAI,QAAQ;AAAE,oBAAA,OAAO,CAAC,CAAC;AAC9B,qBAAA;oBACH,MAAM,EAAE,GAAQ,EAAE,CAAC;AACnB,oBAAA,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACxB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3E,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA;AACH,aAAC,CAAC,EACF,IAAI,CAAC,UAAU,CAChB,CAAC;SACH;AAED,QAAA,SAAS,CAAC,QAAgB,EAAE,SAAc,EAAE,MAAW,EAAA;AACrD,YAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;oBACzB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE;AACxC,wBAAA,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC9B,qBAAA;AAAM,yBAAA;wBACL,IAAI,OAAO,EAAE,QAAQ;4BAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9E,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;SACF;QAED,UAAU,CAAC,QAAiB,EAAE,UAAmB,EAAA;AAC/C,YAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC7B,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,OAAO;AACR,iBAAA;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC;AACV,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,WAAW,EAAE,UAAU;qBACxB,CAAC;AACC,yBAAA,IAAI,CAAC,CAAC,CAAC,KAAI;AACV,wBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACpB,4BAAA,IAAI,QAAQ,EAAE;AACZ,gCAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACzD,6BAAA;AAAM,iCAAA;gCACL,OAAO,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;AAClC,6BAAA;AACF,yBAAA;AACD,wBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC3B,qBAAC,CAAC;yBACD,OAAO,CAAC,MAAK;AACZ,wBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC1B,qBAAC,CAAC,CAAC;AACN,iBAAA;AACH,aAAC,CAAC,CAAC;SACJ;QAEQ,eAAe,GAAA;AACtB,YAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE;gBACpC,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,aAAA;YACD,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;AAED,QAAA,0BAA0B,CAAC,IAAI,EAAA;AAC7B,YAAA,IAAI,IAAI;AACN,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;sBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,sBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AACtB,gBAAA,OAAO,YAAY,CAAC;SAC1B;QAEM,OAAO,GAAA;YACZ,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF,CAAC;AACJ,CAAC;AAEY,MAAA,eAAe,GAAG;IAC7B,WAAW;IACX,YAAY;IACZ,OAAO;IACP,UAAU;IACV,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,UAAU;IACV,aAAa;IACb,cAAc;EACd;AACW,MAAA,eAAe,GAAG,CAAC,iBAAiB;;ACzJ3C,SAAU,qBAAqB,CAA6C,IAAW,EAAA;IAC3F,OAAO,cAAc,IAAI,CAAA;AAEvB;;AAEG;AACH,QAAA,IAAI,IAAI,GAAA;YACN,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,CAAS,EAAA;YAChB,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,MAAK;AAClB,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC1B;AACF,aAAA,CAAC,CAAC;SACJ;AAID;;AAEG;AACH,QAAA,IAAI,UAAU,GAAA;YACZ,OAAO,IAAI,CAAC,WAAY,CAAC;SAC1B;QACD,IAAI,UAAU,CAAC,KAAc,EAAA;YAC3B,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,IAAI,EAAE,YAAY;gBAClB,KAAK;AACN,aAAA,CAAC,CAAC;SACJ;AAID;;AAEG;AACH,QAAA,IAAI,QAAQ,GAAA;YACV,OAAO,IAAI,CAAC,SAAU,CAAC;SACxB;QACD,IAAI,QAAQ,CAAC,KAAc,EAAA;YACzB,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,aAAa,EAAE,MAAK;AAClB,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC1B;AACF,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAlCjB,YAAA,IAAA,CAAA,gBAAgB,GAA0B,IAAI,YAAY,EAAE,CAAC;YAC7D,IAAW,CAAA,WAAA,GAAa,KAAK,CAAC;AAc9B,YAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAE,CAAC;YAC3D,IAAS,CAAA,SAAA,GAAa,KAAK,CAAC;SAmB3B;AAED,QAAA,IAAI,QAAQ,GAAA;AACV,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI;AAC5B,gBAAA,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC;gBACrC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;aACnC,CAAC;AACF,YAAA,UAAU,CACR,CAAA,GAAA,EAAM,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,CAAA,CAAE,CACpF,GAAG,IAAI,CAAC;AACT,YAAA,OAAO,UAAU,CAAC;SACnB;KACF,CAAC;AACJ,CAAC;AAEY,MAAA,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE;AACzD,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB;;ACrE5F,SAAU,yBAAyB,CAA6C,IAAW,EAAA;IAC7F,OAAO,cAAc,IAAI,CAAA;AAQrB,QAAA,iBAAiB,CAAC,CAAa,EAAA;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACd,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACnC,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;SACN;AAED;;AAEE;AACF,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACtB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAlBnB;;;AAGE;AACF,YAAA,IAAA,CAAA,OAAO,GAA+B,IAAI,YAAY,EAAgB,CAAC;SAetE;KACJ,CAAA;AACL;;ACzBM,SAAU,wBAAwB,CAA6C,IAAW,EAAA;IAC9F,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAGjB,YAAA,IAAA,CAAA,WAAW,GAAmC,IAAI,YAAY,EAAE,CAAC;YACjE,IAAM,CAAA,MAAA,GAAqB,SAAS,CAAC;AAiBrC,YAAA,IAAA,CAAA,UAAU,GAAkC,IAAI,YAAY,EAAE,CAAC;YAC/D,IAAK,CAAA,KAAA,GAAqB,SAAS,CAAC;SArBnC;AAID;;AAEG;AACH,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,KAAuB,EAAA;YAC/B,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,aAAa,EAAE,MAAK;AAClB,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC1B;AACF,aAAA,CAAC,CAAC;SACJ;AAID;;AAEG;AACH,QAAA,IAAI,IAAI,GAAA;YACN,OAAO,IAAI,CAAC,KAAM,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,KAAsB,EAAA;YAC7B,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,aAAa,EAAE,MAAK;AAClB,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;iBAC1B;AACF,aAAA,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;MAEY,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE;MACtC,iBAAiB,GAAG,CAAC,YAAY,EAAE,aAAa;;AC7CvD,SAAU,wBAAwB,CAEtC,IAAW,EAAA;IACX,OAAO,cAAc,IAAI,CAAA;AAMvB,QAAA,YAAY,CAAa;AACzB,QAAA,UAAU,CAAkB;AAC5B,QAAA,YAAY,CAAa;AACzB,QAAA,UAAU,CAAa;AACvB,QAAA,WAAW,CAAa;AAExB,QAAA,OAAO,CAAkB;AAEzB,QAAA,IAAI,UAAU,GAAA;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;AAED,QAAA,IAAI,MAAM,GAAA;YACR,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;AAED,QAAA,IAAI,WAAW,GAAA;AACb,YAAA,OAAO,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;SACvC;AAED,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YA1BjB,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;YAC1B,IAAS,CAAA,SAAA,GAAW,MAAM,CAAC;YAE3B,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;YAEtB,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;YACzB,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;YAC5B,IAAY,CAAA,YAAA,GAAU,EAAE,CAAC;YACzB,IAAU,CAAA,UAAA,GAAU,EAAE,CAAC;YACvB,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;YAExB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;YAkBzB,IAAM,CAAA,MAAA,GAAoB,EAAE,CAAC;SAF5B;AAED,QAAA,MAAM,CAAuB;AAC7B,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,CAAkB,EAAA;AAC1B,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,aAAA;AAAM,iBAAA,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE;AAClC,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACjB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,aAAA;SACF;AAED,QAAA,IAAI,YAAY,GAAA;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,gBAAA,QAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,EAAW;AACrC,aAAA;AAAM,iBAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;AAChC,aAAA;AACD,YAAA,OAAO,EAAE,CAAC;SACX;AAED,QAAA,IAAI,SAAS,GAAA;AACX,YAAA,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;SAC9B;AAED,QAAA,IAAI,SAAS,GAAA;YACX,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;AAED,QAAA,WAAW,CAAC,CAAQ,EAAA;YAClB,OAAO,OAAO,CACZ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBACb,IAAI,OAAO,CAAC,IAAI,QAAQ;AAAE,oBAAA,OAAO,CAAC,CAAC;AAC9B,qBAAA;oBACH,MAAM,EAAE,GAAQ,EAAE,CAAC;AACnB,oBAAA,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACxB,EAAE,CACA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CACnE,GAAG,CAAC,CAAC;AACN,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA;AACH,aAAC,CAAC,EACF,IAAI,CAAC,UAAU,CAChB,CAAC;;;;;;;;;;;SAWH;AAED,QAAA,UAAU,CAAC,IAA+B,EAAA;AACxC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;AACrE,YAAA,IACE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;AAC5D,gBAAA,IAAI,CAAC,UAAU;gBACf,CAAC,IAAI,CAAC,OAAO;AACb,gBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,EACtB;gBACA,OAAO;AACR,aAAA;YACD,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAqC,CAAC;AAC3D,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACpD,qBAAA,IAAI,CAAC,CAAC,CAAC,KAAI;AACV,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACxC,wBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;AAC7B,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;wBACnD,IAAI,CAAC,YAAY,GAAG;AAClB,4BAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;yBAChE,CAAC;wBACF,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,qBAAA;AACD,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC3B,iBAAC,CAAC;qBACD,OAAO,CAAC,MAAK;AACZ,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,iBAAC,CAAC,CAAC;AACN,aAAA;SACF;AAED,QAAA,aAAa,MAAM;QAEnB,kBAAkB,GAAA;AAChB,YAAA,MAAM,SAAS,GAAG,CAAC,IAAI,KAAI;AACzB,gBAAA,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,aAAC,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;SAC7D;AAED,QAAA,0BAA0B,CAAC,IAAI,EAAA;AAC7B,YAAA,IAAI,IAAI;AACN,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;sBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,sBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AACtB,gBAAA,OAAO,YAAY,CAAC;SAC1B;AAED,QAAA,gBAAgB,CAAC,IAAI,EAAA;AACnB,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,IAAI,CAAC;AACvB,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,OAAO,GAAA;YACL,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAED,KAAK,GAAA;AACH,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,aAAA;SACF;KACF,CAAC;AACJ,CAAC;AAEM,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE;AACzE,MAAM,eAAe,GAAG;;ACrK9B;;ACIK,SAAU,wBAAwB,CAA6C,IAAW,EAAA;IAC9F,MAAe,KAAM,SAAQ,IAAI,CAAA;QAW/B,kBAAkB,GAAA;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACpC,aAAA,CAAC,CAAC;SACJ;QAED,kBAAkB,GAAA;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACpC,aAAA,CAAC,CAAC;SACJ;QAEQ,MAAM,GAAA;YACb,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChD;QAEQ,UAAU,GAAA;;YAEjB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC7B,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,MAAM,MAAM,GAAG,MAAM,CACnB,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC;yBACvC,gBAAgB,CAAC,gBAAgB,CAAC;AAClC,yBAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,CAAC;AACF,oBAAA,MAAM,IAAI,GAA0B;AAClC,wBAAA;AACE,4BAAA,OAAO,EAAE,OAAO;AAChB,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,QAAQ,EAAE,OAAO;AACjB,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,OAAO,EAAE,MAAM;AAChB,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,OAAO;AAChB,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,QAAQ,EAAE,OAAO;AACjB,4BAAA,QAAQ,EAAE,QAAQ;4BAClB,OAAO,EAAE,CAAC,MAAM;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,OAAO,EAAE,MAAM;AAChB,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,QAAQ,EAAE,QAAQ;4BAClB,OAAO,EAAE,CAAC,MAAM;AACjB,yBAAA;qBACF,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC7B,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;SACT;QAED,MAAM,GAAA;AACJ,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AAC7B,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AACvB,aAAA;SACF;QAED,KAAK,GAAA;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;gBACpC,OAAO;AACR,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpB,IAAY,EAAE,KAAK,EAAE,CAAC;SACxB;QAED,IAAI,GAAA;YACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnC,OAAO;AACR,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;AAED,QAAA,IAAI,MAAM,GAAA;AACR,YAAA,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;SAC7B;AAED,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAtGjB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAE1B,YAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC9D,YAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;YAK9D,IAAQ,CAAA,QAAA,GAA0B,EAAE,CAAC;SA+FpC;AACF,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE;MACvE,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU;;ACtHhD,SAAU,2BAA2B,CAA6C,IAAW,EAAA;IAC/F,MAAe,KAAM,SAAQ,IAAI,CAAA;AAE7B,QAAA,SAAS,CAAkB;AAC3B;;AAEE;QACF,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;QAClD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,YAAA,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,YAAA,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACxB,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,gBAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,aAAA;SACJ;AAID,QAAA,SAAS,CAAa;AACtB;;AAEE;AACF,QAAA,IAAI,QAAQ,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;QACtE,IAAI,QAAQ,CAAC,KAAa,EAAA;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpE;AAQD,QAAA,iBAAiB,CAAC,CAAa,EAAA;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACd,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACnC,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;SACN;AAQD,QAAA,gBAAgB,CAAC,CAAa,EAAA;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACb,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACnC,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;SACN;AAED;;AAEE;QACF,KAAK,GAAA;YACD,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;AACrH,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAc,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,YAAA,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,KAAK,EAAE,CAAC;AACrB,aAAA;SACJ;AAED;;AAEE;QACF,QAAQ,GAAA;AACJ,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACtG;AAED;;AAEE;AACF,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACtB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YA5EnB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;YAiB3B,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AAStB;;;AAGE;AACF,YAAA,IAAA,CAAA,OAAO,GAA+B,IAAI,YAAY,EAAgB,CAAC;AAUvE;;;AAGE;AACF,YAAA,IAAA,CAAA,MAAM,GAA+B,IAAI,YAAY,EAAgB,CAAC;SAiCrE;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEY,MAAA,kBAAkB,GAAG;IAC9B,UAAU;IACV,UAAU;EACZ;MACW,kBAAkB,GAAG,CAAC,QAAQ,EAAE,SAAS;;ACzFhD,SAAU,yBAAyB,CAA6C,IAAW,EAAA;IAC/F,OAAO,cAAc,IAAI,CAAA;AAQvB;;AAEG;AACH,QAAA,IAAI,KAAK,GAAA;AACP,YAAA,OAAO,EAAE,CAAC;SACX;AAED,QAAA,IAAI,YAAY,GAAA;AACd,YAAA,OAAO,EAAE,CAAC;SACX;AAED,QAAA,IAAI,SAAS,GAAA;AACX,YAAA,OAAO,EAAE,CAAC;SACX;AAMD,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YA3BjB,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;YAC1B,IAAS,CAAA,SAAA,GAAW,MAAM,CAAC;YAC3B,IAAa,CAAA,aAAA,GAAW,UAAU,CAAC;YAEnC,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;YAC1B,IAAa,CAAA,aAAA,GAAqB,OAAO,CAAC;AAiBnC,YAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;AACzD,YAAA,IAAA,CAAA,cAAc,GACnB,IAAI,YAAY,EAAgC,CAAC;SAIlD;QAEQ,eAAe,GAAA;YACtB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;AAGD,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,CAAc,EAAA;AACtB,YAAA,CAAC,GAAI,IAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnD,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3C,iBAAA;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACvB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE;AACnC,oBAAA,iBAAiB,EAAE,KAAK;oBACxB,QAAQ;oBACR,KAAK,EAAE,IAAI,CAAC,MAAM;AAClB,oBAAA,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/D,oBAAA,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1C,iBAAA,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE;AACzC,oBAAA,IAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAClC,iBAAA;AAAM,qBAAA;oBACL,IAAI,IAAI,CAAC,SAAS,EAAE;wBACjB,IAAY,CAAC,QAAQ,EAAE,CAAC;AAC1B,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;AAGD,QAAA,IAAI,aAAa,GAAA;AACf,YAAA,OAAO,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;SAClC;QAED,gBAAgB,GAAA;YACd,MAAM,IAAI,GAAG,MAAK;gBAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;AACjD,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA;AACD,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;AAC7B,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,oBAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI;wBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;4BAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAI;AAC5B,gCAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAC1B,oCAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,iCAAA;AAAM,qCAAA;oCACL,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAClC,iCAAA;AACH,6BAAC,CAAC,CAAC;AACJ,yBAAA;AAAM,6BAAA;AACL,4BAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClC,gCAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,6BAAA;AAAM,iCAAA;gCACL,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;AAC1C,6BAAA;AACF,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI;AAC3B,wBAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAC1B,4BAAA,OAAO,EAAE,CAAC;AACX,yBAAA;AAAM,6BAAA;4BACL,MAAM,IAAI,GAAQ,EAAE,CAAC;4BACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;4BACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAClC,4BAAA,OAAO,IAAI,CAAC;AACb,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClC,wBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,qBAAA;AAAM,yBAAA;wBACL,MAAM,IAAI,GAAQ,EAAE,CAAC;wBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;SAC9B;AAED,QAAA,kBAAkB,CAAC,IAAS,EAAA;AAC1B,YAAA,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrE;AAED,QAAA,aAAa,CAAC,IAAS,EAAA;AACrB,YAAA,OAAO,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;SAChE;QAED,aAAa,CAAC,GAAG,KAAY,EAAA;YAC3B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,aAAA;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACpC,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,aAAA;SACF;QAED,WAAW,CAAC,GAAG,KAAY,EAAA;AACzB,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,iBAAA;AACF,aAAA;SACF;QAED,YAAY,CAAC,GAAG,KAAY,EAAA;AAC1B,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACzB,gBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;oBACrB,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/E,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxB,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;SACF;AAED,QAAA,cAAc,CAAC,IAAS,EAAA;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SACrF;AAED,QAAA,cAAc,CAAC,IAAS,EAAA;YACtB,QACE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI;iBACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAC5E;SACH;KACF,CAAC;AACJ,CAAC;AAEY,MAAA,gBAAgB,GAAG;IAC9B,YAAY;IACZ,WAAW;IACX,eAAe;IACf,kBAAkB;IAClB,UAAU;IACV,eAAe;EACf;MACW,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,cAAc;;AChM3D,SAAU,uBAAuB,CAA6C,IAAW,EAAA;IAC7F,OAAO,cAAc,IAAI,CAAA;AAMvB;;AAEG;AACH,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5B;QAEQ,eAAe,GAAA;YACtB,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;KACF,CAAC;AACJ,CAAC;AAEY,MAAA,cAAc,GAAG,CAAC,MAAM,EAAE;AAChC,MAAM,cAAc,GAAG;;ACnBxB,SAAU,uBAAuB,CAA6C,IAAW,EAAA;IAC3F,OAAO,cAAc,IAAI,CAAA;AAyCrB,QAAA,mBAAmB,CAAC,CAAgB,EAAA;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAChB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;YACF,IAAY,CAAC,mBAAmB,EAAE,CAAC;SACvC;AAED,QAAA,iBAAiB,CAAC,CAAgB,EAAA;AAC9B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACd,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;YACF,IAAY,CAAC,mBAAmB,EAAE,CAAC;SACvC;AAED,QAAA,oBAAoB,CAAC,CAAgB,EAAA;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACjB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,CAAC;AACjB,aAAA,CAAC,CAAC;YACF,IAAY,CAAC,mBAAmB,EAAE,CAAC;SACvC;AAED;;AAEE;AACF,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAnE9B;;AAEC;YACD,IAAI,CAAA,IAAA,GAAG,MAAM,CAAA;AAEb;;AAEE;YACF,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAYzB;;;AAGE;AACF,YAAA,IAAA,CAAA,SAAS,GAA6C,IAAI,YAAY,EAA8B,CAAC;AAErG;;;AAGA;AACA,YAAA,IAAA,CAAA,OAAO,GAA6C,IAAI,YAAY,EAA8B,CAAC;AAEnG;;;AAGE;AACF,YAAA,IAAA,CAAA,UAAU,GAA6C,IAAI,YAAY,EAA8B,CAAC;SAgCrG;KACJ,CAAA;AACL,CAAC;MAEY,cAAc,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAC,OAAO,EAAC,MAAM,EAAC;MAC7G,cAAc,GAAG,CAAC,aAAa,EAAE,gBAAgB;;AC1ExD,SAAU,qBAAqB,CAA6C,IAAW,EAAA;IAC3F,OAAO,cAAc,IAAI,CAAA;AAYvB,QAAA,SAAS,CAAkB;AAE3B;;AAEG;AACH,QAAA,IAAI,QAAQ,GAAA;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAC/C;AAED,QAAA,UAAU,CAAiB;AAC3B,QAAA,IAAI,SAAS,GAAA;YACX,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QACD,IAAI,SAAS,CAAC,KAAc,EAAA;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAChD;AAED,QAAA,KAAK,CAAS;AACd,QAAA,IAAI,IAAI,GAAA;YACN,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,KAAa,EAAA;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;AAED,QAAA,kBAAkB,CAAkB;AAEpC,QAAA,IAAI,iBAAiB,GAAA;YACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;AAED,QAAA,MAAM,CAAM;AACZ,QAAA,IAAI,KAAK,GAAA;AACP,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACjC;QACD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,YAAA,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;;YAE9B,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAEnD,IAAI,CAAC,IAAI,GAAG,EAAE;AACZ,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;AACjF,oBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACzB,iBAAA;;;;;;AAMF,aAAA;AACD,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;;SAEjC;AAED,QAAA,MAAM,CAA6B;AAEnC,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QAED,IAAI,KAAK,CAAC,KAAuB,EAAA;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,wBAAwB,CAAC,QAAc,EAAE,QAAc,EAAA;AACrD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACvB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC1C,aAAA,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;AAED,QAAA,iBAAiB,CAAC,KAAU,EAAA;AAC1B,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,iBAAiB,GAAA;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;AAED,QAAA,SAAS,CAAC,KAAU,EAAA;AAClB,YAAA,OAAO,KAAK,CAAC;SACd;AAED,QAAA,SAAS,CAAC,KAAU,EAAA;AAClB,YAAA,OAAO,KAAK,CAAC;SACd;QAED,mBAAmB,GAAA;AACjB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QAED,kBAAkB,GAAA;AAChB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;AAED,QAAA,eAAe,CAAC,QAAa,EAAE,QAAa,KAAU;QAE7C,eAAe,GAAA;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB;QAEQ,mBAAmB,GAAA;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,KAAK,CAAC,mBAAmB,EAAE,CAAC;SAC7B;QAEQ,kBAAkB,GAAA;YACzB,KAAK,CAAC,SAAS,EAAE,CAAC;SACnB;QAED,KAAK,GAAA;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;QAED,cAAc,GAAA;AACZ,YAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,KAAM,CAAS,CAAC,aAAa,CAAC,OAAO,IAAK,CAAS,CAAC,aAAa,CAAC,IAAI,IAAI,UAAU,CACvF,CAAC;;AAEF,YAAA,IAAI,UAAU,EAAE;AACd,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAChF,sBAAE,IAAI,CAAC,eAAe,EAAE;sBACtB,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAI,SAAS,EAAE,aAAa,CAAC,UAAU,CAAS,EAAE,aAAa,CAAC;AAC3E,gBAAA,IAAI,KAAK;AAAE,oBAAA,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AAClC,aAAA;SACF;QAED,QAAQ,GAAA;AACN,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,CAAC,eAAe,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAC9D,CAAC,MAAM,CAAC,CAAC,CAAC,KAAM,CAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;;YAElD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,gBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,OAAO,CAAC,OAAO,CAAC;AACrB,oBAAA,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,IAAI,CAAC,EAAE;AACZ,iBAAA,CAAC,CAAC;AACJ,aAAA;AAED,YAAA,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,KAAI;gBAClC,OAAO,CAAC,GAAG,CACT,KAAK;AACF,qBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,OAAQ,CAAS,EAAE,QAAQ,KAAK,UAAU,CAAC;AACzD,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAI;oBACT,OAAQ,CAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxC,CAAC,CACL,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI;AACX,oBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;AAChD,oBAAA,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACvC,wBAAA,OAAO,CAAC;AACN,4BAAA,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,EAAE,EAAE,IAAI,CAAC,EAAE;AACZ,yBAAA,CAAC,CAAC;AACJ,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC1B,wBAAA,OAAO,CAAC;AACN,4BAAA,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,EAAE,EAAE,IAAI,CAAC,EAAE;AACZ,yBAAA,CAAC,CAAC;AACJ,qBAAA;AACH,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;AAED;;AAEG;AACH,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AA9MjB;;;AAGG;AACH,YAAA,IAAA,CAAA,cAAc,GAA2C,IAAI,YAAY,EAEtE,CAAC;AAEJ,YAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;AACzD,YAAA,IAAA,CAAA,WAAW,GAAmC,IAAI,YAAY,EAAoB,CAAC;YAEnF,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;YAY3B,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;YAgB3B,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;YAgCpC,IAAM,CAAA,MAAA,GAAqB,OAAO,CAAC;SAwIlC;AAED,QAAA,SAAS,CAAC,KAAuB,EAAE,GAAG,IAAI,EAAA;AACxC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAChF,kBAAE,IAAI,CAAC,eAAe,EAAE;kBACtB,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvD,YAAA,MAAM,KAAK,GAAG,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACxF,IAAI,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAClD,YAAA,IAAI,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,EAAE;AAChD,gBAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;AACtD,aAAA;AACD,YAAA,MAAM,MAAM,GAAG,MAAM,EAAE,aAAa,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE,OAAO;AAE/B,YAAA,QAAQ,KAAK;AACX,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AACtB,oBAAA,IAAI,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE;wBACjD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAE,CAAC,CAAC;AACpE,qBAAA;AACD,oBAAA,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC1C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;oBAC9D,MAAM;AACR,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxB,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACzC,oBAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;oBACxB,MAAM;AACR,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxB,oBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;wBACX,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5C,wBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,wBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACvC,wBAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,qBAAA;AACD,oBAAA,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACvC,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEvC,oBAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;oBACtB,MAAM;AACT,aAAA;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;SAC1B;KACF,CAAC;AACJ;;MCxPa,oBAAoB,GAAG,oBAAoB,CAAC,eAAe,EAAE;AAE7D,MAAA,uBAAuB,GAAG,uBAAuB,CAC5D,oBAAoB,CAAC,eAAe,CAAC,EACrC;AAEW,MAAA,4BAA4B,GAAG,uBAAuB,CACjE,2BAA2B,CAAC,eAAe,CAAC,EAC5C;AAEW,MAAA,oBAAoB,GAAG,2BAA2B,CAC7D,yBAAyB,CAAC,eAAe,CAAC,EAC1C;MAEW,iBAAiB,GAAG,uBAAuB,CACtD,2BAA2B,CACzB,yBAAyB,CACvB,wBAAwB,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CACjE,CACF,EACD;AAEW,MAAA,yBAAyB,GAAG,2BAA2B,CAAC,qBAAqB,CAAM,eAAe,CAAC,EAAC;AAGpG,MAAA,kBAAkB,GAAG,uBAAuB,CACvD,2BAA2B,CACzB,qBAAqB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAChE,EACD;MAEW,yBAAyB,GAAG,uBAAuB,CAC9D,2BAA2B,CACzB,wBAAwB,CACtB,yBAAyB,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,CACvE,CACF,EACD;AAEW,MAAA,wBAAwB,GAAG,2BAA2B,CACjE,wBAAwB,CACtB,wBAAwB,CAAC,qBAAqB,CAAM,eAAe,CAAC,CAAC,CACtE,EACD;MAEW,4BAA4B,GAAG,wBAAwB,CAClE,yBAAyB,EACzB;AAEK,MAAM,mBAAmB,GAAG,uBAAuB,CACxD,2BAA2B,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EACtE;MAEW,eAAe,GAAG,uBAAuB,CAAC,eAAe,EAAE;MAC3D,aAAa,GAAG,wBAAwB,CAAC,eAAe;;ACjE/D,SAAU,oBAAoB,CAA6C,IAAW,EAAA;IACxF,OAAO,cAAc,IAAI,CAAA;AAGpB;;AAEC;AACA,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;SAC7B;KACJ,CAAA;AACL;;ACdA;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-mixin.mjs","sources":["../../../../libs/components/mixin/src/lib/base-components.class.ts","../../../../libs/components/mixin/src/lib/base-menu-mixin.class.ts","../../../../libs/components/mixin/src/lib/button-mixin.class.ts","../../../../libs/components/mixin/src/lib/clickable-mixin.class.ts","../../../../libs/components/mixin/src/lib/color-look-mixing.class.ts","../../../../libs/components/mixin/src/lib/datalist-component.class.ts","../../../../libs/components/mixin/src/lib/datalist.class.ts","../../../../libs/components/mixin/src/lib/dropdown-mixin.class.ts","../../../../libs/components/mixin/src/lib/interactive-mixin.class.ts","../../../../libs/components/mixin/src/lib/selection-component.class.ts","../../../../libs/components/mixin/src/lib/sizable-mixin.class.ts","../../../../libs/components/mixin/src/lib/textbox-mixin.class.ts","../../../../libs/components/mixin/src/lib/value-mixin.class.ts","../../../../libs/components/mixin/src/lib/mixin.class.ts","../../../../libs/components/mixin/src/lib/page-component.class.ts","../../../../libs/components/mixin/src/acorex-components-mixin.ts"],"sourcesContent":["import { ChangeDetectorRef, EventEmitter, Inject, Injectable, ElementRef } from '@angular/core';\nimport { Constructor } from './constratctor';\n\n/**\n * A token that specifies the size of component.\n */\nexport type AXElementSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\nexport type AXComponentOptionChanging = { name: string; value?: any };\nexport type AXComponentOptionChanged = {\n name: string;\n newValue?: any;\n oldValue?: any;\n};\nexport type AXComponentSetOption = {\n name: string;\n value?: any;\n afterCallback?: (oldValue?: any, newValue?: any) => void;\n beforeCallback?: (oldValue?: any, newValue?: any) => void;\n};\n\n@Injectable()\nexport class AXBaseComponent {\n id: string = `AX${Math.round(Math.random() * Math.pow(10, 10))}`;\n\n /**\n * A token that specifies the layout direction of component.\n */\n //rtl: boolean;\n\n #rtl: boolean;\n\n get rtl(): boolean {\n if (this.#rtl) return this.#rtl;\n else\n return (\n this._getHostElement()?.classList?.contains('ax-rtl') ||\n window.getComputedStyle(this._getHostElement(), null)?.getPropertyValue('direction') ===\n 'rtl'\n );\n }\n\n set rtl(value: boolean) {\n this.#rtl = value;\n }\n\n #elementRef: ElementRef;\n _cdr: ChangeDetectorRef;\n\n _isInited: boolean;\n _isRendered: boolean;\n\n /**\n * @ignore\n */\n constructor(@Inject(Array) ...args: any[]) {\n this.#elementRef = args[0];\n this._cdr = args[1];\n }\n\n ngOnInit() {\n this._isInited = true;\n this._onInternalInit();\n }\n\n ngAfterViewInit() {\n this._isRendered = true;\n this._onInternalViewInit();\n }\n\n ngOnDestroy() {\n this._onInternalDestroy();\n }\n\n //TODO: check why every time called _getHostElement function\n _getHostElement<T = HTMLElement>(): T {\n //TODO: check elementRef retrun 0\n return this.#elementRef?.nativeElement as T;\n }\n\n _getInnerElement<T = HTMLElement>(): T {\n return this._getHostElement().firstElementChild as unknown as T;\n }\n\n _onInternalInit() {\n //TODO: check Cannot set properties of undefined (setting '__axContext__')\n\n if (this._getHostElement()) {\n (this._getHostElement() as any).__axContext__ = this;\n }\n this._applyRtl();\n this.onInit();\n }\n\n _onInternalViewInit() {\n this.onViewInit();\n }\n\n _onInternalDestroy() {\n this.onDestroy();\n }\n\n onInit() {}\n\n onViewInit() {}\n\n onDestroy() {}\n\n _applyRtl() {\n if (this.rtl) {\n this._getHostElement().classList.add('ax-rtl');\n }\n }\n\n _onOptionChanging(option: AXComponentOptionChanging) {\n return option?.value;\n }\n _onOptionChanged(option: AXComponentOptionChanged): void {}\n\n _setOption(option: AXComponentSetOption) {\n const oldValue = this[option.name];\n const newValue = this._onOptionChanging({\n name: option.name,\n value: option.value,\n });\n //TODO : check real changes\n if (option.beforeCallback) option.beforeCallback(oldValue, newValue);\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this._onOptionChanged({ name: option.name, newValue, oldValue });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n if (emitter) emitter.emit(newValue);\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n}\n\nexport function _BaseComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n\nexport const BASE_INPUTS = ['rtl'];\nexport const BASE_OUTPUT = [];\n","import { AXItemClickEvent } from '@acorex/components/common';\nimport { EventEmitter } from '@angular/core';\nimport { unionBy } from 'lodash-es';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _BaseMenuComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n textField: string = 'text';\n\n valueField: string = 'id';\n\n #isLoading: boolean = false;\n\n #loadedItems: any = [];\n\n visibleField: string;\n\n disableField: string = 'disabled';\n\n hasChildField: string;\n\n iconField: string = 'icon';\n\n openMode: 'click' | 'hover' = 'click';\n\n displayMode: 'horizontal' | 'vertical' | 'sidemenu' = 'sidemenu';\n\n dividerField: string = 'divider';\n\n onMenuItemClick: EventEmitter<AXItemClickEvent<any>> = new EventEmitter<\n AXItemClickEvent<any>\n >();\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n #items: any = [];\n get items(): any {\n return this.#items;\n }\n set items(v: any) {\n if (Array.isArray(v)) {\n this.#items = v;\n } else if (typeof v === 'function') {\n this.#items = v;\n } else {\n this.#items = [];\n }\n }\n\n get displayItems() {\n if (Array.isArray(this.items)) {\n return this.#items || [];\n } else if (typeof this.#items == 'function') {\n return this.#loadedItems || [];\n }\n return [];\n }\n\n get isLoading() {\n return this.#isLoading;\n }\n\n _formatData(v: any[]) {\n return unionBy(\n v.map((o, i) => {\n if (typeof o == 'object') return o;\n else {\n const no: any = {};\n no[this.valueField] = o;\n no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\n return no;\n }\n }),\n this.valueField\n );\n }\n\n _findNode(parentId: number, _children: any, source: any) {\n if (source.length > 0) {\n source.forEach((element) => {\n if (element[this.valueField] == parentId) {\n element.children = _children;\n } else {\n if (element?.children) this._findNode(parentId, _children, element.children);\n }\n });\n }\n }\n\n _fetchData(parentId?: number, searchText?: string) {\n return new Promise((resolve) => {\n if (this.#isLoading) {\n return;\n }\n if (this.#items) {\n this.#isLoading = true;\n this.#items({\n parentId: parentId,\n searchQuery: searchText,\n })\n .then((c) => {\n if (Array.isArray(c)) {\n if (parentId) {\n resolve(this._findNode(parentId, c, this.displayItems));\n } else {\n resolve((this.#loadedItems = c));\n }\n }\n this._cdr.markForCheck();\n })\n .finally(() => {\n this.#isLoading = false;\n });\n }\n });\n }\n\n override _onInternalInit() {\n if (typeof this.#items == 'function') {\n this._fetchData();\n }\n super._onInternalInit();\n }\n\n _getItemDisplayTextTemplte(item) {\n if (item)\n return Array.isArray(this.textField)\n ? this.textField.map((c) => item[c]).join(',')\n : item[this.textField];\n else return 'Loading...';\n }\n\n public refresh() {\n this._fetchData();\n }\n };\n}\n\nexport const BASEMENU_INPUTS = [\n 'textField',\n 'valueField',\n 'items',\n 'parentId',\n 'iconField',\n 'tooltip',\n 'opened',\n 'active',\n 'visibleField',\n 'disableField',\n 'hasChildField',\n 'openMode',\n 'displayMode',\n 'dividerField',\n];\nexport const BASEMENU_OUTPUT = ['onMenuItemClick'];\n","import { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _ButtonComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this._setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable!;\n }\n set toggleable(value: boolean) {\n this._setOption({\n name: 'toggleable',\n value,\n });\n }\n\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected!;\n }\n set selected(value: boolean) {\n this._setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get _classes() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this['disabled'],\n 'ax-state-selected': this.selected,\n };\n cssClasses[\n `ax-${this['color'] || 'default'}${this['look'] ? '-' + this['look'] : '-default'}`\n ] = true;\n return cssClasses;\n }\n };\n}\n\nexport const BUTTON_INPUTS = ['text', 'toggleable', 'selected'];\nexport const BUTTON_OUTPUT = ['onBlur', 'onFocus', 'onClick', 'selectedChange', 'toggleableChange'];\n","import { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXClickEvent } from \"@acorex/components/common\";\n\n\nexport function _ClickableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase){\n return class extends Base {\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n _emitOnClickEvent(e: MouseEvent): void {\n this.onClick.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n}\n\n","import { AXStyleColorType, AXStyleLookType } from '@acorex/components/common';\nimport { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _ColorLookComponentMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n _color: AXStyleColorType = 'default';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this._setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n _look?: AXStyleLookType = 'default';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look!;\n }\n set look(value: AXStyleLookType) {\n this._setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this._cdr.markForCheck();\n },\n });\n }\n };\n}\n\nexport const COLOR_LOOK_INPUTS = ['color', 'look'];\nexport const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];\n","import { unionBy, flatMapDeep } from 'lodash-es';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXDataListFetchDataCallback, AXDataListItems } from './datalist.class';\n\nexport function _DatalistComponenetMixin<\n TBase extends Constructor<AXBaseComponent>\n>(Base: TBase) {\n return class extends Base {\n valueField: string = 'id';\n textField: string = 'text';\n childrenField: string;\n pageSize: number = 10;\n\n #currentPage: number = 0;\n #isLoading: boolean = false;\n #loadedItems: any[] = [];\n #flatItems: any[] = [];\n #totalItems: number = 0;\n\n #isLazy: boolean = false;\n\n get totalCount(): number {\n return this.#totalItems;\n }\n\n get isLazy(): boolean {\n return this.#isLazy;\n }\n\n get loadedCount(): number {\n return this.#loadedItems?.length || 0;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n #items: AXDataListItems = [];\n get items(): AXDataListItems {\n return this.#items;\n }\n set items(v: AXDataListItems) {\n if (Array.isArray(v)) {\n this.#items = this._formatData(v);\n this._onDataLoaded();\n this.#generateFlatItems();\n } else if (typeof v === 'function') {\n this.#isLazy = true;\n this.#items = v;\n } else {\n this.#items = [];\n this._onDataLoaded();\n this.#generateFlatItems();\n }\n }\n\n get displayItems(): any[] {\n if (Array.isArray(this.items)) {\n return (this.#items || []) as any[];\n } else if (typeof this.#items == 'function') {\n return this.#loadedItems || [];\n }\n return [];\n }\n\n get flatItems(): any[] {\n return this.#flatItems || [];\n }\n\n get isLoading(): boolean {\n return this.#isLoading;\n }\n\n _formatData(v: any[]) {\n return unionBy(\n v.map((o, i) => {\n if (typeof o == 'object') return o;\n else {\n const no: any = {};\n no[this.valueField] = o;\n no[\n Array.isArray(this.textField) ? this.textField[0] : this.textField\n ] = o;\n return no;\n }\n }),\n this.valueField\n );\n // return v.map((o, i) => {\n // if (typeof o == 'object')\n // return o\n // else {\n // const no: any = {};\n // no[this.valueField] = o;\n // no[Array.isArray(this.textField) ? this.textField[0] : this.textField] = o;\n // return no;\n // }\n // });\n }\n\n _fetchData(opts?: { searchQuery?: string }) {\n const skip = this.#currentPage * this.pageSize, take = this.pageSize;\n if (\n (this.loadedCount >= this.totalCount && this.totalCount != 0) ||\n this.#isLoading ||\n !this.#isLazy ||\n skip > this.totalCount\n ) {\n return;\n }\n if (this.#items) {\n this.#isLoading = true;\n const fetchFn = this.#items as AXDataListFetchDataCallback;\n fetchFn({ skip, take, searchQuery: opts?.searchQuery })\n .then((c) => {\n if (Array.isArray(c)) {\n this.#loadedItems = this._formatData(c);\n this.#totalItems = c.length;\n } else {\n this.#totalItems = c.total || c.items?.length || 0;\n this.#loadedItems = [\n ...new Set(this.#loadedItems.concat(this._formatData(c.items))),\n ];\n this.#currentPage++;\n }\n this._cdr.markForCheck();\n })\n .finally(() => {\n this.#isLoading = false;\n this._onDataLoaded();\n this.#generateFlatItems();\n });\n }\n }\n\n _onDataLoaded() { }\n\n #generateFlatItems(): void {\n const flattenFn = (item) => {\n return [item, flatMapDeep(item.children, flattenFn)];\n };\n this.#flatItems = flatMapDeep(this.displayItems, flattenFn);\n }\n\n _getItemDisplayTextTemplte(item) {\n if (item)\n return Array.isArray(this.textField)\n ? this.textField.map((c) => item[c]).join(',')\n : item[this.textField];\n else return 'Loading...';\n }\n\n _trackByFunction(item) {\n if (!item) return null;\n return item[this.valueField];\n }\n\n refresh() {\n this.empty();\n this._fetchData();\n }\n\n empty() {\n this.#isLoading = false;\n this.#currentPage = 0;\n if (this.#loadedItems) {\n this.#loadedItems.length = 0;\n }\n }\n };\n}\n\nexport const DATALIST_INPUTS = ['pageSize', 'valueField', 'textField', 'items'];\nexport const DATALIST_OUTPUT = [];\n","\nexport interface AXDataListQuery {\n take?: number;\n skip?: number;\n searchQuery?: string;\n}\nexport interface AXDataListFetchCallbackResult {\n items: any[];\n total: number;\n};\n\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<any[] | AXDataListFetchCallbackResult>;\n\nexport type AXDataListItems = any[] | AXDataListFetchDataCallback;","import { EventEmitter } from '@angular/core';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXEvent, AXConnectedPosition } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\n\nexport interface DropdownComponentInterface {\n open(): void;\n close(): void;\n toggle(): void;\n isOpen: boolean;\n}\n\nexport function _DropdownComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n abstract class Mixin extends Base {\n readonly: boolean = false;\n\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n //TODO: Circular dependency on AXPopverComponent\n abstract popover: any;\n\n position: AXConnectedPosition[] = [];\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this._getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this._getHostElement(),\n });\n }\n\n override onInit(): void {\n super.onInit();\n this.popover.onOpened.subscribe(this.onOpened);\n this.popover.onClosed.subscribe(this.onClosed);\n }\n\n override onViewInit() {\n // wait for documentElement\n setTimeout(() => {\n if (this.position.length == 0) {\n const a = 0;\n const offset = Number(\n getComputedStyle(document.documentElement)\n .getPropertyValue('--ax-base-size')\n .replace('px', '')\n );\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.position.push(...list);\n }\n }, 500);\n }\n\n toggle() {\n if (this['disabled'] !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this['disabled']) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this['disabled']) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return Mixin;\n}\n\nexport const DROPDOWN_INPUTS = ['isOpen', 'fitParent', 'dropdownWidth', 'position'];\nexport const DROPDOWN_OUTPUT = ['onOpened', 'onClosed'];\n","import { coerceBooleanProperty, coerceNumberProperty } from \"@angular/cdk/coercion\";\nimport { EventEmitter } from \"@angular/core\";\nimport { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\nimport { AXFocusEvent } from \"@acorex/components/common\";\n\n\nexport function _InteractiveComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n abstract class Mixin extends Base {\n\n #disabled: boolean = false;\n /**\n * If set to true, it disables the component.\n */\n get disabled(): boolean { return this.#disabled; }\n set disabled(value: boolean) {\n value = this._onOptionChanging({ name: 'disabled', value: value });\n if (value != this.disabled) {\n const oldValue = this.disabled;\n this.#disabled = coerceBooleanProperty(value);\n this._onOptionChanged({ name: 'disabled', oldValue, newValue: value });\n this._cdr.markForCheck();\n }\n }\n\n\n\n #tabIndex: number = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number { return this.disabled ? -1 : this.#tabIndex; }\n set tabIndex(value: number) {\n this.#tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n _emitOnBlurEvent(e: FocusEvent): void {\n this.onBlur.emit({\n component: this,\n htmlElement: this._getHostElement(),\n nativeEvent: e\n });\n }\n\n /**\n * Focuses the component.\n */\n focus(): void {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\n const focusable = this._getHostElement().querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n }\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return this._getHostElement().matches(':focus-within') || this._getHostElement().matches(':focus');\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n }\n return Mixin;\n}\n\nexport const INTERACTIVE_INPUTS = [\n 'disabled',\n 'tabIndex',\n];\nexport const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { AXSelectionValueChangedEvent } from '@acorex/components/common';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { clone } from 'lodash-es';\n\nexport function _SelectionComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n valueField: string = 'id';\n textField: string = 'text';\n disabledField: string = 'disabled';\n disabledCallback: (e: { item: any; index: number }) => boolean;\n multiple: boolean = false;\n selectionMode: 'value' | 'item' = 'value';\n\n /**\n * Defines the primary text to show inside the button.\n */\n get items(): any[] {\n return [];\n }\n\n get displayItems(): any[] {\n return [];\n }\n\n get flatItems(): any[] {\n return [];\n }\n\n public valueChange: EventEmitter<any> = new EventEmitter<any>();\n public onValueChanged: EventEmitter<AXSelectionValueChangedEvent> =\n new EventEmitter<AXSelectionValueChangedEvent>();\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n override _onInternalInit() {\n super._onInternalInit();\n }\n\n _value: any | any[];\n get value(): any | any[] {\n return this._value;\n }\n set value(v: any | any[]) {\n v = (this as any)._internalSetValue(v);\n if (v !== this._value) {\n const oldValue = clone(this._value);\n if (this.multiple) {\n this._value = Array.isArray(v) ? v : v ? [v] : [];\n } else {\n this._value = Array.isArray(v) ? v[0] : v;\n }\n this._renderSelection();\n this.valueChange.emit(this._value);\n this.onValueChanged.emit({\n component: this,\n htmlElement: this._getHostElement(),\n isUserInteraction: false,\n oldValue,\n value: this._value,\n selectedKeys: this.selectedItems.map((c) => c[this.valueField]),\n selectedItems: this.selectedItems.slice(),\n });\n if (v == null || v == undefined || v == '') {\n (this as any)._setState('clear');\n } else {\n if (this._isInited) {\n (this as any).validate();\n }\n }\n }\n }\n\n _selectedItems: any[];\n get selectedItems(): any[] {\n return this._selectedItems || [];\n }\n\n _renderSelection() {\n const func = () => {\n if (this.value == null || this.value == undefined) {\n return [];\n }\n const items = this.flatItems;\n if (items.length > 0) {\n return items.filter((i) => {\n if (Array.isArray(this.value)) {\n return this.value.some((ii) => {\n if (typeof ii === 'object') {\n return i[this.valueField] === ii[this.valueField];\n } else {\n return i[this.valueField] === ii;\n }\n });\n } else {\n if (typeof this.value === 'object') {\n return i[this.valueField] === this.value[this.valueField];\n } else {\n return i[this.valueField] === this.value;\n }\n }\n });\n }\n if (Array.isArray(this.value)) {\n return this.value.map((ii) => {\n if (typeof ii === 'object') {\n return ii;\n } else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n fake[this.textField] = this.value;\n return fake;\n }\n });\n } else {\n if (typeof this.value === 'object') {\n return [this.value];\n } else {\n const fake: any = {};\n fake[this.valueField] = this.value;\n fake[this.textField] = this.value;\n return [fake];\n }\n }\n };\n this._selectedItems = func();\n }\n\n _getItemByDataMode(item: any) {\n return this.selectionMode === 'item' ? item : item[this.valueField];\n }\n\n _getItemValue(item: any) {\n return typeof item === 'object' ? item[this.valueField] : item;\n }\n\n unselectItems(...items: any[]) {\n if (!items || items.length === 0) {\n this.value = null;\n } else if (Array.isArray(this.value)) {\n this.value = this.value.filter(\n (c) => !items.some((d) => this._getItemValue(c) === this._getItemValue(d))\n );\n } else {\n this.value = null;\n }\n }\n\n selectItems(...items: any[]) {\n if (items && items.length) {\n if (this.multiple) {\n this.value = (this.value || []).concat(items.map((c) => this._getItemByDataMode(c)));\n } else {\n this.value = this._getItemByDataMode(items[0]);\n }\n }\n }\n\n toggleSelect(...items: any[]) {\n if (items && items.length) {\n items.forEach((item) => {\n if (this.multiple) {\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\n } else {\n this.selectItems(item);\n }\n });\n }\n }\n\n isItemSelected(item: any): boolean {\n return this.selectedItems.some((c) => c[this.valueField] === item[this.valueField]);\n }\n\n isItemDisabled(item: any): boolean {\n return (\n coerceBooleanProperty(item[this.disabledField]) === true ||\n (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false)\n );\n }\n };\n}\n\nexport const SELECTION_INPUTS = [\n 'valueField',\n 'textField',\n 'disabledField',\n 'disabledCallback',\n 'multiple',\n 'selectionMode',\n];\nexport const SELECTION_OUTPUT = ['onValueChanged', 'valueChanged'];\n","import { AXBaseComponent, AXElementSize } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _SizableComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n /**\n * A token that specifies the size of component.\n */\n size: AXElementSize;\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2));\n }\n\n override _onInternalInit() {\n super._onInternalInit();\n }\n };\n}\n\nexport const SIZABLE_INPUTS = ['size'];\nexport const SIZABLE_OUTPUT = [];\n","import { EventEmitter } from '@angular/core';\nimport { AXHtmlEvent } from '@acorex/components/common';\nimport { AXBaseComponent } from './base-components.class';\nimport { Constructor } from './constratctor';\n\nexport function _TextboxComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n /**\n * A string value that specifies the type of text box.\n */\n type = 'text'\n\n /**\n * A string value that specifies the placeholder of text box.\n */\n placeholder: string = '';\n\n /**\n * A number value that specifies the maximum characters of text box.\n */\n maxLength: number;\n\n /**\n * Specifies that autocomplete is on or off.\n */\n autoComplete: string;\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n\n _emitOnKeydownEvent(e: KeyboardEvent) {\n this.onKeyDown.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n\n _emitOnKeyupEvent(e: KeyboardEvent) {\n this.onKeyUp.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n \n _emitOnKeypressEvent(e: KeyboardEvent) {\n this.onKeyPress.emit({\n component: this,\n nativeEvent: e\n });\n (this as any)._setUserInteraction();\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n }\n}\n\nexport const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly','value','name']\nexport const TEXTBOX_OUTPUT = ['valueChange', 'onValueChanged']","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { AXBaseComponent, AXComponentState } from './base-components.class';\nimport { Constructor } from './constratctor';\nimport { AXValueChangedEvent } from '@acorex/components/common';\nimport { clone, cloneDeep, cloneDeepWith } from 'lodash-es';\n\nexport function _ValueComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<\n AXValueChangedEvent<any>\n >();\n\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n #readonly: boolean = false;\n\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this.#readonly;\n }\n set readonly(value: boolean) {\n this.#readonly = coerceBooleanProperty(value);\n }\n\n #allowNull: boolean = true;\n get allowNull() {\n return this.#allowNull;\n }\n set allowNull(value: boolean) {\n this.#allowNull = coerceBooleanProperty(value);\n }\n\n #name: string;\n get name() {\n return this.#name;\n }\n set name(value: string) {\n this.#name = value;\n }\n\n #isUserInteraction: boolean = false;\n\n get isUserInteraction(): boolean {\n return this.#isUserInteraction;\n }\n\n #value: any;\n get value(): any {\n return this._internalGetValue();\n }\n set value(v: any) {\n v = this._internalSetValue(v);\n //if (!this._isInited ) {\n const old = clone(this.value);\n // TODO: check real equality\n if (v != old) {\n this.#value = v;\n this._emitOnValueChangedEvent(old, this.value);\n this._cdr.markForCheck();\n if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {\n this._setState('clear');\n }\n // else {\n // if (this._isInited) {\n // this.validate();\n // }\n // }\n }\n this.#isUserInteraction = false;\n //}\n }\n\n #state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this.#state;\n }\n\n set state(value: AXComponentState) {\n this._setState(value);\n this.stateChange.emit(value);\n }\n\n _emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this.isUserInteraction,\n });\n this._onValueChanged(oldValue, this.#value);\n this.#isUserInteraction = false;\n }\n\n _internalSetValue(value: any) {\n return this._setValue(value);\n }\n\n _internalGetValue() {\n return this._getValue(this.#value);\n }\n\n _setValue(value: any) {\n return value;\n }\n\n _getValue(value: any) {\n return value;\n }\n\n _setUserInteraction() {\n this.#isUserInteraction = true;\n }\n\n setUserInteraction() {\n this.#isUserInteraction = true;\n }\n\n _onValueChanged(oldValue: any, newValue: any): void { }\n\n override _onInternalInit() {\n this._getHostElement().setAttribute('ax-form-input', 'true');\n super._onInternalInit();\n }\n\n override _onInternalViewInit(): void {\n this._checkRequired();\n super._onInternalViewInit();\n }\n\n override _onInternalDestroy() {\n super.onDestroy();\n }\n\n clear() {\n this.value = null;\n }\n\n _checkRequired() {\n const isRequired = Array.from(\n this._getHostElement().querySelectorAll('ax-validation-rule')\n ).some(\n (c) => (c as any).__axContext__.enabled && (c as any).__axContext__.rule == 'required'\n );\n //\n if (isRequired) {\n const container = this._getHostElement().classList.contains('ax-editor-container')\n ? this._getHostElement()\n : this._getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = (formField?.querySelector('ax-label') as any)?.__axContext__;\n if (label) label.required = true;\n }\n }\n\n validate(): Promise<any> {\n const rules = Array.from(\n this._getHostElement().querySelectorAll('ax-validation-rule')\n ).filter((c) => (c as any).__axContext__.enabled);\n //\n if (!rules || rules.length === 0) {\n this._setState('clear');\n return Promise.resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n\n return new Promise<any>((resolve) => {\n Promise.all(\n rules\n .filter((c) => typeof (c as any)?.validate === 'function')\n .map((c) => {\n return (c as any).validate(this.value);\n })\n ).then((d) => {\n const error = d.find((c) => c.result === false);\n if (error) {\n this._setState('error', error.message);\n resolve({\n result: false,\n value: this.value,\n message: error.message,\n name: this.name,\n id: this.id,\n });\n } else {\n this._setState('success');\n resolve({\n result: true,\n value: this.value,\n name: this.name,\n id: this.id,\n });\n }\n });\n });\n }\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args);\n }\n\n _setState(state: AXComponentState, ...args) {\n const container = this._getHostElement().classList.contains('ax-editor-container')\n ? this._getHostElement()\n : this._getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('.ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this._getInnerElement();\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this.#state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this._setState('clear');\n target.classList.add('ax-state-success');\n this.#state = 'success';\n break;\n case 'error':\n this._setState('clear');\n if (args[0]) {\n const span = document.createElement('span');\n span.innerText = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this.#state = 'error';\n break;\n }\n this._cdr.markForCheck();\n }\n };\n}\n","import { _BaseComponenetMixin, AXBaseComponent } from \"./base-components.class\";\nimport { _BaseMenuComponentMixin } from \"./base-menu-mixin.class\";\nimport { _ButtonComponentMixin } from \"./button-mixin.class\";\nimport { _ClickableComponenetMixin } from \"./clickable-mixin.class\";\nimport { _ColorLookComponentMixin } from \"./color-look-mixing.class\";\nimport { _DatalistComponenetMixin } from \"./datalist-component.class\";\nimport { _DropdownComponenetMixin } from \"./dropdown-mixin.class\";\nimport { _InteractiveComponenetMixin } from \"./interactive-mixin.class\";\nimport { _SelectionComponenetMixin } from \"./selection-component.class\";\nimport { _SizableComponenetMixin } from \"./sizable-mixin.class\";\nimport { _TextboxComponenetMixin } from \"./textbox-mixin.class\";\nimport { _ValueComponenetMixin } from \"./value-mixin.class\";\n\n\nexport const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);\n\nexport const AXSizableComponentMixin = _SizableComponenetMixin(\n _BaseComponenetMixin(AXBaseComponent)\n);\n\nexport const AXInteractiveComponenetMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(AXBaseComponent)\n);\n\nexport const AXBaseClickableMixin = _InteractiveComponenetMixin(\n _ClickableComponenetMixin(AXBaseComponent)\n);\n\nexport const AXBaseButtonMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ClickableComponenetMixin(\n _ColorLookComponentMixin(_ButtonComponentMixin(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseValueComponentMixin = _InteractiveComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n\n\nexport const AXBaseTextBoxMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))\n )\n);\n\nexport const AXBaseSelectionValueMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(\n _DatalistComponenetMixin(\n _SelectionComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n )\n);\n\nexport const AXBaseValueDropdownMixin = _InteractiveComponenetMixin(\n _DropdownComponenetMixin(\n _DatalistComponenetMixin(_ValueComponenetMixin<any>(AXBaseComponent))\n )\n);\n\nexport const AXBaseSelectionDropdownMixin = _DropdownComponenetMixin(\n AXBaseSelectionValueMixin\n);\n\nexport const AXBaseDropdownMixin = _SizableComponenetMixin(\n _InteractiveComponenetMixin(_DropdownComponenetMixin(AXBaseComponent))\n);\n\nexport const AXBaseMenuMixin = _BaseMenuComponentMixin(AXBaseComponent);\nexport const AXAvatarMixin = _ColorLookComponentMixin(AXBaseComponent);\n","import { AXBaseComponent } from \"./base-components.class\";\nimport { Constructor } from \"./constratctor\";\n\nexport function _PageComponenetMixin<TBase extends Constructor<AXBaseComponent>>(Base: TBase) {\n return class extends Base {\n\n\n /**\n * @ignore\n */\n constructor(...args: any[]) {\n super(...args.slice(0, 2))\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -108,10 +108,10 @@ class AXNotificationComponent extends MXBaseComponent {
|
|
108
108
|
htmlElement: this.getHostElement(),
|
109
109
|
});
|
110
110
|
}
|
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.
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i6.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
113
113
|
}
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationComponent, decorators: [{
|
115
115
|
type: Component,
|
116
116
|
args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
|
117
117
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
@@ -204,21 +204,21 @@ class AXNotificationService {
|
|
204
204
|
return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;
|
205
205
|
}
|
206
206
|
}
|
207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
208
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
207
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
208
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService }); }
|
209
209
|
}
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationService, decorators: [{
|
211
211
|
type: Injectable
|
212
212
|
}] });
|
213
213
|
|
214
214
|
const COMPONENT = [AXNotificationComponent];
|
215
215
|
const MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule];
|
216
216
|
class AXNotificationModule {
|
217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
218
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.
|
219
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.
|
217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
218
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule], exports: [AXNotificationComponent] }); }
|
219
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, providers: [AXNotificationService], imports: [MODULES] }); }
|
220
220
|
}
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXNotificationModule, decorators: [{
|
222
222
|
type: NgModule,
|
223
223
|
args: [{
|
224
224
|
declarations: [...COMPONENT],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-notification.mjs","sources":["../../../../libs/components/notification/src/lib/notification.config.ts","../../../../libs/components/notification/src/lib/notification.component.ts","../../../../libs/components/notification/src/lib/notification.component.html","../../../../libs/components/notification/src/lib/notification.service.ts","../../../../libs/components/notification/src/lib/notification.module.ts","../../../../libs/components/notification/src/acorex-components-notification.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AXLocation } from '@acorex/components/common';\n\n\nexport interface AXNotificationConfig {\n gap: number,\n timeOut: number,\n timeOutProgress: boolean,\n location: AXLocation,\n closeButton: boolean\n}\n\nexport const AX_NOTIFICATION_CONFIG = new InjectionToken<AXNotificationConfig>(\n 'AX_NOTIFICATION_CONFIG',\n {\n providedIn: 'root',\n factory: () => AXNotificationDefaultConfig,\n }\n);\n\n\nexport const AXNotificationDefaultConfig: AXNotificationConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n closeButton: true,\n location: 'top-end',\n};\n\n\nexport type PartialNotificationConfig = Partial<AXNotificationConfig>;\n\nexport function notificationConfig(config: PartialNotificationConfig = {}): AXNotificationConfig {\n const result = {\n ...AXNotificationDefaultConfig,\n ...config,\n };\n return result\n}","import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXNotificationButtonItem, AXNotificationData } from './notification.class';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }],\n})\nexport class AXNotificationComponent extends MXBaseComponent {\n\n _selectedPortal: Portal<unknown>;\n _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXNotificationData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n\n ngOnInit() {\n this._initContent();\n this._initIcon();\n this._handleTimeOut();\n }\n\n private _handleTimeOut() {\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n }\n\n private _initContent() {\n if (this.config.content instanceof TemplateRef) {\n this._selectedPortal = new TemplatePortal(\n this.config.content as TemplateRef<unknown>,\n this.getViewContainer(),\n );\n this.cdr.markForCheck();\n } else if (typeof this.config.content === 'function') {\n this._selectedPortal = new ComponentPortal(this.config.content as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n }\n\n private _initIcon() {\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle-fill';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error-fill';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning-fill';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info-fill';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle-fill';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n protected _handleButtonClick(button: AXNotificationButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>","import { Injectable, inject } from '@angular/core';\nimport { AXNotificationOptions as AXNotificationDisplayConfig, AXNotificationRef } from './notification.class';\nimport { AXNotificationComponent } from './notification.component';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { AXComponentCloseEvent } from '@acorex/components/common';\nimport { AXNotificationConfig, AX_NOTIFICATION_CONFIG } from './notification.config';\n\n@Injectable()\nexport class AXNotificationService {\n\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXNotificationConfig = inject(AX_NOTIFICATION_CONFIG);\n\n\n show(config: AXNotificationDisplayConfig): AXNotificationRef {\n config = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location,\n },\n config\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(config.location) + gap + 'px';\n switch (config.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy\n .centerVertically()\n .right(gap + 'px');\n break;\n default:\n break;\n }\n\n const dialogRef = this.dialog.open(AXNotificationComponent, {\n data: config,\n autoFocus: \"__no_element__\",\n restoreFocus: false,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy\n });\n\n const toastRef = dialogRef.componentInstance as AXNotificationComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n })\n\n return {\n close: () => {\n toastRef.close();\n }\n }\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs.map(c => c.componentInstance as AXNotificationComponent).filter(c => c.config.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n }\n else {\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXNotificationComponent } from './notification.component';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXNotificationService } from './notification.service';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\n\nconst COMPONENT = [AXNotificationComponent];\nconst MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXNotificationService],\n})\nexport class AXNotificationModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAYa,sBAAsB,GAAG,IAAI,cAAc,CACpD,wBAAwB,EACxB;AACI,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,2BAA2B;AAC7C,CAAA,EACH;AAGW,MAAA,2BAA2B,GAAyB;AAC7D,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,QAAQ,EAAE,SAAS;EACrB;AAKc,SAAA,kBAAkB,CAAC,MAAA,GAAoC,EAAE,EAAA;AACrE,IAAA,MAAM,MAAM,GAAG;AACX,QAAA,GAAG,2BAA2B;AAC9B,QAAA,GAAG,MAAM;KACZ,CAAC;AACF,IAAA,OAAO,MAAM,CAAA;AACjB;;ACzBA;;;;AAIG;AASG,MAAO,uBAAwB,SAAQ,eAAe,CAAA;AAK1D;;AAEC;IACD,WAES,CAAA,MAA0B,EACzB,SAA2C,EAAA;AAEnD,QAAA,KAAK,EAAE,CAAC;QAHD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAoB;QACzB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkC;KAGpD;IAGD,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAEO,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,aAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,SAAA;KACF;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,YAAY,WAAW,EAAE;AAC9C,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,MAAM,CAAC,OAA+B,EAC3C,IAAI,CAAC,gBAAgB,EAAE,CACxB,CAAC;AACF,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;AACpD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiC,CAAC,CAAC;AAC1F,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACF;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACrB,YAAA,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK;AACvB,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,KAAK,GAAG,mCAAmC,CAAC;oBACjD,MAAM;AACR,gBAAA,KAAK,QAAQ;AACX,oBAAA,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAC;oBAC1C,MAAM;AACR,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC;oBAC5C,MAAM;AACR,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC;oBACzC,MAAM;AACR,gBAAA;oBACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,mCAAmC,CAAC;oBACrE,MAAM;AACT,aAAA;AACF,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,SAAA;KACF;AAES,IAAA,kBAAkB,CAAC,MAAgC,EAAA;QAC3D,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACpC,SAAA;KACF;AAED,IAAA,IACY,WAAW,GAAA;AACrB,QAAA,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KAClC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACnB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC,CAAC;KACJ;AApFU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBASxB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AATV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAFvB,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,iDCxBrF,y/BAmByD,EAAA,MAAA,EAAA,CAAA,0kFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDO5C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,mBAGV,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAA,uBAAyB,EAAE,CAAC,EAAA,QAAA,EAAA,y/BAAA,EAAA,MAAA,EAAA,CAAA,0kFAAA,CAAA,EAAA,CAAA;;0BAWhF,MAAM;2BAAC,WAAW,CAAA;oEAkET,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;ME3FT,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAyB,MAAM,CAAC,sBAAsB,CAAC,CAAC;AA0F9E,KAAA;AAvFC,IAAA,IAAI,CAAC,MAAmC,EAAA;AACtC,QAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CACpB;AACE,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;SACtC,EACD,MAAM,CACP,CAAC;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;AAEnC,QAAA,IAAI,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AACpD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QAC3D,QAAQ,MAAM,CAAC,QAAQ;AACrB,YAAA,KAAK,eAAe;gBAClB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACrE,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,cAAc;AACjB,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACjE,MAAM;AACR,YAAA,KAAK,YAAY;gBACf,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAClE,MAAM;AACR,YAAA,KAAK,SAAS;AACZ,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC/D,MAAM;AACR,YAAA,KAAK,WAAW;AACd,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC9D,MAAM;AACR,YAAA,KAAK,cAAc;AACjB,gBAAA,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACxE,MAAM;AACR,YAAA,KAAK,YAAY;AACf,gBAAA,gBAAgB,GAAG,gBAAgB;AAChC,qBAAA,gBAAgB,EAAE;AAClB,qBAAA,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACrB,MAAM;AACR,YAAA;gBACE,MAAM;AACT,SAAA;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AAC1D,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;AAC7E,YAAA,gBAAgB,EAAE,gBAAgB;AACnC,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAA4C,CAAC;AACxE,QAAA,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,SAAC,CAAC,CAAA;QAEF,OAAO;YACL,KAAK,EAAE,MAAK;gBACV,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClB;SACF,CAAA;KACF;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxB;IAEO,UAAU,GAAA;;KAGjB;AAEO,IAAA,WAAW,CAAC,QAAgB,EAAA;AAClC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iBAA4C,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACzI,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;AACtC,YAAA,OAAO,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC;AAC9E,SAAA;AACI,aAAA;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC;AAC/G,SAAA;KACF;8GA5FU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;ACEX,MAAM,SAAS,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;MAQlG,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EATd,YAAA,EAAA,CAAA,uBAAuB,CACzB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,aAD1F,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAS7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAFpB,SAAA,EAAA,CAAC,qBAAqB,CAAC,YAFrB,OAAO,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIT,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;oBACvB,SAAS,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-notification.mjs","sources":["../../../../libs/components/notification/src/lib/notification.config.ts","../../../../libs/components/notification/src/lib/notification.component.ts","../../../../libs/components/notification/src/lib/notification.component.html","../../../../libs/components/notification/src/lib/notification.service.ts","../../../../libs/components/notification/src/lib/notification.module.ts","../../../../libs/components/notification/src/acorex-components-notification.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AXLocation } from '@acorex/components/common';\n\n\nexport interface AXNotificationConfig {\n gap: number,\n timeOut: number,\n timeOutProgress: boolean,\n location: AXLocation,\n closeButton: boolean\n}\n\nexport const AX_NOTIFICATION_CONFIG = new InjectionToken<AXNotificationConfig>(\n 'AX_NOTIFICATION_CONFIG',\n {\n providedIn: 'root',\n factory: () => AXNotificationDefaultConfig,\n }\n);\n\n\nexport const AXNotificationDefaultConfig: AXNotificationConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n closeButton: true,\n location: 'top-end',\n};\n\n\nexport type PartialNotificationConfig = Partial<AXNotificationConfig>;\n\nexport function notificationConfig(config: PartialNotificationConfig = {}): AXNotificationConfig {\n const result = {\n ...AXNotificationDefaultConfig,\n ...config,\n };\n return result\n}","import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXNotificationButtonItem, AXNotificationData } from './notification.class';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }],\n})\nexport class AXNotificationComponent extends MXBaseComponent {\n\n _selectedPortal: Portal<unknown>;\n _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXNotificationData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n\n ngOnInit() {\n this._initContent();\n this._initIcon();\n this._handleTimeOut();\n }\n\n private _handleTimeOut() {\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n }\n\n private _initContent() {\n if (this.config.content instanceof TemplateRef) {\n this._selectedPortal = new TemplatePortal(\n this.config.content as TemplateRef<unknown>,\n this.getViewContainer(),\n );\n this.cdr.markForCheck();\n } else if (typeof this.config.content === 'function') {\n this._selectedPortal = new ComponentPortal(this.config.content as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n }\n\n private _initIcon() {\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle-fill';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error-fill';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning-fill';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info-fill';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle-fill';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n protected _handleButtonClick(button: AXNotificationButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>","import { Injectable, inject } from '@angular/core';\nimport { AXNotificationOptions as AXNotificationDisplayConfig, AXNotificationRef } from './notification.class';\nimport { AXNotificationComponent } from './notification.component';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { AXComponentCloseEvent } from '@acorex/components/common';\nimport { AXNotificationConfig, AX_NOTIFICATION_CONFIG } from './notification.config';\n\n@Injectable()\nexport class AXNotificationService {\n\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXNotificationConfig = inject(AX_NOTIFICATION_CONFIG);\n\n\n show(config: AXNotificationDisplayConfig): AXNotificationRef {\n config = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location,\n },\n config\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(config.location) + gap + 'px';\n switch (config.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy\n .centerVertically()\n .right(gap + 'px');\n break;\n default:\n break;\n }\n\n const dialogRef = this.dialog.open(AXNotificationComponent, {\n data: config,\n autoFocus: \"__no_element__\",\n restoreFocus: false,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy\n });\n\n const toastRef = dialogRef.componentInstance as AXNotificationComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n })\n\n return {\n close: () => {\n toastRef.close();\n }\n }\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs.map(c => c.componentInstance as AXNotificationComponent).filter(c => c.config.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n }\n else {\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXNotificationComponent } from './notification.component';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXNotificationService } from './notification.service';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\n\nconst COMPONENT = [AXNotificationComponent];\nconst MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXNotificationService],\n})\nexport class AXNotificationModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|