@acorex/components 18.16.0-next.9 → 18.16.0
Sign up to get free protection for your applications and to get access to all the features.
- package/color-palette/lib/color-palette-picker.component.d.ts +1 -5
- package/fesm2022/acorex-components-action-sheet.mjs +11 -11
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +8 -8
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +8 -8
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +12 -11
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +8 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +12 -11
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +16 -15
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +15 -15
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +8 -8
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +8 -8
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +8 -8
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +12 -11
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +8 -8
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +53 -63
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +36 -36
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +100 -89
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +60 -60
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +53 -53
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +38 -32
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +42 -36
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +8 -8
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +8 -8
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +20 -19
- 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 +16 -16
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +8 -8
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +15 -15
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +21 -18
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +46 -43
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +8 -8
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +9 -9
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +8 -8
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +8 -8
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +19 -18
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +268 -11
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +51 -51
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +19 -19
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-nav.mjs +12 -12
- package/fesm2022/acorex-components-nav.mjs.map +1 -1
- package/fesm2022/acorex-components-navbar.mjs +8 -8
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +11 -11
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +8 -8
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +9 -9
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-paint.mjs +38 -30
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +12 -12
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +8 -8
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +12 -11
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +8 -8
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +11 -11
- 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-qrcode.mjs +8 -8
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +8 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +18 -11
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +8 -8
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +8 -8
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +8 -8
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +16 -16
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs +8 -8
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +8 -8
- 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-side-menu.mjs +12 -12
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +8 -8
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +8 -8
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -15
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -11
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +44 -46
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +8 -8
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +12 -11
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +14 -14
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +11 -11
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -11
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +13 -13
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +27 -25
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +47 -47
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -0
- package/map/index.d.ts +2 -1
- package/map/lib/map.component.d.ts +1 -1
- package/map/lib/map.config.d.ts +13 -0
- package/map/lib/map.service.d.ts +37 -0
- package/package.json +4 -166
- package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +5 -2
- package/range-slider/lib/range-slider.component.d.ts +1 -0
- package/esm2022/acorex-components.mjs +0 -5
- package/esm2022/action-sheet/acorex-components-action-sheet.mjs +0 -5
- package/esm2022/action-sheet/index.mjs +0 -5
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +0 -2
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +0 -109
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +0 -54
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +0 -60
- package/esm2022/alert/acorex-components-alert.mjs +0 -5
- package/esm2022/alert/index.mjs +0 -3
- package/esm2022/alert/lib/alert.component.mjs +0 -142
- package/esm2022/alert/lib/alert.module.mjs +0 -22
- package/esm2022/audio-wave/acorex-components-audio-wave.mjs +0 -5
- package/esm2022/audio-wave/index.mjs +0 -4
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +0 -347
- package/esm2022/audio-wave/lib/audio-wave.module.mjs +0 -22
- package/esm2022/audio-wave/lib/interfaces/audio-wave.interface.mjs +0 -2
- package/esm2022/avatar/acorex-components-avatar.mjs +0 -5
- package/esm2022/avatar/index.mjs +0 -4
- package/esm2022/avatar/lib/avatar-group.component.mjs +0 -14
- package/esm2022/avatar/lib/avatar.component.mjs +0 -54
- package/esm2022/avatar/lib/avatar.module.mjs +0 -22
- package/esm2022/badge/acorex-components-badge.mjs +0 -5
- package/esm2022/badge/index.mjs +0 -3
- package/esm2022/badge/lib/badge.component.mjs +0 -30
- package/esm2022/badge/lib/badge.module.mjs +0 -19
- package/esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs +0 -5
- package/esm2022/bottom-navigation/index.mjs +0 -4
- package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +0 -46
- package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +0 -67
- package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +0 -22
- package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/index.mjs +0 -5
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +0 -2
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +0 -41
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +0 -31
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +0 -21
- package/esm2022/button/acorex-components-button.mjs +0 -5
- package/esm2022/button/index.mjs +0 -7
- package/esm2022/button/lib/button-item-list.component.mjs +0 -153
- package/esm2022/button/lib/button-item.class.mjs +0 -2
- package/esm2022/button/lib/button-item.component.mjs +0 -152
- package/esm2022/button/lib/button.class.mjs +0 -2
- package/esm2022/button/lib/button.component.mjs +0 -116
- package/esm2022/button/lib/button.module.mjs +0 -26
- package/esm2022/button-group/acorex-components-button-group.mjs +0 -5
- package/esm2022/button-group/index.mjs +0 -4
- package/esm2022/button-group/lib/button-group-item.component.mjs +0 -141
- package/esm2022/button-group/lib/button-group.component.mjs +0 -170
- package/esm2022/button-group/lib/button-group.module.mjs +0 -23
- package/esm2022/calendar/acorex-components-calendar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -5
- package/esm2022/calendar/lib/calendar-range.component.mjs +0 -248
- package/esm2022/calendar/lib/calendar.class.mjs +0 -163
- package/esm2022/calendar/lib/calendar.component.mjs +0 -631
- package/esm2022/calendar/lib/calendar.module.mjs +0 -26
- package/esm2022/check-box/acorex-components-check-box.mjs +0 -5
- package/esm2022/check-box/index.mjs +0 -3
- package/esm2022/check-box/lib/check-box.component.mjs +0 -138
- package/esm2022/check-box/lib/check-box.module.mjs +0 -21
- package/esm2022/chips/acorex-components-chips.mjs +0 -5
- package/esm2022/chips/index.mjs +0 -3
- package/esm2022/chips/lib/chips.component.mjs +0 -36
- package/esm2022/chips/lib/chips.module.mjs +0 -19
- package/esm2022/circular-progress/acorex-components-circular-progress.mjs +0 -5
- package/esm2022/circular-progress/index.mjs +0 -3
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +0 -95
- package/esm2022/circular-progress/lib/circular-progress.module.mjs +0 -17
- package/esm2022/collapse/acorex-components-collapse.mjs +0 -5
- package/esm2022/collapse/index.mjs +0 -4
- package/esm2022/collapse/lib/collapse-group.component.mjs +0 -171
- package/esm2022/collapse/lib/collapse.component.mjs +0 -198
- package/esm2022/collapse/lib/collapse.module.mjs +0 -21
- package/esm2022/color-box/acorex-components-color-box.mjs +0 -5
- package/esm2022/color-box/index.mjs +0 -3
- package/esm2022/color-box/lib/color-box.component.mjs +0 -92
- package/esm2022/color-box/lib/color-box.module.mjs +0 -24
- package/esm2022/color-palette/acorex-components-color-palette.mjs +0 -5
- package/esm2022/color-palette/index.mjs +0 -8
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +0 -157
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +0 -277
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +0 -80
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +0 -121
- package/esm2022/color-palette/lib/color-palette.class.mjs +0 -238
- package/esm2022/color-palette/lib/color-palette.component.mjs +0 -58
- package/esm2022/color-palette/lib/color-palette.module.mjs +0 -66
- package/esm2022/comment/acorex-components-comment.mjs +0 -5
- package/esm2022/comment/index.mjs +0 -10
- package/esm2022/comment/lib/comment-container/comment-container.component.mjs +0 -37
- package/esm2022/comment/lib/comment-item/comment-item.component.mjs +0 -37
- package/esm2022/comment/lib/comment-tools/comment-date/comment-date.component.mjs +0 -16
- package/esm2022/comment/lib/comment-tools/comment-like/comment-like.component.mjs +0 -28
- package/esm2022/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.mjs +0 -16
- package/esm2022/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.mjs +0 -12
- package/esm2022/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.mjs +0 -12
- package/esm2022/comment/lib/comment-view/comment-view.component.mjs +0 -15
- package/esm2022/comment/lib/comment.module.mjs +0 -71
- package/esm2022/common/acorex-components-common.mjs +0 -5
- package/esm2022/common/index.mjs +0 -31
- package/esm2022/common/lib/classes/components.class.mjs +0 -76
- package/esm2022/common/lib/classes/datalist.class.mjs +0 -50
- package/esm2022/common/lib/classes/datasource.class.mjs +0 -134
- package/esm2022/common/lib/classes/events.class.mjs +0 -79
- package/esm2022/common/lib/classes/styles.class.mjs +0 -13
- package/esm2022/common/lib/common.module.mjs +0 -22
- package/esm2022/common/lib/components/base-component.class.mjs +0 -74
- package/esm2022/common/lib/components/button-base-component.class.mjs +0 -88
- package/esm2022/common/lib/components/color-component.class.mjs +0 -25
- package/esm2022/common/lib/components/colorlook-component.class.mjs +0 -6
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +0 -54
- package/esm2022/common/lib/components/interactive-component.class.mjs +0 -129
- package/esm2022/common/lib/components/look-component.class.mjs +0 -33
- package/esm2022/common/lib/components/selection-base.component.class.mjs +0 -233
- package/esm2022/common/lib/components/value-component.class.mjs +0 -232
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +0 -63
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +0 -51
- package/esm2022/common/lib/directives/hotkey.directive.mjs +0 -80
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +0 -60
- package/esm2022/common/lib/directives/inverted-color.directive.mjs +0 -52
- package/esm2022/common/lib/directives/responsive.directive.mjs +0 -37
- package/esm2022/common/lib/directives/ripple.directive.mjs +0 -65
- package/esm2022/common/lib/services/dom.service.mjs +0 -16
- package/esm2022/common/lib/services/hotkey.service.mjs +0 -52
- package/esm2022/common/lib/types/base/button.type.mjs +0 -18
- package/esm2022/common/lib/types/base/color.type.mjs +0 -16
- package/esm2022/common/lib/types/base/component.types.mjs +0 -27
- package/esm2022/common/lib/types/base/events.types.mjs +0 -19
- package/esm2022/common/lib/types/base/index.mjs +0 -8
- package/esm2022/common/lib/types/base/interactive.type.mjs +0 -31
- package/esm2022/common/lib/types/base/look.type.mjs +0 -16
- package/esm2022/common/lib/types/base/value.type.mjs +0 -19
- package/esm2022/common/lib/types/direction.mjs +0 -2
- package/esm2022/common/lib/types/orientation.mjs +0 -2
- package/esm2022/common/lib/types/placement.mjs +0 -166
- package/esm2022/common/lib/types/range.mjs +0 -2
- package/esm2022/common/lib/types/selection-mode.mjs +0 -5
- package/esm2022/conversation/acorex-components-conversation.mjs +0 -5
- package/esm2022/conversation/index.mjs +0 -19
- package/esm2022/conversation/lib/classes/events.interface.mjs +0 -4
- package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +0 -15
- package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +0 -193
- package/esm2022/conversation/lib/conversation-input/conversation-input.interface.mjs +0 -2
- package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +0 -110
- package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +0 -147
- package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +0 -79
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +0 -69
- package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +0 -24
- package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +0 -130
- package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +0 -31
- package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +0 -190
- package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +0 -52
- package/esm2022/conversation/lib/conversation.module.mjs +0 -200
- package/esm2022/conversation/lib/conversation.types.mjs +0 -10
- package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +0 -20
- package/esm2022/conversation/lib/services/conversation.service.mjs +0 -14
- package/esm2022/conversation/lib/services/recording.service.mjs +0 -76
- package/esm2022/cron-job/acorex-components-cron-job.mjs +0 -5
- package/esm2022/cron-job/index.mjs +0 -9
- package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +0 -107
- package/esm2022/cron-job/lib/cron-job.module.mjs +0 -80
- package/esm2022/cron-job/lib/cron-job.service.mjs +0 -60
- package/esm2022/cron-job/lib/day/day.component.mjs +0 -66
- package/esm2022/cron-job/lib/day/day.model.mjs +0 -88
- package/esm2022/cron-job/lib/day/day.service.mjs +0 -196
- package/esm2022/cron-job/lib/hours/hours.component.mjs +0 -43
- package/esm2022/cron-job/lib/hours/hours.model.mjs +0 -8
- package/esm2022/cron-job/lib/hours/hours.service.mjs +0 -82
- package/esm2022/cron-job/lib/minutes/minutes.component.mjs +0 -43
- package/esm2022/cron-job/lib/minutes/minutes.model.mjs +0 -8
- package/esm2022/cron-job/lib/minutes/minutes.service.mjs +0 -82
- package/esm2022/cron-job/lib/month/month.component.mjs +0 -52
- package/esm2022/cron-job/lib/month/month.model.mjs +0 -8
- package/esm2022/cron-job/lib/month/month.service.mjs +0 -96
- package/esm2022/cron-job/lib/seconds/seconds.component.mjs +0 -43
- package/esm2022/cron-job/lib/seconds/seconds.model.mjs +0 -8
- package/esm2022/cron-job/lib/seconds/seconds.service.mjs +0 -82
- package/esm2022/cron-job/lib/types/iexpression.mjs +0 -2
- package/esm2022/cron-job/lib/types/shared.model.mjs +0 -49
- package/esm2022/cron-job/lib/year/year.component.mjs +0 -50
- package/esm2022/cron-job/lib/year/year.model.mjs +0 -28
- package/esm2022/cron-job/lib/year/year.service.mjs +0 -82
- package/esm2022/data-pager/acorex-components-data-pager.mjs +0 -5
- package/esm2022/data-pager/index.mjs +0 -10
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +0 -52
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +0 -50
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +0 -90
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +0 -113
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +0 -166
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +0 -105
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +0 -112
- package/esm2022/data-pager/lib/data-pager.component.mjs +0 -298
- package/esm2022/data-pager/lib/data-pager.module.mjs +0 -73
- package/esm2022/data-table/acorex-components-data-table.mjs +0 -5
- package/esm2022/data-table/index.mjs +0 -11
- package/esm2022/data-table/lib/base-data-table.class.mjs +0 -46
- package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +0 -61
- package/esm2022/data-table/lib/columns/data-table-column.mjs +0 -34
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +0 -128
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +0 -343
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +0 -128
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +0 -168
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +0 -513
- package/esm2022/data-table/lib/data-table.module.mjs +0 -107
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +0 -438
- package/esm2022/datetime-box/acorex-components-datetime-box.mjs +0 -5
- package/esm2022/datetime-box/index.mjs +0 -3
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +0 -186
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +0 -26
- package/esm2022/datetime-input/acorex-components-datetime-input.mjs +0 -5
- package/esm2022/datetime-input/index.mjs +0 -3
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +0 -673
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +0 -23
- package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +0 -5
- package/esm2022/datetime-picker/index.mjs +0 -4
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +0 -389
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +0 -22
- package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +0 -44
- package/esm2022/decorators/acorex-components-decorators.mjs +0 -5
- package/esm2022/decorators/index.mjs +0 -6
- package/esm2022/decorators/lib/components/clear-button.component.mjs +0 -80
- package/esm2022/decorators/lib/components/close-button.component.mjs +0 -65
- package/esm2022/decorators/lib/components/generic-content.component.mjs +0 -42
- package/esm2022/decorators/lib/components/icon.component.mjs +0 -37
- package/esm2022/decorators/lib/decorators.module.mjs +0 -24
- package/esm2022/dialog/acorex-components-dialog.mjs +0 -5
- package/esm2022/dialog/index.mjs +0 -5
- package/esm2022/dialog/lib/dialog.class.mjs +0 -2
- package/esm2022/dialog/lib/dialog.component.mjs +0 -77
- package/esm2022/dialog/lib/dialog.module.mjs +0 -48
- package/esm2022/dialog/lib/dialog.service.mjs +0 -168
- package/esm2022/drawer/acorex-components-drawer.mjs +0 -5
- package/esm2022/drawer/index.mjs +0 -4
- package/esm2022/drawer/lib/drawer/drawer-container/drawer-container.component.mjs +0 -32
- package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +0 -157
- package/esm2022/drawer/lib/drawer.module.mjs +0 -22
- package/esm2022/drawer/lib/drawer.service.mjs +0 -13
- package/esm2022/dropdown/acorex-components-dropdown.mjs +0 -5
- package/esm2022/dropdown/index.mjs +0 -5
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +0 -50
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +0 -160
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +0 -221
- package/esm2022/dropdown/lib/dropdown.module.mjs +0 -25
- package/esm2022/dropdown-button/acorex-components-dropdown-button.mjs +0 -5
- package/esm2022/dropdown-button/index.mjs +0 -3
- package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +0 -124
- package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +0 -26
- package/esm2022/form/acorex-components-form.mjs +0 -5
- package/esm2022/form/index.mjs +0 -7
- package/esm2022/form/lib/form-field.component.mjs +0 -142
- package/esm2022/form/lib/form.component.mjs +0 -205
- package/esm2022/form/lib/form.config.mjs +0 -16
- package/esm2022/form/lib/form.module.mjs +0 -27
- package/esm2022/form/lib/validation-rule.directive.mjs +0 -36
- package/esm2022/form/lib/validation-summary.component.mjs +0 -157
- package/esm2022/image/acorex-components-image.mjs +0 -5
- package/esm2022/image/index.mjs +0 -3
- package/esm2022/image/lib/image.component.mjs +0 -118
- package/esm2022/image/lib/image.module.mjs +0 -19
- package/esm2022/image-editor/acorex-components-image-editor.mjs +0 -5
- package/esm2022/image-editor/index.mjs +0 -8
- package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs +0 -24
- package/esm2022/image-editor/lib/image-editor-toolbar/image-editor-toolbar.component.mjs +0 -69
- package/esm2022/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.mjs +0 -36
- package/esm2022/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.mjs +0 -37
- package/esm2022/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.mjs +0 -57
- package/esm2022/image-editor/lib/image-editor-view/image-editor-view.component.mjs +0 -359
- package/esm2022/image-editor/lib/image-editor.module.mjs +0 -72
- package/esm2022/image-editor/lib/image-editor.service.mjs +0 -23
- package/esm2022/index.mjs +0 -2
- package/esm2022/json-viewer/acorex-components-json-viewer.mjs +0 -5
- package/esm2022/json-viewer/index.mjs +0 -3
- package/esm2022/json-viewer/lib/json-viewer/json-viewer.component.mjs +0 -43
- package/esm2022/json-viewer/lib/json-viewer.module.mjs +0 -23
- package/esm2022/label/acorex-components-label.mjs +0 -5
- package/esm2022/label/index.mjs +0 -3
- package/esm2022/label/lib/label.component.mjs +0 -78
- package/esm2022/label/lib/label.module.mjs +0 -21
- package/esm2022/list/acorex-components-list.mjs +0 -5
- package/esm2022/list/index.mjs +0 -3
- package/esm2022/list/lib/list.component.mjs +0 -295
- package/esm2022/list/lib/list.module.mjs +0 -23
- package/esm2022/loading/acorex-components-loading.mjs +0 -5
- package/esm2022/loading/index.mjs +0 -7
- package/esm2022/loading/lib/loading-spinner.component.mjs +0 -62
- package/esm2022/loading/lib/loading.component.mjs +0 -80
- package/esm2022/loading/lib/loading.config.mjs +0 -17
- package/esm2022/loading/lib/loading.directive.mjs +0 -39
- package/esm2022/loading/lib/loading.module.mjs +0 -27
- package/esm2022/loading/lib/loading.service.mjs +0 -123
- package/esm2022/loading-dialog/acorex-components-loading-dialog.mjs +0 -5
- package/esm2022/loading-dialog/index.mjs +0 -5
- package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +0 -2
- package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +0 -98
- package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +0 -27
- package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +0 -37
- package/esm2022/map/acorex-components-map.mjs +0 -5
- package/esm2022/map/index.mjs +0 -3
- package/esm2022/map/lib/map.component.mjs +0 -182
- package/esm2022/map/lib/map.module.mjs +0 -18
- package/esm2022/media-viewer/acorex-components-media-viewer.mjs +0 -5
- package/esm2022/media-viewer/index.mjs +0 -12
- package/esm2022/media-viewer/lib/media-viewer-container/media-viewer-container.component.mjs +0 -52
- package/esm2022/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.mjs +0 -37
- package/esm2022/media-viewer/lib/media-viewer-thumbnail/media-viewer-thumbnail.component.mjs +0 -24
- package/esm2022/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.mjs +0 -19
- package/esm2022/media-viewer/lib/media-viewer-tools/file-info/file-info.component.mjs +0 -21
- package/esm2022/media-viewer/lib/media-viewer-tools/full-screen/full-screen.component.mjs +0 -20
- package/esm2022/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.mjs +0 -15
- package/esm2022/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.mjs +0 -17
- package/esm2022/media-viewer/lib/media-viewer-tools/video-player/video-player.component.mjs +0 -19
- package/esm2022/media-viewer/lib/media-viewer-type-registry.service.mjs +0 -20
- package/esm2022/media-viewer/lib/media-viewer-types.mjs +0 -10
- package/esm2022/media-viewer/lib/media-viewer.module.mjs +0 -140
- package/esm2022/media-viewer/lib/media-viewer.service.mjs +0 -15
- package/esm2022/menu/acorex-components-menu.mjs +0 -5
- package/esm2022/menu/index.mjs +0 -7
- package/esm2022/menu/lib/context-menu.component.mjs +0 -251
- package/esm2022/menu/lib/menu-item.component.mjs +0 -310
- package/esm2022/menu/lib/menu.component.mjs +0 -58
- package/esm2022/menu/lib/menu.module.mjs +0 -28
- package/esm2022/menu/lib/menu.service.mjs +0 -19
- package/esm2022/menu/lib/menu.types.mjs +0 -14
- package/esm2022/nav/acorex-components-nav.mjs +0 -5
- package/esm2022/nav/index.mjs +0 -4
- package/esm2022/nav/lib/nav-item/nav-item.component.mjs +0 -63
- package/esm2022/nav/lib/nav.component.mjs +0 -16
- package/esm2022/nav/lib/nav.module.mjs +0 -23
- package/esm2022/navbar/acorex-components-navbar.mjs +0 -5
- package/esm2022/navbar/index.mjs +0 -3
- package/esm2022/navbar/lib/navbar.component.mjs +0 -23
- package/esm2022/navbar/lib/navbar.module.mjs +0 -18
- package/esm2022/notification/acorex-components-notification.mjs +0 -5
- package/esm2022/notification/index.mjs +0 -6
- package/esm2022/notification/lib/notification.class.mjs +0 -2
- package/esm2022/notification/lib/notification.component.mjs +0 -110
- package/esm2022/notification/lib/notification.config.mjs +0 -21
- package/esm2022/notification/lib/notification.module.mjs +0 -28
- package/esm2022/notification/lib/notification.service.mjs +0 -195
- package/esm2022/number-box/acorex-components-number-box.mjs +0 -5
- package/esm2022/number-box/index.mjs +0 -3
- package/esm2022/number-box/lib/number-box.component.mjs +0 -378
- package/esm2022/number-box/lib/number-box.module.mjs +0 -25
- package/esm2022/otp/acorex-components-otp.mjs +0 -5
- package/esm2022/otp/index.mjs +0 -4
- package/esm2022/otp/lib/otp.class.mjs +0 -4
- package/esm2022/otp/lib/otp.component.mjs +0 -195
- package/esm2022/otp/lib/otp.module.mjs +0 -22
- package/esm2022/page/acorex-components-page.mjs +0 -5
- package/esm2022/page/index.mjs +0 -4
- package/esm2022/page/lib/base-page.class.mjs +0 -62
- package/esm2022/page/lib/page.component.mjs +0 -58
- package/esm2022/page/lib/page.module.mjs +0 -18
- package/esm2022/paint/acorex-components-paint.mjs +0 -5
- package/esm2022/paint/index.mjs +0 -7
- package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +0 -41
- package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +0 -15
- package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +0 -36
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +0 -56
- package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +0 -161
- package/esm2022/paint/lib/paint/paint.service.mjs +0 -16
- package/esm2022/paint/lib/paint.module.mjs +0 -62
- package/esm2022/password-box/acorex-components-password-box.mjs +0 -5
- package/esm2022/password-box/index.mjs +0 -4
- package/esm2022/password-box/lib/password-box.component.mjs +0 -93
- package/esm2022/password-box/lib/password-box.module.mjs +0 -42
- package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +0 -71
- package/esm2022/phone-box/acorex-components-phone-box.mjs +0 -5
- package/esm2022/phone-box/index.mjs +0 -3
- package/esm2022/phone-box/lib/phone-box.component.mjs +0 -207
- package/esm2022/phone-box/lib/phone-box.module.mjs +0 -44
- package/esm2022/picker/acorex-components-picker.mjs +0 -5
- package/esm2022/picker/index.mjs +0 -4
- package/esm2022/picker/lib/picker-column.directive.mjs +0 -66
- package/esm2022/picker/lib/picker.component.mjs +0 -193
- package/esm2022/picker/lib/picker.module.mjs +0 -22
- package/esm2022/popover/acorex-components-popover.mjs +0 -5
- package/esm2022/popover/index.mjs +0 -3
- package/esm2022/popover/lib/popover.component.mjs +0 -525
- package/esm2022/popover/lib/popover.module.mjs +0 -19
- package/esm2022/popup/acorex-components-popup.mjs +0 -5
- package/esm2022/popup/index.mjs +0 -5
- package/esm2022/popup/lib/popup.component.mjs +0 -178
- package/esm2022/popup/lib/popup.interface.mjs +0 -2
- package/esm2022/popup/lib/popup.module.mjs +0 -45
- package/esm2022/popup/lib/popup.service.mjs +0 -69
- package/esm2022/progress-bar/acorex-components-progress-bar.mjs +0 -5
- package/esm2022/progress-bar/index.mjs +0 -3
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +0 -86
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +0 -19
- package/esm2022/qrcode/acorex-components-qrcode.mjs +0 -5
- package/esm2022/qrcode/index.mjs +0 -4
- package/esm2022/qrcode/lib/qrcode.class.mjs +0 -12
- package/esm2022/qrcode/lib/qrcode.component.mjs +0 -93
- package/esm2022/qrcode/lib/qrcode.module.mjs +0 -18
- package/esm2022/radio/acorex-components-radio.mjs +0 -5
- package/esm2022/radio/index.mjs +0 -3
- package/esm2022/radio/lib/radio.component.mjs +0 -57
- package/esm2022/radio/lib/radio.module.mjs +0 -22
- package/esm2022/range-slider/acorex-components-range-slider.mjs +0 -5
- package/esm2022/range-slider/index.mjs +0 -4
- package/esm2022/range-slider/lib/range-slider.class.mjs +0 -3
- package/esm2022/range-slider/lib/range-slider.component.mjs +0 -650
- package/esm2022/range-slider/lib/range-slider.module.mjs +0 -18
- package/esm2022/rate-picker/acorex-components-rate-picker.mjs +0 -5
- package/esm2022/rate-picker/index.mjs +0 -3
- package/esm2022/rate-picker/lib/calculatePercentage.mjs +0 -45
- package/esm2022/rate-picker/lib/rate-picker.component.mjs +0 -253
- package/esm2022/rate-picker/lib/rate-picker.module.mjs +0 -18
- package/esm2022/result/acorex-components-result.mjs +0 -5
- package/esm2022/result/index.mjs +0 -3
- package/esm2022/result/lib/result.component.mjs +0 -41
- package/esm2022/result/lib/result.module.mjs +0 -19
- package/esm2022/routing-progress/acorex-components-routing-progress.mjs +0 -5
- package/esm2022/routing-progress/index.mjs +0 -3
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +0 -72
- package/esm2022/routing-progress/lib/routing-progress.module.mjs +0 -21
- package/esm2022/scheduler/acorex-components-scheduler.mjs +0 -5
- package/esm2022/scheduler/index.mjs +0 -5
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +0 -72
- package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +0 -16
- package/esm2022/scheduler/lib/scheduler.component.mjs +0 -54
- package/esm2022/scheduler/lib/scheduler.module.mjs +0 -27
- package/esm2022/scss/acorex-components-scss.mjs +0 -5
- package/esm2022/scss/index.mjs +0 -2
- package/esm2022/scss/lib/scss.module.mjs +0 -15
- package/esm2022/search-box/acorex-components-search-box.mjs +0 -5
- package/esm2022/search-box/index.mjs +0 -3
- package/esm2022/search-box/lib/search-box.component.mjs +0 -90
- package/esm2022/search-box/lib/search-box.module.mjs +0 -46
- package/esm2022/select-box/acorex-components-select-box.mjs +0 -5
- package/esm2022/select-box/index.mjs +0 -3
- package/esm2022/select-box/lib/select-box.component.mjs +0 -368
- package/esm2022/select-box/lib/select-box.module.mjs +0 -69
- package/esm2022/selection-list/acorex-components-selection-list.mjs +0 -5
- package/esm2022/selection-list/index.mjs +0 -3
- package/esm2022/selection-list/lib/selection-list.component.mjs +0 -173
- package/esm2022/selection-list/lib/selection-list.module.mjs +0 -24
- package/esm2022/side-menu/acorex-components-side-menu.mjs +0 -5
- package/esm2022/side-menu/index.mjs +0 -4
- package/esm2022/side-menu/lib/side-menu-item/side-menu-item.component.mjs +0 -87
- package/esm2022/side-menu/lib/side-menu.component.mjs +0 -16
- package/esm2022/side-menu/lib/side-menu.module.mjs +0 -43
- package/esm2022/skeleton/acorex-components-skeleton.mjs +0 -5
- package/esm2022/skeleton/index.mjs +0 -3
- package/esm2022/skeleton/lib/skeleton.component.mjs +0 -34
- package/esm2022/skeleton/lib/skeleton.module.mjs +0 -18
- package/esm2022/slider/acorex-components-slider.mjs +0 -5
- package/esm2022/slider/index.mjs +0 -3
- package/esm2022/slider/lib/slider.component.mjs +0 -163
- package/esm2022/slider/lib/slider.module.mjs +0 -23
- package/esm2022/step-wizard/acorex-components-step-wizard.mjs +0 -5
- package/esm2022/step-wizard/index.mjs +0 -6
- package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +0 -70
- package/esm2022/step-wizard/lib/step-wizard.class.mjs +0 -2
- package/esm2022/step-wizard/lib/step-wizard.component.mjs +0 -151
- package/esm2022/step-wizard/lib/step-wizard.directive.mjs +0 -28
- package/esm2022/step-wizard/lib/step-wizard.module.mjs +0 -25
- package/esm2022/switch/acorex-components-switch.mjs +0 -5
- package/esm2022/switch/index.mjs +0 -4
- package/esm2022/switch/lib/switch-content.component.mjs +0 -19
- package/esm2022/switch/lib/switch.component.mjs +0 -54
- package/esm2022/switch/lib/switch.module.mjs +0 -21
- package/esm2022/tabs/acorex-components-tabs.mjs +0 -5
- package/esm2022/tabs/index.mjs +0 -6
- package/esm2022/tabs/lib/tab-content.directive.mjs +0 -28
- package/esm2022/tabs/lib/tab-item.component.mjs +0 -149
- package/esm2022/tabs/lib/tabs.class.mjs +0 -4
- package/esm2022/tabs/lib/tabs.component.mjs +0 -183
- package/esm2022/tabs/lib/tabs.module.mjs +0 -25
- package/esm2022/tag/acorex-components-tag.mjs +0 -5
- package/esm2022/tag/index.mjs +0 -3
- package/esm2022/tag/lib/tag.component.mjs +0 -25
- package/esm2022/tag/lib/tag.module.mjs +0 -19
- package/esm2022/text-area/acorex-components-text-area.mjs +0 -5
- package/esm2022/text-area/index.mjs +0 -3
- package/esm2022/text-area/lib/text-area.component.mjs +0 -76
- package/esm2022/text-area/lib/text-area.module.mjs +0 -19
- package/esm2022/text-box/acorex-components-text-box.mjs +0 -5
- package/esm2022/text-box/index.mjs +0 -4
- package/esm2022/text-box/lib/mask-options.directive.mjs +0 -29
- package/esm2022/text-box/lib/text-box.component.mjs +0 -153
- package/esm2022/text-box/lib/text-box.module.mjs +0 -24
- package/esm2022/time-line/acorex-components-time-line.mjs +0 -5
- package/esm2022/time-line/index.mjs +0 -4
- package/esm2022/time-line/lib/time-line-item.component.mjs +0 -47
- package/esm2022/time-line/lib/time-line.component.mjs +0 -28
- package/esm2022/time-line/lib/time-line.module.mjs +0 -19
- package/esm2022/toast/acorex-components-toast.mjs +0 -5
- package/esm2022/toast/index.mjs +0 -6
- package/esm2022/toast/lib/toast.class.mjs +0 -2
- package/esm2022/toast/lib/toast.component.mjs +0 -86
- package/esm2022/toast/lib/toast.config.mjs +0 -26
- package/esm2022/toast/lib/toast.module.mjs +0 -27
- package/esm2022/toast/lib/toast.service.mjs +0 -235
- package/esm2022/tooltip/acorex-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/index.mjs +0 -4
- package/esm2022/tooltip/lib/tooltip.component.mjs +0 -20
- package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -80
- package/esm2022/tooltip/lib/tooltip.module.mjs +0 -22
- package/esm2022/tree-view/acorex-components-tree-view.mjs +0 -5
- package/esm2022/tree-view/index.mjs +0 -4
- package/esm2022/tree-view/lib/tree-view-item.component.mjs +0 -86
- package/esm2022/tree-view/lib/tree-view.class.mjs +0 -4
- package/esm2022/tree-view/lib/tree-view.component.mjs +0 -338
- package/esm2022/tree-view/lib/tree-view.component.module.mjs +0 -50
- package/esm2022/uploader/acorex-components-uploader.mjs +0 -5
- package/esm2022/uploader/index.mjs +0 -9
- package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +0 -27
- package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +0 -55
- package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +0 -27
- package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +0 -24
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +0 -121
- package/esm2022/uploader/lib/uploader.models.mjs +0 -100
- package/esm2022/uploader/lib/uploader.module.mjs +0 -76
- package/esm2022/uploader/lib/uploader.service.mjs +0 -125
- package/esm2022/wysiwyg/acorex-components-wysiwyg.mjs +0 -5
- package/esm2022/wysiwyg/index.mjs +0 -11
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +0 -137
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +0 -21
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +0 -56
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +0 -76
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +0 -129
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +0 -30
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +0 -43
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +0 -64
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +0 -49
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +0 -17
- package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +0 -75
@@ -1,8 +0,0 @@
|
|
1
|
-
export * from './lib/color-palette-input.component';
|
2
|
-
export * from './lib/color-palette-picker.component';
|
3
|
-
export * from './lib/color-palette-preview.component';
|
4
|
-
export * from './lib/color-palette-swatches.component';
|
5
|
-
export * from './lib/color-palette.class';
|
6
|
-
export * from './lib/color-palette.component';
|
7
|
-
export * from './lib/color-palette.module';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1wYWxldHRlLXByZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtc3dhdGNoZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGFsZXR0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGFsZXR0ZS5tb2R1bGUnO1xuIl19
|
@@ -1,157 +0,0 @@
|
|
1
|
-
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
|
3
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation, } from '@angular/core';
|
4
|
-
import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@acorex/core/utils";
|
7
|
-
import * as i2 from "@angular/forms";
|
8
|
-
import * as i3 from "@acorex/components/text-box";
|
9
|
-
import * as i4 from "@acorex/components/number-box";
|
10
|
-
import * as i5 from "./color-palette.class";
|
11
|
-
/**
|
12
|
-
* Component for selecting colors from a palette.
|
13
|
-
*
|
14
|
-
* @category Components
|
15
|
-
*/
|
16
|
-
export class AXColorPaletteInputComponent extends MXBaseComponent {
|
17
|
-
/**
|
18
|
-
* @ignore
|
19
|
-
*/
|
20
|
-
constructor(_parent, _unsubscriber) {
|
21
|
-
super();
|
22
|
-
this._parent = _parent;
|
23
|
-
this._unsubscriber = _unsubscriber;
|
24
|
-
this.isValid = true;
|
25
|
-
this._rgba = {
|
26
|
-
r: 0,
|
27
|
-
g: 0,
|
28
|
-
b: 0,
|
29
|
-
a: 0,
|
30
|
-
};
|
31
|
-
this._hex = '';
|
32
|
-
/**
|
33
|
-
* @ignore
|
34
|
-
*/
|
35
|
-
this._colorMode = 'hex';
|
36
|
-
/**
|
37
|
-
* @ignore
|
38
|
-
*/
|
39
|
-
this._hexMaskOptions = {
|
40
|
-
mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,
|
41
|
-
prepare: (str, m, a) => {
|
42
|
-
return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();
|
43
|
-
},
|
44
|
-
};
|
45
|
-
_parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
|
46
|
-
this.applyParent(e.isUserInteraction);
|
47
|
-
});
|
48
|
-
_parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
|
49
|
-
this.cdr.markForCheck();
|
50
|
-
});
|
51
|
-
}
|
52
|
-
/**
|
53
|
-
* @ignore
|
54
|
-
*/
|
55
|
-
applyParent(u = false) {
|
56
|
-
const value = this._parent.value;
|
57
|
-
if (!value) {
|
58
|
-
this._hex = '';
|
59
|
-
this._rgba = {
|
60
|
-
r: null,
|
61
|
-
g: null,
|
62
|
-
b: null,
|
63
|
-
a: null,
|
64
|
-
};
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
if (this._colorMode == 'rgba') {
|
68
|
-
Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));
|
69
|
-
}
|
70
|
-
if (this._colorMode == 'hex') {
|
71
|
-
this._hex = AXColorUtil.toString(value, 'hex');
|
72
|
-
}
|
73
|
-
if (!u && this._rgba.a != 1) {
|
74
|
-
this._colorMode = 'rgba';
|
75
|
-
}
|
76
|
-
}
|
77
|
-
this.checkValid();
|
78
|
-
this.cdr.detectChanges();
|
79
|
-
}
|
80
|
-
/**
|
81
|
-
* @ignore
|
82
|
-
*/
|
83
|
-
ngAfterViewInit() {
|
84
|
-
this.applyParent();
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* @ignore
|
88
|
-
*/
|
89
|
-
_handleChangeInputMode() {
|
90
|
-
switch (this._colorMode) {
|
91
|
-
case 'rgba':
|
92
|
-
this._colorMode = 'hex';
|
93
|
-
this.applyParent(true);
|
94
|
-
break;
|
95
|
-
default:
|
96
|
-
this._colorMode = 'rgba';
|
97
|
-
this.applyParent(true);
|
98
|
-
break;
|
99
|
-
}
|
100
|
-
}
|
101
|
-
/**
|
102
|
-
* @ignore
|
103
|
-
*/
|
104
|
-
_handleRGBAValueChanged(e) {
|
105
|
-
if (e.isUserInteraction) {
|
106
|
-
this._rgba[e.name] = e.value;
|
107
|
-
const { r, g, b, a } = this._rgba;
|
108
|
-
const _color = `rgba(${r},${g},${b},${a})`;
|
109
|
-
this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);
|
110
|
-
}
|
111
|
-
}
|
112
|
-
/**
|
113
|
-
* @ignore
|
114
|
-
*/
|
115
|
-
_handleHEXAValueChanged(e) {
|
116
|
-
if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {
|
117
|
-
this._parent.commitValue(e.value, e.isUserInteraction);
|
118
|
-
}
|
119
|
-
}
|
120
|
-
/**
|
121
|
-
* @ignore
|
122
|
-
*/
|
123
|
-
checkValid() {
|
124
|
-
this.isValid = AXColorUtil.isValid(this._hex);
|
125
|
-
}
|
126
|
-
/**
|
127
|
-
* @ignore
|
128
|
-
*/
|
129
|
-
get __hostClass() {
|
130
|
-
return `ax-color-palette-input`;
|
131
|
-
}
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPaletteInputComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXColorPaletteInputComponent, selector: "ax-color-palette-input", host: { properties: { "class": "this.__hostClass" } }, providers: [
|
134
|
-
{
|
135
|
-
provide: AXColorPaletteChildComponent,
|
136
|
-
useExisting: AXColorPaletteInputComponent,
|
137
|
-
},
|
138
|
-
AXUnsubscriber,
|
139
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"], 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.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
140
|
-
}
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPaletteInputComponent, decorators: [{
|
142
|
-
type: Component,
|
143
|
-
args: [{ selector: 'ax-color-palette-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
144
|
-
{
|
145
|
-
provide: AXColorPaletteChildComponent,
|
146
|
-
useExisting: AXColorPaletteInputComponent,
|
147
|
-
},
|
148
|
-
AXUnsubscriber,
|
149
|
-
], template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"] }]
|
150
|
-
}], ctorParameters: () => [{ type: i5.AXColorPaletteParentComponent, decorators: [{
|
151
|
-
type: Inject,
|
152
|
-
args: [AXColorPaletteParentComponent]
|
153
|
-
}] }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
|
154
|
-
type: HostBinding,
|
155
|
-
args: ['class']
|
156
|
-
}] } });
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxlQUFlO0lBMkIvRDs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFoQ3ZDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixVQUFLLEdBQW1EO1lBQ3RELENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVGLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVjs7V0FFRztRQUNPLGVBQVUsR0FBbUIsS0FBSyxDQUFDO1FBRTdD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Q2xDSCw0akZBMkZBOzsyRkR2RGEsNEJBQTRCO2tCQWxCeEMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBT25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyw4QkFBOEI7eUJBQzFDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQWlDRSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFnRzNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENvbG9yVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGNvbG9ycyBmcm9tIGEgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IGBcbiAgICAuYXgtYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlSW5wdXRDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBpc1ZhbGlkID0gdHJ1ZTtcblxuICBfcmdiYTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXIgfSA9IHtcbiAgICByOiAwLFxuICAgIGc6IDAsXG4gICAgYjogMCxcbiAgICBhOiAwLFxuICB9O1xuXG4gIF9oZXggPSAnJztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfY29sb3JNb2RlOiAnaGV4JyB8ICdyZ2JhJyA9ICdoZXgnO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oZXhNYXNrT3B0aW9uczogQVhNYXNrT3B0aW9ucyA9IHtcbiAgICBtYXNrOiAvXiNbMC05YS1mXXswLDZ9WzAtOWEtZl17MCwyfSQvaSxcbiAgICBwcmVwYXJlOiAoc3RyOiBhbnksIG06IGFueSwgYTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gbS50eXBlZFZhbHVlPy5zdGFydHNXaXRoKCcjJykgfHwgc3RyID09ICcjJyA/IHN0ci50cmltKCkgOiAnIycgKyBzdHIudHJpbSgpO1xuICAgIH0sXG4gIH07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQub25WYWx1ZUNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5hcHBseVBhcmVudChlLmlzVXNlckludGVyYWN0aW9uKTtcbiAgICB9KTtcbiAgICBfcGFyZW50Lm9uT3B0aW9uQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVBhcmVudCh1ID0gZmFsc2UpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3BhcmVudC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl9oZXggPSAnJztcbiAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgIHI6IG51bGwsXG4gICAgICAgIGc6IG51bGwsXG4gICAgICAgIGI6IG51bGwsXG4gICAgICAgIGE6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fY29sb3JNb2RlID09ICdyZ2JhJykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKHZhbHVlLCAncmdiYScpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9jb2xvck1vZGUgPT0gJ2hleCcpIHtcbiAgICAgICAgdGhpcy5faGV4ID0gQVhDb2xvclV0aWwudG9TdHJpbmcodmFsdWUsICdoZXgnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdSAmJiB0aGlzLl9yZ2JhLmEgIT0gMSkge1xuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAncmdiYSc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tWYWxpZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXBwbHlQYXJlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuX2NvbG9yTW9kZSkge1xuICAgICAgY2FzZSAncmdiYSc6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdoZXgnO1xuICAgICAgICB0aGlzLmFwcGx5UGFyZW50KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdyZ2JhJztcbiAgICAgICAgdGhpcy5hcHBseVBhcmVudCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4pIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fcmdiYVtlLm5hbWVdID0gZS52YWx1ZTtcbiAgICAgIGNvbnN0IHsgciwgZywgYiwgYSB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7YX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8c3RyaW5nPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uICYmIGUudmFsdWU/LnRyaW0oKSAhPSB0aGlzLl9oZXg/LnRyaW0oKSkge1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKGUudmFsdWUsIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkKCkge1xuICAgIHRoaXMuaXNWYWxpZCA9IEFYQ29sb3JVdGlsLmlzVmFsaWQodGhpcy5faGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1jb2xvci1wYWxldHRlLWlucHV0YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhbGV0dGUtaW5wdXRzXCI+XG4gIEBzd2l0Y2ggKF9jb2xvck1vZGUpIHtcbiAgICBAY2FzZSAoJ2hleCcpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9oZXhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3N0YXRlXT1cImlzVmFsaWQgPyAnY2xlYXInIDogJ2Vycm9yJ1wiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFttYXNrLW9wdGlvbnNdPVwiX2hleE1hc2tPcHRpb25zXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICA8bGFiZWw+SEVYPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ3JnYmEnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJyXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjI1NVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiX3JnYmEuclwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVJHQkFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+UjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgbmFtZT1cImdcIlxuICAgICAgICAgIFttaW5WYWx1ZV09XCIwXCJcbiAgICAgICAgICBbbWF4VmFsdWVdPVwiMjU1XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfcmdiYS5nXCJcbiAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxsYWJlbD5HPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBuYW1lPVwiYlwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkI8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJhXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjFcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmFcIlxuICAgICAgICAgIFtkZWNpbWFsc109XCIyXCJcbiAgICAgICAgICBbc3RlcF09XCIwLjFcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkE8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICB9XG48L2Rpdj5cbjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb24gYXgtc21cIlxuICAoY2xpY2spPVwiX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11bmZvbGQtbW9yZSBheC1ib2xkXCI+PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
|
@@ -1,277 +0,0 @@
|
|
1
|
-
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { isBrowser } from '@acorex/core/platform';
|
3
|
-
import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
|
4
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';
|
5
|
-
import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@acorex/core/utils";
|
8
|
-
import * as i2 from "@angular/forms";
|
9
|
-
import * as i3 from "@acorex/components/range-slider";
|
10
|
-
import * as i4 from "./color-palette.class";
|
11
|
-
/**
|
12
|
-
* Component for picking colors from a color palette.
|
13
|
-
*
|
14
|
-
* @category Components
|
15
|
-
*/
|
16
|
-
export class AXColorPalettePickerComponent extends MXBaseComponent {
|
17
|
-
/**
|
18
|
-
* @ignore
|
19
|
-
*/
|
20
|
-
constructor(_parent, _unsubscriber) {
|
21
|
-
super();
|
22
|
-
this._parent = _parent;
|
23
|
-
this._unsubscriber = _unsubscriber;
|
24
|
-
this._rgba = {
|
25
|
-
r: 0,
|
26
|
-
g: 0,
|
27
|
-
b: 0,
|
28
|
-
a: 0,
|
29
|
-
};
|
30
|
-
this.circle = viewChild('circle');
|
31
|
-
this.changingColor = signal(false);
|
32
|
-
/**
|
33
|
-
* @ignore
|
34
|
-
*/
|
35
|
-
this._gradient = 0;
|
36
|
-
/**
|
37
|
-
* @ignore
|
38
|
-
*/
|
39
|
-
this._bgColor = '#F00';
|
40
|
-
/**
|
41
|
-
* @ignore
|
42
|
-
*/
|
43
|
-
this._gradientColors = [
|
44
|
-
{ color: 'rgb(255, 0, 0)', pos: 0 },
|
45
|
-
{ color: 'rgb(255, 255, 0)', pos: 0.17 },
|
46
|
-
{ color: 'rgb(0, 255, 0)', pos: 0.33 },
|
47
|
-
{ color: 'rgb(0, 255, 255)', pos: 0.5 },
|
48
|
-
{ color: 'rgb(0, 0, 255)', pos: 0.67 },
|
49
|
-
{ color: 'rgb(255, 0, 255)', pos: 0.83 },
|
50
|
-
{ color: 'rgb(255, 0, 0)', pos: 1 },
|
51
|
-
];
|
52
|
-
/**
|
53
|
-
* @ignore
|
54
|
-
*/
|
55
|
-
this._gradients = AXColorUtil.gradient(this._gradientColors);
|
56
|
-
/**
|
57
|
-
* @ignore
|
58
|
-
*/
|
59
|
-
this._colors = this._gradients.rgb(100);
|
60
|
-
/**
|
61
|
-
* @ignore
|
62
|
-
*/
|
63
|
-
this.dragPosition = { x: 0, y: 0 };
|
64
|
-
_parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
|
65
|
-
this._handleParentColorChanged();
|
66
|
-
});
|
67
|
-
_parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
|
68
|
-
this.cdr.markForCheck();
|
69
|
-
});
|
70
|
-
}
|
71
|
-
/**
|
72
|
-
* @ignore
|
73
|
-
*/
|
74
|
-
setHSV() {
|
75
|
-
const hsv = AXColorUtil.to(this._rgba, 'hsva');
|
76
|
-
const sortedH = this._colors.map((c) => c.toHsv().h);
|
77
|
-
this._gradient = sortedH.findIndex((c) => {
|
78
|
-
return Math.round(c) >= Math.round(hsv.h);
|
79
|
-
});
|
80
|
-
this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
|
81
|
-
this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
|
82
|
-
}
|
83
|
-
/**
|
84
|
-
* @ignore
|
85
|
-
*/
|
86
|
-
_handleParentColorChanged() {
|
87
|
-
const color = this._parent.value;
|
88
|
-
if (!color) {
|
89
|
-
this._rgba = {
|
90
|
-
r: 0,
|
91
|
-
g: 0,
|
92
|
-
b: 0,
|
93
|
-
a: 0,
|
94
|
-
};
|
95
|
-
}
|
96
|
-
else {
|
97
|
-
if (!AXColorUtil.equal(color, this._rgba)) {
|
98
|
-
Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));
|
99
|
-
}
|
100
|
-
}
|
101
|
-
this.setHSV();
|
102
|
-
this.cdr.detectChanges();
|
103
|
-
}
|
104
|
-
/**
|
105
|
-
* @ignore
|
106
|
-
*/
|
107
|
-
_handleAlphaChanged(e) {
|
108
|
-
if (e != this._rgba.a) {
|
109
|
-
const { r, g, b } = this._rgba;
|
110
|
-
const _color = `rgba(${r},${g},${b},${e})`;
|
111
|
-
this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), true);
|
112
|
-
}
|
113
|
-
}
|
114
|
-
/**
|
115
|
-
* @ignore
|
116
|
-
*/
|
117
|
-
_handleGradientChanged(e) {
|
118
|
-
if (e != this._gradient) {
|
119
|
-
const { s, v } = AXColorUtil.to(this._rgba, 'hsva');
|
120
|
-
const { h } = this._colors[e].toHsv();
|
121
|
-
this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), true);
|
122
|
-
}
|
123
|
-
}
|
124
|
-
/**
|
125
|
-
* @ignore
|
126
|
-
*/
|
127
|
-
// protected _handleSurfaceClick(e: MouseEvent) {
|
128
|
-
// if (this._parent.disabled || this._parent.readonly) {
|
129
|
-
// e.preventDefault();
|
130
|
-
// e.stopPropagation();
|
131
|
-
// return;
|
132
|
-
// }
|
133
|
-
// const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
|
134
|
-
// const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');
|
135
|
-
// const x = e.offsetX;
|
136
|
-
// const y = e.offsetY;
|
137
|
-
// this.setColorByXY(x, y);
|
138
|
-
// }
|
139
|
-
/**
|
140
|
-
* @ignore
|
141
|
-
*/
|
142
|
-
// protected _handleDrag() {
|
143
|
-
// if (this._parent.disabled || this._parent.readonly) {
|
144
|
-
// return;
|
145
|
-
// }
|
146
|
-
// const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
|
147
|
-
// const sb = surface.getBoundingClientRect();
|
148
|
-
// const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');
|
149
|
-
// const pb = pointer.getBoundingClientRect();
|
150
|
-
// const w = pb.width / 2;
|
151
|
-
// let x = pb.left - sb.left + w;
|
152
|
-
// let y = pb.top - sb.top + w;
|
153
|
-
// //
|
154
|
-
// x = x < 0 ? 0 : x;
|
155
|
-
// x = x > sb.width ? sb.width : x;
|
156
|
-
// //
|
157
|
-
// y = y < 0 ? 0 : y;
|
158
|
-
// y = y > sb.height ? sb.height : y;
|
159
|
-
// //
|
160
|
-
// this.setColorByXY(x, y);
|
161
|
-
// }
|
162
|
-
/**
|
163
|
-
* @ignore
|
164
|
-
*/
|
165
|
-
// protected _handleDragMove(event: any) {
|
166
|
-
// if (this._parent.disabled || this._parent.readonly) {
|
167
|
-
// return;
|
168
|
-
// }
|
169
|
-
// const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
|
170
|
-
// const sb = surface.getBoundingClientRect();
|
171
|
-
// // Get the position of the drag event relative to the surface
|
172
|
-
// const dragPosition = event.pointerPosition;
|
173
|
-
// // Calculate x and y offsets relative to the surface
|
174
|
-
// let x = dragPosition.x - sb.left; // Pointer x position
|
175
|
-
// let y = dragPosition.y - sb.top; // Pointer y position
|
176
|
-
// // Clamp values to be within bounds
|
177
|
-
// // Adjust the clamping logic to prevent overshooting by taking the pointer size into account
|
178
|
-
// const pointerWidth = 20; // Assuming a pointer width of 20px, adjust as necessary
|
179
|
-
// const pointerHeight = 20; // Assuming a pointer height of 20px, adjust as necessary
|
180
|
-
// x = Math.max(0 + pointerWidth / 2, Math.min(x, sb.width - pointerWidth / 2)); // Center the pointer
|
181
|
-
// y = Math.max(0 + pointerHeight / 2, Math.min(y, sb.height - pointerHeight / 2)); // Center the pointer
|
182
|
-
// // Call the method to set the color based on the new x and y
|
183
|
-
// this.setColorByXY(x, y);
|
184
|
-
// }
|
185
|
-
/**
|
186
|
-
* @ignore
|
187
|
-
*/
|
188
|
-
setColorByXY(x, y) {
|
189
|
-
const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
|
190
|
-
const sb = surface.getBoundingClientRect();
|
191
|
-
//
|
192
|
-
const { h, a } = AXColorUtil.to(this._bgColor, 'hsva');
|
193
|
-
const hsva = {
|
194
|
-
h,
|
195
|
-
s: x / sb.width,
|
196
|
-
v: (sb.height - y) / sb.height,
|
197
|
-
a,
|
198
|
-
};
|
199
|
-
this._parent.commitValue(AXColorUtil.toString(hsva, 'rgba'), true);
|
200
|
-
}
|
201
|
-
/**
|
202
|
-
* @ignore
|
203
|
-
*/
|
204
|
-
setPointerByPercent(x, y) {
|
205
|
-
if (isBrowser()) {
|
206
|
-
const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
|
207
|
-
if (!surface)
|
208
|
-
return;
|
209
|
-
const sb = surface?.getBoundingClientRect();
|
210
|
-
const pointer = this.getHostElement().querySelector('.ax-color-box-pointer');
|
211
|
-
const pb = pointer?.getBoundingClientRect();
|
212
|
-
const w = pb.width / 2;
|
213
|
-
const width = sb.width; //+ pb.width
|
214
|
-
const height = sb.height; // + pb.width
|
215
|
-
this.dragPosition = {
|
216
|
-
x: (x * width) / 100 - w,
|
217
|
-
y: height - (y * height) / 100 - w,
|
218
|
-
};
|
219
|
-
}
|
220
|
-
}
|
221
|
-
/**
|
222
|
-
* @ignore
|
223
|
-
*/
|
224
|
-
get __hostClass() {
|
225
|
-
return `ax-color-palette-picker`;
|
226
|
-
}
|
227
|
-
handleMove(event) {
|
228
|
-
if (!this.changingColor())
|
229
|
-
return;
|
230
|
-
this.placePointer(event);
|
231
|
-
}
|
232
|
-
handleDown(event) {
|
233
|
-
if (this._parent.disabled || this._parent.readonly)
|
234
|
-
return;
|
235
|
-
this.placePointer(event);
|
236
|
-
this.changingColor.set(true);
|
237
|
-
}
|
238
|
-
handleUp() {
|
239
|
-
this.changingColor.set(false);
|
240
|
-
}
|
241
|
-
placePointer(event) {
|
242
|
-
const circleElement = this.circle().nativeElement;
|
243
|
-
const parentStats = circleElement.parentElement.getBoundingClientRect();
|
244
|
-
const circleHeight = circleElement.offsetHeight / 2;
|
245
|
-
const circleWidth = circleElement.offsetWidth / 2;
|
246
|
-
const top = event.clientY - parentStats.top - circleHeight;
|
247
|
-
const left = event.clientX - parentStats.left - circleWidth;
|
248
|
-
circleElement.style.top = `${Math.max(0 - circleHeight, Math.min(top, parentStats.height - circleHeight))}px`;
|
249
|
-
circleElement.style.left = `${Math.max(0 - circleWidth, Math.min(left, parentStats.width - circleWidth))}px`;
|
250
|
-
this.setColorByXY(event.clientX - parentStats.left, event.clientY - parentStats.top);
|
251
|
-
}
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePickerComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXColorPalettePickerComponent, selector: "ax-color-palette-picker", host: { properties: { "class": "this.__hostClass" } }, providers: [
|
254
|
-
{
|
255
|
-
provide: AXColorPaletteChildComponent,
|
256
|
-
useExisting: AXColorPalettePickerComponent,
|
257
|
-
},
|
258
|
-
AXUnsubscriber,
|
259
|
-
], viewQueries: [{ propertyName: "circle", first: true, predicate: ["circle"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-box-overlay-trans\">\n <div\n class=\"ax-color-box-overlay\"\n [style.background-color]=\"_bgColor\"\n (mousemove)=\"handleMove($event)\"\n (mousedown)=\"handleDown($event)\"\n (mouseup)=\"handleUp()\"\n (mouseleave)=\"handleUp()\"\n >\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\"></div>\n <div #circle class=\"ax-color-box-pointer\"></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n", 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: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
260
|
-
}
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
|
262
|
-
type: Component,
|
263
|
-
args: [{ selector: 'ax-color-palette-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
264
|
-
{
|
265
|
-
provide: AXColorPaletteChildComponent,
|
266
|
-
useExisting: AXColorPalettePickerComponent,
|
267
|
-
},
|
268
|
-
AXUnsubscriber,
|
269
|
-
], template: "<div class=\"ax-color-box-overlay-trans\">\n <div\n class=\"ax-color-box-overlay\"\n [style.background-color]=\"_bgColor\"\n (mousemove)=\"handleMove($event)\"\n (mousedown)=\"handleDown($event)\"\n (mouseup)=\"handleUp()\"\n (mouseleave)=\"handleUp()\"\n >\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\"></div>\n <div #circle class=\"ax-color-box-pointer\"></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n" }]
|
270
|
-
}], ctorParameters: () => [{ type: i4.AXColorPaletteParentComponent, decorators: [{
|
271
|
-
type: Inject,
|
272
|
-
args: [AXColorPaletteParentComponent]
|
273
|
-
}] }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
|
274
|
-
type: HostBinding,
|
275
|
-
args: ['class']
|
276
|
-
}] } });
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFFcEc7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxlQUFlO0lBa0RoRTs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUF2RHZDLFVBQUssR0FBbUQ7WUFDdEQsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRU0sV0FBTSxHQUFHLFNBQVMsQ0FBNkIsUUFB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Z0JBQ3JDLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxjQUFjO1NBQ2YsbUtDL0JILDIvQkFxQ0E7OzJGREphLDZCQUE2QjtrQkFiekMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBRXBCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVywrQkFBK0I7eUJBQzNDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQXdERSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFvTDNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYQ29sb3JVdGlsLCBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgcGlja2luZyBjb2xvcnMgZnJvbSBhIGNvbG9yIHBhbGV0dGUuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG4gIF9yZ2JhOiB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlciB9ID0ge1xuICAgIHI6IDAsXG4gICAgZzogMCxcbiAgICBiOiAwLFxuICAgIGE6IDAsXG4gIH07XG5cbiAgcHJpdmF0ZSBjaXJjbGUgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdjaXJjbGUnKTtcblxuICBwcml2YXRlIGNoYW5naW5nQ29sb3IgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9ncmFkaWVudCA9IDA7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2JnQ29sb3IgPSAnI0YwMCc7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9ncmFkaWVudENvbG9yczogYW55W10gPSBbXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAwIH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDI1NSwgMCknLCBwb3M6IDAuMTcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDI1NSwgMCknLCBwb3M6IDAuMzMgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDI1NSwgMjU1KScsIHBvczogMC41IH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAwLCAyNTUpJywgcG9zOiAwLjY3IH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDI1NSknLCBwb3M6IDAuODMgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDEgfSxcbiAgXTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50cyA9IEFYQ29sb3JVdGlsLmdyYWRpZW50KHRoaXMuX2dyYWRpZW50Q29sb3JzKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbG9ycyA9IHRoaXMuX2dyYWRpZW50cy5yZ2IoMTAwKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBkcmFnUG9zaXRpb24gPSB7IHg6IDAsIHk6IDAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQpXG4gICAgcHVibGljIF9wYXJlbnQ6IEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50LFxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXIsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgX3BhcmVudC5vblZhbHVlQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLl9oYW5kbGVQYXJlbnRDb2xvckNoYW5nZWQoKTtcbiAgICB9KTtcbiAgICBfcGFyZW50Lm9uT3B0aW9uQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRIU1YoKSB7XG4gICAgY29uc3QgaHN2ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgJ2hzdmEnKSBhcyBhbnk7XG4gICAgY29uc3Qgc29ydGVkSCA9IHRoaXMuX2NvbG9ycy5tYXAoKGMpID0+IGMudG9Ic3YoKS5oKTtcbiAgICB0aGlzLl9ncmFkaWVudCA9IHNvcnRlZEguZmluZEluZGV4KChjKSA9PiB7XG4gICAgICByZXR1cm4gTWF0aC5yb3VuZChjKSA+PSBNYXRoLnJvdW5kKGhzdi5oKTtcbiAgICB9KTtcbiAgICB0aGlzLl9iZ0NvbG9yID0gQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoOiBoc3YuaCwgczogMSwgdjogMSwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyk7XG4gICAgdGhpcy5zZXRQb2ludGVyQnlQZXJjZW50KGhzdi5zICogMTAwLCBoc3YudiAqIDEwMCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2hhbmRsZVBhcmVudENvbG9yQ2hhbmdlZCgpIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuX3BhcmVudC52YWx1ZTtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICB0aGlzLl9yZ2JhID0ge1xuICAgICAgICByOiAwLFxuICAgICAgICBnOiAwLFxuICAgICAgICBiOiAwLFxuICAgICAgICBhOiAwLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBWENvbG9yVXRpbC5lcXVhbChjb2xvciwgdGhpcy5fcmdiYSkpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9yZ2JhLCBBWENvbG9yVXRpbC50byhjb2xvciwgJ3JnYmEnKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2V0SFNWKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUFscGhhQ2hhbmdlZChlOiBhbnkpIHtcbiAgICBpZiAoZSAhPSB0aGlzLl9yZ2JhLmEpIHtcbiAgICAgIGNvbnN0IHsgciwgZywgYiB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7ZX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVHcmFkaWVudENoYW5nZWQoZTogYW55KSB7XG4gICAgaWYgKGUgIT0gdGhpcy5fZ3JhZGllbnQpIHtcbiAgICAgIGNvbnN0IHsgcywgdiB9ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgJ2hzdmEnKSBhcyBhbnk7XG4gICAgICBjb25zdCB7IGggfSA9IHRoaXMuX2NvbG9yc1tlIGFzIG51bWJlcl0udG9Ic3YoKTtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyh7IGgsIHMsIHYsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIC8vIHByb3RlY3RlZCBfaGFuZGxlU3VyZmFjZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgLy8gICBpZiAodGhpcy5fcGFyZW50LmRpc2FibGVkIHx8IHRoaXMuX3BhcmVudC5yZWFkb25seSkge1xuICAvLyAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAvLyAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1wb2ludGVyJyk7XG4gIC8vICAgY29uc3QgeCA9IGUub2Zmc2V0WDtcbiAgLy8gICBjb25zdCB5ID0gZS5vZmZzZXRZO1xuICAvLyAgIHRoaXMuc2V0Q29sb3JCeVhZKHgsIHkpO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICAvLyBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XG4gIC8vICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAvLyAgIGNvbnN0IHBiID0gcG9pbnRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAvLyAgIGxldCB4ID0gcGIubGVmdCAtIHNiLmxlZnQgKyB3O1xuICAvLyAgIGxldCB5ID0gcGIudG9wIC0gc2IudG9wICsgdztcbiAgLy8gICAvL1xuICAvLyAgIHggPSB4IDwgMCA/IDAgOiB4O1xuICAvLyAgIHggPSB4ID4gc2Iud2lkdGggPyBzYi53aWR0aCA6IHg7XG4gIC8vICAgLy9cbiAgLy8gICB5ID0geSA8IDAgPyAwIDogeTtcbiAgLy8gICB5ID0geSA+IHNiLmhlaWdodCA/IHNiLmhlaWdodCA6IHk7XG4gIC8vICAgLy9cbiAgLy8gICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgLy8gcHJvdGVjdGVkIF9oYW5kbGVEcmFnTW92ZShldmVudDogYW55KSB7XG4gIC8vICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG5cbiAgLy8gICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgLy8gICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmFnIGV2ZW50IHJlbGF0aXZlIHRvIHRoZSBzdXJmYWNlXG4gIC8vICAgY29uc3QgZHJhZ1Bvc2l0aW9uID0gZXZlbnQucG9pbnRlclBvc2l0aW9uO1xuXG4gIC8vICAgLy8gQ2FsY3VsYXRlIHggYW5kIHkgb2Zmc2V0cyByZWxhdGl2ZSB0byB0aGUgc3VyZmFjZVxuICAvLyAgIGxldCB4ID0gZHJhZ1Bvc2l0aW9uLnggLSBzYi5sZWZ0OyAvLyBQb2ludGVyIHggcG9zaXRpb25cbiAgLy8gICBsZXQgeSA9IGRyYWdQb3NpdGlvbi55IC0gc2IudG9wOyAvLyBQb2ludGVyIHkgcG9zaXRpb25cblxuICAvLyAgIC8vIENsYW1wIHZhbHVlcyB0byBiZSB3aXRoaW4gYm91bmRzXG4gIC8vICAgLy8gQWRqdXN0IHRoZSBjbGFtcGluZyBsb2dpYyB0byBwcmV2ZW50IG92ZXJzaG9vdGluZyBieSB0YWtpbmcgdGhlIHBvaW50ZXIgc2l6ZSBpbnRvIGFjY291bnRcbiAgLy8gICBjb25zdCBwb2ludGVyV2lkdGggPSAyMDsgLy8gQXNzdW1pbmcgYSBwb2ludGVyIHdpZHRoIG9mIDIwcHgsIGFkanVzdCBhcyBuZWNlc3NhcnlcbiAgLy8gICBjb25zdCBwb2ludGVySGVpZ2h0ID0gMjA7IC8vIEFzc3VtaW5nIGEgcG9pbnRlciBoZWlnaHQgb2YgMjBweCwgYWRqdXN0IGFzIG5lY2Vzc2FyeVxuXG4gIC8vICAgeCA9IE1hdGgubWF4KDAgKyBwb2ludGVyV2lkdGggLyAyLCBNYXRoLm1pbih4LCBzYi53aWR0aCAtIHBvaW50ZXJXaWR0aCAvIDIpKTsgLy8gQ2VudGVyIHRoZSBwb2ludGVyXG4gIC8vICAgeSA9IE1hdGgubWF4KDAgKyBwb2ludGVySGVpZ2h0IC8gMiwgTWF0aC5taW4oeSwgc2IuaGVpZ2h0IC0gcG9pbnRlckhlaWdodCAvIDIpKTsgLy8gQ2VudGVyIHRoZSBwb2ludGVyXG5cbiAgLy8gICAvLyBDYWxsIHRoZSBtZXRob2QgdG8gc2V0IHRoZSBjb2xvciBiYXNlZCBvbiB0aGUgbmV3IHggYW5kIHlcbiAgLy8gICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRDb2xvckJ5WFkoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy9cbiAgICBjb25zdCB7IGgsIGEgfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX2JnQ29sb3IsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IGhzdmEgPSB7XG4gICAgICBoLFxuICAgICAgczogeCAvIHNiLndpZHRoLFxuICAgICAgdjogKHNiLmhlaWdodCAtIHkpIC8gc2IuaGVpZ2h0LFxuICAgICAgYSxcbiAgICB9O1xuICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhoc3ZhLCAncmdiYScpLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICAgIGlmICghc3VyZmFjZSkgcmV0dXJuO1xuICAgICAgY29uc3Qgc2IgPSBzdXJmYWNlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAgICAgY29uc3QgcGIgPSBwb2ludGVyPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHcgPSBwYi53aWR0aCAvIDI7XG4gICAgICBjb25zdCB3aWR0aCA9IHNiLndpZHRoOyAvLysgcGIud2lkdGhcbiAgICAgIGNvbnN0IGhlaWdodCA9IHNiLmhlaWdodDsgLy8gKyBwYi53aWR0aFxuICAgICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7XG4gICAgICAgIHg6ICh4ICogd2lkdGgpIC8gMTAwIC0gdyxcbiAgICAgICAgeTogaGVpZ2h0IC0gKHkgKiBoZWlnaHQpIC8gMTAwIC0gdyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWNvbG9yLXBhbGV0dGUtcGlja2VyYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmNoYW5naW5nQ29sb3IoKSkgcmV0dXJuO1xuICAgIHRoaXMucGxhY2VQb2ludGVyKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHJldHVybjtcbiAgICB0aGlzLnBsYWNlUG9pbnRlcihldmVudCk7XG4gICAgdGhpcy5jaGFuZ2luZ0NvbG9yLnNldCh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVVcCgpIHtcbiAgICB0aGlzLmNoYW5naW5nQ29sb3Iuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgcGxhY2VQb2ludGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgY2lyY2xlRWxlbWVudCA9IHRoaXMuY2lyY2xlKCkubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBwYXJlbnRTdGF0cyA9IGNpcmNsZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IGNpcmNsZUhlaWdodCA9IGNpcmNsZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICBjb25zdCBjaXJjbGVXaWR0aCA9IGNpcmNsZUVsZW1lbnQub2Zmc2V0V2lkdGggLyAyO1xuXG4gICAgY29uc3QgdG9wID0gZXZlbnQuY2xpZW50WSAtIHBhcmVudFN0YXRzLnRvcCAtIGNpcmNsZUhlaWdodDtcbiAgICBjb25zdCBsZWZ0ID0gZXZlbnQuY2xpZW50WCAtIHBhcmVudFN0YXRzLmxlZnQgLSBjaXJjbGVXaWR0aDtcblxuICAgIGNpcmNsZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7TWF0aC5tYXgoMCAtIGNpcmNsZUhlaWdodCwgTWF0aC5taW4odG9wLCBwYXJlbnRTdGF0cy5oZWlnaHQgLSBjaXJjbGVIZWlnaHQpKX1weGA7XG4gICAgY2lyY2xlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7TWF0aC5tYXgoMCAtIGNpcmNsZVdpZHRoLCBNYXRoLm1pbihsZWZ0LCBwYXJlbnRTdGF0cy53aWR0aCAtIGNpcmNsZVdpZHRoKSl9cHhgO1xuXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoZXZlbnQuY2xpZW50WCAtIHBhcmVudFN0YXRzLmxlZnQsIGV2ZW50LmNsaWVudFkgLSBwYXJlbnRTdGF0cy50b3ApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXktdHJhbnNcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXlcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIl9iZ0NvbG9yXCJcbiAgICAobW91c2Vtb3ZlKT1cImhhbmRsZU1vdmUoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJoYW5kbGVEb3duKCRldmVudClcIlxuICAgIChtb3VzZXVwKT1cImhhbmRsZVVwKClcIlxuICAgIChtb3VzZWxlYXZlKT1cImhhbmRsZVVwKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcxXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcyXCI+PC9kaXY+XG4gICAgPGRpdiAjY2lyY2xlIGNsYXNzPVwiYXgtY29sb3ItYm94LXBvaW50ZXJcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC1ncmFkaWVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMTAwXCJcbiAgW21vZGVdPVwiJ3NpbmdsZSdcIlxuICBbbmdNb2RlbF09XCJfZ3JhZGllbnRcIlxuICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZUdyYWRpZW50Q2hhbmdlZCgkZXZlbnQpXCJcbj5cbjwvYXgtcmFuZ2Utc2xpZGVyPlxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC10cmFuc3BhcmVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMVwiXG4gIFtoYXNTdGVwXT1cImZhbHNlXCJcbiAgW25nTW9kZWxdPVwiX3JnYmEuYVwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlQWxwaGFDaGFuZ2VkKCRldmVudClcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=
|
@@ -1,80 +0,0 @@
|
|
1
|
-
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
|
3
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';
|
4
|
-
import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@acorex/core/utils";
|
7
|
-
import * as i2 from "./color-palette.class";
|
8
|
-
/**
|
9
|
-
* Component that displays a preview of the selected color in the palette.
|
10
|
-
*
|
11
|
-
* @category Components
|
12
|
-
*/
|
13
|
-
export class AXColorPalettePreviewComponent extends MXBaseComponent {
|
14
|
-
/**
|
15
|
-
* @ignore
|
16
|
-
*/
|
17
|
-
constructor(_parent, _zone, _unsubscriber) {
|
18
|
-
super();
|
19
|
-
this._parent = _parent;
|
20
|
-
this._zone = _zone;
|
21
|
-
this._unsubscriber = _unsubscriber;
|
22
|
-
_parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
|
23
|
-
_zone.runOutsideAngular(this.applyParent.bind(this));
|
24
|
-
});
|
25
|
-
}
|
26
|
-
/**
|
27
|
-
* @ignore
|
28
|
-
*/
|
29
|
-
ngAfterViewInit() {
|
30
|
-
this.applyParent();
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* @ignore
|
34
|
-
*/
|
35
|
-
applyParent() {
|
36
|
-
const inner = this.getHostElement().firstElementChild;
|
37
|
-
inner.style.backgroundColor = this._parent.value;
|
38
|
-
inner.innerText = AXColorUtil.toString(this._parent.value);
|
39
|
-
const color = AXColorUtil.toString(this._parent.value, 'hex');
|
40
|
-
const ratio = AXColorUtil.contrastToWhite(color);
|
41
|
-
this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
|
42
|
-
}
|
43
|
-
/**
|
44
|
-
* @ignore
|
45
|
-
*/
|
46
|
-
get __hostClass() {
|
47
|
-
return `ax-color-palette-preview`;
|
48
|
-
}
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePreviewComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i0.NgZone }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXColorPalettePreviewComponent, selector: "ax-color-palette-preview", host: { properties: { "classs": "this.__hostClass" } }, providers: [
|
51
|
-
{
|
52
|
-
provide: AXColorPaletteChildComponent,
|
53
|
-
useExisting: AXColorPalettePreviewComponent,
|
54
|
-
},
|
55
|
-
AXUnsubscriber,
|
56
|
-
], usesInheritance: true, ngImport: i0, template: `<div class="palette-preview-overlay" [class.ax-state-disabled]="_parent.disabled"></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
57
|
-
}
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePreviewComponent, decorators: [{
|
59
|
-
type: Component,
|
60
|
-
args: [{
|
61
|
-
selector: 'ax-color-palette-preview',
|
62
|
-
template: `<div class="palette-preview-overlay" [class.ax-state-disabled]="_parent.disabled"></div>`,
|
63
|
-
encapsulation: ViewEncapsulation.None,
|
64
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
65
|
-
providers: [
|
66
|
-
{
|
67
|
-
provide: AXColorPaletteChildComponent,
|
68
|
-
useExisting: AXColorPalettePreviewComponent,
|
69
|
-
},
|
70
|
-
AXUnsubscriber,
|
71
|
-
],
|
72
|
-
}]
|
73
|
-
}], ctorParameters: () => [{ type: i2.AXColorPaletteParentComponent, decorators: [{
|
74
|
-
type: Inject,
|
75
|
-
args: [AXColorPaletteParentComponent]
|
76
|
-
}] }, { type: i0.NgZone }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
|
77
|
-
type: HostBinding,
|
78
|
-
args: ['classs']
|
79
|
-
}] } });
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb2xvci1wYWxldHRlL3NyYy9saWIvY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUVwRzs7OztHQUlHO0FBY0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGVBQWU7SUFDL0Q7O0tBRUM7SUFDSCxZQUVTLE9BQXNDLEVBQ3JDLEtBQWEsRUFDYixhQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUpELFlBQU8sR0FBUCxPQUFPLENBQStCO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFHckMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVc7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGlCQUFtQyxDQUFDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNZLFdBQVc7UUFDckIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDOzhHQXpDVSw4QkFBOEIsa0JBSy9CLDZCQUE2QjtrR0FMNUIsOEJBQThCLDJHQVI5QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7WUFDRCxjQUFjO1NBQ2YsaURBVFMsMEZBQTBGOzsyRkFXekYsOEJBQThCO2tCQWIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSwwRkFBMEY7b0JBQ3BHLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsZ0NBQWdDO3lCQUM1Qzt3QkFDRCxjQUFjO3FCQUNmO2lCQUNGOzswQkFNSSxNQUFNOzJCQUFDLDZCQUE2QjsyRkFrQzNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIE5nWm9uZSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsIEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhIHByZXZpZXcgb2YgdGhlIHNlbGVjdGVkIGNvbG9yIGluIHRoZSBwYWxldHRlLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUtcHJldmlldycsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBhbGV0dGUtcHJldmlldy1vdmVybGF5XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIj48L2Rpdj5gLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVByZXZpZXdDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVQcmV2aWV3Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIF96b25lLnJ1bk91dHNpZGVBbmd1bGFyKHRoaXMuYXBwbHlQYXJlbnQuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5UGFyZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgYXBwbHlQYXJlbnQoKSB7XG4gICAgY29uc3QgaW5uZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgaW5uZXIuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fcGFyZW50LnZhbHVlO1xuICAgIGlubmVyLmlubmVyVGV4dCA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHRoaXMuX3BhcmVudC52YWx1ZSk7XG4gICAgY29uc3QgY29sb3IgPSBBWENvbG9yVXRpbC50b1N0cmluZyh0aGlzLl9wYXJlbnQudmFsdWUsICdoZXgnKTtcbiAgICBjb25zdCByYXRpbyA9IEFYQ29sb3JVdGlsLmNvbnRyYXN0VG9XaGl0ZShjb2xvcik7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmNvbG9yID0gIShyYXRpbyA+IDIuMCkgPyAnIzAwMCcgOiAnI2ZmZic7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3NzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWNvbG9yLXBhbGV0dGUtcHJldmlld2A7XG4gIH1cbn1cbiJdfQ==
|