@acorex/components 7.1.0 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.d.ts +5 -5
- package/action-sheet/public-api.d.ts +3 -3
- package/action-sheet/src/action-sheet.component.d.ts +25 -25
- package/action-sheet/src/action-sheet.interface.d.ts +20 -20
- package/action-sheet/src/action-sheet.module.d.ts +14 -14
- package/action-sheet/src/action-sheet.service.d.ts +13 -13
- package/alert/index.d.ts +5 -5
- package/alert/public-api.d.ts +2 -2
- package/alert/src/alert.component.d.ts +88 -88
- package/alert/src/alert.module.d.ts +9 -9
- package/avatar/index.d.ts +5 -5
- package/avatar/public-api.d.ts +3 -3
- package/avatar/src/avatar-group.component.d.ts +8 -8
- package/avatar/src/avatar.component.d.ts +20 -20
- package/avatar/src/avatar.module.d.ts +9 -9
- package/badge/index.d.ts +5 -5
- package/badge/public-api.d.ts +2 -2
- package/badge/src/badge.component.d.ts +41 -41
- package/badge/src/badge.module.d.ts +8 -8
- package/breadcrumbs/index.d.ts +5 -5
- package/breadcrumbs/public-api.d.ts +4 -4
- package/breadcrumbs/src/breadcrumbs-item.class.d.ts +9 -9
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +77 -79
- package/breadcrumbs/src/breadcrumbs.component.d.ts +13 -13
- package/breadcrumbs/src/breadcrumbs.module.d.ts +9 -9
- package/button/index.d.ts +5 -5
- package/button/public-api.d.ts +5 -5
- package/button/src/button-group.component.d.ts +86 -86
- package/button/src/button-item.class.d.ts +24 -24
- package/button/src/button-item.component.d.ts +82 -80
- package/button/src/button.component.d.ts +23 -23
- package/button/src/button.module.d.ts +11 -11
- package/calendar/index.d.ts +5 -5
- package/calendar/public-api.d.ts +4 -4
- package/calendar/src/calendar-range.component.d.ts +29 -29
- package/calendar/src/calendar.class.d.ts +100 -100
- package/calendar/src/calendar.component.d.ts +44 -44
- package/calendar/src/calendar.module.d.ts +10 -10
- package/card/index.d.ts +5 -5
- package/card/public-api.d.ts +2 -2
- package/card/src/card.component.d.ts +10 -10
- package/card/src/card.module.d.ts +8 -8
- package/checkbox/index.d.ts +5 -5
- package/checkbox/public-api.d.ts +2 -2
- package/checkbox/src/checkbox.component.d.ts +12 -12
- package/checkbox/src/checkbox.module.d.ts +10 -10
- package/chips/index.d.ts +5 -5
- package/chips/public-api.d.ts +2 -2
- package/chips/src/chips.component.d.ts +72 -72
- package/chips/src/chips.module.d.ts +8 -8
- package/collapse/index.d.ts +5 -5
- package/collapse/public-api.d.ts +3 -3
- package/collapse/src/collapse-group.component.d.ts +15 -15
- package/collapse/src/collapse.component.d.ts +17 -17
- package/collapse/src/collapse.module.d.ts +9 -9
- package/color-palette/index.d.ts +5 -5
- package/color-palette/public-api.d.ts +7 -7
- package/color-palette/src/color-palette-input.component.d.ts +22 -22
- package/color-palette/src/color-palette-picker.component.d.ts +32 -32
- package/color-palette/src/color-palette-preview.component.d.ts +11 -11
- package/color-palette/src/color-palette-swatches.component.d.ts +18 -18
- package/color-palette/src/color-palette.class.d.ts +22 -22
- package/color-palette/src/color-palette.component.d.ts +16 -16
- package/color-palette/src/color-palette.module.d.ts +19 -19
- package/color-picker/index.d.ts +5 -5
- package/color-picker/public-api.d.ts +2 -2
- package/color-picker/src/color-picker.component.d.ts +190 -193
- package/color-picker/src/color-picker.module.d.ts +18 -18
- package/common/index.d.ts +5 -5
- package/common/public-api.d.ts +16 -16
- package/common/src/classes/components.class.d.ts +62 -62
- package/common/src/classes/data.class.d.ts +4 -4
- package/common/src/classes/drawing.class.d.ts +9 -9
- package/common/src/classes/events.class.d.ts +95 -95
- package/common/src/classes/styles.class.d.ts +17 -17
- package/common/src/common.module.d.ts +11 -11
- package/common/src/components/base-component.class.d.ts +28 -28
- package/common/src/components/button-base-component.class.d.ts +36 -36
- package/common/src/components/color-component.class.d.ts +15 -15
- package/common/src/components/colorlook-component.class.d.ts +9 -9
- package/common/src/components/index.d.ts +7 -7
- package/common/src/components/interactive-component.class.d.ts +37 -37
- package/common/src/components/look-component.class.d.ts +15 -15
- package/common/src/components/value-component.class.d.ts +45 -45
- package/common/src/constant/positions.d.ts +75 -75
- package/common/src/directives/auto-focus.directive.d.ts +13 -13
- package/common/src/directives/debounce-time.directive.d.ts +17 -17
- package/common/src/directives/hotkey.directive.d.ts +22 -22
- package/common/src/directives/infinite-scroll.directive.d.ts +25 -25
- package/common/src/directives/responsive.directive.d.ts +10 -10
- package/common/src/services/custom-cdk-overlay.service.d.ts +19 -19
- package/common/src/services/hotkey.service.d.ts +17 -17
- package/common/src/services/overlay.service.d.ts +34 -34
- package/context-menu/index.d.ts +5 -5
- package/context-menu/public-api.d.ts +2 -2
- package/context-menu/src/context-menu.component.d.ts +34 -34
- package/context-menu/src/context-menu.module.d.ts +13 -13
- package/data-pager/index.d.ts +5 -5
- package/data-pager/public-api.d.ts +9 -9
- package/data-pager/src/data-pager-base.component.d.ts +49 -49
- package/data-pager/src/data-pager-info.component.d.ts +15 -15
- package/data-pager/src/data-pager-input-selector.component.d.ts +15 -15
- package/data-pager/src/data-pager-next-buttons.components.d.ts +16 -16
- package/data-pager/src/data-pager-numeric-selector.component.d.ts +18 -18
- package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +18 -18
- package/data-pager/src/data-pager-prev-buttons.component.d.ts +15 -15
- package/data-pager/src/data-pager.component.d.ts +35 -35
- package/data-pager/src/data-pager.module.d.ts +18 -18
- package/data-table/index.d.ts +5 -5
- package/data-table/public-api.d.ts +4 -4
- package/data-table/src/data-column-cell-template.directive.d.ts +8 -8
- package/data-table/src/data-column.directive.d.ts +16 -16
- package/data-table/src/data-table.component.d.ts +37 -37
- package/data-table/src/data-table.module.d.ts +14 -14
- package/date-picker/index.d.ts +5 -5
- package/date-picker/public-api.d.ts +2 -2
- package/date-picker/src/datepicker.component.d.ts +154 -154
- package/date-picker/src/datepicker.module.d.ts +15 -15
- package/decorators/index.d.ts +5 -5
- package/decorators/public-api.d.ts +14 -14
- package/decorators/src/close-button.component.d.ts +14 -14
- package/decorators/src/content.component.d.ts +8 -8
- package/decorators/src/decorators.module.d.ts +20 -20
- package/decorators/src/footer.component.d.ts +8 -8
- package/decorators/src/form-hint.component.d.ts +8 -8
- package/decorators/src/header.component.d.ts +8 -8
- package/decorators/src/icon.component.d.ts +10 -10
- package/decorators/src/overlay.component.d.ts +6 -6
- package/decorators/src/placeholder.component.d.ts +5 -5
- package/decorators/src/prefix.component.d.ts +8 -8
- package/decorators/src/sub-title.component.d.ts +9 -9
- package/decorators/src/suffix.component.d.ts +8 -8
- package/decorators/src/text.component.d.ts +9 -9
- package/decorators/src/title.component.d.ts +8 -8
- package/dialog/index.d.ts +5 -5
- package/dialog/public-api.d.ts +4 -4
- package/dialog/src/dialog.class.d.ts +13 -13
- package/dialog/src/dialog.component.d.ts +16 -16
- package/dialog/src/dialog.module.d.ts +14 -14
- package/dialog/src/dialog.service.d.ts +38 -38
- package/drawer/index.d.ts +5 -5
- package/drawer/public-api.d.ts +3 -3
- package/drawer/src/drawer-container.component.d.ts +10 -10
- package/drawer/src/drawer.component.d.ts +36 -36
- package/drawer/src/drawer.module.d.ts +9 -9
- package/dropdown/index.d.ts +5 -5
- package/dropdown/public-api.d.ts +2 -2
- package/dropdown/src/dropdown-panel.component.d.ts +30 -30
- package/dropdown/src/dropdown.module.d.ts +14 -14
- package/esm2022/acorex-components.mjs +4 -4
- package/esm2022/action-sheet/acorex-components-action-sheet.mjs +4 -4
- package/esm2022/action-sheet/public-api.mjs +3 -3
- package/esm2022/action-sheet/src/action-sheet.component.mjs +81 -80
- package/esm2022/action-sheet/src/action-sheet.interface.mjs +2 -2
- package/esm2022/action-sheet/src/action-sheet.module.mjs +27 -26
- package/esm2022/action-sheet/src/action-sheet.service.mjs +94 -93
- package/esm2022/alert/acorex-components-alert.mjs +4 -4
- package/esm2022/alert/public-api.mjs +2 -2
- package/esm2022/alert/src/alert.component.mjs +189 -188
- package/esm2022/alert/src/alert.module.mjs +23 -22
- package/esm2022/avatar/acorex-components-avatar.mjs +4 -4
- package/esm2022/avatar/public-api.mjs +3 -3
- package/esm2022/avatar/src/avatar-group.component.mjs +17 -16
- package/esm2022/avatar/src/avatar.component.mjs +44 -43
- package/esm2022/avatar/src/avatar.module.mjs +23 -22
- package/esm2022/badge/acorex-components-badge.mjs +4 -4
- package/esm2022/badge/public-api.mjs +2 -2
- package/esm2022/badge/src/badge.component.mjs +29 -28
- package/esm2022/badge/src/badge.module.mjs +22 -21
- package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +4 -4
- package/esm2022/breadcrumbs/public-api.mjs +4 -4
- package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +1 -1
- package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +51 -50
- package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +28 -27
- package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +21 -20
- package/esm2022/button/acorex-components-button.mjs +4 -4
- package/esm2022/button/public-api.mjs +5 -5
- package/esm2022/button/src/button-group.component.mjs +92 -91
- package/esm2022/button/src/button-item.class.mjs +1 -1
- package/esm2022/button/src/button-item.component.mjs +70 -69
- package/esm2022/button/src/button.component.mjs +79 -78
- package/esm2022/button/src/button.module.mjs +33 -32
- package/esm2022/calendar/acorex-components-calendar.mjs +4 -4
- package/esm2022/calendar/public-api.mjs +4 -4
- package/esm2022/calendar/src/calendar-range.component.mjs +175 -174
- package/esm2022/calendar/src/calendar.class.mjs +282 -280
- package/esm2022/calendar/src/calendar.component.mjs +373 -372
- package/esm2022/calendar/src/calendar.module.mjs +24 -23
- package/esm2022/card/acorex-components-card.mjs +4 -4
- package/esm2022/card/public-api.mjs +2 -2
- package/esm2022/card/src/card.component.mjs +19 -18
- package/esm2022/card/src/card.module.mjs +20 -19
- package/esm2022/checkbox/acorex-components-checkbox.mjs +4 -4
- package/esm2022/checkbox/public-api.mjs +2 -2
- package/esm2022/checkbox/src/checkbox.component.mjs +43 -42
- package/esm2022/checkbox/src/checkbox.module.mjs +22 -21
- package/esm2022/chips/acorex-components-chips.mjs +4 -4
- package/esm2022/chips/public-api.mjs +2 -2
- package/esm2022/chips/src/chips.component.mjs +34 -33
- package/esm2022/chips/src/chips.module.mjs +20 -19
- package/esm2022/collapse/acorex-components-collapse.mjs +4 -4
- package/esm2022/collapse/public-api.mjs +3 -3
- package/esm2022/collapse/src/collapse-group.component.mjs +53 -52
- package/esm2022/collapse/src/collapse.component.mjs +48 -47
- package/esm2022/collapse/src/collapse.module.mjs +21 -20
- package/esm2022/color-palette/acorex-components-color-palette.mjs +4 -4
- package/esm2022/color-palette/public-api.mjs +7 -7
- package/esm2022/color-palette/src/color-palette-input.component.mjs +131 -130
- package/esm2022/color-palette/src/color-palette-picker.component.mjs +160 -159
- package/esm2022/color-palette/src/color-palette-preview.component.mjs +57 -56
- package/esm2022/color-palette/src/color-palette-swatches.component.mjs +295 -294
- package/esm2022/color-palette/src/color-palette.class.mjs +19 -17
- package/esm2022/color-palette/src/color-palette.component.mjs +76 -75
- package/esm2022/color-palette/src/color-palette.module.mjs +61 -60
- package/esm2022/color-picker/acorex-components-color-picker.mjs +4 -4
- package/esm2022/color-picker/public-api.mjs +2 -2
- package/esm2022/color-picker/src/color-picker.component.mjs +120 -119
- package/esm2022/color-picker/src/color-picker.module.mjs +62 -61
- package/esm2022/common/acorex-components-common.mjs +4 -4
- package/esm2022/common/public-api.mjs +16 -16
- package/esm2022/common/src/classes/components.class.mjs +78 -72
- package/esm2022/common/src/classes/data.class.mjs +1 -1
- package/esm2022/common/src/classes/drawing.class.mjs +1 -1
- package/esm2022/common/src/classes/events.class.mjs +95 -95
- package/esm2022/common/src/classes/styles.class.mjs +12 -12
- package/esm2022/common/src/common.module.mjs +43 -42
- package/esm2022/common/src/components/base-component.class.mjs +56 -56
- package/esm2022/common/src/components/button-base-component.class.mjs +68 -68
- package/esm2022/common/src/components/color-component.class.mjs +26 -26
- package/esm2022/common/src/components/colorlook-component.class.mjs +10 -10
- package/esm2022/common/src/components/index.mjs +7 -7
- package/esm2022/common/src/components/interactive-component.class.mjs +62 -62
- package/esm2022/common/src/components/look-component.class.mjs +26 -26
- package/esm2022/common/src/components/value-component.class.mjs +207 -206
- package/esm2022/common/src/constant/positions.mjs +74 -74
- package/esm2022/common/src/directives/auto-focus.directive.mjs +58 -57
- package/esm2022/common/src/directives/debounce-time.directive.mjs +50 -49
- package/esm2022/common/src/directives/hotkey.directive.mjs +83 -82
- package/esm2022/common/src/directives/infinite-scroll.directive.mjs +70 -69
- package/esm2022/common/src/directives/responsive.directive.mjs +36 -35
- package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +52 -50
- package/esm2022/common/src/services/hotkey.service.mjs +41 -40
- package/esm2022/common/src/services/overlay.service.mjs +116 -115
- package/esm2022/context-menu/acorex-components-context-menu.mjs +4 -4
- package/esm2022/context-menu/public-api.mjs +2 -2
- package/esm2022/context-menu/src/context-menu.component.mjs +271 -270
- package/esm2022/context-menu/src/context-menu.module.mjs +37 -36
- package/esm2022/data-pager/acorex-components-data-pager.mjs +4 -4
- package/esm2022/data-pager/public-api.mjs +9 -9
- package/esm2022/data-pager/src/data-pager-base.component.mjs +37 -35
- package/esm2022/data-pager/src/data-pager-info.component.mjs +62 -61
- package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +46 -45
- package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +51 -50
- package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +75 -74
- package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +67 -66
- package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +48 -47
- package/esm2022/data-pager/src/data-pager.component.mjs +147 -146
- package/esm2022/data-pager/src/data-pager.module.mjs +52 -51
- package/esm2022/data-table/acorex-components-data-table.mjs +4 -4
- package/esm2022/data-table/public-api.mjs +4 -4
- package/esm2022/data-table/src/data-column-cell-template.directive.mjs +19 -18
- package/esm2022/data-table/src/data-column.directive.mjs +51 -50
- package/esm2022/data-table/src/data-table.component.mjs +140 -139
- package/esm2022/data-table/src/data-table.module.mjs +28 -27
- package/esm2022/date-picker/acorex-components-date-picker.mjs +4 -4
- package/esm2022/date-picker/public-api.mjs +2 -2
- package/esm2022/date-picker/src/datepicker.component.mjs +241 -240
- package/esm2022/date-picker/src/datepicker.module.mjs +45 -44
- package/esm2022/decorators/acorex-components-decorators.mjs +4 -4
- package/esm2022/decorators/public-api.mjs +14 -14
- package/esm2022/decorators/src/close-button.component.mjs +44 -43
- package/esm2022/decorators/src/content.component.mjs +22 -21
- package/esm2022/decorators/src/decorators.module.mjs +72 -71
- package/esm2022/decorators/src/footer.component.mjs +22 -21
- package/esm2022/decorators/src/form-hint.component.mjs +21 -20
- package/esm2022/decorators/src/header.component.mjs +22 -21
- package/esm2022/decorators/src/icon.component.mjs +31 -30
- package/esm2022/decorators/src/overlay.component.mjs +21 -20
- package/esm2022/decorators/src/placeholder.component.mjs +15 -14
- package/esm2022/decorators/src/prefix.component.mjs +22 -21
- package/esm2022/decorators/src/sub-title.component.mjs +26 -25
- package/esm2022/decorators/src/suffix.component.mjs +22 -21
- package/esm2022/decorators/src/text.component.mjs +23 -22
- package/esm2022/decorators/src/title.component.mjs +21 -20
- package/esm2022/dialog/acorex-components-dialog.mjs +4 -4
- package/esm2022/dialog/public-api.mjs +4 -4
- package/esm2022/dialog/src/dialog.class.mjs +1 -1
- package/esm2022/dialog/src/dialog.component.mjs +56 -55
- package/esm2022/dialog/src/dialog.module.mjs +28 -27
- package/esm2022/dialog/src/dialog.service.mjs +155 -154
- package/esm2022/drawer/acorex-components-drawer.mjs +4 -4
- package/esm2022/drawer/public-api.mjs +3 -3
- package/esm2022/drawer/src/drawer-container.component.mjs +31 -30
- package/esm2022/drawer/src/drawer.component.mjs +139 -138
- package/esm2022/drawer/src/drawer.module.mjs +23 -22
- package/esm2022/dropdown/acorex-components-dropdown.mjs +4 -4
- package/esm2022/dropdown/public-api.mjs +2 -2
- package/esm2022/dropdown/src/dropdown-panel.component.mjs +106 -105
- package/esm2022/dropdown/src/dropdown.module.mjs +26 -25
- package/esm2022/form/acorex-components-form.mjs +4 -4
- package/esm2022/form/public-api.mjs +6 -6
- package/esm2022/form/src/form-field.component.mjs +16 -15
- package/esm2022/form/src/form.component.mjs +164 -163
- package/esm2022/form/src/form.module.mjs +64 -63
- package/esm2022/form/src/validation-rule.widget.mjs +114 -113
- package/esm2022/form/src/validation-summary.component.mjs +82 -81
- package/esm2022/form/src/validation.class.mjs +1 -1
- package/esm2022/image/acorex-components-image.mjs +4 -4
- package/esm2022/image/public-api.mjs +2 -2
- package/esm2022/image/src/image.component.mjs +80 -79
- package/esm2022/image/src/image.module.mjs +20 -19
- package/esm2022/label/acorex-components-label.mjs +4 -4
- package/esm2022/label/public-api.mjs +2 -2
- package/esm2022/label/src/label.component.mjs +49 -48
- package/esm2022/label/src/label.module.mjs +22 -21
- package/esm2022/loading/acorex-components-loading.mjs +4 -4
- package/esm2022/loading/public-api.mjs +5 -5
- package/esm2022/loading/src/loading-spinner.component.mjs +18 -17
- package/esm2022/loading/src/loading.component.mjs +58 -57
- package/esm2022/loading/src/loading.directive.mjs +77 -76
- package/esm2022/loading/src/loading.module.mjs +36 -35
- package/esm2022/loading/src/loading.service.mjs +159 -158
- package/esm2022/menu/acorex-components-menu.mjs +4 -4
- package/esm2022/menu/public-api.mjs +2 -2
- package/esm2022/menu/src/menu.component.mjs +347 -346
- package/esm2022/menu/src/menu.module.mjs +34 -33
- package/esm2022/mixin/acorex-components-mixin.mjs +4 -4
- package/esm2022/mixin/public-api.mjs +17 -17
- package/esm2022/mixin/src/base-components.class.mjs +111 -110
- package/esm2022/mixin/src/base-menu-mixin.class.mjs +133 -133
- package/esm2022/mixin/src/button-mixin.class.mjs +70 -70
- package/esm2022/mixin/src/clickable-mixin.class.mjs +23 -23
- package/esm2022/mixin/src/color-look-mixing.class.mjs +47 -47
- package/esm2022/mixin/src/constratctor.mjs +1 -1
- package/esm2022/mixin/src/datalist-component.class.mjs +150 -150
- package/esm2022/mixin/src/datalist.class.mjs +2 -2
- package/esm2022/mixin/src/dropdown-mixin.class.mjs +98 -98
- package/esm2022/mixin/src/interactive-mixin.class.mjs +80 -80
- package/esm2022/mixin/src/loading-mixin.class.mjs +25 -25
- package/esm2022/mixin/src/mixin.class.mjs +25 -25
- package/esm2022/mixin/src/page-component.class.mjs +10 -10
- package/esm2022/mixin/src/selection-component.class.mjs +182 -182
- package/esm2022/mixin/src/sizable-mixin.class.mjs +21 -21
- package/esm2022/mixin/src/textbox-mixin.class.mjs +65 -65
- package/esm2022/mixin/src/value-mixin.class.mjs +219 -219
- package/esm2022/notification/acorex-components-notification.mjs +4 -4
- package/esm2022/notification/public-api.mjs +4 -4
- package/esm2022/notification/src/notification.class.mjs +1 -1
- package/esm2022/notification/src/notification.component.mjs +93 -92
- package/esm2022/notification/src/notification.module.mjs +24 -23
- package/esm2022/notification/src/notification.service.mjs +110 -109
- package/esm2022/number-box/acorex-components-number-box.mjs +4 -4
- package/esm2022/number-box/public-api.mjs +2 -2
- package/esm2022/number-box/src/number-box.component.mjs +269 -268
- package/esm2022/number-box/src/number-box.module.mjs +36 -35
- package/esm2022/page/acorex-components-page.mjs +4 -4
- package/esm2022/page/public-api.mjs +3 -3
- package/esm2022/page/src/base-page.class.mjs +64 -63
- package/esm2022/page/src/page.component.mjs +47 -46
- package/esm2022/page/src/page.module.mjs +19 -18
- package/esm2022/password-box/acorex-components-password-box.mjs +4 -4
- package/esm2022/password-box/public-api.mjs +2 -2
- package/esm2022/password-box/src/password-box.component.mjs +64 -63
- package/esm2022/password-box/src/password-box.module.mjs +33 -32
- package/esm2022/picker/acorex-components-picker.mjs +4 -4
- package/esm2022/picker/public-api.mjs +3 -3
- package/esm2022/picker/src/picker-column.component.mjs +21 -20
- package/esm2022/picker/src/picker.component.mjs +17 -16
- package/esm2022/picker/src/picker.module.mjs +38 -37
- package/esm2022/popover/acorex-components-popover.mjs +4 -4
- package/esm2022/popover/public-api.mjs +2 -2
- package/esm2022/popover/src/popover.component.mjs +263 -262
- package/esm2022/popover/src/popover.module.mjs +20 -19
- package/esm2022/popup/acorex-components-popup.mjs +4 -4
- package/esm2022/popup/public-api.mjs +3 -3
- package/esm2022/popup/src/popup.component.mjs +146 -145
- package/esm2022/popup/src/popup.module.mjs +28 -27
- package/esm2022/popup/src/popup.service.mjs +117 -116
- package/esm2022/progress-bar/acorex-components-progress-bar.mjs +4 -4
- package/esm2022/progress-bar/public-api.mjs +2 -2
- package/esm2022/progress-bar/src/progress-bar.component.mjs +34 -33
- package/esm2022/progress-bar/src/progress-bar.module.mjs +20 -19
- package/esm2022/public-api.mjs +4 -4
- package/esm2022/radio/acorex-components-radio.mjs +4 -4
- package/esm2022/radio/public-api.mjs +2 -2
- package/esm2022/radio/src/radio.component.mjs +40 -39
- package/esm2022/radio/src/radio.module.mjs +23 -22
- package/esm2022/range-slider/acorex-components-range-slider.mjs +4 -4
- package/esm2022/range-slider/public-api.mjs +2 -2
- package/esm2022/range-slider/src/range-slider.component.mjs +118 -117
- package/esm2022/range-slider/src/range-slider.module.mjs +23 -22
- package/esm2022/rating/acorex-components-rating.mjs +4 -4
- package/esm2022/rating/public-api.mjs +2 -2
- package/esm2022/rating/src/rating.component.mjs +42 -41
- package/esm2022/rating/src/rating.component.module.mjs +20 -19
- package/esm2022/result/acorex-components-result.mjs +4 -4
- package/esm2022/result/public-api.mjs +2 -2
- package/esm2022/result/src/result.component.mjs +27 -26
- package/esm2022/result/src/result.module.mjs +20 -19
- package/esm2022/search-box/acorex-components-search-box.mjs +4 -4
- package/esm2022/search-box/public-api.mjs +2 -2
- package/esm2022/search-box/src/search-box.component.mjs +55 -54
- package/esm2022/search-box/src/search-box.module.mjs +26 -25
- package/esm2022/select-box/acorex-components-select-box.mjs +4 -4
- package/esm2022/select-box/public-api.mjs +2 -2
- package/esm2022/select-box/src/selectbox.component.mjs +392 -391
- package/esm2022/select-box/src/selectbox.module.mjs +65 -64
- package/esm2022/selection-list/acorex-components-selection-list.mjs +4 -4
- package/esm2022/selection-list/public-api.mjs +2 -2
- package/esm2022/selection-list/src/selection-list.component.mjs +60 -60
- package/esm2022/selection-list/src/selection-list.module.mjs +25 -24
- package/esm2022/switch/acorex-components-switch.mjs +4 -4
- package/esm2022/switch/public-api.mjs +3 -3
- package/esm2022/switch/src/switch-content.component.mjs +17 -16
- package/esm2022/switch/src/switch.component.mjs +55 -54
- package/esm2022/switch/src/switch.module.mjs +23 -22
- package/esm2022/tabs/acorex-components-tabs.mjs +4 -4
- package/esm2022/tabs/public-api.mjs +5 -5
- package/esm2022/tabs/src/tab-content.directive.mjs +32 -31
- package/esm2022/tabs/src/tab-item.component.mjs +91 -90
- package/esm2022/tabs/src/tabs.class.mjs +5 -5
- package/esm2022/tabs/src/tabs.component.mjs +103 -102
- package/esm2022/tabs/src/tabs.module.mjs +26 -25
- package/esm2022/tag/acorex-components-tag.mjs +4 -4
- package/esm2022/tag/public-api.mjs +2 -2
- package/esm2022/tag/src/tag.component.mjs +30 -29
- package/esm2022/tag/src/tag.module.mjs +20 -19
- package/esm2022/textarea/acorex-components-textarea.mjs +4 -4
- package/esm2022/textarea/public-api.mjs +2 -2
- package/esm2022/textarea/src/textarea.component.mjs +30 -29
- package/esm2022/textarea/src/textarea.module.mjs +20 -19
- package/esm2022/textbox/acorex-components-textbox.mjs +4 -4
- package/esm2022/textbox/public-api.mjs +3 -3
- package/esm2022/textbox/src/mask-options.directive.mjs +20 -19
- package/esm2022/textbox/src/textbox.component.mjs +96 -95
- package/esm2022/textbox/src/textbox.module.mjs +39 -38
- package/esm2022/time-box/acorex-components-time-box.mjs +4 -4
- package/esm2022/time-box/public-api.mjs +2 -2
- package/esm2022/time-box/src/time-box.component.mjs +306 -305
- package/esm2022/time-box/src/time-box.module.mjs +33 -32
- package/esm2022/toast/acorex-components-toast.mjs +4 -4
- package/esm2022/toast/public-api.mjs +4 -4
- package/esm2022/toast/src/toast.class.mjs +1 -1
- package/esm2022/toast/src/toast.component.mjs +68 -67
- package/esm2022/toast/src/toast.module.mjs +23 -22
- package/esm2022/toast/src/toast.service.mjs +137 -136
- package/esm2022/tooltip/acorex-components-tooltip.mjs +4 -4
- package/esm2022/tooltip/public-api.mjs +3 -3
- package/esm2022/tooltip/src/tooltip.component.mjs +22 -21
- package/esm2022/tooltip/src/tooltip.directive.mjs +164 -163
- package/esm2022/tooltip/src/tooltip.module.mjs +23 -22
- package/esm2022/tree-view/acorex-components-tree-view.mjs +4 -4
- package/esm2022/tree-view/public-api.mjs +2 -2
- package/esm2022/tree-view/src/tree-view.component.mjs +108 -107
- package/esm2022/tree-view/src/tree-view.module.mjs +21 -20
- package/esm2022/uploader/acorex-components-uploader.mjs +4 -4
- package/esm2022/uploader/public-api.mjs +2 -2
- package/esm2022/uploader/src/uploader.component.mjs +102 -101
- package/esm2022/uploader/src/uploader.module.mjs +21 -20
- package/fesm2022/acorex-components-action-sheet.mjs +170 -170
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +196 -196
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +66 -66
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +39 -39
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +78 -78
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +245 -245
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +815 -815
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-card.mjs +28 -28
- package/fesm2022/acorex-components-card.mjs.map +1 -1
- package/fesm2022/acorex-components-checkbox.mjs +51 -51
- package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +42 -42
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +102 -102
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +717 -717
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +153 -153
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1150 -1150
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +287 -287
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +487 -487
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +205 -205
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +256 -256
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +287 -287
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +207 -207
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +174 -174
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +111 -111
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +392 -392
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +88 -88
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +59 -59
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +308 -308
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +359 -359
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +1214 -1214
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +200 -200
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +284 -284
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +112 -112
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +81 -81
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +54 -54
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +266 -266
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +258 -258
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +43 -43
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +50 -50
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +127 -127
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rating.mjs +51 -51
- package/fesm2022/acorex-components-rating.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +35 -35
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +59 -59
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +422 -422
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +68 -69
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +74 -74
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +227 -227
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +38 -38
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-textarea.mjs +37 -37
- package/fesm2022/acorex-components-textarea.mjs.map +1 -1
- package/fesm2022/acorex-components-textbox.mjs +130 -130
- package/fesm2022/acorex-components-textbox.mjs.map +1 -1
- package/fesm2022/acorex-components-time-box.mjs +319 -319
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +204 -204
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +187 -187
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +116 -116
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +109 -109
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs +5 -5
- package/form/index.d.ts +5 -5
- package/form/public-api.d.ts +6 -6
- package/form/src/form-field.component.d.ts +8 -8
- package/form/src/form.component.d.ts +51 -51
- package/form/src/form.module.d.ts +15 -15
- package/form/src/validation-rule.widget.d.ts +18 -18
- package/form/src/validation-summary.component.d.ts +23 -23
- package/form/src/validation.class.d.ts +18 -18
- package/image/index.d.ts +5 -5
- package/image/public-api.d.ts +2 -2
- package/image/src/image.component.d.ts +27 -27
- package/image/src/image.module.d.ts +8 -8
- package/index.d.ts +5 -5
- package/label/index.d.ts +5 -5
- package/label/public-api.d.ts +2 -2
- package/label/src/label.component.d.ts +17 -17
- package/label/src/label.module.d.ts +8 -8
- package/loading/index.d.ts +5 -5
- package/loading/public-api.d.ts +5 -5
- package/loading/src/loading-spinner.component.d.ts +6 -6
- package/loading/src/loading.component.d.ts +21 -21
- package/loading/src/loading.directive.d.ts +22 -22
- package/loading/src/loading.module.d.ts +13 -13
- package/loading/src/loading.service.d.ts +48 -48
- package/menu/index.d.ts +5 -5
- package/menu/public-api.d.ts +2 -2
- package/menu/src/menu.component.d.ts +39 -39
- package/menu/src/menu.module.d.ts +12 -12
- package/mixin/index.d.ts +5 -5
- package/mixin/public-api.d.ts +17 -17
- package/mixin/src/base-components.class.d.ts +84 -84
- package/mixin/src/base-menu-mixin.class.d.ts +53 -53
- package/mixin/src/button-mixin.class.d.ts +53 -53
- package/mixin/src/clickable-mixin.class.d.ts +36 -36
- package/mixin/src/color-look-mixing.class.d.ts +44 -44
- package/mixin/src/constratctor.d.ts +4 -4
- package/mixin/src/datalist-component.class.d.ts +59 -59
- package/mixin/src/datalist.class.d.ts +11 -11
- package/mixin/src/dropdown-mixin.class.d.ts +47 -47
- package/mixin/src/interactive-mixin.class.d.ts +63 -63
- package/mixin/src/loading-mixin.class.d.ts +40 -40
- package/mixin/src/mixin.class.d.ts +679 -679
- package/mixin/src/page-component.class.d.ts +28 -28
- package/mixin/src/selection-component.class.d.ts +61 -61
- package/mixin/src/sizable-mixin.class.d.ts +34 -34
- package/mixin/src/textbox-mixin.class.d.ts +72 -72
- package/mixin/src/value-mixin.class.d.ts +63 -63
- package/notification/index.d.ts +5 -5
- package/notification/public-api.d.ts +4 -4
- package/notification/src/notification.class.d.ts +18 -18
- package/notification/src/notification.component.d.ts +30 -30
- package/notification/src/notification.module.d.ts +10 -10
- package/notification/src/notification.service.d.ts +16 -16
- package/number-box/index.d.ts +5 -5
- package/number-box/public-api.d.ts +2 -2
- package/number-box/src/number-box.component.d.ts +77 -77
- package/number-box/src/number-box.module.d.ts +12 -12
- package/package.json +13 -13
- package/page/index.d.ts +5 -5
- package/page/public-api.d.ts +3 -3
- package/page/src/base-page.class.d.ts +25 -25
- package/page/src/page.component.d.ts +14 -14
- package/page/src/page.module.d.ts +6 -6
- package/password-box/index.d.ts +5 -5
- package/password-box/public-api.d.ts +2 -2
- package/password-box/src/password-box.component.d.ts +25 -25
- package/password-box/src/password-box.module.d.ts +11 -11
- package/picker/index.d.ts +5 -5
- package/picker/public-api.d.ts +3 -3
- package/picker/src/picker-column.component.d.ts +11 -11
- package/picker/src/picker.component.d.ts +10 -10
- package/picker/src/picker.module.d.ts +14 -14
- package/popover/index.d.ts +5 -5
- package/popover/public-api.d.ts +2 -2
- package/popover/src/popover.component.d.ts +51 -51
- package/popover/src/popover.module.d.ts +8 -8
- package/popup/index.d.ts +5 -5
- package/popup/public-api.d.ts +3 -3
- package/popup/src/popup.component.d.ts +45 -45
- package/popup/src/popup.module.d.ts +14 -14
- package/popup/src/popup.service.d.ts +42 -42
- package/progress-bar/index.d.ts +5 -5
- package/progress-bar/public-api.d.ts +2 -2
- package/progress-bar/src/progress-bar.component.d.ts +18 -18
- package/progress-bar/src/progress-bar.module.d.ts +8 -8
- package/public-api.d.ts +1 -1
- package/radio/index.d.ts +5 -5
- package/radio/public-api.d.ts +2 -2
- package/radio/src/radio.component.d.ts +18 -18
- package/radio/src/radio.module.d.ts +9 -9
- package/range-slider/index.d.ts +5 -5
- package/range-slider/public-api.d.ts +2 -2
- package/range-slider/src/range-slider.component.d.ts +41 -41
- package/range-slider/src/range-slider.module.d.ts +9 -9
- package/rating/index.d.ts +5 -5
- package/rating/public-api.d.ts +2 -2
- package/rating/src/rating.component.d.ts +21 -21
- package/rating/src/rating.component.module.d.ts +8 -8
- package/result/index.d.ts +5 -5
- package/result/public-api.d.ts +2 -2
- package/result/src/result.component.d.ts +12 -12
- package/result/src/result.module.d.ts +8 -8
- package/search-box/index.d.ts +5 -5
- package/search-box/public-api.d.ts +2 -2
- package/search-box/src/search-box.component.d.ts +18 -18
- package/search-box/src/search-box.module.d.ts +12 -12
- package/select-box/index.d.ts +5 -5
- package/select-box/public-api.d.ts +2 -2
- package/select-box/src/selectbox.component.d.ts +66 -66
- package/select-box/src/selectbox.module.d.ts +19 -19
- package/selection-list/index.d.ts +5 -5
- package/selection-list/public-api.d.ts +2 -2
- package/selection-list/src/selection-list.component.d.ts +23 -23
- package/selection-list/src/selection-list.module.d.ts +13 -13
- package/switch/index.d.ts +5 -5
- package/switch/public-api.d.ts +3 -3
- package/switch/src/switch-content.component.d.ts +8 -8
- package/switch/src/switch.component.d.ts +13 -13
- package/switch/src/switch.module.d.ts +11 -11
- package/tabs/index.d.ts +5 -5
- package/tabs/public-api.d.ts +5 -5
- package/tabs/src/tab-content.directive.d.ts +11 -11
- package/tabs/src/tab-item.component.d.ts +48 -48
- package/tabs/src/tabs.class.d.ts +7 -7
- package/tabs/src/tabs.component.d.ts +29 -29
- package/tabs/src/tabs.module.d.ts +12 -12
- package/tag/index.d.ts +5 -5
- package/tag/public-api.d.ts +2 -2
- package/tag/src/tag.component.d.ts +11 -11
- package/tag/src/tag.module.d.ts +8 -8
- package/textarea/index.d.ts +5 -5
- package/textarea/public-api.d.ts +2 -2
- package/textarea/src/textarea.component.d.ts +14 -14
- package/textarea/src/textarea.module.d.ts +9 -9
- package/textbox/index.d.ts +5 -5
- package/textbox/public-api.d.ts +3 -3
- package/textbox/src/mask-options.directive.d.ts +13 -13
- package/textbox/src/textbox.component.d.ts +27 -27
- package/textbox/src/textbox.module.d.ts +13 -13
- package/time-box/index.d.ts +5 -5
- package/time-box/public-api.d.ts +2 -2
- package/time-box/src/time-box.component.d.ts +50 -50
- package/time-box/src/time-box.module.d.ts +11 -11
- package/toast/index.d.ts +5 -5
- package/toast/public-api.d.ts +4 -4
- package/toast/src/toast.class.d.ts +15 -15
- package/toast/src/toast.component.d.ts +25 -25
- package/toast/src/toast.module.d.ts +9 -9
- package/toast/src/toast.service.d.ts +21 -21
- package/tooltip/index.d.ts +5 -5
- package/tooltip/public-api.d.ts +3 -3
- package/tooltip/src/tooltip.component.d.ts +11 -11
- package/tooltip/src/tooltip.directive.d.ts +22 -22
- package/tooltip/src/tooltip.module.d.ts +10 -10
- package/tree-view/index.d.ts +5 -5
- package/tree-view/public-api.d.ts +2 -2
- package/tree-view/src/tree-view.component.d.ts +33 -33
- package/tree-view/src/tree-view.module.d.ts +9 -9
- package/uploader/index.d.ts +5 -5
- package/uploader/public-api.d.ts +2 -2
- package/uploader/src/uploader.component.d.ts +28 -28
- package/uploader/src/uploader.module.d.ts +9 -9
@@ -1,159 +1,160 @@
|
|
1
|
-
import { AXColorUtil } from '@acorex/core/utils';
|
2
|
-
import { Inject, Optional } from '@angular/core';
|
3
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation, } from '@angular/core';
|
4
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
5
|
-
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
6
|
-
import { AXBaseComponent } from '@acorex/components/mixin';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@acorex/components/range-slider";
|
9
|
-
import * as i2 from "@angular/cdk/drag-drop";
|
10
|
-
import * as i3 from "./color-palette.class";
|
11
|
-
|
12
|
-
_parent;
|
13
|
-
_rgba = {
|
14
|
-
r: 0,
|
15
|
-
g: 0,
|
16
|
-
b: 0,
|
17
|
-
a: 0,
|
18
|
-
};
|
19
|
-
_gradient = 0;
|
20
|
-
_bgColor = '#F00';
|
21
|
-
_gradientColors = [
|
22
|
-
{ color: 'rgb(255, 0, 0)', pos: 0 },
|
23
|
-
{ color: 'rgb(255, 255, 0)', pos: 0.17 },
|
24
|
-
{ color: 'rgb(0, 255, 0)', pos: 0.33 },
|
25
|
-
{ color: 'rgb(0, 255, 255)', pos: 0.5 },
|
26
|
-
{ color: 'rgb(0, 0, 255)', pos: 0.67 },
|
27
|
-
{ color: 'rgb(255, 0, 255)', pos: 0.83 },
|
28
|
-
{ color: 'rgb(255, 0, 0)', pos: 1 },
|
29
|
-
];
|
30
|
-
dragPosition = { x: 0, y: 0 };
|
31
|
-
constructor(_elementRef, _cdr, _parent) {
|
32
|
-
super(_elementRef, _cdr);
|
33
|
-
this._parent = _parent;
|
34
|
-
_parent._onInternalColorChanged$
|
35
|
-
.pipe(distinctUntilChanged())
|
36
|
-
.subscribe((e) => {
|
37
|
-
if (!e.color) {
|
38
|
-
this._rgba = {
|
39
|
-
r: 0,
|
40
|
-
g: 0,
|
41
|
-
b: 0,
|
42
|
-
a: 0,
|
43
|
-
};
|
44
|
-
}
|
45
|
-
else {
|
46
|
-
if (!AXColorUtil.equal(e.color, this._rgba)) {
|
47
|
-
Object.assign(this._rgba, AXColorUtil.to(e.color, 'rgba'));
|
48
|
-
}
|
49
|
-
}
|
50
|
-
this.setHSV();
|
51
|
-
_cdr.detectChanges();
|
52
|
-
});
|
53
|
-
}
|
54
|
-
setHSV() {
|
55
|
-
const hsv = AXColorUtil.to(this._rgba, 'hsva');
|
56
|
-
this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
|
57
|
-
this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
|
58
|
-
}
|
59
|
-
_handleAlphaChanged(e) {
|
60
|
-
if (e.value != null && e.value != this._rgba.a) {
|
61
|
-
const { r, g, b } = this._rgba;
|
62
|
-
const _color = `rgba(${r},${g},${b},${e.value})`;
|
63
|
-
this._parent._setUserInteraction();
|
64
|
-
this._parent._onInternalColorChanged$.next({
|
65
|
-
color: AXColorUtil.toString(_color, 'rgba'),
|
66
|
-
sender: this,
|
67
|
-
});
|
68
|
-
}
|
69
|
-
}
|
70
|
-
_handleGradientChanged(e) {
|
71
|
-
if (e.value != null && e.value != this._gradient) {
|
72
|
-
const gradient = AXColorUtil.gradient(this._gradientColors);
|
73
|
-
const colors = gradient.rgb(100);
|
74
|
-
const { s, v } = AXColorUtil.to(this._rgba, "hsva");
|
75
|
-
const { h } = colors[e.value].toHsv();
|
76
|
-
this._parent._setUserInteraction();
|
77
|
-
this._parent._onInternalColorChanged$.next({
|
78
|
-
color: AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'),
|
79
|
-
sender: this,
|
80
|
-
});
|
81
|
-
}
|
82
|
-
}
|
83
|
-
_handleSurfaceClick(e) {
|
84
|
-
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
85
|
-
const sb = surface.getBoundingClientRect();
|
86
|
-
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
87
|
-
const pb = pointer.getBoundingClientRect();
|
88
|
-
let x = e.offsetX;
|
89
|
-
let y = e.offsetY;
|
90
|
-
this.setColorByXY(x, y);
|
91
|
-
}
|
92
|
-
_handleDrag() {
|
93
|
-
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
94
|
-
const sb = surface.getBoundingClientRect();
|
95
|
-
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
96
|
-
const pb = pointer.getBoundingClientRect();
|
97
|
-
const w = (pb.width / 2);
|
98
|
-
let x = (pb.left - sb.left) + w;
|
99
|
-
let y = (pb.top - sb.top) + w;
|
100
|
-
//
|
101
|
-
x = x < 0 ? 0 : x;
|
102
|
-
x = x > sb.width ? sb.width : x;
|
103
|
-
//
|
104
|
-
y = y < 0 ? 0 : y;
|
105
|
-
y = y > sb.height ? sb.height : y;
|
106
|
-
//
|
107
|
-
this.setColorByXY(x, y);
|
108
|
-
}
|
109
|
-
setColorByXY(x, y) {
|
110
|
-
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
111
|
-
const sb = surface.getBoundingClientRect();
|
112
|
-
//
|
113
|
-
const { h } = AXColorUtil.to(this._bgColor, "hsva");
|
114
|
-
const hsv = {
|
115
|
-
h,
|
116
|
-
s: (x / sb.width),
|
117
|
-
v: ((sb.height - y) / sb.height)
|
118
|
-
};
|
119
|
-
this._parent._onInternalColorChanged$.next({
|
120
|
-
color: AXColorUtil.toString(hsv, 'rgba'),
|
121
|
-
sender: this,
|
122
|
-
});
|
123
|
-
}
|
124
|
-
setPointerByPercent(x, y) {
|
125
|
-
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
126
|
-
const sb = surface.getBoundingClientRect();
|
127
|
-
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
128
|
-
const pb = pointer.getBoundingClientRect();
|
129
|
-
const w = (pb.width / 2);
|
130
|
-
const width = sb.width; //+ pb.width
|
131
|
-
const height = sb.height; // + pb.width
|
132
|
-
this.dragPosition = {
|
133
|
-
x: ((x * width) / 100) - w,
|
134
|
-
y: (height - (((y * height)) / 100)) - w
|
135
|
-
};
|
136
|
-
}
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXColorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
138
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXColorPalettePickerComponent, selector: "ax-color-palette-picker", host: { classAttribute: "ax-color-palette-picker" }, providers: [
|
139
|
-
{
|
140
|
-
provide: AXColorPaletteChildComponent,
|
141
|
-
useExisting: AXColorPalettePickerComponent,
|
142
|
-
},
|
143
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay-trans\">\r\n <div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-g1\"></div>\r\n <div class=\"ax-color-picker-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\r\n <div class=\"ax-color-picker-pointer\" cdkDrag cdkDragBoundary=\".ax-color-picker-overlay\" [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\"></div>\r\n </div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color", "oriantaion"], outputs: ["valueChange", "onValueChanged", "colorChange"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
144
|
-
}
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDRCQUE0QixHQUM3QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFlM0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGVBQWU7SUE2QnZEO0lBNUJULEtBQUssR0FBbUQ7UUFDdEQsQ0FBQyxFQUFFLENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7S0FDTCxDQUFDO0lBRVEsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUV0QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBRTVCLGVBQWUsR0FBVTtRQUMvQixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLEVBQUUsS0FB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Qjt5QkFDM0M7cUJBQ0Y7OzBCQTZCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBBWENvbG9yQ29tcG9uZW50LFxyXG4gIEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXHJcbn0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWNvbG9yLXBhbGV0dGUtcGlja2VyJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuICBfcmdiYTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXIgfSA9IHtcclxuICAgIHI6IDAsXHJcbiAgICBnOiAwLFxyXG4gICAgYjogMCxcclxuICAgIGE6IDAsXHJcbiAgfTtcclxuXHJcbiAgcHJvdGVjdGVkIF9ncmFkaWVudDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJvdGVjdGVkIF9iZ0NvbG9yOiBzdHJpbmcgPSAnI0YwMCc7XHJcblxyXG4gIHByaXZhdGUgX2dyYWRpZW50Q29sb3JzOiBhbnlbXSA9IFtcclxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMCB9LFxyXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDI1NSwgMCknLCBwb3M6IDAuMTcgfSxcclxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAwKScsIHBvczogMC4zMyB9LFxyXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDI1NSknLCBwb3M6IDAuNSB9LFxyXG4gICAgeyBjb2xvcjogJ3JnYigwLCAwLCAyNTUpJywgcG9zOiAwLjY3IH0sXHJcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMjU1KScsIHBvczogMC44MyB9LFxyXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAxIH0sXHJcbiAgXTtcclxuXHJcbiAgcHJvdGVjdGVkIGRyYWdQb3NpdGlvbiA9IHsgeDogMCwgeTogMCB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQEluamVjdChBWENvbG9yQ29tcG9uZW50KVxyXG4gICAgcHVibGljIF9wYXJlbnQ6IEFYQ29sb3JDb21wb25lbnRcclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIF9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkXHJcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgICBpZiAoIWUuY29sb3IpIHtcclxuICAgICAgICAgIHRoaXMuX3JnYmEgPSB7XHJcbiAgICAgICAgICAgIHI6IDAsXHJcbiAgICAgICAgICAgIGc6IDAsXHJcbiAgICAgICAgICAgIGI6IDAsXHJcbiAgICAgICAgICAgIGE6IDAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIUFYQ29sb3JVdGlsLmVxdWFsKGUuY29sb3IsIHRoaXMuX3JnYmEpKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcmdiYSwgQVhDb2xvclV0aWwudG8oZS5jb2xvciwgJ3JnYmEnKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0SFNWKClcclxuICAgICAgICBfY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEhTVigpIHtcclxuICAgIGNvbnN0IGhzdiA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xyXG4gICAgdGhpcy5fYmdDb2xvciA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaDogaHN2LmgsIHM6IDEsIHY6IDEsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpO1xyXG4gICAgdGhpcy5zZXRQb2ludGVyQnlQZXJjZW50KGhzdi5zICogMTAwLCBoc3YudiAqIDEwMCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVBbHBoYUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+KSB7XHJcbiAgICBpZiAoZS52YWx1ZSAhPSBudWxsICYmIGUudmFsdWUgIT0gdGhpcy5fcmdiYS5hKSB7XHJcbiAgICAgIGNvbnN0IHsgciwgZywgYiB9ID0gdGhpcy5fcmdiYTtcclxuICAgICAgY29uc3QgX2NvbG9yID0gYHJnYmEoJHtyfSwke2d9LCR7Yn0sJHtlLnZhbHVlfSlgO1xyXG4gICAgICB0aGlzLl9wYXJlbnQuX3NldFVzZXJJbnRlcmFjdGlvbigpO1xyXG4gICAgICB0aGlzLl9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkLm5leHQoe1xyXG4gICAgICAgIGNvbG9yOiBBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksXHJcbiAgICAgICAgc2VuZGVyOiB0aGlzLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xyXG4gICAgaWYgKGUudmFsdWUgIT0gbnVsbCAmJiBlLnZhbHVlICE9IHRoaXMuX2dyYWRpZW50KSB7XHJcbiAgICAgIGNvbnN0IGdyYWRpZW50ID0gQVhDb2xvclV0aWwuZ3JhZGllbnQodGhpcy5fZ3JhZGllbnRDb2xvcnMpO1xyXG4gICAgICBjb25zdCBjb2xvcnMgPSBncmFkaWVudC5yZ2IoMTAwKTtcclxuICAgICAgY29uc3QgeyBzLCB2IH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCBcImhzdmFcIikgYXMgYW55O1xyXG4gICAgICBjb25zdCB7IGggfSA9IGNvbG9yc1tlLnZhbHVlXS50b0hzdigpO1xyXG4gICAgICB0aGlzLl9wYXJlbnQuX3NldFVzZXJJbnRlcmFjdGlvbigpO1xyXG4gICAgICB0aGlzLl9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkLm5leHQoe1xyXG4gICAgICAgIGNvbG9yOiBBWENvbG9yVXRpbC50b1N0cmluZyh7IGgsIHMsIHYsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpLFxyXG4gICAgICAgIHNlbmRlcjogdGhpcyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZVN1cmZhY2VDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcclxuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1wb2ludGVyXCIpO1xyXG4gICAgY29uc3QgcGIgPSBwb2ludGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgbGV0IHggPSBlLm9mZnNldFg7XHJcbiAgICBsZXQgeSA9IGUub2Zmc2V0WTtcclxuICAgIHRoaXMuc2V0Q29sb3JCeVhZKHgsIHkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVEcmFnKCkge1xyXG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIik7XHJcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItcG9pbnRlclwiKTtcclxuICAgIGNvbnN0IHBiID0gcG9pbnRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHcgPSAocGIud2lkdGggLyAyKTtcclxuICAgIGxldCB4ID0gKHBiLmxlZnQgLSBzYi5sZWZ0KSArIHc7XHJcbiAgICBsZXQgeSA9IChwYi50b3AgLSBzYi50b3ApICsgdztcclxuICAgIC8vXHJcbiAgICB4ID0geCA8IDAgPyAwIDogeDtcclxuICAgIHggPSB4ID4gc2Iud2lkdGggPyBzYi53aWR0aCA6IHg7XHJcbiAgICAvL1xyXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XHJcbiAgICB5ID0geSA+IHNiLmhlaWdodCA/IHNiLmhlaWdodCA6IHk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbG9yQnlYWSh4OiBudW1iZXIsIHk6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIik7XHJcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAvL1xyXG4gICAgY29uc3QgeyBoIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCBcImhzdmFcIikgYXMgYW55O1xyXG4gICAgY29uc3QgaHN2ID0ge1xyXG4gICAgICBoLFxyXG4gICAgICBzOiAoeCAvIHNiLndpZHRoKSxcclxuICAgICAgdjogKChzYi5oZWlnaHQgLSB5KSAvIHNiLmhlaWdodClcclxuICAgIH1cclxuICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XHJcbiAgICAgIGNvbG9yOiBBWENvbG9yVXRpbC50b1N0cmluZyhoc3YsICdyZ2JhJyksXHJcbiAgICAgIHNlbmRlcjogdGhpcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcclxuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1wb2ludGVyXCIpO1xyXG4gICAgY29uc3QgcGIgPSBwb2ludGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdyA9IChwYi53aWR0aCAvIDIpO1xyXG4gICAgY29uc3Qgd2lkdGggPSBzYi53aWR0aDsvLysgcGIud2lkdGhcclxuICAgIGNvbnN0IGhlaWdodCA9IHNiLmhlaWdodDsvLyArIHBiLndpZHRoXHJcbiAgICB0aGlzLmRyYWdQb3NpdGlvbiA9IHtcclxuICAgICAgeDogKCh4ICogd2lkdGgpIC8gMTAwKSAtIHcsXHJcbiAgICAgIHk6IChoZWlnaHQgLSAoKCh5ICogaGVpZ2h0KSkgLyAxMDApKSAtIHdcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheS10cmFuc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci1vdmVybGF5XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiX2JnQ29sb3JcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXktZzFcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXktZzJcIiAoY2xpY2spPVwiX2hhbmRsZVN1cmZhY2VDbGljaygkZXZlbnQpXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci1wb2ludGVyXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIiBbY2RrRHJhZ0ZyZWVEcmFnUG9zaXRpb25dPVwiZHJhZ1Bvc2l0aW9uXCIgKGNka0RyYWdFbmRlZCk9XCJfaGFuZGxlRHJhZygpXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1yYW5nZS1zbGlkZXIgY2xhc3M9XCJheC1jb2xvci1waWNrZXItZ3JhZGllbnRcIiBbbWluVmFsdWVdPVwiMFwiIFttYXhWYWx1ZV09XCI5OVwiIFtzdGVwXT1cIjFcIiBbdmFsdWVdPVwiX2dyYWRpZW50XCIgXHJcbiAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUdyYWRpZW50Q2hhbmdlZCgkZXZlbnQpXCI+XHJcbjwvYXgtcmFuZ2Utc2xpZGVyPlxyXG48YXgtcmFuZ2Utc2xpZGVyIGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLXRyYW5zcGFyZW50XCIgW21pblZhbHVlXT1cIjBcIiBbbWF4VmFsdWVdPVwiMVwiIFtzdGVwXT1cIjAuMDFcIiBbdmFsdWVdPVwiX3JnYmEuYVwiXHJcbiAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUFscGhhQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbjwvYXgtcmFuZ2Utc2xpZGVyPiJdfQ==
|
1
|
+
import { AXColorUtil } from '@acorex/core/utils';
|
2
|
+
import { Inject, Optional } from '@angular/core';
|
3
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation, } from '@angular/core';
|
4
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
5
|
+
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
6
|
+
import { AXBaseComponent } from '@acorex/components/mixin';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@acorex/components/range-slider";
|
9
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
10
|
+
import * as i3 from "./color-palette.class";
|
11
|
+
class AXColorPalettePickerComponent extends AXBaseComponent {
|
12
|
+
_parent;
|
13
|
+
_rgba = {
|
14
|
+
r: 0,
|
15
|
+
g: 0,
|
16
|
+
b: 0,
|
17
|
+
a: 0,
|
18
|
+
};
|
19
|
+
_gradient = 0;
|
20
|
+
_bgColor = '#F00';
|
21
|
+
_gradientColors = [
|
22
|
+
{ color: 'rgb(255, 0, 0)', pos: 0 },
|
23
|
+
{ color: 'rgb(255, 255, 0)', pos: 0.17 },
|
24
|
+
{ color: 'rgb(0, 255, 0)', pos: 0.33 },
|
25
|
+
{ color: 'rgb(0, 255, 255)', pos: 0.5 },
|
26
|
+
{ color: 'rgb(0, 0, 255)', pos: 0.67 },
|
27
|
+
{ color: 'rgb(255, 0, 255)', pos: 0.83 },
|
28
|
+
{ color: 'rgb(255, 0, 0)', pos: 1 },
|
29
|
+
];
|
30
|
+
dragPosition = { x: 0, y: 0 };
|
31
|
+
constructor(_elementRef, _cdr, _parent) {
|
32
|
+
super(_elementRef, _cdr);
|
33
|
+
this._parent = _parent;
|
34
|
+
_parent._onInternalColorChanged$
|
35
|
+
.pipe(distinctUntilChanged())
|
36
|
+
.subscribe((e) => {
|
37
|
+
if (!e.color) {
|
38
|
+
this._rgba = {
|
39
|
+
r: 0,
|
40
|
+
g: 0,
|
41
|
+
b: 0,
|
42
|
+
a: 0,
|
43
|
+
};
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
if (!AXColorUtil.equal(e.color, this._rgba)) {
|
47
|
+
Object.assign(this._rgba, AXColorUtil.to(e.color, 'rgba'));
|
48
|
+
}
|
49
|
+
}
|
50
|
+
this.setHSV();
|
51
|
+
_cdr.detectChanges();
|
52
|
+
});
|
53
|
+
}
|
54
|
+
setHSV() {
|
55
|
+
const hsv = AXColorUtil.to(this._rgba, 'hsva');
|
56
|
+
this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
|
57
|
+
this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
|
58
|
+
}
|
59
|
+
_handleAlphaChanged(e) {
|
60
|
+
if (e.value != null && e.value != this._rgba.a) {
|
61
|
+
const { r, g, b } = this._rgba;
|
62
|
+
const _color = `rgba(${r},${g},${b},${e.value})`;
|
63
|
+
this._parent._setUserInteraction();
|
64
|
+
this._parent._onInternalColorChanged$.next({
|
65
|
+
color: AXColorUtil.toString(_color, 'rgba'),
|
66
|
+
sender: this,
|
67
|
+
});
|
68
|
+
}
|
69
|
+
}
|
70
|
+
_handleGradientChanged(e) {
|
71
|
+
if (e.value != null && e.value != this._gradient) {
|
72
|
+
const gradient = AXColorUtil.gradient(this._gradientColors);
|
73
|
+
const colors = gradient.rgb(100);
|
74
|
+
const { s, v } = AXColorUtil.to(this._rgba, "hsva");
|
75
|
+
const { h } = colors[e.value].toHsv();
|
76
|
+
this._parent._setUserInteraction();
|
77
|
+
this._parent._onInternalColorChanged$.next({
|
78
|
+
color: AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'),
|
79
|
+
sender: this,
|
80
|
+
});
|
81
|
+
}
|
82
|
+
}
|
83
|
+
_handleSurfaceClick(e) {
|
84
|
+
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
85
|
+
const sb = surface.getBoundingClientRect();
|
86
|
+
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
87
|
+
const pb = pointer.getBoundingClientRect();
|
88
|
+
let x = e.offsetX;
|
89
|
+
let y = e.offsetY;
|
90
|
+
this.setColorByXY(x, y);
|
91
|
+
}
|
92
|
+
_handleDrag() {
|
93
|
+
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
94
|
+
const sb = surface.getBoundingClientRect();
|
95
|
+
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
96
|
+
const pb = pointer.getBoundingClientRect();
|
97
|
+
const w = (pb.width / 2);
|
98
|
+
let x = (pb.left - sb.left) + w;
|
99
|
+
let y = (pb.top - sb.top) + w;
|
100
|
+
//
|
101
|
+
x = x < 0 ? 0 : x;
|
102
|
+
x = x > sb.width ? sb.width : x;
|
103
|
+
//
|
104
|
+
y = y < 0 ? 0 : y;
|
105
|
+
y = y > sb.height ? sb.height : y;
|
106
|
+
//
|
107
|
+
this.setColorByXY(x, y);
|
108
|
+
}
|
109
|
+
setColorByXY(x, y) {
|
110
|
+
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
111
|
+
const sb = surface.getBoundingClientRect();
|
112
|
+
//
|
113
|
+
const { h } = AXColorUtil.to(this._bgColor, "hsva");
|
114
|
+
const hsv = {
|
115
|
+
h,
|
116
|
+
s: (x / sb.width),
|
117
|
+
v: ((sb.height - y) / sb.height)
|
118
|
+
};
|
119
|
+
this._parent._onInternalColorChanged$.next({
|
120
|
+
color: AXColorUtil.toString(hsv, 'rgba'),
|
121
|
+
sender: this,
|
122
|
+
});
|
123
|
+
}
|
124
|
+
setPointerByPercent(x, y) {
|
125
|
+
const surface = this._getHostElement().querySelector(".ax-color-picker-overlay");
|
126
|
+
const sb = surface.getBoundingClientRect();
|
127
|
+
const pointer = this._getHostElement().querySelector(".ax-color-picker-pointer");
|
128
|
+
const pb = pointer.getBoundingClientRect();
|
129
|
+
const w = (pb.width / 2);
|
130
|
+
const width = sb.width; //+ pb.width
|
131
|
+
const height = sb.height; // + pb.width
|
132
|
+
this.dragPosition = {
|
133
|
+
x: ((x * width) / 100) - w,
|
134
|
+
y: (height - (((y * height)) / 100)) - w
|
135
|
+
};
|
136
|
+
}
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXColorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
138
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXColorPalettePickerComponent, selector: "ax-color-palette-picker", host: { classAttribute: "ax-color-palette-picker" }, providers: [
|
139
|
+
{
|
140
|
+
provide: AXColorPaletteChildComponent,
|
141
|
+
useExisting: AXColorPalettePickerComponent,
|
142
|
+
},
|
143
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay-trans\">\r\n <div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-g1\"></div>\r\n <div class=\"ax-color-picker-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\r\n <div class=\"ax-color-picker-pointer\" cdkDrag cdkDragBoundary=\".ax-color-picker-overlay\" [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\"></div>\r\n </div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color", "oriantaion"], outputs: ["valueChange", "onValueChanged", "colorChange"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
144
|
+
}
|
145
|
+
export { AXColorPalettePickerComponent };
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
|
147
|
+
type: Component,
|
148
|
+
args: [{ selector: 'ax-color-palette-picker', host: { class: 'ax-color-palette-picker' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
149
|
+
{
|
150
|
+
provide: AXColorPaletteChildComponent,
|
151
|
+
useExisting: AXColorPalettePickerComponent,
|
152
|
+
},
|
153
|
+
], template: "<div class=\"ax-color-picker-overlay-trans\">\r\n <div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-g1\"></div>\r\n <div class=\"ax-color-picker-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\r\n <div class=\"ax-color-picker-pointer\" cdkDrag cdkDragBoundary=\".ax-color-picker-overlay\" [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\"></div>\r\n </div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>" }]
|
154
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i3.AXColorComponent, decorators: [{
|
155
|
+
type: Optional
|
156
|
+
}, {
|
157
|
+
type: Inject,
|
158
|
+
args: [AXColorComponent]
|
159
|
+
}] }]; } });
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDRCQUE0QixHQUM3QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFM0QsTUFhYSw2QkFBOEIsU0FBUSxlQUFlO0lBNkJ2RDtJQTVCVCxLQUFLLEdBQW1EO1FBQ3RELENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsRUFBRSxDQUFDO0tBQ0wsQ0FBQztJQUVRLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFFdEIsUUFBUSxHQUFXLE1BQU0sQ0FBQztJQUU1QixlQUFlLEdBQVU7UUFDL0IsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUNuQyxFQUFFLEtBQUssRUFB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QVcsK0JBQStCO3lCQUMzQztxQkFDRjs7MEJBNkJFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb2xvclV0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEFYQ29sb3JDb21wb25lbnQsXHJcbiAgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcclxufSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQge1xyXG4gIF9yZ2JhOiB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlciB9ID0ge1xyXG4gICAgcjogMCxcclxuICAgIGc6IDAsXHJcbiAgICBiOiAwLFxyXG4gICAgYTogMCxcclxuICB9O1xyXG5cclxuICBwcm90ZWN0ZWQgX2dyYWRpZW50OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcm90ZWN0ZWQgX2JnQ29sb3I6IHN0cmluZyA9ICcjRjAwJztcclxuXHJcbiAgcHJpdmF0ZSBfZ3JhZGllbnRDb2xvcnM6IGFueVtdID0gW1xyXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAwIH0sXHJcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMjU1LCAwKScsIHBvczogMC4xNyB9LFxyXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDApJywgcG9zOiAwLjMzIH0sXHJcbiAgICB7IGNvbG9yOiAncmdiKDAsIDI1NSwgMjU1KScsIHBvczogMC41IH0sXHJcbiAgICB7IGNvbG9yOiAncmdiKDAsIDAsIDI1NSknLCBwb3M6IDAuNjcgfSxcclxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAyNTUpJywgcG9zOiAwLjgzIH0sXHJcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDEgfSxcclxuICBdO1xyXG5cclxuICBwcm90ZWN0ZWQgZHJhZ1Bvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KEFYQ29sb3JDb21wb25lbnQpXHJcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvckNvbXBvbmVudFxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCRcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIGlmICghZS5jb2xvcikge1xyXG4gICAgICAgICAgdGhpcy5fcmdiYSA9IHtcclxuICAgICAgICAgICAgcjogMCxcclxuICAgICAgICAgICAgZzogMCxcclxuICAgICAgICAgICAgYjogMCxcclxuICAgICAgICAgICAgYTogMCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICghQVhDb2xvclV0aWwuZXF1YWwoZS5jb2xvciwgdGhpcy5fcmdiYSkpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9yZ2JhLCBBWENvbG9yVXRpbC50byhlLmNvbG9yLCAncmdiYScpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRIU1YoKVxyXG4gICAgICAgIF9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SFNWKCkge1xyXG4gICAgY29uc3QgaHN2ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgJ2hzdmEnKSBhcyBhbnk7XHJcbiAgICB0aGlzLl9iZ0NvbG9yID0gQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoOiBoc3YuaCwgczogMSwgdjogMSwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyk7XHJcbiAgICB0aGlzLnNldFBvaW50ZXJCeVBlcmNlbnQoaHN2LnMgKiAxMDAsIGhzdi52ICogMTAwKTtcclxuICB9XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZUFscGhhQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4pIHtcclxuICAgIGlmIChlLnZhbHVlICE9IG51bGwgJiYgZS52YWx1ZSAhPSB0aGlzLl9yZ2JhLmEpIHtcclxuICAgICAgY29uc3QgeyByLCBnLCBiIH0gPSB0aGlzLl9yZ2JhO1xyXG4gICAgICBjb25zdCBfY29sb3IgPSBgcmdiYSgke3J9LCR7Z30sJHtifSwke2UudmFsdWV9KWA7XHJcbiAgICAgIHRoaXMuX3BhcmVudC5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XHJcbiAgICAgICAgY29sb3I6IEFYQ29sb3JVdGlsLnRvU3RyaW5nKF9jb2xvciwgJ3JnYmEnKSxcclxuICAgICAgICBzZW5kZXI6IHRoaXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYW5kbGVHcmFkaWVudENoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+KSB7XHJcbiAgICBpZiAoZS52YWx1ZSAhPSBudWxsICYmIGUudmFsdWUgIT0gdGhpcy5fZ3JhZGllbnQpIHtcclxuICAgICAgY29uc3QgZ3JhZGllbnQgPSBBWENvbG9yVXRpbC5ncmFkaWVudCh0aGlzLl9ncmFkaWVudENvbG9ycyk7XHJcbiAgICAgIGNvbnN0IGNvbG9ycyA9IGdyYWRpZW50LnJnYigxMDApO1xyXG4gICAgICBjb25zdCB7IHMsIHYgfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsIFwiaHN2YVwiKSBhcyBhbnk7XHJcbiAgICAgIGNvbnN0IHsgaCB9ID0gY29sb3JzW2UudmFsdWVdLnRvSHN2KCk7XHJcbiAgICAgIHRoaXMuX3BhcmVudC5fc2V0VXNlckludGVyYWN0aW9uKCk7XHJcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XHJcbiAgICAgICAgY29sb3I6IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaCwgcywgdiwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyksXHJcbiAgICAgICAgc2VuZGVyOiB0aGlzLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaGFuZGxlU3VyZmFjZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1vdmVybGF5XCIpO1xyXG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIik7XHJcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgeCA9IGUub2Zmc2V0WDtcclxuICAgIGxldCB5ID0gZS5vZmZzZXRZO1xyXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XHJcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcclxuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1wb2ludGVyXCIpO1xyXG4gICAgY29uc3QgcGIgPSBwb2ludGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdyA9IChwYi53aWR0aCAvIDIpO1xyXG4gICAgbGV0IHggPSAocGIubGVmdCAtIHNiLmxlZnQpICsgdztcclxuICAgIGxldCB5ID0gKHBiLnRvcCAtIHNiLnRvcCkgKyB3O1xyXG4gICAgLy9cclxuICAgIHggPSB4IDwgMCA/IDAgOiB4O1xyXG4gICAgeCA9IHggPiBzYi53aWR0aCA/IHNiLndpZHRoIDogeDtcclxuICAgIC8vXHJcbiAgICB5ID0geSA8IDAgPyAwIDogeTtcclxuICAgIHkgPSB5ID4gc2IuaGVpZ2h0ID8gc2IuaGVpZ2h0IDogeTtcclxuICAgIC8vXHJcbiAgICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sb3JCeVhZKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihcIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiKTtcclxuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIC8vXHJcbiAgICBjb25zdCB7IGggfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX2JnQ29sb3IsIFwiaHN2YVwiKSBhcyBhbnk7XHJcbiAgICBjb25zdCBoc3YgPSB7XHJcbiAgICAgIGgsXHJcbiAgICAgIHM6ICh4IC8gc2Iud2lkdGgpLFxyXG4gICAgICB2OiAoKHNiLmhlaWdodCAtIHkpIC8gc2IuaGVpZ2h0KVxyXG4gICAgfVxyXG4gICAgdGhpcy5fcGFyZW50Ll9vbkludGVybmFsQ29sb3JDaGFuZ2VkJC5uZXh0KHtcclxuICAgICAgY29sb3I6IEFYQ29sb3JVdGlsLnRvU3RyaW5nKGhzdiwgJ3JnYmEnKSxcclxuICAgICAgc2VuZGVyOiB0aGlzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBvaW50ZXJCeVBlcmNlbnQoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KFwiLmF4LWNvbG9yLXBpY2tlci1vdmVybGF5XCIpO1xyXG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgcG9pbnRlciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oXCIuYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIik7XHJcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB3ID0gKHBiLndpZHRoIC8gMik7XHJcbiAgICBjb25zdCB3aWR0aCA9IHNiLndpZHRoOy8vKyBwYi53aWR0aFxyXG4gICAgY29uc3QgaGVpZ2h0ID0gc2IuaGVpZ2h0Oy8vICsgcGIud2lkdGhcclxuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0ge1xyXG4gICAgICB4OiAoKHggKiB3aWR0aCkgLyAxMDApIC0gdyxcclxuICAgICAgeTogKGhlaWdodCAtICgoKHkgKiBoZWlnaHQpKSAvIDEwMCkpIC0gd1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci1vdmVybGF5LXRyYW5zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLW92ZXJsYXlcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJfYmdDb2xvclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheS1nMVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1waWNrZXItb3ZlcmxheS1nMlwiIChjbGljayk9XCJfaGFuZGxlU3VyZmFjZUNsaWNrKCRldmVudClcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItcGlja2VyLXBvaW50ZXJcIiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1jb2xvci1waWNrZXItb3ZlcmxheVwiIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25cIiAoY2RrRHJhZ0VuZGVkKT1cIl9oYW5kbGVEcmFnKClcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGF4LXJhbmdlLXNsaWRlciBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci1ncmFkaWVudFwiIFttaW5WYWx1ZV09XCIwXCIgW21heFZhbHVlXT1cIjk5XCIgW3N0ZXBdPVwiMVwiIFt2YWx1ZV09XCJfZ3JhZGllbnRcIiBcclxuICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKCRldmVudClcIj5cclxuPC9heC1yYW5nZS1zbGlkZXI+XHJcbjxheC1yYW5nZS1zbGlkZXIgY2xhc3M9XCJheC1jb2xvci1waWNrZXItdHJhbnNwYXJlbnRcIiBbbWluVmFsdWVdPVwiMFwiIFttYXhWYWx1ZV09XCIxXCIgW3N0ZXBdPVwiMC4wMVwiIFt2YWx1ZV09XCJfcmdiYS5hXCJcclxuICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlQWxwaGFDaGFuZ2VkKCRldmVudClcIj5cclxuPC9heC1yYW5nZS1zbGlkZXI+Il19
|
@@ -1,62 +1,63 @@
|
|
1
|
-
import { AXBaseComponent } from '@acorex/components/mixin';
|
2
|
-
import { AXColorUtil } from '@acorex/core/utils';
|
3
|
-
import { ChangeDetectionStrategy, Component, Inject, Optional, ViewEncapsulation, } from '@angular/core';
|
4
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
5
|
-
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./color-palette.class";
|
8
|
-
|
9
|
-
_parent;
|
10
|
-
_zone;
|
11
|
-
constructor(_elementRef, _cdr, _parent, _zone) {
|
12
|
-
super(_elementRef, _cdr);
|
13
|
-
this._parent = _parent;
|
14
|
-
this._zone = _zone;
|
15
|
-
_parent._onInternalColorChanged$
|
16
|
-
.pipe(distinctUntilChanged())
|
17
|
-
.subscribe((e) => {
|
18
|
-
_zone.runOutsideAngular(() => {
|
19
|
-
this._getInnerElement().style.backgroundColor = e.color;
|
20
|
-
this._getInnerElement().innerText = AXColorUtil.toString(e.color);
|
21
|
-
const color = AXColorUtil.toString(e.color, 'hex');
|
22
|
-
const ratio = AXColorUtil.contrastToWhite(color);
|
23
|
-
this._getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
|
24
|
-
});
|
25
|
-
});
|
26
|
-
}
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXColorComponent, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXColorPalettePreviewComponent, selector: "ax-color-palette-preview", host: { classAttribute: "ax-color-palette-preview" }, providers: [
|
29
|
-
{
|
30
|
-
provide: AXColorPaletteChildComponent,
|
31
|
-
useExisting: AXColorPalettePreviewComponent,
|
32
|
-
},
|
1
|
+
import { AXBaseComponent } from '@acorex/components/mixin';
|
2
|
+
import { AXColorUtil } from '@acorex/core/utils';
|
3
|
+
import { ChangeDetectionStrategy, Component, Inject, Optional, ViewEncapsulation, } from '@angular/core';
|
4
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
5
|
+
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "./color-palette.class";
|
8
|
+
class AXColorPalettePreviewComponent extends AXBaseComponent {
|
9
|
+
_parent;
|
10
|
+
_zone;
|
11
|
+
constructor(_elementRef, _cdr, _parent, _zone) {
|
12
|
+
super(_elementRef, _cdr);
|
13
|
+
this._parent = _parent;
|
14
|
+
this._zone = _zone;
|
15
|
+
_parent._onInternalColorChanged$
|
16
|
+
.pipe(distinctUntilChanged())
|
17
|
+
.subscribe((e) => {
|
18
|
+
_zone.runOutsideAngular(() => {
|
19
|
+
this._getInnerElement().style.backgroundColor = e.color;
|
20
|
+
this._getInnerElement().innerText = AXColorUtil.toString(e.color);
|
21
|
+
const color = AXColorUtil.toString(e.color, 'hex');
|
22
|
+
const ratio = AXColorUtil.contrastToWhite(color);
|
23
|
+
this._getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
|
24
|
+
});
|
25
|
+
});
|
26
|
+
}
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: AXColorComponent, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXColorPalettePreviewComponent, selector: "ax-color-palette-preview", host: { classAttribute: "ax-color-palette-preview" }, providers: [
|
29
|
+
{
|
30
|
+
provide: AXColorPaletteChildComponent,
|
31
|
+
useExisting: AXColorPalettePreviewComponent,
|
32
|
+
},
|
33
33
|
], usesInheritance: true, ngImport: i0, template: `<div
|
34
34
|
class="palette-preview-overlay"
|
35
35
|
[class.ax-state-disabled]="_parent.disabled"
|
36
|
-
></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
37
|
-
}
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
37
|
+
}
|
38
|
+
export { AXColorPalettePreviewComponent };
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXColorPalettePreviewComponent, decorators: [{
|
40
|
+
type: Component,
|
41
|
+
args: [{
|
42
|
+
selector: 'ax-color-palette-preview',
|
42
43
|
template: `<div
|
43
44
|
class="palette-preview-overlay"
|
44
45
|
[class.ax-state-disabled]="_parent.disabled"
|
45
|
-
></div>`,
|
46
|
-
host: { class: 'ax-color-palette-preview' },
|
47
|
-
encapsulation: ViewEncapsulation.None,
|
48
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
49
|
-
providers: [
|
50
|
-
{
|
51
|
-
provide: AXColorPaletteChildComponent,
|
52
|
-
useExisting: AXColorPalettePreviewComponent,
|
53
|
-
},
|
54
|
-
],
|
55
|
-
}]
|
56
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXColorComponent, decorators: [{
|
57
|
-
type: Optional
|
58
|
-
}, {
|
59
|
-
type: Inject,
|
60
|
-
args: [AXColorComponent]
|
61
|
-
}] }, { type: i0.NgZone }]; } });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
></div>`,
|
47
|
+
host: { class: 'ax-color-palette-preview' },
|
48
|
+
encapsulation: ViewEncapsulation.None,
|
49
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
50
|
+
providers: [
|
51
|
+
{
|
52
|
+
provide: AXColorPaletteChildComponent,
|
53
|
+
useExisting: AXColorPalettePreviewComponent,
|
54
|
+
},
|
55
|
+
],
|
56
|
+
}]
|
57
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXColorComponent, decorators: [{
|
58
|
+
type: Optional
|
59
|
+
}, {
|
60
|
+
type: Inject,
|
61
|
+
args: [AXColorComponent]
|
62
|
+
}] }, { type: i0.NgZone }]; } });
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2NvbG9yLXBhbGV0dGUtcHJldmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBRU4sUUFBUSxFQUNSLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDRCQUE0QixHQUM3QixNQUFNLHVCQUF1QixDQUFDOzs7QUFFL0IsTUFnQmEsOEJBQStCLFNBQVEsZUFBZTtJQU14RDtJQUNDO0lBTlYsWUFDRSxXQUF1QixFQUN2QixJQUF1QixFQUdoQixPQUF5QixFQUN4QixLQUFhO1FBRXJCLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFIbEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUdyQixPQUFPLENBQUMsd0JBQXdCO2FBQzdCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBckJVLDhCQUE4Qiw2RUFLL0IsZ0JBQWdCOzJGQUxmLDhCQUE4Qix5R0FQOUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxXQUFXLEVBQUUsOEJBQThCO2FBQzVDO1NBQ0YsaURBWlM7OztVQUdGOztTQVdHLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQWhCMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7OztVQUdGO29CQUNSLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRTtvQkFDM0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyxnQ0FBZ0M7eUJBQzVDO3FCQUNGO2lCQUNGOzswQkFLSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcbmltcG9ydCB7IEFYQ29sb3JVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbmplY3QsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBBWENvbG9yQ29tcG9uZW50LFxyXG4gIEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXHJcbn0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1wcmV2aWV3JyxcclxuICB0ZW1wbGF0ZTogYDxkaXZcclxuICAgIGNsYXNzPVwicGFsZXR0ZS1wcmV2aWV3LW92ZXJsYXlcIlxyXG4gICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxyXG4gID48L2Rpdj5gLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1jb2xvci1wYWxldHRlLXByZXZpZXcnIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUHJldmlld0NvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUHJldmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoQVhDb2xvckNvbXBvbmVudClcclxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgICBfcGFyZW50Ll9vbkludGVybmFsQ29sb3JDaGFuZ2VkJFxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fZ2V0SW5uZXJFbGVtZW50KCkuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gZS5jb2xvcjtcclxuICAgICAgICAgIHRoaXMuX2dldElubmVyRWxlbWVudCgpLmlubmVyVGV4dCA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKGUuY29sb3IpO1xyXG4gICAgICAgICAgY29uc3QgY29sb3IgPSBBWENvbG9yVXRpbC50b1N0cmluZyhlLmNvbG9yLCAnaGV4Jyk7XHJcbiAgICAgICAgICBjb25zdCByYXRpbyA9IEFYQ29sb3JVdGlsLmNvbnRyYXN0VG9XaGl0ZShjb2xvcik7XHJcbiAgICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmNvbG9yID0gIShyYXRpbyA+IDIuMCkgPyAnIzAwMCcgOiAnI2ZmZic7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|