@qualcomm-ui/core 1.0.6 → 1.0.8

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/slider/index.ts", "../../src/slider/slider.machine.ts", "../../src/slider/slider.dom.ts", "../../src/slider/slider.utils.ts", "../../src/slider/slider.api.ts", "../../src/slider/slider.style.ts", "../../src/slider/slider.props.ts"],
4
- "sourcesContent": ["export * from \"./slider.machine\"\nexport * from \"./slider.types\"\nexport * from \"./slider.api\"\nexport * from \"./slider.props\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {trackElementRect} from \"@qualcomm-ui/dom/dom-query\"\nimport {\n raf,\n setElementValue,\n trackFormControl,\n trackPointerMove,\n} from \"@qualcomm-ui/dom/query\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {createMachine, type MachineConfig} from \"@qualcomm-ui/utils/machine\"\nimport {getValuePercent, setValueAtIndex} from \"@qualcomm-ui/utils/number\"\nimport {pick} from \"@qualcomm-ui/utils/object\"\n\nimport {\n dispatchChangeEvent,\n domEls,\n getOffsetRect,\n getPointValue,\n getThumbEls,\n} from \"./slider.dom\"\nimport type {SliderSchema} from \"./slider.types\"\nimport {\n constrainValue,\n decrement,\n getClosestIndex,\n getRangeAtIndex,\n increment,\n isEqualSize,\n normalize,\n normalizeValues,\n} from \"./slider.utils\"\n\nexport const sliderMachine: MachineConfig<SliderSchema> =\n createMachine<SliderSchema>({\n actions: {\n clearFocusedIndex({context}) {\n context.set(\"focusedIndex\", -1)\n },\n decrementThumbAtIndex(params) {\n const {context, event} = params\n const {index, step} = event as {index?: number; step?: number}\n const value = decrement(params, index, step)\n context.set(\"value\", value)\n },\n dispatchChangeEvent({context, scope}) {\n dispatchChangeEvent(scope, context.get(\"value\"))\n },\n focusActiveThumb({context, scope}) {\n raf(() => {\n const thumbEl = domEls.thumb(\n scope,\n context.get(\"focusedIndex\").toString(),\n )\n thumbEl?.focus({preventScroll: true})\n })\n },\n incrementThumbAtIndex(params) {\n const {context, event} = params\n const {index, step} = event as {index?: number; step?: number}\n const value = increment(params, index, step)\n context.set(\"value\", value)\n },\n invokeOnChangeEnd({context, prop}) {\n queueMicrotask(() => {\n prop(\"onValueChangeEnd\")?.({value: context.get(\"value\")})\n })\n },\n setClosestThumbIndex(params) {\n const {context, event} = params\n\n if (!(\"point\" in event)) {\n return\n }\n const pointValue = getPointValue(params, event.point)\n if (pointValue == null) {\n return\n }\n\n const focusedIndex = getClosestIndex(params, pointValue)\n context.set(\"focusedIndex\", focusedIndex)\n },\n setFocusedIndex({context, event}) {\n if (!(\"index\" in event)) {\n return\n }\n context.set(\"focusedIndex\", event.index as number)\n },\n setFocusedThumbToMax(params) {\n const {context} = params\n const index = context.get(\"focusedIndex\")\n const {max} = getRangeAtIndex(params, index)\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max))\n },\n setFocusedThumbToMin(params) {\n const {context} = params\n const index = context.get(\"focusedIndex\")\n const {min} = getRangeAtIndex(params, index)\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min))\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const {context, event} = params\n if (!(\"point\" in event)) {\n return\n }\n const pointValue = getPointValue(params, event.point)\n if (pointValue == null) {\n return\n }\n\n const focusedIndex = context.get(\"focusedIndex\")\n const value = constrainValue(params, pointValue, focusedIndex)\n context.set(\"value\", (prev) =>\n setValueAtIndex(prev, focusedIndex, value),\n )\n })\n },\n setValue(params) {\n const {context, event} = params\n if (!(\"value\" in event)) {\n return\n }\n const value = normalizeValues(params, event.value as number[])\n context.set(\"value\", value)\n },\n setValueAtIndex(params) {\n const {context, event} = params\n if (!(\"index\" in event && \"value\" in event)) {\n return\n }\n const value = constrainValue(\n params,\n event.value as number,\n event.index as number,\n )\n context.set(\"value\", (prev) =>\n setValueAtIndex(prev, event.index as number, value),\n )\n },\n syncInputElements({context, scope}) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = domEls.hiddenInput(scope, index.toString())\n setElementValue(inputEl as HTMLInputElement, value.toString())\n })\n },\n },\n\n computed: {\n hasMeasuredThumbSize: ({context}) => context.get(\"thumbSize\") != null,\n isDisabled: ({context, prop}) =>\n !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isHorizontal: ({prop}) => prop(\"orientation\") === \"horizontal\",\n isInteractive: ({computed, prop}) =>\n !(prop(\"readOnly\") || computed(\"isDisabled\")),\n isRtl: ({prop}) =>\n prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isVertical: ({prop}) => prop(\"orientation\") === \"vertical\",\n valuePercent({context, prop}) {\n return context\n .get(\"value\")\n .map(\n (value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")),\n )\n },\n },\n\n context({bindable, getContext, prop}) {\n return {\n fieldsetDisabled: bindable(() => ({\n defaultValue: false,\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext()\n prop(\"onFocusChange\")?.({\n focusedIndex: value,\n value: ctx.get(\"value\"),\n })\n },\n })),\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null,\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n hash(a) {\n return a.join(\",\")\n },\n isEqual,\n onChange(value) {\n prop(\"onValueChange\")?.({value})\n },\n value: prop(\"value\"),\n })),\n }\n },\n\n effects: {\n trackFormControlState({context, scope}) {\n return trackFormControl(domEls.root(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\")!)\n },\n })\n },\n\n trackPointerMove({scope, send}) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({point: info.point, type: \"POINTER_MOVE\"})\n },\n onPointerUp() {\n send({type: \"POINTER_UP\"})\n },\n })\n },\n\n trackThumbSize({context, prop, scope}): undefined | (() => void) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) {\n return\n }\n\n return trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el)\n },\n onEntry({rects}) {\n if (rects.length === 0) {\n return\n }\n const size = pick(rects[0], [\"width\", \"height\"])\n if (isEqualSize(context.get(\"thumbSize\"), size)) {\n return\n }\n context.set(\"thumbSize\", size)\n },\n })\n },\n },\n\n guards: {\n hasIndex: ({event}) => \"index\" in event && event.index != null,\n },\n\n ids: ({bindableId, bindableIdCollection}) => {\n return {\n control: bindableId<string>(),\n errorText: bindableId<string>(),\n hiddenInput: bindableIdCollection<string>(),\n hint: bindableId<string>(),\n label: bindableId<string>(),\n marker: bindableIdCollection<string>(),\n markerGroup: bindableId<string>(),\n maxMarker: bindableId<string>(),\n minMarker: bindableId<string>(),\n range: bindableId<string>(),\n root: bindableId<string>(),\n thumb: bindableIdCollection<string>(),\n track: bindableId<string>(),\n valueText: bindableId<string>(),\n }\n },\n\n initialState: () => \"idle\",\n\n on: {\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"],\n },\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"],\n },\n SET_VALUE: [\n {\n actions: [\"setValueAtIndex\"],\n guard: \"hasIndex\",\n },\n {\n actions: [\"setValue\"],\n },\n ],\n },\n\n onInit: {\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n },\n\n props({props}) {\n const min = props.min ?? 0\n const max = props.max ?? 100\n const step = props.step ?? 1\n const defaultValue = props.defaultValue ?? [min]\n const minStepsBetweenThumbs = props.minStepsBetweenThumbs ?? 0\n return {\n dir: \"ltr\",\n minStepsBetweenThumbs,\n orientation: \"horizontal\",\n origin: \"start\",\n thumbAlignment: \"contain\",\n ...props,\n defaultValue: normalize(\n defaultValue,\n min,\n max,\n step,\n minStepsBetweenThumbs,\n ),\n max,\n min,\n step,\n value: props.value\n ? normalize(props.value, min, max, step, minStepsBetweenThumbs)\n : undefined,\n }\n },\n\n states: {\n dragging: {\n effects: [\"trackPointerMove\"],\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_MOVE: {\n actions: [\"setPointerValue\"],\n },\n POINTER_UP: {\n actions: [\"invokeOnChangeEnd\"],\n target: \"focus\",\n },\n },\n },\n\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"],\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"],\n },\n BLUR: {\n actions: [\"clearFocusedIndex\"],\n target: \"idle\",\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"],\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"],\n },\n POINTER_DOWN: {\n actions: [\n \"setClosestThumbIndex\",\n \"setPointerValue\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n THUMB_POINTER_DOWN: {\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"],\n target: \"dragging\",\n },\n },\n },\n\n idle: {\n on: {\n FOCUS: {\n actions: [\"setFocusedIndex\"],\n target: \"focus\",\n },\n POINTER_DOWN: {\n actions: [\n \"setClosestThumbIndex\",\n \"setPointerValue\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n THUMB_POINTER_DOWN: {\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"],\n target: \"dragging\",\n },\n },\n },\n },\n\n watch({actions, context, track}) {\n track([() => context.hash(\"value\")], () => {\n actions[\"syncInputElements\"]()\n actions[\"dispatchChangeEvent\"]()\n })\n },\n })\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n dispatchInputValueEvent,\n getRelativePoint,\n queryAll,\n} from \"@qualcomm-ui/dom/query\"\nimport type {Point} from \"@qualcomm-ui/dom/rect-utils\"\nimport type {\n Params,\n ScopeDomElements,\n ScopeDomIds,\n ScopeWithIds,\n} from \"@qualcomm-ui/utils/machine\"\nimport {getPercentValue} from \"@qualcomm-ui/utils/number\"\n\nimport type {SliderElementIds, SliderSchema} from \"./slider.types\"\n\ntype Scope = ScopeWithIds<SliderSchema>\n\nexport const domIds: ScopeDomIds<SliderElementIds, Scope> = {\n control: (scope) => scope.ids.get(\"control\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hiddenInput: (scope, key) => scope.ids.collection(\"hiddenInput\").get(key),\n hint: (scope) => scope.ids.get(\"hint\"),\n label: (scope) => scope.ids.get(\"label\"),\n marker: (scope, key) => scope.ids.collection(\"marker\").get(key),\n markerGroup: (scope) => scope.ids.get(\"markerGroup\"),\n maxMarker: (scope) => scope.ids.get(\"maxMarker\"),\n minMarker: (scope) => scope.ids.get(\"minMarker\"),\n range: (scope) => scope.ids.get(\"range\"),\n root: (scope) => scope.ids.get(\"root\"),\n thumb: (scope, key) => scope.ids.collection(\"thumb\").get(key),\n track: (scope) => scope.ids.get(\"track\"),\n valueText: (scope) => scope.ids.get(\"valueText\"),\n}\n\nexport const domEls: ScopeDomElements<SliderElementIds, Scope> = {\n control: (scope) => scope.getById(domIds.control(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hiddenInput: (scope, key) => scope.getById(domIds.hiddenInput(scope, key)!),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n label: (scope) => scope.getById(domIds.label(scope)),\n marker: (scope, key) => scope.getById(domIds.marker(scope, key)!),\n markerGroup: (scope) => scope.getById(domIds.markerGroup(scope)),\n maxMarker: (scope) => scope.getById(domIds.maxMarker(scope)),\n minMarker: (scope) => scope.getById(domIds.minMarker(scope)),\n range: (scope) => scope.getById(domIds.range(scope)),\n root: (scope) => scope.getById(domIds.root(scope)),\n thumb: (scope, key) => scope.getById(domIds.thumb(scope, key)!),\n track: (scope) => scope.getById(domIds.track(scope)),\n valueText: (scope) => scope.getById(domIds.valueText(scope)),\n}\n\nexport const getThumbEls = (scope: Scope): HTMLElement[] =>\n queryAll(domEls.control(scope), \"[role=slider]\")\n\nexport const getFirstThumbEl = (scope: Scope): HTMLElement =>\n getThumbEls(scope)[0]\n\nexport const getPointValue = (\n params: Params<SliderSchema>,\n point: Point,\n): number | undefined => {\n const {prop, scope} = params\n const controlEl = domEls.control(scope)\n if (!controlEl) {\n return\n }\n const relativePoint = getRelativePoint(point, controlEl)\n const percent = relativePoint.getPercentValue({\n dir: prop(\"dir\"),\n inverted: {y: true},\n orientation: prop(\"orientation\"),\n })\n return getPercentValue(percent, prop(\"min\")!, prop(\"max\")!, prop(\"step\")!)\n}\n\nexport const dispatchChangeEvent = (scope: Scope, value: number[]): void => {\n value.forEach((value, index) => {\n const inputEl = domEls.hiddenInput(scope, index.toString())\n if (!inputEl) {\n return\n }\n dispatchInputValueEvent(inputEl as HTMLInputElement, {value})\n })\n}\n\nexport const getOffsetRect = (\n el: HTMLElement | undefined,\n): {height: number; left: number; top: number; width: number} => ({\n height: el?.offsetHeight ?? 0,\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n})\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {Params} from \"@qualcomm-ui/utils/machine\"\nimport {\n clampValue,\n getClosestValueIndex,\n getNextStepValue,\n getPreviousStepValue,\n getValueRanges,\n isValueWithinRange,\n snapValueToStep,\n} from \"@qualcomm-ui/utils/number\"\n\nimport type {Size, SliderSchema} from \"./slider.types\"\n\ntype Ctx = Params<SliderSchema>\n\nexport function isEqualSize(a: Size | null, b: Size | null): boolean {\n return a?.width === b?.width && a?.height === b?.height\n}\n\nexport const normalize = (\n value: number[],\n min: number,\n max: number,\n step: number,\n minStepsBetweenThumbs: number,\n): number[] => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step)\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step)\n const rangeValue = clampValue(snapValue, range.min, range.max)\n if (!isValueWithinRange(rangeValue, min, max)) {\n throw new Error(\n \"[@qualcomm-ui/core/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid\",\n )\n }\n return rangeValue\n })\n}\n\nexport function normalizeValues(params: Ctx, nextValues: number[]): number[] {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index)\n })\n}\n\nexport function getRangeAtIndex(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index: number,\n): {\n max: number\n min: number\n} {\n const {context, prop} = params\n const step = prop(\"step\")! * prop(\"minStepsBetweenThumbs\")!\n return getValueRanges(context.get(\"value\"), prop(\"min\")!, prop(\"max\")!, step)[\n index\n ]\n}\n\nexport function constrainValue(\n params: Pick<Ctx, \"context\" | \"prop\">,\n value: number,\n index: number,\n): number {\n const {prop} = params\n const range = getRangeAtIndex(params, index)\n const snapValue = snapValueToStep(\n value,\n prop(\"min\"),\n prop(\"max\"),\n prop(\"step\")!,\n )\n return clampValue(snapValue, range.min, range.max)\n}\n\nexport function decrement(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index?: number,\n step?: number,\n): number[] {\n const {context, prop} = params\n const idx = index ?? context.get(\"focusedIndex\")\n const range = getRangeAtIndex(params, idx)\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\")!,\n values: context.get(\"value\"),\n })\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max)\n return nextValues\n}\n\nexport function increment(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index?: number,\n step?: number,\n): number[] {\n const {context, prop} = params\n const idx = index ?? context.get(\"focusedIndex\")\n const range = getRangeAtIndex(params, idx)\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\")!,\n values: context.get(\"value\"),\n })\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max)\n return nextValues\n}\n\nexport function getClosestIndex(\n params: Pick<Ctx, \"context\" | \"prop\">,\n pointValue: number,\n): number {\n const {context} = params\n return getClosestValueIndex(context.get(\"value\"), pointValue)\n}\n\nexport function assignArray(current: number[], next: number[]): void {\n for (let i = 0; i < next.length; i++) {\n const value = next[i]\n current[i] = value\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getEventKey,\n getEventPoint,\n getEventStep,\n isLeftClick,\n isModifierKey,\n} from \"@qualcomm-ui/dom/query\"\nimport {ensureArray, first, last} from \"@qualcomm-ui/utils/array\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {\n EventKeyMap,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\nimport {getPercentValue, getValuePercent} from \"@qualcomm-ui/utils/number\"\n\nimport {getFirstThumbEl} from \"./slider.dom\"\nimport {\n getControlStyle,\n getMarkerGroupStyle,\n getMarkerStyle,\n getRangeStyle,\n getRootStyle,\n getThumbStyle,\n} from \"./slider.style\"\nimport type {SliderApi, SliderSchema} from \"./slider.types\"\nimport {getRangeAtIndex} from \"./slider.utils\"\n\nexport function createSliderApi(\n store: Machine<SliderSchema>,\n normalize: PropNormalizer,\n): SliderApi {\n const {computed, context, prop, scope, send, state} = store\n\n const ariaLabel = prop(\"aria-label\")\n const ariaLabelledBy = prop(\"aria-labelledby\")\n\n const sliderValue = context.get(\"value\")\n const focusedIndex = context.get(\"focusedIndex\")\n\n const focused = state.matches(\"focus\")\n const dragging = state.matches(\"dragging\")\n\n const readOnly = prop(\"readOnly\")\n const disabled = computed(\"isDisabled\")\n const invalid = !!prop(\"invalid\")\n const interactive = computed(\"isInteractive\")\n\n const isHorizontal = prop(\"orientation\") === \"horizontal\"\n const isVertical = prop(\"orientation\") === \"vertical\"\n\n function getValuePercentFn(value: number) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"))\n }\n\n function getPercentValueFn(percent: number) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"))\n }\n\n function getDefaultMarks(count = 11): number[] {\n const max = prop(\"max\")!\n const min = prop(\"min\")!\n\n if (max <= min) {\n return [min]\n }\n const step = (max - min) / (count - 1)\n return Array.from(\n {length: count},\n (_, i) => Math.round((min + i * step) * 100) / 100,\n )\n }\n\n const commonProps: {\"data-scope\": \"slider\"; dir: Direction | undefined} = {\n \"data-scope\": \"slider\",\n dir: prop(\"dir\"),\n }\n\n return {\n decrement(index) {\n send({index, type: \"DECREMENT\"})\n },\n dragging,\n focus() {\n if (!interactive) {\n return\n }\n send({index: 0, type: \"FOCUS\"})\n },\n focused,\n focusedIndex,\n getDefaultMarks,\n getPercentValue: getPercentValueFn,\n getThumbMax(index) {\n return getRangeAtIndex(store, index).max\n },\n getThumbMin(index) {\n return getRangeAtIndex(store, index).min\n },\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index])\n },\n getThumbValue(index) {\n return sliderValue[index]\n },\n getValuePercent: getValuePercentFn,\n increment(index) {\n send({index, type: \"INCREMENT\"})\n },\n max: prop(\"max\")!,\n min: prop(\"min\")!,\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent)\n send({index, type: \"SET_VALUE\", value})\n },\n setThumbValue(index, value) {\n send({index, type: \"SET_VALUE\", value})\n },\n setValue(value) {\n send({type: \"SET_VALUE\", value})\n },\n value: sliderValue,\n\n // group: bindings\n\n getControlBindings(props) {\n scope.ids.register(\"control\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"control\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n max: prop(\"max\")!,\n min: prop(\"min\")!,\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n if (isModifierKey(event)) {\n return\n }\n\n const point = getEventPoint(event)\n send({point, type: \"POINTER_DOWN\"})\n\n event.preventDefault()\n event.stopPropagation()\n },\n style: getControlStyle(),\n })\n },\n getDraggingIndicatorBindings({index = 0}) {\n const isDragging = index === focusedIndex && dragging\n return normalize.element({\n ...commonProps,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"dragging-indicator\",\n \"data-state\": isDragging ? \"open\" : \"closed\",\n hidden: !isDragging,\n role: \"presentation\",\n style: getThumbStyle(store, index),\n })\n },\n getErrorTextBindings(props) {\n scope.ids.register(\"errorText\", props)\n return normalize.label({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"error-text\",\n hidden: !invalid,\n id: props.id,\n })\n },\n getHiddenInputBindings({id, index = 0, name, onDestroy}) {\n scope.ids\n .collection(\"hiddenInput\")\n .register(index.toString(), id, onDestroy)\n const globalName = prop(\"name\")\n let inputName: string | undefined\n\n if (name) {\n inputName = name\n } else if (typeof globalName === \"string\") {\n if (sliderValue.length === 1) {\n inputName = globalName\n } else if (sliderValue.length === 2) {\n inputName = globalName + index\n }\n } else if (Array.isArray(globalName)) {\n if (sliderValue.length === 1) {\n inputName = globalName[0]\n } else if (sliderValue.length === 2) {\n inputName = globalName[index]\n }\n }\n\n return normalize.input({\n ...commonProps,\n defaultValue: sliderValue[index],\n form: prop(\"form\"),\n hidden: true,\n id,\n name: inputName,\n type: \"text\",\n })\n },\n getHintBindings(props) {\n scope.ids.register(\"hint\", props)\n return normalize.label({\n ...commonProps,\n \"aria-live\": \"polite\",\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"hint\",\n \"data-readonly\": booleanDataAttr(readOnly),\n hidden: invalid,\n id: props.id,\n })\n },\n getLabelBindings(props) {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n htmlFor: scope.ids.collection(\"hiddenInput\").get(\"0\"),\n id: props.id,\n onClick(event) {\n if (!interactive) {\n return\n }\n event.preventDefault()\n getFirstThumbEl(scope)?.focus()\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n },\n })\n },\n getMarkerBindings({id, onDestroy, value}) {\n scope.ids.collection(\"marker\").register(value.toString(), id, onDestroy)\n\n const style = getMarkerStyle(store, value)\n let markerState: \"over-value\" | \"under-value\" | \"at-value\"\n\n if (value < first(sliderValue)!) {\n markerState = \"under-value\"\n } else if (value > last(sliderValue)!) {\n markerState = \"over-value\"\n } else {\n markerState = \"at-value\"\n }\n\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"marker\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-state\": markerState,\n \"data-value\": value,\n id,\n role: \"presentation\",\n style,\n })\n },\n getMarkerGroupBindings(props) {\n scope.ids.register(\"markerGroup\", props)\n return normalize.element({\n ...commonProps,\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"marker-group\",\n id: props.id,\n role: \"presentation\",\n style: getMarkerGroupStyle(),\n })\n },\n getMaxMarkerBindings(props) {\n scope.ids.register(\"maxMarker\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"max\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-value\": prop(\"max\")!,\n id: props.id,\n role: \"presentation\",\n })\n },\n getMinMarkerBindings(props) {\n scope.ids.register(\"minMarker\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"min\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-value\": prop(\"min\")!,\n id: props.id,\n role: \"presentation\",\n })\n },\n getRangeBindings(props) {\n scope.ids.register(\"range\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"range\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: getRangeStyle(store),\n })\n },\n getRootBindings(props) {\n scope.ids.register(\"root\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: getRootStyle(store),\n })\n },\n getThumbBindings({id, index = 0, name, onDestroy}) {\n scope.ids.collection(\"thumb\").register(index.toString(), id, onDestroy)\n\n const value = sliderValue[index]\n const range = getRangeAtIndex(store, index)\n const valueText = prop(\"getAriaValueText\")?.({index, value})\n const _ariaLabel = ensureArray(ariaLabel)[index]\n const _ariaLabelledBy = ensureArray(ariaLabelledBy)[index]\n\n return normalize.element({\n ...commonProps,\n \"aria-disabled\": booleanAriaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? scope.ids.get(\"label\"),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging && focusedIndex === index),\n \"data-focus\": booleanDataAttr(focused && focusedIndex === index),\n \"data-index\": index,\n \"data-name\": name,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"thumb\",\n \"data-readonly\": booleanDataAttr(readOnly),\n draggable: false,\n id,\n onBlur() {\n if (!interactive) {\n return\n }\n send({type: \"BLUR\"})\n },\n onFocus() {\n if (!interactive) {\n return\n }\n send({index, type: \"FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n\n const step = getEventStep(event) * prop(\"step\")!\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n if (isHorizontal) {\n return\n }\n send({src: \"ArrowDown\", step, type: \"ARROW_DEC\"})\n },\n ArrowLeft() {\n if (isVertical) {\n return\n }\n send({src: \"ArrowLeft\", step, type: \"ARROW_DEC\"})\n },\n ArrowRight() {\n if (isVertical) {\n return\n }\n send({src: \"ArrowRight\", step, type: \"ARROW_INC\"})\n },\n ArrowUp() {\n if (isHorizontal) {\n return\n }\n send({src: \"ArrowUp\", step, type: \"ARROW_INC\"})\n },\n End() {\n send({type: \"END\"})\n },\n Home() {\n send({type: \"HOME\"})\n },\n PageDown() {\n send({src: \"PageDown\", step, type: \"ARROW_DEC\"})\n },\n PageUp() {\n send({src: \"PageUp\", step, type: \"ARROW_INC\"})\n },\n }\n\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\"),\n })\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n event.stopPropagation()\n }\n },\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n send({index, type: \"THUMB_POINTER_DOWN\"})\n event.stopPropagation()\n },\n role: \"slider\",\n style: getThumbStyle(store, index),\n tabIndex: disabled ? undefined : 0,\n })\n },\n getTrackBindings(props) {\n scope.ids.register(\"track\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"track\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: {position: \"relative\"},\n })\n },\n getValueTextBindings(props) {\n scope.ids.register(\"valueText\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"value-text\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n value: sliderValue,\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {JSX, Params} from \"@qualcomm-ui/utils/machine\"\nimport {\n getValuePercent,\n getValueTransformer,\n toPx,\n} from \"@qualcomm-ui/utils/number\"\n\nimport type {SliderSchema} from \"./slider.types\"\n\ntype Ctx = Params<SliderSchema>\n\n/** Range style calculations */\n\nfunction getBounds<T>(value: T[]): [T, T] {\n const firstValue = value[0]\n const lastThumb = value[value.length - 1]\n return [firstValue, lastThumb]\n}\n\nexport function getRangeOffsets(params: Pick<Ctx, \"prop\" | \"computed\">): {\n end: string\n start: string\n} {\n const {computed, prop} = params\n const valuePercent = computed(\"valuePercent\")\n const [firstPercent, lastPercent] = getBounds(valuePercent)\n\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\"\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`\n return {end, start}\n }\n if (prop(\"origin\") === \"end\") {\n return {end: \"0%\", start: `${lastPercent}%`}\n }\n\n return {end: `${100 - lastPercent}%`, start: \"0%\"}\n }\n\n return {end: `${100 - lastPercent}%`, start: `${firstPercent}%`}\n}\n\nexport function getRangeStyle(\n params: Pick<Ctx, \"computed\">,\n): JSX.CSSProperties {\n const {computed} = params\n const isVertical = computed(\"isVertical\")\n const isRtl = computed(\"isRtl\")\n\n if (isVertical) {\n return {\n bottom: \"var(--slider-range-start)\",\n position: \"absolute\",\n top: \"var(--slider-range-end)\",\n }\n }\n return {\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n position: \"absolute\",\n }\n}\n\n/** Thumb style calculations */\n\nfunction getVerticalThumbOffset(\n params: Pick<Ctx, \"context\" | \"prop\">,\n value: number,\n) {\n const {context, prop} = params\n const {height = 0} = context.get(\"thumbSize\") ?? {}\n const getValue = getValueTransformer(\n [prop(\"min\")!, prop(\"max\")!],\n [-height / 2, height / 2],\n )\n return parseFloat(getValue(value).toFixed(2))\n}\n\nfunction getHorizontalThumbOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n) {\n const {computed, context, prop} = params\n const {width = 0} = context.get(\"thumbSize\") ?? {}\n\n const isRtl = computed(\"isRtl\")\n\n if (isRtl) {\n const getValue = getValueTransformer(\n [prop(\"max\")!, prop(\"min\")!],\n [-width / 2, width / 2],\n )\n return -1 * parseFloat(getValue(value).toFixed(2))\n }\n\n const getValue = getValueTransformer(\n [prop(\"min\")!, prop(\"max\")!],\n [-width / 2, width / 2],\n )\n return parseFloat(getValue(value).toFixed(2))\n}\n\nfunction getOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n percent: number,\n value: number,\n) {\n const {computed, prop} = params\n if (prop(\"thumbAlignment\") === \"center\") {\n return `${percent}%`\n }\n const offset = computed(\"isVertical\")\n ? getVerticalThumbOffset(params, value)\n : getHorizontalThumbOffset(params, value)\n return `calc(${percent}% - ${offset}px)`\n}\n\nexport function getThumbOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n): string {\n const {prop} = params\n const percent = getValuePercent(value, prop(\"min\")!, prop(\"max\")!) * 100\n return getOffset(params, percent, value)\n}\n\nexport function getVisibility(\n params: Pick<Ctx, \"computed\" | \"prop\">,\n): \"visible\" | \"hidden\" {\n const {computed, prop} = params\n let visibility: \"visible\" | \"hidden\" = \"visible\"\n if (\n prop(\"thumbAlignment\") === \"contain\" &&\n !computed(\"hasMeasuredThumbSize\")\n ) {\n visibility = \"hidden\"\n }\n return visibility\n}\n\nexport function getThumbStyle(\n params: Pick<Ctx, \"computed\" | \"prop\">,\n index: number,\n): JSX.CSSProperties {\n const {computed} = params\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\"\n return {\n [placementProp]: `var(--slider-thumb-offset-${index})`,\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n visibility: getVisibility(params),\n }\n}\n\n/** Control style calculations */\n\nexport function getControlStyle(): JSX.CSSProperties {\n return {\n position: \"relative\",\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n }\n}\n\n/** Root style calculations */\n\nexport function getRootStyle(\n params: Pick<Ctx, \"context\" | \"computed\" | \"prop\">,\n): JSX.CSSProperties {\n const {computed, context} = params\n const isVertical = computed(\"isVertical\")\n const isRtl = computed(\"isRtl\")\n const range = getRangeOffsets(params)\n const thumbSize = context.get(\"thumbSize\")\n\n const offsetStyles = context\n .get(\"value\")\n .reduce<JSX.CSSProperties>((styles, value, index) => {\n const offset = getThumbOffset(params, value)\n return {...styles, [`--slider-thumb-offset-${index}`]: offset}\n }, {})\n\n return {\n ...offsetStyles,\n \"--slider-range-end\": range.end,\n \"--slider-range-start\": range.start,\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical\n ? \"translateY(50%)\"\n : isRtl\n ? \"translateX(50%)\"\n : \"translateX(-50%)\",\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n }\n}\n\n/** Marker style calculations */\n\nexport function getMarkerStyle(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n): JSX.CSSProperties {\n const {computed} = params\n const isHorizontal = computed(\"isHorizontal\")\n const isRtl = computed(\"isRtl\")\n return {\n \"--tx\": isHorizontal ? (isRtl ? \"50%\" : \"-50%\") : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(\n params,\n value,\n ),\n pointerEvents: \"none\",\n position: \"absolute\",\n translate: \"var(--tx) var(--ty)\",\n visibility: getVisibility(params),\n }\n}\n\n/** Label style calculations */\n\nexport function getMarkerGroupStyle(): JSX.CSSProperties {\n return {\n pointerEvents: \"none\",\n position: \"relative\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {SliderApiProps} from \"./slider.types\"\n\nexport const sliderProps: (keyof SliderApiProps)[] =\n createProps<SliderApiProps>()(\n \"aria-label\",\n \"aria-labelledby\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n )\n\nexport const splitSliderProps: <Props extends SliderApiProps>(\n props: Props,\n) => [SliderApiProps, Omit<Props, keyof SliderApiProps>] =\n createSplitProps<SliderApiProps>(sliderProps)\n"],
5
- "mappings": "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",
6
- "names": ["slider_exports", "__export", "createSliderApi", "sliderMachine", "sliderProps", "splitSliderProps", "__toCommonJS", "import_dom_query", "import_query", "import_equal", "import_machine", "import_number", "import_object", "import_query", "import_number", "domIds", "scope", "key", "domEls", "getThumbEls", "getFirstThumbEl", "getPointValue", "params", "point", "prop", "controlEl", "percent", "dispatchChangeEvent", "value", "index", "inputEl", "getOffsetRect", "el", "import_number", "isEqualSize", "a", "b", "normalize", "value", "min", "max", "step", "minStepsBetweenThumbs", "range", "snapValue", "rangeValue", "normalizeValues", "params", "nextValues", "index", "constrainValue", "getRangeAtIndex", "context", "prop", "decrement", "idx", "increment", "getClosestIndex", "pointValue", "sliderMachine", "context", "params", "event", "index", "step", "value", "decrement", "scope", "dispatchChangeEvent", "domEls", "increment", "prop", "pointValue", "getPointValue", "focusedIndex", "getClosestIndex", "max", "getRangeAtIndex", "prev", "min", "constrainValue", "normalizeValues", "inputEl", "computed", "bindable", "getContext", "ctx", "a", "disabled", "send", "info", "getThumbEls", "el", "getOffsetRect", "rects", "size", "isEqualSize", "bindableId", "bindableIdCollection", "props", "defaultValue", "minStepsBetweenThumbs", "normalize", "actions", "track", "import_query", "import_array", "import_attributes", "import_number", "import_number", "getBounds", "value", "firstValue", "lastThumb", "getRangeOffsets", "params", "computed", "prop", "valuePercent", "firstPercent", "lastPercent", "isNegative", "start", "getRangeStyle", "isVertical", "isRtl", "getVerticalThumbOffset", "context", "height", "getValue", "getHorizontalThumbOffset", "width", "getOffset", "percent", "offset", "getThumbOffset", "getVisibility", "visibility", "getThumbStyle", "index", "getControlStyle", "getRootStyle", "range", "thumbSize", "styles", "getMarkerStyle", "isHorizontal", "getMarkerGroupStyle", "createSliderApi", "store", "normalize", "computed", "context", "prop", "scope", "send", "state", "ariaLabel", "ariaLabelledBy", "sliderValue", "focusedIndex", "focused", "dragging", "readOnly", "disabled", "invalid", "interactive", "isHorizontal", "isVertical", "getValuePercentFn", "value", "getPercentValueFn", "percent", "getDefaultMarks", "count", "max", "min", "step", "_", "i", "commonProps", "index", "getRangeAtIndex", "props", "event", "point", "getControlStyle", "isDragging", "getThumbStyle", "id", "name", "onDestroy", "globalName", "inputName", "getFirstThumbEl", "style", "getMarkerStyle", "markerState", "getMarkerGroupStyle", "getRangeStyle", "getRootStyle", "range", "valueText", "_ariaLabel", "_ariaLabelledBy", "keyMap", "key", "exec", "import_object", "sliderProps", "splitSliderProps"]
4
+ "sourcesContent": ["export * from \"./slider.machine\"\nexport * from \"./slider.types\"\nexport * from \"./slider.api\"\nexport * from \"./slider.props\"\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {trackElementRect} from \"@qualcomm-ui/dom/dom-query\"\nimport {\n raf,\n setElementValue,\n trackFormControl,\n trackPointerMove,\n} from \"@qualcomm-ui/dom/query\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {createMachine, type MachineConfig} from \"@qualcomm-ui/utils/machine\"\nimport {getValuePercent, setValueAtIndex} from \"@qualcomm-ui/utils/number\"\nimport {pick} from \"@qualcomm-ui/utils/object\"\n\nimport {\n dispatchChangeEvent,\n domEls,\n getOffsetRect,\n getPointValue,\n getThumbEls,\n} from \"./slider.dom\"\nimport type {SliderSchema} from \"./slider.types\"\nimport {\n constrainValue,\n decrement,\n getClosestIndex,\n getRangeAtIndex,\n increment,\n isEqualSize,\n normalize,\n normalizeValues,\n} from \"./slider.utils\"\n\nexport const sliderMachine: MachineConfig<SliderSchema> =\n createMachine<SliderSchema>({\n actions: {\n clearFocusedIndex({context}) {\n context.set(\"focusedIndex\", -1)\n },\n clearThumbDragOffset({refs}) {\n refs.set(\"thumbDragOffset\", null)\n },\n decrementThumbAtIndex(params) {\n const {context, event} = params\n const {index, step} = event as {index?: number; step?: number}\n const value = decrement(params, index, step)\n context.set(\"value\", value)\n },\n dispatchChangeEvent({context, scope}) {\n dispatchChangeEvent(scope, context.get(\"value\"))\n },\n focusActiveThumb({context, scope}) {\n raf(() => {\n const thumbEl = domEls.thumb(\n scope,\n context.get(\"focusedIndex\").toString(),\n )\n thumbEl?.focus({preventScroll: true})\n })\n },\n incrementThumbAtIndex(params) {\n const {context, event} = params\n const {index, step} = event as {index?: number; step?: number}\n const value = increment(params, index, step)\n context.set(\"value\", value)\n },\n invokeOnChangeEnd({context, prop}) {\n queueMicrotask(() => {\n prop(\"onValueChangeEnd\")?.({value: context.get(\"value\")})\n })\n },\n setClosestThumbIndex(params) {\n const {context, event} = params\n\n if (!(\"point\" in event)) {\n return\n }\n const pointValue = getPointValue(params, event.point)\n if (pointValue == null) {\n return\n }\n\n const focusedIndex = getClosestIndex(params, pointValue)\n context.set(\"focusedIndex\", focusedIndex)\n },\n setFocusedIndex({context, event}) {\n if (!(\"index\" in event)) {\n return\n }\n context.set(\"focusedIndex\", event.index as number)\n },\n setFocusedThumbToMax(params) {\n const {context} = params\n const index = context.get(\"focusedIndex\")\n const {max} = getRangeAtIndex(params, index)\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max))\n },\n setFocusedThumbToMin(params) {\n const {context} = params\n const index = context.get(\"focusedIndex\")\n const {min} = getRangeAtIndex(params, index)\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min))\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const {context, event} = params\n if (!(\"point\" in event)) {\n return\n }\n const pointValue = getPointValue(params, event.point)\n if (pointValue == null) {\n return\n }\n\n const focusedIndex = context.get(\"focusedIndex\")\n const value = constrainValue(params, pointValue, focusedIndex)\n context.set(\"value\", (prev) =>\n setValueAtIndex(prev, focusedIndex, value),\n )\n })\n },\n setThumbDragOffset(params) {\n const {event, refs} = params\n if (!(\"offset\" in event)) {\n return\n }\n refs.set(\"thumbDragOffset\", event.offset ?? null)\n },\n setValue(params) {\n const {context, event} = params\n if (!(\"value\" in event)) {\n return\n }\n const value = normalizeValues(params, event.value as number[])\n context.set(\"value\", value)\n },\n setValueAtIndex(params) {\n const {context, event} = params\n if (!(\"index\" in event && \"value\" in event)) {\n return\n }\n const value = constrainValue(\n params,\n event.value as number,\n event.index as number,\n )\n context.set(\"value\", (prev) =>\n setValueAtIndex(prev, event.index as number, value),\n )\n },\n syncInputElements({context, scope}) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = domEls.hiddenInput(scope, index.toString())\n setElementValue(inputEl as HTMLInputElement, value.toString())\n })\n },\n },\n\n computed: {\n hasMeasuredThumbSize: ({context}) => context.get(\"thumbSize\") != null,\n isDisabled: ({context, prop}) =>\n !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isHorizontal: ({prop}) => prop(\"orientation\") === \"horizontal\",\n isInteractive: ({computed, prop}) =>\n !(prop(\"readOnly\") || computed(\"isDisabled\")),\n isRtl: ({prop}) =>\n prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isVertical: ({prop}) => prop(\"orientation\") === \"vertical\",\n valuePercent({context, prop}) {\n return context\n .get(\"value\")\n .map(\n (value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")),\n )\n },\n },\n\n context({bindable, getContext, prop}) {\n return {\n fieldsetDisabled: bindable(() => ({\n defaultValue: false,\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext()\n prop(\"onFocusChange\")?.({\n focusedIndex: value,\n value: ctx.get(\"value\"),\n })\n },\n })),\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null,\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n hash(a) {\n return a.join(\",\")\n },\n isEqual,\n onChange(value) {\n prop(\"onValueChange\")?.({value})\n },\n value: prop(\"value\"),\n })),\n }\n },\n\n effects: {\n trackFormControlState({context, scope}) {\n return trackFormControl(domEls.root(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled)\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\")!)\n },\n })\n },\n\n trackPointerMove({scope, send}) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({point: info.point, type: \"POINTER_MOVE\"})\n },\n onPointerUp() {\n send({type: \"POINTER_UP\"})\n },\n })\n },\n\n trackThumbSize({context, prop, scope}): undefined | (() => void) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) {\n return\n }\n\n let cleanup: VoidFunction | undefined\n const rafId = requestAnimationFrame(() => {\n cleanup = trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el)\n },\n onEntry({rects}) {\n if (rects.length === 0) {\n return\n }\n const size = pick(rects[0], [\"width\", \"height\"])\n if (isEqualSize(context.get(\"thumbSize\"), size)) {\n return\n }\n context.set(\"thumbSize\", size)\n },\n })\n })\n return () => {\n cancelAnimationFrame(rafId)\n cleanup?.()\n }\n },\n },\n\n guards: {\n hasIndex: ({event}) => \"index\" in event && event.index != null,\n },\n\n ids: ({bindableId, bindableIdCollection}) => {\n return {\n control: bindableId<string>(),\n errorText: bindableId<string>(),\n hiddenInput: bindableIdCollection<string>(),\n hint: bindableId<string>(),\n label: bindableId<string>(),\n marker: bindableIdCollection<string>(),\n markerGroup: bindableId<string>(),\n maxMarker: bindableId<string>(),\n minMarker: bindableId<string>(),\n range: bindableId<string>(),\n root: bindableId<string>(),\n thumb: bindableIdCollection<string>(),\n thumbIndicator: bindableIdCollection<string>(),\n track: bindableId<string>(),\n valueText: bindableId<string>(),\n }\n },\n\n initialState: () => \"idle\",\n\n on: {\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"],\n },\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"],\n },\n SET_VALUE: [\n {\n actions: [\"setValueAtIndex\"],\n guard: \"hasIndex\",\n },\n {\n actions: [\"setValue\"],\n },\n ],\n },\n\n onInit: {\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n },\n\n props({props}) {\n const min = props.min ?? 0\n const max = props.max ?? 100\n const step = props.step ?? 1\n const defaultValue = props.defaultValue ?? [min]\n const minStepsBetweenThumbs = props.minStepsBetweenThumbs ?? 0\n return {\n dir: \"ltr\",\n minStepsBetweenThumbs,\n orientation: \"horizontal\",\n origin: \"start\",\n thumbAlignment: \"contain\",\n ...props,\n defaultValue: normalize(\n defaultValue,\n min,\n max,\n step,\n minStepsBetweenThumbs,\n ),\n max,\n min,\n step,\n value: props.value\n ? normalize(props.value, min, max, step, minStepsBetweenThumbs)\n : undefined,\n }\n },\n\n refs: () => {\n return {\n thumbDragOffset: null,\n }\n },\n\n states: {\n dragging: {\n effects: [\"trackPointerMove\"],\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_MOVE: {\n actions: [\"setPointerValue\"],\n },\n POINTER_UP: {\n actions: [\"invokeOnChangeEnd\", \"clearThumbDragOffset\"],\n target: \"focus\",\n },\n },\n },\n\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"],\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"],\n },\n BLUR: {\n actions: [\"clearFocusedIndex\"],\n target: \"idle\",\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"],\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"],\n },\n POINTER_DOWN: {\n actions: [\n \"setClosestThumbIndex\",\n \"setPointerValue\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n THUMB_POINTER_DOWN: {\n actions: [\n \"setFocusedIndex\",\n \"setThumbDragOffset\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n },\n },\n\n idle: {\n on: {\n FOCUS: {\n actions: [\"setFocusedIndex\"],\n target: \"focus\",\n },\n POINTER_DOWN: {\n actions: [\n \"setClosestThumbIndex\",\n \"setPointerValue\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n THUMB_POINTER_DOWN: {\n actions: [\n \"setFocusedIndex\",\n \"setThumbDragOffset\",\n \"focusActiveThumb\",\n ],\n target: \"dragging\",\n },\n },\n },\n },\n\n watch({actions, context, track}) {\n track([() => context.hash(\"value\")], () => {\n actions[\"syncInputElements\"]()\n actions[\"dispatchChangeEvent\"]()\n })\n },\n })\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n dispatchInputValueEvent,\n getRelativePoint,\n queryAll,\n} from \"@qualcomm-ui/dom/query\"\nimport type {Point} from \"@qualcomm-ui/dom/rect-utils\"\nimport type {\n Params,\n ScopeDomElements,\n ScopeDomIds,\n ScopeWithIds,\n} from \"@qualcomm-ui/utils/machine\"\nimport {getPercentValue} from \"@qualcomm-ui/utils/number\"\n\nimport type {SliderElementIds, SliderSchema} from \"./slider.types\"\n\ntype Scope = ScopeWithIds<SliderSchema>\n\nexport const domIds: ScopeDomIds<SliderElementIds, Scope> = {\n control: (scope) => scope.ids.get(\"control\"),\n errorText: (scope) => scope.ids.get(\"errorText\"),\n hiddenInput: (scope, key) => scope.ids.collection(\"hiddenInput\").get(key),\n hint: (scope) => scope.ids.get(\"hint\"),\n label: (scope) => scope.ids.get(\"label\"),\n marker: (scope, key) => scope.ids.collection(\"marker\").get(key),\n markerGroup: (scope) => scope.ids.get(\"markerGroup\"),\n maxMarker: (scope) => scope.ids.get(\"maxMarker\"),\n minMarker: (scope) => scope.ids.get(\"minMarker\"),\n range: (scope) => scope.ids.get(\"range\"),\n root: (scope) => scope.ids.get(\"root\"),\n thumb: (scope, key) => scope.ids.collection(\"thumb\").get(key),\n thumbIndicator: (scope, key) =>\n scope.ids.collection(\"thumbIndicator\").get(key),\n track: (scope) => scope.ids.get(\"track\"),\n valueText: (scope) => scope.ids.get(\"valueText\"),\n}\n\nexport const domEls: ScopeDomElements<SliderElementIds, Scope> = {\n control: (scope) => scope.getById(domIds.control(scope)),\n errorText: (scope) => scope.getById(domIds.errorText(scope)),\n hiddenInput: (scope, key) => scope.getById(domIds.hiddenInput(scope, key)!),\n hint: (scope) => scope.getById(domIds.hint(scope)),\n label: (scope) => scope.getById(domIds.label(scope)),\n marker: (scope, key) => scope.getById(domIds.marker(scope, key)!),\n markerGroup: (scope) => scope.getById(domIds.markerGroup(scope)),\n maxMarker: (scope) => scope.getById(domIds.maxMarker(scope)),\n minMarker: (scope) => scope.getById(domIds.minMarker(scope)),\n range: (scope) => scope.getById(domIds.range(scope)),\n root: (scope) => scope.getById(domIds.root(scope)),\n thumb: (scope, key) => scope.getById(domIds.thumb(scope, key)!),\n thumbIndicator: (scope, key) =>\n scope.getById(domIds.thumbIndicator(scope, key)!),\n track: (scope) => scope.getById(domIds.track(scope)),\n valueText: (scope) => scope.getById(domIds.valueText(scope)),\n}\n\nexport const getThumbEls = (scope: Scope): HTMLElement[] =>\n queryAll(domEls.control(scope), \"[role=slider]\")\n\nexport const getFirstThumbEl = (scope: Scope): HTMLElement =>\n getThumbEls(scope)[0]\n\nexport const getPointValue = (\n params: Params<SliderSchema>,\n point: Point,\n): number | undefined => {\n const {prop, scope} = params\n const controlEl = domEls.control(scope)\n if (!controlEl) {\n return\n }\n const relativePoint = getRelativePoint(point, controlEl)\n const percent = relativePoint.getPercentValue({\n dir: prop(\"dir\"),\n inverted: {y: true},\n orientation: prop(\"orientation\"),\n })\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"))\n}\n\nexport const dispatchChangeEvent = (scope: Scope, value: number[]): void => {\n value.forEach((value, index) => {\n const inputEl = domEls.hiddenInput(scope, index.toString())\n if (!inputEl) {\n return\n }\n dispatchInputValueEvent(inputEl as HTMLInputElement, {value})\n })\n}\n\nexport const getOffsetRect = (\n el: HTMLElement | undefined,\n): {height: number; left: number; top: number; width: number} => ({\n height: el?.offsetHeight ?? 0,\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n})\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {Params} from \"@qualcomm-ui/utils/machine\"\nimport {\n clampValue,\n getClosestValueIndex,\n getNextStepValue,\n getPreviousStepValue,\n getValueRanges,\n isValueWithinRange,\n snapValueToStep,\n} from \"@qualcomm-ui/utils/number\"\n\nimport type {Size, SliderSchema} from \"./slider.types\"\n\ntype Ctx = Params<SliderSchema>\n\nexport function isEqualSize(a: Size | null, b: Size | null): boolean {\n return a?.width === b?.width && a?.height === b?.height\n}\n\nexport const normalize = (\n value: number[],\n min: number,\n max: number,\n step: number,\n minStepsBetweenThumbs: number,\n): number[] => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step)\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step)\n const rangeValue = clampValue(snapValue, range.min, range.max)\n if (!isValueWithinRange(rangeValue, min, max)) {\n throw new Error(\n \"[@qualcomm-ui/core/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid\",\n )\n }\n return rangeValue\n })\n}\n\nexport function normalizeValues(params: Ctx, nextValues: number[]): number[] {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index)\n })\n}\n\nexport function getRangeAtIndex(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index: number,\n): {\n max: number\n min: number\n} {\n const {context, prop} = params\n const step = prop(\"step\") * prop(\"minStepsBetweenThumbs\")\n return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), step)[\n index\n ]\n}\n\nexport function constrainValue(\n params: Pick<Ctx, \"context\" | \"prop\">,\n value: number,\n index: number,\n): number {\n const {prop} = params\n const range = getRangeAtIndex(params, index)\n const snapValue = snapValueToStep(\n value,\n prop(\"min\"),\n prop(\"max\"),\n prop(\"step\"),\n )\n return clampValue(snapValue, range.min, range.max)\n}\n\nexport function decrement(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index?: number,\n step?: number,\n): number[] {\n const {context, prop} = params\n const idx = index ?? context.get(\"focusedIndex\")\n const range = getRangeAtIndex(params, idx)\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\"),\n })\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max)\n return nextValues\n}\n\nexport function increment(\n params: Pick<Ctx, \"context\" | \"prop\">,\n index?: number,\n step?: number,\n): number[] {\n const {context, prop} = params\n const idx = index ?? context.get(\"focusedIndex\")\n const range = getRangeAtIndex(params, idx)\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\"),\n })\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max)\n return nextValues\n}\n\nexport function getClosestIndex(\n params: Pick<Ctx, \"context\" | \"prop\">,\n pointValue: number,\n): number {\n const {context} = params\n return getClosestValueIndex(context.get(\"value\"), pointValue)\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getEventKey,\n getEventPoint,\n getEventStep,\n isLeftClick,\n isModifierKey,\n} from \"@qualcomm-ui/dom/query\"\nimport {ensureArray, first, last} from \"@qualcomm-ui/utils/array\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {\n EventKeyMap,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\nimport {getPercentValue, getValuePercent} from \"@qualcomm-ui/utils/number\"\n\nimport {domIds, getFirstThumbEl} from \"./slider.dom\"\nimport {\n getControlStyle,\n getMarkerGroupStyle,\n getMarkerStyle,\n getRangeStyle,\n getRootStyle,\n getThumbStyle,\n} from \"./slider.style\"\nimport type {\n SliderApi,\n SliderControlBindings,\n SliderErrorTextBindings,\n SliderHiddenInputBindings,\n SliderHintBindings,\n SliderMarkerBindings,\n SliderMarkerGroupBindings,\n SliderMaxMarkerBindings,\n SliderMinMarkerBindings,\n SliderRangeBindings,\n SliderRootBindings,\n SliderSchema,\n SliderThumbBindings,\n SliderThumbIndicatorBindings,\n SliderTrackBindings,\n SliderValueTextBindings,\n} from \"./slider.types\"\nimport {getRangeAtIndex} from \"./slider.utils\"\n\nexport function createSliderApi(\n store: Machine<SliderSchema>,\n normalize: PropNormalizer,\n): SliderApi {\n const {computed, context, prop, scope, send, state} = store\n\n const ariaLabel = prop(\"aria-label\")\n const ariaLabelledBy = prop(\"aria-labelledby\")\n\n const sliderValue = context.get(\"value\")\n const focusedIndex = context.get(\"focusedIndex\")\n\n const focused = state.matches(\"focus\")\n const dragging = state.matches(\"dragging\")\n\n const readOnly = prop(\"readOnly\")\n const disabled = computed(\"isDisabled\")\n const invalid = !!prop(\"invalid\")\n const interactive = computed(\"isInteractive\")\n\n const isHorizontal = prop(\"orientation\") === \"horizontal\"\n const isVertical = prop(\"orientation\") === \"vertical\"\n\n function getValuePercentFn(value: number) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"))\n }\n\n function getPercentValueFn(percent: number) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"))\n }\n\n function getDefaultMarks(count = 11): number[] {\n const max = prop(\"max\")\n const min = prop(\"min\")\n\n if (max <= min) {\n return [min]\n }\n const step = (max - min) / (count - 1)\n return Array.from(\n {length: count},\n (_, i) => Math.round((min + i * step) * 100) / 100,\n )\n }\n\n const commonProps: {\"data-scope\": \"slider\"; dir: Direction | undefined} = {\n \"data-scope\": \"slider\",\n dir: prop(\"dir\"),\n }\n\n return {\n decrement(index) {\n send({index, type: \"DECREMENT\"})\n },\n dragging,\n focus() {\n if (!interactive) {\n return\n }\n send({index: 0, type: \"FOCUS\"})\n },\n focused,\n focusedIndex,\n getDefaultMarks,\n getPercentValue: getPercentValueFn,\n getThumbMax(index) {\n return getRangeAtIndex(store, index).max\n },\n getThumbMin(index) {\n return getRangeAtIndex(store, index).min\n },\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index])\n },\n getThumbValue(index) {\n return sliderValue[index]\n },\n getValuePercent: getValuePercentFn,\n increment(index) {\n send({index, type: \"INCREMENT\"})\n },\n max: prop(\"max\"),\n min: prop(\"min\"),\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent)\n send({index, type: \"SET_VALUE\", value})\n },\n setThumbValue(index, value) {\n send({index, type: \"SET_VALUE\", value})\n },\n setValue(value) {\n send({type: \"SET_VALUE\", value})\n },\n value: sliderValue,\n\n // group: bindings\n\n getControlBindings(props): SliderControlBindings {\n scope.ids.register(\"control\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"control\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n max: prop(\"max\"),\n min: prop(\"min\"),\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n if (isModifierKey(event)) {\n return\n }\n\n const point = getEventPoint(event)\n send({point, type: \"POINTER_DOWN\"})\n\n event.preventDefault()\n event.stopPropagation()\n },\n style: getControlStyle(),\n })\n },\n getErrorTextBindings(props): SliderErrorTextBindings {\n scope.ids.register(\"errorText\", props)\n return normalize.label({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"error-text\",\n hidden: !invalid,\n id: props.id,\n })\n },\n getHiddenInputBindings({\n id,\n index = 0,\n name,\n onDestroy,\n }): SliderHiddenInputBindings {\n scope.ids\n .collection(\"hiddenInput\")\n .register(index.toString(), id, onDestroy)\n const globalName = prop(\"name\")\n let inputName: string | undefined\n\n if (name) {\n inputName = name\n } else if (typeof globalName === \"string\") {\n if (sliderValue.length === 1) {\n inputName = globalName\n } else if (sliderValue.length === 2) {\n inputName = globalName + index\n }\n } else if (Array.isArray(globalName)) {\n if (sliderValue.length === 1) {\n inputName = globalName[0]\n } else if (sliderValue.length === 2) {\n inputName = globalName[index]\n }\n }\n\n return normalize.input({\n ...commonProps,\n defaultValue: sliderValue[index],\n form: prop(\"form\"),\n hidden: true,\n id,\n name: inputName,\n type: \"text\",\n })\n },\n getHintBindings(props): SliderHintBindings {\n scope.ids.register(\"hint\", props)\n return normalize.label({\n ...commonProps,\n \"aria-live\": \"polite\",\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"hint\",\n \"data-readonly\": booleanDataAttr(readOnly),\n hidden: invalid,\n id: props.id,\n })\n },\n getLabelBindings(props) {\n scope.ids.register(\"label\", props)\n return normalize.label({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"label\",\n \"data-readonly\": booleanDataAttr(readOnly),\n htmlFor: scope.ids.collection(\"hiddenInput\").get(\"0\"),\n id: props.id,\n onClick(event) {\n if (!interactive) {\n return\n }\n event.preventDefault()\n getFirstThumbEl(scope)?.focus()\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n },\n })\n },\n getMarkerBindings({id, onDestroy, value}): SliderMarkerBindings {\n scope.ids.collection(\"marker\").register(value.toString(), id, onDestroy)\n\n const style = getMarkerStyle(store, value)\n let markerState: \"over-value\" | \"under-value\" | \"at-value\"\n\n if (value < first(sliderValue)!) {\n markerState = \"under-value\"\n } else if (value > last(sliderValue)!) {\n markerState = \"over-value\"\n } else {\n markerState = \"at-value\"\n }\n\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"marker\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-state\": markerState,\n \"data-value\": value,\n id,\n role: \"presentation\",\n style,\n })\n },\n getMarkerGroupBindings(props): SliderMarkerGroupBindings {\n scope.ids.register(\"markerGroup\", props)\n return normalize.element({\n ...commonProps,\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"marker-group\",\n id: props.id,\n role: \"presentation\",\n style: getMarkerGroupStyle(),\n })\n },\n getMaxMarkerBindings(props): SliderMaxMarkerBindings {\n scope.ids.register(\"maxMarker\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"max\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-value\": prop(\"max\"),\n id: props.id,\n role: \"presentation\",\n })\n },\n getMinMarkerBindings(props): SliderMinMarkerBindings {\n scope.ids.register(\"minMarker\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"min\",\n \"data-readonly\": booleanDataAttr(readOnly),\n \"data-value\": prop(\"min\"),\n id: props.id,\n role: \"presentation\",\n })\n },\n getRangeBindings(props): SliderRangeBindings {\n scope.ids.register(\"range\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"range\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: getRangeStyle(store),\n })\n },\n getRootBindings(props): SliderRootBindings {\n scope.ids.register(\"root\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"root\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: getRootStyle(store),\n })\n },\n getThumbBindings({id, index = 0, name, onDestroy}): SliderThumbBindings {\n scope.ids.collection(\"thumb\").register(index.toString(), id, onDestroy)\n\n const value = sliderValue[index]\n const range = getRangeAtIndex(store, index)\n const valueText = prop(\"getAriaValueText\")?.({index, value})\n const _ariaLabel = ensureArray(ariaLabel)[index]\n const _ariaLabelledBy = ensureArray(ariaLabelledBy)[index]\n\n return normalize.element({\n ...commonProps,\n \"aria-describedby\": domIds.hint(scope),\n \"aria-disabled\": booleanAriaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? domIds.label(scope),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging && focusedIndex === index),\n \"data-focus\": booleanDataAttr(focused && focusedIndex === index),\n \"data-index\": index,\n \"data-name\": name,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"thumb\",\n \"data-readonly\": booleanDataAttr(readOnly),\n draggable: false,\n id,\n onBlur() {\n if (!interactive) {\n return\n }\n send({type: \"BLUR\"})\n },\n onFocus() {\n if (!interactive) {\n return\n }\n send({index, type: \"FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!interactive) {\n return\n }\n\n const step = getEventStep(event) * prop(\"step\")\n\n const keyMap: EventKeyMap = {\n ArrowDown() {\n if (isHorizontal) {\n return\n }\n send({src: \"ArrowDown\", step, type: \"ARROW_DEC\"})\n },\n ArrowLeft() {\n if (isVertical) {\n return\n }\n send({src: \"ArrowLeft\", step, type: \"ARROW_DEC\"})\n },\n ArrowRight() {\n if (isVertical) {\n return\n }\n send({src: \"ArrowRight\", step, type: \"ARROW_INC\"})\n },\n ArrowUp() {\n if (isHorizontal) {\n return\n }\n send({src: \"ArrowUp\", step, type: \"ARROW_INC\"})\n },\n End() {\n send({type: \"END\"})\n },\n Home() {\n send({type: \"HOME\"})\n },\n PageDown() {\n send({src: \"PageDown\", step, type: \"ARROW_DEC\"})\n },\n PageUp() {\n send({src: \"PageUp\", step, type: \"ARROW_INC\"})\n },\n }\n\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\"),\n })\n const exec = keyMap[key]\n\n if (exec) {\n exec(event)\n event.preventDefault()\n event.stopPropagation()\n }\n },\n onPointerDown(event) {\n if (!interactive) {\n return\n }\n if (!isLeftClick(event)) {\n return\n }\n\n const thumbEl = event.currentTarget as HTMLElement\n const rect = thumbEl.getBoundingClientRect()\n const midpoint = {\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2,\n }\n const offset = {\n x: event.clientX - midpoint.x,\n y: event.clientY - midpoint.y,\n }\n\n send({index, offset, type: \"THUMB_POINTER_DOWN\"})\n event.stopPropagation()\n },\n role: \"slider\",\n style: getThumbStyle(store, index),\n tabIndex: disabled ? undefined : 0,\n })\n },\n getThumbIndicatorBindings({\n id,\n index = 0,\n onDestroy,\n }): SliderThumbIndicatorBindings {\n scope.ids\n .collection(\"thumbIndicator\")\n .register(index.toString(), id, onDestroy)\n return normalize.element({\n ...commonProps,\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"thumb-indicator\",\n role: \"presentation\",\n style: getThumbStyle(store, index),\n })\n },\n getTrackBindings(props): SliderTrackBindings {\n scope.ids.register(\"track\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-dragging\": booleanDataAttr(dragging),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"track\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n style: {position: \"relative\"},\n })\n },\n getValueTextBindings(props): SliderValueTextBindings {\n scope.ids.register(\"valueText\", props)\n return normalize.element({\n ...commonProps,\n \"data-disabled\": booleanDataAttr(disabled),\n \"data-focus\": booleanDataAttr(focused),\n \"data-invalid\": booleanDataAttr(invalid),\n \"data-orientation\": prop(\"orientation\"),\n \"data-part\": \"value-text\",\n \"data-readonly\": booleanDataAttr(readOnly),\n id: props.id,\n value: sliderValue,\n })\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {JSX, Params} from \"@qualcomm-ui/utils/machine\"\nimport {\n getValuePercent,\n getValueTransformer,\n toPx,\n} from \"@qualcomm-ui/utils/number\"\n\nimport type {SliderSchema} from \"./slider.types\"\n\ntype Ctx = Params<SliderSchema>\n\n/** Range style calculations */\n\nfunction getBounds<T>(value: T[]): [T, T] {\n const firstValue = value[0]\n const lastThumb = value[value.length - 1]\n return [firstValue, lastThumb]\n}\n\nexport function getRangeOffsets(params: Pick<Ctx, \"prop\" | \"computed\">): {\n end: string\n start: string\n} {\n const {computed, prop} = params\n const valuePercent = computed(\"valuePercent\")\n const [firstPercent, lastPercent] = getBounds(valuePercent)\n\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\"\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`\n return {end, start}\n }\n if (prop(\"origin\") === \"end\") {\n return {end: \"0%\", start: `${lastPercent}%`}\n }\n\n return {end: `${100 - lastPercent}%`, start: \"0%\"}\n }\n\n return {end: `${100 - lastPercent}%`, start: `${firstPercent}%`}\n}\n\nexport function getRangeStyle(\n params: Pick<Ctx, \"computed\">,\n): JSX.CSSProperties {\n const {computed} = params\n const isVertical = computed(\"isVertical\")\n const isRtl = computed(\"isRtl\")\n\n if (isVertical) {\n return {\n bottom: \"var(--slider-range-start)\",\n position: \"absolute\",\n top: \"var(--slider-range-end)\",\n }\n }\n return {\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n position: \"absolute\",\n }\n}\n\n/** Thumb style calculations */\n\nfunction getVerticalThumbOffset(\n params: Pick<Ctx, \"context\" | \"prop\">,\n value: number,\n) {\n const {context, prop} = params\n const {height = 0} = context.get(\"thumbSize\") ?? {}\n const getValue = getValueTransformer(\n [prop(\"min\"), prop(\"max\")],\n [-height / 2, height / 2],\n )\n return parseFloat(getValue(value).toFixed(2))\n}\n\nfunction getHorizontalThumbOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n) {\n const {computed, context, prop} = params\n const {width = 0} = context.get(\"thumbSize\") ?? {}\n\n const isRtl = computed(\"isRtl\")\n\n if (isRtl) {\n const getValue = getValueTransformer(\n [prop(\"max\"), prop(\"min\")],\n [-width / 2, width / 2],\n )\n return -1 * parseFloat(getValue(value).toFixed(2))\n }\n\n const getValue = getValueTransformer(\n [prop(\"min\"), prop(\"max\")],\n [-width / 2, width / 2],\n )\n return parseFloat(getValue(value).toFixed(2))\n}\n\nfunction getOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n percent: number,\n value: number,\n) {\n const {computed, prop} = params\n if (prop(\"thumbAlignment\") === \"center\") {\n return `${percent}%`\n }\n const offset = computed(\"isVertical\")\n ? getVerticalThumbOffset(params, value)\n : getHorizontalThumbOffset(params, value)\n return `calc(${percent}% - ${offset}px)`\n}\n\nexport function getThumbOffset(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n): string {\n const {prop} = params\n const percent = getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100\n return getOffset(params, percent, value)\n}\n\nexport function getVisibility(\n params: Pick<Ctx, \"computed\" | \"prop\">,\n): \"visible\" | \"hidden\" {\n const {computed, prop} = params\n let visibility: \"visible\" | \"hidden\" = \"visible\"\n if (\n prop(\"thumbAlignment\") === \"contain\" &&\n !computed(\"hasMeasuredThumbSize\")\n ) {\n visibility = \"hidden\"\n }\n return visibility\n}\n\nexport function getThumbStyle(\n params: Pick<Ctx, \"computed\" | \"prop\">,\n index: number,\n): JSX.CSSProperties {\n const {computed} = params\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\"\n return {\n [placementProp]: `var(--slider-thumb-offset-${index})`,\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n visibility: getVisibility(params),\n }\n}\n\n/** Control style calculations */\n\nexport function getControlStyle(): JSX.CSSProperties {\n return {\n position: \"relative\",\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n }\n}\n\n/** Root style calculations */\n\nexport function getRootStyle(\n params: Pick<Ctx, \"context\" | \"computed\" | \"prop\">,\n): JSX.CSSProperties {\n const {computed, context} = params\n const isVertical = computed(\"isVertical\")\n const isRtl = computed(\"isRtl\")\n const range = getRangeOffsets(params)\n const thumbSize = context.get(\"thumbSize\")\n\n const styles: JSX.CSSProperties = {\n \"--slider-range-end\": range.end,\n \"--slider-range-start\": range.start,\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical\n ? \"translateY(50%)\"\n : isRtl\n ? \"translateX(50%)\"\n : \"translateX(-50%)\",\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n }\n\n const values = context.get(\"value\")\n for (let i = 0; i < values.length; i++) {\n styles[`--slider-thumb-offset-${i}`] = getThumbOffset(params, values[i])\n }\n\n return styles\n}\n\n/** Marker style calculations */\n\nexport function getMarkerStyle(\n params: Pick<Ctx, \"computed\" | \"context\" | \"prop\">,\n value: number,\n): JSX.CSSProperties {\n const {computed} = params\n const isHorizontal = computed(\"isHorizontal\")\n const isRtl = computed(\"isRtl\")\n return {\n \"--tx\": isHorizontal ? (isRtl ? \"50%\" : \"-50%\") : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(\n params,\n value,\n ),\n pointerEvents: \"none\",\n position: \"absolute\",\n translate: \"var(--tx) var(--ty)\",\n visibility: getVisibility(params),\n }\n}\n\n/** Label style calculations */\n\nexport function getMarkerGroupStyle(): JSX.CSSProperties {\n return {\n pointerEvents: \"none\",\n position: \"relative\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {SliderApiProps} from \"./slider.types\"\n\nexport const sliderProps: (keyof SliderApiProps)[] =\n createProps<SliderApiProps>()(\n \"aria-label\",\n \"aria-labelledby\",\n \"defaultValue\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"getRootNode\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n )\n\nexport const splitSliderProps: <Props extends SliderApiProps>(\n props: Props,\n) => [SliderApiProps, Omit<Props, keyof SliderApiProps>] =\n createSplitProps<SliderApiProps>(sliderProps)\n"],
5
+ "mappings": "mbAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,qBAAAE,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,qBAAAC,KAAA,eAAAC,GAAAN,ICMA,IAAAO,GAA+B,sCAC/BC,EAKO,kCACPC,GAAsB,oCACtBC,GAAgD,sCAChDC,EAA+C,qCAC/CC,GAAmB,qCCVnB,IAAAC,EAIO,kCAQPC,EAA8B,qCAMjBC,EAA+C,CAC1D,QAAUC,GAAUA,EAAM,IAAI,IAAI,SAAS,EAC3C,UAAYA,GAAUA,EAAM,IAAI,IAAI,WAAW,EAC/C,YAAa,CAACA,EAAOC,IAAQD,EAAM,IAAI,WAAW,aAAa,EAAE,IAAIC,CAAG,EACxE,KAAOD,GAAUA,EAAM,IAAI,IAAI,MAAM,EACrC,MAAQA,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,OAAQ,CAACA,EAAOC,IAAQD,EAAM,IAAI,WAAW,QAAQ,EAAE,IAAIC,CAAG,EAC9D,YAAcD,GAAUA,EAAM,IAAI,IAAI,aAAa,EACnD,UAAYA,GAAUA,EAAM,IAAI,IAAI,WAAW,EAC/C,UAAYA,GAAUA,EAAM,IAAI,IAAI,WAAW,EAC/C,MAAQA,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,KAAOA,GAAUA,EAAM,IAAI,IAAI,MAAM,EACrC,MAAO,CAACA,EAAOC,IAAQD,EAAM,IAAI,WAAW,OAAO,EAAE,IAAIC,CAAG,EAC5D,eAAgB,CAACD,EAAOC,IACtBD,EAAM,IAAI,WAAW,gBAAgB,EAAE,IAAIC,CAAG,EAChD,MAAQD,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,UAAYA,GAAUA,EAAM,IAAI,IAAI,WAAW,CACjD,EAEaE,EAAoD,CAC/D,QAAUF,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,EACvD,UAAYA,GAAUA,EAAM,QAAQD,EAAO,UAAUC,CAAK,CAAC,EAC3D,YAAa,CAACA,EAAOC,IAAQD,EAAM,QAAQD,EAAO,YAAYC,EAAOC,CAAG,CAAE,EAC1E,KAAOD,GAAUA,EAAM,QAAQD,EAAO,KAAKC,CAAK,CAAC,EACjD,MAAQA,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,OAAQ,CAACA,EAAOC,IAAQD,EAAM,QAAQD,EAAO,OAAOC,EAAOC,CAAG,CAAE,EAChE,YAAcD,GAAUA,EAAM,QAAQD,EAAO,YAAYC,CAAK,CAAC,EAC/D,UAAYA,GAAUA,EAAM,QAAQD,EAAO,UAAUC,CAAK,CAAC,EAC3D,UAAYA,GAAUA,EAAM,QAAQD,EAAO,UAAUC,CAAK,CAAC,EAC3D,MAAQA,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,KAAOA,GAAUA,EAAM,QAAQD,EAAO,KAAKC,CAAK,CAAC,EACjD,MAAO,CAACA,EAAOC,IAAQD,EAAM,QAAQD,EAAO,MAAMC,EAAOC,CAAG,CAAE,EAC9D,eAAgB,CAACD,EAAOC,IACtBD,EAAM,QAAQD,EAAO,eAAeC,EAAOC,CAAG,CAAE,EAClD,MAAQD,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,UAAYA,GAAUA,EAAM,QAAQD,EAAO,UAAUC,CAAK,CAAC,CAC7D,EAEaG,EAAeH,MAC1B,YAASE,EAAO,QAAQF,CAAK,EAAG,eAAe,EAEpCI,GAAmBJ,GAC9BG,EAAYH,CAAK,EAAE,CAAC,EAETK,EAAgB,CAC3BC,EACAC,IACuB,CACvB,GAAM,CAAC,KAAAC,EAAM,MAAAR,CAAK,EAAIM,EAChBG,EAAYP,EAAO,QAAQF,CAAK,EACtC,GAAI,CAACS,EACH,OAGF,IAAMC,KADgB,oBAAiBH,EAAOE,CAAS,EACzB,gBAAgB,CAC5C,IAAKD,EAAK,KAAK,EACf,SAAU,CAAC,EAAG,EAAI,EAClB,YAAaA,EAAK,aAAa,CACjC,CAAC,EACD,SAAO,mBAAgBE,EAASF,EAAK,KAAK,EAAGA,EAAK,KAAK,EAAGA,EAAK,MAAM,CAAC,CACxE,EAEaG,GAAsB,CAACX,EAAcY,IAA0B,CAC1EA,EAAM,QAAQ,CAACA,EAAOC,IAAU,CAC9B,IAAMC,EAAUZ,EAAO,YAAYF,EAAOa,EAAM,SAAS,CAAC,EACrDC,MAGL,2BAAwBA,EAA6B,CAAC,MAAAF,CAAK,CAAC,CAC9D,CAAC,CACH,EAEaG,GACXC,IACgE,CAChE,OAAQA,GAAI,cAAgB,EAC5B,KAAMA,GAAI,YAAc,EACxB,IAAKA,GAAI,WAAa,EACtB,MAAOA,GAAI,aAAe,CAC5B,GChGA,IAAAC,EAQO,qCAMA,SAASC,GAAYC,EAAgBC,EAAyB,CACnE,OAAOD,GAAG,QAAUC,GAAG,OAASD,GAAG,SAAWC,GAAG,MACnD,CAEO,IAAMC,EAAY,CACvBC,EACAC,EACAC,EACAC,EACAC,OAEe,kBAAeJ,EAAOC,EAAKC,EAAKE,EAAwBD,CAAI,EAC7D,IAAKE,GAAU,CAC3B,IAAMC,KAAY,mBAAgBD,EAAM,MAAOA,EAAM,IAAKA,EAAM,IAAKF,CAAI,EACnEI,KAAa,cAAWD,EAAWD,EAAM,IAAKA,EAAM,GAAG,EAC7D,GAAI,IAAC,sBAAmBE,EAAYN,EAAKC,CAAG,EAC1C,MAAM,IAAI,MACR,8GACF,EAEF,OAAOK,CACT,CAAC,EAGI,SAASC,GAAgBC,EAAaC,EAAgC,CAC3E,OAAOA,EAAW,IAAI,CAACV,EAAOW,IACrBC,EAAeH,EAAQT,EAAOW,CAAK,CAC3C,CACH,CAEO,SAASE,EACdJ,EACAE,EAIA,CACA,GAAM,CAAC,QAAAG,EAAS,KAAAC,CAAI,EAAIN,EAClBN,EAAOY,EAAK,MAAM,EAAIA,EAAK,uBAAuB,EACxD,SAAO,kBAAeD,EAAQ,IAAI,OAAO,EAAGC,EAAK,KAAK,EAAGA,EAAK,KAAK,EAAGZ,CAAI,EACxEQ,CACF,CACF,CAEO,SAASC,EACdH,EACAT,EACAW,EACQ,CACR,GAAM,CAAC,KAAAI,CAAI,EAAIN,EACTJ,EAAQQ,EAAgBJ,EAAQE,CAAK,EACrCL,KAAY,mBAChBN,EACAe,EAAK,KAAK,EACVA,EAAK,KAAK,EACVA,EAAK,MAAM,CACb,EACA,SAAO,cAAWT,EAAWD,EAAM,IAAKA,EAAM,GAAG,CACnD,CAEO,SAASW,GACdP,EACAE,EACAR,EACU,CACV,GAAM,CAAC,QAAAW,EAAS,KAAAC,CAAI,EAAIN,EAClBQ,EAAMN,GAASG,EAAQ,IAAI,cAAc,EACzCT,EAAQQ,EAAgBJ,EAAQQ,CAAG,EACnCP,KAAa,wBAAqBO,EAAK,CAC3C,GAAGZ,EACH,KAAMF,GAAQY,EAAK,MAAM,EACzB,OAAQD,EAAQ,IAAI,OAAO,CAC7B,CAAC,EACD,OAAAJ,EAAWO,CAAG,KAAI,cAAWP,EAAWO,CAAG,EAAGZ,EAAM,IAAKA,EAAM,GAAG,EAC3DK,CACT,CAEO,SAASQ,GACdT,EACAE,EACAR,EACU,CACV,GAAM,CAAC,QAAAW,EAAS,KAAAC,CAAI,EAAIN,EAClBQ,EAAMN,GAASG,EAAQ,IAAI,cAAc,EACzCT,EAAQQ,EAAgBJ,EAAQQ,CAAG,EACnCP,KAAa,oBAAiBO,EAAK,CACvC,GAAGZ,EACH,KAAMF,GAAQY,EAAK,MAAM,EACzB,OAAQD,EAAQ,IAAI,OAAO,CAC7B,CAAC,EACD,OAAAJ,EAAWO,CAAG,KAAI,cAAWP,EAAWO,CAAG,EAAGZ,EAAM,IAAKA,EAAM,GAAG,EAC3DK,CACT,CAEO,SAASS,GACdV,EACAW,EACQ,CACR,GAAM,CAAC,QAAAN,CAAO,EAAIL,EAClB,SAAO,wBAAqBK,EAAQ,IAAI,OAAO,EAAGM,CAAU,CAC9D,CFpFO,IAAMC,MACX,kBAA4B,CAC1B,QAAS,CACP,kBAAkB,CAAC,QAAAC,CAAO,EAAG,CAC3BA,EAAQ,IAAI,eAAgB,EAAE,CAChC,EACA,qBAAqB,CAAC,KAAAC,CAAI,EAAG,CAC3BA,EAAK,IAAI,kBAAmB,IAAI,CAClC,EACA,sBAAsBC,EAAQ,CAC5B,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EACnB,CAAC,MAAAE,EAAO,KAAAC,CAAI,EAAIF,EAChBG,EAAQC,GAAUL,EAAQE,EAAOC,CAAI,EAC3CL,EAAQ,IAAI,QAASM,CAAK,CAC5B,EACA,oBAAoB,CAAC,QAAAN,EAAS,MAAAQ,CAAK,EAAG,CACpCC,GAAoBD,EAAOR,EAAQ,IAAI,OAAO,CAAC,CACjD,EACA,iBAAiB,CAAC,QAAAA,EAAS,MAAAQ,CAAK,EAAG,IACjC,OAAI,IAAM,CACQE,EAAO,MACrBF,EACAR,EAAQ,IAAI,cAAc,EAAE,SAAS,CACvC,GACS,MAAM,CAAC,cAAe,EAAI,CAAC,CACtC,CAAC,CACH,EACA,sBAAsBE,EAAQ,CAC5B,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EACnB,CAAC,MAAAE,EAAO,KAAAC,CAAI,EAAIF,EAChBG,EAAQK,GAAUT,EAAQE,EAAOC,CAAI,EAC3CL,EAAQ,IAAI,QAASM,CAAK,CAC5B,EACA,kBAAkB,CAAC,QAAAN,EAAS,KAAAY,CAAI,EAAG,CACjC,eAAe,IAAM,CACnBA,EAAK,kBAAkB,IAAI,CAAC,MAAOZ,EAAQ,IAAI,OAAO,CAAC,CAAC,CAC1D,CAAC,CACH,EACA,qBAAqBE,EAAQ,CAC3B,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EAEzB,GAAI,EAAE,UAAWC,GACf,OAEF,IAAMU,EAAaC,EAAcZ,EAAQC,EAAM,KAAK,EACpD,GAAIU,GAAc,KAChB,OAGF,IAAME,EAAeC,GAAgBd,EAAQW,CAAU,EACvDb,EAAQ,IAAI,eAAgBe,CAAY,CAC1C,EACA,gBAAgB,CAAC,QAAAf,EAAS,MAAAG,CAAK,EAAG,CAC1B,UAAWA,GAGjBH,EAAQ,IAAI,eAAgBG,EAAM,KAAe,CACnD,EACA,qBAAqBD,EAAQ,CAC3B,GAAM,CAAC,QAAAF,CAAO,EAAIE,EACZE,EAAQJ,EAAQ,IAAI,cAAc,EAClC,CAAC,IAAAiB,CAAG,EAAIC,EAAgBhB,EAAQE,CAAK,EAC3CJ,EAAQ,IAAI,QAAUmB,MAAS,mBAAgBA,EAAMf,EAAOa,CAAG,CAAC,CAClE,EACA,qBAAqBf,EAAQ,CAC3B,GAAM,CAAC,QAAAF,CAAO,EAAIE,EACZE,EAAQJ,EAAQ,IAAI,cAAc,EAClC,CAAC,IAAAoB,CAAG,EAAIF,EAAgBhB,EAAQE,CAAK,EAC3CJ,EAAQ,IAAI,QAAUmB,MAAS,mBAAgBA,EAAMf,EAAOgB,CAAG,CAAC,CAClE,EACA,gBAAgBlB,EAAQ,CACtB,eAAe,IAAM,CACnB,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EACzB,GAAI,EAAE,UAAWC,GACf,OAEF,IAAMU,EAAaC,EAAcZ,EAAQC,EAAM,KAAK,EACpD,GAAIU,GAAc,KAChB,OAGF,IAAME,EAAef,EAAQ,IAAI,cAAc,EACzCM,EAAQe,EAAenB,EAAQW,EAAYE,CAAY,EAC7Df,EAAQ,IAAI,QAAUmB,MACpB,mBAAgBA,EAAMJ,EAAcT,CAAK,CAC3C,CACF,CAAC,CACH,EACA,mBAAmBJ,EAAQ,CACzB,GAAM,CAAC,MAAAC,EAAO,KAAAF,CAAI,EAAIC,EAChB,WAAYC,GAGlBF,EAAK,IAAI,kBAAmBE,EAAM,QAAU,IAAI,CAClD,EACA,SAASD,EAAQ,CACf,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EACzB,GAAI,EAAE,UAAWC,GACf,OAEF,IAAMG,EAAQgB,GAAgBpB,EAAQC,EAAM,KAAiB,EAC7DH,EAAQ,IAAI,QAASM,CAAK,CAC5B,EACA,gBAAgBJ,EAAQ,CACtB,GAAM,CAAC,QAAAF,EAAS,MAAAG,CAAK,EAAID,EACzB,GAAI,EAAE,UAAWC,GAAS,UAAWA,GACnC,OAEF,IAAMG,EAAQe,EACZnB,EACAC,EAAM,MACNA,EAAM,KACR,EACAH,EAAQ,IAAI,QAAUmB,MACpB,mBAAgBA,EAAMhB,EAAM,MAAiBG,CAAK,CACpD,CACF,EACA,kBAAkB,CAAC,QAAAN,EAAS,MAAAQ,CAAK,EAAG,CAClCR,EAAQ,IAAI,OAAO,EAAE,QAAQ,CAACM,EAAOF,IAAU,CAC7C,IAAMmB,EAAUb,EAAO,YAAYF,EAAOJ,EAAM,SAAS,CAAC,KAC1D,mBAAgBmB,EAA6BjB,EAAM,SAAS,CAAC,CAC/D,CAAC,CACH,CACF,EAEA,SAAU,CACR,qBAAsB,CAAC,CAAC,QAAAN,CAAO,IAAMA,EAAQ,IAAI,WAAW,GAAK,KACjE,WAAY,CAAC,CAAC,QAAAA,EAAS,KAAAY,CAAI,IACzB,CAAC,CAACA,EAAK,UAAU,GAAKZ,EAAQ,IAAI,kBAAkB,EACtD,aAAc,CAAC,CAAC,KAAAY,CAAI,IAAMA,EAAK,aAAa,IAAM,aAClD,cAAe,CAAC,CAAC,SAAAY,EAAU,KAAAZ,CAAI,IAC7B,EAAEA,EAAK,UAAU,GAAKY,EAAS,YAAY,GAC7C,MAAO,CAAC,CAAC,KAAAZ,CAAI,IACXA,EAAK,aAAa,IAAM,cAAgBA,EAAK,KAAK,IAAM,MAC1D,WAAY,CAAC,CAAC,KAAAA,CAAI,IAAMA,EAAK,aAAa,IAAM,WAChD,aAAa,CAAC,QAAAZ,EAAS,KAAAY,CAAI,EAAG,CAC5B,OAAOZ,EACJ,IAAI,OAAO,EACX,IACEM,GAAU,OAAM,mBAAgBA,EAAOM,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,CAClE,CACJ,CACF,EAEA,QAAQ,CAAC,SAAAa,EAAU,WAAAC,EAAY,KAAAd,CAAI,EAAG,CACpC,MAAO,CACL,iBAAkBa,EAAS,KAAO,CAChC,aAAc,EAChB,EAAE,EACF,aAAcA,EAAS,KAAO,CAC5B,aAAc,GACd,SAASnB,EAAO,CACd,IAAMqB,EAAMD,EAAW,EACvBd,EAAK,eAAe,IAAI,CACtB,aAAcN,EACd,MAAOqB,EAAI,IAAI,OAAO,CACxB,CAAC,CACH,CACF,EAAE,EACF,UAAWF,EAAS,KAAO,CACzB,aAAcb,EAAK,WAAW,GAAK,IACrC,EAAE,EACF,MAAOa,EAAS,KAAO,CACrB,aAAcb,EAAK,cAAc,EACjC,KAAKgB,EAAG,CACN,OAAOA,EAAE,KAAK,GAAG,CACnB,EACA,mBACA,SAAStB,EAAO,CACdM,EAAK,eAAe,IAAI,CAAC,MAAAN,CAAK,CAAC,CACjC,EACA,MAAOM,EAAK,OAAO,CACrB,EAAE,CACJ,CACF,EAEA,QAAS,CACP,sBAAsB,CAAC,QAAAZ,EAAS,MAAAQ,CAAK,EAAG,CACtC,SAAO,oBAAiBE,EAAO,KAAKF,CAAK,EAAG,CAC1C,yBAAyBqB,EAAU,CACjC7B,EAAQ,IAAI,mBAAoB6B,CAAQ,CAC1C,EACA,aAAc,CACZ7B,EAAQ,IAAI,QAASA,EAAQ,QAAQ,OAAO,CAAE,CAChD,CACF,CAAC,CACH,EAEA,iBAAiB,CAAC,MAAAQ,EAAO,KAAAsB,CAAI,EAAG,CAC9B,SAAO,oBAAiBtB,EAAM,OAAO,EAAG,CACtC,cAAcuB,EAAM,CAClBD,EAAK,CAAC,MAAOC,EAAK,MAAO,KAAM,cAAc,CAAC,CAChD,EACA,aAAc,CACZD,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,CACF,CAAC,CACH,EAEA,eAAe,CAAC,QAAA9B,EAAS,KAAAY,EAAM,MAAAJ,CAAK,EAA6B,CAC/D,GAAII,EAAK,gBAAgB,IAAM,WAAaA,EAAK,WAAW,EAC1D,OAGF,IAAIoB,EACEC,EAAQ,sBAAsB,IAAM,CACxCD,KAAU,qBAAiBE,EAAY1B,CAAK,EAAG,CAC7C,IAAK,aACL,QAAQ2B,EAAI,CACV,OAAOC,GAAcD,CAAE,CACzB,EACA,QAAQ,CAAC,MAAAE,CAAK,EAAG,CACf,GAAIA,EAAM,SAAW,EACnB,OAEF,IAAMC,KAAO,SAAKD,EAAM,CAAC,EAAG,CAAC,QAAS,QAAQ,CAAC,EAC3CE,GAAYvC,EAAQ,IAAI,WAAW,EAAGsC,CAAI,GAG9CtC,EAAQ,IAAI,YAAasC,CAAI,CAC/B,CACF,CAAC,CACH,CAAC,EACD,MAAO,IAAM,CACX,qBAAqBL,CAAK,EAC1BD,IAAU,CACZ,CACF,CACF,EAEA,OAAQ,CACN,SAAU,CAAC,CAAC,MAAA7B,CAAK,IAAM,UAAWA,GAASA,EAAM,OAAS,IAC5D,EAEA,IAAK,CAAC,CAAC,WAAAqC,EAAY,qBAAAC,CAAoB,KAC9B,CACL,QAASD,EAAmB,EAC5B,UAAWA,EAAmB,EAC9B,YAAaC,EAA6B,EAC1C,KAAMD,EAAmB,EACzB,MAAOA,EAAmB,EAC1B,OAAQC,EAA6B,EACrC,YAAaD,EAAmB,EAChC,UAAWA,EAAmB,EAC9B,UAAWA,EAAmB,EAC9B,MAAOA,EAAmB,EAC1B,KAAMA,EAAmB,EACzB,MAAOC,EAA6B,EACpC,eAAgBA,EAA6B,EAC7C,MAAOD,EAAmB,EAC1B,UAAWA,EAAmB,CAChC,GAGF,aAAc,IAAM,OAEpB,GAAI,CACF,UAAW,CACT,QAAS,CAAC,uBAAuB,CACnC,EACA,UAAW,CACT,QAAS,CAAC,uBAAuB,CACnC,EACA,UAAW,CACT,CACE,QAAS,CAAC,iBAAiB,EAC3B,MAAO,UACT,EACA,CACE,QAAS,CAAC,UAAU,CACtB,CACF,CACF,EAEA,OAAQ,CACN,QAAS,CAAC,wBAAyB,gBAAgB,CACrD,EAEA,MAAM,CAAC,MAAAE,CAAK,EAAG,CACb,IAAMtB,EAAMsB,EAAM,KAAO,EACnBzB,EAAMyB,EAAM,KAAO,IACnBrC,EAAOqC,EAAM,MAAQ,EACrBC,EAAeD,EAAM,cAAgB,CAACtB,CAAG,EACzCwB,EAAwBF,EAAM,uBAAyB,EAC7D,MAAO,CACL,IAAK,MACL,sBAAAE,EACA,YAAa,aACb,OAAQ,QACR,eAAgB,UAChB,GAAGF,EACH,aAAcG,EACZF,EACAvB,EACAH,EACAZ,EACAuC,CACF,EACA,IAAA3B,EACA,IAAAG,EACA,KAAAf,EACA,MAAOqC,EAAM,MACTG,EAAUH,EAAM,MAAOtB,EAAKH,EAAKZ,EAAMuC,CAAqB,EAC5D,MACN,CACF,EAEA,KAAM,KACG,CACL,gBAAiB,IACnB,GAGF,OAAQ,CACN,SAAU,CACR,QAAS,CAAC,kBAAkB,EAC5B,MAAO,CAAC,kBAAkB,EAC1B,GAAI,CACF,aAAc,CACZ,QAAS,CAAC,iBAAiB,CAC7B,EACA,WAAY,CACV,QAAS,CAAC,oBAAqB,sBAAsB,EACrD,OAAQ,OACV,CACF,CACF,EAEA,MAAO,CACL,MAAO,CAAC,kBAAkB,EAC1B,GAAI,CACF,UAAW,CACT,QAAS,CAAC,wBAAyB,mBAAmB,CACxD,EACA,UAAW,CACT,QAAS,CAAC,wBAAyB,mBAAmB,CACxD,EACA,KAAM,CACJ,QAAS,CAAC,mBAAmB,EAC7B,OAAQ,MACV,EACA,IAAK,CACH,QAAS,CAAC,uBAAwB,mBAAmB,CACvD,EACA,KAAM,CACJ,QAAS,CAAC,uBAAwB,mBAAmB,CACvD,EACA,aAAc,CACZ,QAAS,CACP,uBACA,kBACA,kBACF,EACA,OAAQ,UACV,EACA,mBAAoB,CAClB,QAAS,CACP,kBACA,qBACA,kBACF,EACA,OAAQ,UACV,CACF,CACF,EAEA,KAAM,CACJ,GAAI,CACF,MAAO,CACL,QAAS,CAAC,iBAAiB,EAC3B,OAAQ,OACV,EACA,aAAc,CACZ,QAAS,CACP,uBACA,kBACA,kBACF,EACA,OAAQ,UACV,EACA,mBAAoB,CAClB,QAAS,CACP,kBACA,qBACA,kBACF,EACA,OAAQ,UACV,CACF,CACF,CACF,EAEA,MAAM,CAAC,QAAAE,EAAS,QAAA9C,EAAS,MAAA+C,CAAK,EAAG,CAC/BA,EAAM,CAAC,IAAM/C,EAAQ,KAAK,OAAO,CAAC,EAAG,IAAM,CACzC8C,EAAQ,kBAAqB,EAC7BA,EAAQ,oBAAuB,CACjC,CAAC,CACH,CACF,CAAC,EG7aH,IAAAE,EAMO,kCACPC,EAAuC,oCACvCC,EAA+C,yCAO/CC,EAA+C,qCCd/C,IAAAC,EAIO,qCAQP,SAASC,GAAaC,EAAoB,CACxC,IAAMC,EAAaD,EAAM,CAAC,EACpBE,EAAYF,EAAMA,EAAM,OAAS,CAAC,EACxC,MAAO,CAACC,EAAYC,CAAS,CAC/B,CAEO,SAASC,GAAgBC,EAG9B,CACA,GAAM,CAAC,SAAAC,EAAU,KAAAC,CAAI,EAAIF,EACnBG,EAAeF,EAAS,cAAc,EACtC,CAACG,EAAcC,CAAW,EAAIV,GAAUQ,CAAY,EAE1D,GAAIA,EAAa,SAAW,EAAG,CAC7B,GAAID,EAAK,QAAQ,IAAM,SAAU,CAC/B,IAAMI,EAAaH,EAAa,CAAC,EAAI,GAC/BI,EAAQD,EAAa,GAAGH,EAAa,CAAC,CAAC,IAAM,MAEnD,MAAO,CAAC,IADIG,EAAa,MAAQ,GAAG,IAAMH,EAAa,CAAC,CAAC,IAC5C,MAAAI,CAAK,CACpB,CACA,OAAIL,EAAK,QAAQ,IAAM,MACd,CAAC,IAAK,KAAM,MAAO,GAAGG,CAAW,GAAG,EAGtC,CAAC,IAAK,GAAG,IAAMA,CAAW,IAAK,MAAO,IAAI,CACnD,CAEA,MAAO,CAAC,IAAK,GAAG,IAAMA,CAAW,IAAK,MAAO,GAAGD,CAAY,GAAG,CACjE,CAEO,SAASI,GACdR,EACmB,CACnB,GAAM,CAAC,SAAAC,CAAQ,EAAID,EACbS,EAAaR,EAAS,YAAY,EAClCS,EAAQT,EAAS,OAAO,EAE9B,OAAIQ,EACK,CACL,OAAQ,4BACR,SAAU,WACV,IAAK,yBACP,EAEK,CACL,CAACC,EAAQ,OAAS,OAAO,EAAG,0BAC5B,CAACA,EAAQ,QAAU,MAAM,EAAG,4BAC5B,SAAU,UACZ,CACF,CAIA,SAASC,GACPX,EACAJ,EACA,CACA,GAAM,CAAC,QAAAgB,EAAS,KAAAV,CAAI,EAAIF,EAClB,CAAC,OAAAa,EAAS,CAAC,EAAID,EAAQ,IAAI,WAAW,GAAK,CAAC,EAC5CE,KAAW,uBACf,CAACZ,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,EACzB,CAAC,CAACW,EAAS,EAAGA,EAAS,CAAC,CAC1B,EACA,OAAO,WAAWC,EAASlB,CAAK,EAAE,QAAQ,CAAC,CAAC,CAC9C,CAEA,SAASmB,GACPf,EACAJ,EACA,CACA,GAAM,CAAC,SAAAK,EAAU,QAAAW,EAAS,KAAAV,CAAI,EAAIF,EAC5B,CAAC,MAAAgB,EAAQ,CAAC,EAAIJ,EAAQ,IAAI,WAAW,GAAK,CAAC,EAIjD,GAFcX,EAAS,OAAO,EAEnB,CACT,IAAMa,KAAW,uBACf,CAACZ,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,EACzB,CAAC,CAACc,EAAQ,EAAGA,EAAQ,CAAC,CACxB,EACA,MAAO,GAAK,WAAWF,EAASlB,CAAK,EAAE,QAAQ,CAAC,CAAC,CACnD,CAEA,IAAMkB,KAAW,uBACf,CAACZ,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,EACzB,CAAC,CAACc,EAAQ,EAAGA,EAAQ,CAAC,CACxB,EACA,OAAO,WAAWF,EAASlB,CAAK,EAAE,QAAQ,CAAC,CAAC,CAC9C,CAEA,SAASqB,GACPjB,EACAkB,EACAtB,EACA,CACA,GAAM,CAAC,SAAAK,EAAU,KAAAC,CAAI,EAAIF,EACzB,GAAIE,EAAK,gBAAgB,IAAM,SAC7B,MAAO,GAAGgB,CAAO,IAEnB,IAAMC,EAASlB,EAAS,YAAY,EAChCU,GAAuBX,EAAQJ,CAAK,EACpCmB,GAAyBf,EAAQJ,CAAK,EAC1C,MAAO,QAAQsB,CAAO,OAAOC,CAAM,KACrC,CAEO,SAASC,GACdpB,EACAJ,EACQ,CACR,GAAM,CAAC,KAAAM,CAAI,EAAIF,EACTkB,KAAU,mBAAgBtB,EAAOM,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,EAAI,IACnE,OAAOe,GAAUjB,EAAQkB,EAAStB,CAAK,CACzC,CAEO,SAASyB,GACdrB,EACsB,CACtB,GAAM,CAAC,SAAAC,EAAU,KAAAC,CAAI,EAAIF,EACrBsB,EAAmC,UACvC,OACEpB,EAAK,gBAAgB,IAAM,WAC3B,CAACD,EAAS,sBAAsB,IAEhCqB,EAAa,UAERA,CACT,CAEO,SAASC,EACdvB,EACAwB,EACmB,CACnB,GAAM,CAAC,SAAAvB,CAAQ,EAAID,EAEnB,MAAO,CACL,CAFoBC,EAAS,YAAY,EAAI,SAAW,kBAE1C,EAAG,6BAA6BuB,CAAK,IACnD,SAAU,WACV,UAAW,gCACX,WAAYH,GAAcrB,CAAM,CAClC,CACF,CAIO,SAASyB,IAAqC,CACnD,MAAO,CACL,SAAU,WACV,YAAa,OACb,WAAY,OACZ,iBAAkB,MACpB,CACF,CAIO,SAASC,GACd1B,EACmB,CACnB,GAAM,CAAC,SAAAC,EAAU,QAAAW,CAAO,EAAIZ,EACtBS,EAAaR,EAAS,YAAY,EAClCS,EAAQT,EAAS,OAAO,EACxB0B,EAAQ5B,GAAgBC,CAAM,EAC9B4B,EAAYhB,EAAQ,IAAI,WAAW,EAEnCiB,EAA4B,CAChC,qBAAsBF,EAAM,IAC5B,uBAAwBA,EAAM,MAC9B,2BAAyB,QAAKC,GAAW,MAAM,EAC/C,2BAA4BnB,EACxB,kBACAC,EACE,kBACA,mBACN,0BAAwB,QAAKkB,GAAW,KAAK,CAC/C,EAEME,EAASlB,EAAQ,IAAI,OAAO,EAClC,QAASmB,EAAI,EAAGA,EAAID,EAAO,OAAQC,IACjCF,EAAO,yBAAyBE,CAAC,EAAE,EAAIX,GAAepB,EAAQ8B,EAAOC,CAAC,CAAC,EAGzE,OAAOF,CACT,CAIO,SAASG,GACdhC,EACAJ,EACmB,CACnB,GAAM,CAAC,SAAAK,CAAQ,EAAID,EACbiC,EAAehC,EAAS,cAAc,EACtCS,EAAQT,EAAS,OAAO,EAC9B,MAAO,CACL,OAAQgC,EAAgBvB,EAAQ,MAAQ,OAAU,KAClD,OAASuB,EAAuB,KAAR,MACxB,CAACA,EAAe,mBAAqB,QAAQ,EAAGb,GAC9CpB,EACAJ,CACF,EACA,cAAe,OACf,SAAU,WACV,UAAW,sBACX,WAAYyB,GAAcrB,CAAM,CAClC,CACF,CAIO,SAASkC,IAAyC,CACvD,MAAO,CACL,cAAe,OACf,SAAU,WACV,WAAY,OACZ,iBAAkB,MACpB,CACF,CDxLO,SAASC,GACdC,EACAC,EACW,CACX,GAAM,CAAC,SAAAC,EAAU,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAM,MAAAC,CAAK,EAAIP,EAEhDQ,EAAYJ,EAAK,YAAY,EAC7BK,EAAiBL,EAAK,iBAAiB,EAEvCM,EAAcP,EAAQ,IAAI,OAAO,EACjCQ,EAAeR,EAAQ,IAAI,cAAc,EAEzCS,EAAUL,EAAM,QAAQ,OAAO,EAC/BM,EAAWN,EAAM,QAAQ,UAAU,EAEnCO,EAAWV,EAAK,UAAU,EAC1BW,EAAWb,EAAS,YAAY,EAChCc,EAAU,CAAC,CAACZ,EAAK,SAAS,EAC1Ba,EAAcf,EAAS,eAAe,EAEtCgB,EAAed,EAAK,aAAa,IAAM,aACvCe,EAAaf,EAAK,aAAa,IAAM,WAE3C,SAASgB,EAAkBC,EAAe,CACxC,SAAO,mBAAgBA,EAAOjB,EAAK,KAAK,EAAGA,EAAK,KAAK,CAAC,CACxD,CAEA,SAASkB,EAAkBC,EAAiB,CAC1C,SAAO,mBAAgBA,EAASnB,EAAK,KAAK,EAAGA,EAAK,KAAK,EAAGA,EAAK,MAAM,CAAC,CACxE,CAEA,SAASoB,GAAgBC,EAAQ,GAAc,CAC7C,IAAMC,EAAMtB,EAAK,KAAK,EAChBuB,EAAMvB,EAAK,KAAK,EAEtB,GAAIsB,GAAOC,EACT,MAAO,CAACA,CAAG,EAEb,IAAMC,GAAQF,EAAMC,IAAQF,EAAQ,GACpC,OAAO,MAAM,KACX,CAAC,OAAQA,CAAK,EACd,CAACI,EAAGC,IAAM,KAAK,OAAOH,EAAMG,EAAIF,GAAQ,GAAG,EAAI,GACjD,CACF,CAEA,IAAMG,EAAoE,CACxE,aAAc,SACd,IAAK3B,EAAK,KAAK,CACjB,EAEA,MAAO,CACL,UAAU4B,EAAO,CACf1B,EAAK,CAAC,MAAA0B,EAAO,KAAM,WAAW,CAAC,CACjC,EACA,SAAAnB,EACA,OAAQ,CACDI,GAGLX,EAAK,CAAC,MAAO,EAAG,KAAM,OAAO,CAAC,CAChC,EACA,QAAAM,EACA,aAAAD,EACA,gBAAAa,GACA,gBAAiBF,EACjB,YAAYU,EAAO,CACjB,OAAOC,EAAgBjC,EAAOgC,CAAK,EAAE,GACvC,EACA,YAAYA,EAAO,CACjB,OAAOC,EAAgBjC,EAAOgC,CAAK,EAAE,GACvC,EACA,gBAAgBA,EAAO,CACrB,OAAOZ,EAAkBV,EAAYsB,CAAK,CAAC,CAC7C,EACA,cAAcA,EAAO,CACnB,OAAOtB,EAAYsB,CAAK,CAC1B,EACA,gBAAiBZ,EACjB,UAAUY,EAAO,CACf1B,EAAK,CAAC,MAAA0B,EAAO,KAAM,WAAW,CAAC,CACjC,EACA,IAAK5B,EAAK,KAAK,EACf,IAAKA,EAAK,KAAK,EACf,gBAAgB4B,EAAOT,EAAS,CAC9B,IAAMF,EAAQC,EAAkBC,CAAO,EACvCjB,EAAK,CAAC,MAAA0B,EAAO,KAAM,YAAa,MAAAX,CAAK,CAAC,CACxC,EACA,cAAcW,EAAOX,EAAO,CAC1Bf,EAAK,CAAC,MAAA0B,EAAO,KAAM,YAAa,MAAAX,CAAK,CAAC,CACxC,EACA,SAASA,EAAO,CACdf,EAAK,CAAC,KAAM,YAAa,MAAAe,CAAK,CAAC,CACjC,EACA,MAAOX,EAIP,mBAAmBwB,EAA8B,CAC/C,OAAA7B,EAAM,IAAI,SAAS,UAAW6B,CAAK,EAC5BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,gBAAc,mBAAgBD,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,UACb,mBAAiB,mBAAgBU,CAAQ,EACzC,GAAIoB,EAAM,GACV,IAAK9B,EAAK,KAAK,EACf,IAAKA,EAAK,KAAK,EACf,cAAc+B,EAAO,CAOnB,GANI,CAAClB,GAGD,IAAC,eAAYkB,CAAK,MAGlB,iBAAcA,CAAK,EACrB,OAGF,IAAMC,KAAQ,iBAAcD,CAAK,EACjC7B,EAAK,CAAC,MAAA8B,EAAO,KAAM,cAAc,CAAC,EAElCD,EAAM,eAAe,EACrBA,EAAM,gBAAgB,CACxB,EACA,MAAOE,GAAgB,CACzB,CAAC,CACH,EACA,qBAAqBH,EAAgC,CACnD,OAAA7B,EAAM,IAAI,SAAS,YAAa6B,CAAK,EAC9BjC,EAAU,MAAM,CACrB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,kBAAgB,mBAAgBG,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,aACb,OAAQ,CAACY,EACT,GAAIkB,EAAM,EACZ,CAAC,CACH,EACA,uBAAuB,CACrB,GAAAI,EACA,MAAAN,EAAQ,EACR,KAAAO,EACA,UAAAC,CACF,EAA8B,CAC5BnC,EAAM,IACH,WAAW,aAAa,EACxB,SAAS2B,EAAM,SAAS,EAAGM,EAAIE,CAAS,EAC3C,IAAMC,EAAarC,EAAK,MAAM,EAC1BsC,EAEJ,OAAIH,EACFG,EAAYH,EACH,OAAOE,GAAe,SAC3B/B,EAAY,SAAW,EACzBgC,EAAYD,EACH/B,EAAY,SAAW,IAChCgC,EAAYD,EAAaT,GAElB,MAAM,QAAQS,CAAU,IAC7B/B,EAAY,SAAW,EACzBgC,EAAYD,EAAW,CAAC,EACf/B,EAAY,SAAW,IAChCgC,EAAYD,EAAWT,CAAK,IAIzB/B,EAAU,MAAM,CACrB,GAAG8B,EACH,aAAcrB,EAAYsB,CAAK,EAC/B,KAAM5B,EAAK,MAAM,EACjB,OAAQ,GACR,GAAAkC,EACA,KAAMI,EACN,KAAM,MACR,CAAC,CACH,EACA,gBAAgBR,EAA2B,CACzC,OAAA7B,EAAM,IAAI,SAAS,OAAQ6B,CAAK,EACzBjC,EAAU,MAAM,CACrB,GAAG8B,EACH,YAAa,SACb,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,kBAAgB,mBAAgBG,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,OACb,mBAAiB,mBAAgBU,CAAQ,EACzC,OAAQE,EACR,GAAIkB,EAAM,EACZ,CAAC,CACH,EACA,iBAAiBA,EAAO,CACtB,OAAA7B,EAAM,IAAI,SAAS,QAAS6B,CAAK,EAC1BjC,EAAU,MAAM,CACrB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,gBAAc,mBAAgBD,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,QACb,mBAAiB,mBAAgBU,CAAQ,EACzC,QAAST,EAAM,IAAI,WAAW,aAAa,EAAE,IAAI,GAAG,EACpD,GAAI6B,EAAM,GACV,QAAQC,EAAO,CACRlB,IAGLkB,EAAM,eAAe,EACrBQ,GAAgBtC,CAAK,GAAG,MAAM,EAChC,EACA,MAAO,CACL,WAAY,OACZ,iBAAkB,MACpB,CACF,CAAC,CACH,EACA,kBAAkB,CAAC,GAAAiC,EAAI,UAAAE,EAAW,MAAAnB,CAAK,EAAyB,CAC9DhB,EAAM,IAAI,WAAW,QAAQ,EAAE,SAASgB,EAAM,SAAS,EAAGiB,EAAIE,CAAS,EAEvE,IAAMI,EAAQC,GAAe7C,EAAOqB,CAAK,EACrCyB,EAEJ,OAAIzB,KAAQ,SAAMX,CAAW,EAC3BoC,EAAc,cACLzB,KAAQ,QAAKX,CAAW,EACjCoC,EAAc,aAEdA,EAAc,WAGT7C,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAoBX,EAAK,aAAa,EACtC,YAAa,SACb,mBAAiB,mBAAgBU,CAAQ,EACzC,aAAcgC,EACd,aAAczB,EACd,GAAAiB,EACA,KAAM,eACN,MAAAM,CACF,CAAC,CACH,EACA,uBAAuBV,EAAkC,CACvD,OAAA7B,EAAM,IAAI,SAAS,cAAe6B,CAAK,EAChCjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,cAAe,GACf,mBAAoB3B,EAAK,aAAa,EACtC,YAAa,eACb,GAAI8B,EAAM,GACV,KAAM,eACN,MAAOa,GAAoB,CAC7B,CAAC,CACH,EACA,qBAAqBb,EAAgC,CACnD,OAAA7B,EAAM,IAAI,SAAS,YAAa6B,CAAK,EAC9BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAoBX,EAAK,aAAa,EACtC,YAAa,MACb,mBAAiB,mBAAgBU,CAAQ,EACzC,aAAcV,EAAK,KAAK,EACxB,GAAI8B,EAAM,GACV,KAAM,cACR,CAAC,CACH,EACA,qBAAqBA,EAAgC,CACnD,OAAA7B,EAAM,IAAI,SAAS,YAAa6B,CAAK,EAC9BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAoBX,EAAK,aAAa,EACtC,YAAa,MACb,mBAAiB,mBAAgBU,CAAQ,EACzC,aAAcV,EAAK,KAAK,EACxB,GAAI8B,EAAM,GACV,KAAM,cACR,CAAC,CACH,EACA,iBAAiBA,EAA4B,CAC3C,OAAA7B,EAAM,IAAI,SAAS,QAAS6B,CAAK,EAC1BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,gBAAc,mBAAgBD,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,QACb,mBAAiB,mBAAgBU,CAAQ,EACzC,GAAIoB,EAAM,GACV,MAAOc,GAAchD,CAAK,CAC5B,CAAC,CACH,EACA,gBAAgBkC,EAA2B,CACzC,OAAA7B,EAAM,IAAI,SAAS,OAAQ6B,CAAK,EACzBjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,gBAAc,mBAAgBD,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,OACb,mBAAiB,mBAAgBU,CAAQ,EACzC,GAAIoB,EAAM,GACV,MAAOe,GAAajD,CAAK,CAC3B,CAAC,CACH,EACA,iBAAiB,CAAC,GAAAsC,EAAI,MAAAN,EAAQ,EAAG,KAAAO,EAAM,UAAAC,CAAS,EAAwB,CACtEnC,EAAM,IAAI,WAAW,OAAO,EAAE,SAAS2B,EAAM,SAAS,EAAGM,EAAIE,CAAS,EAEtE,IAAMnB,EAAQX,EAAYsB,CAAK,EACzBkB,EAAQjB,EAAgBjC,EAAOgC,CAAK,EACpCmB,GAAY/C,EAAK,kBAAkB,IAAI,CAAC,MAAA4B,EAAO,MAAAX,CAAK,CAAC,EACrD+B,MAAa,eAAY5C,CAAS,EAAEwB,CAAK,EACzCqB,MAAkB,eAAY5C,CAAc,EAAEuB,CAAK,EAEzD,OAAO/B,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAoBuB,EAAO,KAAKjD,CAAK,EACrC,mBAAiB,mBAAgBU,CAAQ,EACzC,aAAcqC,GACd,kBAAmBC,IAAmBC,EAAO,MAAMjD,CAAK,EACxD,mBAAoBD,EAAK,aAAa,EACtC,gBAAiB8C,EAAM,IACvB,gBAAiBA,EAAM,IACvB,gBAAiBxC,EAAYsB,CAAK,EAClC,iBAAkBmB,GAClB,mBAAiB,mBAAgBpC,CAAQ,EACzC,mBAAiB,mBAAgBF,GAAYF,IAAiBqB,CAAK,EACnE,gBAAc,mBAAgBpB,GAAWD,IAAiBqB,CAAK,EAC/D,aAAcA,EACd,YAAaO,EACb,mBAAoBnC,EAAK,aAAa,EACtC,YAAa,QACb,mBAAiB,mBAAgBU,CAAQ,EACzC,UAAW,GACX,GAAAwB,EACA,QAAS,CACFrB,GAGLX,EAAK,CAAC,KAAM,MAAM,CAAC,CACrB,EACA,SAAU,CACHW,GAGLX,EAAK,CAAC,MAAA0B,EAAO,KAAM,OAAO,CAAC,CAC7B,EACA,UAAUG,EAAO,CAIf,GAHIA,EAAM,kBAGN,CAAClB,EACH,OAGF,IAAMW,KAAO,gBAAaO,CAAK,EAAI/B,EAAK,MAAM,EAExCmD,EAAsB,CAC1B,WAAY,CACNrC,GAGJZ,EAAK,CAAC,IAAK,YAAa,KAAAsB,EAAM,KAAM,WAAW,CAAC,CAClD,EACA,WAAY,CACNT,GAGJb,EAAK,CAAC,IAAK,YAAa,KAAAsB,EAAM,KAAM,WAAW,CAAC,CAClD,EACA,YAAa,CACPT,GAGJb,EAAK,CAAC,IAAK,aAAc,KAAAsB,EAAM,KAAM,WAAW,CAAC,CACnD,EACA,SAAU,CACJV,GAGJZ,EAAK,CAAC,IAAK,UAAW,KAAAsB,EAAM,KAAM,WAAW,CAAC,CAChD,EACA,KAAM,CACJtB,EAAK,CAAC,KAAM,KAAK,CAAC,CACpB,EACA,MAAO,CACLA,EAAK,CAAC,KAAM,MAAM,CAAC,CACrB,EACA,UAAW,CACTA,EAAK,CAAC,IAAK,WAAY,KAAAsB,EAAM,KAAM,WAAW,CAAC,CACjD,EACA,QAAS,CACPtB,EAAK,CAAC,IAAK,SAAU,KAAAsB,EAAM,KAAM,WAAW,CAAC,CAC/C,CACF,EAEM4B,KAAM,eAAYrB,EAAO,CAC7B,IAAK/B,EAAK,KAAK,EACf,YAAaA,EAAK,aAAa,CACjC,CAAC,EACKqD,EAAOF,EAAOC,CAAG,EAEnBC,IACFA,EAAKtB,CAAK,EACVA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EAE1B,EACA,cAAcA,EAAO,CAInB,GAHI,CAAClB,GAGD,IAAC,eAAYkB,CAAK,EACpB,OAIF,IAAMuB,EADUvB,EAAM,cACD,sBAAsB,EACrCwB,EAAW,CACf,EAAGD,EAAK,KAAOA,EAAK,MAAQ,EAC5B,EAAGA,EAAK,IAAMA,EAAK,OAAS,CAC9B,EACME,EAAS,CACb,EAAGzB,EAAM,QAAUwB,EAAS,EAC5B,EAAGxB,EAAM,QAAUwB,EAAS,CAC9B,EAEArD,EAAK,CAAC,MAAA0B,EAAO,OAAA4B,EAAQ,KAAM,oBAAoB,CAAC,EAChDzB,EAAM,gBAAgB,CACxB,EACA,KAAM,SACN,MAAO0B,EAAc7D,EAAOgC,CAAK,EACjC,SAAUjB,EAAW,OAAY,CACnC,CAAC,CACH,EACA,0BAA0B,CACxB,GAAAuB,EACA,MAAAN,EAAQ,EACR,UAAAQ,CACF,EAAiC,CAC/B,OAAAnC,EAAM,IACH,WAAW,gBAAgB,EAC3B,SAAS2B,EAAM,SAAS,EAAGM,EAAIE,CAAS,EACpCvC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAoB3B,EAAK,aAAa,EACtC,YAAa,kBACb,KAAM,eACN,MAAOyD,EAAc7D,EAAOgC,CAAK,CACnC,CAAC,CACH,EACA,iBAAiBE,EAA4B,CAC3C,OAAA7B,EAAM,IAAI,SAAS,QAAS6B,CAAK,EAC1BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,mBAAiB,mBAAgBF,CAAQ,EACzC,gBAAc,mBAAgBD,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,QACb,mBAAiB,mBAAgBU,CAAQ,EACzC,GAAIoB,EAAM,GACV,MAAO,CAAC,SAAU,UAAU,CAC9B,CAAC,CACH,EACA,qBAAqBA,EAAgC,CACnD,OAAA7B,EAAM,IAAI,SAAS,YAAa6B,CAAK,EAC9BjC,EAAU,QAAQ,CACvB,GAAG8B,EACH,mBAAiB,mBAAgBhB,CAAQ,EACzC,gBAAc,mBAAgBH,CAAO,EACrC,kBAAgB,mBAAgBI,CAAO,EACvC,mBAAoBZ,EAAK,aAAa,EACtC,YAAa,aACb,mBAAiB,mBAAgBU,CAAQ,EACzC,GAAIoB,EAAM,GACV,MAAOxB,CACT,CAAC,CACH,CACF,CACF,CE5hBA,IAAAoD,EAA4C,qCAI/BC,MACX,eAA4B,EAC1B,aACA,kBACA,eACA,MACA,WACA,OACA,mBACA,cACA,UACA,MACA,MACA,wBACA,OACA,gBACA,gBACA,mBACA,cACA,SACA,WACA,OACA,iBACA,YACA,OACF,EAEWC,MAGX,oBAAiCD,EAAW",
6
+ "names": ["slider_exports", "__export", "createSliderApi", "sliderMachine", "sliderProps", "splitSliderProps", "__toCommonJS", "import_dom_query", "import_query", "import_equal", "import_machine", "import_number", "import_object", "import_query", "import_number", "domIds", "scope", "key", "domEls", "getThumbEls", "getFirstThumbEl", "getPointValue", "params", "point", "prop", "controlEl", "percent", "dispatchChangeEvent", "value", "index", "inputEl", "getOffsetRect", "el", "import_number", "isEqualSize", "a", "b", "normalize", "value", "min", "max", "step", "minStepsBetweenThumbs", "range", "snapValue", "rangeValue", "normalizeValues", "params", "nextValues", "index", "constrainValue", "getRangeAtIndex", "context", "prop", "decrement", "idx", "increment", "getClosestIndex", "pointValue", "sliderMachine", "context", "refs", "params", "event", "index", "step", "value", "decrement", "scope", "dispatchChangeEvent", "domEls", "increment", "prop", "pointValue", "getPointValue", "focusedIndex", "getClosestIndex", "max", "getRangeAtIndex", "prev", "min", "constrainValue", "normalizeValues", "inputEl", "computed", "bindable", "getContext", "ctx", "a", "disabled", "send", "info", "cleanup", "rafId", "getThumbEls", "el", "getOffsetRect", "rects", "size", "isEqualSize", "bindableId", "bindableIdCollection", "props", "defaultValue", "minStepsBetweenThumbs", "normalize", "actions", "track", "import_query", "import_array", "import_attributes", "import_number", "import_number", "getBounds", "value", "firstValue", "lastThumb", "getRangeOffsets", "params", "computed", "prop", "valuePercent", "firstPercent", "lastPercent", "isNegative", "start", "getRangeStyle", "isVertical", "isRtl", "getVerticalThumbOffset", "context", "height", "getValue", "getHorizontalThumbOffset", "width", "getOffset", "percent", "offset", "getThumbOffset", "getVisibility", "visibility", "getThumbStyle", "index", "getControlStyle", "getRootStyle", "range", "thumbSize", "styles", "values", "i", "getMarkerStyle", "isHorizontal", "getMarkerGroupStyle", "createSliderApi", "store", "normalize", "computed", "context", "prop", "scope", "send", "state", "ariaLabel", "ariaLabelledBy", "sliderValue", "focusedIndex", "focused", "dragging", "readOnly", "disabled", "invalid", "interactive", "isHorizontal", "isVertical", "getValuePercentFn", "value", "getPercentValueFn", "percent", "getDefaultMarks", "count", "max", "min", "step", "_", "i", "commonProps", "index", "getRangeAtIndex", "props", "event", "point", "getControlStyle", "id", "name", "onDestroy", "globalName", "inputName", "getFirstThumbEl", "style", "getMarkerStyle", "markerState", "getMarkerGroupStyle", "getRangeStyle", "getRootStyle", "range", "valueText", "_ariaLabel", "_ariaLabelledBy", "domIds", "keyMap", "key", "exec", "rect", "midpoint", "offset", "getThumbStyle", "import_object", "sliderProps", "splitSliderProps"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{trackElementRect as Ee}from"@qualcomm-ui/dom/dom-query";import{raf as Ie,setElementValue as ke,trackFormControl as Ve,trackPointerMove as Ce}from"@qualcomm-ui/dom/query";import{isEqual as Ae}from"@qualcomm-ui/utils/equal";import{createMachine as Me}from"@qualcomm-ui/utils/machine";import{getValuePercent as Re,setValueAtIndex as O}from"@qualcomm-ui/utils/number";import{pick as Oe}from"@qualcomm-ui/utils/object";import{dispatchInputValueEvent as he,getRelativePoint as xe,queryAll as be}from"@qualcomm-ui/dom/query";import{getPercentValue as Se}from"@qualcomm-ui/utils/number";var h={control:e=>e.ids.get("control"),errorText:e=>e.ids.get("errorText"),hiddenInput:(e,t)=>e.ids.collection("hiddenInput").get(t),hint:e=>e.ids.get("hint"),label:e=>e.ids.get("label"),marker:(e,t)=>e.ids.collection("marker").get(t),markerGroup:e=>e.ids.get("markerGroup"),maxMarker:e=>e.ids.get("maxMarker"),minMarker:e=>e.ids.get("minMarker"),range:e=>e.ids.get("range"),root:e=>e.ids.get("root"),thumb:(e,t)=>e.ids.collection("thumb").get(t),track:e=>e.ids.get("track"),valueText:e=>e.ids.get("valueText")},V={control:e=>e.getById(h.control(e)),errorText:e=>e.getById(h.errorText(e)),hiddenInput:(e,t)=>e.getById(h.hiddenInput(e,t)),hint:e=>e.getById(h.hint(e)),label:e=>e.getById(h.label(e)),marker:(e,t)=>e.getById(h.marker(e,t)),markerGroup:e=>e.getById(h.markerGroup(e)),maxMarker:e=>e.getById(h.maxMarker(e)),minMarker:e=>e.getById(h.minMarker(e)),range:e=>e.getById(h.range(e)),root:e=>e.getById(h.root(e)),thumb:(e,t)=>e.getById(h.thumb(e,t)),track:e=>e.getById(h.track(e)),valueText:e=>e.getById(h.valueText(e))},D=e=>be(V.control(e),"[role=slider]"),q=e=>D(e)[0],N=(e,t)=>{let{prop:n,scope:i}=e,r=V.control(i);if(!r)return;let u=xe(t,r).getPercentValue({dir:n("dir"),inverted:{y:!0},orientation:n("orientation")});return Se(u,n("min"),n("max"),n("step"))},$=(e,t)=>{t.forEach((n,i)=>{let r=V.hiddenInput(e,i.toString());r&&he(r,{value:n})})},X=e=>({height:e?.offsetHeight??0,left:e?.offsetLeft??0,top:e?.offsetTop??0,width:e?.offsetWidth??0});import{clampValue as M,getClosestValueIndex as ve,getNextStepValue as ye,getPreviousStepValue as Pe,getValueRanges as G,isValueWithinRange as Te,snapValueToStep as J}from"@qualcomm-ui/utils/number";function K(e,t){return e?.width===t?.width&&e?.height===t?.height}var w=(e,t,n,i,r)=>G(e,t,n,r*i).map(u=>{let c=J(u.value,u.min,u.max,i),P=M(c,u.min,u.max);if(!Te(P,t,n))throw new Error("[@qualcomm-ui/core/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid");return P});function j(e,t){return t.map((n,i)=>R(e,n,i))}function y(e,t){let{context:n,prop:i}=e,r=i("step")*i("minStepsBetweenThumbs");return G(n.get("value"),i("min"),i("max"),r)[t]}function R(e,t,n){let{prop:i}=e,r=y(e,n),a=J(t,i("min"),i("max"),i("step"));return M(a,r.min,r.max)}function Y(e,t,n){let{context:i,prop:r}=e,a=t??i.get("focusedIndex"),u=y(e,a),c=Pe(a,{...u,step:n??r("step"),values:i.get("value")});return c[a]=M(c[a],u.min,u.max),c}function Q(e,t,n){let{context:i,prop:r}=e,a=t??i.get("focusedIndex"),u=y(e,a),c=ye(a,{...u,step:n??r("step"),values:i.get("value")});return c[a]=M(c[a],u.min,u.max),c}function Z(e,t){let{context:n}=e;return ve(n.get("value"),t)}var dt=Me({actions:{clearFocusedIndex({context:e}){e.set("focusedIndex",-1)},decrementThumbAtIndex(e){let{context:t,event:n}=e,{index:i,step:r}=n,a=Y(e,i,r);t.set("value",a)},dispatchChangeEvent({context:e,scope:t}){$(t,e.get("value"))},focusActiveThumb({context:e,scope:t}){Ie(()=>{V.thumb(t,e.get("focusedIndex").toString())?.focus({preventScroll:!0})})},incrementThumbAtIndex(e){let{context:t,event:n}=e,{index:i,step:r}=n,a=Q(e,i,r);t.set("value",a)},invokeOnChangeEnd({context:e,prop:t}){queueMicrotask(()=>{t("onValueChangeEnd")?.({value:e.get("value")})})},setClosestThumbIndex(e){let{context:t,event:n}=e;if(!("point"in n))return;let i=N(e,n.point);if(i==null)return;let r=Z(e,i);t.set("focusedIndex",r)},setFocusedIndex({context:e,event:t}){"index"in t&&e.set("focusedIndex",t.index)},setFocusedThumbToMax(e){let{context:t}=e,n=t.get("focusedIndex"),{max:i}=y(e,n);t.set("value",r=>O(r,n,i))},setFocusedThumbToMin(e){let{context:t}=e,n=t.get("focusedIndex"),{min:i}=y(e,n);t.set("value",r=>O(r,n,i))},setPointerValue(e){queueMicrotask(()=>{let{context:t,event:n}=e;if(!("point"in n))return;let i=N(e,n.point);if(i==null)return;let r=t.get("focusedIndex"),a=R(e,i,r);t.set("value",u=>O(u,r,a))})},setValue(e){let{context:t,event:n}=e;if(!("value"in n))return;let i=j(e,n.value);t.set("value",i)},setValueAtIndex(e){let{context:t,event:n}=e;if(!("index"in n&&"value"in n))return;let i=R(e,n.value,n.index);t.set("value",r=>O(r,n.index,i))},syncInputElements({context:e,scope:t}){e.get("value").forEach((n,i)=>{let r=V.hiddenInput(t,i.toString());ke(r,n.toString())})}},computed:{hasMeasuredThumbSize:({context:e})=>e.get("thumbSize")!=null,isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isHorizontal:({prop:e})=>e("orientation")==="horizontal",isInteractive:({computed:e,prop:t})=>!(t("readOnly")||e("isDisabled")),isRtl:({prop:e})=>e("orientation")==="horizontal"&&e("dir")==="rtl",isVertical:({prop:e})=>e("orientation")==="vertical",valuePercent({context:e,prop:t}){return e.get("value").map(n=>100*Re(n,t("min"),t("max")))}},context({bindable:e,getContext:t,prop:n}){return{fieldsetDisabled:e(()=>({defaultValue:!1})),focusedIndex:e(()=>({defaultValue:-1,onChange(i){let r=t();n("onFocusChange")?.({focusedIndex:i,value:r.get("value")})}})),thumbSize:e(()=>({defaultValue:n("thumbSize")||null})),value:e(()=>({defaultValue:n("defaultValue"),hash(i){return i.join(",")},isEqual:Ae,onChange(i){n("onValueChange")?.({value:i})},value:n("value")}))}},effects:{trackFormControlState({context:e,scope:t}){return Ve(V.root(t),{onFieldsetDisabledChange(n){e.set("fieldsetDisabled",n)},onFormReset(){e.set("value",e.initial("value"))}})},trackPointerMove({scope:e,send:t}){return Ce(e.getDoc(),{onPointerMove(n){t({point:n.point,type:"POINTER_MOVE"})},onPointerUp(){t({type:"POINTER_UP"})}})},trackThumbSize({context:e,prop:t,scope:n}){if(!(t("thumbAlignment")!=="contain"||t("thumbSize")))return Ee(D(n),{box:"border-box",measure(i){return X(i)},onEntry({rects:i}){if(i.length===0)return;let r=Oe(i[0],["width","height"]);K(e.get("thumbSize"),r)||e.set("thumbSize",r)}})}},guards:{hasIndex:({event:e})=>"index"in e&&e.index!=null},ids:({bindableId:e,bindableIdCollection:t})=>({control:e(),errorText:e(),hiddenInput:t(),hint:e(),label:e(),marker:t(),markerGroup:e(),maxMarker:e(),minMarker:e(),range:e(),root:e(),thumb:t(),track:e(),valueText:e()}),initialState:()=>"idle",on:{DECREMENT:{actions:["decrementThumbAtIndex"]},INCREMENT:{actions:["incrementThumbAtIndex"]},SET_VALUE:[{actions:["setValueAtIndex"],guard:"hasIndex"},{actions:["setValue"]}]},onInit:{effects:["trackFormControlState","trackThumbSize"]},props({props:e}){let t=e.min??0,n=e.max??100,i=e.step??1,r=e.defaultValue??[t],a=e.minStepsBetweenThumbs??0;return{dir:"ltr",minStepsBetweenThumbs:a,orientation:"horizontal",origin:"start",thumbAlignment:"contain",...e,defaultValue:w(r,t,n,i,a),max:n,min:t,step:i,value:e.value?w(e.value,t,n,i,a):void 0}},states:{dragging:{effects:["trackPointerMove"],entry:["focusActiveThumb"],on:{POINTER_MOVE:{actions:["setPointerValue"]},POINTER_UP:{actions:["invokeOnChangeEnd"],target:"focus"}}},focus:{entry:["focusActiveThumb"],on:{ARROW_DEC:{actions:["decrementThumbAtIndex","invokeOnChangeEnd"]},ARROW_INC:{actions:["incrementThumbAtIndex","invokeOnChangeEnd"]},BLUR:{actions:["clearFocusedIndex"],target:"idle"},END:{actions:["setFocusedThumbToMax","invokeOnChangeEnd"]},HOME:{actions:["setFocusedThumbToMin","invokeOnChangeEnd"]},POINTER_DOWN:{actions:["setClosestThumbIndex","setPointerValue","focusActiveThumb"],target:"dragging"},THUMB_POINTER_DOWN:{actions:["setFocusedIndex","focusActiveThumb"],target:"dragging"}}},idle:{on:{FOCUS:{actions:["setFocusedIndex"],target:"focus"},POINTER_DOWN:{actions:["setClosestThumbIndex","setPointerValue","focusActiveThumb"],target:"dragging"},THUMB_POINTER_DOWN:{actions:["setFocusedIndex","focusActiveThumb"],target:"dragging"}}}},watch({actions:e,context:t,track:n}){n([()=>t.hash("value")],()=>{e.syncInputElements(),e.dispatchChangeEvent()})}});import{getEventKey as ze,getEventPoint as Ue,getEventStep as We,isLeftClick as ue,isModifierKey as Le}from"@qualcomm-ui/dom/query";import{ensureArray as le,first as He,last as qe}from"@qualcomm-ui/utils/array";import{booleanAriaAttr as $e,booleanDataAttr as s}from"@qualcomm-ui/utils/attributes";import{getPercentValue as Xe,getValuePercent as Ge}from"@qualcomm-ui/utils/number";import{getValuePercent as Be,getValueTransformer as F,toPx as ee}from"@qualcomm-ui/utils/number";function De(e){let t=e[0],n=e[e.length-1];return[t,n]}function Ne(e){let{computed:t,prop:n}=e,i=t("valuePercent"),[r,a]=De(i);if(i.length===1){if(n("origin")==="center"){let u=i[0]<50,c=u?`${i[0]}%`:"50%";return{end:u?"50%":`${100-i[0]}%`,start:c}}return n("origin")==="end"?{end:"0%",start:`${a}%`}:{end:`${100-a}%`,start:"0%"}}return{end:`${100-a}%`,start:`${r}%`}}function te(e){let{computed:t}=e,n=t("isVertical"),i=t("isRtl");return n?{bottom:"var(--slider-range-start)",position:"absolute",top:"var(--slider-range-end)"}:{[i?"left":"right"]:"var(--slider-range-end)",[i?"right":"left"]:"var(--slider-range-start)",position:"absolute"}}function we(e,t){let{context:n,prop:i}=e,{height:r=0}=n.get("thumbSize")??{},a=F([i("min"),i("max")],[-r/2,r/2]);return parseFloat(a(t).toFixed(2))}function Fe(e,t){let{computed:n,context:i,prop:r}=e,{width:a=0}=i.get("thumbSize")??{};if(n("isRtl")){let P=F([r("max"),r("min")],[-a/2,a/2]);return-1*parseFloat(P(t).toFixed(2))}let c=F([r("min"),r("max")],[-a/2,a/2]);return parseFloat(c(t).toFixed(2))}function _e(e,t,n){let{computed:i,prop:r}=e;if(r("thumbAlignment")==="center")return`${t}%`;let a=i("isVertical")?we(e,n):Fe(e,n);return`calc(${t}% - ${a}px)`}function ne(e,t){let{prop:n}=e,i=Be(t,n("min"),n("max"))*100;return _e(e,i,t)}function re(e){let{computed:t,prop:n}=e,i="visible";return n("thumbAlignment")==="contain"&&!t("hasMeasuredThumbSize")&&(i="hidden"),i}function _(e,t){let{computed:n}=e;return{[n("isVertical")?"bottom":"insetInlineStart"]:`var(--slider-thumb-offset-${t})`,position:"absolute",transform:"var(--slider-thumb-transform)",visibility:re(e)}}function ie(){return{position:"relative",touchAction:"none",userSelect:"none",WebkitUserSelect:"none"}}function oe(e){let{computed:t,context:n}=e,i=t("isVertical"),r=t("isRtl"),a=Ne(e),u=n.get("thumbSize");return{...n.get("value").reduce((P,B,m)=>{let C=ne(e,B);return{...P,[`--slider-thumb-offset-${m}`]:C}},{}),"--slider-range-end":a.end,"--slider-range-start":a.start,"--slider-thumb-height":ee(u?.height),"--slider-thumb-transform":i?"translateY(50%)":r?"translateX(50%)":"translateX(-50%)","--slider-thumb-width":ee(u?.width)}}function ae(e,t){let{computed:n}=e,i=n("isHorizontal"),r=n("isRtl");return{"--tx":i?r?"50%":"-50%":"0%","--ty":i?"0%":"50%",[i?"insetInlineStart":"bottom"]:ne(e,t),pointerEvents:"none",position:"absolute",translate:"var(--tx) var(--ty)",visibility:re(e)}}function se(){return{pointerEvents:"none",position:"relative",userSelect:"none",WebkitUserSelect:"none"}}function yt(e,t){let{computed:n,context:i,prop:r,scope:a,send:u,state:c}=e,P=r("aria-label"),B=r("aria-labelledby"),m=i.get("value"),C=i.get("focusedIndex"),E=c.matches("focus"),S=c.matches("dragging"),x=r("readOnly"),p=n("isDisabled"),v=!!r("invalid"),I=n("isInteractive"),z=r("orientation")==="horizontal",U=r("orientation")==="vertical";function W(o){return Ge(o,r("min"),r("max"))}function L(o){return Xe(o,r("min"),r("max"),r("step"))}function de(o=11){let l=r("max"),d=r("min");if(l<=d)return[d];let k=(l-d)/(o-1);return Array.from({length:o},(f,b)=>Math.round((d+b*k)*100)/100)}let g={"data-scope":"slider",dir:r("dir")};return{decrement(o){u({index:o,type:"DECREMENT"})},dragging:S,focus(){I&&u({index:0,type:"FOCUS"})},focused:E,focusedIndex:C,getDefaultMarks:de,getPercentValue:L,getThumbMax(o){return y(e,o).max},getThumbMin(o){return y(e,o).min},getThumbPercent(o){return W(m[o])},getThumbValue(o){return m[o]},getValuePercent:W,increment(o){u({index:o,type:"INCREMENT"})},max:r("max"),min:r("min"),setThumbPercent(o,l){let d=L(l);u({index:o,type:"SET_VALUE",value:d})},setThumbValue(o,l){u({index:o,type:"SET_VALUE",value:l})},setValue(o){u({type:"SET_VALUE",value:o})},value:m,getControlBindings(o){return a.ids.register("control",o),t.element({...g,"data-disabled":s(p),"data-dragging":s(S),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"control","data-readonly":s(x),id:o.id,max:r("max"),min:r("min"),onPointerDown(l){if(!I||!ue(l)||Le(l))return;let d=Ue(l);u({point:d,type:"POINTER_DOWN"}),l.preventDefault(),l.stopPropagation()},style:ie()})},getDraggingIndicatorBindings({index:o=0}){let l=o===C&&S;return t.element({...g,"data-orientation":r("orientation"),"data-part":"dragging-indicator","data-state":l?"open":"closed",hidden:!l,role:"presentation",style:_(e,o)})},getErrorTextBindings(o){return a.ids.register("errorText",o),t.label({...g,"data-disabled":s(p),"data-dragging":s(S),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"error-text",hidden:!v,id:o.id})},getHiddenInputBindings({id:o,index:l=0,name:d,onDestroy:k}){a.ids.collection("hiddenInput").register(l.toString(),o,k);let f=r("name"),b;return d?b=d:typeof f=="string"?m.length===1?b=f:m.length===2&&(b=f+l):Array.isArray(f)&&(m.length===1?b=f[0]:m.length===2&&(b=f[l])),t.input({...g,defaultValue:m[l],form:r("form"),hidden:!0,id:o,name:b,type:"text"})},getHintBindings(o){return a.ids.register("hint",o),t.label({...g,"aria-live":"polite","data-disabled":s(p),"data-dragging":s(S),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"hint","data-readonly":s(x),hidden:v,id:o.id})},getLabelBindings(o){return a.ids.register("label",o),t.label({...g,"data-disabled":s(p),"data-dragging":s(S),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"label","data-readonly":s(x),htmlFor:a.ids.collection("hiddenInput").get("0"),id:o.id,onClick(l){I&&(l.preventDefault(),q(a)?.focus())},style:{userSelect:"none",WebkitUserSelect:"none"}})},getMarkerBindings({id:o,onDestroy:l,value:d}){a.ids.collection("marker").register(d.toString(),o,l);let k=ae(e,d),f;return d<He(m)?f="under-value":d>qe(m)?f="over-value":f="at-value",t.element({...g,"data-disabled":s(p),"data-orientation":r("orientation"),"data-part":"marker","data-readonly":s(x),"data-state":f,"data-value":d,id:o,role:"presentation",style:k})},getMarkerGroupBindings(o){return a.ids.register("markerGroup",o),t.element({...g,"aria-hidden":!0,"data-orientation":r("orientation"),"data-part":"marker-group",id:o.id,role:"presentation",style:se()})},getMaxMarkerBindings(o){return a.ids.register("maxMarker",o),t.element({...g,"data-disabled":s(p),"data-orientation":r("orientation"),"data-part":"max","data-readonly":s(x),"data-value":r("max"),id:o.id,role:"presentation"})},getMinMarkerBindings(o){return a.ids.register("minMarker",o),t.element({...g,"data-disabled":s(p),"data-orientation":r("orientation"),"data-part":"min","data-readonly":s(x),"data-value":r("min"),id:o.id,role:"presentation"})},getRangeBindings(o){return a.ids.register("range",o),t.element({...g,"data-disabled":s(p),"data-dragging":s(S),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"range","data-readonly":s(x),id:o.id,style:te(e)})},getRootBindings(o){return a.ids.register("root",o),t.element({...g,"data-disabled":s(p),"data-dragging":s(S),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"root","data-readonly":s(x),id:o.id,style:oe(e)})},getThumbBindings({id:o,index:l=0,name:d,onDestroy:k}){a.ids.collection("thumb").register(l.toString(),o,k);let f=m[l],b=y(e,l),ce=r("getAriaValueText")?.({index:l,value:f}),me=le(P)[l],ge=le(B)[l];return t.element({...g,"aria-disabled":$e(p),"aria-label":me,"aria-labelledby":ge??a.ids.get("label"),"aria-orientation":r("orientation"),"aria-valuemax":b.max,"aria-valuemin":b.min,"aria-valuenow":m[l],"aria-valuetext":ce,"data-disabled":s(p),"data-dragging":s(S&&C===l),"data-focus":s(E&&C===l),"data-index":l,"data-name":d,"data-orientation":r("orientation"),"data-part":"thumb","data-readonly":s(x),draggable:!1,id:o,onBlur(){I&&u({type:"BLUR"})},onFocus(){I&&u({index:l,type:"FOCUS"})},onKeyDown(T){if(T.defaultPrevented||!I)return;let A=We(T)*r("step"),pe={ArrowDown(){z||u({src:"ArrowDown",step:A,type:"ARROW_DEC"})},ArrowLeft(){U||u({src:"ArrowLeft",step:A,type:"ARROW_DEC"})},ArrowRight(){U||u({src:"ArrowRight",step:A,type:"ARROW_INC"})},ArrowUp(){z||u({src:"ArrowUp",step:A,type:"ARROW_INC"})},End(){u({type:"END"})},Home(){u({type:"HOME"})},PageDown(){u({src:"PageDown",step:A,type:"ARROW_DEC"})},PageUp(){u({src:"PageUp",step:A,type:"ARROW_INC"})}},fe=ze(T,{dir:r("dir"),orientation:r("orientation")}),H=pe[fe];H&&(H(T),T.preventDefault(),T.stopPropagation())},onPointerDown(T){I&&ue(T)&&(u({index:l,type:"THUMB_POINTER_DOWN"}),T.stopPropagation())},role:"slider",style:_(e,l),tabIndex:p?void 0:0})},getTrackBindings(o){return a.ids.register("track",o),t.element({...g,"data-disabled":s(p),"data-dragging":s(S),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"track","data-readonly":s(x),id:o.id,style:{position:"relative"}})},getValueTextBindings(o){return a.ids.register("valueText",o),t.element({...g,"data-disabled":s(p),"data-focus":s(E),"data-invalid":s(v),"data-orientation":r("orientation"),"data-part":"value-text","data-readonly":s(x),id:o.id,value:m})}}}import{createProps as Je,createSplitProps as Ke}from"@qualcomm-ui/utils/object";var je=Je()("aria-label","aria-labelledby","defaultValue","dir","disabled","form","getAriaValueText","invalid","max","min","minStepsBetweenThumbs","name","onFocusChange","onValueChange","onValueChangeEnd","orientation","origin","readOnly","step","thumbAlignment","thumbSize","value"),Et=Ke(je);export{yt as createSliderApi,dt as sliderMachine,je as sliderProps,Et as splitSliderProps};
1
+ import{trackElementRect as Ie}from"@qualcomm-ui/dom/dom-query";import{raf as Ee,setElementValue as ke,trackFormControl as Ve,trackPointerMove as Me}from"@qualcomm-ui/dom/query";import{isEqual as Ce}from"@qualcomm-ui/utils/equal";import{createMachine as Be}from"@qualcomm-ui/utils/machine";import{getValuePercent as Ae,setValueAtIndex as F}from"@qualcomm-ui/utils/number";import{pick as Re}from"@qualcomm-ui/utils/object";import{dispatchInputValueEvent as he,getRelativePoint as xe,queryAll as be}from"@qualcomm-ui/dom/query";import{getPercentValue as Se}from"@qualcomm-ui/utils/number";var m={control:e=>e.ids.get("control"),errorText:e=>e.ids.get("errorText"),hiddenInput:(e,t)=>e.ids.collection("hiddenInput").get(t),hint:e=>e.ids.get("hint"),label:e=>e.ids.get("label"),marker:(e,t)=>e.ids.collection("marker").get(t),markerGroup:e=>e.ids.get("markerGroup"),maxMarker:e=>e.ids.get("maxMarker"),minMarker:e=>e.ids.get("minMarker"),range:e=>e.ids.get("range"),root:e=>e.ids.get("root"),thumb:(e,t)=>e.ids.collection("thumb").get(t),thumbIndicator:(e,t)=>e.ids.collection("thumbIndicator").get(t),track:e=>e.ids.get("track"),valueText:e=>e.ids.get("valueText")},M={control:e=>e.getById(m.control(e)),errorText:e=>e.getById(m.errorText(e)),hiddenInput:(e,t)=>e.getById(m.hiddenInput(e,t)),hint:e=>e.getById(m.hint(e)),label:e=>e.getById(m.label(e)),marker:(e,t)=>e.getById(m.marker(e,t)),markerGroup:e=>e.getById(m.markerGroup(e)),maxMarker:e=>e.getById(m.maxMarker(e)),minMarker:e=>e.getById(m.minMarker(e)),range:e=>e.getById(m.range(e)),root:e=>e.getById(m.root(e)),thumb:(e,t)=>e.getById(m.thumb(e,t)),thumbIndicator:(e,t)=>e.getById(m.thumbIndicator(e,t)),track:e=>e.getById(m.track(e)),valueText:e=>e.getById(m.valueText(e))},w=e=>be(M.control(e),"[role=slider]"),X=e=>w(e)[0],_=(e,t)=>{let{prop:n,scope:i}=e,r=M.control(i);if(!r)return;let s=xe(t,r).getPercentValue({dir:n("dir"),inverted:{y:!0},orientation:n("orientation")});return Se(s,n("min"),n("max"),n("step"))},$=(e,t)=>{t.forEach((n,i)=>{let r=M.hiddenInput(e,i.toString());r&&he(r,{value:n})})},J=e=>({height:e?.offsetHeight??0,left:e?.offsetLeft??0,top:e?.offsetTop??0,width:e?.offsetWidth??0});import{clampValue as O,getClosestValueIndex as ve,getNextStepValue as ye,getPreviousStepValue as Te,getValueRanges as K,isValueWithinRange as Pe,snapValueToStep as Y}from"@qualcomm-ui/utils/number";function j(e,t){return e?.width===t?.width&&e?.height===t?.height}var H=(e,t,n,i,r)=>K(e,t,n,r*i).map(s=>{let c=Y(s.value,s.min,s.max,i),v=O(c,s.min,s.max);if(!Pe(v,t,n))throw new Error("[@qualcomm-ui/core/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid");return v});function Q(e,t){return t.map((n,i)=>D(e,n,i))}function T(e,t){let{context:n,prop:i}=e,r=i("step")*i("minStepsBetweenThumbs");return K(n.get("value"),i("min"),i("max"),r)[t]}function D(e,t,n){let{prop:i}=e,r=T(e,n),a=Y(t,i("min"),i("max"),i("step"));return O(a,r.min,r.max)}function Z(e,t,n){let{context:i,prop:r}=e,a=t??i.get("focusedIndex"),s=T(e,a),c=Te(a,{...s,step:n??r("step"),values:i.get("value")});return c[a]=O(c[a],s.min,s.max),c}function ee(e,t,n){let{context:i,prop:r}=e,a=t??i.get("focusedIndex"),s=T(e,a),c=ye(a,{...s,step:n??r("step"),values:i.get("value")});return c[a]=O(c[a],s.min,s.max),c}function te(e,t){let{context:n}=e;return ve(n.get("value"),t)}var lt=Be({actions:{clearFocusedIndex({context:e}){e.set("focusedIndex",-1)},clearThumbDragOffset({refs:e}){e.set("thumbDragOffset",null)},decrementThumbAtIndex(e){let{context:t,event:n}=e,{index:i,step:r}=n,a=Z(e,i,r);t.set("value",a)},dispatchChangeEvent({context:e,scope:t}){$(t,e.get("value"))},focusActiveThumb({context:e,scope:t}){Ee(()=>{M.thumb(t,e.get("focusedIndex").toString())?.focus({preventScroll:!0})})},incrementThumbAtIndex(e){let{context:t,event:n}=e,{index:i,step:r}=n,a=ee(e,i,r);t.set("value",a)},invokeOnChangeEnd({context:e,prop:t}){queueMicrotask(()=>{t("onValueChangeEnd")?.({value:e.get("value")})})},setClosestThumbIndex(e){let{context:t,event:n}=e;if(!("point"in n))return;let i=_(e,n.point);if(i==null)return;let r=te(e,i);t.set("focusedIndex",r)},setFocusedIndex({context:e,event:t}){"index"in t&&e.set("focusedIndex",t.index)},setFocusedThumbToMax(e){let{context:t}=e,n=t.get("focusedIndex"),{max:i}=T(e,n);t.set("value",r=>F(r,n,i))},setFocusedThumbToMin(e){let{context:t}=e,n=t.get("focusedIndex"),{min:i}=T(e,n);t.set("value",r=>F(r,n,i))},setPointerValue(e){queueMicrotask(()=>{let{context:t,event:n}=e;if(!("point"in n))return;let i=_(e,n.point);if(i==null)return;let r=t.get("focusedIndex"),a=D(e,i,r);t.set("value",s=>F(s,r,a))})},setThumbDragOffset(e){let{event:t,refs:n}=e;"offset"in t&&n.set("thumbDragOffset",t.offset??null)},setValue(e){let{context:t,event:n}=e;if(!("value"in n))return;let i=Q(e,n.value);t.set("value",i)},setValueAtIndex(e){let{context:t,event:n}=e;if(!("index"in n&&"value"in n))return;let i=D(e,n.value,n.index);t.set("value",r=>F(r,n.index,i))},syncInputElements({context:e,scope:t}){e.get("value").forEach((n,i)=>{let r=M.hiddenInput(t,i.toString());ke(r,n.toString())})}},computed:{hasMeasuredThumbSize:({context:e})=>e.get("thumbSize")!=null,isDisabled:({context:e,prop:t})=>!!t("disabled")||e.get("fieldsetDisabled"),isHorizontal:({prop:e})=>e("orientation")==="horizontal",isInteractive:({computed:e,prop:t})=>!(t("readOnly")||e("isDisabled")),isRtl:({prop:e})=>e("orientation")==="horizontal"&&e("dir")==="rtl",isVertical:({prop:e})=>e("orientation")==="vertical",valuePercent({context:e,prop:t}){return e.get("value").map(n=>100*Ae(n,t("min"),t("max")))}},context({bindable:e,getContext:t,prop:n}){return{fieldsetDisabled:e(()=>({defaultValue:!1})),focusedIndex:e(()=>({defaultValue:-1,onChange(i){let r=t();n("onFocusChange")?.({focusedIndex:i,value:r.get("value")})}})),thumbSize:e(()=>({defaultValue:n("thumbSize")||null})),value:e(()=>({defaultValue:n("defaultValue"),hash(i){return i.join(",")},isEqual:Ce,onChange(i){n("onValueChange")?.({value:i})},value:n("value")}))}},effects:{trackFormControlState({context:e,scope:t}){return Ve(M.root(t),{onFieldsetDisabledChange(n){e.set("fieldsetDisabled",n)},onFormReset(){e.set("value",e.initial("value"))}})},trackPointerMove({scope:e,send:t}){return Me(e.getDoc(),{onPointerMove(n){t({point:n.point,type:"POINTER_MOVE"})},onPointerUp(){t({type:"POINTER_UP"})}})},trackThumbSize({context:e,prop:t,scope:n}){if(t("thumbAlignment")!=="contain"||t("thumbSize"))return;let i,r=requestAnimationFrame(()=>{i=Ie(w(n),{box:"border-box",measure(a){return J(a)},onEntry({rects:a}){if(a.length===0)return;let s=Re(a[0],["width","height"]);j(e.get("thumbSize"),s)||e.set("thumbSize",s)}})});return()=>{cancelAnimationFrame(r),i?.()}}},guards:{hasIndex:({event:e})=>"index"in e&&e.index!=null},ids:({bindableId:e,bindableIdCollection:t})=>({control:e(),errorText:e(),hiddenInput:t(),hint:e(),label:e(),marker:t(),markerGroup:e(),maxMarker:e(),minMarker:e(),range:e(),root:e(),thumb:t(),thumbIndicator:t(),track:e(),valueText:e()}),initialState:()=>"idle",on:{DECREMENT:{actions:["decrementThumbAtIndex"]},INCREMENT:{actions:["incrementThumbAtIndex"]},SET_VALUE:[{actions:["setValueAtIndex"],guard:"hasIndex"},{actions:["setValue"]}]},onInit:{effects:["trackFormControlState","trackThumbSize"]},props({props:e}){let t=e.min??0,n=e.max??100,i=e.step??1,r=e.defaultValue??[t],a=e.minStepsBetweenThumbs??0;return{dir:"ltr",minStepsBetweenThumbs:a,orientation:"horizontal",origin:"start",thumbAlignment:"contain",...e,defaultValue:H(r,t,n,i,a),max:n,min:t,step:i,value:e.value?H(e.value,t,n,i,a):void 0}},refs:()=>({thumbDragOffset:null}),states:{dragging:{effects:["trackPointerMove"],entry:["focusActiveThumb"],on:{POINTER_MOVE:{actions:["setPointerValue"]},POINTER_UP:{actions:["invokeOnChangeEnd","clearThumbDragOffset"],target:"focus"}}},focus:{entry:["focusActiveThumb"],on:{ARROW_DEC:{actions:["decrementThumbAtIndex","invokeOnChangeEnd"]},ARROW_INC:{actions:["incrementThumbAtIndex","invokeOnChangeEnd"]},BLUR:{actions:["clearFocusedIndex"],target:"idle"},END:{actions:["setFocusedThumbToMax","invokeOnChangeEnd"]},HOME:{actions:["setFocusedThumbToMin","invokeOnChangeEnd"]},POINTER_DOWN:{actions:["setClosestThumbIndex","setPointerValue","focusActiveThumb"],target:"dragging"},THUMB_POINTER_DOWN:{actions:["setFocusedIndex","setThumbDragOffset","focusActiveThumb"],target:"dragging"}}},idle:{on:{FOCUS:{actions:["setFocusedIndex"],target:"focus"},POINTER_DOWN:{actions:["setClosestThumbIndex","setPointerValue","focusActiveThumb"],target:"dragging"},THUMB_POINTER_DOWN:{actions:["setFocusedIndex","setThumbDragOffset","focusActiveThumb"],target:"dragging"}}}},watch({actions:e,context:t,track:n}){n([()=>t.hash("value")],()=>{e.syncInputElements(),e.dispatchChangeEvent()})}});import{getEventKey as He,getEventPoint as ze,getEventStep as Ue,isLeftClick as le,isModifierKey as Le}from"@qualcomm-ui/dom/query";import{ensureArray as ce,first as We,last as qe}from"@qualcomm-ui/utils/array";import{booleanAriaAttr as Ge,booleanDataAttr as d}from"@qualcomm-ui/utils/attributes";import{getPercentValue as Xe,getValuePercent as $e}from"@qualcomm-ui/utils/number";import{getValuePercent as Oe,getValueTransformer as z,toPx as ne}from"@qualcomm-ui/utils/number";function De(e){let t=e[0],n=e[e.length-1];return[t,n]}function Fe(e){let{computed:t,prop:n}=e,i=t("valuePercent"),[r,a]=De(i);if(i.length===1){if(n("origin")==="center"){let s=i[0]<50,c=s?`${i[0]}%`:"50%";return{end:s?"50%":`${100-i[0]}%`,start:c}}return n("origin")==="end"?{end:"0%",start:`${a}%`}:{end:`${100-a}%`,start:"0%"}}return{end:`${100-a}%`,start:`${r}%`}}function re(e){let{computed:t}=e,n=t("isVertical"),i=t("isRtl");return n?{bottom:"var(--slider-range-start)",position:"absolute",top:"var(--slider-range-end)"}:{[i?"left":"right"]:"var(--slider-range-end)",[i?"right":"left"]:"var(--slider-range-start)",position:"absolute"}}function Ne(e,t){let{context:n,prop:i}=e,{height:r=0}=n.get("thumbSize")??{},a=z([i("min"),i("max")],[-r/2,r/2]);return parseFloat(a(t).toFixed(2))}function we(e,t){let{computed:n,context:i,prop:r}=e,{width:a=0}=i.get("thumbSize")??{};if(n("isRtl")){let v=z([r("max"),r("min")],[-a/2,a/2]);return-1*parseFloat(v(t).toFixed(2))}let c=z([r("min"),r("max")],[-a/2,a/2]);return parseFloat(c(t).toFixed(2))}function _e(e,t,n){let{computed:i,prop:r}=e;if(r("thumbAlignment")==="center")return`${t}%`;let a=i("isVertical")?Ne(e,n):we(e,n);return`calc(${t}% - ${a}px)`}function ie(e,t){let{prop:n}=e,i=Oe(t,n("min"),n("max"))*100;return _e(e,i,t)}function oe(e){let{computed:t,prop:n}=e,i="visible";return n("thumbAlignment")==="contain"&&!t("hasMeasuredThumbSize")&&(i="hidden"),i}function U(e,t){let{computed:n}=e;return{[n("isVertical")?"bottom":"insetInlineStart"]:`var(--slider-thumb-offset-${t})`,position:"absolute",transform:"var(--slider-thumb-transform)",visibility:oe(e)}}function ae(){return{position:"relative",touchAction:"none",userSelect:"none",WebkitUserSelect:"none"}}function se(e){let{computed:t,context:n}=e,i=t("isVertical"),r=t("isRtl"),a=Fe(e),s=n.get("thumbSize"),c={"--slider-range-end":a.end,"--slider-range-start":a.start,"--slider-thumb-height":ne(s?.height),"--slider-thumb-transform":i?"translateY(50%)":r?"translateX(50%)":"translateX(-50%)","--slider-thumb-width":ne(s?.width)},v=n.get("value");for(let C=0;C<v.length;C++)c[`--slider-thumb-offset-${C}`]=ie(e,v[C]);return c}function de(e,t){let{computed:n}=e,i=n("isHorizontal"),r=n("isRtl");return{"--tx":i?r?"50%":"-50%":"0%","--ty":i?"0%":"50%",[i?"insetInlineStart":"bottom"]:ie(e,t),pointerEvents:"none",position:"absolute",translate:"var(--tx) var(--ty)",visibility:oe(e)}}function ue(){return{pointerEvents:"none",position:"relative",userSelect:"none",WebkitUserSelect:"none"}}function yt(e,t){let{computed:n,context:i,prop:r,scope:a,send:s,state:c}=e,v=r("aria-label"),C=r("aria-labelledby"),h=i.get("value"),N=i.get("focusedIndex"),I=c.matches("focus"),P=c.matches("dragging"),b=r("readOnly"),p=n("isDisabled"),y=!!r("invalid"),E=n("isInteractive"),L=r("orientation")==="horizontal",W=r("orientation")==="vertical";function q(o){return $e(o,r("min"),r("max"))}function G(o){return Xe(o,r("min"),r("max"),r("step"))}function me(o=11){let u=r("max"),l=r("min");if(u<=l)return[l];let k=(u-l)/(o-1);return Array.from({length:o},(f,S)=>Math.round((l+S*k)*100)/100)}let g={"data-scope":"slider",dir:r("dir")};return{decrement(o){s({index:o,type:"DECREMENT"})},dragging:P,focus(){E&&s({index:0,type:"FOCUS"})},focused:I,focusedIndex:N,getDefaultMarks:me,getPercentValue:G,getThumbMax(o){return T(e,o).max},getThumbMin(o){return T(e,o).min},getThumbPercent(o){return q(h[o])},getThumbValue(o){return h[o]},getValuePercent:q,increment(o){s({index:o,type:"INCREMENT"})},max:r("max"),min:r("min"),setThumbPercent(o,u){let l=G(u);s({index:o,type:"SET_VALUE",value:l})},setThumbValue(o,u){s({index:o,type:"SET_VALUE",value:u})},setValue(o){s({type:"SET_VALUE",value:o})},value:h,getControlBindings(o){return a.ids.register("control",o),t.element({...g,"data-disabled":d(p),"data-dragging":d(P),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"control","data-readonly":d(b),id:o.id,max:r("max"),min:r("min"),onPointerDown(u){if(!E||!le(u)||Le(u))return;let l=ze(u);s({point:l,type:"POINTER_DOWN"}),u.preventDefault(),u.stopPropagation()},style:ae()})},getErrorTextBindings(o){return a.ids.register("errorText",o),t.label({...g,"data-disabled":d(p),"data-dragging":d(P),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"error-text",hidden:!y,id:o.id})},getHiddenInputBindings({id:o,index:u=0,name:l,onDestroy:k}){a.ids.collection("hiddenInput").register(u.toString(),o,k);let f=r("name"),S;return l?S=l:typeof f=="string"?h.length===1?S=f:h.length===2&&(S=f+u):Array.isArray(f)&&(h.length===1?S=f[0]:h.length===2&&(S=f[u])),t.input({...g,defaultValue:h[u],form:r("form"),hidden:!0,id:o,name:S,type:"text"})},getHintBindings(o){return a.ids.register("hint",o),t.label({...g,"aria-live":"polite","data-disabled":d(p),"data-dragging":d(P),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"hint","data-readonly":d(b),hidden:y,id:o.id})},getLabelBindings(o){return a.ids.register("label",o),t.label({...g,"data-disabled":d(p),"data-dragging":d(P),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"label","data-readonly":d(b),htmlFor:a.ids.collection("hiddenInput").get("0"),id:o.id,onClick(u){E&&(u.preventDefault(),X(a)?.focus())},style:{userSelect:"none",WebkitUserSelect:"none"}})},getMarkerBindings({id:o,onDestroy:u,value:l}){a.ids.collection("marker").register(l.toString(),o,u);let k=de(e,l),f;return l<We(h)?f="under-value":l>qe(h)?f="over-value":f="at-value",t.element({...g,"data-disabled":d(p),"data-orientation":r("orientation"),"data-part":"marker","data-readonly":d(b),"data-state":f,"data-value":l,id:o,role:"presentation",style:k})},getMarkerGroupBindings(o){return a.ids.register("markerGroup",o),t.element({...g,"aria-hidden":!0,"data-orientation":r("orientation"),"data-part":"marker-group",id:o.id,role:"presentation",style:ue()})},getMaxMarkerBindings(o){return a.ids.register("maxMarker",o),t.element({...g,"data-disabled":d(p),"data-orientation":r("orientation"),"data-part":"max","data-readonly":d(b),"data-value":r("max"),id:o.id,role:"presentation"})},getMinMarkerBindings(o){return a.ids.register("minMarker",o),t.element({...g,"data-disabled":d(p),"data-orientation":r("orientation"),"data-part":"min","data-readonly":d(b),"data-value":r("min"),id:o.id,role:"presentation"})},getRangeBindings(o){return a.ids.register("range",o),t.element({...g,"data-disabled":d(p),"data-dragging":d(P),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"range","data-readonly":d(b),id:o.id,style:re(e)})},getRootBindings(o){return a.ids.register("root",o),t.element({...g,"data-disabled":d(p),"data-dragging":d(P),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"root","data-readonly":d(b),id:o.id,style:se(e)})},getThumbBindings({id:o,index:u=0,name:l,onDestroy:k}){a.ids.collection("thumb").register(u.toString(),o,k);let f=h[u],S=T(e,u),ge=r("getAriaValueText")?.({index:u,value:f}),pe=ce(v)[u],fe=ce(C)[u];return t.element({...g,"aria-describedby":m.hint(a),"aria-disabled":Ge(p),"aria-label":pe,"aria-labelledby":fe??m.label(a),"aria-orientation":r("orientation"),"aria-valuemax":S.max,"aria-valuemin":S.min,"aria-valuenow":h[u],"aria-valuetext":ge,"data-disabled":d(p),"data-dragging":d(P&&N===u),"data-focus":d(I&&N===u),"data-index":u,"data-name":l,"data-orientation":r("orientation"),"data-part":"thumb","data-readonly":d(b),draggable:!1,id:o,onBlur(){E&&s({type:"BLUR"})},onFocus(){E&&s({index:u,type:"FOCUS"})},onKeyDown(x){if(x.defaultPrevented||!E)return;let V=Ue(x)*r("step"),B={ArrowDown(){L||s({src:"ArrowDown",step:V,type:"ARROW_DEC"})},ArrowLeft(){W||s({src:"ArrowLeft",step:V,type:"ARROW_DEC"})},ArrowRight(){W||s({src:"ArrowRight",step:V,type:"ARROW_INC"})},ArrowUp(){L||s({src:"ArrowUp",step:V,type:"ARROW_INC"})},End(){s({type:"END"})},Home(){s({type:"HOME"})},PageDown(){s({src:"PageDown",step:V,type:"ARROW_DEC"})},PageUp(){s({src:"PageUp",step:V,type:"ARROW_INC"})}},A=He(x,{dir:r("dir"),orientation:r("orientation")}),R=B[A];R&&(R(x),x.preventDefault(),x.stopPropagation())},onPointerDown(x){if(!E||!le(x))return;let B=x.currentTarget.getBoundingClientRect(),A={x:B.left+B.width/2,y:B.top+B.height/2},R={x:x.clientX-A.x,y:x.clientY-A.y};s({index:u,offset:R,type:"THUMB_POINTER_DOWN"}),x.stopPropagation()},role:"slider",style:U(e,u),tabIndex:p?void 0:0})},getThumbIndicatorBindings({id:o,index:u=0,onDestroy:l}){return a.ids.collection("thumbIndicator").register(u.toString(),o,l),t.element({...g,"data-orientation":r("orientation"),"data-part":"thumb-indicator",role:"presentation",style:U(e,u)})},getTrackBindings(o){return a.ids.register("track",o),t.element({...g,"data-disabled":d(p),"data-dragging":d(P),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"track","data-readonly":d(b),id:o.id,style:{position:"relative"}})},getValueTextBindings(o){return a.ids.register("valueText",o),t.element({...g,"data-disabled":d(p),"data-focus":d(I),"data-invalid":d(y),"data-orientation":r("orientation"),"data-part":"value-text","data-readonly":d(b),id:o.id,value:h})}}}import{createProps as Je,createSplitProps as Ke}from"@qualcomm-ui/utils/object";var Ye=Je()("aria-label","aria-labelledby","defaultValue","dir","disabled","form","getAriaValueText","getRootNode","invalid","max","min","minStepsBetweenThumbs","name","onFocusChange","onValueChange","onValueChangeEnd","orientation","origin","readOnly","step","thumbAlignment","thumbSize","value"),It=Ke(Ye);export{yt as createSliderApi,lt as sliderMachine,Ye as sliderProps,It as splitSliderProps};
2
2
  //# sourceMappingURL=index.js.map