@acorex/components 18.8.3 → 18.8.5
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +8 -7
- package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +9 -8
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +1 -1
- package/esm2022/number-box/lib/number-box.component.mjs +50 -34
- package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +1 -1
- package/esm2022/range-slider/lib/range-slider.component.mjs +8 -20
- package/esm2022/text-area/lib/text-area.component.mjs +3 -3
- package/fesm2022/acorex-components-color-palette.mjs +5 -5
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +13 -13
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +1 -1
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +49 -33
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +6 -18
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/number-box/lib/number-box.component.d.ts +8 -1
- package/package.json +53 -53
- package/range-slider/lib/range-slider.component.d.ts +3 -8
@@ -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 { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } 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})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: any = {\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' = 'hex';\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, m, a) => {\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: boolean = 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 Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n if (this._colorMode != 'hex' || !this._hex) {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n if (this._colorMode == 'hex') {\n this._hex = value;\n }\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\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 break;\n default:\n this._colorMode = 'rgba';\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 { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } 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})\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 /**\n * @ignore\n */\n protected _gradient: number = 0;\n\n /**\n * @ignore\n */\n protected _bgColor: string = '#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 let x = e.offsetX;\n let 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 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 } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsv = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n };\n this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);\n }\n\n /**\n * @ignore\n */\n private setPointerByPercent(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n if (!surface) return;\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 const width = sb.width; //+ pb.width\n const height = sb.height; // + pb.width\n this.dragPosition = {\n x: (x * width) / 100 - w,\n y: height - (y * height) / 100 - w,\n };\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n}\n","<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></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 [values]=\"_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 [values]=\"_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})\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 color.code) {\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})\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})\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":["i2","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,EAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD,UAAU;;MAWW,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;;AAGE,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;IA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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 { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } 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})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: any = {\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' = 'hex';\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, m, a) => {\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: boolean = 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 Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n if (this._colorMode != 'hex' || !this._hex) {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n if (this._colorMode == 'hex') {\n this._hex = value;\n }\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\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 break;\n default:\n this._colorMode = 'rgba';\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 { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } 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})\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 /**\n * @ignore\n */\n protected _gradient: number = 0;\n\n /**\n * @ignore\n */\n protected _bgColor: string = '#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 let x = e.offsetX;\n let 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 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 } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsv = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n };\n this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);\n }\n\n /**\n * @ignore\n */\n private setPointerByPercent(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n if (!surface) return;\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 const width = sb.width; //+ pb.width\n const height = sb.height; // + pb.width\n this.dragPosition = {\n x: (x * width) / 100 - w,\n y: height - (y * height) / 100 - w,\n };\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n}\n","<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div\n class=\"ax-color-box-pointer\"\n cdkDrag\n cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\"\n ></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})\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 color.code) {\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})\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})\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","i4","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,EAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD,UAAU;;MAWW,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;;AAGE,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;IA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"}
|
@@ -6,25 +6,25 @@ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
6
6
|
import { classes } from 'polytype';
|
7
7
|
import * as i1$1 from '@acorex/components/button';
|
8
8
|
import { AXButtonModule } from '@acorex/components/button';
|
9
|
-
import * as
|
9
|
+
import * as i2 from '@acorex/components/decorators';
|
10
10
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
11
11
|
import * as i4 from '@acorex/components/dropdown';
|
12
12
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
13
|
-
import * as
|
13
|
+
import * as i4$1 from '@angular/common';
|
14
14
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
15
15
|
import * as i6 from '@acorex/core/translation';
|
16
16
|
import { AXTranslationModule } from '@acorex/core/translation';
|
17
17
|
import { isBrowser } from '@acorex/core/platform';
|
18
|
-
import * as i3
|
18
|
+
import * as i3 from '@angular/cdk/portal';
|
19
19
|
import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
20
|
-
import * as i4$
|
20
|
+
import * as i4$2 from '@acorex/components/avatar';
|
21
21
|
import { AXAvatarModule } from '@acorex/components/avatar';
|
22
22
|
import * as i5 from '@acorex/components/popover';
|
23
23
|
import { AXPopoverModule } from '@acorex/components/popover';
|
24
|
-
import * as
|
24
|
+
import * as i5$1 from '@acorex/core/format';
|
25
25
|
import { AXFormatModule } from '@acorex/core/format';
|
26
26
|
import { fromEvent } from 'rxjs';
|
27
|
-
import * as
|
27
|
+
import * as i3$1 from '@acorex/components/range-slider';
|
28
28
|
import { AXRangeSliderModule } from '@acorex/components/range-slider';
|
29
29
|
import { AXFileService, AXFileModule } from '@acorex/core/file';
|
30
30
|
import { HttpClient } from '@angular/common/http';
|
@@ -299,7 +299,7 @@ class AXConversationInputComponent extends classes((MXInputBaseValueComponent),
|
|
299
299
|
useExisting: forwardRef(() => AXConversationInputComponent),
|
300
300
|
multi: true,
|
301
301
|
},
|
302
|
-
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type:
|
302
|
+
], viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (replyChat()) {\n <div class=\"ax-editor-reply-container ax-editor-container ax-look-{{ look }}\">\n <div class=\"ax-reply-start\">\n <i class=\"fa-solid fa-reply\"></i>\n @switch (replyChat().type) {\n @case ('text') {\n <p>\n {{ replyChat().content }}\n </p>\n }\n @case ('image') {\n <div class=\"ax-reply-types\">\n <img src=\"{{ replyChat().content }}\" alt=\"\" />\n {{ replyChat().type }}\n </div>\n }\n @case ('video') {\n <div class=\"ax-reply-types\">\n <video src=\"{{ replyChat().content }}\" alt=\"\"></video>\n {{ replyChat().type }}\n </div>\n }\n @case ('file') {\n <div class=\"ax-reply-types\">\n <i class=\"fa-regular fa-folder-open\"></i>\n {{ replyChat().name }}\n </div>\n }\n @default {\n <p>\n {{ replyChat().type }}\n </p>\n }\n }\n </div>\n <i (click)=\"closeReplyHandler()\" class=\"fa-solid fa-xmark ax-cursor-pointer\"></i>\n </div>\n}\n\n<div class=\"ax-conversation-input ax-editor-container ax-look-{{ look }}\" [class.ax-state-recording]=\"recording()\">\n @if (recording()) {\n <div class=\"ax-conversation-input-start-side\">\n <span class=\"ax-record-dot\"></span>\n <span>{{ recordingService.timer() }}</span>\n </div>\n <div class=\"ax-conversation-input-main-side\">\n <ax-button\n class=\"ax-sm\"\n look=\"blank\"\n color=\"primary\"\n [text]=\"'cancel' | translate | async\"\n (onClick)=\"handleCancelRecordingClick()\"\n ></ax-button>\n </div>\n <div class=\"ax-conversation-input-end-side\">\n <ax-button look=\"solid\" color=\"danger\" class=\"ax-blob ax-sm\" (onClick)=\"handleSendVoiceClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n </div>\n } @else {\n <div class=\"ax-conversation-input-start-side\">\n <ax-button look=\"blank\" class=\"ax-sm\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-emoji\"></i>\n </ax-icon>\n <ax-dropdown-panel>\n <ng-container>\n <div class=\"ax-emoji-container\">\n <div>\u26A0\uFE0F</div>\n <div>\u27A1\uFE0F</div>\n <div>\uD83D\uDD03</div>\n <div>\uD83D\uDD37</div>\n <div>\uD83E\uDD1A</div>\n <div>\uD83D\uDE02</div>\n <div>\uD83D\uDE0A</div>\n </div>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n\n <textarea\n class=\"ax-conversation-input-main-side\"\n oninput='this.style.height = \"\";this.style.height = this.scrollHeight + \"px\"'\n type=\"text\"\n rows=\"1\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n >\n </textarea>\n\n <div class=\"ax-conversation-input-end-side\">\n @if (!value) {\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleAttachClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-attach\"></i>\n </ax-icon>\n </ax-button>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"handleRecordClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-mic\"></i>\n </ax-icon>\n </ax-button>\n <input multiple #inputFile [accept]=\"acceptFileType()\" type=\"file\" class=\"ax-attach-input\" (change)=\"handleChangeFile($event)\" />\n } @else {\n <ax-button look=\"solid\" color=\"primary\" class=\"ax-sm\" (onClick)=\"handleSendClick()\">\n <ax-icon>\n <i class=\"ax-icon ax-icon-send\"></i>\n </ax-icon>\n </ax-button>\n }\n </div>\n }\n</div>\n", styles: [".ax-dark .ax-conversation-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-color-primary-200));border-color:rgba(var(--ax-color-primary-200))}ax-conversation-input{width:100%}ax-conversation-input .ax-conversation-input{display:flex;align-items:flex-end;position:relative;resize:vertical;height:auto;padding:.5rem;font-size:.875rem}ax-conversation-input .ax-conversation-input.ax-state-recording{align-items:center;display:grid;grid-template-columns:repeat(3,1fr)}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-start-side{justify-content:flex-start}ax-conversation-input .ax-conversation-input.ax-state-recording .ax-conversation-input-end-side{justify-content:flex-end}ax-conversation-input .ax-conversation-input>textarea{font-size:.875rem;background-color:transparent;max-height:10rem;min-height:1.5rem;line-height:2rem;flex:1 1 auto;height:auto;resize:none}ax-conversation-input .ax-conversation-input>textarea:focus,ax-conversation-input .ax-conversation-input>textarea:focus-visible{outline:unset}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side,ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-start-side{padding-inline-end:.75rem}ax-conversation-input .ax-conversation-input .ax-conversation-input-main-side{flex:1 1 auto;display:flex;align-items:center;justify-content:center}ax-conversation-input .ax-conversation-input .ax-conversation-input-end-side{padding-inline-start:.75rem;gap:.5rem}ax-conversation-input .ax-conversation-input .ax-record-dot{display:inline-flex;width:.5rem;height:.5rem;background-color:rgba(var(--ax-color-danger-500));border-radius:999rem;margin-inline-end:.5rem}ax-conversation-input .ax-conversation-input .ax-blob{animation:pulse .75s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),.7)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(var(--ax-color-danger-500),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--ax-color-danger-500),0)}}ax-conversation-input .ax-conversation-input .ax-attach-input{opacity:0;width:0;height:0;position:absolute}ax-conversation-input .ax-emoji-container{padding:.75rem;gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr)}ax-conversation-input .ax-emoji-container>div{padding:.25rem;cursor:pointer;border-radius:var(--ax-rounded-border-default)}ax-conversation-input .ax-emoji-container>div:hover{background-color:rgba(var(--ax-color-on-surface))}ax-conversation-input .ax-editor-reply-container{display:flex;padding:.75rem;justify-content:space-between}ax-conversation-input .ax-reply-start{display:flex;align-items:center}ax-conversation-input .ax-cursor-pointer{cursor:pointer}ax-conversation-input .ax-reply-types{display:flex;align-items:center}ax-conversation-input .ax-reply-start i{margin-inline-end:1rem}ax-conversation-input .ax-reply-start img,ax-conversation-input .ax-reply-start video{margin-inline-end:.5rem;height:1.75rem;width:1.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
303
303
|
}
|
304
304
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationInputComponent, decorators: [{
|
305
305
|
type: Component,
|
@@ -422,7 +422,7 @@ class AXConversationMessageComponent extends MXBaseComponent {
|
|
422
422
|
this.conversationService.replyId.set(e);
|
423
423
|
}
|
424
424
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
425
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: { chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar [size]=\"36\"></ax-avatar>\n}\n\n@if (isOwn) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-reply-color: rgba(var(--ax-color-primary-200));--ax-message-own-reply-color-fore: rgba(var(--ax-color-primary-800));--ax-message-other-reply-color: rgba(var(--ax-color-primary-700));--ax-message-other-reply-color-fore: white;--ax-message-border-color: rgba(var(--ax-color-primary-800));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid var(--ax-message-border-color);border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video{width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:var(--ax-message-own-reply-color);color:var(--ax-message-own-reply-color-fore)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:var(--ax-message-other-reply-color);color:var(--ax-message-other-reply-color-fore)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-color-primary-fore))}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i1$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type:
|
425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageComponent, selector: "ax-conversation-message", inputs: { chatMessage: { classPropertyName: "chatMessage", publicName: "chatMessage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (chatMessage().fromId) {\n <ax-avatar [size]=\"36\"></ax-avatar>\n}\n\n@if (isOwn) {\n <i (click)=\"replyHandler(chatMessage().id)\" class=\"fa-solid fa-reply ax-cursor-pointer\"></i>\n}\n\n<div class=\"ax-message-content\" [class.ax-state-own]=\"!chatMessage().fromId\" [class.ax-state-other]=\"chatMessage().fromId\">\n <ng-template [cdkPortalOutlet]=\"_portal\" (attached)=\"_handleAttached($event)\"></ng-template>\n\n <div class=\"ax-chat-message-status\">\n <div class=\"ax-message-prefix\"></div>\n <div>\n <div class=\"ax-message-suffix\"></div>\n <span>\n {{ chatMessage().sendTime | format: 'datetime' : 'HH:mm' | async }}\n </span>\n <span>\n @if (isOwn) {\n @if (chatMessage().deliverTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-check ax-message-status\"></i>\n }\n @if (chatMessage().readTime && chatMessage().sendTime) {\n <i class=\"ax-icon ax-icon-dobble-check ax-message-status\"></i>\n }\n }\n </span>\n </div>\n </div>\n</div>\n\n@if (!chatMessage().sendTime) {\n <ax-button class=\"ax-resend-button ax-xs\" color=\"danger\" #b>\n <ax-icon class=\"ax-icon ax-icon-error\"></ax-icon>\n\n <ax-popover [target]=\"b\" placement=\"bottom-end\" #popover>\n <div class=\"ax-overlay-pane\">\n <ax-content> </ax-content>\n <ax-button-item-list>\n @if (chatMessage().onResendClick) {\n <ax-button-item text=\"Resend\" (onClick)=\"handleResendClick()\">\n <ax-icon class=\"ax-icon ax-icon-reload ax-bold\"></ax-icon>\n </ax-button-item>\n }\n @if (chatMessage().onDeleteClick) {\n <ax-button-item text=\"Delete\" color=\"danger\" (onClick)=\"handleDeleteClick()\">\n <ax-icon class=\"ax-icon ax-icon-clear ax-bold\"></ax-icon>\n </ax-button-item>\n }\n </ax-button-item-list>\n </div>\n </ax-popover>\n </ax-button>\n}\n", styles: [":root{--ax-message-other-color: rgba(var(--ax-color-primary-500));--ax-message-other-color-fore: rgba(var(--ax-color-primary-fore));--ax-message-status-color: rgba(var(--ax-color-primary-700));--ax-message-other-bar-color: rgba(var(--ax-color-primary-400));--ax-message-other-progress-color: rgba(var(--ax-color-primary-fore));--ax-message-own-color: rgba(var(--ax-color-primary-100));--ax-message-own-color-fore: rgba(var(--ax-color-primary-700));--ax-message-own-reply-color: rgba(var(--ax-color-primary-200));--ax-message-own-reply-color-fore: rgba(var(--ax-color-primary-800));--ax-message-other-reply-color: rgba(var(--ax-color-primary-700));--ax-message-other-reply-color-fore: white;--ax-message-border-color: rgba(var(--ax-color-primary-800));--ax-message-own-bar-color: rgba(var(--ax-color-primary-200));--ax-message-own-progress-color: rgba(var(--ax-color-primary-700))}ax-conversation-message{display:flex;gap:.5rem;align-items:flex-end}ax-conversation-message .ax-message-reply-container{border-left:.3rem solid var(--ax-message-border-color);border-radius:.75rem;padding:.75rem;margin-bottom:.25rem}ax-conversation-message .ax-message-reply-container .file{display:flex;align-items:center}ax-conversation-message .ax-message-reply-container .file i{margin-inline-end:.5rem}ax-conversation-message .ax-message-reply-container img,ax-conversation-message .ax-message-reply-container video{width:6rem}ax-conversation-message.ax-state-own{justify-content:flex-end}ax-conversation-message.ax-state-own .ax-conversation-controller button{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}ax-conversation-message.ax-state-own .ax-message-reply-container{background-color:var(--ax-message-own-reply-color);color:var(--ax-message-own-reply-color-fore)}ax-conversation-message.ax-state-other .ax-conversation-controller button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color)}ax-conversation-message.ax-state-other .ax-message-reply-container{background-color:var(--ax-message-other-reply-color);color:var(--ax-message-other-reply-color-fore)}ax-conversation-message .ax-conversation-controller button{width:2.5rem;height:2.5rem;border-radius:999rem;display:flex;align-items:center;justify-content:center}ax-conversation-message .ax-conversation-controller button ax-loading-spinner{display:flex}ax-conversation-message .ax-conversation-controller button.ax-state-error{background-color:rgba(var(--ax-color-danger-500));color:rgba(var(--ax-color-danger-fore))}ax-conversation-message .ax-conversation-controller button>i{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}ax-conversation-message .ax-message-content{display:block;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:1rem;width:fit-content;max-width:50%}ax-conversation-message .ax-message-content.ax-state-own{border-end-end-radius:0!important;background-color:var(--ax-message-own-color);color:var(--ax-message-own-color-fore);justify-content:flex-end}ax-conversation-message .ax-message-content.ax-state-own .ax-chat-message-status{color:var(--ax-message-own-color-fore)}ax-conversation-message .ax-message-content.ax-state-other{border-end-start-radius:0!important;background-color:var(--ax-message-other-color);color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content.ax-state-other .ax-chat-message-status{color:var(--ax-message-other-color-fore)}ax-conversation-message .ax-message-content .ax-chat-message-status{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}ax-conversation-message .ax-message-content .ax-chat-message-status>div{display:flex;gap:.125rem;align-items:center}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-message-status{color:var(--ax-message-status-color)}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon{font-weight:700;font-size:.875rem}ax-conversation-message .ax-message-content .ax-chat-message-status .ax-icon-error{color:rgba(var(--ax-color-danger-500))}ax-conversation-message .ax-message-content ax-prefix,ax-conversation-message .ax-message-content ax-suffix{display:none}ax-conversation-message .ax-resend-button{border-radius:999rem}ax-conversation-message .ax-cursor-pointer{cursor:pointer}ax-conversation-message .ax-rounded{border-radius:.75rem}ax-conversation-message .ax-message-content p{padding:.75rem;color:rgba(var(--ax-color-primary-fore))}@media (min-width: 320px) and (max-width: 600px){ax-conversation-message ax-avatar{display:none!important}ax-conversation-message .ax-message-content{max-width:100%}}\n"], dependencies: [{ kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i1$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i1$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4$2.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
426
426
|
}
|
427
427
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageComponent, decorators: [{
|
428
428
|
type: Component,
|
@@ -504,7 +504,7 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
|
|
504
504
|
*/
|
505
505
|
clickHandler(e) {
|
506
506
|
this.audioTag().nativeElement.pause();
|
507
|
-
this.audioTag().nativeElement.currentTime = e
|
507
|
+
this.audioTag().nativeElement.currentTime = e;
|
508
508
|
this.audioTag().nativeElement.play();
|
509
509
|
}
|
510
510
|
/**
|
@@ -572,11 +572,11 @@ class AXConversationMessageAudioComponent extends AXConversationMessageBaseCompo
|
|
572
572
|
});
|
573
573
|
}
|
574
574
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
575
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageAudioComponent, selector: "ax-conversation-message-audio", viewQueries: [{ propertyName: "audioTag", first: true, predicate: ["a"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (
|
575
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationMessageAudioComponent, selector: "ax-conversation-message-audio", viewQueries: [{ propertyName: "audioTag", first: true, predicate: ["a"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"secondary\"\n>\n</ax-range-slider>\n", styles: [".ax-time-rate button{margin-inline-start:.3rem;background-color:rgba(var(--ax-color-primary-fore));color:rgba(var(--ax-color-neutral-950));border-radius:.2rem;min-width:2rem}.ax-modify-bgSlider{width:14rem;margin:0 1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3$1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
576
576
|
}
|
577
577
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationMessageAudioComponent, decorators: [{
|
578
578
|
type: Component,
|
579
|
-
args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (
|
579
|
+
args: [{ selector: 'ax-conversation-message-audio', encapsulation: ViewEncapsulation.None, template: "<audio #a></audio>\n<ax-prefix>\n <div class=\"ax-time-rate\">\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTimeFormat() | format: 'time-duration' | async }}\n }\n @default {\n {{ durationFormat() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\">{{ audioRate() }}X</button>\n </div>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n }\n</div>\n<ax-range-slider\n class=\"ax-modify-bgSlider\"\n (ngModelChange)=\"clickHandler($event)\"\n [max]=\"duration()\"\n [min]=\"0\"\n mode=\"single\"\n [ngModel]=\"currentTime()\"\n color=\"secondary\"\n>\n</ax-range-slider>\n", styles: [".ax-time-rate button{margin-inline-start:.3rem;background-color:rgba(var(--ax-color-primary-fore));color:rgba(var(--ax-color-neutral-950));border-radius:.2rem;min-width:2rem}.ax-modify-bgSlider{width:14rem;margin:0 1rem}\n"] }]
|
580
580
|
}], ctorParameters: () => [] });
|
581
581
|
|
582
582
|
/**
|
@@ -688,7 +688,7 @@ class AXConversationFileMessageComponent extends AXConversationMessageBaseCompon
|
|
688
688
|
this.parent.onAction.emit({ component: this, data: this.message, isUserInteraction: true });
|
689
689
|
}
|
690
690
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationFileMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
691
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationFileMessageComponent, selector: "ax-conversation-message-file", usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type:
|
691
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationFileMessageComponent, selector: "ax-conversation-message-file", usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n {{ fileSize() | format: 'filesize' | async }}\n</ax-prefix>\n<div class=\"ax-file-container\">\n <div class=\"ax-conversation-controller\">\n @switch (fileState()) {\n @case ('ready') {\n <button (click)=\"handleDownloadFile()\">\n <i class=\"ax-icon ax-icon-download\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n </div>\n\n <div class=\"ax-file-name\">{{ fileName() }}</div>\n</div>\n", styles: ["ax-conversation-message-file .ax-file-container{display:flex;align-items:center;justify-content:center;gap:.5rem}ax-conversation-message-file .ax-file-container .ax-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2$1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["color", "size", "stroke"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
692
692
|
}
|
693
693
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationFileMessageComponent, decorators: [{
|
694
694
|
type: Component,
|
@@ -1099,7 +1099,7 @@ class AXConversationVoiceMessageComponent extends AXConversationMessageBaseCompo
|
|
1099
1099
|
return `${this.message.fromId ? 'ax-state-other' : 'ax-state-own'}`;
|
1100
1100
|
}
|
1101
1101
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationVoiceMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
1102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationVoiceMessageComponent, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">{{ selectedRate() }}X</div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}.ax-audio-rate-button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ax-audio-rate-button.ax-state-own{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type:
|
1102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXConversationVoiceMessageComponent, selector: "ax-conversation-message-audio", inputs: { message: "message" }, host: { properties: { "class": "this.__hostClass" } }, viewQueries: [{ propertyName: "audio", first: true, predicate: ["a"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-prefix>\n @switch (audioState()) {\n @case ('paused') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @case ('playing') {\n {{ currentTime() | format: 'time-duration' | async }}\n }\n @default {\n {{ duration() | format: 'time-duration' | async }}\n }\n }\n <button class=\"ax-audio-speed\" (click)=\"handleRateClick()\"></button>\n</ax-prefix>\n<div class=\"ax-conversation-controller\">\n @switch (audioState()) {\n @case ('playing') {\n <button (click)=\"handlePauseClick()\">\n <i class=\"ax-icon ax-icon-pause\"></i>\n </button>\n }\n\n @case ('ready') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('paused') {\n <button (click)=\"handlePlayClick()\">\n <i class=\"ax-icon ax-icon-play\"></i>\n </button>\n }\n\n @case ('error') {\n <button class=\"ax-state-error\" (click)=\"handleReloadClick()\">\n <i class=\"ax-icon ax-icon-reload\"></i>\n </button>\n }\n\n @default {\n <button (click)=\"handleCancelLoading()\">\n <ax-loading-spinner\n [size]=\"24\"\n [stroke]=\"2\"\n [color]=\"message.fromId ? 'var(--ax-other-color)' : 'var(--ax-own-color)'\"\n ></ax-loading-spinner>\n </button>\n }\n }\n</div>\n<ax-audio-wave #a [config]=\"config\" (onStatusChanged)=\"handleOnStatusChanged($event)\"></ax-audio-wave>\n<ax-suffix>\n <div class=\"ax-audio-rate-button\" [class.ax-state-own]=\"!message?.fromId\" (click)=\"handleRateClick()\">{{ selectedRate() }}X</div>\n</ax-suffix>\n", styles: ["ax-conversation-message-audio{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:18rem;max-width:100%}ax-conversation-message-audio .ax-audio-wave{flex:1}.ax-audio-rate-button{background-color:var(--ax-message-other-color-fore);color:var(--ax-message-other-color);border-radius:.5rem;padding:0 .5rem;font-weight:700;margin-inline-end:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ax-audio-rate-button.ax-state-own{background-color:var(--ax-message-own-color-fore);color:var(--ax-message-own-color)}html[dir=rtl] ax-conversation-message-audio{flex-direction:row-reverse}\n"], dependencies: [{ kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2$2.AXAudioWaveComponent, selector: "ax-audio-wave", inputs: ["config"], outputs: ["onStatusChanged"] }, { kind: "component", type: i2$1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["color", "size", "stroke"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
|
1103
1103
|
}
|
1104
1104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXConversationVoiceMessageComponent, decorators: [{
|
1105
1105
|
type: Component,
|