@acorex/components 22.1.0-next.2 → 22.1.0-next.21
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/fesm2022/acorex-components-accordion.mjs +2 -2
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +2 -2
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +114 -20
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs → acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs} +6 -19
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation.mjs +7299 -9510
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +33 -18
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +21 -5
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +59 -42
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +765 -98
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +4 -6
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +2 -2
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +22 -0
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +2 -2
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +38 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/lookup/README.md +29 -7
- package/package.json +4 -7
- package/types/acorex-components-combo-box.d.ts +38 -8
- package/types/acorex-components-conversation.d.ts +543 -1019
- package/types/acorex-components-data-table.d.ts +3 -2
- package/types/acorex-components-loading-dialog.d.ts +12 -4
- package/types/acorex-components-lookup.d.ts +181 -21
- package/types/acorex-components-popover.d.ts +6 -0
- package/types/acorex-components-select-box.d.ts +11 -0
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map +0 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +0 -168
- package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
- package/selection-list-2/README.md +0 -3
- package/types/acorex-components-selection-list-2.d.ts +0 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../packages/components/range-slider/src/lib/range-slider.class.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.html","../../../../packages/components/range-slider/src/lib/range-slider.module.ts","../../../../packages/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["//import { AXRange } from '@acorex/cdk/common';\n\nimport { AXEvent } from '@acorex/cdk/common';\n\nexport interface AXRangeStartEvent extends AXEvent {\n data: any;\n}\nexport type AXRangeSliderValue = number | [number, number] | undefined;\nexport type AXRangeSliderMode = 'single' | 'dual';\nexport type AXRangeSliderSnapMode = 'both' | 'start' | 'end';\nexport type AXRangeSliderTooltipMode = 'start' | 'end';\nexport type AXRangeSliderHandler = 'first' | 'second';\n","import {\n AXComponent,\n AXOrientation,\n AXStyleColorType,\n AXValuableComponent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { isPlatformBrowser, NgStyle } from '@angular/common';\nimport {\n Component,\n computed,\n effect,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXRangeSliderMode,\n AXRangeSliderSnapMode,\n AXRangeSliderTooltipMode,\n AXRangeSliderValue,\n} from './range-slider.class';\n\n/**\n * @description\n * A range slider for selecting a range of values, supporting both single and dual modes.\n * The slider offers step, snap, and tooltip configurations.\n *\n * @example\n * <ax-range-slider [min]=\"0\" [max]=\"100\" [step]=\"1\" [mode]=\"'dual'\"></ax-range-slider>\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.css'],\n inputs: ['disabled', 'readonly'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXValuableComponent, useExisting: AXRangeSliderComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRangeSliderComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXRangeSliderComponent },\n ],\n imports: [NgStyle],\n})\nexport class AXRangeSliderComponent extends classes(MXValueComponent<AXRangeSliderValue>) {\n private zone = inject(NgZone);\n protected override platformID = inject(PLATFORM_ID);\n\n /**\n * @description\n * The orientation of the slider, either 'horizontal' or 'vertical'.\n * @default 'horizontal'\n */\n readonly orientation = input<AXOrientation>('horizontal');\n\n /**\n * @description\n * Color theme for the slider, affecting highlight, tooltip, and handler.\n * @default 'primary'\n */\n readonly color = input<Exclude<AXStyleColorType, 'default'>>('primary');\n\n /**\n * @description\n * The value(s) of the slider. Can be a single number for single mode or an array of two numbers for dual mode.\n */\n values = model<AXRangeSliderValue>(this.value);\n\n /**\n * @description\n * The mode of the slider, either 'single' or 'dual'.\n * @default 'single'\n */\n readonly mode = input<AXRangeSliderMode>('single');\n\n /**\n * @description\n * The minimum value of the slider.\n * @default 0\n */\n readonly min = input<number>(0);\n\n /**\n * @description\n * The maximum value of the slider.\n * @default 100\n */\n readonly max = input<number>(100);\n\n /**\n * @description\n * The step increment for value changes.\n * @default 1\n */\n readonly step = input<number>(1);\n\n /**\n * @description\n * The snapping increment for the slider.\n * @default 1\n */\n readonly snap = input<number>(1);\n\n /**\n * @description\n * Mode for displaying tooltips, can be at the start, end, or both.\n * @default 'end'\n */\n readonly tooltipMode = input<AXRangeSliderTooltipMode>('end');\n\n /**\n * @description\n * Mode for snapping, can snap at the start, end, or both.\n * @default 'start'\n */\n readonly snapMode = input<AXRangeSliderSnapMode>('start');\n\n /**\n * @description\n * Whether the slider should have steps.\n * @default true\n */\n readonly hasStep = input(true);\n\n /**\n * @description\n * Whether the slider should display snapping.\n * @default false\n */\n readonly hasSnap = input(false);\n\n /**\n * @description\n * Whether the slider should display labels for snapping points.\n * @default Value derived from `hasSnap()`\n */\n readonly hasLable = input(this.hasSnap());\n\n /**\n * @description\n * Whether the slider should display tooltips.\n * @default false\n */\n readonly hasTooltip = input(false);\n\n /**\n * @ignore\n */\n height = 0.25;\n /**\n * @ignore\n */\n newHeight = 'var(--ax-comp-range-slider-size)';\n /**\n * @ignore\n */\n range = computed(() => this.max() - this.min());\n /**\n * @ignore\n */\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n /**\n * @ignore\n */\n isDual = computed(() => this.mode() === 'dual');\n /**\n * @ignore\n */\n correctMinMax = computed(() => this.max() - this.min() > 0);\n /**\n * @ignore\n */\n\n protected calculateSnapBar = computed<number[] | null>(() => {\n if (this.hasSnap()) {\n if (this.snap() <= 0) {\n console.error('Wrong Snap!');\n return null;\n }\n let array = [];\n for (let i = this.min(); i < this.max(); i += this.snap()) {\n array.push(i);\n }\n array = [...array, this.max()];\n if (array[0] < 0) {\n array = array.map((i) => i + -array[0]).sort((a, b) => a - b);\n }\n if (array[0] > 0) {\n array = array.map((i) => i - array[0]).sort((a, b) => a - b);\n }\n if (array.length > 20) {\n console.warn(`Too many snap points (${array.length}). Max allowed is 20.`);\n return null;\n }\n return array;\n }\n return null;\n });\n /**\n * @ignore\n */\n protected calculatePos = computed<AXRangeSliderValue>(() => {\n if (this.isDual() && this.values()) {\n return [\n ((this.values()[0] - this.min()) / this.range()) * 100,\n ((this.values()[1] - this.min()) / this.range()) * 100,\n ];\n } else {\n return (((this.values() as number) - this.min()) / this.range()) * 100;\n }\n });\n /**\n * @ignore\n */\n private choosenHandler: 'first' | 'second' | undefined = undefined;\n /**\n * @ignore\n */\n private sliderElement: HTMLElement | null = null;\n /**\n * @ignore\n */\n protected AXRangeSliderHighlight = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : '0%',\n width: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n }\n : {\n height: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n bottom: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : '0%',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler1 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : (this.calculatePos() as number) + '%',\n }\n : {\n bottom: this.isDual()\n ? 'calc(' + this.calculatePos()[0] + '% - ' + 6 * this.height + 'rem)'\n : 'calc(' + this.calculatePos() + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler2 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.calculatePos()[1] + '%',\n }\n : {\n bottom: 'calc(' + this.calculatePos()[1] + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderStep = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', height: 8 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };\n case 'end':\n return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', width: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };\n case 'end':\n return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };\n }\n }\n });\n /**\n * @ignore\n */\n protected AXRangeLabel = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: 6 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem' };\n case 'end':\n return { top: -6 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { left: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem' };\n case 'end':\n return { left: -8 * this.height + 'rem' };\n }\n }\n });\n isUserInteraction = false;\n constructor() {\n super();\n effect(() => {\n this.commitValue(this.values(), this.isUserInteraction);\n this.isUserInteraction = false;\n });\n effect(() => {\n if (this.correctMinMax()) {\n this.fixInitializeValues();\n this.fixChangingMode();\n } else {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n }\n });\n this.onValueChanged.subscribe((value) => {\n if (value?.value != undefined && value?.value != null && this.values() !== value.value)\n this.values.set(value.value);\n });\n }\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n if (!this.correctMinMax()) {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n } else {\n this.initializeValues();\n }\n }\n /**\n * @ignore\n */\n protected override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('mousemove', this.moveListener);\n window.removeEventListener('mouseup', this.endListener);\n window.removeEventListener('touchmove', this.moveListener);\n window.removeEventListener('touchend', this.endListener);\n }\n }\n private moveListener;\n private endListener;\n /**\n * @ignore\n */\n protected onStartHandler(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.zone.runOutsideAngular(() => {\n if (this.disabled || this.readonly || !this.correctMinMax()) return;\n event.preventDefault();\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n if (this.sliderElement && isPlatformBrowser(this.platformID)) {\n this.choosenHandler = circle;\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.onMove(moveEvent, circle);\n const endListener = () => this.onEnd(moveListener, endListener);\n [this.moveListener, this.endListener] = [moveListener, endListener];\n window.addEventListener('mousemove', moveListener);\n window.addEventListener('mouseup', endListener);\n window.addEventListener('touchmove', moveListener, { passive: true });\n window.addEventListener('touchend', endListener);\n }\n });\n }\n /**\n * @ignore\n */\n protected onStartBar(event: MouseEvent | TouchEvent) {\n this.isUserInteraction = true;\n\n let circle: 'first' | 'second' = 'first';\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n this.zone.runOutsideAngular(() => {\n if (!this.sliderElement || this.disabled || this.readonly) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n const exactValue = this.getValueFromPercent(calculatePercent);\n let value = Number.parseFloat(exactValue.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (Math.abs(exactValue - this.values()[0]) > Math.abs(exactValue - this.values()[1])) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n if (this.values()[1] === this.min()) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n this.values.set([value, this.values()[1]]);\n circle = 'first';\n }\n }\n } else {\n this.values.set(value);\n }\n });\n this.onStartHandler(event, circle);\n }\n /**\n * @ignore\n */\n protected onMove(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.isUserInteraction = true;\n\n if (!this.sliderElement) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n let value = this.getValueFromPercent(calculatePercent);\n value = Number.parseFloat(value.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (circle === 'first' && value <= this.values()[1]) {\n if (this.checkValues(value, 'first', this.values()[1]) && this.values()[0] !== value) {\n this.values.set([value, this.values()[1]]);\n }\n } else if (circle === 'second' && value >= this.values()[0] && this.values()[1] !== value) {\n if (this.checkValues(value, 'second', this.values()[0])) {\n this.values.set([this.values()[0], value]);\n }\n }\n } else {\n if (this.checkValue(value) && this.values() !== value) {\n this.values.set(value);\n }\n }\n }\n /**\n * @ignore\n */\n protected onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n window.removeEventListener('mousemove', moveListener);\n window.removeEventListener('mouseup', endListener);\n window.removeEventListener('touchmove', moveListener);\n window.removeEventListener('touchend', endListener);\n this.sliderElement = null;\n }\n /**\n * @ignore\n */\n private initializeValues() {\n this.fixInitializeUndefined();\n this.fixInitializeValues();\n this.fixInitializeStep();\n }\n /**\n * @ignore\n */\n private fixInitializeUndefined() {\n if (typeof this.values() === 'undefined') {\n if (this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else {\n this.values.set(this.min());\n }\n }\n }\n /**\n * @ignore\n */\n private fixInitializeValues() {\n if (this.isDual() && this.values()[0] > this.values()[1]) {\n this.values.set([this.values()[1], this.values()[0]]);\n }\n if (typeof this.values() === 'number' && !this.checkValue(this.values() as number)) {\n this.values.set(this.min());\n } else if (typeof this.values() !== 'number' && !this.checkValues(this.values()[0], 'first', this.values()[1])) {\n this.values.set([this.min(), this.max()]);\n }\n }\n /**\n * @ignore\n */\n private fixInitializeStep() {\n if (this.step() !== 1) {\n if (this.isDual()) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1])]);\n if (this.values()[0] === this.values()[1]) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1]) + this.step()]);\n }\n } else {\n this.values.update((old) => this.roundToStep(old as number));\n }\n }\n }\n /**\n * @ignore\n */\n private fixChangingMode() {\n if (typeof this.values() === 'number' && this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else if (typeof this.values() !== 'number' && !this.isDual()) {\n this.values.set(this.min());\n }\n }\n /**\n * @ignore\n */\n private calculatePercentOnMove(event: MouseEvent | TouchEvent): number {\n const sliderRect = this.sliderElement.getBoundingClientRect();\n let percent: number;\n if (this.isHorizontal()) {\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n const x = clientX - sliderRect.left;\n percent = (x / sliderRect.width) * 100;\n } else {\n const clientY = event instanceof MouseEvent ? event.clientY : (event as TouchEvent).touches[0].clientY;\n const y = -(clientY - sliderRect.bottom); //reverce slider from bottom to top\n percent = (y / sliderRect.height) * 100;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 100) {\n percent = 100;\n }\n return percent;\n }\n\n /**\n * @ignore\n */\n private roundToStep(value: number): number {\n const lower = Math.max(this.min(), Math.floor((value - this.min()) / this.step()) * this.step() + this.min());\n const upper = Math.min(this.max(), lower + this.step());\n if (value - lower < upper - value) {\n return lower;\n } else {\n return upper;\n }\n }\n\n /**\n * @ignore\n */\n private checkValue(x: number): boolean {\n if (x >= this.min() && x <= this.max()) return true;\n else return false;\n }\n /**\n * @ignore\n */\n private checkValues(value1: number, y: 'first' | 'second', value2: number): boolean {\n if (value1 >= this.min() && value1 <= this.max()) {\n if (y === 'first') {\n if (value1 <= value2 && value2 <= this.max()) return true;\n else return false;\n } else {\n if (value1 >= value2 && value2 >= this.min()) return true;\n else return false;\n }\n } else return false;\n }\n /**\n * @ignore\n */\n protected getValueFromPercent(value: number) {\n return this.min() + (value * (this.max() - this.min())) / 100;\n }\n /**\n * @ignore\n */\n protected getPercantage(value: number): number {\n return this.range() !== 0 ? (value / this.range()) * 100 : 0;\n }\n /**\n * Increase a step to value if slider in single mode\n * and increase a step the second value if slider in dual mode\n * @method increaseStep\n */\n public increaseStep(): void {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[1] + this.step());\n this.values.set([this.values()[0], newValue]);\n } else {\n const newValue = this.roundToStep((this.values() as number) + this.step());\n this.values.set(newValue);\n }\n }\n /**\n * Decrease a step to value if slider in single mode\n * and decrease a step the second value if slider in dual mode\n * @method decreaseStep\n */\n public decreaseStep() {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[0] - this.step());\n this.values.set([newValue, this.values()[1]]);\n } else {\n const newValue = this.roundToStep((this.values() as number) - this.step());\n this.values.set(newValue);\n }\n }\n /**\n * @ignore\n */\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n this.isUserInteraction = true;\n\n this.zone.runOutsideAngular(() => {\n event.preventDefault();\n if (!this.choosenHandler || this.readonly || this.disabled || !this.correctMinMax()) return;\n let newValue;\n if (this.isDual()) {\n if (event.deltaY < 0) {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) + this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values()[0] !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) + this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) + this.step());\n if (newValue <= this.max() && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) + this.step())]);\n }\n }\n } else {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values() !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) - this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[0]) && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) - this.step())]);\n }\n }\n }\n } else {\n if (event.deltaY < 0) {\n if (this.checkValue(this.roundToStep((this.values() as number) + this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) + this.step()));\n }\n } else {\n if (this.checkValue(this.roundToStep((this.values() as number) - this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) - this.step()));\n }\n }\n }\n });\n }\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n ];\n }\n}\n","@if (correctMinMax()) {\n <div class=\"ax-range-slider\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onStartBar($event)\" (touchstart)=\"onStartBar($event)\"></div>\n <div\n class=\"ax-range-slider-highlight\"\n [ngStyle]=\"AXRangeSliderHighlight()\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n ></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n name=\"first\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n name=\"second\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"isHorizontal() ? { left: getPercantage(item) + '%' } : { bottom: getPercantage(item) + '%' }\"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n imports: [CommonModule, AXRangeSliderComponent],\n exports: [AXRangeSliderComponent],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AC+BA;;;;;;;AAOG;AAmBG,MAAO,sBAAuB,SAAQ,OAAO,EAAC,gBAAoC,EAAC,CAAA;AAwQvF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAxQD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACV,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEnD;;;;AAIG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,YAAY;wFAAC;AAEzD;;;;AAIG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAuC,SAAS;kFAAC;AAEvE;;;AAGG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAqB,IAAI,CAAC,KAAK;mFAAC;AAE9C;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAoB,QAAQ;iFAAC;AAElD;;;;AAIG;QACM,IAAA,CAAA,GAAG,GAAG,KAAK,CAAS,CAAC;gFAAC;AAE/B;;;;AAIG;QACM,IAAA,CAAA,GAAG,GAAG,KAAK,CAAS,GAAG;gFAAC;AAEjC;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC;iFAAC;AAEhC;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC;iFAAC;AAEhC;;;;AAIG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAA2B,KAAK;wFAAC;AAE7D;;;;AAIG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAwB,OAAO;qFAAC;AAEzD;;;;AAIG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI;oFAAC;AAE9B;;;;AAIG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK;oFAAC;AAE/B;;;;AAIG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;qFAAC;AAEzC;;;;AAIG;QACM,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK;uFAAC;AAElC;;AAEG;QACH,IAAA,CAAA,MAAM,GAAG,IAAI;AACb;;AAEG;QACH,IAAA,CAAA,SAAS,GAAG,kCAAkC;AAC9C;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;kFAAC;AAC/C;;AAEG;QACH,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY;yFAAC;AAClE;;AAEG;QACH,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM;mFAAC;AAC/C;;AAEG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;0FAAC;AAC3D;;AAEG;AAEO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAkB,MAAK;AAC1D,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AACpB,oBAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;AAC5B,oBAAA,OAAO,IAAI;gBACb;gBACA,IAAI,KAAK,GAAG,EAAE;gBACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACzD,oBAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf;gBACA,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9B,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAChB,oBAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/D;AACA,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAChB,oBAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9D;AACA,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE;oBACrB,OAAO,CAAC,IAAI,CAAC,CAAA,sBAAA,EAAyB,KAAK,CAAC,MAAM,CAAA,qBAAA,CAAuB,CAAC;AAC1E,oBAAA,OAAO,IAAI;gBACb;AACA,gBAAA,OAAO,KAAK;YACd;AACA,YAAA,OAAO,IAAI;QACb,CAAC;6FAAC;AACF;;AAEG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAqB,MAAK;YACzD,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClC,OAAO;oBACL,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;oBACtD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;iBACvD;YACH;iBAAO;gBACL,OAAO,CAAC,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG;YACxE;QACF,CAAC;yFAAC;AACF;;AAEG;QACK,IAAA,CAAA,cAAc,GAAmC,SAAS;AAClE;;AAEG;QACK,IAAA,CAAA,aAAa,GAAuB,IAAI;AAChD;;AAEG;QACO,IAAA,CAAA,sBAAsB,GAAG,QAAQ,CAAC,MAC1C,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI;AACzD,gBAAA,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG;AACzG;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG;gBACzG,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI;AACrE,aAAA;mGACN;AACD;;AAEG;QACO,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAI,IAAI,CAAC,YAAY,EAAa,GAAG,GAAG;AAC3F;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM;AACjB,sBAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG;AAChE,sBAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;AACtE,aAAA;kGACN;AACD;;AAEG;QACO,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,YAAY;AACf,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;AACnC;AACH,cAAE;AACE,gBAAA,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;AAC7E,aAAA;kGACN;AACD;;AAEG;AACO,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;AAC1C,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;AACT,wBAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACtD,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1E,oBAAA,KAAK,KAAK;wBACR,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;YAE/E;iBAAO;AACL,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;AACT,wBAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACrD,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1E,oBAAA,KAAK,KAAK;wBACR,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;YAE/E;QACF,CAAC;8FAAC;AACF;;AAEG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;wBACT,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACzC,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACzC,oBAAA,KAAK,KAAK;AACR,wBAAA,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;YAE9C;iBAAO;AACL,gBAAA,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACrB,oBAAA,KAAK,MAAM;wBACT,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1C,oBAAA,KAAK,OAAO;wBACV,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AAC1C,oBAAA,KAAK,KAAK;AACR,wBAAA,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;;YAE/C;QACF,CAAC;yFAAC;QACF,IAAA,CAAA,iBAAiB,GAAG,KAAK;QAGvB,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvD,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAChC,QAAA,CAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBACxB,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,eAAe,EAAE;YACxB;iBAAO;AACL,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,GAAG,EAAE,CAAA,uBAAA,CAAyB,CAAC;YACrF;AACF,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACtC,YAAA,IAAI,KAAK,EAAE,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,KAAK;gBACpF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,QAAA,CAAC,CAAC;IACJ;AACA;;AAEG;IACgB,QAAQ,GAAA;QACzB,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACzB,YAAA,OAAO,CAAC,KAAK,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,GAAG,EAAE,CAAA,uBAAA,CAAyB,CAAC;QACrF;aAAO;YACL,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;AACA;;AAEG;IACgB,WAAW,GAAA;QAC5B,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1D,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1D;IACF;AAGA;;AAEG;IACO,cAAc,CAAC,KAA8B,EAAE,MAA0B,EAAA;AACjF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE;YAC7D,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAgB;YAC7F,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAC5D,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM;AAC5B,gBAAA,MAAM,YAAY,GAAG,CAAC,SAAkC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;AAC3F,gBAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;AAC/D,gBAAA,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;AACnE,gBAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC;AAClD,gBAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAC/C,gBAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACrE,gBAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC;YAClD;AACF,QAAA,CAAC,CAAC;IACJ;AACA;;AAEG;AACO,IAAA,UAAU,CAAC,KAA8B,EAAA;AACjD,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAE7B,IAAI,MAAM,GAAuB,OAAO;QACxC,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAgB;AAC7F,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAAE;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AAC7D,YAAA,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpD,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC;AACA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACrF,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC1C,MAAM,GAAG,QAAQ;gBACnB;qBAAO;AACL,oBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE;AACnC,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC1C,MAAM,GAAG,QAAQ;oBACnB;yBAAO;AACL,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1C,MAAM,GAAG,OAAO;oBAClB;gBACF;YACF;iBAAO;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IACpC;AACA;;AAEG;IACO,MAAM,CAAC,KAA8B,EAAE,MAA0B,EAAA;AACzE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAE7B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;AACtD,QAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;gBACnD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACpF,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C;YACF;iBAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;AACzF,gBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACvD,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5C;YACF;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB;QACF;IACF;AACA;;AAEG;IACO,KAAK,CAAC,YAAsD,EAAE,WAAuB,EAAA;AAC7F,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AAClD,QAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AACA;;AAEG;IACK,gBAAgB,GAAA;QACtB,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AACA;;AAEG;IACK,sBAAsB,GAAA;QAC5B,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,WAAW,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3C;iBAAO;gBACL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B;QACF;IACF;AACA;;AAEG;IACK,mBAAmB,GAAA;QACzB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD;AACA,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAY,CAAC,EAAE;YAClF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B;AAAO,aAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9G,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C;IACF;AACA;;AAEG;IACK,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;AACzC,oBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjG;YACF;iBAAO;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAa,CAAC,CAAC;YAC9D;QACF;IACF;AACA;;AAEG;IACK,eAAe,GAAA;AACrB,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C;AAAO,aAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B;IACF;AACA;;AAEG;AACK,IAAA,sBAAsB,CAAC,KAA8B,EAAA;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC7D,QAAA,IAAI,OAAe;AACnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAI,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtG,YAAA,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI;YACnC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,IAAI,GAAG;QACxC;aAAO;YACL,MAAM,OAAO,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAI,KAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AACtG,YAAA,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG;QACzC;AACA,QAAA,IAAI,OAAO,GAAG,CAAC,EAAE;YACf,OAAO,GAAG,CAAC;QACb;AAAO,aAAA,IAAI,OAAO,GAAG,GAAG,EAAE;YACxB,OAAO,GAAG,GAAG;QACf;AACA,QAAA,OAAO,OAAO;IAChB;AAEA;;AAEG;AACK,IAAA,WAAW,CAAC,KAAa,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7G,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE;AACjC,YAAA,OAAO,KAAK;QACd;aAAO;AACL,YAAA,OAAO,KAAK;QACd;IACF;AAEA;;AAEG;AACK,IAAA,UAAU,CAAC,CAAS,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,OAAO,IAAI;;AAC9C,YAAA,OAAO,KAAK;IACnB;AACA;;AAEG;AACK,IAAA,WAAW,CAAC,MAAc,EAAE,CAAqB,EAAE,MAAc,EAAA;AACvE,QAAA,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;AAChD,YAAA,IAAI,CAAC,KAAK,OAAO,EAAE;gBACjB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,oBAAA,OAAO,IAAI;;AACpD,oBAAA,OAAO,KAAK;YACnB;iBAAO;gBACL,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;AAAE,oBAAA,OAAO,IAAI;;AACpD,oBAAA,OAAO,KAAK;YACnB;QACF;;AAAO,YAAA,OAAO,KAAK;IACrB;AACA;;AAEG;AACO,IAAA,mBAAmB,CAAC,KAAa,EAAA;QACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG;IAC/D;AACA;;AAEG;AACO,IAAA,aAAa,CAAC,KAAa,EAAA;QACnC,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,GAAG,CAAC;IAC9D;AACA;;;;AAIG;IACI,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/C;aAAO;AACL,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B;IACF;AACA;;;;AAIG;IACI,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C;aAAO;AACL,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B;IACF;AACA;;AAEG;AAEH,IAAA,OAAO,CAAC,KAAiB,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAE7B,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;YAC/B,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE;AACrF,YAAA,IAAI,QAAQ;AACZ,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,oBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;AACnC,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACtG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3F;oBACF;yBAAO;AACL,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AAC3D,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC3F;oBACF;gBACF;qBAAO;AACL,oBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE;AACnC,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACvE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE;AACnG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3F;oBACF;yBAAO;AACL,wBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACvE,wBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACtG,4BAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC,CAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC3F;oBACF;gBACF;YACF;iBAAO;AACL,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;wBAC9E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAE,GAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9E;gBACF;qBAAO;oBACL,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,EAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;wBAC9E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAE,GAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9E;gBACF;YACF;AACF,QAAA,CAAC,CAAC;IACJ;AACA;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO;AACL,YAAA,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;YACpB,CAAA,EAAG,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YAC7C,CAAA,EAAG,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;SAC9C;IACH;8GAzmBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,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,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,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,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAXtB;AACT,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;AACrE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE;SAC9D,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtDH,uuDAqDA,4sTDEY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlBlC,SAAS;+BACE,iBAAiB,EAAA,MAAA,EAGnB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAA,aAAA,EACjB,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAE1B;AACT,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,wBAAwB,EAAE;AACrE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,wBAAwB,EAAE;qBAC9D,EAAA,OAAA,EACQ,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,uuDAAA,EAAA,MAAA,EAAA,CAAA,opTAAA,CAAA,EAAA;;sBAkjBjB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAkDhC,WAAW;uBAAC,OAAO;;;MEnpBT,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,OAAA,EAAA,CAHpB,YAAY,EAAE,sBAAsB,aACpC,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAErB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;ACPD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"acorex-components-range-slider.mjs","sources":["../../../../packages/components/range-slider/src/lib/range-slider.class.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.ts","../../../../packages/components/range-slider/src/lib/range-slider.component.html","../../../../packages/components/range-slider/src/lib/range-slider.module.ts","../../../../packages/components/range-slider/src/acorex-components-range-slider.ts"],"sourcesContent":["//import { AXRange } from '@acorex/cdk/common';\n\nimport { AXEvent } from '@acorex/cdk/common';\n\nexport interface AXRangeStartEvent extends AXEvent {\n data: any;\n}\nexport type AXRangeSliderValue = number | [number, number] | undefined;\nexport type AXRangeSliderMode = 'single' | 'dual';\nexport type AXRangeSliderSnapMode = 'both' | 'start' | 'end';\nexport type AXRangeSliderTooltipMode = 'start' | 'end';\nexport type AXRangeSliderHandler = 'first' | 'second';\n","import {\n AXComponent,\n AXOrientation,\n AXStyleColorType,\n AXValuableComponent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { isPlatformBrowser, NgStyle } from '@angular/common';\nimport {\n Component,\n computed,\n effect,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n NgZone,\n PLATFORM_ID,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXRangeSliderMode,\n AXRangeSliderSnapMode,\n AXRangeSliderTooltipMode,\n AXRangeSliderValue,\n} from './range-slider.class';\n\n/**\n * @description\n * A range slider for selecting a range of values, supporting both single and dual modes.\n * The slider offers step, snap, and tooltip configurations.\n *\n * @example\n * <ax-range-slider [min]=\"0\" [max]=\"100\" [step]=\"1\" [mode]=\"'dual'\"></ax-range-slider>\n */\n@Component({\n selector: 'ax-range-slider',\n templateUrl: './range-slider.component.html',\n styleUrls: ['./range-slider.component.css'],\n inputs: ['disabled', 'readonly'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXValuableComponent, useExisting: AXRangeSliderComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRangeSliderComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXRangeSliderComponent },\n ],\n imports: [NgStyle],\n})\nexport class AXRangeSliderComponent extends classes(MXValueComponent<AXRangeSliderValue>) {\n private zone = inject(NgZone);\n protected override platformID = inject(PLATFORM_ID);\n\n /**\n * @description\n * The orientation of the slider, either 'horizontal' or 'vertical'.\n * @default 'horizontal'\n */\n readonly orientation = input<AXOrientation>('horizontal');\n\n /**\n * @description\n * Color theme for the slider, affecting highlight, tooltip, and handler.\n * @default 'primary'\n */\n readonly color = input<Exclude<AXStyleColorType, 'default'>>('primary');\n\n /**\n * @description\n * The value(s) of the slider. Can be a single number for single mode or an array of two numbers for dual mode.\n */\n values = model<AXRangeSliderValue>(this.value);\n\n /**\n * @description\n * The mode of the slider, either 'single' or 'dual'.\n * @default 'single'\n */\n readonly mode = input<AXRangeSliderMode>('single');\n\n /**\n * @description\n * The minimum value of the slider.\n * @default 0\n */\n readonly min = input<number>(0);\n\n /**\n * @description\n * The maximum value of the slider.\n * @default 100\n */\n readonly max = input<number>(100);\n\n /**\n * @description\n * The step increment for value changes.\n * @default 1\n */\n readonly step = input<number>(1);\n\n /**\n * @description\n * The snapping increment for the slider.\n * @default 1\n */\n readonly snap = input<number>(1);\n\n /**\n * @description\n * Mode for displaying tooltips, can be at the start, end, or both.\n * @default 'end'\n */\n readonly tooltipMode = input<AXRangeSliderTooltipMode>('end');\n\n /**\n * @description\n * Mode for snapping, can snap at the start, end, or both.\n * @default 'start'\n */\n readonly snapMode = input<AXRangeSliderSnapMode>('start');\n\n /**\n * @description\n * Whether the slider should have steps.\n * @default true\n */\n readonly hasStep = input(true);\n\n /**\n * @description\n * Whether the slider should display snapping.\n * @default false\n */\n readonly hasSnap = input(false);\n\n /**\n * @description\n * Whether the slider should display labels for snapping points.\n * @default Value derived from `hasSnap()`\n */\n readonly hasLable = input(this.hasSnap());\n\n /**\n * @description\n * Whether the slider should display tooltips.\n * @default false\n */\n readonly hasTooltip = input(false);\n\n /**\n * @ignore\n */\n height = 0.25;\n /**\n * @ignore\n */\n newHeight = 'var(--ax-comp-range-slider-size)';\n /**\n * @ignore\n */\n range = computed(() => this.max() - this.min());\n /**\n * @ignore\n */\n isHorizontal = computed(() => this.orientation() === 'horizontal');\n /**\n * @ignore\n */\n isDual = computed(() => this.mode() === 'dual');\n /**\n * @ignore\n */\n correctMinMax = computed(() => this.max() - this.min() > 0);\n /**\n * @ignore\n */\n\n protected calculateSnapBar = computed<number[] | null>(() => {\n if (this.hasSnap()) {\n if (this.snap() <= 0) {\n console.error('Wrong Snap!');\n return null;\n }\n let array = [];\n for (let i = this.min(); i < this.max(); i += this.snap()) {\n array.push(i);\n }\n array = [...array, this.max()];\n if (array[0] < 0) {\n array = array.map((i) => i + -array[0]).sort((a, b) => a - b);\n }\n if (array[0] > 0) {\n array = array.map((i) => i - array[0]).sort((a, b) => a - b);\n }\n if (array.length > 20) {\n console.warn(`Too many snap points (${array.length}). Max allowed is 20.`);\n return null;\n }\n return array;\n }\n return null;\n });\n /**\n * @ignore\n */\n protected calculatePos = computed<AXRangeSliderValue>(() => {\n if (this.isDual() && this.values()) {\n return [\n ((this.values()[0] - this.min()) / this.range()) * 100,\n ((this.values()[1] - this.min()) / this.range()) * 100,\n ];\n } else {\n return (((this.values() as number) - this.min()) / this.range()) * 100;\n }\n });\n /**\n * @ignore\n */\n private choosenHandler: 'first' | 'second' | undefined = undefined;\n /**\n * @ignore\n */\n private sliderElement: HTMLElement | null = null;\n /**\n * @ignore\n */\n protected AXRangeSliderHighlight = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : '0%',\n width: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n }\n : {\n height: this.isDual() ? this.calculatePos()[1] - this.calculatePos()[0] + '%' : this.calculatePos() + '%',\n bottom: this.mode() === 'dual' ? this.calculatePos()[0] + '%' : '0%',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler1 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.isDual() ? this.calculatePos()[0] + '%' : (this.calculatePos() as number) + '%',\n }\n : {\n bottom: this.isDual()\n ? 'calc(' + this.calculatePos()[0] + '% - ' + 6 * this.height + 'rem)'\n : 'calc(' + this.calculatePos() + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderHandler2 = computed(() =>\n this.isHorizontal()\n ? {\n left: this.calculatePos()[1] + '%',\n }\n : {\n bottom: 'calc(' + this.calculatePos()[1] + '% - ' + 6 * this.height + 'rem)',\n },\n );\n /**\n * @ignore\n */\n protected AXRangeSliderStep = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', height: 8 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem', height: 4 * this.height + 'rem' };\n case 'end':\n return { top: -2 * this.height + 'rem', height: 4 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { top: '0', width: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem', width: 4 * this.height + 'rem' };\n case 'end':\n return { left: -2 * this.height + 'rem', width: 4 * this.height + 'rem' };\n }\n }\n });\n /**\n * @ignore\n */\n protected AXRangeLabel = computed(() => {\n if (this.isHorizontal()) {\n switch (this.snapMode()) {\n case 'both':\n return { top: 6 * this.height + 'rem' };\n case 'start':\n return { top: 4 * this.height + 'rem' };\n case 'end':\n return { top: -6 * this.height + 'rem' };\n }\n } else {\n switch (this.snapMode()) {\n case 'both':\n return { left: 8 * this.height + 'rem' };\n case 'start':\n return { left: 4 * this.height + 'rem' };\n case 'end':\n return { left: -8 * this.height + 'rem' };\n }\n }\n });\n isUserInteraction = false;\n constructor() {\n super();\n effect(() => {\n this.commitValue(this.values(), this.isUserInteraction);\n this.isUserInteraction = false;\n });\n effect(() => {\n if (this.correctMinMax()) {\n this.fixInitializeValues();\n this.fixChangingMode();\n } else {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n }\n });\n this.onValueChanged.subscribe((value) => {\n if (value?.value != undefined && value?.value != null && this.values() !== value.value)\n this.values.set(value.value);\n });\n }\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n if (!this.correctMinMax()) {\n console.error(`Min = ${this.min()} And Max = ${this.max()} is not correct inputs.`);\n } else {\n this.initializeValues();\n }\n }\n /**\n * @ignore\n */\n protected override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (isPlatformBrowser(this.platformID)) {\n window.removeEventListener('mousemove', this.moveListener);\n window.removeEventListener('mouseup', this.endListener);\n window.removeEventListener('touchmove', this.moveListener);\n window.removeEventListener('touchend', this.endListener);\n }\n }\n private moveListener;\n private endListener;\n /**\n * @ignore\n */\n protected onStartHandler(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.zone.runOutsideAngular(() => {\n if (this.disabled || this.readonly || !this.correctMinMax()) return;\n event.preventDefault();\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n if (this.sliderElement && isPlatformBrowser(this.platformID)) {\n this.choosenHandler = circle;\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.onMove(moveEvent, circle);\n const endListener = () => this.onEnd(moveListener, endListener);\n [this.moveListener, this.endListener] = [moveListener, endListener];\n window.addEventListener('mousemove', moveListener);\n window.addEventListener('mouseup', endListener);\n window.addEventListener('touchmove', moveListener, { passive: true });\n window.addEventListener('touchend', endListener);\n }\n });\n }\n /**\n * @ignore\n */\n protected onStartBar(event: MouseEvent | TouchEvent) {\n this.isUserInteraction = true;\n\n let circle: 'first' | 'second' = 'first';\n this.sliderElement = (event.target as HTMLElement).closest('.ax-range-slider') as HTMLElement;\n this.zone.runOutsideAngular(() => {\n if (!this.sliderElement || this.disabled || this.readonly) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n const exactValue = this.getValueFromPercent(calculatePercent);\n let value = Number.parseFloat(exactValue.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (Math.abs(exactValue - this.values()[0]) > Math.abs(exactValue - this.values()[1])) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n if (this.values()[1] === this.min()) {\n this.values.set([this.values()[0], value]);\n circle = 'second';\n } else {\n this.values.set([value, this.values()[1]]);\n circle = 'first';\n }\n }\n } else {\n this.values.set(value);\n }\n });\n this.onStartHandler(event, circle);\n }\n /**\n * @ignore\n */\n protected onMove(event: MouseEvent | TouchEvent, circle: 'first' | 'second'): void {\n this.isUserInteraction = true;\n\n if (!this.sliderElement) return;\n const calculatePercent = this.calculatePercentOnMove(event);\n let value = this.getValueFromPercent(calculatePercent);\n value = Number.parseFloat(value.toFixed(2));\n if (this.hasStep()) {\n value = this.roundToStep(value);\n }\n if (this.isDual()) {\n if (circle === 'first' && value <= this.values()[1]) {\n if (this.checkValues(value, 'first', this.values()[1]) && this.values()[0] !== value) {\n this.values.set([value, this.values()[1]]);\n }\n } else if (circle === 'second' && value >= this.values()[0] && this.values()[1] !== value) {\n if (this.checkValues(value, 'second', this.values()[0])) {\n this.values.set([this.values()[0], value]);\n }\n }\n } else {\n if (this.checkValue(value) && this.values() !== value) {\n this.values.set(value);\n }\n }\n }\n /**\n * @ignore\n */\n protected onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n window.removeEventListener('mousemove', moveListener);\n window.removeEventListener('mouseup', endListener);\n window.removeEventListener('touchmove', moveListener);\n window.removeEventListener('touchend', endListener);\n this.sliderElement = null;\n }\n /**\n * @ignore\n */\n private initializeValues() {\n this.fixInitializeUndefined();\n this.fixInitializeValues();\n this.fixInitializeStep();\n }\n /**\n * @ignore\n */\n private fixInitializeUndefined() {\n if (typeof this.values() === 'undefined') {\n if (this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else {\n this.values.set(this.min());\n }\n }\n }\n /**\n * @ignore\n */\n private fixInitializeValues() {\n if (this.isDual() && this.values()[0] > this.values()[1]) {\n this.values.set([this.values()[1], this.values()[0]]);\n }\n if (typeof this.values() === 'number' && !this.checkValue(this.values() as number)) {\n this.values.set(this.min());\n } else if (typeof this.values() !== 'number' && !this.checkValues(this.values()[0], 'first', this.values()[1])) {\n this.values.set([this.min(), this.max()]);\n }\n }\n /**\n * @ignore\n */\n private fixInitializeStep() {\n if (this.step() !== 1) {\n if (this.isDual()) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1])]);\n if (this.values()[0] === this.values()[1]) {\n this.values.update((old) => [this.roundToStep(old[0]), this.roundToStep(old[1]) + this.step()]);\n }\n } else {\n this.values.update((old) => this.roundToStep(old as number));\n }\n }\n }\n /**\n * @ignore\n */\n private fixChangingMode() {\n if (typeof this.values() === 'number' && this.isDual()) {\n this.values.set([this.min(), this.max()]);\n } else if (typeof this.values() !== 'number' && !this.isDual()) {\n this.values.set(this.min());\n }\n }\n /**\n * @ignore\n */\n private calculatePercentOnMove(event: MouseEvent | TouchEvent): number {\n const sliderRect = this.sliderElement.getBoundingClientRect();\n let percent: number;\n if (this.isHorizontal()) {\n const clientX = event instanceof MouseEvent ? event.clientX : (event as TouchEvent).touches[0].clientX;\n const x = clientX - sliderRect.left;\n percent = (x / sliderRect.width) * 100;\n } else {\n const clientY = event instanceof MouseEvent ? event.clientY : (event as TouchEvent).touches[0].clientY;\n const y = -(clientY - sliderRect.bottom); //reverce slider from bottom to top\n percent = (y / sliderRect.height) * 100;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 100) {\n percent = 100;\n }\n return percent;\n }\n\n /**\n * @ignore\n */\n private roundToStep(value: number): number {\n const lower = Math.max(this.min(), Math.floor((value - this.min()) / this.step()) * this.step() + this.min());\n const upper = Math.min(this.max(), lower + this.step());\n if (value - lower < upper - value) {\n return lower;\n } else {\n return upper;\n }\n }\n\n /**\n * @ignore\n */\n private checkValue(x: number): boolean {\n if (x >= this.min() && x <= this.max()) return true;\n else return false;\n }\n /**\n * @ignore\n */\n private checkValues(value1: number, y: 'first' | 'second', value2: number): boolean {\n if (value1 >= this.min() && value1 <= this.max()) {\n if (y === 'first') {\n if (value1 <= value2 && value2 <= this.max()) return true;\n else return false;\n } else {\n if (value1 >= value2 && value2 >= this.min()) return true;\n else return false;\n }\n } else return false;\n }\n /**\n * @ignore\n */\n protected getValueFromPercent(value: number) {\n return this.min() + (value * (this.max() - this.min())) / 100;\n }\n /**\n * @ignore\n */\n protected getPercantage(value: number): number {\n return this.range() !== 0 ? (value / this.range()) * 100 : 0;\n }\n /**\n * Increase a step to value if slider in single mode\n * and increase a step the second value if slider in dual mode\n * @method increaseStep\n */\n public increaseStep(): void {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[1] + this.step());\n this.values.set([this.values()[0], newValue]);\n } else {\n const newValue = this.roundToStep((this.values() as number) + this.step());\n this.values.set(newValue);\n }\n }\n /**\n * Decrease a step to value if slider in single mode\n * and decrease a step the second value if slider in dual mode\n * @method decreaseStep\n */\n public decreaseStep() {\n if (this.isDual()) {\n const newValue = this.roundToStep(this.values()[0] - this.step());\n this.values.set([newValue, this.values()[1]]);\n } else {\n const newValue = this.roundToStep((this.values() as number) - this.step());\n this.values.set(newValue);\n }\n }\n /**\n * @ignore\n */\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n this.isUserInteraction = true;\n\n this.zone.runOutsideAngular(() => {\n event.preventDefault();\n if (!this.choosenHandler || this.readonly || this.disabled || !this.correctMinMax()) return;\n let newValue;\n if (this.isDual()) {\n if (event.deltaY < 0) {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) + this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values()[0] !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) + this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) + this.step());\n if (newValue <= this.max() && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) + this.step())]);\n }\n }\n } else {\n if (this.choosenHandler === 'first') {\n newValue = this.roundToStep((this.values()[0] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[1]) && this.values() !== newValue) {\n this.values.update((old) => [this.roundToStep((old[0] as number) - this.step()), old[1]]);\n }\n } else {\n newValue = this.roundToStep((this.values()[1] as number) - this.step());\n if (this.checkValues(newValue, this.choosenHandler, this.values()[0]) && this.values()[1] !== newValue) {\n this.values.update((old) => [old[0], this.roundToStep((old[1] as number) - this.step())]);\n }\n }\n }\n } else {\n if (event.deltaY < 0) {\n if (this.checkValue(this.roundToStep((this.values() as number) + this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) + this.step()));\n }\n } else {\n if (this.checkValue(this.roundToStep((this.values() as number) - this.step()))) {\n this.values.update((old) => this.roundToStep((old as number) - this.step()));\n }\n }\n }\n });\n }\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [\n `ax-${this.color()}`,\n `${this.disabled ? 'ax-state-disabled' : ''}`,\n `${this.readonly ? 'ax-state-readonly' : ''}`,\n ];\n }\n}\n","@if (correctMinMax()) {\n <div class=\"ax-range-slider\" [class]=\"'ax-orientation-' + orientation()\">\n <div class=\"ax-range-slider-bar\" (mousedown)=\"onStartBar($event)\" (touchstart)=\"onStartBar($event)\"></div>\n <div\n class=\"ax-range-slider-highlight\"\n [ngStyle]=\"AXRangeSliderHighlight()\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n ></div>\n\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler1()\"\n name=\"first\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ isDual() ? values()[0] : values() }}</div>\n }\n </div>\n\n @if (isDual()) {\n <div\n class=\"ax-range-slider-handler\"\n [ngStyle]=\"AXRangeSliderHandler2()\"\n name=\"second\"\n (mousedown)=\"onStartBar($event)\"\n (touchstart)=\"onStartBar($event)\"\n >\n @if (hasTooltip()) {\n <div class=\"ax-range-slider-tooltip\">{{ values()[1] }}</div>\n }\n </div>\n }\n @if (hasSnap()) {\n <div class=\"ax-range-slider-step\" [ngStyle]=\"AXRangeSliderStep()\">\n @for (item of calculateSnapBar(); track $index) {\n <div\n class=\"ax-range-slider-steps\"\n [ngStyle]=\"isHorizontal() ? { left: getPercantage(item) + '%' } : { bottom: getPercantage(item) + '%' }\"\n >\n @if (hasLable()) {\n <div class=\"ax-range-slider-label\" [ngStyle]=\"AXRangeLabel()\">\n {{ item + min() }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRangeSliderComponent } from './range-slider.component';\n\n@NgModule({\n imports: [CommonModule, AXRangeSliderComponent],\n exports: [AXRangeSliderComponent],\n})\nexport class AXRangeSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { AXTranslatorPipe, AXTranslationModule } from '@acorex/core/translation'
|
|
|
9
9
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
10
10
|
import { NgTemplateOutlet, NgClass, AsyncPipe, CommonModule } from '@angular/common';
|
|
11
11
|
import * as i0 from '@angular/core';
|
|
12
|
-
import { input, inject, ElementRef, signal, linkedSignal, afterNextRender, forwardRef, HostListener, ViewChild, ContentChild, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
12
|
+
import { input, inject, ElementRef, signal, linkedSignal, computed, afterNextRender, forwardRef, HostListener, ViewChild, ContentChild, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
13
13
|
import * as i1 from '@angular/forms';
|
|
14
14
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
15
15
|
import { isEqual, get, last, findLastIndex, nth } from 'lodash-es';
|
|
@@ -66,6 +66,20 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
|
|
|
66
66
|
/** @ignore */
|
|
67
67
|
this._dropdownHeight = signal('auto', /* @ts-ignore */
|
|
68
68
|
...(ngDevMode ? [{ debugName: "_dropdownHeight" }] : /* istanbul ignore next */ []));
|
|
69
|
+
/**
|
|
70
|
+
* Pixel height for the popover list and CDK viewport. Uses the sized height
|
|
71
|
+
* when known, otherwise the standard `maxVisibleItems × itemHeight` viewport.
|
|
72
|
+
* Always a pixel value so virtual scroll has a definite size on first open.
|
|
73
|
+
* @ignore
|
|
74
|
+
*/
|
|
75
|
+
this._panelMinHeight = computed(() => {
|
|
76
|
+
const current = this._dropdownHeight();
|
|
77
|
+
if (current !== 'auto') {
|
|
78
|
+
return current;
|
|
79
|
+
}
|
|
80
|
+
return `${this._getStandardListHeightPx()}px`;
|
|
81
|
+
}, /* @ts-ignore */
|
|
82
|
+
...(ngDevMode ? [{ debugName: "_panelMinHeight" }] : /* istanbul ignore next */ []));
|
|
69
83
|
/** @ignore */
|
|
70
84
|
this._listDataSource = convertArrayToDataSource([], {
|
|
71
85
|
key: this.valueField,
|
|
@@ -205,6 +219,8 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
|
|
|
205
219
|
/** @ignore */
|
|
206
220
|
_handleOnOpenedEvent(e) {
|
|
207
221
|
if (!this.renderList()) {
|
|
222
|
+
// Size the list before it mounts so CDK virtual scroll has a definite viewport.
|
|
223
|
+
this._dropdownHeight.set(`${this._getStandardListHeightPx()}px`);
|
|
208
224
|
this.renderList.set(true);
|
|
209
225
|
}
|
|
210
226
|
else if (!this._listDataSource.totalCount || this._listDataSource.totalCount == 0) {
|
|
@@ -290,21 +306,29 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
|
|
|
290
306
|
if (this.searchBox && this.searchBox?.value)
|
|
291
307
|
this.searchBox.commitValue('', false);
|
|
292
308
|
}
|
|
309
|
+
_getListItemPx() {
|
|
310
|
+
return typeof this.itemHeight() === 'number' ? this.itemHeight() : 40;
|
|
311
|
+
}
|
|
312
|
+
_getMaxVisibleItems() {
|
|
313
|
+
return Math.max(Number(this.maxVisibleItems()) || 5, 1);
|
|
314
|
+
}
|
|
315
|
+
/** Standard popover list height: `maxVisibleItems` rows (default 5). */
|
|
316
|
+
_getStandardListHeightPx() {
|
|
317
|
+
return this._getMaxVisibleItems() * this._getListItemPx();
|
|
318
|
+
}
|
|
293
319
|
/** @ignore */
|
|
294
|
-
setDropdownSize(
|
|
295
|
-
const itemPx =
|
|
320
|
+
setDropdownSize(_count = 0) {
|
|
321
|
+
const itemPx = this._getListItemPx();
|
|
296
322
|
const isActionsheet = this.dropdown.isActionsheetStyle;
|
|
323
|
+
const listHeight = `${this._getStandardListHeightPx()}px`;
|
|
297
324
|
if (isActionsheet) {
|
|
298
325
|
this._dropdownWidth.set('100%');
|
|
299
|
-
|
|
300
|
-
const maxItems = Math.max(Number(this.maxVisibleItems()) || 5, 1);
|
|
301
|
-
this._dropdownHeight.set(`${Math.min(maxItems, Math.max(count, 1)) * itemPx}px`);
|
|
326
|
+
this._dropdownHeight.set(listHeight);
|
|
302
327
|
}
|
|
303
328
|
else {
|
|
304
329
|
const hostWidth = Math.max(this.getHostElement().offsetWidth, Number(this.dropdownWidth()) || 0);
|
|
305
|
-
const maxItems = Number(this.maxVisibleItems());
|
|
306
330
|
this._dropdownWidth.set(`${hostWidth}px`);
|
|
307
|
-
this._dropdownHeight.set(
|
|
331
|
+
this._dropdownHeight.set(listHeight);
|
|
308
332
|
}
|
|
309
333
|
setTimeout(() => {
|
|
310
334
|
this._fitListHeightToAvailableSpace(itemPx);
|
|
@@ -351,7 +375,10 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
|
|
|
351
375
|
nextHeight = Math.max(itemPx, nextHeight - overflow);
|
|
352
376
|
}
|
|
353
377
|
// Keep height as whole rows so the last item is never permanently cropped.
|
|
354
|
-
|
|
378
|
+
// Prefer the standard viewport; only go shorter when the overlay/viewport is smaller.
|
|
379
|
+
const standardHeight = this._getStandardListHeightPx();
|
|
380
|
+
const fittedHeight = Math.max(itemPx, Math.floor(nextHeight / itemPx) * itemPx);
|
|
381
|
+
nextHeight = overflow > 1 ? fittedHeight : Math.max(standardHeight, fittedHeight);
|
|
355
382
|
const current = parseFloat(this._dropdownHeight());
|
|
356
383
|
if (!Number.isFinite(current) || nextHeight !== current) {
|
|
357
384
|
this._dropdownHeight.set(`${nextHeight}px`);
|
|
@@ -495,7 +522,7 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
|
|
|
495
522
|
useClass: MXSelectionBridgeService,
|
|
496
523
|
},
|
|
497
524
|
AXUnsubscriber,
|
|
498
|
-
], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [disabled]=\"disabled\"\n [look]=\"look\"\n [popoverWidth]=\"dropdownWidth()\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div\n class=\"ax-editor ax-chips-container ax-content ax-input\"\n [class.ax-state-multiple]=\"multiple\"\n [tabindex]=\"tabIndex\"\n >\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder | translate | async }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if (selectedTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item } }\"\n ></ng-template>\n } @else {\n @if (multiple) {\n <ax-tag\n color=\"primary\"\n look=\"twotone\"\n [text]=\"getDisplayText(item) | translate | async\"\n >\n @if (!disabled && !readonly) {\n <ax-suffix>\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"></span>\n </ax-suffix>\n }\n </ax-tag>\n } @else {\n {{ getDisplayText(item) | translate | async }}\n }\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button-icon\">\n @if (isLoading()) {\n <ax-loading-spinner [size]=\"16\" [stroke]=\"1\"></ax-loading-spinner>\n } @else {\n <span\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': !isOpen,\n 'ax-icon-chevron-up': isOpen,\n }\"\n ></span>\n }\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div\n #panel\n class=\"ax-select-box-panel\"\n [class.ax-no-truncate]=\"!isItemTruncated()\"\n [style.min-width]=\"_dropdownWidth()\"\n >\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || '@acorex:selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList()) {\n <ax-list\n [name]=\"name\"\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [itemHeight]=\"itemHeight()\"\n [itemTemplate]=\"itemTemplate\"\n [textTemplate]=\"textTemplate\"\n [dataSource]=\"_listDataSource\"\n [style.height]=\"_dropdownHeight()\"\n [loadingTemplate]=\"loadingTemplate\"\n [isItemTruncated]=\"isItemTruncated()\"\n [showItemTooltip]=\"showItemTooltip()\"\n (onItemClick)=\"_handleItemClick($event)\"\n [emptyTemplate]=\"emptyTemplate ?? empty\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n (onItemSelected)=\"_handleItemSelected($event)\"\n >\n </ax-list>\n <ng-template #empty>\n {{ '@acorex:common.general.no-result-found' | translate | async }}\n </ng-template>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template [ngTemplateOutlet]=\"loadingTemplate\"></ng-template>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["@layer properties;@layer components{ax-select-box .ax-editor-container{padding-block:calc(var(--spacing, .25rem) * 0)}ax-select-box .ax-editor-container.ax-state-multiple{padding-inline:calc(var(--spacing, .25rem) * 1)}ax-select-box .ax-editor-container.ax-state-multiple .ax-placeholder{padding-inline-start:calc(var(--spacing, .25rem) * 2)}ax-select-box .ax-editor-container .ax-input,ax-select-box .ax-editor-container .ax-editor{padding-block:calc(var(--spacing, .25rem) * 1)}ax-select-box ax-dropdown-box.ax-state-multiple{height:auto!important;min-height:var(--ax-comp-editor-height);--ax-comp-editor-space-start-size: 0}ax-select-box .ax-chips-container{display:flex;min-height:var(--ax-sys-size-base);min-width:calc(var(--spacing, .25rem) * 0);flex:1;cursor:pointer!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--ax-comp-select-box-chips-gap,.25rem);outline-style:var(--tw-outline-style);outline-width:0px;outline-color:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-chips-container .ax-selectbox-input{width:calc(var(--spacing, .25rem) * 0);opacity:0%}ax-select-box .ax-chips-container.ax-state-multiple:has(.ax-chips){padding:var(--ax-comp-select-box-chips-container-padding, .25rem)}ax-select-box .ax-chips-container ax-tag ax-prefix,ax-select-box .ax-chips-container ax-tag ax-suffix{padding:calc(var(--spacing, .25rem) * 0)!important}.ax-select-box-panel{display:flex;height:fit-content;max-height:100%;flex-direction:column;overflow:hidden}.ax-select-box-panel.ax-no-truncate .ax-label-container span:not(.ax-truncated){white-space:nowrap}.ax-select-box-panel .ax-select-box-loading-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}.ax-select-box-panel ax-list{min-height:calc(var(--spacing, .25rem) * 0);flex-shrink:1;flex-grow:0}.ax-select-box-panel>ax-header .ax-icon-check{color:rgba(var(--ax-sys-color-primary-surface))}.ax-select-box-panel>ax-header.ax-solid{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-select-box-panel>ax-header.ax-solid ax-title{font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(max-width:40rem){.ax-select-box-panel .list-item{padding-inline:1rem}}}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style: solid;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "component", type: AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "textTemplate", "disabledField", "multiple", "selectionMode", "isItemTruncated", "showItemTooltip", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readonlyChange", "onBlur", "onFocus", "onItemClick", "onItemSelected", "onScrolledIndexChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTagComponent, selector: "ax-tag", inputs: ["color", "look", "text"], outputs: ["onClick", "onDblClick", "onContextMenu"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
525
|
+
], queries: [{ propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true }], viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [disabled]=\"disabled\"\n [look]=\"look\"\n [popoverWidth]=\"dropdownWidth()\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div\n class=\"ax-editor ax-chips-container ax-content ax-input\"\n [class.ax-state-multiple]=\"multiple\"\n [tabindex]=\"tabIndex\"\n >\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder | translate | async }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if (selectedTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item } }\"\n ></ng-template>\n } @else {\n @if (multiple) {\n <ax-tag\n color=\"primary\"\n look=\"twotone\"\n [text]=\"getDisplayText(item) | translate | async\"\n >\n @if (!disabled && !readonly) {\n <ax-suffix>\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"></span>\n </ax-suffix>\n }\n </ax-tag>\n } @else {\n {{ getDisplayText(item) | translate | async }}\n }\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button-icon\">\n @if (isLoading()) {\n <ax-loading-spinner [size]=\"16\" [stroke]=\"1\"></ax-loading-spinner>\n } @else {\n <span\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': !isOpen,\n 'ax-icon-chevron-up': isOpen,\n }\"\n ></span>\n }\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div\n #panel\n class=\"ax-select-box-panel\"\n [class.ax-no-truncate]=\"!isItemTruncated()\"\n [style.min-width]=\"_dropdownWidth()\"\n [style.--ax-comp-select-box-panel-min-height]=\"_panelMinHeight()\"\n >\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || '@acorex:selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList()) {\n <ax-list\n [name]=\"name\"\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [itemHeight]=\"itemHeight()\"\n [itemTemplate]=\"itemTemplate\"\n [textTemplate]=\"textTemplate\"\n [dataSource]=\"_listDataSource\"\n [style.height]=\"_panelMinHeight()\"\n [loadingTemplate]=\"loadingTemplate\"\n [isItemTruncated]=\"isItemTruncated()\"\n [showItemTooltip]=\"showItemTooltip()\"\n (onItemClick)=\"_handleItemClick($event)\"\n [emptyTemplate]=\"emptyTemplate ?? empty\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n (onItemSelected)=\"_handleItemSelected($event)\"\n >\n </ax-list>\n <ng-template #empty>\n {{ '@acorex:common.general.no-result-found' | translate | async }}\n </ng-template>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template [ngTemplateOutlet]=\"loadingTemplate\"></ng-template>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["@layer properties;@layer components{ax-select-box{display:block;min-height:var(--ax-sys-size-base);width:100%}ax-select-box .ax-editor-container{padding-block:calc(var(--spacing, .25rem) * 0)}ax-select-box .ax-editor-container.ax-state-multiple{padding-inline:calc(var(--spacing, .25rem) * 1)}ax-select-box .ax-editor-container.ax-state-multiple .ax-placeholder{padding-inline-start:calc(var(--spacing, .25rem) * 2)}ax-select-box .ax-editor-container .ax-input,ax-select-box .ax-editor-container .ax-editor{padding-block:calc(var(--spacing, .25rem) * 1)}ax-select-box ax-dropdown-box.ax-state-multiple{height:auto!important;min-height:var(--ax-sys-size-base);--ax-comp-editor-space-start-size: 0}ax-select-box .ax-chips-container{display:flex;min-height:var(--ax-sys-size-base);min-width:calc(var(--spacing, .25rem) * 0);flex:1;cursor:pointer!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--ax-comp-select-box-chips-gap,.25rem);outline-style:var(--tw-outline-style);outline-width:0px;outline-color:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-chips-container .ax-selectbox-input{width:calc(var(--spacing, .25rem) * 0);opacity:0%}ax-select-box .ax-chips-container.ax-state-multiple:has(.ax-chips){padding:var(--ax-comp-select-box-chips-container-padding, .25rem)}ax-select-box .ax-chips-container ax-tag ax-prefix,ax-select-box .ax-chips-container ax-tag ax-suffix{padding:calc(var(--spacing, .25rem) * 0)!important}.ax-select-box-panel{--ax-comp-select-box-panel-min-height: calc(var(--ax-sys-size-base) * 5);min-height:var(--ax-comp-select-box-panel-min-height);display:flex;height:fit-content;max-height:100%;flex-direction:column;overflow:hidden}.ax-select-box-panel.ax-no-truncate .ax-label-container span:not(.ax-truncated){white-space:nowrap}.ax-select-box-panel .ax-select-box-loading-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}.ax-select-box-panel ax-list{flex-shrink:1;flex-grow:0;min-height:var(--ax-comp-select-box-panel-min-height)}.ax-select-box-panel ax-list .cdk-virtual-scroll-viewport,.ax-select-box-panel ax-list .empty-container{min-height:var(--ax-comp-select-box-panel-min-height)}.ax-select-box-panel>ax-header .ax-icon-check{color:rgba(var(--ax-sys-color-primary-surface))}.ax-select-box-panel>ax-header.ax-solid{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-select-box-panel>ax-header.ax-solid ax-title{font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(max-width:40rem){.ax-select-box-panel .list-item{padding-inline:1rem}}}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style: solid;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "component", type: AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "textTemplate", "disabledField", "multiple", "selectionMode", "isItemTruncated", "showItemTooltip", "dataSource", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readonlyChange", "onBlur", "onFocus", "onItemClick", "onItemSelected", "onScrolledIndexChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXTagComponent, selector: "ax-tag", inputs: ["color", "look", "text"], outputs: ["onClick", "onDblClick", "onContextMenu"] }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
499
526
|
}
|
|
500
527
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
|
|
501
528
|
type: Component,
|
|
@@ -559,7 +586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
559
586
|
AXTranslatorPipe,
|
|
560
587
|
AXTagComponent,
|
|
561
588
|
AXLoadingSpinnerComponent,
|
|
562
|
-
], template: "<ax-dropdown-box\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [disabled]=\"disabled\"\n [look]=\"look\"\n [popoverWidth]=\"dropdownWidth()\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div\n class=\"ax-editor ax-chips-container ax-content ax-input\"\n [class.ax-state-multiple]=\"multiple\"\n [tabindex]=\"tabIndex\"\n >\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder | translate | async }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if (selectedTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item } }\"\n ></ng-template>\n } @else {\n @if (multiple) {\n <ax-tag\n color=\"primary\"\n look=\"twotone\"\n [text]=\"getDisplayText(item) | translate | async\"\n >\n @if (!disabled && !readonly) {\n <ax-suffix>\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"></span>\n </ax-suffix>\n }\n </ax-tag>\n } @else {\n {{ getDisplayText(item) | translate | async }}\n }\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button-icon\">\n @if (isLoading()) {\n <ax-loading-spinner [size]=\"16\" [stroke]=\"1\"></ax-loading-spinner>\n } @else {\n <span\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': !isOpen,\n 'ax-icon-chevron-up': isOpen,\n }\"\n ></span>\n }\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div\n #panel\n class=\"ax-select-box-panel\"\n [class.ax-no-truncate]=\"!isItemTruncated()\"\n [style.min-width]=\"_dropdownWidth()\"\n >\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || '@acorex:selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList()) {\n <ax-list\n [name]=\"name\"\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [itemHeight]=\"itemHeight()\"\n [itemTemplate]=\"itemTemplate\"\n [textTemplate]=\"textTemplate\"\n [dataSource]=\"_listDataSource\"\n [style.height]=\"
|
|
589
|
+
], template: "<ax-dropdown-box\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [disabled]=\"disabled\"\n [look]=\"look\"\n [popoverWidth]=\"dropdownWidth()\"\n>\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div\n class=\"ax-editor ax-chips-container ax-content ax-input\"\n [class.ax-state-multiple]=\"multiple\"\n [tabindex]=\"tabIndex\"\n >\n @if (selectedItems.length === 0) {\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder | translate | async }}\n </div>\n }\n @for (item of selectedItems; track $index) {\n @if (selectedTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"selectedTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { data: item } }\"\n ></ng-template>\n } @else {\n @if (multiple) {\n <ax-tag\n color=\"primary\"\n look=\"twotone\"\n [text]=\"getDisplayText(item) | translate | async\"\n >\n @if (!disabled && !readonly) {\n <ax-suffix>\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"></span>\n </ax-suffix>\n }\n </ax-tag>\n } @else {\n {{ getDisplayText(item) | translate | async }}\n }\n }\n }\n </div>\n @if (selectedItems?.length && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button-icon\">\n @if (isLoading()) {\n <ax-loading-spinner [size]=\"16\" [stroke]=\"1\"></ax-loading-spinner>\n } @else {\n <span\n class=\"ax-icon\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': !isOpen,\n 'ax-icon-chevron-up': isOpen,\n }\"\n ></span>\n }\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-template #search>\n <ng-content select=\"ax-search-box\"> </ng-content>\n </ng-template>\n </ng-container>\n <ng-container panel>\n <div\n #panel\n class=\"ax-select-box-panel\"\n [class.ax-no-truncate]=\"!isItemTruncated()\"\n [style.min-width]=\"_dropdownWidth()\"\n [style.--ax-comp-select-box-panel-min-height]=\"_panelMinHeight()\"\n >\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || '@acorex:selectbox.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\n <div class=\"ax-search-container\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n </div>\n }\n @if (renderList()) {\n <ax-list\n [name]=\"name\"\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [itemHeight]=\"itemHeight()\"\n [itemTemplate]=\"itemTemplate\"\n [textTemplate]=\"textTemplate\"\n [dataSource]=\"_listDataSource\"\n [style.height]=\"_panelMinHeight()\"\n [loadingTemplate]=\"loadingTemplate\"\n [isItemTruncated]=\"isItemTruncated()\"\n [showItemTooltip]=\"showItemTooltip()\"\n (onItemClick)=\"_handleItemClick($event)\"\n [emptyTemplate]=\"emptyTemplate ?? empty\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n (onItemSelected)=\"_handleItemSelected($event)\"\n >\n </ax-list>\n <ng-template #empty>\n {{ '@acorex:common.general.no-result-found' | translate | async }}\n </ng-template>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template [ngTemplateOutlet]=\"loadingTemplate\"></ng-template>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["@layer properties;@layer components{ax-select-box{display:block;min-height:var(--ax-sys-size-base);width:100%}ax-select-box .ax-editor-container{padding-block:calc(var(--spacing, .25rem) * 0)}ax-select-box .ax-editor-container.ax-state-multiple{padding-inline:calc(var(--spacing, .25rem) * 1)}ax-select-box .ax-editor-container.ax-state-multiple .ax-placeholder{padding-inline-start:calc(var(--spacing, .25rem) * 2)}ax-select-box .ax-editor-container .ax-input,ax-select-box .ax-editor-container .ax-editor{padding-block:calc(var(--spacing, .25rem) * 1)}ax-select-box ax-dropdown-box.ax-state-multiple{height:auto!important;min-height:var(--ax-sys-size-base);--ax-comp-editor-space-start-size: 0}ax-select-box .ax-chips-container{display:flex;min-height:var(--ax-sys-size-base);min-width:calc(var(--spacing, .25rem) * 0);flex:1;cursor:pointer!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--ax-comp-select-box-chips-gap,.25rem);outline-style:var(--tw-outline-style);outline-width:0px;outline-color:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-chips-container .ax-selectbox-input{width:calc(var(--spacing, .25rem) * 0);opacity:0%}ax-select-box .ax-chips-container.ax-state-multiple:has(.ax-chips){padding:var(--ax-comp-select-box-chips-container-padding, .25rem)}ax-select-box .ax-chips-container ax-tag ax-prefix,ax-select-box .ax-chips-container ax-tag ax-suffix{padding:calc(var(--spacing, .25rem) * 0)!important}.ax-select-box-panel{--ax-comp-select-box-panel-min-height: calc(var(--ax-sys-size-base) * 5);min-height:var(--ax-comp-select-box-panel-min-height);display:flex;height:fit-content;max-height:100%;flex-direction:column;overflow:hidden}.ax-select-box-panel.ax-no-truncate .ax-label-container span:not(.ax-truncated){white-space:nowrap}.ax-select-box-panel .ax-select-box-loading-container{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 4)}.ax-select-box-panel ax-list{flex-shrink:1;flex-grow:0;min-height:var(--ax-comp-select-box-panel-min-height)}.ax-select-box-panel ax-list .cdk-virtual-scroll-viewport,.ax-select-box-panel ax-list .empty-container{min-height:var(--ax-comp-select-box-panel-min-height)}.ax-select-box-panel>ax-header .ax-icon-check{color:rgba(var(--ax-sys-color-primary-surface))}.ax-select-box-panel>ax-header.ax-solid{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}.ax-select-box-panel>ax-header.ax-solid ax-title{font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-leading: calc(var(--spacing, .25rem) * 6);line-height:calc(var(--spacing, .25rem) * 6);--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}@media(max-width:40rem){.ax-select-box-panel .list-item{padding-inline:1rem}}}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: \"*\"; inherits: false;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style: solid;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial}}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
|
|
563
590
|
}], propDecorators: { isItemTruncated: [{ type: i0.Input, args: [{ isSignal: true, alias: "isItemTruncated", required: false }] }], showItemTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showItemTooltip", required: false }] }], itemHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeight", required: false }] }], maxVisibleItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxVisibleItems", required: false }] }], dataSource: [{
|
|
564
591
|
type: Input
|
|
565
592
|
}], placeholder: [{
|