@ngstarter-ui/components 21.0.17 → 21.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/component-registry.json +49 -12
- package/fesm2022/ngstarter-ui-components-chips.mjs +72 -38
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-color-picker.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-color-picker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-CpZ5gJOc.mjs.map → ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-ghm0_0AF.mjs.map → ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-C1FH89Sj.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-ahCIfpvQ.mjs.map → ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-guhW_EyK.mjs.map → ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs} +13 -13
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-DNLTNGYa.mjs.map → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-DjgGUc7s.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-B3pek1H6.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-bgBNjf4d.mjs.map → ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs} +3 -3
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-DPlYe-_8.mjs.map → ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-field.mjs +9 -9
- package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-C3Zf-MoV.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs} +3 -3
- package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map +1 -0
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-Bzc0TPO9.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-UaMfHCtj.mjs.map → ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-eLcwI-BY.mjs → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-eLcwI-BY.mjs.map → ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-4zH7FTQ1.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-BpH65Hd-.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-option.mjs +3 -2
- package/fesm2022/ngstarter-ui-components-option.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-panel.mjs +8 -4
- package/fesm2022/ngstarter-ui-components-panel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-pin-input.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-pin-input.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-select.mjs +118 -11
- package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-text-editor.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-text-editor.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timepicker.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-timepicker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngstarter-ui-components-chips.d.ts +15 -6
- package/types/ngstarter-ui-components-form-field.d.ts +3 -2
- package/types/ngstarter-ui-components-option.d.ts +3 -1
- package/types/ngstarter-ui-components-panel.d.ts +3 -1
- package/types/ngstarter-ui-components-select.d.ts +43 -4
- package/fesm2022/ngstarter-ui-components-form-renderer-autocomplete-many-field-C3Zf-MoV.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/src/chip-control.ts","../../../projects/components/chips/src/chip-shape.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n signal,\n output,\n computed\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ]\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span class=\"shape\">\n <ng-content select=\"ngs-chip-shape, [ngsChipShape]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ]\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n standalone: true,\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ]\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private _internalSelected = false;\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected;\n }\n _setSelected(value: boolean) {\n this._internalSelected = value;\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n}>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n private _value: any;\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._updateChips();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._updateChips();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._updateChips();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n Promise.resolve().then(() => {\n this._updateChips();\n });\n\n this._chips().forEach(chip => {\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n });\n });\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n exportAs: 'ngsChipAvatar',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n standalone: true,\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<any>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n if (this.chipInputSeparatorKeyCodes() && (this.chipInputSeparatorKeyCodes() as any).includes(event.keyCode)) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsChipControl]',\n host: {\n 'class': 'ngs-chip-control',\n }\n})\nexport class ChipControl {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-shape, [ngsChipShape]',\n exportAs: 'ngsChipShape',\n host: {\n 'class': 'ngs-chip-shape',\n },\n})\nexport class ChipShape {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA+Ba,IAAI,CAAA;AACN,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,QAAQ,GAAG,KAAK;AAE1B,IAAA,UAAU,GAAG,KAAK,CAAS,QAAQ,iFAAC;IACpC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD,IAAA,KAAK,GAAG,KAAK,CAAM,SAAS,4EAAC;IAEpB,SAAS,GAAG,MAAM,EAAmB;IACrC,OAAO,GAAG,MAAM,EAAmB;IAE5C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAA;IACnC;IAEA,WAAW,GAAA;IACX;uGAzBW,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAJ,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BjB,6lBAoBA,EAAA,MAAA,EAAA,CAAA,sgGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDQI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGT,IAAI,EAAA,UAAA,EAAA,CAAA;kBAjBhB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,IAAA,EAGd;AACJ,wBAAA,OAAO,EAAE,UAAU;AACnB,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,mBAAmB,EAAE,cAAc;AACnC,wBAAA,sBAAsB,EAAE,YAAY;qBACrC,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;AACD,qBAAA,EAAA,QAAA,EAAA,6lBAAA,EAAA,MAAA,EAAA,CAAA,sgGAAA,CAAA,EAAA;;;AE0BG,MAAO,OAAQ,SAAQ,IAAI,CAAA;AACvB,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAErC,IAAA,UAAU,GAAG,SAAS,CAA8B,WAAW,iFAAC;AAEjF,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,oFAAC;IAE7B,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,MAAM,GAAG,MAAM,EAAmB;AAE3C;;AAEG;AACM,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;oBACnB,KAAK,CAAC,cAAc,EAAE;gBACxB;AAAO,qBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACjC,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;oBACtC,KAAK,CAAC,cAAc,EAAE;gBACxB;YACF;QACF;IACF;IAES,WAAW,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;AAEA,IAAA,YAAY,CAAC,KAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBAC7D,IAAI,CAAC,aAAa,EAAE;YACtB;YACA,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACzD,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE;AAClE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;uGA5DW,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAPP;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,OAAO;AACtC;SACF,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EDrDH,6lBAoBA,8jGC0BI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAST,OAAO,EAAA,UAAA,EAAA,CAAA;kBA7BnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,uBAAuB;AAChC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,0BAA0B,EAAE,UAAU;AACtC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,SAAS,EAAE,sBAAsB;qBAClC,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,aAAa;AACtC;AACF,qBAAA,EAAA,QAAA,EAAA,6lBAAA,EAAA,MAAA,EAAA,CAAA,sgGAAA,CAAA,EAAA;wEAKoE,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACvClF,IAAI,MAAM,GAAG,CAAC;MAqBD,QAAQ,CAAA;AACV,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7D,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAEzC,IAAA,GAAG,GAAG,KAAK,CAAS,CAAA,cAAA,EAAiB,MAAM,EAAE,CAAA,CAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,IAAI,EAAA,CAAG;IACjE,IAAI,EAAE,KAAa,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,YAAY,GAAG,KAAK,CAAqB,SAAS,oFAAI,KAAK,EAAE,aAAa,EAAA,CAAG;IAC7E,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACpE,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG;IAC5E,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3C,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,gFAAC;AACjC,IAAA,cAAc,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,CAAA,EAC1B,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,UAAU,EAAA,CACjB;AACF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,iFAAC;IACtE,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3C,MAAM,GAAG,eAAe,CAAC,OAAO,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAChD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,WAAW,GAAG,MAAM,EAAO;AAE5B,IAAA,MAAM,GAAG,MAAM,CAAQ,EAAE,6EAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAO,SAAS,mFAAC;AACvC,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;IAChC,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,kFAAC;IACnC,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/C,IAAA,YAAY,GAAG,MAAM,CAAC,CAAC,mFAAC;IAChC,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAEhD,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AAC7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QAC3B,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YACzB,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE;AACxB,IAAA,CAAC,6EAAC;IACF,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAErC,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACxC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;AACpC,IAAA,CAAC,wFAAC;IACF,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAE3D,IAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AAC/B,IAAA,aAAa,GAAG,MAAM,CAAC,IAAI,oFAAC;AAC5B,IAAA,UAAU;AAElB,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;AAEA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IAEA,IAAI,KAAK,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAC3C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AAClC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;IAC7C;AAEA,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC;IACF;AAEA,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAC3B;AAEA,IAAA,cAAc,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QACzB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QACxC;IACF;uGA/HW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EARR;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACxC,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAqBiC,OAAO,gEC1D3C,kBACA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDuCa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAnBpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACrC,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;AACxC,yBAAA;qBACF,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;AAoBb,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,OAAO,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AElB5D,MAAO,UAAW,SAAQ,IAAI,CAAA;IAClC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChD,iBAAiB,GAAG,KAAK;AAEjC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,iBAAiB;IAC/B;AACA,IAAA,YAAY,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;IAES,eAAe,GAAG,MAAM,EAG/B;IAEF,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACxE;IACF;uGA5BW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAPV;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,UAAU;AACzC;SACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EJtCH,6lBAoBA,8jGIWI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAST,UAAU,EAAA,UAAA,EAAA,CAAA;kBA3BtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,IAAA,EAGrB;AACJ,wBAAA,OAAO,EAAE,0BAA0B;AACnC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,SAAS,EAAE,kBAAkB;qBAC9B,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,gBAAgB;AACzC;AACF,qBAAA,EAAA,QAAA,EAAA,6lBAAA,EAAA,MAAA,EAAA,CAAA,sgGAAA,CAAA,EAAA;;;MCHU,WAAW,CAAA;IACtB,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,MAAM,GAAG,eAAe,CAAC,UAAU,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AACnD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAE5C,IAAA,MAAM;AACd,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;IACpC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC1B,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC7B,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;AAEnE,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3F;iBAAO;gBACL,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,IAAI,SAAS;YACrH;QACF;AAEA,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;YAC1B,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,IAAG;AAC3B,YAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAK;AAClC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC/B,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kBAAkB,CAAC,IAAgB,EAAA;AACzC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAClB;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB;YACF;iBAAO;AACL,gBAAA,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9B;YACF;YACA,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC;aAAO;YACL,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,IAAG;AACxB,gBAAA,IAAI,CAAC,KAAK,IAAI,EAAE;AACd,oBAAA,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;gBACvB;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI;QAC9C;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE;IAClB;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YACxC;QACF;AAEA,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,IAAG;AACpB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9E;iBAAO;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;YAC1C;AACF,QAAA,CAAC,CAAC;IACJ;uGA5GW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,SAAA,EAVX;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC1C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAQiC,UAAU,gECvC9C,kBACA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDkCa,WAAW,EAAA,UAAA,EAAA,CAAA;kBArBvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,IAAA,EAGtB;AACJ,wBAAA,OAAO,EAAE,+BAA+B;AACxC,wBAAA,MAAM,EAAE,SAAS;AACjB,wBAAA,6BAA6B,EAAE,YAAY;AAC3C,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA;AAMH,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,UAAU,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEtBxD,OAAO,CAAA;uGAAP,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,0JCjBpB,kBACA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDgBa,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,MAAM,EAAE,cAAc;AACvB,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;;;MENpC,UAAU,CAAA;uGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC3B,qBAAA;AACF,iBAAA;;;MCGY,QAAQ,CAAA;AACT,IAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;AAEvC,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAC/D,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YAChC,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCCY,UAAU,CAAA;AACX,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;AAEpC,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACzB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCmBY,SAAS,CAAA;AACZ,IAAA,WAAW,GAAG,MAAM,CAA+B,UAAU,CAAC;IAEtE,IAAI,QAAQ,CAAC,KAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;IACvE;AACA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;AACQ,IAAA,SAAS;IAEjB,aAAa,GAAG,KAAK,CAAuB,SAAS,qFAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;IAEpF,0BAA0B,GAAG,KAAK,CAA0C,SAAS,kGAAI,KAAK,EAAE,+BAA+B,EAAA,CAAG;AAElI,IAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,GAAG;IAEzF,iBAAiB,GAAG,MAAM,EAAO;AAEvB,IAAA,MAAM,GAAG,MAAM,CAAC,EAAE,6EAAC;AACnB,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;AAE3C,IAAA,WAAA,GAAA,EAAgB;IAEhB,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAG;QACvC;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEA,QAAQ,GAAA;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC;IACvC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B;QACF;AACA,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAK,IAAI,CAAC,0BAA0B,EAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAC3G,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;YACF,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC;IACxC;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACvC;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;IACrC;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IACxC;uGAhFW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAXrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AACzB,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,oBAAoB;AACjC,wBAAA,QAAQ,EAAE,WAAW;AACrB,wBAAA,SAAS,EAAE,YAAY;AACxB;AACF,iBAAA;;;MCpBY,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC5B;AACF,iBAAA;;;MCEY,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AAC1B,qBAAA;AACF,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/src/chip-control.ts","../../../projects/components/chips/src/chip-shape.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n signal,\n output,\n computed\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n exportAs: 'ngsChip',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span class=\"shape\">\n <ng-content select=\"ngs-chip-shape, [ngsChipShape]\"/>\n </span>\n <span\n #editInput\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ]\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n standalone: true,\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n get multiline(): boolean { return this._chipsLength() > 0; }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect,\n signal\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n exportAs: 'ngsChipOption',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private readonly _internalSelected = signal(false);\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected();\n }\n _setSelected(value: boolean) {\n this._internalSelected.set(value);\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n }>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren,\n computed,\n signal,\n OnDestroy\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'isDisabled()',\n },\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit, OnDestroy {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n private readonly _disabledByControl = signal(false);\n readonly isDisabled = computed(() => this.disabled() || this._disabledByControl());\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n private _chipSelectionSubscriptions: Array<{ unsubscribe(): void }> = [];\n private _syncTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private _value: any;\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._syncChipsAsync();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._syncChipsAsync();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByControl.set(isDisabled);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._syncChipsAsync();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n this._syncChipsAsync();\n }\n\n ngOnDestroy(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n this._syncTimeout = null;\n }\n\n this._clearChipSelectionSubscriptions();\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n if (this.isDisabled()) {\n this._updateChips();\n return;\n }\n\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _watchChips(): void {\n this._clearChipSelectionSubscriptions();\n\n this._chipSelectionSubscriptions = this._chips().map(chip =>\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n })\n );\n }\n\n private _clearChipSelectionSubscriptions(): void {\n this._chipSelectionSubscriptions.forEach(subscription => subscription.unsubscribe());\n this._chipSelectionSubscriptions = [];\n }\n\n private _syncChipsAsync(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n }\n\n this._syncTimeout = setTimeout(() => {\n this._syncTimeout = null;\n this._watchChips();\n this._updateChips();\n });\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n exportAs: 'ngsChipAvatar',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n standalone: true,\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<ChipInputEvent>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n const separatorKeyCodes = this.chipInputSeparatorKeyCodes();\n const isSeparatorKey = Array.isArray(separatorKeyCodes)\n ? separatorKeyCodes.includes(event.keyCode)\n : !!separatorKeyCodes && 'has' in separatorKeyCodes && separatorKeyCodes.has(event.keyCode);\n\n if (isSeparatorKey) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsChipControl]',\n host: {\n 'class': 'ngs-chip-control',\n }\n})\nexport class ChipControl {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-shape, [ngsChipShape]',\n exportAs: 'ngsChipShape',\n host: {\n 'class': 'ngs-chip-shape',\n },\n})\nexport class ChipShape {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA8Ba,IAAI,CAAA;AACN,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,QAAQ,GAAG,KAAK;AAE1B,IAAA,UAAU,GAAG,KAAK,CAAS,QAAQ,iFAAC;IACpC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD,IAAA,KAAK,GAAG,KAAK,CAAM,SAAS,4EAAC;IAEpB,SAAS,GAAG,MAAM,EAAmB;IACrC,OAAO,GAAG,MAAM,EAAmB;IAE5C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAA;IACnC;IAEA,WAAW,GAAA;IACX;uGAzBW,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAJ,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BjB,6mBAqBA,EAAA,MAAA,EAAA,CAAA,gsHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAYT,IAAI,EAAA,UAAA,EAAA,CAAA;kBAhBhB,SAAS;+BACE,UAAU,EAAA,QAAA,EACV,SAAS,EAAA,OAAA,EACV;wBACP;qBACD,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,OAAO,EAAE,UAAU;AACnB,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,mBAAmB,EAAE,cAAc;AACnC,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,QAAA,EAAA,6mBAAA,EAAA,MAAA,EAAA,CAAA,gsHAAA,CAAA,EAAA;;;AEyBG,MAAO,OAAQ,SAAQ,IAAI,CAAA;AACvB,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAErC,IAAA,UAAU,GAAG,SAAS,CAA8B,WAAW,iFAAC;AAEjF,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,oFAAC;IAE7B,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,MAAM,GAAG,MAAM,EAAmB;AAE3C;;AAEG;AACM,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;oBACnB,KAAK,CAAC,cAAc,EAAE;gBACxB;AAAO,qBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACjC,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;oBACtC,KAAK,CAAC,cAAc,EAAE;gBACxB;YACF;QACF;IACF;IAES,WAAW,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;AAEA,IAAA,YAAY,CAAC,KAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBAC7D,IAAI,CAAC,aAAa,EAAE;YACtB;YACA,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACzD,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE;AAClE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;uGA5DW,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAPP;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,OAAO;AACtC;SACF,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EDnDH,6mBAqBA,wvHCuBI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAST,OAAO,EAAA,UAAA,EAAA,CAAA;kBA5BnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,uBAAuB;AAChC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,0BAA0B,EAAE,UAAU;AACtC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,aAAa;AACtC;AACF,qBAAA,EAAA,QAAA,EAAA,6mBAAA,EAAA,MAAA,EAAA,CAAA,gsHAAA,CAAA,EAAA;wEAKoE,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACrClF,IAAI,MAAM,GAAG,CAAC;MAqBD,QAAQ,CAAA;AACV,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7D,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAEzC,IAAA,GAAG,GAAG,KAAK,CAAS,CAAA,cAAA,EAAiB,MAAM,EAAE,CAAA,CAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,IAAI,EAAA,CAAG;IACjE,IAAI,EAAE,KAAa,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,YAAY,GAAG,KAAK,CAAqB,SAAS,oFAAI,KAAK,EAAE,aAAa,EAAA,CAAG;IAC7E,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACpE,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG;IAC5E,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3C,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,gFAAC;AACjC,IAAA,cAAc,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,CAAA,EAC1B,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,UAAU,EAAA,CACjB;AACF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,iFAAC;IACtE,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3C,MAAM,GAAG,eAAe,CAAC,OAAO,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAChD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,WAAW,GAAG,MAAM,EAAO;AAE5B,IAAA,MAAM,GAAG,MAAM,CAAQ,EAAE,6EAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAO,SAAS,mFAAC;AACvC,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;IAChC,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,IAAI,SAAS,GAAA,EAAc,OAAO,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;AACnD,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,kFAAC;IACnC,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/C,IAAA,YAAY,GAAG,MAAM,CAAC,CAAC,mFAAC;IAChC,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAEhD,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AAC7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QAC3B,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YACzB,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE;AACxB,IAAA,CAAC,6EAAC;IACF,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAErC,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACxC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;AACpC,IAAA,CAAC,wFAAC;IACF,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAE3D,IAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AAC/B,IAAA,aAAa,GAAG,MAAM,CAAC,IAAI,oFAAC;AAC5B,IAAA,UAAU;AAElB,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;AAEA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IAEA,IAAI,KAAK,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAC3C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AAClC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;IAC7C;AAEA,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC;IACF;AAEA,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAC3B;AAEA,IAAA,cAAc,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QACzB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QACxC;IACF;uGAhIW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EARR;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACxC,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAqBiC,OAAO,gEC1D3C,kBACA,EAAA,MAAA,EAAA,CAAA,siBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDuCa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAnBpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACrC,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;AACxC,yBAAA;qBACF,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,siBAAA,CAAA,EAAA;AAoBb,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,OAAO,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEnB5D,MAAO,UAAW,SAAQ,IAAI,CAAA;IAClC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACvC,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,wFAAC;AAElD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;IACjC;AACA,IAAA,YAAY,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC;IAES,eAAe,GAAG,MAAM,EAG7B;IAEJ,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACxE;IACF;uGA5BW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAlBV;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,UAAU;AACzC;SACF,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EJ1BH,6mBAqBA,wvHIJI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAsBT,UAAU,EAAA,UAAA,EAAA,CAAA;kBA1BtB,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,eAAe,EAAA,OAAA,EAChB;wBACP;qBACD,EAAA,SAAA,EAGU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,gBAAgB;AACzC;qBACF,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,OAAO,EAAE,0BAA0B;AACnC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA,EAAA,QAAA,EAAA,6mBAAA,EAAA,MAAA,EAAA,CAAA,gsHAAA,CAAA,EAAA;;;MCCU,WAAW,CAAA;IACtB,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACvC,IAAA,kBAAkB,GAAG,MAAM,CAAC,KAAK,yFAAC;AAC1C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,iFAAC;IAEzE,MAAM,GAAG,eAAe,CAAC,UAAU,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AACnD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5C,2BAA2B,GAAmC,EAAE;IAChE,YAAY,GAAyC,IAAI;AAEzD,IAAA,MAAM;AACd,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,eAAe,EAAE;IACxB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,eAAe,EAAE;IACxB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC1B,IAAI,CAAC,eAAe,EAAE;AACxB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC7B,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;AAEnE,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3F;iBAAO;gBACL,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,IAAI,SAAS;YACrH;QACF;QAEA,IAAI,CAAC,eAAe,EAAE;IACxB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AAC9B,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;QAEA,IAAI,CAAC,gCAAgC,EAAE;IACzC;AAEQ,IAAA,kBAAkB,CAAC,IAAgB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE;YACnB;QACF;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAClB;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB;YACF;iBAAO;AACL,gBAAA,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9B;YACF;YACA,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC;aAAO;YACL,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,IAAG;AACxB,gBAAA,IAAI,CAAC,KAAK,IAAI,EAAE;AACd,oBAAA,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;gBACvB;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI;QAC9C;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE;IAClB;IAEQ,WAAW,GAAA;QACjB,IAAI,CAAC,gCAAgC,EAAE;QAEvC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,IACvD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAK;AAClC,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CACH;IACH;IAEQ,gCAAgC,GAAA;AACtC,QAAA,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;AACpF,QAAA,IAAI,CAAC,2BAA2B,GAAG,EAAE;IACvC;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AAC9B,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACjC;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAK;AAClC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;IACJ;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YACxC;QACF;AAEA,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,IAAG;AACpB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9E;iBAAO;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;YAC1C;AACF,QAAA,CAAC,CAAC;IACJ;uGAlJW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,SAAA,EAVX;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC1C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAUiC,UAAU,gEC5C9C,kBACA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDqCa,WAAW,EAAA,UAAA,EAAA,CAAA;kBArBvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,IAAA,EAGtB;AACJ,wBAAA,OAAO,EAAE,+BAA+B;AACxC,wBAAA,MAAM,EAAE,SAAS;AACjB,wBAAA,6BAA6B,EAAE,YAAY;AAC3C,wBAAA,sBAAsB,EAAE,cAAc;AACvC,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA;AAQH,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,UAAU,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME3BxD,OAAO,CAAA;uGAAP,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,0JCjBpB,kBACA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDgBa,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,MAAM,EAAE,cAAc;AACvB,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;;;MENpC,UAAU,CAAA;uGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC3B,qBAAA;AACF,iBAAA;;;MCGY,QAAQ,CAAA;AACT,IAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;AAEvC,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAC/D,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YAChC,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCCY,UAAU,CAAA;AACX,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;AAEpC,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACzB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCmBY,SAAS,CAAA;AACZ,IAAA,WAAW,GAAG,MAAM,CAA+B,UAAU,CAAC;IAEtE,IAAI,QAAQ,CAAC,KAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;IACvE;AACA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;AACQ,IAAA,SAAS;IAEjB,aAAa,GAAG,KAAK,CAAuB,SAAS,qFAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;IAEpF,0BAA0B,GAAG,KAAK,CAA0C,SAAS,kGAAI,KAAK,EAAE,+BAA+B,EAAA,CAAG;AAElI,IAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,GAAG;IAEzF,iBAAiB,GAAG,MAAM,EAAkB;AAElC,IAAA,MAAM,GAAG,MAAM,CAAC,EAAE,6EAAC;AACnB,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;AAE3C,IAAA,WAAA,GAAA,EAAgB;IAEhB,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAG;QACvC;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEA,QAAQ,GAAA;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC;IACvC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B;QACF;AACA,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,EAAE;AAC3D,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB;cAClD,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;AAC1C,cAAE,CAAC,CAAC,iBAAiB,IAAI,KAAK,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAE7F,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;YACF,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC;IACxC;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACvC;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;IACrC;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IACxC;uGArFW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAXrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AACzB,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,oBAAoB;AACjC,wBAAA,QAAQ,EAAE,WAAW;AACrB,wBAAA,SAAS,EAAE,YAAY;AACxB;AACF,iBAAA;;;MCpBY,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC5B;AACF,iBAAA;;;MCEY,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AAC1B,qBAAA;AACF,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -440,7 +440,7 @@ class ColorPicker {
|
|
|
440
440
|
useExisting: forwardRef(() => ColorPicker),
|
|
441
441
|
multi: true
|
|
442
442
|
}
|
|
443
|
-
], exportAs: ["ngsColorPicker"], usesOnChanges: true, ngImport: i0, template: "<ngs-saturation [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (colorChange)=\"onSaturationColorChange($event)\"/>\n<ngs-hue [tinyColor]=\"_color()\"\n (colorChange)=\"onHueColorChange($event)\"/>\n@if (showOpacity()) {\n <ngs-alpha [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (alphaChange)=\"onAlphaChange($event)\"/>\n}\n<ngs-form-field subscriptHiddenIfEmpty>\n <ngs-label>HEX</ngs-label>\n <input #hexInput\n type=\"text\"\n ngsInput\n maxlength=\"7\"\n [(ngModel)]=\"hexColor\"\n (ngModelChange)=\"onHexColorChange($event)\"\n (blur)=\"onHexColorBlur()\">\n <button ngsIconButton\n ngsIconButtonSuffix\n (mousedown)=\"copyToClipboard($event, hexInput)\">\n <ngs-icon name=\"fluent:copy-24-regular\"/>\n </button>\n</ngs-form-field>\n", styles: [":host{--ngs-color-picker-bg: var(--ngs-dropdown-bg);--ngs-color-picker-border-radius: var(--ngs-dropdown-radius);--ngs-color-picker-margin-offset: calc(var(--spacing, .25rem) * 2);--ngs-color-picker-border: var(--ngs-dropdown-border);--ngs-color-picker-padding: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-gap: calc(var(--spacing, .25rem) * 2.5);--ngs-color-picker-as-dropdown-shadow: var(--ngs-dropdown-shadow);--ngs-color-picker-saturation-width: 260px;--ngs-color-picker-saturation-height: 110px;--ngs-color-picker-saturation-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-saturation-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-saturation-pointer-border: 2px solid white;--ngs-color-picker-hue-width: var(--ngs-color-picker-saturation-width);--ngs-color-picker-hue-height: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-hue-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-hue-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-hue-pointer-border: 2px solid white;--ngs-color-picker-alpha-width: var(--ngs-color-picker-saturation-width);--ngs-color-picker-alpha-height: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-alpha-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-alpha-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-alpha-pointer-border: 2px solid white;display:inline-grid;-webkit-user-select:none;user-select:none;position:relative;flex:none;gap:var(--ngs-color-picker-gap);background:var(--ngs-color-picker-bg);border-radius:var(--ngs-color-picker-border-radius);border:var(--ngs-color-picker-border);padding:var(--ngs-color-picker-padding)}:host.is-disabled{pointer-events:none}:host.as-dropdown{box-shadow:var(--ngs-color-picker-as-dropdown-shadow)}@keyframes ngs-color-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(.ngs-color-picker-overlay-panel){animation:.15s ngs-color-picker-animation}:host-context(.ngs-color-picker-above){margin-bottom:var(--ngs-color-picker-margin-offset);transform-origin:bottom}:host-context(.ngs-color-picker-below){margin-top:var(--ngs-color-picker-margin-offset);transform-origin:top}:host-context(.ngs-color-picker-before){margin-inline-end:var(--ngs-color-picker-margin-offset);transform-origin:right}:host-context(.ngs-color-picker-after){margin-inline-start:var(--ngs-color-picker-margin-offset);transform-origin:left}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Alpha, selector: "ngs-alpha", inputs: ["tinyColor", "colorFromHue"], outputs: ["alphaChange"], exportAs: ["ngsAlpha"] }, { kind: "component", type: Saturation, selector: "ngs-saturation", inputs: ["tinyColor", "colorFromHue"], outputs: ["tinyColorChange", "colorChange"], exportAs: ["ngsSaturation"] }, { kind: "component", type: Hue, selector: "ngs-hue", inputs: ["tinyColor"], outputs: ["colorChange"], exportAs: ["ngsHue"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: FormField, selector: "ngs-form-field", inputs: ["subscriptHiddenIfEmpty"], exportAs: ["ngsFormField"] }, { kind: "component", type: Label, selector: "ngs-label" }, { kind: "directive", type: Input, selector: "input[ngsInput], textarea[ngsInput]", inputs: ["id", "placeholder", "required", "disabled", "readonly", "errorStateMatcher"], exportAs: ["ngsInput"] }, { kind: "directive", type: IconButtonSuffix, selector: "[ngsIconButtonSuffix]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
443
|
+
], exportAs: ["ngsColorPicker"], usesOnChanges: true, ngImport: i0, template: "<ngs-saturation [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (colorChange)=\"onSaturationColorChange($event)\"/>\n<ngs-hue [tinyColor]=\"_color()\"\n (colorChange)=\"onHueColorChange($event)\"/>\n@if (showOpacity()) {\n <ngs-alpha [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (alphaChange)=\"onAlphaChange($event)\"/>\n}\n<ngs-form-field subscriptHiddenIfEmpty>\n <ngs-label>HEX</ngs-label>\n <input #hexInput\n type=\"text\"\n ngsInput\n maxlength=\"7\"\n [(ngModel)]=\"hexColor\"\n (ngModelChange)=\"onHexColorChange($event)\"\n (blur)=\"onHexColorBlur()\">\n <button ngsIconButton\n ngsIconButtonSuffix\n (mousedown)=\"copyToClipboard($event, hexInput)\">\n <ngs-icon name=\"fluent:copy-24-regular\"/>\n </button>\n</ngs-form-field>\n", styles: [":host{--ngs-color-picker-bg: var(--ngs-dropdown-bg);--ngs-color-picker-border-radius: var(--ngs-dropdown-radius);--ngs-color-picker-margin-offset: calc(var(--spacing, .25rem) * 2);--ngs-color-picker-border: var(--ngs-dropdown-border);--ngs-color-picker-padding: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-gap: calc(var(--spacing, .25rem) * 2.5);--ngs-color-picker-as-dropdown-shadow: var(--ngs-dropdown-shadow);--ngs-color-picker-saturation-width: 260px;--ngs-color-picker-saturation-height: 110px;--ngs-color-picker-saturation-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-saturation-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-saturation-pointer-border: 2px solid white;--ngs-color-picker-hue-width: var(--ngs-color-picker-saturation-width);--ngs-color-picker-hue-height: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-hue-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-hue-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-hue-pointer-border: 2px solid white;--ngs-color-picker-alpha-width: var(--ngs-color-picker-saturation-width);--ngs-color-picker-alpha-height: calc(var(--spacing, .25rem) * 3);--ngs-color-picker-alpha-pointer-size: calc(var(--spacing, .25rem) * 5);--ngs-color-picker-alpha-pointer-shadow: var(--ngs-shadow-md);--ngs-color-picker-alpha-pointer-border: 2px solid white;display:inline-grid;-webkit-user-select:none;user-select:none;position:relative;flex:none;gap:var(--ngs-color-picker-gap);background:var(--ngs-color-picker-bg);border-radius:var(--ngs-color-picker-border-radius);border:var(--ngs-color-picker-border);padding:var(--ngs-color-picker-padding)}:host.is-disabled{pointer-events:none}:host.as-dropdown{box-shadow:var(--ngs-color-picker-as-dropdown-shadow)}@keyframes ngs-color-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(.ngs-color-picker-overlay-panel){animation:.15s ngs-color-picker-animation}:host-context(.ngs-color-picker-above){margin-bottom:var(--ngs-color-picker-margin-offset);transform-origin:bottom}:host-context(.ngs-color-picker-below){margin-top:var(--ngs-color-picker-margin-offset);transform-origin:top}:host-context(.ngs-color-picker-before){margin-inline-end:var(--ngs-color-picker-margin-offset);transform-origin:right}:host-context(.ngs-color-picker-after){margin-inline-start:var(--ngs-color-picker-margin-offset);transform-origin:left}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Alpha, selector: "ngs-alpha", inputs: ["tinyColor", "colorFromHue"], outputs: ["alphaChange"], exportAs: ["ngsAlpha"] }, { kind: "component", type: Saturation, selector: "ngs-saturation", inputs: ["tinyColor", "colorFromHue"], outputs: ["tinyColorChange", "colorChange"], exportAs: ["ngsSaturation"] }, { kind: "component", type: Hue, selector: "ngs-hue", inputs: ["tinyColor"], outputs: ["colorChange"], exportAs: ["ngsHue"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: FormField, selector: "ngs-form-field", inputs: ["subscriptHiddenIfEmpty", "sameHeightAsButton"], exportAs: ["ngsFormField"] }, { kind: "component", type: Label, selector: "ngs-label" }, { kind: "directive", type: Input, selector: "input[ngsInput], textarea[ngsInput]", inputs: ["id", "placeholder", "required", "disabled", "readonly", "errorStateMatcher"], exportAs: ["ngsInput"] }, { kind: "directive", type: IconButtonSuffix, selector: "[ngsIconButtonSuffix]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
444
444
|
}
|
|
445
445
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ColorPicker, decorators: [{
|
|
446
446
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-color-picker.mjs","sources":["../../../projects/components/color-picker/src/base.ts","../../../projects/components/color-picker/src/saturation/saturation.ts","../../../projects/components/color-picker/src/saturation/saturation.html","../../../projects/components/color-picker/src/hue/hue.ts","../../../projects/components/color-picker/src/hue/hue.html","../../../projects/components/color-picker/src/alpha/alpha.ts","../../../projects/components/color-picker/src/alpha/alpha.html","../../../projects/components/color-picker/src/color-picker/color-picker.ts","../../../projects/components/color-picker/src/color-picker/color-picker.html","../../../projects/components/color-picker/src/color-picker-thumbnail/color-picker-thumbnail.ts","../../../projects/components/color-picker/src/color-picker-thumbnail/color-picker-thumbnail.html","../../../projects/components/color-picker/src/position-manager.ts","../../../projects/components/color-picker/src/color-picker-trigger-for.directive.ts","../../../projects/components/color-picker/ngstarter-ui-components-color-picker.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, DOCUMENT } from '@angular/core';\nimport { fromEvent, merge, Subject, takeUntil } from 'rxjs';\n\n\n@Directive()\nexport abstract class BaseComponent {\n private readonly subscriptions: any[] = [];\n private window: any = { pageXOffset: 0, pageYOffset: 0 };\n private readonly requestAnimationFrame: any;\n private mouseup = new Subject<void>();\n private readonly document = inject(DOCUMENT);\n protected readonly elementRef: ElementRef = inject(ElementRef);\n\n constructor() {\n this.window = this.document.defaultView;\n this.requestAnimationFrame = this.getRequestAnimationFrame();\n this.addEventListeners();\n }\n\n public abstract movePointer(coordinates: { x: number; y: number; height: number; width: number; }): void;\n\n private addEventListeners(): void {\n this.subscriptions.push(\n merge(\n fromEvent(this.elementRef.nativeElement, 'touchstart', { passive: true }),\n fromEvent(this.elementRef.nativeElement, 'mousedown')\n )\n // @ts-ignore\n .subscribe((e: TouchEvent | MouseEvent) => this.onEventChange(e))\n );\n }\n\n private onEventChange(event: MouseEvent | TouchEvent): void {\n this.calculate(event);\n\n merge(\n fromEvent(this.document, 'mouseup'),\n fromEvent(this.document, 'touchend')\n )\n .pipe(takeUntil(this.mouseup))\n .subscribe(() => this.mouseup.next());\n\n merge(\n fromEvent(this.document, 'mousemove'),\n fromEvent(this.document, 'touchmove', { passive: true })\n )\n .pipe(takeUntil(this.mouseup))\n // @ts-ignore\n .subscribe((e: MouseEvent | TouchEvent) => this.calculate(e));\n }\n\n private calculateCoordinates(event: MouseEvent | TouchEvent): void {\n const { width: elWidth, height: elHeight, top: elTop, left: elLeft } = this.elementRef.nativeElement.getBoundingClientRect();\n const pageX = typeof (event as MouseEvent).pageX === 'number'\n ? (event as MouseEvent).pageX : (event as TouchEvent).touches[0].pageX\n ;\n const pageY = typeof (event as MouseEvent).pageY === 'number'\n ? (event as MouseEvent).pageY : (event as TouchEvent).touches[0].pageY\n ;\n const x = Math.max(0, Math.min(pageX - (elLeft + this.window.pageXOffset), elWidth));\n const y = Math.max(0, Math.min(pageY - (elTop + this.window.pageYOffset), elHeight));\n this.movePointer({ x, y, height: elHeight, width: elWidth });\n }\n\n private calculate(event: MouseEvent | TouchEvent): void {\n if (!event.type.includes('touch')) {\n // event.preventDefault();\n }\n\n if (!this.requestAnimationFrame) {\n return this.calculateCoordinates(event);\n }\n\n // @ts-ignore\n this.requestAnimationFrame(() => this.calculateCoordinates(event));\n }\n\n private getRequestAnimationFrame(): () => void {\n return this.window.requestAnimationFrame ||\n this.window.webkitRequestAnimationFrame ||\n this.window.mozRequestAnimationFrame ||\n this.window.oRequestAnimationFrame ||\n this.window.msRequestAnimationFrame;\n }\n\n public ngOnDestroy(): void {\n this.mouseup.next();\n this.mouseup.complete();\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n this.subscriptions.length = 0;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input, model,\n OnInit,\n output,\n Renderer2,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-saturation',\n exportAs: 'ngsSaturation',\n templateUrl: './saturation.html',\n styleUrl: './saturation.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-saturation'\n }\n})\nexport class Saturation extends BaseComponent implements OnInit {\n private _renderer = inject(Renderer2);\n readonly pointer = viewChild.required<ElementRef>('pointer');\n\n tinyColor = model.required<TinyColor>();\n colorFromHue = input<TinyColor | undefined | null>();\n\n private tmpColor!: TinyColor;\n private pointerColor!: TinyColor;\n\n readonly colorChange = output<any>();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.tmpColor = this.tinyColor();\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(this.tinyColor())\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['colorFromHue']) {\n const prevColor = changes['colorFromHue'].previousValue;\n const currentColor = changes['colorFromHue'].currentValue;\n\n if (!currentColor || prevColor?.equals(currentColor)) {\n return;\n }\n\n const oldColorHsv = this.pointerColor ? this.pointerColor.toHsv() : this.tmpColor.toHsv();\n const newColorHsv = currentColor.toHsv();\n const newColor = new TinyColor({\n h: newColorHsv.h,\n s: oldColorHsv.s,\n v: oldColorHsv.v,\n a: 1,\n format: 'hsv'\n });\n this.tmpColor = newColor;\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(changes['colorFromHue'].currentValue)\n );\n this._setPointerBgColor(newColor);\n // Removed this.colorChange.emit(newColor) to prevent NG0100 error.\n // Emitters in ngOnChanges can cause ExpressionChangedAfterItHasBeenCheckedError.\n // ColorPicker already knows about colorFromHue changes.\n }\n\n if (changes['tinyColor']) {\n const prevColor = changes['tinyColor'].previousValue;\n const currentColor = changes['tinyColor'].currentValue;\n\n if (prevColor?.equals(currentColor)) {\n return;\n }\n\n this.tmpColor = currentColor.clone();\n const hsv = this.tmpColor.toHsv();\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(this.tmpColor)\n );\n this.changePointerPosition(hsv.s * 100, hsv.v * 100);\n this._setPointerBgColor(this.tmpColor);\n }\n }\n\n // @ts-ignore\n movePointer({ x, y, height, width }): void {\n const saturationX = (x * 100) / width;\n const bright = -((y * 100) / height) + 100;\n this.changePointerPosition(saturationX, bright);\n const hsv = this.tmpColor.toHsv();\n\n const normalizedX = Math.max(0, Math.min(x / width, 1));\n const normalizedY = Math.max(0, Math.min(y / height, 1));\n\n const saturation = normalizedX;\n const value = 1 - normalizedY; // Y=0 (верх) это Value=1, Y=height (низ) это Value=0\n\n // Убедимся, что hue в пределах 0-360\n const validHue = ((hsv.h % 360) + 360) % 360;\n const newColor = new TinyColor({\n h: validHue,\n s: saturation,\n v: value,\n a: 1,\n format: 'hsv'\n });\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n this.pointerColor = newColor;\n this.colorChange.emit(newColor);\n }\n\n private getBackgroundColor(tinyColor: TinyColor) {\n const hsl = tinyColor.toHsl();\n return new TinyColor({\n h: hsl.h,\n s: 1,\n l: 0.5,\n a: 1,\n format: 'hsl'\n }).toRgbString();\n }\n\n private changePointerPosition(x: number, y: number): void {\n const pointer = this.pointer();\n this._renderer.setStyle(pointer.nativeElement, 'top', `${100 - y}%`);\n this._renderer.setStyle(pointer.nativeElement, 'left', `${x}%`);\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n this.pointerColor = tinyColor;\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', tinyColor.toRgbString());\n }\n}\n","<div #pointer class=\"pointer\"></div>\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component, ElementRef,\n inject, input,\n OnChanges, output,\n Renderer2, SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-hue',\n exportAs: 'ngsHue',\n templateUrl: './hue.html',\n styleUrl: './hue.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-hue',\n }\n})\nexport class Hue extends BaseComponent implements OnChanges {\n private cdr = inject(ChangeDetectorRef);\n private _renderer = inject(Renderer2);\n readonly pointer = viewChild.required<ElementRef>('pointer');\n\n tinyColor = input.required<TinyColor>();\n\n readonly colorChange = output<TinyColor>();\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['tinyColor'] && changes['tinyColor'].previousValue !== changes['tinyColor'].currentValue) {\n this.changePointerPosition(changes['tinyColor'].currentValue);\n this._setPointerBgColor(changes['tinyColor'].currentValue);\n }\n }\n\n // @ts-ignore\n public movePointer({ x, y, height, width }): void {\n let h = (x / width) * 360;\n\n if (h >= 360) {\n h = 359;\n }\n\n const newColor = new TinyColor(`hsv(${h}, 100%, 100%)`).setAlpha(1);\n this.changePointerPosition(newColor);\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n this.colorChange.emit(newColor);\n }\n\n /**\n * hue value is in range from 0 to 360°\n */\n private changePointerPosition(tinyColor: TinyColor): void {\n const x = tinyColor.toHsl().h / 360 * 100;\n this._renderer.setStyle(this.pointer().nativeElement, 'left', `${x}%`);\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n const hsv = tinyColor.toHsv();\n const newColor = new TinyColor(`hsv(${hsv.h}, 100%, 100%)`).setAlpha(1);\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n }\n}\n","<div #pointer class=\"pointer\"></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject, input,\n OnChanges, OnInit, output,\n Renderer2, SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { NgStyle } from '@angular/common';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-alpha',\n exportAs: 'ngsAlpha',\n imports: [\n NgStyle\n ],\n templateUrl: './alpha.html',\n styleUrl: './alpha.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-alpha'\n }\n})\nexport class Alpha extends BaseComponent implements OnChanges, OnInit {\n private _renderer = inject(Renderer2);\n private _pointer = viewChild.required<ElementRef>('pointer');\n private _pointerBg = viewChild.required<ElementRef>('pointerBg');\n\n tinyColor = input.required<TinyColor>();\n colorFromHue = input<TinyColor | undefined | null>();\n\n private tmpColor!: TinyColor;\n private alpha = 1;\n\n readonly alphaChange = output<any>();\n\n ngOnInit() {\n this.tmpColor = this.tinyColor();\n this.alpha = this.tmpColor.getAlpha();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tinyColor'] && changes['tinyColor'].previousValue !== changes['tinyColor'].currentValue) {\n if (!changes['tinyColor'].currentValue) {\n return;\n }\n\n this.tmpColor = changes['tinyColor'].currentValue.clone();\n this.alpha = this.tmpColor.getAlpha();\n this.changePointerPosition(this.tmpColor.getAlpha());\n this._setPointerBgColor(this.tmpColor);\n }\n\n if (changes['colorFromHue'] && changes['colorFromHue'].previousValue !== changes['colorFromHue'].currentValue) {\n if (!changes['colorFromHue'].currentValue) {\n return;\n }\n\n this.tmpColor = changes['colorFromHue'].currentValue.clone().setAlpha(this.alpha);\n this._setPointerBgColor(this.tmpColor);\n }\n }\n\n // @ts-ignore\n movePointer({ x, y, height, width }): void {\n const alpha = x / width;\n this.changePointerPosition(alpha);\n const newColor = this.tmpColor.clone().setAlpha(alpha);\n this._renderer.setStyle(this._pointerBg().nativeElement, 'background-color', newColor.toRgbString());\n this.alphaChange.emit(alpha);\n }\n\n get gradient(): string {\n const rgba = this.tmpColor.toRgb();\n const orientation = 'right';\n return `linear-gradient(to ${orientation}, rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, 0) 0%, rgb(${rgba.r}, ${rgba.g}, ${rgba.b}) 100%)`;\n }\n\n /**\n * hue value is in range from 0 to 360°\n */\n private changePointerPosition(alpha: number): void {\n const x = alpha * 100;\n const orientation = 'left';\n this._renderer.setStyle(this._pointer().nativeElement, orientation, `${x}%`);\n this.alpha = alpha;\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n this._renderer.setStyle(\n this._pointerBg().nativeElement, 'background-color', tinyColor.clone().setAlpha(this.alpha).toRgbString()\n );\n }\n}\n","<div #pointer class=\"pointer\">\n <div #pointerBg class=\"pointer-bg\"></div>\n</div>\n<div class=\"gradient\" [ngStyle]=\"{ 'background': gradient }\"></div>\n","import {\n booleanAttribute,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n forwardRef, inject,\n input, OnChanges,\n OnInit, output, signal, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ColorPickerResultFormat } from '../properties';\nimport { Saturation } from '../saturation/saturation';\nimport { Hue } from '../hue/hue';\nimport { Alpha } from '../alpha/alpha';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Button } from '@ngstarter-ui/components/button';\nimport { FormField, IconButtonSuffix, Label } from '@ngstarter-ui/components/form-field';\nimport { Input } from '@ngstarter-ui/components/input';\n\n@Component({\n selector: 'ngs-color-picker',\n exportAs: 'ngsColorPicker',\n imports: [\n FormsModule,\n Alpha,\n Saturation,\n Hue,\n\n Icon,\n Button,\n FormField,\n Label,\n Input,\n IconButtonSuffix\n ],\n templateUrl: './color-picker.html',\n styleUrl: './color-picker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n }\n ],\n host: {\n 'class': 'ngs-color-picker',\n '[class.is-disabled]': '_disabled()',\n '[class.as-dropdown]': 'asDropdown()',\n '(contextmenu)': '_handleContextMenu($event)'\n }\n})\nexport class ColorPicker implements OnInit, OnChanges, ControlValueAccessor {\n private cdr = inject(ChangeDetectorRef);\n\n color = input<string>('');\n disabled = input(false, {\n transform: booleanAttribute\n });\n asDropdown = input(true, {\n transform: booleanAttribute\n });\n showOpacity = input(true, {\n transform: booleanAttribute\n });\n resultFormat = input<ColorPickerResultFormat>('rgb');\n\n readonly colorChange = output<string>();\n readonly rawColorChange = output<TinyColor>();\n\n private tmpColor!: TinyColor;\n protected hexColor!: string;\n\n protected _color = signal<TinyColor>(new TinyColor('red'));\n protected _colorFromHue = signal<TinyColor | undefined | null>(null);\n protected _disabled = signal(false);\n protected alpha = signal(1);\n\n ngOnInit() {\n if (this.color()) {\n this._setColor(this.color());\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['color'] && changes['color'].previousValue !== changes['color'].currentValue) {\n this._setColor(changes['color'].currentValue);\n }\n\n if (changes['disabled'] && changes['disabled'].previousValue !== changes['disabled'].currentValue) {\n this._disabled.set(coerceBooleanProperty(changes['disabled'].currentValue));\n }\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(color: string) {\n this._setColor(color);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: BooleanInput) {\n this._disabled.set(coerceBooleanProperty(isDisabled));\n }\n\n protected async copyToClipboard(event: MouseEvent, hexInput: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n const color = new TinyColor(this.hexColor);\n\n if (color.isValid) {\n await navigator.clipboard.writeText(color.toHexString());\n }\n\n hexInput.blur();\n }\n\n protected onSaturationColorChange(tinyColor: TinyColor) {\n this.tmpColor = tinyColor.clone();\n const newColor = tinyColor.clone().setAlpha(this.alpha());\n this.rawColorChange.emit(newColor);\n this.emitEvent(newColor);\n this._setHexColor(newColor);\n }\n\n protected _handleContextMenu(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected onAlphaChange(alpha: number) {\n this.alpha.set(alpha);\n const newColor = this.tmpColor.clone();\n newColor.setAlpha(alpha);\n this.rawColorChange.emit(newColor.clone().setAlpha(this.alpha()));\n this.emitEvent(newColor);\n }\n\n protected onHueColorChange(color: TinyColor) {\n this._colorFromHue.set(color);\n const newColor = color.clone().setAlpha(this.alpha());\n this.tmpColor = newColor.clone();\n this.rawColorChange.emit(newColor);\n this.emitEvent(newColor);\n this._setHexColor(newColor);\n }\n\n protected onHexColorChange(color: string) {\n if (!color.startsWith('#')) {\n return;\n }\n\n if (color.length === 4 || color.length === 7) {\n const hexColor = new TinyColor(color);\n\n if (!hexColor.isValid || hexColor.equals(this._color())) {\n return;\n }\n\n this._setColor(color, false);\n this.emitEvent(hexColor);\n }\n }\n\n protected onHexColorBlur() {\n if (!this.hexColor.trim()) {\n this.hexColor = this.tmpColor.toHexString();\n }\n }\n\n protected _setHexColor(tinyColor: TinyColor) {\n if (!tinyColor.isValid) {\n return;\n }\n\n const hexColor = new TinyColor(this.hexColor);\n\n if (hexColor.isValid && hexColor.equals(tinyColor)) {\n return;\n }\n\n this.hexColor = tinyColor.toHexString();\n }\n\n private _setColor(color: string, isSetHexColor = true) {\n if (!color) {\n color = 'red';\n }\n\n let newColor = new TinyColor(color);\n\n if (!newColor.isValid) {\n return;\n }\n\n if (!newColor.equals(this._color())) {\n this._color.set(newColor);\n this.tmpColor = this._color().clone();\n\n if (isSetHexColor) {\n this.hexColor = this.tmpColor.toHexString();\n }\n }\n }\n\n private emitEvent(newColor: TinyColor) {\n let format = newColor.toRgbString();\n\n if (this.resultFormat() === 'hex') {\n format = newColor.toHexString();\n } else if (this.resultFormat() === 'hsl') {\n format = newColor.toHslString();\n } else if (this.resultFormat() === 'hsv') {\n format = newColor.toHsvString();\n }\n\n this.colorChange.emit(format);\n this.onChange(format);\n }\n}\n","<ngs-saturation [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (colorChange)=\"onSaturationColorChange($event)\"/>\n<ngs-hue [tinyColor]=\"_color()\"\n (colorChange)=\"onHueColorChange($event)\"/>\n@if (showOpacity()) {\n <ngs-alpha [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (alphaChange)=\"onAlphaChange($event)\"/>\n}\n<ngs-form-field subscriptHiddenIfEmpty>\n <ngs-label>HEX</ngs-label>\n <input #hexInput\n type=\"text\"\n ngsInput\n maxlength=\"7\"\n [(ngModel)]=\"hexColor\"\n (ngModelChange)=\"onHexColorChange($event)\"\n (blur)=\"onHexColorBlur()\">\n <button ngsIconButton\n ngsIconButtonSuffix\n (mousedown)=\"copyToClipboard($event, hexInput)\">\n <ngs-icon name=\"fluent:copy-24-regular\"/>\n </button>\n</ngs-form-field>\n","import { Component, ElementRef, inject, input, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'ngs-color-picker-thumbnail,[ngs-color-picker-thumbnail]',\n exportAs: 'ngsColorPickerThumbnail',\n templateUrl: './color-picker-thumbnail.html',\n styleUrl: './color-picker-thumbnail.scss',\n host: {\n 'class': 'ngs-color-picker-thumbnail'\n }\n})\nexport class ColorPickerThumbnail {\n private _elementRef = inject(ElementRef);\n\n color = input('');\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.color()) {\n return;\n }\n\n this._elementRef.nativeElement.style.setProperty('--ngs-color-picker-thumbnail-bg', this.color());\n }\n}\n","","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { ColorPickerPosition } from './properties';\n\nexport class PositionManager {\n private _positions: { [prop: string]: ConnectedPosition } = {\n 'below-start': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'start',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-start']\n },\n 'below-center': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'center',\n overlayX: 'center',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-center']\n },\n 'below-end': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'end',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-end']\n },\n 'above-start': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'start',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-start']\n },\n 'above-center': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'center',\n overlayX: 'center',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-center']\n },\n 'above-end': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'end',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-end']\n },\n 'before-start': {\n originY: 'top',\n overlayY: 'top',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-start']\n },\n 'before-center': {\n originY: 'center',\n overlayY: 'center',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-center']\n },\n 'before-end': {\n originY: 'bottom',\n overlayY: 'bottom',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-end']\n },\n 'after-end': {\n originY: 'bottom',\n overlayY: 'bottom',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-end']\n },\n 'after-center': {\n originY: 'center',\n overlayY: 'center',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-center']\n },\n 'after-start': {\n originY: 'top',\n overlayY: 'top',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-start']\n }\n };\n\n private _positionPairs: any = {\n 'below-start': 'above-start',\n 'below-center': 'above-center',\n 'below-end': 'above-end',\n 'above-start': 'below-start',\n 'above-center': 'below-center',\n 'above-end': 'below-end',\n 'before-end': 'before-start',\n 'before-center': 'after-center',\n 'before-start': 'before-end',\n 'after-end': 'after-start',\n 'after-center': 'before-center',\n 'after-start': 'after-end'\n };\n\n build(position: ColorPickerPosition): ConnectedPosition[] {\n return [this._positions[position], this._positions[this._positionPairs[position]]];\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n inject, Injector, input, OnDestroy,\n output,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject, takeUntil } from 'rxjs';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { PositionManager } from './position-manager';\nimport { ColorPickerPosition } from './properties';\n\n@Directive({\n selector: '[ngsColorPickerTriggerFor]',\n exportAs: 'ngsColorPickerTriggerFor',\n host: {\n 'class': 'ngs-color-picker-trigger-for',\n '(click)': '_handleClick($event)'\n }\n})\nexport class ColorPickerTriggerForDirective implements OnDestroy{\n private _overlay = inject(Overlay);\n private _elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private _directionality = inject(Directionality, { optional: true });\n private _viewContainerRef = inject(ViewContainerRef);\n private _injector = inject(Injector);\n private _destroyRef = inject(DestroyRef);\n\n colorPickerTemplateRef = input.required<TemplateRef<any>>({\n alias: 'ngsColorPickerTriggerFor'\n });\n position = input<ColorPickerPosition>('below-center');\n\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n private _portal!: TemplatePortal;\n private _overlayRef: OverlayRef | null = null;\n private _destroy$: Subject<void> = new Subject();\n\n constructor() {\n this._setType();\n }\n\n ngOnDestroy() {\n this._close();\n this._destroyOverlay();\n }\n\n get api() {\n return {\n isOpen: () => this._isOpen(),\n open: () => this._open(),\n close: () => this._close(),\n };\n }\n\n protected _handleClick(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n !this._isOpen() ? this._open() : this._close();\n }\n\n private _isOpen() {\n return !!this._overlayRef?.hasAttached();\n }\n\n private _open() {\n if (!this._isOpen() && this.colorPickerTemplateRef() != null) {\n this.opened.emit();\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPopoverContentPortal());\n this._subscribeToOutsideClicks();\n }\n }\n\n private _close() {\n this.closed.emit();\n this._overlayRef!?.detach();\n }\n\n private _destroyOverlay() {\n this._overlayRef?.dispose();\n this._overlayRef = null;\n }\n\n private _subscribeToOutsideClicks(): void {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(event => {\n const target = _getEventTarget(event) as Element;\n const element = this._elementRef.nativeElement;\n\n if (target !== element && !element.contains(target)) {\n this._close();\n }\n })\n ;\n }\n }\n\n private _getPopoverContentPortal() {\n this._portal = new TemplatePortal(\n this.colorPickerTemplateRef(),\n this._viewContainerRef,\n null,\n this._injector\n );\n\n return this._portal;\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._directionality || undefined,\n panelClass: 'ngs-color-picker-overlay-panel'\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withLockedPosition()\n .withGrowAfterOpen()\n .withPositions(this._getOverlayPositions());\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return (new PositionManager()).build(this.position());\n }\n\n private _setType() {\n const element = this._elementRef.nativeElement;\n\n if (element.nodeName === 'BUTTON' && !element.getAttribute('type')) {\n // Prevents form submissions.\n element.setAttribute('type', 'button');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-color-picker.mjs","sources":["../../../projects/components/color-picker/src/base.ts","../../../projects/components/color-picker/src/saturation/saturation.ts","../../../projects/components/color-picker/src/saturation/saturation.html","../../../projects/components/color-picker/src/hue/hue.ts","../../../projects/components/color-picker/src/hue/hue.html","../../../projects/components/color-picker/src/alpha/alpha.ts","../../../projects/components/color-picker/src/alpha/alpha.html","../../../projects/components/color-picker/src/color-picker/color-picker.ts","../../../projects/components/color-picker/src/color-picker/color-picker.html","../../../projects/components/color-picker/src/color-picker-thumbnail/color-picker-thumbnail.ts","../../../projects/components/color-picker/src/color-picker-thumbnail/color-picker-thumbnail.html","../../../projects/components/color-picker/src/position-manager.ts","../../../projects/components/color-picker/src/color-picker-trigger-for.directive.ts","../../../projects/components/color-picker/ngstarter-ui-components-color-picker.ts"],"sourcesContent":["import { afterNextRender, Directive, ElementRef, inject, DOCUMENT } from '@angular/core';\nimport { fromEvent, merge, Subject, takeUntil } from 'rxjs';\n\n\n@Directive()\nexport abstract class BaseComponent {\n private readonly subscriptions: any[] = [];\n private window: any = { pageXOffset: 0, pageYOffset: 0 };\n private readonly requestAnimationFrame: any;\n private mouseup = new Subject<void>();\n private readonly document = inject(DOCUMENT);\n protected readonly elementRef: ElementRef = inject(ElementRef);\n\n constructor() {\n this.window = this.document.defaultView;\n this.requestAnimationFrame = this.getRequestAnimationFrame();\n this.addEventListeners();\n }\n\n public abstract movePointer(coordinates: { x: number; y: number; height: number; width: number; }): void;\n\n private addEventListeners(): void {\n this.subscriptions.push(\n merge(\n fromEvent(this.elementRef.nativeElement, 'touchstart', { passive: true }),\n fromEvent(this.elementRef.nativeElement, 'mousedown')\n )\n // @ts-ignore\n .subscribe((e: TouchEvent | MouseEvent) => this.onEventChange(e))\n );\n }\n\n private onEventChange(event: MouseEvent | TouchEvent): void {\n this.calculate(event);\n\n merge(\n fromEvent(this.document, 'mouseup'),\n fromEvent(this.document, 'touchend')\n )\n .pipe(takeUntil(this.mouseup))\n .subscribe(() => this.mouseup.next());\n\n merge(\n fromEvent(this.document, 'mousemove'),\n fromEvent(this.document, 'touchmove', { passive: true })\n )\n .pipe(takeUntil(this.mouseup))\n // @ts-ignore\n .subscribe((e: MouseEvent | TouchEvent) => this.calculate(e));\n }\n\n private calculateCoordinates(event: MouseEvent | TouchEvent): void {\n const { width: elWidth, height: elHeight, top: elTop, left: elLeft } = this.elementRef.nativeElement.getBoundingClientRect();\n const pageX = typeof (event as MouseEvent).pageX === 'number'\n ? (event as MouseEvent).pageX : (event as TouchEvent).touches[0].pageX\n ;\n const pageY = typeof (event as MouseEvent).pageY === 'number'\n ? (event as MouseEvent).pageY : (event as TouchEvent).touches[0].pageY\n ;\n const x = Math.max(0, Math.min(pageX - (elLeft + this.window.pageXOffset), elWidth));\n const y = Math.max(0, Math.min(pageY - (elTop + this.window.pageYOffset), elHeight));\n this.movePointer({ x, y, height: elHeight, width: elWidth });\n }\n\n private calculate(event: MouseEvent | TouchEvent): void {\n if (!event.type.includes('touch')) {\n // event.preventDefault();\n }\n\n if (!this.requestAnimationFrame) {\n return this.calculateCoordinates(event);\n }\n\n // @ts-ignore\n this.requestAnimationFrame(() => this.calculateCoordinates(event));\n }\n\n private getRequestAnimationFrame(): () => void {\n return this.window.requestAnimationFrame ||\n this.window.webkitRequestAnimationFrame ||\n this.window.mozRequestAnimationFrame ||\n this.window.oRequestAnimationFrame ||\n this.window.msRequestAnimationFrame;\n }\n\n public ngOnDestroy(): void {\n this.mouseup.next();\n this.mouseup.complete();\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\n this.subscriptions.length = 0;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input, model,\n OnInit,\n output,\n Renderer2,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-saturation',\n exportAs: 'ngsSaturation',\n templateUrl: './saturation.html',\n styleUrl: './saturation.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-saturation'\n }\n})\nexport class Saturation extends BaseComponent implements OnInit {\n private _renderer = inject(Renderer2);\n readonly pointer = viewChild.required<ElementRef>('pointer');\n\n tinyColor = model.required<TinyColor>();\n colorFromHue = input<TinyColor | undefined | null>();\n\n private tmpColor!: TinyColor;\n private pointerColor!: TinyColor;\n\n readonly colorChange = output<any>();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.tmpColor = this.tinyColor();\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(this.tinyColor())\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['colorFromHue']) {\n const prevColor = changes['colorFromHue'].previousValue;\n const currentColor = changes['colorFromHue'].currentValue;\n\n if (!currentColor || prevColor?.equals(currentColor)) {\n return;\n }\n\n const oldColorHsv = this.pointerColor ? this.pointerColor.toHsv() : this.tmpColor.toHsv();\n const newColorHsv = currentColor.toHsv();\n const newColor = new TinyColor({\n h: newColorHsv.h,\n s: oldColorHsv.s,\n v: oldColorHsv.v,\n a: 1,\n format: 'hsv'\n });\n this.tmpColor = newColor;\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(changes['colorFromHue'].currentValue)\n );\n this._setPointerBgColor(newColor);\n // Removed this.colorChange.emit(newColor) to prevent NG0100 error.\n // Emitters in ngOnChanges can cause ExpressionChangedAfterItHasBeenCheckedError.\n // ColorPicker already knows about colorFromHue changes.\n }\n\n if (changes['tinyColor']) {\n const prevColor = changes['tinyColor'].previousValue;\n const currentColor = changes['tinyColor'].currentValue;\n\n if (prevColor?.equals(currentColor)) {\n return;\n }\n\n this.tmpColor = currentColor.clone();\n const hsv = this.tmpColor.toHsv();\n this._renderer.setStyle(\n this.elementRef.nativeElement, 'background-color', this.getBackgroundColor(this.tmpColor)\n );\n this.changePointerPosition(hsv.s * 100, hsv.v * 100);\n this._setPointerBgColor(this.tmpColor);\n }\n }\n\n // @ts-ignore\n movePointer({ x, y, height, width }): void {\n const saturationX = (x * 100) / width;\n const bright = -((y * 100) / height) + 100;\n this.changePointerPosition(saturationX, bright);\n const hsv = this.tmpColor.toHsv();\n\n const normalizedX = Math.max(0, Math.min(x / width, 1));\n const normalizedY = Math.max(0, Math.min(y / height, 1));\n\n const saturation = normalizedX;\n const value = 1 - normalizedY; // Y=0 (верх) это Value=1, Y=height (низ) это Value=0\n\n // Убедимся, что hue в пределах 0-360\n const validHue = ((hsv.h % 360) + 360) % 360;\n const newColor = new TinyColor({\n h: validHue,\n s: saturation,\n v: value,\n a: 1,\n format: 'hsv'\n });\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n this.pointerColor = newColor;\n this.colorChange.emit(newColor);\n }\n\n private getBackgroundColor(tinyColor: TinyColor) {\n const hsl = tinyColor.toHsl();\n return new TinyColor({\n h: hsl.h,\n s: 1,\n l: 0.5,\n a: 1,\n format: 'hsl'\n }).toRgbString();\n }\n\n private changePointerPosition(x: number, y: number): void {\n const pointer = this.pointer();\n this._renderer.setStyle(pointer.nativeElement, 'top', `${100 - y}%`);\n this._renderer.setStyle(pointer.nativeElement, 'left', `${x}%`);\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n this.pointerColor = tinyColor;\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', tinyColor.toRgbString());\n }\n}\n","<div #pointer class=\"pointer\"></div>\n","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component, ElementRef,\n inject, input,\n OnChanges, output,\n Renderer2, SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-hue',\n exportAs: 'ngsHue',\n templateUrl: './hue.html',\n styleUrl: './hue.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-hue',\n }\n})\nexport class Hue extends BaseComponent implements OnChanges {\n private cdr = inject(ChangeDetectorRef);\n private _renderer = inject(Renderer2);\n readonly pointer = viewChild.required<ElementRef>('pointer');\n\n tinyColor = input.required<TinyColor>();\n\n readonly colorChange = output<TinyColor>();\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['tinyColor'] && changes['tinyColor'].previousValue !== changes['tinyColor'].currentValue) {\n this.changePointerPosition(changes['tinyColor'].currentValue);\n this._setPointerBgColor(changes['tinyColor'].currentValue);\n }\n }\n\n // @ts-ignore\n public movePointer({ x, y, height, width }): void {\n let h = (x / width) * 360;\n\n if (h >= 360) {\n h = 359;\n }\n\n const newColor = new TinyColor(`hsv(${h}, 100%, 100%)`).setAlpha(1);\n this.changePointerPosition(newColor);\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n this.colorChange.emit(newColor);\n }\n\n /**\n * hue value is in range from 0 to 360°\n */\n private changePointerPosition(tinyColor: TinyColor): void {\n const x = tinyColor.toHsl().h / 360 * 100;\n this._renderer.setStyle(this.pointer().nativeElement, 'left', `${x}%`);\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n const hsv = tinyColor.toHsv();\n const newColor = new TinyColor(`hsv(${hsv.h}, 100%, 100%)`).setAlpha(1);\n this._renderer.setStyle(this.pointer().nativeElement, 'background-color', newColor.toRgbString());\n }\n}\n","<div #pointer class=\"pointer\"></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject, input,\n OnChanges, OnInit, output,\n Renderer2, SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { BaseComponent } from '../base';\nimport { NgStyle } from '@angular/common';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'ngs-alpha',\n exportAs: 'ngsAlpha',\n imports: [\n NgStyle\n ],\n templateUrl: './alpha.html',\n styleUrl: './alpha.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-alpha'\n }\n})\nexport class Alpha extends BaseComponent implements OnChanges, OnInit {\n private _renderer = inject(Renderer2);\n private _pointer = viewChild.required<ElementRef>('pointer');\n private _pointerBg = viewChild.required<ElementRef>('pointerBg');\n\n tinyColor = input.required<TinyColor>();\n colorFromHue = input<TinyColor | undefined | null>();\n\n private tmpColor!: TinyColor;\n private alpha = 1;\n\n readonly alphaChange = output<any>();\n\n ngOnInit() {\n this.tmpColor = this.tinyColor();\n this.alpha = this.tmpColor.getAlpha();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tinyColor'] && changes['tinyColor'].previousValue !== changes['tinyColor'].currentValue) {\n if (!changes['tinyColor'].currentValue) {\n return;\n }\n\n this.tmpColor = changes['tinyColor'].currentValue.clone();\n this.alpha = this.tmpColor.getAlpha();\n this.changePointerPosition(this.tmpColor.getAlpha());\n this._setPointerBgColor(this.tmpColor);\n }\n\n if (changes['colorFromHue'] && changes['colorFromHue'].previousValue !== changes['colorFromHue'].currentValue) {\n if (!changes['colorFromHue'].currentValue) {\n return;\n }\n\n this.tmpColor = changes['colorFromHue'].currentValue.clone().setAlpha(this.alpha);\n this._setPointerBgColor(this.tmpColor);\n }\n }\n\n // @ts-ignore\n movePointer({ x, y, height, width }): void {\n const alpha = x / width;\n this.changePointerPosition(alpha);\n const newColor = this.tmpColor.clone().setAlpha(alpha);\n this._renderer.setStyle(this._pointerBg().nativeElement, 'background-color', newColor.toRgbString());\n this.alphaChange.emit(alpha);\n }\n\n get gradient(): string {\n const rgba = this.tmpColor.toRgb();\n const orientation = 'right';\n return `linear-gradient(to ${orientation}, rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, 0) 0%, rgb(${rgba.r}, ${rgba.g}, ${rgba.b}) 100%)`;\n }\n\n /**\n * hue value is in range from 0 to 360°\n */\n private changePointerPosition(alpha: number): void {\n const x = alpha * 100;\n const orientation = 'left';\n this._renderer.setStyle(this._pointer().nativeElement, orientation, `${x}%`);\n this.alpha = alpha;\n }\n\n private _setPointerBgColor(tinyColor: TinyColor) {\n this._renderer.setStyle(\n this._pointerBg().nativeElement, 'background-color', tinyColor.clone().setAlpha(this.alpha).toRgbString()\n );\n }\n}\n","<div #pointer class=\"pointer\">\n <div #pointerBg class=\"pointer-bg\"></div>\n</div>\n<div class=\"gradient\" [ngStyle]=\"{ 'background': gradient }\"></div>\n","import {\n booleanAttribute,\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n forwardRef, inject,\n input, OnChanges,\n OnInit, output, signal, SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ColorPickerResultFormat } from '../properties';\nimport { Saturation } from '../saturation/saturation';\nimport { Hue } from '../hue/hue';\nimport { Alpha } from '../alpha/alpha';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { Icon } from '@ngstarter-ui/components/icon';\nimport { Button } from '@ngstarter-ui/components/button';\nimport { FormField, IconButtonSuffix, Label } from '@ngstarter-ui/components/form-field';\nimport { Input } from '@ngstarter-ui/components/input';\n\n@Component({\n selector: 'ngs-color-picker',\n exportAs: 'ngsColorPicker',\n imports: [\n FormsModule,\n Alpha,\n Saturation,\n Hue,\n\n Icon,\n Button,\n FormField,\n Label,\n Input,\n IconButtonSuffix\n ],\n templateUrl: './color-picker.html',\n styleUrl: './color-picker.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n }\n ],\n host: {\n 'class': 'ngs-color-picker',\n '[class.is-disabled]': '_disabled()',\n '[class.as-dropdown]': 'asDropdown()',\n '(contextmenu)': '_handleContextMenu($event)'\n }\n})\nexport class ColorPicker implements OnInit, OnChanges, ControlValueAccessor {\n private cdr = inject(ChangeDetectorRef);\n\n color = input<string>('');\n disabled = input(false, {\n transform: booleanAttribute\n });\n asDropdown = input(true, {\n transform: booleanAttribute\n });\n showOpacity = input(true, {\n transform: booleanAttribute\n });\n resultFormat = input<ColorPickerResultFormat>('rgb');\n\n readonly colorChange = output<string>();\n readonly rawColorChange = output<TinyColor>();\n\n private tmpColor!: TinyColor;\n protected hexColor!: string;\n\n protected _color = signal<TinyColor>(new TinyColor('red'));\n protected _colorFromHue = signal<TinyColor | undefined | null>(null);\n protected _disabled = signal(false);\n protected alpha = signal(1);\n\n ngOnInit() {\n if (this.color()) {\n this._setColor(this.color());\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['color'] && changes['color'].previousValue !== changes['color'].currentValue) {\n this._setColor(changes['color'].currentValue);\n }\n\n if (changes['disabled'] && changes['disabled'].previousValue !== changes['disabled'].currentValue) {\n this._disabled.set(coerceBooleanProperty(changes['disabled'].currentValue));\n }\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(color: string) {\n this._setColor(color);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: BooleanInput) {\n this._disabled.set(coerceBooleanProperty(isDisabled));\n }\n\n protected async copyToClipboard(event: MouseEvent, hexInput: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n const color = new TinyColor(this.hexColor);\n\n if (color.isValid) {\n await navigator.clipboard.writeText(color.toHexString());\n }\n\n hexInput.blur();\n }\n\n protected onSaturationColorChange(tinyColor: TinyColor) {\n this.tmpColor = tinyColor.clone();\n const newColor = tinyColor.clone().setAlpha(this.alpha());\n this.rawColorChange.emit(newColor);\n this.emitEvent(newColor);\n this._setHexColor(newColor);\n }\n\n protected _handleContextMenu(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected onAlphaChange(alpha: number) {\n this.alpha.set(alpha);\n const newColor = this.tmpColor.clone();\n newColor.setAlpha(alpha);\n this.rawColorChange.emit(newColor.clone().setAlpha(this.alpha()));\n this.emitEvent(newColor);\n }\n\n protected onHueColorChange(color: TinyColor) {\n this._colorFromHue.set(color);\n const newColor = color.clone().setAlpha(this.alpha());\n this.tmpColor = newColor.clone();\n this.rawColorChange.emit(newColor);\n this.emitEvent(newColor);\n this._setHexColor(newColor);\n }\n\n protected onHexColorChange(color: string) {\n if (!color.startsWith('#')) {\n return;\n }\n\n if (color.length === 4 || color.length === 7) {\n const hexColor = new TinyColor(color);\n\n if (!hexColor.isValid || hexColor.equals(this._color())) {\n return;\n }\n\n this._setColor(color, false);\n this.emitEvent(hexColor);\n }\n }\n\n protected onHexColorBlur() {\n if (!this.hexColor.trim()) {\n this.hexColor = this.tmpColor.toHexString();\n }\n }\n\n protected _setHexColor(tinyColor: TinyColor) {\n if (!tinyColor.isValid) {\n return;\n }\n\n const hexColor = new TinyColor(this.hexColor);\n\n if (hexColor.isValid && hexColor.equals(tinyColor)) {\n return;\n }\n\n this.hexColor = tinyColor.toHexString();\n }\n\n private _setColor(color: string, isSetHexColor = true) {\n if (!color) {\n color = 'red';\n }\n\n let newColor = new TinyColor(color);\n\n if (!newColor.isValid) {\n return;\n }\n\n if (!newColor.equals(this._color())) {\n this._color.set(newColor);\n this.tmpColor = this._color().clone();\n\n if (isSetHexColor) {\n this.hexColor = this.tmpColor.toHexString();\n }\n }\n }\n\n private emitEvent(newColor: TinyColor) {\n let format = newColor.toRgbString();\n\n if (this.resultFormat() === 'hex') {\n format = newColor.toHexString();\n } else if (this.resultFormat() === 'hsl') {\n format = newColor.toHslString();\n } else if (this.resultFormat() === 'hsv') {\n format = newColor.toHsvString();\n }\n\n this.colorChange.emit(format);\n this.onChange(format);\n }\n}\n","<ngs-saturation [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (colorChange)=\"onSaturationColorChange($event)\"/>\n<ngs-hue [tinyColor]=\"_color()\"\n (colorChange)=\"onHueColorChange($event)\"/>\n@if (showOpacity()) {\n <ngs-alpha [colorFromHue]=\"_colorFromHue()\"\n [tinyColor]=\"_color()\"\n (alphaChange)=\"onAlphaChange($event)\"/>\n}\n<ngs-form-field subscriptHiddenIfEmpty>\n <ngs-label>HEX</ngs-label>\n <input #hexInput\n type=\"text\"\n ngsInput\n maxlength=\"7\"\n [(ngModel)]=\"hexColor\"\n (ngModelChange)=\"onHexColorChange($event)\"\n (blur)=\"onHexColorBlur()\">\n <button ngsIconButton\n ngsIconButtonSuffix\n (mousedown)=\"copyToClipboard($event, hexInput)\">\n <ngs-icon name=\"fluent:copy-24-regular\"/>\n </button>\n</ngs-form-field>\n","import { Component, ElementRef, inject, input, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'ngs-color-picker-thumbnail,[ngs-color-picker-thumbnail]',\n exportAs: 'ngsColorPickerThumbnail',\n templateUrl: './color-picker-thumbnail.html',\n styleUrl: './color-picker-thumbnail.scss',\n host: {\n 'class': 'ngs-color-picker-thumbnail'\n }\n})\nexport class ColorPickerThumbnail {\n private _elementRef = inject(ElementRef);\n\n color = input('');\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.color()) {\n return;\n }\n\n this._elementRef.nativeElement.style.setProperty('--ngs-color-picker-thumbnail-bg', this.color());\n }\n}\n","","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { ColorPickerPosition } from './properties';\n\nexport class PositionManager {\n private _positions: { [prop: string]: ConnectedPosition } = {\n 'below-start': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'start',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-start']\n },\n 'below-center': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'center',\n overlayX: 'center',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-center']\n },\n 'below-end': {\n originY: 'bottom',\n overlayY: 'top',\n originX: 'end',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-below', 'ngs-color-picker-below-end']\n },\n 'above-start': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'start',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-start']\n },\n 'above-center': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'center',\n overlayX: 'center',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-center']\n },\n 'above-end': {\n originY: 'top',\n overlayY: 'bottom',\n originX: 'end',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-above', 'ngs-color-picker-above-end']\n },\n 'before-start': {\n originY: 'top',\n overlayY: 'top',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-start']\n },\n 'before-center': {\n originY: 'center',\n overlayY: 'center',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-center']\n },\n 'before-end': {\n originY: 'bottom',\n overlayY: 'bottom',\n originX: 'start',\n overlayX: 'end',\n panelClass: ['ngs-color-picker-before', 'ngs-color-picker-before-end']\n },\n 'after-end': {\n originY: 'bottom',\n overlayY: 'bottom',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-end']\n },\n 'after-center': {\n originY: 'center',\n overlayY: 'center',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-center']\n },\n 'after-start': {\n originY: 'top',\n overlayY: 'top',\n originX: 'end',\n overlayX: 'start',\n panelClass: ['ngs-color-picker-after', 'ngs-color-picker-after-start']\n }\n };\n\n private _positionPairs: any = {\n 'below-start': 'above-start',\n 'below-center': 'above-center',\n 'below-end': 'above-end',\n 'above-start': 'below-start',\n 'above-center': 'below-center',\n 'above-end': 'below-end',\n 'before-end': 'before-start',\n 'before-center': 'after-center',\n 'before-start': 'before-end',\n 'after-end': 'after-start',\n 'after-center': 'before-center',\n 'after-start': 'after-end'\n };\n\n build(position: ColorPickerPosition): ConnectedPosition[] {\n return [this._positions[position], this._positions[this._positionPairs[position]]];\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n inject, Injector, input, OnDestroy,\n output,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Subject, takeUntil } from 'rxjs';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { PositionManager } from './position-manager';\nimport { ColorPickerPosition } from './properties';\n\n@Directive({\n selector: '[ngsColorPickerTriggerFor]',\n exportAs: 'ngsColorPickerTriggerFor',\n host: {\n 'class': 'ngs-color-picker-trigger-for',\n '(click)': '_handleClick($event)'\n }\n})\nexport class ColorPickerTriggerForDirective implements OnDestroy{\n private _overlay = inject(Overlay);\n private _elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private _directionality = inject(Directionality, { optional: true });\n private _viewContainerRef = inject(ViewContainerRef);\n private _injector = inject(Injector);\n private _destroyRef = inject(DestroyRef);\n\n colorPickerTemplateRef = input.required<TemplateRef<any>>({\n alias: 'ngsColorPickerTriggerFor'\n });\n position = input<ColorPickerPosition>('below-center');\n\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n private _portal!: TemplatePortal;\n private _overlayRef: OverlayRef | null = null;\n private _destroy$: Subject<void> = new Subject();\n\n constructor() {\n this._setType();\n }\n\n ngOnDestroy() {\n this._close();\n this._destroyOverlay();\n }\n\n get api() {\n return {\n isOpen: () => this._isOpen(),\n open: () => this._open(),\n close: () => this._close(),\n };\n }\n\n protected _handleClick(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n !this._isOpen() ? this._open() : this._close();\n }\n\n private _isOpen() {\n return !!this._overlayRef?.hasAttached();\n }\n\n private _open() {\n if (!this._isOpen() && this.colorPickerTemplateRef() != null) {\n this.opened.emit();\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPopoverContentPortal());\n this._subscribeToOutsideClicks();\n }\n }\n\n private _close() {\n this.closed.emit();\n this._overlayRef!?.detach();\n }\n\n private _destroyOverlay() {\n this._overlayRef?.dispose();\n this._overlayRef = null;\n }\n\n private _subscribeToOutsideClicks(): void {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(event => {\n const target = _getEventTarget(event) as Element;\n const element = this._elementRef.nativeElement;\n\n if (target !== element && !element.contains(target)) {\n this._close();\n }\n })\n ;\n }\n }\n\n private _getPopoverContentPortal() {\n this._portal = new TemplatePortal(\n this.colorPickerTemplateRef(),\n this._viewContainerRef,\n null,\n this._injector\n );\n\n return this._portal;\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._directionality || undefined,\n panelClass: 'ngs-color-picker-overlay-panel'\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withLockedPosition()\n .withGrowAfterOpen()\n .withPositions(this._getOverlayPositions());\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return (new PositionManager()).build(this.position());\n }\n\n private _setType() {\n const element = this._elementRef.nativeElement;\n\n if (element.nodeName === 'BUTTON' && !element.getAttribute('type')) {\n // Prevents form submissions.\n element.setAttribute('type', 'button');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|