@acorex/components 7.2.7 → 7.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.d.ts +1 -1
- package/action-sheet/lib/action-sheet.class.d.ts +31 -0
- package/action-sheet/lib/action-sheet.component.d.ts +12 -13
- package/action-sheet/lib/action-sheet.module.d.ts +2 -1
- package/action-sheet/lib/action-sheet.service.d.ts +4 -8
- package/alert/lib/alert.component.d.ts +12 -11
- package/button/lib/button-group.component.d.ts +6 -6
- package/button/lib/button-item.class.d.ts +6 -2
- package/button/lib/button-item.component.d.ts +6 -6
- package/button/lib/button.component.d.ts +5 -3
- package/calendar/lib/calendar.component.d.ts +2 -1
- package/check-box/README.md +3 -0
- package/check-box/index.d.ts +2 -0
- package/check-box/lib/check-box.component.d.ts +14 -0
- package/{checkbox/lib/checkbox.module.d.ts → check-box/lib/check-box.module.d.ts} +1 -1
- package/chips/lib/chips.component.d.ts +2 -2
- package/color-palette/lib/color-palette-input.component.d.ts +10 -7
- package/color-palette/lib/color-palette-picker.component.d.ts +10 -5
- package/color-palette/lib/color-palette-preview.component.d.ts +8 -4
- package/color-palette/lib/color-palette-swatches.component.d.ts +9 -6
- package/color-palette/lib/color-palette.class.d.ts +12 -6
- package/color-palette/lib/color-palette.component.d.ts +3 -15
- package/color-palette/lib/color-palette.module.d.ts +9 -8
- package/color-picker/lib/color-picker.component.d.ts +17 -24
- package/color-picker/lib/color-picker.module.d.ts +1 -1
- package/common/index.d.ts +3 -1
- package/common/lib/classes/components.class.d.ts +12 -2
- package/common/lib/classes/datalist.class.d.ts +11 -0
- package/common/lib/common.module.d.ts +3 -4
- package/common/lib/components/base-component.class.d.ts +13 -5
- package/common/lib/components/input-base-value-component.class.d.ts +27 -0
- package/common/lib/components/interactive-component.class.d.ts +7 -0
- package/common/lib/components/value-component.class.d.ts +22 -8
- package/common/lib/directives/auto-focus.directive.d.ts +6 -5
- package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
- package/common/lib/services/dom.service.d.ts +6 -0
- package/data-pager/lib/data-pager-base.component.d.ts +18 -13
- package/data-pager/lib/data-pager-info.component.d.ts +3 -9
- package/data-pager/lib/data-pager-input-selector.component.d.ts +5 -9
- package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -8
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +2 -7
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +2 -6
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -7
- package/data-pager/lib/data-pager.component.d.ts +17 -18
- package/data-pager/lib/data-pager.module.d.ts +6 -5
- package/data-table/index.d.ts +0 -1
- package/data-table/lib/data-column.directive.d.ts +3 -8
- package/data-table/lib/data-table.component.d.ts +6 -7
- package/data-table/lib/data-table.module.d.ts +6 -7
- package/date-picker/lib/datepicker.component.d.ts +7 -6
- package/date-picker/lib/datepicker.module.d.ts +1 -1
- package/decorators/index.d.ts +2 -12
- package/decorators/lib/clear-button.component.d.ts +13 -0
- package/decorators/lib/close-button.component.d.ts +5 -8
- package/decorators/lib/decorators.module.d.ts +6 -15
- package/decorators/lib/generic-content.component.d.ts +6 -0
- package/decorators/lib/icon.component.d.ts +2 -4
- package/dialog/lib/dialog.class.d.ts +11 -3
- package/dialog/lib/dialog.component.d.ts +15 -11
- package/dialog/lib/dialog.module.d.ts +4 -3
- package/dialog/lib/dialog.service.d.ts +4 -12
- package/drawer/lib/drawer-container.component.d.ts +2 -5
- package/drawer/lib/drawer.component.d.ts +6 -7
- package/esm2022/acorex-components.mjs +1 -1
- package/esm2022/action-sheet/index.mjs +2 -2
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +50 -38
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +11 -7
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +32 -72
- package/esm2022/alert/lib/alert.component.mjs +19 -20
- package/esm2022/alert/lib/alert.module.mjs +7 -7
- package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar.module.mjs +4 -4
- package/esm2022/badge/lib/badge.component.mjs +7 -7
- package/esm2022/badge/lib/badge.module.mjs +4 -4
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
- package/esm2022/button/lib/button-group.component.mjs +3 -3
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button-item.component.mjs +3 -3
- package/esm2022/button/lib/button.component.mjs +34 -17
- package/esm2022/button/lib/button.module.mjs +4 -4
- package/esm2022/calendar/lib/calendar-range.component.mjs +5 -5
- package/esm2022/calendar/lib/calendar.class.mjs +3 -3
- package/esm2022/calendar/lib/calendar.component.mjs +18 -15
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
- package/esm2022/check-box/index.mjs +3 -0
- package/esm2022/check-box/lib/check-box.component.mjs +76 -0
- package/esm2022/check-box/lib/check-box.module.mjs +21 -0
- package/esm2022/chips/lib/chips.component.mjs +7 -6
- package/esm2022/chips/lib/chips.module.mjs +4 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/collapse/lib/collapse.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +64 -73
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +63 -58
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +30 -25
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +32 -246
- package/esm2022/color-palette/lib/color-palette.class.mjs +229 -8
- package/esm2022/color-palette/lib/color-palette.component.mjs +32 -47
- package/esm2022/color-palette/lib/color-palette.module.mjs +10 -7
- package/esm2022/color-picker/lib/color-picker.component.mjs +12 -6
- package/esm2022/color-picker/lib/color-picker.module.mjs +6 -6
- package/esm2022/common/index.mjs +4 -2
- package/esm2022/common/lib/classes/components.class.mjs +26 -19
- package/esm2022/common/lib/classes/datalist.class.mjs +3 -0
- package/esm2022/common/lib/common.module.mjs +5 -10
- package/esm2022/common/lib/components/base-component.class.mjs +26 -13
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +47 -0
- package/esm2022/common/lib/components/interactive-component.class.mjs +31 -4
- package/esm2022/common/lib/components/value-component.class.mjs +57 -33
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +18 -11
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +49 -0
- package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
- package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
- package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +6 -6
- package/esm2022/common/lib/services/dom.service.mjs +16 -0
- package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
- package/esm2022/common/lib/services/overlay.service.mjs +3 -3
- package/esm2022/context-menu/lib/context-menu.component.mjs +5 -5
- package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +35 -21
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +13 -26
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +27 -31
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +19 -33
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +31 -38
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +22 -31
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -29
- package/esm2022/data-pager/lib/data-pager.component.mjs +66 -38
- package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
- package/esm2022/data-table/index.mjs +1 -2
- package/esm2022/data-table/lib/data-column.directive.mjs +7 -22
- package/esm2022/data-table/lib/data-table.component.mjs +30 -30
- package/esm2022/data-table/lib/data-table.module.mjs +6 -7
- package/esm2022/date-picker/lib/datepicker.component.mjs +19 -16
- package/esm2022/date-picker/lib/datepicker.module.mjs +6 -6
- package/esm2022/decorators/index.mjs +3 -13
- package/esm2022/decorators/lib/clear-button.component.mjs +58 -0
- package/esm2022/decorators/lib/close-button.component.mjs +16 -20
- package/esm2022/decorators/lib/decorators.module.mjs +13 -49
- package/esm2022/decorators/lib/generic-content.component.mjs +17 -0
- package/esm2022/decorators/lib/icon.component.mjs +8 -11
- package/esm2022/dialog/lib/dialog.class.mjs +1 -1
- package/esm2022/dialog/lib/dialog.component.mjs +41 -23
- package/esm2022/dialog/lib/dialog.module.mjs +10 -8
- package/esm2022/dialog/lib/dialog.service.mjs +41 -49
- package/esm2022/drawer/lib/drawer-container.component.mjs +9 -13
- package/esm2022/drawer/lib/drawer.component.mjs +23 -27
- package/esm2022/drawer/lib/drawer.module.mjs +4 -4
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +4 -4
- package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
- package/esm2022/form/lib/form-field.component.mjs +9 -12
- package/esm2022/form/lib/form.component.mjs +38 -42
- package/esm2022/form/lib/form.module.mjs +4 -4
- package/esm2022/form/lib/validation-rule.widget.mjs +24 -15
- package/esm2022/form/lib/validation-summary.component.mjs +15 -14
- package/esm2022/image/lib/image.component.mjs +13 -17
- package/esm2022/image/lib/image.module.mjs +4 -4
- package/esm2022/index.mjs +1 -1
- package/esm2022/label/lib/label.component.mjs +18 -18
- package/esm2022/label/lib/label.module.mjs +4 -4
- package/esm2022/loading/index.mjs +2 -1
- package/esm2022/loading/lib/loading-spinner.component.mjs +4 -5
- package/esm2022/loading/lib/loading.component.mjs +22 -25
- package/esm2022/loading/lib/loading.config.mjs +17 -0
- package/esm2022/loading/lib/loading.directive.mjs +4 -4
- package/esm2022/loading/lib/loading.module.mjs +6 -17
- package/esm2022/loading/lib/loading.service.mjs +4 -36
- package/esm2022/menu/lib/menu.component.mjs +26 -19
- package/esm2022/menu/lib/menu.module.mjs +4 -4
- package/esm2022/mixin/lib/base-components.class.mjs +3 -3
- package/esm2022/mixin/lib/base-menu-mixin.class.mjs +3 -3
- package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -1
- package/esm2022/notification/index.mjs +2 -1
- package/esm2022/notification/lib/notification.class.mjs +1 -1
- package/esm2022/notification/lib/notification.component.mjs +51 -35
- package/esm2022/notification/lib/notification.config.mjs +20 -0
- package/esm2022/notification/lib/notification.module.mjs +11 -7
- package/esm2022/notification/lib/notification.service.mjs +46 -59
- package/esm2022/number-box/lib/number-box.component.mjs +101 -90
- package/esm2022/number-box/lib/number-box.module.mjs +4 -4
- package/esm2022/otp/lib/otp.component.mjs +38 -48
- package/esm2022/otp/lib/otp.module.mjs +4 -4
- package/esm2022/page/lib/base-page.class.mjs +6 -6
- 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 +37 -25
- package/esm2022/password-box/lib/password-box.module.mjs +4 -4
- package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
- package/esm2022/popover/lib/popover.component.mjs +3 -3
- package/esm2022/popover/lib/popover.module.mjs +4 -4
- package/esm2022/popup/index.mjs +2 -1
- package/esm2022/popup/lib/popup.component.mjs +49 -69
- package/esm2022/popup/lib/popup.interface.mjs +2 -0
- package/esm2022/popup/lib/popup.module.mjs +27 -12
- package/esm2022/popup/lib/popup.service.mjs +31 -86
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
- package/esm2022/radio/lib/radio.component.mjs +4 -4
- package/esm2022/radio/lib/radio.module.mjs +4 -4
- package/esm2022/range-slider/lib/range-slider.component.mjs +27 -22
- package/esm2022/range-slider/lib/range-slider.module.mjs +7 -6
- package/esm2022/result/lib/result.component.mjs +3 -3
- package/esm2022/result/lib/result.module.mjs +4 -4
- package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
- package/esm2022/scheduler/index.mjs +4 -0
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +45 -0
- package/esm2022/scheduler/lib/scheduler.component.mjs +30 -0
- package/esm2022/scheduler/lib/scheduler.module.mjs +26 -0
- package/esm2022/search-box/lib/search-box.component.mjs +35 -44
- package/esm2022/search-box/lib/search-box.module.mjs +28 -7
- package/esm2022/select-box/lib/select-box.component.mjs +11 -9
- package/esm2022/select-box/lib/select-box.module.mjs +7 -7
- package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
- package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
- package/esm2022/switch/lib/switch-content.component.mjs +3 -3
- package/esm2022/switch/lib/switch.component.mjs +27 -24
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
- package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.component.mjs +3 -3
- package/esm2022/tabs/lib/tabs.module.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +3 -3
- package/esm2022/tag/lib/tag.module.mjs +4 -4
- package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
- package/esm2022/text-area/index.mjs +3 -0
- package/esm2022/text-area/lib/text-area.component.mjs +36 -0
- package/esm2022/text-area/lib/text-area.module.mjs +19 -0
- package/esm2022/{checkbox/acorex-components-checkbox.mjs → text-box/acorex-components-text-box.mjs} +1 -1
- package/esm2022/text-box/index.mjs +4 -0
- package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
- package/esm2022/text-box/lib/text-box.component.mjs +111 -0
- package/esm2022/text-box/lib/text-box.module.mjs +38 -0
- package/esm2022/time-box/lib/time-box.component.mjs +5 -5
- package/esm2022/time-box/lib/time-box.module.mjs +4 -4
- package/esm2022/toast/index.mjs +2 -1
- package/esm2022/toast/lib/toast.class.mjs +1 -1
- package/esm2022/toast/lib/toast.component.mjs +37 -25
- package/esm2022/toast/lib/toast.config.mjs +19 -0
- package/esm2022/toast/lib/toast.module.mjs +12 -8
- package/esm2022/toast/lib/toast.service.mjs +46 -55
- package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
- package/esm2022/uploader/lib/uploader.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader.module.mjs +4 -4
- package/fesm2022/acorex-components-action-sheet.mjs +99 -125
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +21 -22
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs +9 -9
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-button.mjs +41 -24
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +28 -25
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +100 -0
- package/fesm2022/acorex-components-check-box.mjs.map +1 -0
- package/fesm2022/acorex-components-chips.mjs +10 -9
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-color-palette.mjs +432 -437
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +16 -10
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +282 -150
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +8 -8
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +214 -228
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +41 -71
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +25 -22
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +80 -283
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +97 -88
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +31 -39
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +7 -7
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +80 -77
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +15 -19
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +21 -21
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +51 -83
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +29 -22
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +4 -5
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +131 -107
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +106 -96
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +40 -50
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +12 -12
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +41 -30
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +10 -10
- package/fesm2022/acorex-components-popup.mjs +107 -170
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs +8 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +31 -27
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-scheduler.mjs +98 -0
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
- package/fesm2022/acorex-components-search-box.mjs +61 -49
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +16 -14
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +8 -8
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +33 -31
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +13 -13
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs +59 -0
- package/fesm2022/acorex-components-text-area.mjs.map +1 -0
- package/fesm2022/{acorex-components-textbox.mjs → acorex-components-text-box.mjs} +49 -32
- package/fesm2022/acorex-components-text-box.mjs.map +1 -0
- package/fesm2022/acorex-components-time-box.mjs +8 -8
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +116 -94
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-uploader.mjs +7 -7
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/form/lib/form-field.component.d.ts +2 -4
- package/form/lib/form.component.d.ts +12 -17
- package/form/lib/validation-rule.widget.d.ts +9 -6
- package/form/lib/validation-summary.component.d.ts +7 -9
- package/image/lib/image.component.d.ts +7 -13
- package/label/lib/label.component.d.ts +4 -7
- package/loading/index.d.ts +1 -0
- package/loading/lib/loading.component.d.ts +9 -12
- package/loading/lib/loading.config.d.ts +8 -0
- package/loading/lib/loading.directive.d.ts +5 -5
- package/loading/lib/loading.module.d.ts +0 -1
- package/loading/lib/loading.service.d.ts +0 -18
- package/menu/lib/menu.component.d.ts +4 -2
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +3 -3
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/loading-mixin.class.d.ts +2 -2
- package/mixin/lib/mixin.class.d.ts +61 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +8 -8
- package/notification/index.d.ts +1 -0
- package/notification/lib/notification.class.d.ts +29 -7
- package/notification/lib/notification.component.d.ts +13 -14
- package/notification/lib/notification.config.d.ts +13 -0
- package/notification/lib/notification.module.d.ts +4 -1
- package/notification/lib/notification.service.d.ts +5 -9
- package/number-box/lib/number-box.component.d.ts +12 -17
- package/otp/lib/otp.component.d.ts +7 -14
- package/package.json +36 -30
- package/page/lib/base-page.class.d.ts +2 -2
- package/password-box/lib/password-box.component.d.ts +8 -11
- package/popup/index.d.ts +1 -0
- package/popup/lib/popup.component.d.ts +14 -19
- package/popup/lib/popup.interface.d.ts +26 -0
- package/popup/lib/popup.module.d.ts +4 -4
- package/popup/lib/popup.service.d.ts +4 -25
- package/range-slider/lib/range-slider.component.d.ts +6 -14
- package/range-slider/lib/range-slider.module.d.ts +3 -2
- package/scheduler/README.md +3 -0
- package/scheduler/index.d.ts +3 -0
- package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
- package/scheduler/lib/scheduler.component.d.ts +11 -0
- package/scheduler/lib/scheduler.module.d.ts +13 -0
- package/search-box/lib/search-box.component.d.ts +8 -16
- package/search-box/lib/search-box.module.d.ts +7 -5
- package/select-box/lib/select-box.module.d.ts +2 -2
- package/selection-list/lib/selection-list.module.d.ts +1 -1
- package/switch/lib/switch.component.d.ts +10 -8
- package/tabs/lib/tab-item.component.d.ts +2 -2
- package/text-area/README.md +3 -0
- package/text-area/index.d.ts +2 -0
- package/text-area/lib/text-area.component.d.ts +11 -0
- package/text-area/lib/text-area.module.d.ts +9 -0
- package/text-box/README.md +3 -0
- package/text-box/index.d.ts +3 -0
- package/text-box/lib/text-box.component.d.ts +25 -0
- package/{textbox/lib/textbox.module.d.ts → text-box/lib/text-box.module.d.ts} +1 -1
- package/time-box/lib/time-box.component.d.ts +1 -1
- package/toast/index.d.ts +1 -0
- package/toast/lib/toast.class.d.ts +14 -5
- package/toast/lib/toast.component.d.ts +13 -12
- package/toast/lib/toast.config.d.ts +12 -0
- package/toast/lib/toast.module.d.ts +4 -1
- package/toast/lib/toast.service.d.ts +5 -9
- package/action-sheet/lib/action-sheet.interface.d.ts +0 -21
- package/checkbox/README.md +0 -3
- package/checkbox/index.d.ts +0 -2
- package/checkbox/lib/checkbox.component.d.ts +0 -17
- package/common/lib/directives/debounce-time.directive.d.ts +0 -17
- package/data-table/lib/data-column-cell-template.directive.d.ts +0 -8
- package/decorators/lib/content.component.d.ts +0 -9
- package/decorators/lib/divider.component.d.ts +0 -5
- package/decorators/lib/footer.component.d.ts +0 -9
- package/decorators/lib/form-hint.component.d.ts +0 -8
- package/decorators/lib/header.component.d.ts +0 -9
- package/decorators/lib/overlay.component.d.ts +0 -6
- package/decorators/lib/placeholder.component.d.ts +0 -5
- package/decorators/lib/prefix.component.d.ts +0 -9
- package/decorators/lib/sub-title.component.d.ts +0 -9
- package/decorators/lib/suffix.component.d.ts +0 -9
- package/decorators/lib/text.component.d.ts +0 -9
- package/decorators/lib/title.component.d.ts +0 -8
- package/esm2022/action-sheet/lib/action-sheet.interface.mjs +0 -2
- package/esm2022/checkbox/index.mjs +0 -3
- package/esm2022/checkbox/lib/checkbox.component.mjs +0 -49
- package/esm2022/checkbox/lib/checkbox.module.mjs +0 -21
- package/esm2022/common/lib/directives/debounce-time.directive.mjs +0 -48
- package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +0 -17
- package/esm2022/decorators/lib/content.component.mjs +0 -26
- package/esm2022/decorators/lib/divider.component.mjs +0 -17
- package/esm2022/decorators/lib/footer.component.mjs +0 -26
- package/esm2022/decorators/lib/form-hint.component.mjs +0 -20
- package/esm2022/decorators/lib/header.component.mjs +0 -26
- package/esm2022/decorators/lib/overlay.component.mjs +0 -22
- package/esm2022/decorators/lib/placeholder.component.mjs +0 -14
- package/esm2022/decorators/lib/prefix.component.mjs +0 -26
- package/esm2022/decorators/lib/sub-title.component.mjs +0 -26
- package/esm2022/decorators/lib/suffix.component.mjs +0 -26
- package/esm2022/decorators/lib/text.component.mjs +0 -21
- package/esm2022/decorators/lib/title.component.mjs +0 -20
- package/esm2022/textarea/acorex-components-textarea.mjs +0 -5
- package/esm2022/textarea/index.mjs +0 -3
- package/esm2022/textarea/lib/textarea.component.mjs +0 -37
- package/esm2022/textarea/lib/textarea.module.mjs +0 -19
- package/esm2022/textbox/acorex-components-textbox.mjs +0 -5
- package/esm2022/textbox/index.mjs +0 -4
- package/esm2022/textbox/lib/mask-options.directive.mjs +0 -17
- package/esm2022/textbox/lib/textbox.component.mjs +0 -93
- package/esm2022/textbox/lib/textbox.module.mjs +0 -38
- package/fesm2022/acorex-components-checkbox.mjs +0 -74
- package/fesm2022/acorex-components-checkbox.mjs.map +0 -1
- package/fesm2022/acorex-components-textarea.mjs +0 -60
- package/fesm2022/acorex-components-textarea.mjs.map +0 -1
- package/fesm2022/acorex-components-textbox.mjs.map +0 -1
- package/textarea/README.md +0 -3
- package/textarea/index.d.ts +0 -2
- package/textarea/lib/textarea.component.d.ts +0 -14
- package/textarea/lib/textarea.module.d.ts +0 -9
- package/textbox/README.md +0 -3
- package/textbox/index.d.ts +0 -3
- package/textbox/lib/textbox.component.d.ts +0 -27
- /package/{textbox → text-box}/lib/mask-options.directive.d.ts +0 -0
@@ -1,17 +1,18 @@
|
|
1
|
-
import { AXColorUtil } from '@acorex/core/utils';
|
2
|
-
import { Inject,
|
3
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation, } from '@angular/core';
|
4
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
1
|
+
import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
|
2
|
+
import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation, } from '@angular/core';
|
5
3
|
import { MXBaseComponent } from '@acorex/components/common';
|
6
|
-
import {
|
4
|
+
import { AXColorPaletteChildComponent, AXColorPaletteParentComponent, } from './color-palette.class';
|
7
5
|
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@acorex/
|
9
|
-
import * as i2 from "@angular/
|
10
|
-
import * as i3 from "
|
6
|
+
import * as i1 from "@acorex/core/utils";
|
7
|
+
import * as i2 from "@angular/forms";
|
8
|
+
import * as i3 from "@acorex/components/range-slider";
|
9
|
+
import * as i4 from "@angular/cdk/drag-drop";
|
10
|
+
import * as i5 from "./color-palette.class";
|
11
11
|
export class AXColorPalettePickerComponent extends MXBaseComponent {
|
12
|
-
constructor(_parent) {
|
12
|
+
constructor(_parent, _unsubscriber) {
|
13
13
|
super();
|
14
14
|
this._parent = _parent;
|
15
|
+
this._unsubscriber = _unsubscriber;
|
15
16
|
this._rgba = {
|
16
17
|
r: 0,
|
17
18
|
g: 0,
|
@@ -29,54 +30,58 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
|
|
29
30
|
{ color: 'rgb(255, 0, 255)', pos: 0.83 },
|
30
31
|
{ color: 'rgb(255, 0, 0)', pos: 1 },
|
31
32
|
];
|
33
|
+
this._gradients = AXColorUtil.gradient(this._gradientColors);
|
34
|
+
this._colors = this._gradients.rgb(100);
|
32
35
|
this.dragPosition = { x: 0, y: 0 };
|
33
|
-
_parent.
|
34
|
-
.pipe(
|
36
|
+
_parent.onValueChanged
|
37
|
+
.pipe(_unsubscriber.takeUntilDestroy)
|
35
38
|
.subscribe((e) => {
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
};
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
if (!AXColorUtil.equal(e.color, this._rgba)) {
|
46
|
-
Object.assign(this._rgba, AXColorUtil.to(e.color, 'rgba'));
|
47
|
-
}
|
48
|
-
}
|
49
|
-
this.setHSV();
|
50
|
-
this.cdr.detectChanges();
|
39
|
+
this._handleParentColorChanged();
|
40
|
+
});
|
41
|
+
_parent.onOptionChanged
|
42
|
+
.pipe(_unsubscriber.takeUntilDestroy)
|
43
|
+
.subscribe((e) => {
|
44
|
+
this.cdr.markForCheck();
|
51
45
|
});
|
52
46
|
}
|
53
47
|
setHSV() {
|
54
48
|
const hsv = AXColorUtil.to(this._rgba, 'hsva');
|
49
|
+
const sortedH = this._colors.map(c => c.toHsv().h);
|
50
|
+
//TODO: find closest
|
51
|
+
this._gradient = sortedH.findIndex(c => { return Math.round(c) >= Math.round(hsv.h); });
|
55
52
|
this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
|
56
53
|
this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
|
57
54
|
}
|
55
|
+
_handleParentColorChanged() {
|
56
|
+
const color = this._parent.value;
|
57
|
+
if (!color) {
|
58
|
+
this._rgba = {
|
59
|
+
r: 0,
|
60
|
+
g: 0,
|
61
|
+
b: 0,
|
62
|
+
a: 0,
|
63
|
+
};
|
64
|
+
}
|
65
|
+
else {
|
66
|
+
if (!AXColorUtil.equal(color, this._rgba)) {
|
67
|
+
Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));
|
68
|
+
}
|
69
|
+
}
|
70
|
+
this.setHSV();
|
71
|
+
this.cdr.detectChanges();
|
72
|
+
}
|
58
73
|
_handleAlphaChanged(e) {
|
59
|
-
if (e.
|
74
|
+
if (e.isUserInteraction && e.value != this._rgba.a) {
|
60
75
|
const { r, g, b } = this._rgba;
|
61
76
|
const _color = `rgba(${r},${g},${b},${e.value})`;
|
62
|
-
this._parent.
|
63
|
-
this._parent._onInternalColorChanged$.next({
|
64
|
-
color: AXColorUtil.toString(_color, 'rgba'),
|
65
|
-
sender: this,
|
66
|
-
});
|
77
|
+
this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);
|
67
78
|
}
|
68
79
|
}
|
69
80
|
_handleGradientChanged(e) {
|
70
|
-
if (e.
|
71
|
-
const gradient = AXColorUtil.gradient(this._gradientColors);
|
72
|
-
const colors = gradient.rgb(100);
|
81
|
+
if (e.isUserInteraction && e.value != this._gradient) {
|
73
82
|
const { s, v } = AXColorUtil.to(this._rgba, "hsva");
|
74
|
-
const { h } =
|
75
|
-
this._parent.
|
76
|
-
this._parent._onInternalColorChanged$.next({
|
77
|
-
color: AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'),
|
78
|
-
sender: this,
|
79
|
-
});
|
83
|
+
const { h } = this._colors[e.value].toHsv();
|
84
|
+
this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), e.isUserInteraction);
|
80
85
|
}
|
81
86
|
}
|
82
87
|
_handleSurfaceClick(e) {
|
@@ -86,14 +91,15 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
|
|
86
91
|
return;
|
87
92
|
}
|
88
93
|
const surface = this.getHostElement().querySelector(".ax-color-picker-overlay");
|
89
|
-
const sb = surface.getBoundingClientRect();
|
90
94
|
const pointer = this.getHostElement().querySelector(".ax-color-picker-pointer");
|
91
|
-
const pb = pointer.getBoundingClientRect();
|
92
95
|
let x = e.offsetX;
|
93
96
|
let y = e.offsetY;
|
94
97
|
this.setColorByXY(x, y);
|
95
98
|
}
|
96
99
|
_handleDrag() {
|
100
|
+
if (this._parent.disabled || this._parent.readonly) {
|
101
|
+
return;
|
102
|
+
}
|
97
103
|
const surface = this.getHostElement().querySelector(".ax-color-picker-overlay");
|
98
104
|
const sb = surface.getBoundingClientRect();
|
99
105
|
const pointer = this.getHostElement().querySelector(".ax-color-picker-pointer");
|
@@ -120,13 +126,12 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
|
|
120
126
|
s: (x / sb.width),
|
121
127
|
v: ((sb.height - y) / sb.height)
|
122
128
|
};
|
123
|
-
this._parent.
|
124
|
-
color: AXColorUtil.toString(hsv, 'rgba'),
|
125
|
-
sender: this,
|
126
|
-
});
|
129
|
+
this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);
|
127
130
|
}
|
128
131
|
setPointerByPercent(x, y) {
|
129
132
|
const surface = this.getHostElement().querySelector(".ax-color-picker-overlay");
|
133
|
+
if (!surface)
|
134
|
+
return;
|
130
135
|
const sb = surface.getBoundingClientRect();
|
131
136
|
const pointer = this.getHostElement().querySelector(".ax-color-picker-pointer");
|
132
137
|
const pb = pointer.getBoundingClientRect();
|
@@ -138,26 +143,26 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
|
|
138
143
|
y: (height - (((y * height)) / 100)) - w
|
139
144
|
};
|
140
145
|
}
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.
|
146
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXColorPalettePickerComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
|
147
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXColorPalettePickerComponent, selector: "ax-color-palette-picker", host: { classAttribute: "ax-color-palette-picker" }, providers: [
|
143
148
|
{
|
144
149
|
provide: AXColorPaletteChildComponent,
|
145
150
|
useExisting: AXColorPalettePickerComponent,
|
146
151
|
},
|
147
|
-
|
152
|
+
AXUnsubscriber
|
153
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay-trans\">\n <div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-picker-overlay-g1\"></div>\n <div class=\"ax-color-picker-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div class=\"ax-color-picker-pointer\" cdkDrag cdkDragBoundary=\".ax-color-picker-overlay\" [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\" \n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\">\n </div>\n </div>\n</div>\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"100\" [step]=\"1\" \n [ngModel]=\"_gradient\" \n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleGradientChanged($event)\" >\n</ax-range-slider>\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" \n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleAlphaChanged($event)\">\n</ax-range-slider>", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "disabled", "value", "name", "minValue", "maxValue", "step", "color", "oriantaion"], outputs: ["valueChange", "onValueChanged", "readonlyChange", "disabledChange", "colorChange"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
148
154
|
}
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
|
150
156
|
type: Component,
|
151
157
|
args: [{ selector: 'ax-color-palette-picker', host: { class: 'ax-color-palette-picker' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
152
158
|
{
|
153
159
|
provide: AXColorPaletteChildComponent,
|
154
160
|
useExisting: AXColorPalettePickerComponent,
|
155
161
|
},
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
}, {
|
162
|
+
AXUnsubscriber
|
163
|
+
], template: "<div class=\"ax-color-picker-overlay-trans\">\n <div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-picker-overlay-g1\"></div>\n <div class=\"ax-color-picker-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div class=\"ax-color-picker-pointer\" cdkDrag cdkDragBoundary=\".ax-color-picker-overlay\" [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\" \n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\">\n </div>\n </div>\n</div>\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"100\" [step]=\"1\" \n [ngModel]=\"_gradient\" \n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleGradientChanged($event)\" >\n</ax-range-slider>\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" \n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleAlphaChanged($event)\">\n</ax-range-slider>" }]
|
164
|
+
}], ctorParameters: function () { return [{ type: i5.AXColorPaletteParentComponent, decorators: [{
|
160
165
|
type: Inject,
|
161
|
-
args: [
|
162
|
-
}] }]; } });
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQWMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFzQixlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDRCQUE0QixHQUM3QixNQUFNLHVCQUF1QixDQUFDOzs7OztBQWUvQixNQUFNLE9BQU8sNkJBQThCLFNBQVEsZUFBZTtJQXdCaEUsWUFHUyxPQUF5QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUZELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBMUJsQyxVQUFLLEdBQW1EO1lBQ3RELENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVRLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFdEIsYUFBUSxHQUFXLE1BQU0sQ0FBQztRQUU1QixvQkFBZSxHQUFVO1lBQy9CLEVBQUUsS0FBSyxFQUFF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QzNCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVywrQkFBK0I7eUJBQzNDO3FCQUNGOzswQkEyQkUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbG9yVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50LE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhDb2xvckNvbXBvbmVudCxcbiAgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbn0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInIH0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX3JnYmE6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0gPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICBwcm90ZWN0ZWQgX2dyYWRpZW50OiBudW1iZXIgPSAwO1xuXG4gIHByb3RlY3RlZCBfYmdDb2xvcjogc3RyaW5nID0gJyNGMDAnO1xuXG4gIHByaXZhdGUgX2dyYWRpZW50Q29sb3JzOiBhbnlbXSA9IFtcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDAgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMjU1LCAwKScsIHBvczogMC4xNyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAwKScsIHBvczogMC4zMyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAyNTUpJywgcG9zOiAwLjUgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDAsIDI1NSknLCBwb3M6IDAuNjcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMjU1KScsIHBvczogMC44MyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMSB9LFxuICBdO1xuXG4gIHByb3RlY3RlZCBkcmFnUG9zaXRpb24gPSB7IHg6IDAsIHk6IDAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoQVhDb2xvckNvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvckNvbXBvbmVudFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICBpZiAoIWUuY29sb3IpIHtcbiAgICAgICAgICB0aGlzLl9yZ2JhID0ge1xuICAgICAgICAgICAgcjogMCxcbiAgICAgICAgICAgIGc6IDAsXG4gICAgICAgICAgICBiOiAwLFxuICAgICAgICAgICAgYTogMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghQVhDb2xvclV0aWwuZXF1YWwoZS5jb2xvciwgdGhpcy5fcmdiYSkpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcmdiYSwgQVhDb2xvclV0aWwudG8oZS5jb2xvciwgJ3JnYmEnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0SFNWKClcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEhTVigpIHtcbiAgICBjb25zdCBoc3YgPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCAnaHN2YScpIGFzIGFueTtcbiAgICB0aGlzLl9iZ0NvbG9yID0gQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoOiBoc3YuaCwgczogMSwgdjogMSwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyk7XG4gICAgdGhpcy5zZXRQb2ludGVyQnlQZXJjZW50KGhzdi5zICogMTAwLCBoc3YudiAqIDEwMCk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBfaGFuZGxlQWxwaGFDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xuICAgIGlmIChlLnZhbHVlICE9IG51bGwgJiYgZS52YWx1ZSAhPSB0aGlzLl9yZ2JhLmEpIHtcbiAgICAgIGNvbnN0IHsgciwgZywgYiB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7ZS52YWx1ZX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIGNvbG9yOiBBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksXG4gICAgICAgIHNlbmRlcjogdGhpcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xuICAgIGlmIChlLnZhbHVlICE9IG51bGwgJiYgZS52YWx1ZSAhPSB0aGlzLl9ncmFkaWVudCkge1xuICAgICAgY29uc3QgZ3JhZGllbnQgPSBBWENvbG9yVXRpbC5ncmFkaWVudCh0aGlzLl9ncmFkaWVudENvbG9ycyk7XG4gICAgICBjb25zdCBjb2xvcnMgPSBncmFkaWVudC5yZ2IoMTAwKTtcbiAgICAgIGNvbnN0IHsgcywgdiB9ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgXCJoc3ZhXCIpIGFzIGFueTtcbiAgICAgIGNvbnN0IHsgaCB9ID0gY29sb3JzW2UudmFsdWVdLnRvSHN2KCk7XG4gICAgICB0aGlzLl9wYXJlbnQuc2V0VXNlckludGVyYWN0aW9uKCk7XG4gICAgICB0aGlzLl9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkLm5leHQoe1xuICAgICAgICBjb2xvcjogQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoLCBzLCB2LCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKSxcbiAgICAgICAgc2VuZGVyOiB0aGlzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVTdXJmYWNlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpXG4gICAge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItcG9pbnRlclwiKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgbGV0IHggPSBlLm9mZnNldFg7XG4gICAgbGV0IHkgPSBlLm9mZnNldFk7XG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItcG9pbnRlclwiKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IChwYi53aWR0aCAvIDIpO1xuICAgIGxldCB4ID0gKHBiLmxlZnQgLSBzYi5sZWZ0KSArIHc7XG4gICAgbGV0IHkgPSAocGIudG9wIC0gc2IudG9wKSArIHc7XG4gICAgLy9cbiAgICB4ID0geCA8IDAgPyAwIDogeDtcbiAgICB4ID0geCA+IHNiLndpZHRoID8gc2Iud2lkdGggOiB4O1xuICAgIC8vXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XG4gICAgeSA9IHkgPiBzYi5oZWlnaHQgPyBzYi5oZWlnaHQgOiB5O1xuICAgIC8vXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbG9yQnlYWSh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIik7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vXG4gICAgY29uc3QgeyBoIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCBcImhzdmFcIikgYXMgYW55O1xuICAgIGNvbnN0IGhzdiA9IHtcbiAgICAgIGgsXG4gICAgICBzOiAoeCAvIHNiLndpZHRoKSxcbiAgICAgIHY6ICgoc2IuaGVpZ2h0IC0geSkgLyBzYi5oZWlnaHQpXG4gICAgfVxuICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICBjb2xvcjogQVhDb2xvclV0aWwudG9TdHJpbmcoaHN2LCAncmdiYScpLFxuICAgICAgc2VuZGVyOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItcG9pbnRlclwiKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IChwYi53aWR0aCAvIDIpO1xuICAgIGNvbnN0IHdpZHRoID0gc2Iud2lkdGg7Ly8rIHBiLndpZHRoXG4gICAgY29uc3QgaGVpZ2h0ID0gc2IuaGVpZ2h0Oy8vICsgcGIud2lkdGhcbiAgICB0aGlzLmRyYWdQb3NpdGlvbiA9IHtcbiAgICAgIHg6ICgoeCAqIHdpZHRoKSAvIDEwMCkgLSB3LFxuICAgICAgeTogKGhlaWdodCAtICgoKHkgKiBoZWlnaHQpKSAvIDEwMCkpIC0gd1xuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheS10cmFuc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheVwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIl9iZ0NvbG9yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheS1nMVwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXktZzJcIiAoY2xpY2spPVwiX2hhbmRsZVN1cmZhY2VDbGljaygkZXZlbnQpXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItcG9pbnRlclwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LWNvbG9yLXBpY2tlci1vdmVybGF5XCIgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblwiIChjZGtEcmFnRW5kZWQpPVwiX2hhbmRsZURyYWcoKVwiIFxuICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWQgfHwgX3BhcmVudC5yZWFkb25seVwiPlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48YXgtcmFuZ2Utc2xpZGVyIGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLWdyYWRpZW50XCIgW21pblZhbHVlXT1cIjBcIiBbbWF4VmFsdWVdPVwiOTlcIiBbc3RlcF09XCIxXCIgW3ZhbHVlXT1cIl9ncmFkaWVudFwiIFxuICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKCRldmVudClcIiAgXG4gICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCI+XG48L2F4LXJhbmdlLXNsaWRlcj5cbjxheC1yYW5nZS1zbGlkZXIgY2xhc3M9XCJheC1jb2xvci1waWNrZXItdHJhbnNwYXJlbnRcIiBbbWluVmFsdWVdPVwiMFwiIFttYXhWYWx1ZV09XCIxXCIgW3N0ZXBdPVwiMC4wMVwiIFt2YWx1ZV09XCJfcmdiYS5hXCJcbiAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlQWxwaGFDaGFuZ2VkKCRldmVudClcIj5cbjwvYXgtcmFuZ2Utc2xpZGVyPiJdfQ==
|
166
|
+
args: [AXColorPaletteParentComponent]
|
167
|
+
}] }, { type: i1.AXUnsubscriber }]; } });
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFDTCw0QkFBNEIsRUFBRSw2QkFBNkIsR0FDNUQsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQWdCL0IsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGVBQWU7SUE0QmhFLFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUE5QnZDLFVBQUssR0FBbUQ7WUFDdEQsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRVEsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUV0QixhQUFRLEdBQVcsTUFBTSxDQUFDO1FBRW5CLG9CQUFlLEdBQVU7WUFDeEMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtZ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Q0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUM7SUFDSixDQUFDOzhHQXZKVSw2QkFBNkIsa0JBNkI5Qiw2QkFBNkI7a0dBN0I1Qiw2QkFBNkIsdUdBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDRCQUE0QjtnQkFDckMsV0FBVyxFQUFFLDZCQUE2QjthQUMzQztZQUNELGNBQWM7U0FDZixpREN4QkgsbW5DQW9Ca0I7OzJGRE1MLDZCQUE2QjtrQkFkekMsU0FBUzsrQkFDRSx5QkFBeUIsUUFFN0IsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsaUJBQzNCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVywrQkFBK0I7eUJBQzNDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQStCRSxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JVdGlsLCBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQsXG59IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2F4LWNvbG9yLXBhbGV0dGUtcGlja2VyJyB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX3JnYmE6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0gPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICBwcm90ZWN0ZWQgX2dyYWRpZW50OiBudW1iZXIgPSAwO1xuXG4gIHByb3RlY3RlZCBfYmdDb2xvcjogc3RyaW5nID0gJyNGMDAnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50Q29sb3JzOiBhbnlbXSA9IFtcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDAgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMjU1LCAwKScsIHBvczogMC4xNyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAwKScsIHBvczogMC4zMyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAyNTUpJywgcG9zOiAwLjUgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDAsIDI1NSknLCBwb3M6IDAuNjcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMjU1KScsIHBvczogMC44MyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMSB9LFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50cyA9IEFYQ29sb3JVdGlsLmdyYWRpZW50KHRoaXMuX2dyYWRpZW50Q29sb3JzKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29sb3JzID0gdGhpcy5fZ3JhZGllbnRzLnJnYigxMDApO1xuXG5cbiAgcHJvdGVjdGVkIGRyYWdQb3NpdGlvbiA9IHsgeDogMCwgeTogMCB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQpXG4gICAgcHVibGljIF9wYXJlbnQ6IEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50LFxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkXG4gICAgICAucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIHRoaXMuX2hhbmRsZVBhcmVudENvbG9yQ2hhbmdlZCgpO1xuICAgICAgfSk7XG4gICAgX3BhcmVudC5vbk9wdGlvbkNoYW5nZWRcbiAgICAgIC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSlcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SFNWKCkge1xuICAgIGNvbnN0IGhzdiA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IHNvcnRlZEggPSB0aGlzLl9jb2xvcnMubWFwKGMgPT4gYy50b0hzdigpLmgpO1xuICAgIC8vVE9ETzogZmluZCBjbG9zZXN0XG4gICAgdGhpcy5fZ3JhZGllbnQgPSBzb3J0ZWRILmZpbmRJbmRleChjID0+IHsgcmV0dXJuIE1hdGgucm91bmQoYykgPj0gTWF0aC5yb3VuZChoc3YuaCkgfSk7XG4gICAgdGhpcy5fYmdDb2xvciA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaDogaHN2LmgsIHM6IDEsIHY6IDEsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpO1xuICAgIHRoaXMuc2V0UG9pbnRlckJ5UGVyY2VudChoc3YucyAqIDEwMCwgaHN2LnYgKiAxMDApO1xuICB9XG5cblxuICBwcml2YXRlIF9oYW5kbGVQYXJlbnRDb2xvckNoYW5nZWQoKSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLl9wYXJlbnQudmFsdWU7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgdGhpcy5fcmdiYSA9IHtcbiAgICAgICAgcjogMCxcbiAgICAgICAgZzogMCxcbiAgICAgICAgYjogMCxcbiAgICAgICAgYTogMCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghQVhDb2xvclV0aWwuZXF1YWwoY29sb3IsIHRoaXMuX3JnYmEpKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcmdiYSwgQVhDb2xvclV0aWwudG8oY29sb3IsICdyZ2JhJykpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldEhTVigpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVBbHBoYUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+KSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24gJiYgZS52YWx1ZSAhPSB0aGlzLl9yZ2JhLmEpIHtcbiAgICAgIGNvbnN0IHsgciwgZywgYiB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7ZS52YWx1ZX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uICYmIGUudmFsdWUgIT0gdGhpcy5fZ3JhZGllbnQpIHtcbiAgICAgIGNvbnN0IHsgcywgdiB9ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgXCJoc3ZhXCIpIGFzIGFueTtcbiAgICAgIGNvbnN0IHsgaCB9ID0gdGhpcy5fY29sb3JzW2UudmFsdWVdLnRvSHN2KCk7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoLCBzLCB2LCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKSwgZS5pc1VzZXJJbnRlcmFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVTdXJmYWNlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1vdmVybGF5XCIpO1xuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIik7XG4gICAgbGV0IHggPSBlLm9mZnNldFg7XG4gICAgbGV0IHkgPSBlLm9mZnNldFk7XG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItcG9pbnRlclwiKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IChwYi53aWR0aCAvIDIpO1xuICAgIGxldCB4ID0gKHBiLmxlZnQgLSBzYi5sZWZ0KSArIHc7XG4gICAgbGV0IHkgPSAocGIudG9wIC0gc2IudG9wKSArIHc7XG4gICAgLy9cbiAgICB4ID0geCA8IDAgPyAwIDogeDtcbiAgICB4ID0geCA+IHNiLndpZHRoID8gc2Iud2lkdGggOiB4O1xuICAgIC8vXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XG4gICAgeSA9IHkgPiBzYi5oZWlnaHQgPyBzYi5oZWlnaHQgOiB5O1xuICAgIC8vXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbG9yQnlYWSh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIik7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vXG4gICAgY29uc3QgeyBoIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCBcImhzdmFcIikgYXMgYW55O1xuICAgIGNvbnN0IGhzdiA9IHtcbiAgICAgIGgsXG4gICAgICBzOiAoeCAvIHNiLndpZHRoKSxcbiAgICAgIHY6ICgoc2IuaGVpZ2h0IC0geSkgLyBzYi5oZWlnaHQpXG4gICAgfVxuICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhoc3YsICdyZ2JhJyksIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcbiAgICBpZiAoIXN1cmZhY2UpXG4gICAgICByZXR1cm47XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIik7XG4gICAgY29uc3QgcGIgPSBwb2ludGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHcgPSAocGIud2lkdGggLyAyKTtcbiAgICBjb25zdCB3aWR0aCA9IHNiLndpZHRoOy8vKyBwYi53aWR0aFxuICAgIGNvbnN0IGhlaWdodCA9IHNiLmhlaWdodDsvLyArIHBiLndpZHRoXG4gICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7XG4gICAgICB4OiAoKHggKiB3aWR0aCkgLyAxMDApIC0gdyxcbiAgICAgIHk6IChoZWlnaHQgLSAoKCh5ICogaGVpZ2h0KSkgLyAxMDApKSAtIHdcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXktdHJhbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJfYmdDb2xvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXktZzFcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci1vdmVybGF5LWcyXCIgKGNsaWNrKT1cIl9oYW5kbGVTdXJmYWNlQ2xpY2soJGV2ZW50KVwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25cIiAoY2RrRHJhZ0VuZGVkKT1cIl9oYW5kbGVEcmFnKClcIiBcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkIHx8IF9wYXJlbnQucmVhZG9ubHlcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxheC1yYW5nZS1zbGlkZXIgY2xhc3M9XCJheC1jb2xvci1waWNrZXItZ3JhZGllbnRcIiBbbWluVmFsdWVdPVwiMFwiIFttYXhWYWx1ZV09XCIxMDBcIiBbc3RlcF09XCIxXCIgXG4gICAgW25nTW9kZWxdPVwiX2dyYWRpZW50XCIgXG4gICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUdyYWRpZW50Q2hhbmdlZCgkZXZlbnQpXCIgID5cbjwvYXgtcmFuZ2Utc2xpZGVyPlxuPGF4LXJhbmdlLXNsaWRlciBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci10cmFuc3BhcmVudFwiIFttaW5WYWx1ZV09XCIwXCIgW21heFZhbHVlXT1cIjFcIiBbc3RlcF09XCIwLjAxXCIgXG4gICAgW25nTW9kZWxdPVwiX3JnYmEuYVwiXG4gICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUFscGhhQ2hhbmdlZCgkZXZlbnQpXCI+XG48L2F4LXJhbmdlLXNsaWRlcj4iXX0=
|
@@ -1,40 +1,46 @@
|
|
1
1
|
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { AXColorUtil } from '@acorex/core/utils';
|
3
|
-
import { ChangeDetectionStrategy, Component, Inject, NgZone,
|
4
|
-
import {
|
5
|
-
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
2
|
+
import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
|
3
|
+
import { ChangeDetectionStrategy, Component, Inject, NgZone, ViewEncapsulation, } from '@angular/core';
|
4
|
+
import { AXColorPaletteChildComponent, AXColorPaletteParentComponent, } from './color-palette.class';
|
6
5
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "
|
6
|
+
import * as i1 from "@acorex/core/utils";
|
7
|
+
import * as i2 from "./color-palette.class";
|
8
8
|
export class AXColorPalettePreviewComponent extends MXBaseComponent {
|
9
|
-
constructor(_parent, _zone) {
|
9
|
+
constructor(_parent, _zone, _unsubscriber) {
|
10
10
|
super();
|
11
11
|
this._parent = _parent;
|
12
12
|
this._zone = _zone;
|
13
|
-
|
14
|
-
|
13
|
+
this._unsubscriber = _unsubscriber;
|
14
|
+
_parent.onValueChanged
|
15
|
+
.pipe(_unsubscriber.takeUntilDestroy)
|
15
16
|
.subscribe((e) => {
|
16
|
-
_zone.runOutsideAngular(()
|
17
|
-
const inner = this.getHostElement().firstElementChild;
|
18
|
-
inner.style.backgroundColor = e.color;
|
19
|
-
inner.innerText = AXColorUtil.toString(e.color);
|
20
|
-
const color = AXColorUtil.toString(e.color, 'hex');
|
21
|
-
const ratio = AXColorUtil.contrastToWhite(color);
|
22
|
-
this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
|
23
|
-
});
|
17
|
+
_zone.runOutsideAngular(this.applyParent.bind(this));
|
24
18
|
});
|
25
19
|
}
|
26
|
-
|
27
|
-
|
20
|
+
ngAfterViewInit() {
|
21
|
+
this.applyParent();
|
22
|
+
}
|
23
|
+
applyParent() {
|
24
|
+
const inner = this.getHostElement().firstElementChild;
|
25
|
+
inner.style.backgroundColor = this._parent.value;
|
26
|
+
inner.innerText = AXColorUtil.toString(this._parent.value);
|
27
|
+
const color = AXColorUtil.toString(this._parent.value, 'hex');
|
28
|
+
const ratio = AXColorUtil.contrastToWhite(color);
|
29
|
+
this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
|
30
|
+
}
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXColorPalettePreviewComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i0.NgZone }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXColorPalettePreviewComponent, selector: "ax-color-palette-preview", host: { classAttribute: "ax-color-palette-preview" }, providers: [
|
28
33
|
{
|
29
34
|
provide: AXColorPaletteChildComponent,
|
30
35
|
useExisting: AXColorPalettePreviewComponent,
|
31
36
|
},
|
37
|
+
AXUnsubscriber
|
32
38
|
], usesInheritance: true, ngImport: i0, template: `<div
|
33
39
|
class="palette-preview-overlay"
|
34
40
|
[class.ax-state-disabled]="_parent.disabled"
|
35
41
|
></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
36
42
|
}
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXColorPalettePreviewComponent, decorators: [{
|
38
44
|
type: Component,
|
39
45
|
args: [{
|
40
46
|
selector: 'ax-color-palette-preview',
|
@@ -50,12 +56,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
50
56
|
provide: AXColorPaletteChildComponent,
|
51
57
|
useExisting: AXColorPalettePreviewComponent,
|
52
58
|
},
|
59
|
+
AXUnsubscriber
|
53
60
|
],
|
54
61
|
}]
|
55
|
-
}], ctorParameters: function () { return [{ type:
|
56
|
-
type: Optional
|
57
|
-
}, {
|
62
|
+
}], ctorParameters: function () { return [{ type: i2.AXColorPaletteParentComponent, decorators: [{
|
58
63
|
type: Inject,
|
59
|
-
args: [
|
60
|
-
}] }, { type: i0.NgZone }]; } });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
64
|
+
args: [AXColorPaletteParentComponent]
|
65
|
+
}] }, { type: i0.NgZone }, { type: i1.AXUnsubscriber }]; } });
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb2xvci1wYWxldHRlL3NyYy9saWIvY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsNEJBQTRCLEVBQUUsNkJBQTZCLEdBQzVELE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFtQi9CLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxlQUFlO0lBQ2pFLFlBRVMsT0FBc0MsRUFDckMsS0FBYSxFQUNiLGFBQTZCO1FBRXJDLEtBQUssRUFBRSxDQUFDO1FBSkQsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFDckMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUdyQyxPQUFPLENBQUMsY0FBYzthQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBR08sV0FBVztRQUNqQixNQUFNLEtBQUssR0FBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsaUJBQW9DLENBQUM7UUFDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakQsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZFLENBQUM7OEdBM0JVLDhCQUE4QixrQkFFL0IsNkJBQTZCO2tHQUY1Qiw4QkFBOEIseUdBUjlCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDRCQUE0QjtnQkFDckMsV0FBVyxFQUFFLDhCQUE4QjthQUM1QztZQUNELGNBQWM7U0FDZixpREFiUzs7O1VBR0Y7OzJGQVlHLDhCQUE4QjtrQkFqQjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7VUFHRjtvQkFDUixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUU7b0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsZ0NBQWdDO3lCQUM1Qzt3QkFDRCxjQUFjO3FCQUNmO2lCQUNGOzswQkFHSSxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgTmdab25lLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LCBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbn0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1wcmV2aWV3JyxcbiAgdGVtcGxhdGU6IGA8ZGl2XG4gICAgY2xhc3M9XCJwYWxldHRlLXByZXZpZXctb3ZlcmxheVwiXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICA+PC9kaXY+YCxcbiAgaG9zdDogeyBjbGFzczogJ2F4LWNvbG9yLXBhbGV0dGUtcHJldmlldycgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb2xvclBhbGV0dGVQcmV2aWV3Q29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVQcmV2aWV3Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkXG4gICAgICAucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIF96b25lLnJ1bk91dHNpZGVBbmd1bGFyKHRoaXMuYXBwbHlQYXJlbnQuYmluZCh0aGlzKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5UGFyZW50KCk7XG4gIH1cblxuXG4gIHByaXZhdGUgYXBwbHlQYXJlbnQoKSB7XG4gICAgY29uc3QgaW5uZXIgPSAodGhpcy5nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxEaXZFbGVtZW50KTtcbiAgICBpbm5lci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9wYXJlbnQudmFsdWU7XG4gICAgaW5uZXIuaW5uZXJUZXh0ID0gQVhDb2xvclV0aWwudG9TdHJpbmcodGhpcy5fcGFyZW50LnZhbHVlKTtcbiAgICBjb25zdCBjb2xvciA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHRoaXMuX3BhcmVudC52YWx1ZSwgJ2hleCcpO1xuICAgIGNvbnN0IHJhdGlvID0gQVhDb2xvclV0aWwuY29udHJhc3RUb1doaXRlKGNvbG9yKTtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc3R5bGUuY29sb3IgPSAhKHJhdGlvID4gMi4wKSA/ICcjMDAwJyA6ICcjZmZmJztcbiAgfVxufVxuIl19
|