ivt
Version:
Ivt Components Library
1 lines • 42.7 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../node_modules/@radix-ui/react-slider/dist/index.mjs","../../src/components/ui/slider/slider.tsx"],"sourcesContent":["\"use client\";\n\n// src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = React.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Slider({\n\tclassName,\n\tdefaultValue,\n\tvalue,\n\tmin = 0,\n\tmax = 100,\n\t...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n\tconst _values = React.useMemo(\n\t\t() => (Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]),\n\t\t[value, defaultValue, min, max],\n\t);\n\n\treturn (\n\t\t<SliderPrimitive.Root\n\t\t\tdata-slot=\"slider\"\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SliderPrimitive.Track\n\t\t\t\tdata-slot=\"slider-track\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<SliderPrimitive.Range\n\t\t\t\t\tdata-slot=\"slider-range\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t</SliderPrimitive.Track>\n\t\t\t{Array.from({ length: _values.length }, (_, index) => (\n\t\t\t\t<SliderPrimitive.Thumb\n\t\t\t\t\tdata-slot=\"slider-thumb\"\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclassName=\"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n\t\t\t\t/>\n\t\t\t))}\n\t\t</SliderPrimitive.Root>\n\t);\n}\n\nexport { Slider };\n"],"names":["Slider","value","className","defaultValue","min","max","props","_values","React","useMemo","Array","isArray","SliderPrimitive","data-slot","cn","from","length","_","index","key"],"mappings":"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","x_google_ignoreList":[0]}