@acorex/components 19.0.1 → 19.1.0-next.1
Sign up to get free protection for your applications and to get access to all the features.
- package/color-box/lib/color-box.component.d.ts +2 -1
- package/color-palette/lib/color-palette-picker.component.d.ts +3 -3
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +5 -9
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +8 -21
- package/conversation/lib/conversation.module.d.ts +2 -1
- package/data-pager/index.d.ts +1 -1
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +8 -0
- package/data-pager/lib/data-pager.module.d.ts +1 -1
- package/fesm2022/acorex-components-color-box.mjs +30 -4
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +23 -11
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +20 -8
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +39 -45
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +39 -8
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +8 -6
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +1 -0
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +12 -24
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +8 -3
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/otp/lib/otp.component.d.ts +3 -11
- package/package.json +1 -1
- package/tabs/lib/tabs.component.d.ts +1 -0
- /package/data-pager/lib/{data-pager-next-buttons.components.d.ts → data-pager-next-buttons.component.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-color-palette.mjs","sources":["../../../../libs/components/color-palette/src/lib/color-palette.class.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.html","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.html","../../../../libs/components/color-palette/src/lib/color-palette-preview.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-swatches.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.html","../../../../libs/components/color-palette/src/lib/color-palette.module.ts","../../../../libs/components/color-palette/src/acorex-components-color-palette.ts"],"sourcesContent":["import { AXOptionChangedEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXColorPaletteView = 'swatches' | 'gradient' | 'custom';\nexport interface AXColorChangedEvent {\n color: any;\n sender: any;\n}\n\n@Injectable()\nexport abstract class AXColorPaletteParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract get value(): string;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<string>>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract commitValue(value: string, u?: boolean);\n}\n\n@Injectable()\nexport abstract class AXColorPaletteChildComponent {}\n\nexport const AXDefaultColorPalette = [\n { code: '#ffffff' },\n { code: '#000000' },\n { code: '#9E9E9E' },\n { code: '#FFC107' },\n { code: '#607D8B' },\n { code: '#2196F3' },\n { code: '#FF5722' },\n { code: '#4CAF50' },\n { code: '#9c27b0' },\n { code: '#3F51B5' },\n // Amber\n { code: '#fff8e1' },\n { code: '#ffecb3' },\n { code: '#ffe082' },\n { code: '#ffd54f' },\n { code: '#ffca28' },\n { code: '#ffc107' },\n { code: '#ffb300' },\n { code: '#ffa000' },\n { code: '#ff8f00' },\n { code: '#ff6f00' },\n // Blue Grey\n { code: '#ECEFF1' },\n { code: '#CFD8DC' },\n { code: '#B0BEC5' },\n { code: '#90A4AE' },\n { code: '#78909C' },\n { code: '#607D8B' },\n { code: '#546E7A' },\n { code: '#455A64' },\n { code: '#37474F' },\n { code: '#263238' },\n // Blue\n { code: '#E3F2FD' },\n { code: '#BBDEFB' },\n { code: '#90CAF9' },\n { code: '#64B5F6' },\n { code: '#42A5F5' },\n { code: '#2196F3' },\n { code: '#1E88E5' },\n { code: '#1976D2' },\n { code: '#1565C0' },\n { code: '#0D47A1' },\n // Brown\n { code: '#EFEBE9' },\n { code: '#D7CCC8' },\n { code: '#BCAAA4' },\n { code: '#A1887F' },\n { code: '#8D6E63' },\n { code: '#795548' },\n { code: '#6D4C41' },\n { code: '#5D4037' },\n { code: '#4E342E' },\n { code: '#3E2723' },\n // Cyan\n { code: '#E0F7FA' },\n { code: '#B2EBF2' },\n { code: '#80DEEA' },\n { code: '#4DD0E1' },\n { code: '#26C6DA' },\n { code: '#00BCD4' },\n { code: '#00ACC1' },\n { code: '#0097A7' },\n { code: '#00838F' },\n { code: '#006064' },\n // Deep Orange\n { code: '#FBE9E7' },\n { code: '#FFCCBC' },\n { code: '#FFAB91' },\n { code: '#FF8A65' },\n { code: '#FF7043' },\n { code: '#FF5722' },\n { code: '#F4511E' },\n { code: '#E64A19' },\n { code: '#D84315' },\n { code: '#BF360C' },\n // Deep Purple\n { code: '#EDE7F6' },\n { code: '#D1C4E9' },\n { code: '#B39DDB' },\n { code: '#9575CD' },\n { code: '#7E57C2' },\n { code: '#673AB7' },\n { code: '#5E35B1' },\n { code: '#512DA8' },\n { code: '#4527A0' },\n { code: '#311B92' },\n // Green\n { code: '#E8F5E9' },\n { code: '#C8E6C9' },\n { code: '#A5D6A7' },\n { code: '#81C784' },\n { code: '#66BB6A' },\n { code: '#4CAF50' },\n { code: '#43A047' },\n { code: '#388E3C' },\n { code: '#2E7D32' },\n { code: '#1B5E20' },\n\n // Grey\n { code: '#FAFAFA' },\n { code: '#F5F5F5' },\n { code: '#EEEEEE' },\n { code: '#E0E0E0' },\n { code: '#BDBDBD' },\n { code: '#9E9E9E' },\n { code: '#757575' },\n { code: '#616161' },\n { code: '#424242' },\n { code: '#212121' },\n\n // Indigo\n { code: '#E8EAF6' },\n { code: '#C5CAE9' },\n { code: '#9FA8DA' },\n { code: '#7986CB' },\n { code: '#5C6BC0' },\n { code: '#3F51B5' },\n { code: '#3949AB' },\n { code: '#303F9F' },\n { code: '#283593' },\n { code: '#1A237E' },\n // Light Blue\n { code: '#E1F5FE' },\n { code: '#B3E5FC' },\n { code: '#81D4FA' },\n { code: '#4FC3F7' },\n { code: '#29B6F6' },\n { code: '#03A9F4' },\n { code: '#039BE5' },\n { code: '#0288D1' },\n { code: '#0277BD' },\n { code: '#01579B' },\n // Light Green\n { code: '#F1F8E9' },\n { code: '#DCEDC8' },\n { code: '#C5E1A5' },\n { code: '#AED581' },\n { code: '#9CCC65' },\n { code: '#8BC34A' },\n { code: '#7CB342' },\n { code: '#689F38' },\n { code: '#558B2F' },\n { code: '#33691E' },\n // Lime\n { code: '#F9FBE7' },\n { code: '#F0F4C3' },\n { code: '#E6EE9C' },\n { code: '#DCE775' },\n { code: '#D4E157' },\n { code: '#CDDC39' },\n { code: '#C0CA33' },\n { code: '#AFB42B' },\n { code: '#9E9D24' },\n { code: '#827717' },\n // Orange\n { code: '#FFF3E0' },\n { code: '#FFE0B2' },\n { code: '#FFCC80' },\n { code: '#FFB74D' },\n { code: '#FFA726' },\n { code: '#FF9800' },\n { code: '#FB8C00' },\n { code: '#F57C00' },\n { code: '#EF6C00' },\n { code: '#E65100' },\n // Pink\n { code: '#FCE4EC' },\n { code: '#F8BBD0' },\n { code: '#F48FB1' },\n { code: '#F06292' },\n { code: '#EC407A' },\n { code: '#E91E63' },\n { code: '#D81B60' },\n { code: '#C2185B' },\n { code: '#AD1457' },\n { code: '#880E4F' },\n // Purple\n { code: '#F3E5F5' },\n { code: '#E1BEE7' },\n { code: '#CE93D8' },\n { code: '#BA68C8' },\n { code: '#AB47BC' },\n { code: '#9C27B0' },\n { code: '#8E24AA' },\n { code: '#7B1FA2' },\n { code: '#6A1B9A' },\n { code: '#4A148C' },\n // Red\n { code: '#FFEBEE' },\n { code: '#FFCDD2' },\n { code: '#EF9A9A' },\n { code: '#E57373' },\n { code: '#EF5350' },\n { code: '#F44336' },\n { code: '#E53935' },\n { code: '#D32F2F' },\n { code: '#C62828' },\n { code: '#B71C1C' },\n // Teal\n { code: '#E0F2F1' },\n { code: '#B2DFDB' },\n { code: '#80CBC4' },\n { code: '#4DB6AC' },\n { code: '#26A69A' },\n { code: '#009688' },\n { code: '#00897B' },\n { code: '#00796B' },\n { code: '#00695C' },\n { code: '#004D40' },\n // Yellow\n { code: '#FFFDE7' },\n { code: '#FFF9C4' },\n { code: '#FFF59D' },\n { code: '#FFF176' },\n { code: '#FFEE58' },\n { code: '#FFEB3B' },\n { code: '#FDD835' },\n { code: '#FBC02D' },\n { code: '#F9A825' },\n { code: '#F57F17' },\n];\n","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXMaskOptions } from '@acorex/components/text-box';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for selecting colors from a palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-input',\n templateUrl: './color-palette-input.component.html',\n styles: `\n .ax-bold {\n font-weight: bold;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteInputComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n _hex = '';\n\n /**\n * @ignore\n */\n protected _colorMode: 'hex' | 'rgba' = 'rgba';\n\n /**\n * @ignore\n */\n protected _hexMaskOptions: AXMaskOptions = {\n mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,\n prepare: (str: any, m: any, a: any) => {\n return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();\n },\n };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.applyParent(e.isUserInteraction);\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent(u = false) {\n const value = this._parent.value;\n if (!value) {\n this._hex = '';\n this._rgba = {\n r: null,\n g: null,\n b: null,\n a: null,\n };\n } else {\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\n }\n if (this._colorMode == 'rgba') {\n Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n }\n if (this._colorMode == 'hex') {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n }\n this.checkValid();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n _handleChangeInputMode() {\n switch (this._colorMode) {\n case 'rgba':\n this._colorMode = 'hex';\n this.applyParent(true);\n break;\n default:\n this._colorMode = 'rgba';\n this.applyParent(true);\n break;\n }\n }\n\n /**\n * @ignore\n */\n _handleRGBAValueChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction) {\n this._rgba[e.name] = e.value;\n const { r, g, b, a } = this._rgba;\n const _color = `rgba(${r},${g},${b},${a})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleHEXAValueChanged(e: AXValueChangedEvent<string>) {\n if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {\n this._parent.commitValue(e.value, e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n private checkValid() {\n this.isValid = AXColorUtil.isValid(this._hex);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-input`;\n }\n}\n","<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","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for picking colors from a color palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-picker',\n templateUrl: './color-palette-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePickerComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXColorPalettePickerComponent extends MXBaseComponent {\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n private circle = viewChild<ElementRef<HTMLDivElement>>('circle');\n\n private changingColor = signal(false);\n\n /**\n * @ignore\n */\n protected _gradient = 0;\n\n /**\n * @ignore\n */\n protected _bgColor = '#F00';\n\n /**\n * @ignore\n */\n private readonly _gradientColors: any[] = [\n { color: 'rgb(255, 0, 0)', pos: 0 },\n { color: 'rgb(255, 255, 0)', pos: 0.17 },\n { color: 'rgb(0, 255, 0)', pos: 0.33 },\n { color: 'rgb(0, 255, 255)', pos: 0.5 },\n { color: 'rgb(0, 0, 255)', pos: 0.67 },\n { color: 'rgb(255, 0, 255)', pos: 0.83 },\n { color: 'rgb(255, 0, 0)', pos: 1 },\n ];\n\n /**\n * @ignore\n */\n private readonly _gradients = AXColorUtil.gradient(this._gradientColors);\n\n /**\n * @ignore\n */\n private readonly _colors = this._gradients.rgb(100);\n\n /**\n * @ignore\n */\n // protected dragPosition = { x: 0, y: 0 };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this._handleParentColorChanged();\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private setHSV() {\n const hsv = AXColorUtil.to(this._rgba, 'hsva') as any;\n const sortedH = this._colors.map((c) => c.toHsv().h);\n this._gradient = sortedH.findIndex((c) => {\n return Math.round(c) >= Math.round(hsv.h);\n });\n this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');\n this.setPointerByPercent(hsv.s * 100, hsv.v * 100);\n }\n\n /**\n * @ignore\n */\n private _handleParentColorChanged() {\n const color = this._parent.value;\n if (!color) {\n this._rgba = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n } else {\n if (!AXColorUtil.equal(color, this._rgba)) {\n Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));\n }\n }\n this.setHSV();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n protected _handleAlphaChanged(e: any) {\n if (e != this._rgba.a) {\n const { r, g, b } = this._rgba;\n const _color = `rgba(${r},${g},${b},${e})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), true);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleGradientChanged(e: any) {\n if (e != this._gradient) {\n const { s, v } = AXColorUtil.to(this._rgba, 'hsva') as any;\n const { h } = this._colors[e as number].toHsv();\n this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), true);\n }\n }\n\n /**\n * @ignore\n */\n // protected _handleSurfaceClick(e: MouseEvent) {\n // if (this._parent.disabled || this._parent.readonly) {\n // e.preventDefault();\n // e.stopPropagation();\n // return;\n // }\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n // const x = e.offsetX;\n // const y = e.offsetY;\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n // protected _handleDrag() {\n // if (this._parent.disabled || this._parent.readonly) {\n // return;\n // }\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const sb = surface.getBoundingClientRect();\n // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n // const pb = pointer.getBoundingClientRect();\n // const w = pb.width / 2;\n // let x = pb.left - sb.left + w;\n // let y = pb.top - sb.top + w;\n // //\n // x = x < 0 ? 0 : x;\n // x = x > sb.width ? sb.width : x;\n // //\n // y = y < 0 ? 0 : y;\n // y = y > sb.height ? sb.height : y;\n // //\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n // protected _handleDragMove(event: any) {\n // if (this._parent.disabled || this._parent.readonly) {\n // return;\n // }\n\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const sb = surface.getBoundingClientRect();\n\n // // Get the position of the drag event relative to the surface\n // const dragPosition = event.pointerPosition;\n\n // // Calculate x and y offsets relative to the surface\n // let x = dragPosition.x - sb.left; // Pointer x position\n // let y = dragPosition.y - sb.top; // Pointer y position\n\n // // Clamp values to be within bounds\n // // Adjust the clamping logic to prevent overshooting by taking the pointer size into account\n // const pointerWidth = 20; // Assuming a pointer width of 20px, adjust as necessary\n // const pointerHeight = 20; // Assuming a pointer height of 20px, adjust as necessary\n\n // x = Math.max(0 + pointerWidth / 2, Math.min(x, sb.width - pointerWidth / 2)); // Center the pointer\n // y = Math.max(0 + pointerHeight / 2, Math.min(y, sb.height - pointerHeight / 2)); // Center the pointer\n\n // // Call the method to set the color based on the new x and y\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n private setColorByXY(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n //\n const { h, a } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsva = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n a,\n };\n this._parent.commitValue(AXColorUtil.toString(hsva, 'rgba'), true);\n }\n\n /**\n * @ignore\n */\n private setPointerByPercent(x: number, y: number) {\n const circleElement = this.circle().nativeElement;\n const parentStats = circleElement.parentElement.getBoundingClientRect();\n\n const circleHeight = circleElement.offsetHeight / 2;\n const circleWidth = circleElement.offsetWidth / 2;\n\n const top = parentStats.height - (y * parentStats.height) / 100 - circleHeight;\n const left = (x * parentStats.width) / 100 - circleWidth;\n\n circleElement.style.top = `${top}px`;\n circleElement.style.left = `${left}px`;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n\n protected handleMove(event: MouseEvent) {\n if (!this.changingColor()) return;\n this.setColor(event);\n }\n\n protected handleDown(event: MouseEvent) {\n if (this._parent.disabled || this._parent.readonly) return;\n this.setColor(event);\n this.changingColor.set(true);\n }\n\n protected handleUp() {\n this.changingColor.set(false);\n }\n\n private setColor(event: MouseEvent) {\n const circleElement = this.circle().nativeElement;\n const parentStats = circleElement.parentElement.getBoundingClientRect();\n\n const x = Math.max(0, Math.min(parentStats.width, event.clientX - parentStats.left));\n const y = Math.max(0, Math.min(parentStats.height, event.clientY - parentStats.top));\n\n this.setColorByXY(x, y);\n }\n}\n","<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","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component that displays a preview of the selected color in the palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-preview',\n template: `<div class=\"palette-preview-overlay\" [class.ax-state-disabled]=\"_parent.disabled\"></div>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePreviewComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false\n})\nexport class AXColorPalettePreviewComponent extends MXBaseComponent implements AfterViewInit {\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _zone: NgZone,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n _zone.runOutsideAngular(this.applyParent.bind(this));\n });\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n const inner = this.getHostElement().firstElementChild as HTMLDivElement;\n inner.style.backgroundColor = this._parent.value;\n inner.innerText = AXColorUtil.toString(this._parent.value);\n const color = AXColorUtil.toString(this._parent.value, 'hex');\n const ratio = AXColorUtil.contrastToWhite(color);\n this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';\n }\n\n /**\n * @ignore\n */\n @HostBinding('classs')\n private get __hostClass(): string {\n return `ax-color-palette-preview`;\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, Inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent, AXDefaultColorPalette } from './color-palette.class';\n\n/**\n * Displays color swatches or favorites, allowing color selection.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-swatches, ax-color-palette-favorite',\n template: `\n @for (color of colors; track $index) {\n <div\n [style.background-color]=\"color.code\"\n [attr.title]=\"color.code\"\n [class.ax-state-selected]=\"color.code === _selected\"\n (click)=\"_handleClick($event, color)\"\n ></div>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteSwatchesComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false\n})\nexport class AXColorPaletteSwatchesComponent extends MXBaseComponent implements OnInit, AfterViewInit {\n /**\n * @ignore\n */\n protected _selected: string;\n\n /**\n * List of color objects for display, each with a `code` property.\n * @defaultValue []\n */\n @Input()\n colors: { code: string }[] = [];\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged\n .pipe(_unsubscriber.takeUntilDestroy)\n .pipe(distinctUntilChanged())\n .subscribe(() => {\n this.applyParent();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n this._selected = AXColorUtil.toString(this._parent.value, 'hex').toLowerCase();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n const isFav = this.getHostElement().tagName.toLowerCase() == 'ax-color-palette-favorite';\n if (!isFav && this.colors.length == 0) {\n this.colors = AXDefaultColorPalette.map((c) => this._format(c));\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected _handleClick(e: MouseEvent, color) {\n if (this._parent.disabled || this._parent.readonly) return;\n this._parent.commitValue(color.code, true);\n }\n\n /**\n * @ignore\n */\n private _format(color: { code: string }): { code: string } {\n return {\n code: color.code.toLowerCase(),\n };\n }\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, HostBinding, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * A color palette component that allows for color selection and interaction.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette',\n templateUrl: './color-palette.component.html',\n styleUrls: ['./color-palette.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXColorPalleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorPalleteComponent),\n multi: true,\n },\n {\n provide: AXColorPaletteParentComponent,\n useExisting: AXColorPalleteComponent,\n },\n ],\n standalone: false\n})\nexport class AXColorPalleteComponent extends MXValueComponent<string> {\n @ContentChildren(AXColorPaletteChildComponent)\n _children: QueryList<AXColorPaletteChildComponent>;\n\n /**\n * @ignore\n */\n @HostBinding('class.ax-state-disabled')\n private get __hostDisabled() {\n return this.disabled;\n }\n}\n","<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSliderModule } from '@acorex/components/slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorPaletteInputComponent } from './color-palette-input.component';\nimport { AXColorPalettePickerComponent } from './color-palette-picker.component';\nimport { AXColorPalettePreviewComponent } from './color-palette-preview.component';\nimport { AXColorPaletteSwatchesComponent } from './color-palette-swatches.component';\nimport { AXColorPalleteComponent } from './color-palette.component';\n\nconst MODULES: any[] = [\n FormsModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXRangeSliderModule,\n AXSliderModule,\n DragDropModule,\n];\nconst CONPONENTS: any[] = [\n AXColorPalleteComponent,\n AXColorPalettePreviewComponent,\n AXColorPaletteSwatchesComponent,\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n];\n\n@NgModule({\n declarations: [...CONPONENTS],\n imports: [CommonModule, ...MODULES],\n exports: [...CONPONENTS],\n providers: [],\n})\nexport class AXColorPaletteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2.AXColorPalettePreviewComponent","i3.AXColorPaletteSwatchesComponent","i4.AXColorPaletteInputComponent","i5.AXColorPalettePickerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAasB,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD;;MAWqB,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD;;AAGY,MAAA,qBAAqB,GAAG;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;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"}
|
1
|
+
{"version":3,"file":"acorex-components-color-palette.mjs","sources":["../../../../libs/components/color-palette/src/lib/color-palette.class.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.html","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.html","../../../../libs/components/color-palette/src/lib/color-palette-preview.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-swatches.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.html","../../../../libs/components/color-palette/src/lib/color-palette.module.ts","../../../../libs/components/color-palette/src/acorex-components-color-palette.ts"],"sourcesContent":["import { AXOptionChangedEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXColorPaletteView = 'swatches' | 'gradient' | 'custom';\nexport interface AXColorChangedEvent {\n color: any;\n sender: any;\n}\n\n@Injectable()\nexport abstract class AXColorPaletteParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract get value(): string;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<string>>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract commitValue(value: string, u?: boolean);\n}\n\n@Injectable()\nexport abstract class AXColorPaletteChildComponent {}\n\nexport const AXDefaultColorPalette = [\n { code: '#ffffff' },\n { code: '#000000' },\n { code: '#9E9E9E' },\n { code: '#FFC107' },\n { code: '#607D8B' },\n { code: '#2196F3' },\n { code: '#FF5722' },\n { code: '#4CAF50' },\n { code: '#9c27b0' },\n { code: '#3F51B5' },\n // Amber\n { code: '#fff8e1' },\n { code: '#ffecb3' },\n { code: '#ffe082' },\n { code: '#ffd54f' },\n { code: '#ffca28' },\n { code: '#ffc107' },\n { code: '#ffb300' },\n { code: '#ffa000' },\n { code: '#ff8f00' },\n { code: '#ff6f00' },\n // Blue Grey\n { code: '#ECEFF1' },\n { code: '#CFD8DC' },\n { code: '#B0BEC5' },\n { code: '#90A4AE' },\n { code: '#78909C' },\n { code: '#607D8B' },\n { code: '#546E7A' },\n { code: '#455A64' },\n { code: '#37474F' },\n { code: '#263238' },\n // Blue\n { code: '#E3F2FD' },\n { code: '#BBDEFB' },\n { code: '#90CAF9' },\n { code: '#64B5F6' },\n { code: '#42A5F5' },\n { code: '#2196F3' },\n { code: '#1E88E5' },\n { code: '#1976D2' },\n { code: '#1565C0' },\n { code: '#0D47A1' },\n // Brown\n { code: '#EFEBE9' },\n { code: '#D7CCC8' },\n { code: '#BCAAA4' },\n { code: '#A1887F' },\n { code: '#8D6E63' },\n { code: '#795548' },\n { code: '#6D4C41' },\n { code: '#5D4037' },\n { code: '#4E342E' },\n { code: '#3E2723' },\n // Cyan\n { code: '#E0F7FA' },\n { code: '#B2EBF2' },\n { code: '#80DEEA' },\n { code: '#4DD0E1' },\n { code: '#26C6DA' },\n { code: '#00BCD4' },\n { code: '#00ACC1' },\n { code: '#0097A7' },\n { code: '#00838F' },\n { code: '#006064' },\n // Deep Orange\n { code: '#FBE9E7' },\n { code: '#FFCCBC' },\n { code: '#FFAB91' },\n { code: '#FF8A65' },\n { code: '#FF7043' },\n { code: '#FF5722' },\n { code: '#F4511E' },\n { code: '#E64A19' },\n { code: '#D84315' },\n { code: '#BF360C' },\n // Deep Purple\n { code: '#EDE7F6' },\n { code: '#D1C4E9' },\n { code: '#B39DDB' },\n { code: '#9575CD' },\n { code: '#7E57C2' },\n { code: '#673AB7' },\n { code: '#5E35B1' },\n { code: '#512DA8' },\n { code: '#4527A0' },\n { code: '#311B92' },\n // Green\n { code: '#E8F5E9' },\n { code: '#C8E6C9' },\n { code: '#A5D6A7' },\n { code: '#81C784' },\n { code: '#66BB6A' },\n { code: '#4CAF50' },\n { code: '#43A047' },\n { code: '#388E3C' },\n { code: '#2E7D32' },\n { code: '#1B5E20' },\n\n // Grey\n { code: '#FAFAFA' },\n { code: '#F5F5F5' },\n { code: '#EEEEEE' },\n { code: '#E0E0E0' },\n { code: '#BDBDBD' },\n { code: '#9E9E9E' },\n { code: '#757575' },\n { code: '#616161' },\n { code: '#424242' },\n { code: '#212121' },\n\n // Indigo\n { code: '#E8EAF6' },\n { code: '#C5CAE9' },\n { code: '#9FA8DA' },\n { code: '#7986CB' },\n { code: '#5C6BC0' },\n { code: '#3F51B5' },\n { code: '#3949AB' },\n { code: '#303F9F' },\n { code: '#283593' },\n { code: '#1A237E' },\n // Light Blue\n { code: '#E1F5FE' },\n { code: '#B3E5FC' },\n { code: '#81D4FA' },\n { code: '#4FC3F7' },\n { code: '#29B6F6' },\n { code: '#03A9F4' },\n { code: '#039BE5' },\n { code: '#0288D1' },\n { code: '#0277BD' },\n { code: '#01579B' },\n // Light Green\n { code: '#F1F8E9' },\n { code: '#DCEDC8' },\n { code: '#C5E1A5' },\n { code: '#AED581' },\n { code: '#9CCC65' },\n { code: '#8BC34A' },\n { code: '#7CB342' },\n { code: '#689F38' },\n { code: '#558B2F' },\n { code: '#33691E' },\n // Lime\n { code: '#F9FBE7' },\n { code: '#F0F4C3' },\n { code: '#E6EE9C' },\n { code: '#DCE775' },\n { code: '#D4E157' },\n { code: '#CDDC39' },\n { code: '#C0CA33' },\n { code: '#AFB42B' },\n { code: '#9E9D24' },\n { code: '#827717' },\n // Orange\n { code: '#FFF3E0' },\n { code: '#FFE0B2' },\n { code: '#FFCC80' },\n { code: '#FFB74D' },\n { code: '#FFA726' },\n { code: '#FF9800' },\n { code: '#FB8C00' },\n { code: '#F57C00' },\n { code: '#EF6C00' },\n { code: '#E65100' },\n // Pink\n { code: '#FCE4EC' },\n { code: '#F8BBD0' },\n { code: '#F48FB1' },\n { code: '#F06292' },\n { code: '#EC407A' },\n { code: '#E91E63' },\n { code: '#D81B60' },\n { code: '#C2185B' },\n { code: '#AD1457' },\n { code: '#880E4F' },\n // Purple\n { code: '#F3E5F5' },\n { code: '#E1BEE7' },\n { code: '#CE93D8' },\n { code: '#BA68C8' },\n { code: '#AB47BC' },\n { code: '#9C27B0' },\n { code: '#8E24AA' },\n { code: '#7B1FA2' },\n { code: '#6A1B9A' },\n { code: '#4A148C' },\n // Red\n { code: '#FFEBEE' },\n { code: '#FFCDD2' },\n { code: '#EF9A9A' },\n { code: '#E57373' },\n { code: '#EF5350' },\n { code: '#F44336' },\n { code: '#E53935' },\n { code: '#D32F2F' },\n { code: '#C62828' },\n { code: '#B71C1C' },\n // Teal\n { code: '#E0F2F1' },\n { code: '#B2DFDB' },\n { code: '#80CBC4' },\n { code: '#4DB6AC' },\n { code: '#26A69A' },\n { code: '#009688' },\n { code: '#00897B' },\n { code: '#00796B' },\n { code: '#00695C' },\n { code: '#004D40' },\n // Yellow\n { code: '#FFFDE7' },\n { code: '#FFF9C4' },\n { code: '#FFF59D' },\n { code: '#FFF176' },\n { code: '#FFEE58' },\n { code: '#FFEB3B' },\n { code: '#FDD835' },\n { code: '#FBC02D' },\n { code: '#F9A825' },\n { code: '#F57F17' },\n];\n","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXMaskOptions } from '@acorex/components/text-box';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for selecting colors from a palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-input',\n templateUrl: './color-palette-input.component.html',\n styles: `\n .ax-bold {\n font-weight: bold;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteInputComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n _hex = '';\n\n /**\n * @ignore\n */\n protected _colorMode: 'hex' | 'rgba' = 'rgba';\n\n /**\n * @ignore\n */\n protected _hexMaskOptions: AXMaskOptions = {\n mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,\n prepare: (str: any, m: any, a: any) => {\n return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();\n },\n };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.applyParent(e.isUserInteraction);\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent(u = false) {\n const value = this._parent.value;\n if (!value) {\n this._hex = '';\n this._rgba = {\n r: null,\n g: null,\n b: null,\n a: null,\n };\n } else {\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\n }\n if (this._colorMode == 'rgba') {\n Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n }\n if (this._colorMode == 'hex') {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n }\n this.checkValid();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n _handleChangeInputMode() {\n switch (this._colorMode) {\n case 'rgba':\n this._colorMode = 'hex';\n this.applyParent(true);\n break;\n default:\n this._colorMode = 'rgba';\n this.applyParent(true);\n break;\n }\n }\n\n /**\n * @ignore\n */\n _handleRGBAValueChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction) {\n this._rgba[e.name] = e.value;\n const { r, g, b, a } = this._rgba;\n const _color = `rgba(${r},${g},${b},${a})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleHEXAValueChanged(e: AXValueChangedEvent<string>) {\n if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {\n this._parent.commitValue(e.value, e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n private checkValid() {\n this.isValid = AXColorUtil.isValid(this._hex);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-input`;\n }\n}\n","<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","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for picking colors from a color palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-picker',\n templateUrl: './color-palette-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePickerComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXColorPalettePickerComponent extends MXBaseComponent {\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n private circle = viewChild<ElementRef<HTMLDivElement>>('circle');\n\n private changingColor = signal(false);\n\n /**\n * @ignore\n */\n protected _gradient = 0;\n\n /**\n * @ignore\n */\n protected _bgColor = '#F00';\n\n /**\n * @ignore\n */\n private readonly _gradientColors: any[] = [\n { color: 'rgb(255, 0, 0)', pos: 0 },\n { color: 'rgb(255, 255, 0)', pos: 0.17 },\n { color: 'rgb(0, 255, 0)', pos: 0.33 },\n { color: 'rgb(0, 255, 255)', pos: 0.5 },\n { color: 'rgb(0, 0, 255)', pos: 0.67 },\n { color: 'rgb(255, 0, 255)', pos: 0.83 },\n { color: 'rgb(255, 0, 0)', pos: 1 },\n ];\n\n /**\n * @ignore\n */\n private readonly _gradients = AXColorUtil.gradient(this._gradientColors);\n\n /**\n * @ignore\n */\n private readonly _colors = this._gradients.rgb(100);\n\n /**\n * @ignore\n */\n // protected dragPosition = { x: 0, y: 0 };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.parentColorChanged();\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private setHSV() {\n const hsv = AXColorUtil.to(this._rgba, 'hsva') as any;\n const sortedH = this._colors.map((c) => c.toHsv().h);\n this._gradient = sortedH.findIndex((c) => {\n return Math.round(c) >= Math.round(hsv.h);\n });\n this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');\n this.setPointerByPercent(hsv.s * 100, hsv.v * 100);\n }\n\n /**\n * @ignore\n */\n parentColorChanged() {\n const color = this._parent.value;\n if (!color) {\n this._rgba = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n } else {\n if (!AXColorUtil.equal(color, this._rgba)) {\n Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));\n }\n }\n this.setHSV();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n protected _handleAlphaChanged(e: any) {\n if (e != this._rgba.a) {\n const { r, g, b } = this._rgba;\n const _color = `rgba(${r},${g},${b},${e})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), true);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleGradientChanged(e: any) {\n if (e != this._gradient) {\n const { s, v } = AXColorUtil.to(this._rgba, 'hsva') as any;\n const { h } = this._colors[e as number].toHsv();\n this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), true);\n }\n }\n\n /**\n * @ignore\n */\n // protected _handleSurfaceClick(e: MouseEvent) {\n // if (this._parent.disabled || this._parent.readonly) {\n // e.preventDefault();\n // e.stopPropagation();\n // return;\n // }\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n // const x = e.offsetX;\n // const y = e.offsetY;\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n // protected _handleDrag() {\n // if (this._parent.disabled || this._parent.readonly) {\n // return;\n // }\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const sb = surface.getBoundingClientRect();\n // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n // const pb = pointer.getBoundingClientRect();\n // const w = pb.width / 2;\n // let x = pb.left - sb.left + w;\n // let y = pb.top - sb.top + w;\n // //\n // x = x < 0 ? 0 : x;\n // x = x > sb.width ? sb.width : x;\n // //\n // y = y < 0 ? 0 : y;\n // y = y > sb.height ? sb.height : y;\n // //\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n // protected _handleDragMove(event: any) {\n // if (this._parent.disabled || this._parent.readonly) {\n // return;\n // }\n\n // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n // const sb = surface.getBoundingClientRect();\n\n // // Get the position of the drag event relative to the surface\n // const dragPosition = event.pointerPosition;\n\n // // Calculate x and y offsets relative to the surface\n // let x = dragPosition.x - sb.left; // Pointer x position\n // let y = dragPosition.y - sb.top; // Pointer y position\n\n // // Clamp values to be within bounds\n // // Adjust the clamping logic to prevent overshooting by taking the pointer size into account\n // const pointerWidth = 20; // Assuming a pointer width of 20px, adjust as necessary\n // const pointerHeight = 20; // Assuming a pointer height of 20px, adjust as necessary\n\n // x = Math.max(0 + pointerWidth / 2, Math.min(x, sb.width - pointerWidth / 2)); // Center the pointer\n // y = Math.max(0 + pointerHeight / 2, Math.min(y, sb.height - pointerHeight / 2)); // Center the pointer\n\n // // Call the method to set the color based on the new x and y\n // this.setColorByXY(x, y);\n // }\n\n /**\n * @ignore\n */\n private setColorByXY(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n //\n const { h, a } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsva = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n a,\n };\n this._parent.commitValue(AXColorUtil.toString(hsva, 'rgba'), true);\n }\n\n /**\n * @ignore\n */\n private setPointerByPercent(x: number, y: number) {\n const circleElement = this.circle().nativeElement;\n const parentStats = circleElement.parentElement.getBoundingClientRect();\n\n const circleHeight = circleElement.offsetHeight / 2;\n const circleWidth = circleElement.offsetWidth / 2;\n\n const top = parentStats.height - (y * parentStats.height) / 100 - circleHeight;\n const left = (x * parentStats.width) / 100 - circleWidth;\n\n circleElement.style.top = `${top}px`;\n circleElement.style.left = `${left}px`;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n\n protected handleMove(event: MouseEvent | TouchEvent) {\n if (!this.changingColor()) return;\n if (event instanceof MouseEvent) {\n this.setColor(event.clientX, event.clientY);\n } else if (event instanceof TouchEvent) {\n this.setColor(event.targetTouches[0].clientX, event.targetTouches[0].clientY);\n event.preventDefault();\n }\n }\n\n protected handleDown(event: MouseEvent | TouchEvent) {\n if (this._parent.disabled || this._parent.readonly) return;\n if (event instanceof MouseEvent) {\n this.setColor(event.clientX, event.clientY);\n } else if (event instanceof TouchEvent) {\n this.setColor(event.targetTouches[0].clientX, event.targetTouches[0].clientY);\n event.preventDefault();\n }\n this.changingColor.set(true);\n }\n\n protected handleUp() {\n this.changingColor.set(false);\n }\n\n private setColor(clientX: number, clientY: number) {\n const circleElement = this.circle().nativeElement;\n const parentStats = circleElement.parentElement.getBoundingClientRect();\n\n const x = Math.max(0, Math.min(parentStats.width, clientX - parentStats.left));\n const y = Math.max(0, Math.min(parentStats.height, clientY - parentStats.top));\n\n this.setColorByXY(x, y);\n }\n}\n","<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 (touchmove)=\"handleMove($event)\"\n (touchstart)=\"handleDown($event)\"\n (touchend)=\"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","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component that displays a preview of the selected color in the palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-preview',\n template: `<div class=\"palette-preview-overlay\" [class.ax-state-disabled]=\"_parent.disabled\"></div>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePreviewComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false\n})\nexport class AXColorPalettePreviewComponent extends MXBaseComponent implements AfterViewInit {\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _zone: NgZone,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n _zone.runOutsideAngular(this.applyParent.bind(this));\n });\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n const inner = this.getHostElement().firstElementChild as HTMLDivElement;\n inner.style.backgroundColor = this._parent.value;\n inner.innerText = AXColorUtil.toString(this._parent.value);\n const color = AXColorUtil.toString(this._parent.value, 'hex');\n const ratio = AXColorUtil.contrastToWhite(color);\n this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';\n }\n\n /**\n * @ignore\n */\n @HostBinding('classs')\n private get __hostClass(): string {\n return `ax-color-palette-preview`;\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, Inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent, AXDefaultColorPalette } from './color-palette.class';\n\n/**\n * Displays color swatches or favorites, allowing color selection.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-swatches, ax-color-palette-favorite',\n template: `\n @for (color of colors; track $index) {\n <div\n [style.background-color]=\"color.code\"\n [attr.title]=\"color.code\"\n [class.ax-state-selected]=\"color.code === _selected\"\n (click)=\"_handleClick($event, color)\"\n ></div>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteSwatchesComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false\n})\nexport class AXColorPaletteSwatchesComponent extends MXBaseComponent implements OnInit, AfterViewInit {\n /**\n * @ignore\n */\n protected _selected: string;\n\n /**\n * List of color objects for display, each with a `code` property.\n * @defaultValue []\n */\n @Input()\n colors: { code: string }[] = [];\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged\n .pipe(_unsubscriber.takeUntilDestroy)\n .pipe(distinctUntilChanged())\n .subscribe(() => {\n this.applyParent();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n this._selected = AXColorUtil.toString(this._parent.value, 'hex').toLowerCase();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n const isFav = this.getHostElement().tagName.toLowerCase() == 'ax-color-palette-favorite';\n if (!isFav && this.colors.length == 0) {\n this.colors = AXDefaultColorPalette.map((c) => this._format(c));\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected _handleClick(e: MouseEvent, color) {\n if (this._parent.disabled || this._parent.readonly) return;\n this._parent.commitValue(color.code, true);\n }\n\n /**\n * @ignore\n */\n private _format(color: { code: string }): { code: string } {\n return {\n code: color.code.toLowerCase(),\n };\n }\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, HostBinding, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * A color palette component that allows for color selection and interaction.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette',\n templateUrl: './color-palette.component.html',\n styleUrls: ['./color-palette.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXColorPalleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorPalleteComponent),\n multi: true,\n },\n {\n provide: AXColorPaletteParentComponent,\n useExisting: AXColorPalleteComponent,\n },\n ],\n standalone: false\n})\nexport class AXColorPalleteComponent extends MXValueComponent<string> {\n @ContentChildren(AXColorPaletteChildComponent)\n _children: QueryList<AXColorPaletteChildComponent>;\n\n /**\n * @ignore\n */\n @HostBinding('class.ax-state-disabled')\n private get __hostDisabled() {\n return this.disabled;\n }\n}\n","<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSliderModule } from '@acorex/components/slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorPaletteInputComponent } from './color-palette-input.component';\nimport { AXColorPalettePickerComponent } from './color-palette-picker.component';\nimport { AXColorPalettePreviewComponent } from './color-palette-preview.component';\nimport { AXColorPaletteSwatchesComponent } from './color-palette-swatches.component';\nimport { AXColorPalleteComponent } from './color-palette.component';\n\nconst MODULES: any[] = [\n FormsModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXRangeSliderModule,\n AXSliderModule,\n DragDropModule,\n];\nconst CONPONENTS: any[] = [\n AXColorPalleteComponent,\n AXColorPalettePreviewComponent,\n AXColorPaletteSwatchesComponent,\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n];\n\n@NgModule({\n declarations: [...CONPONENTS],\n imports: [CommonModule, ...MODULES],\n exports: [...CONPONENTS],\n providers: [],\n})\nexport class AXColorPaletteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2.AXColorPalettePreviewComponent","i3.AXColorPaletteSwatchesComponent","i4.AXColorPaletteInputComponent","i5.AXColorPalettePickerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAasB,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD;;MAWqB,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD;;AAGY,MAAA,qBAAqB,GAAG;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;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"}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { model, output, Component, inject, ElementRef, signal, afterNextRender, Injectable, PLATFORM_ID, Directive, Host, Self, Optional, Input, Inject, NgModule, ChangeDetectorRef, ViewContainerRef, EventEmitter, InjectionToken, Output, input, effect } from '@angular/core';
|
3
3
|
import { AXHtmlUtil } from '@acorex/core/utils';
|
4
|
-
import { flatten, clone,
|
4
|
+
import { flatten, clone, isEqual } from 'lodash-es';
|
5
5
|
import { DataSource } from '@angular/cdk/collections';
|
6
6
|
import { Subscription, BehaviorSubject, debounceTime, distinctUntilChanged, Subject, fromEvent, noop, skip } from 'rxjs';
|
7
7
|
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
8
8
|
import * as i1 from '@angular/platform-browser';
|
9
9
|
import { Observable } from 'rxjs/internal/Observable';
|
10
|
-
import { map, pairwise, filter
|
10
|
+
import { map, pairwise, filter, startWith, exhaustMap } from 'rxjs/operators';
|
11
11
|
import { classes } from 'polytype';
|
12
12
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
13
13
|
import { isBrowser } from '@acorex/core/platform';
|
@@ -526,7 +526,7 @@ class AXDataSource {
|
|
526
526
|
return this._totalCount;
|
527
527
|
}
|
528
528
|
get totalPages() {
|
529
|
-
return Math.
|
529
|
+
return Math.ceil(this.totalCount / this.config.pageSize);
|
530
530
|
}
|
531
531
|
get pageSize() {
|
532
532
|
return this.config.pageSize;
|
@@ -641,15 +641,27 @@ function convertArrayToDataSource(items, options = { key: 'id', pageSize: 100 })
|
|
641
641
|
const config = {
|
642
642
|
key: options.key,
|
643
643
|
pageSize: options.pageSize,
|
644
|
-
load: (e) => {
|
645
|
-
const result = e.filter ?
|
646
|
-
return
|
644
|
+
load: async (e) => {
|
645
|
+
const result = e.filter ? handleSearch(items, e.filter) : items;
|
646
|
+
return {
|
647
647
|
items: result.slice(e.skip, e.skip + e.take),
|
648
648
|
total: result.length,
|
649
|
-
}
|
649
|
+
};
|
650
650
|
},
|
651
651
|
byKey: (v) => Promise.resolve(items.find((c) => c[options.key] == v)),
|
652
652
|
};
|
653
|
+
const handleSearch = (items, filter) => {
|
654
|
+
if (!filter?.field || filter.value === undefined || filter.value === null) {
|
655
|
+
return items; // No filter applied
|
656
|
+
}
|
657
|
+
return items.filter((item) => {
|
658
|
+
const itemField = item[filter.field];
|
659
|
+
if (typeof itemField === 'string' && typeof filter.value === 'string') {
|
660
|
+
return itemField.toLowerCase().includes(filter.value.toLowerCase());
|
661
|
+
}
|
662
|
+
return false; // Return false if itemField isn't comparable
|
663
|
+
});
|
664
|
+
};
|
653
665
|
return new AXDataSource(config);
|
654
666
|
}
|
655
667
|
|
@@ -875,7 +887,7 @@ class AXInfiniteScrollerDirective {
|
|
875
887
|
scrollHeight: e.target.scrollHeight,
|
876
888
|
scrollTop: e.target.scrollTop,
|
877
889
|
clientHeight: e.target.clientHeight,
|
878
|
-
})), pairwise(), filter
|
890
|
+
})), pairwise(), filter((positions) => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
|
879
891
|
}
|
880
892
|
requestCallbackOnScroll() {
|
881
893
|
this.requestOnScroll$ = this.userScrolledDown$;
|