@tamagui/slider 3.0.0-beta.922.1 → 3.0.0

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.
Files changed (58) hide show
  1. package/dist/cjs/Slider.cjs +25 -36
  2. package/dist/cjs/Slider.native.cjs +27 -37
  3. package/dist/cjs/Slider.native.js +27 -37
  4. package/dist/cjs/Slider.native.js.map +1 -1
  5. package/dist/cjs/SliderImpl.cjs +9 -35
  6. package/dist/cjs/SliderImpl.native.cjs +10 -51
  7. package/dist/cjs/SliderImpl.native.js +10 -51
  8. package/dist/cjs/SliderImpl.native.js.map +1 -1
  9. package/dist/cjs/SliderResponder.cjs +53 -0
  10. package/dist/cjs/SliderResponder.native.cjs +54 -0
  11. package/dist/cjs/SliderResponder.native.js +56 -0
  12. package/dist/cjs/SliderResponder.native.js.map +1 -0
  13. package/dist/esm/Slider.mjs +26 -37
  14. package/dist/esm/Slider.mjs.map +1 -1
  15. package/dist/esm/Slider.native.js +28 -38
  16. package/dist/esm/Slider.native.js.map +1 -1
  17. package/dist/esm/SliderImpl.mjs +10 -36
  18. package/dist/esm/SliderImpl.mjs.map +1 -1
  19. package/dist/esm/SliderImpl.native.js +11 -52
  20. package/dist/esm/SliderImpl.native.js.map +1 -1
  21. package/dist/esm/SliderResponder.mjs +28 -0
  22. package/dist/esm/SliderResponder.mjs.map +1 -0
  23. package/dist/esm/SliderResponder.native.js +33 -0
  24. package/dist/esm/SliderResponder.native.js.map +1 -0
  25. package/dist/jsx/Slider.mjs +26 -37
  26. package/dist/jsx/Slider.mjs.map +1 -1
  27. package/dist/jsx/Slider.native.cjs +27 -37
  28. package/dist/jsx/Slider.native.js +27 -37
  29. package/dist/jsx/Slider.native.js.map +1 -1
  30. package/dist/jsx/SliderImpl.mjs +10 -36
  31. package/dist/jsx/SliderImpl.mjs.map +1 -1
  32. package/dist/jsx/SliderImpl.native.cjs +10 -51
  33. package/dist/jsx/SliderImpl.native.js +10 -51
  34. package/dist/jsx/SliderImpl.native.js.map +1 -1
  35. package/dist/jsx/SliderResponder.mjs +28 -0
  36. package/dist/jsx/SliderResponder.mjs.map +1 -0
  37. package/dist/jsx/SliderResponder.native.cjs +54 -0
  38. package/dist/jsx/SliderResponder.native.js +56 -0
  39. package/dist/jsx/SliderResponder.native.js.map +1 -0
  40. package/package.json +18 -14
  41. package/src/Slider.tsx +67 -44
  42. package/src/SliderImpl.tsx +10 -32
  43. package/src/SliderResponder.native.tsx +30 -0
  44. package/src/SliderResponder.tsx +43 -0
  45. package/src/constants.tsx +2 -2
  46. package/src/types.ts +11 -6
  47. package/types/Slider.d.ts +42 -196
  48. package/types/Slider.d.ts.map +1 -1
  49. package/types/SliderImpl.d.ts +12 -6
  50. package/types/SliderImpl.d.ts.map +1 -1
  51. package/types/SliderResponder.d.ts +10 -0
  52. package/types/SliderResponder.d.ts.map +1 -0
  53. package/types/SliderResponder.native.d.ts +3 -0
  54. package/types/SliderResponder.native.d.ts.map +1 -0
  55. package/types/constants.d.ts +3 -4
  56. package/types/constants.d.ts.map +1 -1
  57. package/types/types.d.ts +10 -6
  58. package/types/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":[],"sources":["esm/Slider.js"],"sourcesContent":["import { composeRefs, useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isIos, isWeb } from \"@tamagui/constants\";\nimport { createRefComponent, createStyledHOC, getTokens, getVariableValue, resolveSizeToken, styled, useConfiguration, useCreateShallowSetState } from \"@tamagui/core\";\nimport { clamp, composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport * as React from \"react\";\nimport { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext } from \"./constants\";\nimport { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue } from \"./helpers\";\nimport { SliderFrame, SliderImpl } from \"./SliderImpl\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nconst activeSliderMeasureListeners = /* @__PURE__ */ new Set();\nlet activeSliderMeasureInterval;\nfunction startSliderMeasureInterval() {\n\tif (activeSliderMeasureInterval !== void 0 || process.env.TAMAGUI_DISABLE_SLIDER_INTERVAL) return;\n\tactiveSliderMeasureInterval = setInterval(() => {\n\t\tactiveSliderMeasureListeners.forEach((cb) => cb());\n\t}, 1e3);\n}\nfunction addActiveSliderMeasureListener(listener) {\n\tactiveSliderMeasureListeners.add(listener);\n\tstartSliderMeasureInterval();\n}\nfunction removeActiveSliderMeasureListener(listener) {\n\tactiveSliderMeasureListeners.delete(listener);\n\tif (!activeSliderMeasureListeners.size && activeSliderMeasureInterval !== void 0) {\n\t\tclearInterval(activeSliderMeasureInterval);\n\t\tactiveSliderMeasureInterval = void 0;\n\t}\n}\nconst SliderHorizontal = createRefComponent((props, forwardedRef) => {\n\tconst { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tconst direction = useDirection(dir);\n\tconst isDirectionLTR = direction === \"ltr\";\n\tconst sliderRef = React.useRef(null);\n\tconst [state, setState_] = React.useState(() => ({\n\t\tsize: 0,\n\t\toffset: 0\n\t}));\n\tconst setState = useCreateShallowSetState(setState_);\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], isDirectionLTR ? [min, max] : [max, min])(pointerPosition);\n\t}\n\tconst measure = () => {\n\t\tsliderRef.current?.measure((_x, _y, width, _height, pageX, _pageY) => {\n\t\t\tsetState({\n\t\t\t\tsize: width,\n\t\t\t\toffset: pageX\n\t\t\t});\n\t\t});\n\t};\n\tuseSliderMeasure(sliderRef, measure);\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: isDirectionLTR ? \"left\" : \"right\",\n\t\tendEdge: isDirectionLTR ? \"right\" : \"left\",\n\t\tdirection: isDirectionLTR ? 1 : -1,\n\t\tsizeProp: \"width\",\n\t\tsize: state.size,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\tdir: direction,\n\t\t\t...sliderProps,\n\t\t\torientation: \"horizontal\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: (event, target) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.locationX);\n\t\t\t\tif (value) onSlideStart?.(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: (event) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.pageX - state.offset);\n\t\t\t\tif (value) onSlideMove?.(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: (event) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.pageX - state.offset);\n\t\t\t\tif (value) onSlideEnd?.(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: (event) => {\n\t\t\t\tconst isBackKey = BACK_KEYS[direction].includes(event.key);\n\t\t\t\tonStepKeyDown?.({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nfunction useOnDebouncedWindowResize(callback, amt = 200) {\n\tReact.useEffect(() => {\n\t\tlet last;\n\t\tconst onResize = () => {\n\t\t\tclearTimeout(last);\n\t\t\tlast = setTimeout(callback, amt);\n\t\t};\n\t\twindow.addEventListener(\"resize\", onResize);\n\t\treturn () => {\n\t\t\tclearTimeout(last);\n\t\t\twindow.removeEventListener(\"resize\", onResize);\n\t\t};\n\t}, []);\n}\nfunction useSliderMeasure(sliderRef, measure) {\n\tuseOnDebouncedWindowResize(measure);\n\tReact.useEffect(() => {\n\t\tconst node = sliderRef.current;\n\t\tif (!node) return;\n\t\tlet measureTm;\n\t\tconst debouncedMeasure = () => {\n\t\t\tclearTimeout(measureTm);\n\t\t\tmeasureTm = setTimeout(() => {\n\t\t\t\tmeasure();\n\t\t\t}, 200);\n\t\t};\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tdebouncedMeasure();\n\t\t\tif (entries?.[0].isIntersecting) addActiveSliderMeasureListener(debouncedMeasure);\n\t\t\telse removeActiveSliderMeasureListener(debouncedMeasure);\n\t\t}, {\n\t\t\troot: null,\n\t\t\trootMargin: \"0px\",\n\t\t\tthreshold: [\n\t\t\t\t0,\n\t\t\t\t.5,\n\t\t\t\t1\n\t\t\t]\n\t\t});\n\t\tio.observe(node);\n\t\treturn () => {\n\t\t\tremoveActiveSliderMeasureListener(debouncedMeasure);\n\t\t\tio.disconnect();\n\t\t};\n\t}, []);\n}\nconst SliderVertical = createRefComponent((props, forwardedRef) => {\n\tconst { min, max, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tconst [state, setState_] = React.useState(() => ({\n\t\tsize: 0,\n\t\toffset: 0\n\t}));\n\tconst setState = useCreateShallowSetState(setState_);\n\tconst sliderRef = React.useRef(null);\n\tconst configuration = useConfiguration();\n\tconst insets = isIos && configuration.insets ? configuration.insets : {\n\t\ttop: 0,\n\t\tbottom: 0\n\t};\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], [max, min])(pointerPosition);\n\t}\n\tconst measure = () => {\n\t\tsliderRef.current?.measure((_x, _y, _width, height, _pageX, pageY) => {\n\t\t\tsetState({\n\t\t\t\tsize: height,\n\t\t\t\toffset: pageY + (isIos ? insets.top : 0)\n\t\t\t});\n\t\t});\n\t};\n\tuseSliderMeasure(sliderRef, measure);\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: \"bottom\",\n\t\tendEdge: \"top\",\n\t\tsizeProp: \"height\",\n\t\tsize: state.size,\n\t\tdirection: 1,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\t...sliderProps,\n\t\t\torientation: \"vertical\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: (event, target) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.locationY);\n\t\t\t\tif (value) onSlideStart?.(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: (event) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.pageY - state.offset);\n\t\t\t\tif (value) onSlideMove?.(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: (event) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.pageY - state.offset);\n\t\t\t\tonSlideEnd?.(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: (event) => {\n\t\t\t\tconst isBackKey = BACK_KEYS.ltr.includes(event.key);\n\t\t\t\tonStepKeyDown?.({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nconst SliderTrackFrame = styled(SliderFrame, {\n\tdisplayName: \"Slider\",\n\theight: \"100%\",\n\twidth: \"100%\",\n\tposition: \"relative\",\n\toverflow: \"hidden\"\n});\nconst SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {\n\tconst { __scopeSlider, ...trackProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\treturn /* @__PURE__ */ jsx(SliderTrackFrame, {\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t\"data-orientation\": context.orientation,\n\t\torientation: context.orientation,\n\t\tsize: context.size ?? void 0,\n\t\t...trackProps,\n\t\tref: forwardedRef\n\t});\n});\nconst SliderActiveFrame = styled(SliderFrame, {\n\tdisplayName: \"SliderActive\",\n\tposition: \"absolute\",\n\tpointerEvents: \"box-none\"\n});\nconst SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(props, forwardedRef) {\n\tconst { __scopeSlider, ...rangeProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\tconst orientation = useSliderOrientationContext(__scopeSlider);\n\tconst composedRefs = useComposedRefs(forwardedRef, React.useRef(null));\n\tconst valuesCount = context.values.length;\n\tconst percentages = context.values.map((value) => convertValueToPercentage(value, context.min, context.max));\n\tconst offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n\tconst offsetEnd = 100 - Math.max(...percentages);\n\treturn /* @__PURE__ */ jsx(SliderActiveFrame, {\n\t\torientation: context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\tsize: context.size ?? void 0,\n\t\tanimateOnly: [\n\t\t\t\"left\",\n\t\t\t\"top\",\n\t\t\t\"right\",\n\t\t\t\"bottom\"\n\t\t],\n\t\t...rangeProps,\n\t\tref: composedRefs,\n\t\t[orientation.startEdge]: `${offsetStart}%`,\n\t\t[orientation.endEdge]: `${offsetEnd}%`,\n\t\t...orientation.sizeProp === \"width\" ? { height: \"100%\" } : {\n\t\t\tleft: 0,\n\t\t\tright: 0\n\t\t}\n\t});\n});\nconst getThumbSize = styled.dynamic((val) => {\n\tconst tokens = getTokens();\n\tconst sizeToken = resolveSizeToken(val ?? true, \"size\");\n\tconst resolved = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n\tconst size = typeof val === \"number\" ? val : getVariableValue(resolved) * .86;\n\treturn {\n\t\twidth: size,\n\t\theight: size,\n\t\tminWidth: size,\n\t\tminHeight: size\n\t};\n});\nconst SliderThumbFrame = styled(YStack, {\n\tdisplayName: \"SliderThumb\",\n\tposition: \"absolute\",\n\tvariants: {\n\t\tsize: getThumbSize,\n\t\tcircular: { true: {\n\t\t\tborderRadius: 1e5,\n\t\t\tpadding: 0\n\t\t} },\n\t\televate: { true: {\n\t\t\tshadowColor: \"shadow-color\",\n\t\t\tshadowRadius: 4,\n\t\t\tshadowOffset: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 2\n\t\t\t}\n\t\t} }\n\t}\n});\nconst SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props, forwardedRef) {\n\tconst { __scopeSlider, index = 0, circular, size: sizeProp, ...thumbProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\tconst orientation = useSliderOrientationContext(__scopeSlider);\n\tconst [thumb, setThumb] = React.useState(null);\n\tconst composedRefs = useComposedRefs(forwardedRef, setThumb);\n\tconst value = context.values[index];\n\tconst percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n\tconst label = getLabel(index, context.values.length);\n\tconst sizeIn = sizeProp ?? context.size ?? true;\n\tconst [size, setSize] = React.useState(() => {\n\t\treturn getVariableValue(getThumbSize(sizeIn, {})?.width);\n\t});\n\tconst thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;\n\tReact.useEffect(() => {\n\t\tif (thumb) {\n\t\t\tcontext.thumbs.set(thumb, index);\n\t\t\treturn () => {\n\t\t\t\tcontext.thumbs.delete(thumb);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tthumb,\n\t\tcontext.thumbs,\n\t\tindex\n\t]);\n\tconst positionalStyles = context.orientation === \"horizontal\" ? {\n\t\tx: (thumbInBoundsOffset - size / 2) * orientation.direction,\n\t\ty: -size / 2,\n\t\ttop: \"50%\",\n\t\t...size === 0 && {\n\t\t\ttop: \"auto\",\n\t\t\tbottom: \"auto\"\n\t\t}\n\t} : {\n\t\tx: -size / 2,\n\t\ty: size / 2,\n\t\tleft: \"50%\",\n\t\t...size === 0 && {\n\t\t\tleft: \"auto\",\n\t\t\tright: \"auto\"\n\t\t}\n\t};\n\treturn /* @__PURE__ */ jsx(SliderThumbFrame, {\n\t\tref: composedRefs,\n\t\trole: \"slider\",\n\t\t\"aria-label\": props[\"aria-label\"] || label,\n\t\t\"aria-valuemin\": context.min,\n\t\t\"aria-valuenow\": value,\n\t\t\"aria-valuemax\": context.max,\n\t\t\"aria-orientation\": context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\ttabIndex: context.disabled ? void 0 : 0,\n\t\tanimateOnly: [\n\t\t\t\"transform\",\n\t\t\t\"left\",\n\t\t\t\"top\",\n\t\t\t\"right\",\n\t\t\t\"bottom\"\n\t\t],\n\t\t...positionalStyles,\n\t\t[orientation.startEdge]: `${percent}%`,\n\t\tsize: sizeIn,\n\t\tcircular,\n\t\t...thumbProps,\n\t\tonLayout: (e) => {\n\t\t\tsetSize(e.nativeEvent.layout[orientation.sizeProp]);\n\t\t},\n\t\tonFocus: composeEventHandlers(props.onFocus, () => {\n\t\t\tcontext.valueIndexToChangeRef.current = index;\n\t\t})\n\t});\n}, { staticConfig: { memo: true } });\nconst Slider = withStaticProperties(createRefComponent((props, forwardedRef) => {\n\tconst { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [min], value, onValueChange = () => {}, size: sizeProp, onSlideEnd, onSlideMove, onSlideStart, ...sliderProps } = props;\n\tconst sliderRef = React.useRef(null);\n\tconst composedRefs = useComposedRefs(sliderRef, forwardedRef);\n\tconst thumbRefs = React.useRef(/* @__PURE__ */ new Map());\n\tconst valueIndexToChangeRef = React.useRef(0);\n\tconst isHorizontal = orientation === \"horizontal\";\n\tconst [values = [], setValues] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue,\n\t\ttransition: true,\n\t\tonChange: (value2) => {\n\t\t\tupdateThumbFocus(valueIndexToChangeRef.current);\n\t\t\tonValueChange(value2);\n\t\t}\n\t});\n\tif (isWeb) React.useEffect(() => {\n\t\tconst node = sliderRef.current;\n\t\tif (!node) return;\n\t\tconst preventDefault = (e) => {\n\t\t\te.preventDefault();\n\t\t};\n\t\tnode.addEventListener(\"touchstart\", preventDefault);\n\t\treturn () => {\n\t\t\tnode.removeEventListener(\"touchstart\", preventDefault);\n\t\t};\n\t}, []);\n\tfunction updateThumbFocus(focusIndex) {\n\t\tif (!isWeb) return;\n\t\tfor (const [node, index] of thumbRefs.current.entries()) if (index === focusIndex) {\n\t\t\tnode.focus();\n\t\t\treturn;\n\t\t}\n\t}\n\tfunction handleSlideMove(value2, event) {\n\t\tupdateValues(value2, valueIndexToChangeRef.current);\n\t\tonSlideMove?.(event, value2);\n\t}\n\tfunction updateValues(value2, atIndex) {\n\t\tconst decimalCount = getDecimalCount(step);\n\t\tconst nextValue = clamp(roundValue(Math.round((value2 - min) / step) * step + min, decimalCount), [min, max]);\n\t\tsetValues((prevValues = []) => {\n\t\t\tconst nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n\t\t\tif (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n\t\t\t\tvalueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n\t\t\t\treturn String(nextValues) === String(prevValues) ? prevValues : nextValues;\n\t\t\t}\n\t\t\treturn prevValues;\n\t\t});\n\t}\n\tconst SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;\n\treturn /* @__PURE__ */ jsxs(SliderProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tdisabled,\n\t\tmin,\n\t\tmax,\n\t\tvalueIndexToChangeRef,\n\t\tthumbs: thumbRefs.current,\n\t\tvalues,\n\t\torientation,\n\t\tsize: sizeProp,\n\t\tchildren: [/* @__PURE__ */ jsx(SliderOriented, {\n\t\t\t\"aria-disabled\": disabled,\n\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t...sliderProps,\n\t\t\tref: composedRefs,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tonSlideEnd,\n\t\t\tonSlideStart: disabled ? void 0 : (value2, target, event) => {\n\t\t\t\tif (target !== \"thumb\") updateValues(value2, getClosestValueIndex(values, value2));\n\t\t\t\tonSlideStart?.(event, value2, target);\n\t\t\t},\n\t\t\tonSlideMove: disabled ? void 0 : handleSlideMove,\n\t\t\tonHomeKeyDown: () => !disabled && updateValues(min, 0),\n\t\t\tonEndKeyDown: () => !disabled && updateValues(max, values.length - 1),\n\t\t\tonStepKeyDown: ({ event, direction: stepDirection }) => {\n\t\t\t\tif (!disabled) {\n\t\t\t\t\tconst multiplier = PAGE_KEYS.includes(event.key) || event.shiftKey && ARROW_KEYS.includes(event.key) ? 10 : 1;\n\t\t\t\t\tconst atIndex = valueIndexToChangeRef.current;\n\t\t\t\t\tconst value2 = values[atIndex];\n\t\t\t\t\tupdateValues(value2 + step * multiplier * stepDirection, atIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}), isWeb && name && values.map((value2, index) => /* @__PURE__ */ jsx(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname,\n\t\t\tvalue: value2\n\t\t}, index))]\n\t});\n}), {\n\tTrack: SliderTrack,\n\tTrackActive: SliderActive,\n\tThumb: SliderThumb\n});\nSlider.displayName = SLIDER_NAME;\nconst Track = SliderTrack;\nconst Range = SliderActive;\nconst Thumb = SliderThumb;\n\nexport { Range, Slider, SliderActive, SliderActiveFrame, SliderThumb, SliderThumbFrame, SliderTrack, SliderTrackFrame, Thumb, Track };"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":[],"sources":["esm/Slider.js"],"sourcesContent":["import { composeRefs, useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isIos, isWeb } from \"@tamagui/constants\";\nimport { createRefComponent, createStyledHOC, getConfig, getVariableValue, resolveTextMetrics, styled, useConfiguration, useCreateShallowSetState } from \"@tamagui/core\";\nimport { clamp, composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport * as React from \"react\";\nimport { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext } from \"./constants\";\nimport { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue } from \"./helpers\";\nimport { SliderFrame, SliderImpl } from \"./SliderImpl\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nconst activeSliderMeasureListeners = /* @__PURE__ */ new Set();\nlet activeSliderMeasureInterval;\nfunction startSliderMeasureInterval() {\n\tif (activeSliderMeasureInterval !== void 0 || process.env.TAMAGUI_DISABLE_SLIDER_INTERVAL) return;\n\tactiveSliderMeasureInterval = setInterval(() => {\n\t\tactiveSliderMeasureListeners.forEach((cb) => cb());\n\t}, 1e3);\n}\nfunction addActiveSliderMeasureListener(listener) {\n\tactiveSliderMeasureListeners.add(listener);\n\tstartSliderMeasureInterval();\n}\nfunction removeActiveSliderMeasureListener(listener) {\n\tactiveSliderMeasureListeners.delete(listener);\n\tif (!activeSliderMeasureListeners.size && activeSliderMeasureInterval !== void 0) {\n\t\tclearInterval(activeSliderMeasureInterval);\n\t\tactiveSliderMeasureInterval = void 0;\n\t}\n}\nconst getTrackPosition = (event, offset, orientation) => {\n\tconst { locationX, locationY, pageX, pageY } = event.nativeEvent;\n\tif (isWeb) return orientation === \"horizontal\" ? locationX : locationY;\n\treturn (orientation === \"horizontal\" ? pageX : pageY) - offset;\n};\nconst SliderHorizontal = createRefComponent((props, forwardedRef) => {\n\tconst { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tconst direction = useDirection(dir);\n\tconst isDirectionLTR = direction === \"ltr\";\n\tconst sliderRef = React.useRef(null);\n\tconst [state, setState_] = React.useState(() => ({\n\t\tsize: 0,\n\t\toffset: 0\n\t}));\n\tconst setState = useCreateShallowSetState(setState_);\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], isDirectionLTR ? [min, max] : [max, min])(pointerPosition);\n\t}\n\tconst measure = () => {\n\t\tsliderRef.current?.measure((_x, _y, width, _height, pageX, _pageY) => {\n\t\t\tsetState({\n\t\t\t\tsize: width,\n\t\t\t\toffset: pageX\n\t\t\t});\n\t\t});\n\t};\n\tuseSliderMeasure(sliderRef, measure);\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: isDirectionLTR ? \"left\" : \"right\",\n\t\tendEdge: isDirectionLTR ? \"right\" : \"left\",\n\t\tdirection: isDirectionLTR ? 1 : -1,\n\t\tsizeProp: \"width\",\n\t\tsize: state.size,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\tdir: direction,\n\t\t\t...sliderProps,\n\t\t\torientation: \"horizontal\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: (event, target) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.locationX);\n\t\t\t\tif (value) onSlideStart?.(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: (event) => {\n\t\t\t\tconst value = getValueFromPointer(getTrackPosition(event, state.offset, \"horizontal\"));\n\t\t\t\tif (value) onSlideMove?.(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: (event) => {\n\t\t\t\tconst value = getValueFromPointer(getTrackPosition(event, state.offset, \"horizontal\"));\n\t\t\t\tif (value) onSlideEnd?.(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: (event) => {\n\t\t\t\tconst isBackKey = BACK_KEYS[direction].includes(event.key);\n\t\t\t\tonStepKeyDown?.({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nfunction useOnDebouncedWindowResize(callback, amt = 200) {\n\tReact.useEffect(() => {\n\t\tlet last;\n\t\tconst onResize = () => {\n\t\t\tclearTimeout(last);\n\t\t\tlast = setTimeout(callback, amt);\n\t\t};\n\t\twindow.addEventListener(\"resize\", onResize);\n\t\treturn () => {\n\t\t\tclearTimeout(last);\n\t\t\twindow.removeEventListener(\"resize\", onResize);\n\t\t};\n\t}, []);\n}\nfunction useSliderMeasure(sliderRef, measure) {\n\tuseOnDebouncedWindowResize(measure);\n\tReact.useEffect(() => {\n\t\tconst node = sliderRef.current;\n\t\tif (!node) return;\n\t\tlet measureTm;\n\t\tconst debouncedMeasure = () => {\n\t\t\tclearTimeout(measureTm);\n\t\t\tmeasureTm = setTimeout(() => {\n\t\t\t\tmeasure();\n\t\t\t}, 200);\n\t\t};\n\t\tconst io = new IntersectionObserver((entries) => {\n\t\t\tdebouncedMeasure();\n\t\t\tif (entries?.[0].isIntersecting) addActiveSliderMeasureListener(debouncedMeasure);\n\t\t\telse removeActiveSliderMeasureListener(debouncedMeasure);\n\t\t}, {\n\t\t\troot: null,\n\t\t\trootMargin: \"0px\",\n\t\t\tthreshold: [\n\t\t\t\t0,\n\t\t\t\t.5,\n\t\t\t\t1\n\t\t\t]\n\t\t});\n\t\tio.observe(node);\n\t\treturn () => {\n\t\t\tremoveActiveSliderMeasureListener(debouncedMeasure);\n\t\t\tio.disconnect();\n\t\t};\n\t}, []);\n}\nconst SliderVertical = createRefComponent((props, forwardedRef) => {\n\tconst { min, max, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tconst [state, setState_] = React.useState(() => ({\n\t\tsize: 0,\n\t\toffset: 0\n\t}));\n\tconst setState = useCreateShallowSetState(setState_);\n\tconst sliderRef = React.useRef(null);\n\tconst configuration = useConfiguration();\n\tconst insets = isIos && configuration.insets ? configuration.insets : {\n\t\ttop: 0,\n\t\tbottom: 0\n\t};\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], [max, min])(pointerPosition);\n\t}\n\tconst measure = () => {\n\t\tsliderRef.current?.measure((_x, _y, _width, height, _pageX, pageY) => {\n\t\t\tsetState({\n\t\t\t\tsize: height,\n\t\t\t\toffset: pageY + (isIos ? insets.top : 0)\n\t\t\t});\n\t\t});\n\t};\n\tuseSliderMeasure(sliderRef, measure);\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: \"bottom\",\n\t\tendEdge: \"top\",\n\t\tsizeProp: \"height\",\n\t\tsize: state.size,\n\t\tdirection: 1,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\t...sliderProps,\n\t\t\torientation: \"vertical\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: (event, target) => {\n\t\t\t\tconst value = getValueFromPointer(event.nativeEvent.locationY);\n\t\t\t\tif (value) onSlideStart?.(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: (event) => {\n\t\t\t\tconst value = getValueFromPointer(getTrackPosition(event, state.offset, \"vertical\"));\n\t\t\t\tif (value) onSlideMove?.(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: (event) => {\n\t\t\t\tconst value = getValueFromPointer(getTrackPosition(event, state.offset, \"vertical\"));\n\t\t\t\tonSlideEnd?.(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: (event) => {\n\t\t\t\tconst isBackKey = BACK_KEYS.ltr.includes(event.key);\n\t\t\t\tonStepKeyDown?.({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nconst SliderTrackFrame = styled(SliderFrame, {\n\tdisplayName: \"Slider\",\n\theight: \"100%\",\n\twidth: \"100%\",\n\tposition: \"relative\",\n\toverflow: \"hidden\"\n});\nconst SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {\n\tconst { __scopeSlider, ...trackProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\treturn /* @__PURE__ */ jsx(SliderTrackFrame, {\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t\"data-orientation\": context.orientation,\n\t\torientation: context.orientation,\n\t\t...trackProps,\n\t\tref: forwardedRef\n\t});\n});\nconst SliderActiveFrame = styled(SliderFrame, {\n\tdisplayName: \"SliderActive\",\n\tposition: \"absolute\",\n\tpointerEvents: \"box-none\"\n});\nconst SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(props, forwardedRef) {\n\tconst { __scopeSlider, ...rangeProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\tconst orientation = useSliderOrientationContext(__scopeSlider);\n\tconst composedRefs = useComposedRefs(forwardedRef, React.useRef(null));\n\tconst valuesCount = context.values.length;\n\tconst percentages = context.values.map((value) => convertValueToPercentage(value, context.min, context.max));\n\tconst offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n\tconst offsetEnd = 100 - Math.max(...percentages);\n\treturn /* @__PURE__ */ jsx(SliderActiveFrame, {\n\t\torientation: context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t...rangeProps,\n\t\tref: composedRefs,\n\t\t[orientation.startEdge]: `${offsetStart}%`,\n\t\t[orientation.endEdge]: `${offsetEnd}%`,\n\t\t...orientation.sizeProp === \"width\" ? { height: \"100%\" } : {\n\t\t\tleft: 0,\n\t\t\tright: 0\n\t\t}\n\t});\n});\nconst thumbSize = (val) => {\n\tif (typeof val === \"number\") return val;\n\tif (typeof val === \"string\") {\n\t\tconst conf = getConfig();\n\t\tconst font = conf.fontsParsed[conf.defaultFontToken];\n\t\tconst fontSize = font?.size[val];\n\t\tif (fontSize != null) {\n\t\t\tconst metrics = { fontSize: Number.parseFloat(String(getVariableValue(fontSize))) };\n\t\t\tconst lineHeight = font?.lineHeight?.[val];\n\t\t\tresolveTextMetrics(metrics, typeof lineHeight === \"number\" ? `${lineHeight}px` : lineHeight);\n\t\t\treturn metrics.lineHeight ?? metrics.fontSize;\n\t\t}\n\t}\n\treturn 20;\n};\nconst SliderThumbFrame = styled(YStack, {\n\tdisplayName: \"SliderThumb\",\n\tposition: \"absolute\",\n\tvariants: {\n\t\tcircular: { true: {\n\t\t\tborderRadius: 1e5,\n\t\t\tpadding: 0\n\t\t} },\n\t\televate: { true: {\n\t\t\tshadowColor: \"shadow-color\",\n\t\t\tshadowRadius: 4,\n\t\t\tshadowOffset: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 2\n\t\t\t}\n\t\t} }\n\t}\n});\nconst SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props, forwardedRef) {\n\tconst { __scopeSlider, index = 0, circular, size: sizeProp, ...thumbProps } = props;\n\tconst context = useSliderContext(__scopeSlider);\n\tconst orientation = useSliderOrientationContext(__scopeSlider);\n\tconst [thumb, setThumb] = React.useState(null);\n\tconst composedRefs = useComposedRefs(forwardedRef, setThumb);\n\tconst value = context.values[index];\n\tconst percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n\tconst label = getLabel(index, context.values.length);\n\tconst sizeIn = sizeProp ?? context.size ?? true;\n\tconst [size, setSize] = React.useState(() => thumbSize(sizeIn));\n\tconst thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;\n\tReact.useEffect(() => {\n\t\tif (thumb) {\n\t\t\tcontext.thumbs.set(thumb, index);\n\t\t\treturn () => {\n\t\t\t\tcontext.thumbs.delete(thumb);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tthumb,\n\t\tcontext.thumbs,\n\t\tindex\n\t]);\n\tconst positionalStyles = context.orientation === \"horizontal\" ? {\n\t\tx: (thumbInBoundsOffset - size / 2) * orientation.direction,\n\t\ty: -size / 2,\n\t\ttop: \"50%\",\n\t\t...size === 0 && {\n\t\t\ttop: \"auto\",\n\t\t\tbottom: \"auto\"\n\t\t}\n\t} : {\n\t\tx: -size / 2,\n\t\ty: size / 2,\n\t\tleft: \"50%\",\n\t\t...size === 0 && {\n\t\t\tleft: \"auto\",\n\t\t\tright: \"auto\"\n\t\t}\n\t};\n\treturn /* @__PURE__ */ jsx(SliderThumbFrame, {\n\t\tref: composedRefs,\n\t\trole: \"slider\",\n\t\t\"aria-label\": props[\"aria-label\"] || label,\n\t\t\"aria-valuemin\": context.min,\n\t\t\"aria-valuenow\": value,\n\t\t\"aria-valuemax\": context.max,\n\t\t\"aria-orientation\": context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\ttabIndex: context.disabled ? void 0 : 0,\n\t\t...positionalStyles,\n\t\t[orientation.startEdge]: `${percent}%`,\n\t\tcircular,\n\t\t...thumbProps,\n\t\tonLayout: (e) => {\n\t\t\tsetSize(e.nativeEvent.layout[orientation.sizeProp]);\n\t\t},\n\t\tonFocus: composeEventHandlers(props.onFocus, () => {\n\t\t\tcontext.valueIndexToChangeRef.current = index;\n\t\t})\n\t});\n}, { staticConfig: { memo: true } });\nconst Slider = withStaticProperties(createRefComponent((props, forwardedRef) => {\n\tconst { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [min], value, onValueChange = () => {}, size: sizeProp, onSlideEnd, onSlideMove, onSlideStart, ...sliderProps } = props;\n\tconst sliderRef = React.useRef(null);\n\tconst composedRefs = useComposedRefs(sliderRef, forwardedRef);\n\tconst thumbRefs = React.useRef(/* @__PURE__ */ new Map());\n\tconst valueIndexToChangeRef = React.useRef(0);\n\tconst isHorizontal = orientation === \"horizontal\";\n\tconst [values = [], setValues] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue,\n\t\ttransition: true,\n\t\tonChange: (value2) => {\n\t\t\tupdateThumbFocus(valueIndexToChangeRef.current);\n\t\t\tonValueChange(value2);\n\t\t}\n\t});\n\tif (isWeb) React.useEffect(() => {\n\t\tconst node = sliderRef.current;\n\t\tif (!node) return;\n\t\tconst preventDefault = (e) => {\n\t\t\te.preventDefault();\n\t\t};\n\t\tnode.addEventListener(\"touchstart\", preventDefault);\n\t\treturn () => {\n\t\t\tnode.removeEventListener(\"touchstart\", preventDefault);\n\t\t};\n\t}, []);\n\tfunction updateThumbFocus(focusIndex) {\n\t\tif (!isWeb) return;\n\t\tfor (const [node, index] of thumbRefs.current.entries()) if (index === focusIndex) {\n\t\t\tnode.focus();\n\t\t\treturn;\n\t\t}\n\t}\n\tfunction handleSlideMove(value2, event) {\n\t\tupdateValues(value2, valueIndexToChangeRef.current);\n\t\tonSlideMove?.(event, value2);\n\t}\n\tfunction updateValues(value2, atIndex) {\n\t\tconst decimalCount = getDecimalCount(step);\n\t\tconst nextValue = clamp(roundValue(Math.round((value2 - min) / step) * step + min, decimalCount), [min, max]);\n\t\tsetValues((prevValues = []) => {\n\t\t\tconst nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n\t\t\tif (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n\t\t\t\tvalueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n\t\t\t\treturn String(nextValues) === String(prevValues) ? prevValues : nextValues;\n\t\t\t}\n\t\t\treturn prevValues;\n\t\t});\n\t}\n\tconst SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;\n\treturn /* @__PURE__ */ jsxs(SliderProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tdisabled,\n\t\tmin,\n\t\tmax,\n\t\tvalueIndexToChangeRef,\n\t\tthumbs: thumbRefs.current,\n\t\tvalues,\n\t\torientation,\n\t\tsize: sizeProp,\n\t\tchildren: [/* @__PURE__ */ jsx(SliderOriented, {\n\t\t\t\"aria-disabled\": disabled,\n\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t...sliderProps,\n\t\t\tref: composedRefs,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tonSlideEnd,\n\t\t\tonSlideStart: disabled ? void 0 : (value2, target, event) => {\n\t\t\t\tif (target !== \"thumb\") updateValues(value2, getClosestValueIndex(values, value2));\n\t\t\t\tonSlideStart?.(event, value2, target);\n\t\t\t},\n\t\t\tonSlideMove: disabled ? void 0 : handleSlideMove,\n\t\t\tonHomeKeyDown: () => !disabled && updateValues(min, 0),\n\t\t\tonEndKeyDown: () => !disabled && updateValues(max, values.length - 1),\n\t\t\tonStepKeyDown: ({ event, direction: stepDirection }) => {\n\t\t\t\tif (!disabled) {\n\t\t\t\t\tconst multiplier = PAGE_KEYS.includes(event.key) || event.shiftKey && ARROW_KEYS.includes(event.key) ? 10 : 1;\n\t\t\t\t\tconst atIndex = valueIndexToChangeRef.current;\n\t\t\t\t\tconst value2 = values[atIndex];\n\t\t\t\t\tupdateValues(value2 + step * multiplier * stepDirection, atIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}), isWeb && name && values.map((value2, index) => /* @__PURE__ */ jsx(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname,\n\t\t\tvalue: value2\n\t\t}, index))]\n\t});\n}), {\n\tTrack: SliderTrack,\n\tTrackActive: SliderActive,\n\tThumb: SliderThumb\n});\nSlider.displayName = SLIDER_NAME;\nconst Track = SliderTrack;\nconst Range = SliderActive;\nconst Thumb = SliderThumb;\n\nexport { Range, Slider, SliderActive, SliderActiveFrame, SliderThumb, SliderThumbFrame, SliderTrack, SliderTrackFrame, Thumb, Track };"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { composeRefs, useComposedRefs } from "@tamagui/compose-refs";
3
3
  import { isIos, isWeb } from "@tamagui/constants";
4
- import { createRefComponent, createStyledHOC, getTokens, getVariableValue, resolveSizeToken, styled, useConfiguration, useCreateShallowSetState } from "@tamagui/core";
4
+ import { createRefComponent, createStyledHOC, getConfig, getVariableValue, resolveTextMetrics, styled, useConfiguration, useCreateShallowSetState } from "@tamagui/core";
5
5
  import { clamp, composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
6
6
  import { YStack } from "@tamagui/stacks";
7
7
  import { useControllableState } from "@tamagui/use-controllable-state";
@@ -11,6 +11,11 @@ import { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderOrientationProvide
11
11
  import { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue } from "./helpers.native.js";
12
12
  import { SliderFrame, SliderImpl } from "./SliderImpl.native.js";
13
13
 
14
+ var getTrackPosition = function(event, offset, orientation) {
15
+ var { locationX, locationY, pageX, pageY } = event.nativeEvent;
16
+ if (isWeb) return orientation === "horizontal" ? locationX : locationY;
17
+ return (orientation === "horizontal" ? pageX : pageY) - offset;
18
+ };
14
19
  var SliderHorizontal = createRefComponent(function(props, forwardedRef) {
15
20
  var { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;
16
21
  var direction = useDirection(dir);
@@ -53,11 +58,11 @@ var SliderHorizontal = createRefComponent(function(props, forwardedRef) {
53
58
  if (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);
54
59
  },
55
60
  onSlideMove: function(event) {
56
- var value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
61
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
57
62
  if (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);
58
63
  },
59
64
  onSlideEnd: function(event) {
60
- var value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
65
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
61
66
  if (value) onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);
62
67
  },
63
68
  onStepKeyDown: function(event) {
@@ -114,11 +119,11 @@ var SliderVertical = createRefComponent(function(props, forwardedRef) {
114
119
  if (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);
115
120
  },
116
121
  onSlideMove: function(event) {
117
- var value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
122
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
118
123
  if (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);
119
124
  },
120
125
  onSlideEnd: function(event) {
121
- var value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
126
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
122
127
  onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);
123
128
  },
124
129
  onStepKeyDown: function(event) {
@@ -141,12 +146,10 @@ var SliderTrackFrame = styled(SliderFrame, {
141
146
  var SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {
142
147
  var { __scopeSlider, ...trackProps } = props;
143
148
  var context = useSliderContext(__scopeSlider);
144
- var _context_size;
145
149
  return /* @__PURE__ */ jsx(SliderTrackFrame, {
146
150
  "data-disabled": context.disabled ? "" : void 0,
147
151
  "data-orientation": context.orientation,
148
152
  orientation: context.orientation,
149
- size: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,
150
153
  ...trackProps,
151
154
  ref: forwardedRef
152
155
  });
@@ -167,18 +170,10 @@ var SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(pro
167
170
  });
168
171
  var offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;
169
172
  var offsetEnd = 100 - Math.max(...percentages);
170
- var _context_size;
171
173
  return /* @__PURE__ */ jsx(SliderActiveFrame, {
172
174
  orientation: context.orientation,
173
175
  "data-orientation": context.orientation,
174
176
  "data-disabled": context.disabled ? "" : void 0,
175
- size: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,
176
- animateOnly: [
177
- "left",
178
- "top",
179
- "right",
180
- "bottom"
181
- ],
182
177
  ...rangeProps,
183
178
  ref: composedRefs,
184
179
  [orientation.startEdge]: `${offsetStart}%`,
@@ -189,23 +184,27 @@ var SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(pro
189
184
  }
190
185
  });
191
186
  });
192
- var getThumbSize = styled.dynamic(function(val) {
193
- var tokens = getTokens();
194
- var sizeToken = resolveSizeToken(val !== null && val !== void 0 ? val : true, "size");
195
- var resolved = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
196
- var size = typeof val === "number" ? val : getVariableValue(resolved) * .86;
197
- return {
198
- width: size,
199
- height: size,
200
- minWidth: size,
201
- minHeight: size
202
- };
203
- });
187
+ var thumbSize = function(val) {
188
+ if (typeof val === "number") return val;
189
+ if (typeof val === "string") {
190
+ var conf = getConfig();
191
+ var font = conf.fontsParsed[conf.defaultFontToken];
192
+ var fontSize = font === null || font === void 0 ? void 0 : font.size[val];
193
+ if (fontSize != null) {
194
+ var _font_lineHeight;
195
+ var metrics = { fontSize: Number.parseFloat(String(getVariableValue(fontSize))) };
196
+ var lineHeight = font === null || font === void 0 ? void 0 : (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[val];
197
+ resolveTextMetrics(metrics, typeof lineHeight === "number" ? `${lineHeight}px` : lineHeight);
198
+ var _metrics_lineHeight;
199
+ return (_metrics_lineHeight = metrics.lineHeight) !== null && _metrics_lineHeight !== void 0 ? _metrics_lineHeight : metrics.fontSize;
200
+ }
201
+ }
202
+ return 20;
203
+ };
204
204
  var SliderThumbFrame = styled(YStack, {
205
205
  displayName: "SliderThumb",
206
206
  position: "absolute",
207
207
  variants: {
208
- size: getThumbSize,
209
208
  circular: { true: {
210
209
  borderRadius: 1e5,
211
210
  padding: 0
@@ -232,8 +231,7 @@ var SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props,
232
231
  var _ref;
233
232
  var sizeIn = (_ref = sizeProp !== null && sizeProp !== void 0 ? sizeProp : context.size) !== null && _ref !== void 0 ? _ref : true;
234
233
  var [size, setSize] = React.useState(function() {
235
- var _getThumbSize;
236
- return getVariableValue((_getThumbSize = getThumbSize(sizeIn, {})) === null || _getThumbSize === void 0 ? void 0 : _getThumbSize.width);
234
+ return thumbSize(sizeIn);
237
235
  });
238
236
  var thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;
239
237
  React.useEffect(function() {
@@ -276,16 +274,8 @@ var SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props,
276
274
  "data-orientation": context.orientation,
277
275
  "data-disabled": context.disabled ? "" : void 0,
278
276
  tabIndex: context.disabled ? void 0 : 0,
279
- animateOnly: [
280
- "transform",
281
- "left",
282
- "top",
283
- "right",
284
- "bottom"
285
- ],
286
277
  ...positionalStyles,
287
278
  [orientation.startEdge]: `${percent}%`,
288
- size: sizeIn,
289
279
  circular,
290
280
  ...thumbProps,
291
281
  onLayout: function(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.native.js","names":[],"sources":["esm/Slider.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { composeRefs, useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isIos, isWeb } from \"@tamagui/constants\";\nimport { createRefComponent, createStyledHOC, getTokens, getVariableValue, resolveSizeToken, styled, useConfiguration, useCreateShallowSetState } from \"@tamagui/core\";\nimport { clamp, composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport * as React from \"react\";\nimport { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext } from \"./constants\";\nimport { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue } from \"./helpers\";\nimport { SliderFrame, SliderImpl } from \"./SliderImpl\";\n\nvar SliderHorizontal = createRefComponent(function(props, forwardedRef) {\n\tvar { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tvar direction = useDirection(dir);\n\tvar isDirectionLTR = direction === \"ltr\";\n\tvar sliderRef = React.useRef(null);\n\tvar [state, setState_] = React.useState(function() {\n\t\treturn {\n\t\t\tsize: 0,\n\t\t\toffset: 0\n\t\t};\n\t});\n\tvar setState = useCreateShallowSetState(setState_);\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], isDirectionLTR ? [min, max] : [max, min])(pointerPosition);\n\t}\n\tvar measure = function() {\n\t\tvar _sliderRef_current;\n\t\t(_sliderRef_current = sliderRef.current) === null || _sliderRef_current === void 0 || _sliderRef_current.measure(function(_x, _y, width, _height, pageX, _pageY) {\n\t\t\tsetState({\n\t\t\t\tsize: width,\n\t\t\t\toffset: pageX\n\t\t\t});\n\t\t});\n\t};\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: isDirectionLTR ? \"left\" : \"right\",\n\t\tendEdge: isDirectionLTR ? \"right\" : \"left\",\n\t\tdirection: isDirectionLTR ? 1 : -1,\n\t\tsizeProp: \"width\",\n\t\tsize: state.size,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\tdir: direction,\n\t\t\t...sliderProps,\n\t\t\torientation: \"horizontal\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: function(event, target) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.locationX);\n\t\t\t\tif (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: function(event) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.pageX - state.offset);\n\t\t\t\tif (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: function(event) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.pageX - state.offset);\n\t\t\t\tif (value) onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: function(event) {\n\t\t\t\tvar isBackKey = BACK_KEYS[direction].includes(event.key);\n\t\t\t\tonStepKeyDown === null || onStepKeyDown === void 0 || onStepKeyDown({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nvar SliderVertical = createRefComponent(function(props, forwardedRef) {\n\tvar { min, max, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tvar [state, setState_] = React.useState(function() {\n\t\treturn {\n\t\t\tsize: 0,\n\t\t\toffset: 0\n\t\t};\n\t});\n\tvar setState = useCreateShallowSetState(setState_);\n\tvar sliderRef = React.useRef(null);\n\tvar configuration = useConfiguration();\n\tvar insets = isIos && configuration.insets ? configuration.insets : {\n\t\ttop: 0,\n\t\tbottom: 0\n\t};\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], [max, min])(pointerPosition);\n\t}\n\tvar measure = function() {\n\t\tvar _sliderRef_current;\n\t\t(_sliderRef_current = sliderRef.current) === null || _sliderRef_current === void 0 || _sliderRef_current.measure(function(_x, _y, _width, height, _pageX, pageY) {\n\t\t\tsetState({\n\t\t\t\tsize: height,\n\t\t\t\toffset: pageY + (isIos ? insets.top : 0)\n\t\t\t});\n\t\t});\n\t};\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: \"bottom\",\n\t\tendEdge: \"top\",\n\t\tsizeProp: \"height\",\n\t\tsize: state.size,\n\t\tdirection: 1,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\t...sliderProps,\n\t\t\torientation: \"vertical\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: function(event, target) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.locationY);\n\t\t\t\tif (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: function(event) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.pageY - state.offset);\n\t\t\t\tif (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: function(event) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.pageY - state.offset);\n\t\t\t\tonSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: function(event) {\n\t\t\t\tvar isBackKey = BACK_KEYS.ltr.includes(event.key);\n\t\t\t\tonStepKeyDown === null || onStepKeyDown === void 0 || onStepKeyDown({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nvar SliderTrackFrame = styled(SliderFrame, {\n\tdisplayName: \"Slider\",\n\theight: \"100%\",\n\twidth: \"100%\",\n\tposition: \"relative\",\n\toverflow: \"hidden\"\n});\nvar SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {\n\tvar { __scopeSlider, ...trackProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\tvar _context_size;\n\treturn /* @__PURE__ */ jsx(SliderTrackFrame, {\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t\"data-orientation\": context.orientation,\n\t\torientation: context.orientation,\n\t\tsize: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,\n\t\t...trackProps,\n\t\tref: forwardedRef\n\t});\n});\nvar SliderActiveFrame = styled(SliderFrame, {\n\tdisplayName: \"SliderActive\",\n\tposition: \"absolute\",\n\tpointerEvents: \"box-none\"\n});\nvar SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(props, forwardedRef) {\n\tvar { __scopeSlider, ...rangeProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\tvar orientation = useSliderOrientationContext(__scopeSlider);\n\tvar composedRefs = useComposedRefs(forwardedRef, React.useRef(null));\n\tvar valuesCount = context.values.length;\n\tvar percentages = context.values.map(function(value) {\n\t\treturn convertValueToPercentage(value, context.min, context.max);\n\t});\n\tvar offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n\tvar offsetEnd = 100 - Math.max(...percentages);\n\tvar _context_size;\n\treturn /* @__PURE__ */ jsx(SliderActiveFrame, {\n\t\torientation: context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\tsize: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,\n\t\tanimateOnly: [\n\t\t\t\"left\",\n\t\t\t\"top\",\n\t\t\t\"right\",\n\t\t\t\"bottom\"\n\t\t],\n\t\t...rangeProps,\n\t\tref: composedRefs,\n\t\t[orientation.startEdge]: `${offsetStart}%`,\n\t\t[orientation.endEdge]: `${offsetEnd}%`,\n\t\t...orientation.sizeProp === \"width\" ? { height: \"100%\" } : {\n\t\t\tleft: 0,\n\t\t\tright: 0\n\t\t}\n\t});\n});\nvar getThumbSize = styled.dynamic(function(val) {\n\tvar tokens = getTokens();\n\tvar sizeToken = resolveSizeToken(val !== null && val !== void 0 ? val : true, \"size\");\n\tvar resolved = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n\tvar size = typeof val === \"number\" ? val : getVariableValue(resolved) * .86;\n\treturn {\n\t\twidth: size,\n\t\theight: size,\n\t\tminWidth: size,\n\t\tminHeight: size\n\t};\n});\nvar SliderThumbFrame = styled(YStack, {\n\tdisplayName: \"SliderThumb\",\n\tposition: \"absolute\",\n\tvariants: {\n\t\tsize: getThumbSize,\n\t\tcircular: { true: {\n\t\t\tborderRadius: 1e5,\n\t\t\tpadding: 0\n\t\t} },\n\t\televate: { true: {\n\t\t\tshadowColor: \"shadow-color\",\n\t\t\tshadowRadius: 4,\n\t\t\tshadowOffset: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 2\n\t\t\t}\n\t\t} }\n\t}\n});\nvar SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props, forwardedRef) {\n\tvar { __scopeSlider, index = 0, circular, size: sizeProp, ...thumbProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\tvar orientation = useSliderOrientationContext(__scopeSlider);\n\tvar [thumb, setThumb] = React.useState(null);\n\tvar composedRefs = useComposedRefs(forwardedRef, setThumb);\n\tvar value = context.values[index];\n\tvar percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n\tvar label = getLabel(index, context.values.length);\n\tvar _ref;\n\tvar sizeIn = (_ref = sizeProp !== null && sizeProp !== void 0 ? sizeProp : context.size) !== null && _ref !== void 0 ? _ref : true;\n\tvar [size, setSize] = React.useState(function() {\n\t\tvar _getThumbSize;\n\t\treturn getVariableValue((_getThumbSize = getThumbSize(sizeIn, {})) === null || _getThumbSize === void 0 ? void 0 : _getThumbSize.width);\n\t});\n\tvar thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;\n\tReact.useEffect(function() {\n\t\tif (thumb) {\n\t\t\tcontext.thumbs.set(thumb, index);\n\t\t\treturn function() {\n\t\t\t\tcontext.thumbs.delete(thumb);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tthumb,\n\t\tcontext.thumbs,\n\t\tindex\n\t]);\n\tvar positionalStyles = context.orientation === \"horizontal\" ? {\n\t\tx: (thumbInBoundsOffset - size / 2) * orientation.direction,\n\t\ty: -size / 2,\n\t\ttop: \"50%\",\n\t\t...size === 0 && {\n\t\t\ttop: \"auto\",\n\t\t\tbottom: \"auto\"\n\t\t}\n\t} : {\n\t\tx: -size / 2,\n\t\ty: size / 2,\n\t\tleft: \"50%\",\n\t\t...size === 0 && {\n\t\t\tleft: \"auto\",\n\t\t\tright: \"auto\"\n\t\t}\n\t};\n\treturn /* @__PURE__ */ jsx(SliderThumbFrame, {\n\t\tref: composedRefs,\n\t\trole: \"slider\",\n\t\t\"aria-label\": props[\"aria-label\"] || label,\n\t\t\"aria-valuemin\": context.min,\n\t\t\"aria-valuenow\": value,\n\t\t\"aria-valuemax\": context.max,\n\t\t\"aria-orientation\": context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\ttabIndex: context.disabled ? void 0 : 0,\n\t\tanimateOnly: [\n\t\t\t\"transform\",\n\t\t\t\"left\",\n\t\t\t\"top\",\n\t\t\t\"right\",\n\t\t\t\"bottom\"\n\t\t],\n\t\t...positionalStyles,\n\t\t[orientation.startEdge]: `${percent}%`,\n\t\tsize: sizeIn,\n\t\tcircular,\n\t\t...thumbProps,\n\t\tonLayout: function(e) {\n\t\t\tsetSize(e.nativeEvent.layout[orientation.sizeProp]);\n\t\t},\n\t\tonFocus: composeEventHandlers(props.onFocus, function() {\n\t\t\tcontext.valueIndexToChangeRef.current = index;\n\t\t})\n\t});\n}, { staticConfig: { memo: true } });\nvar Slider = withStaticProperties(createRefComponent(function(props, forwardedRef) {\n\tvar { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [min], value, onValueChange = function() {}, size: sizeProp, onSlideEnd, onSlideMove, onSlideStart, ...sliderProps } = props;\n\tvar sliderRef = React.useRef(null);\n\tvar composedRefs = useComposedRefs(sliderRef, forwardedRef);\n\tvar thumbRefs = React.useRef(/* @__PURE__ */ new Map());\n\tvar valueIndexToChangeRef = React.useRef(0);\n\tvar isHorizontal = orientation === \"horizontal\";\n\tvar [values = [], setValues] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue,\n\t\ttransition: true,\n\t\tonChange: function(value2) {\n\t\t\tupdateThumbFocus(valueIndexToChangeRef.current);\n\t\t\tonValueChange(value2);\n\t\t}\n\t});\n\tif (isWeb) React.useEffect(function() {\n\t\tvar node = sliderRef.current;\n\t\tif (!node) return;\n\t\tvar preventDefault = function(e) {\n\t\t\te.preventDefault();\n\t\t};\n\t\tnode.addEventListener(\"touchstart\", preventDefault);\n\t\treturn function() {\n\t\t\tnode.removeEventListener(\"touchstart\", preventDefault);\n\t\t};\n\t}, []);\n\tfunction updateThumbFocus(focusIndex) {\n\t\tif (!isWeb) return;\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = thumbRefs.current.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar [node, index] = _step.value;\n\t\t\t\tif (index === focusIndex) {\n\t\t\t\t\tnode.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleSlideMove(value2, event) {\n\t\tupdateValues(value2, valueIndexToChangeRef.current);\n\t\tonSlideMove === null || onSlideMove === void 0 || onSlideMove(event, value2);\n\t}\n\tfunction updateValues(value2, atIndex) {\n\t\tvar decimalCount = getDecimalCount(step);\n\t\tvar nextValue = clamp(roundValue(Math.round((value2 - min) / step) * step + min, decimalCount), [min, max]);\n\t\tsetValues(function() {\n\t\t\tvar prevValues = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n\t\t\tvar nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n\t\t\tif (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n\t\t\t\tvalueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n\t\t\t\treturn String(nextValues) === String(prevValues) ? prevValues : nextValues;\n\t\t\t}\n\t\t\treturn prevValues;\n\t\t});\n\t}\n\tvar SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;\n\treturn /* @__PURE__ */ jsxs(SliderProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tdisabled,\n\t\tmin,\n\t\tmax,\n\t\tvalueIndexToChangeRef,\n\t\tthumbs: thumbRefs.current,\n\t\tvalues,\n\t\torientation,\n\t\tsize: sizeProp,\n\t\tchildren: [/* @__PURE__ */ jsx(SliderOriented, {\n\t\t\t\"aria-disabled\": disabled,\n\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t...sliderProps,\n\t\t\tref: composedRefs,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tonSlideEnd,\n\t\t\tonSlideStart: disabled ? void 0 : function(value2, target, event) {\n\t\t\t\tif (target !== \"thumb\") updateValues(value2, getClosestValueIndex(values, value2));\n\t\t\t\tonSlideStart === null || onSlideStart === void 0 || onSlideStart(event, value2, target);\n\t\t\t},\n\t\t\tonSlideMove: disabled ? void 0 : handleSlideMove,\n\t\t\tonHomeKeyDown: function() {\n\t\t\t\treturn !disabled && updateValues(min, 0);\n\t\t\t},\n\t\t\tonEndKeyDown: function() {\n\t\t\t\treturn !disabled && updateValues(max, values.length - 1);\n\t\t\t},\n\t\t\tonStepKeyDown: function(param) {\n\t\t\t\tvar { event, direction: stepDirection } = param;\n\t\t\t\tif (!disabled) {\n\t\t\t\t\tvar multiplier = PAGE_KEYS.includes(event.key) || event.shiftKey && ARROW_KEYS.includes(event.key) ? 10 : 1;\n\t\t\t\t\tvar atIndex = valueIndexToChangeRef.current;\n\t\t\t\t\tvar value2 = values[atIndex];\n\t\t\t\t\tupdateValues(value2 + step * multiplier * stepDirection, atIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}), isWeb && name && values.map(function(value2, index) {\n\t\t\treturn /* @__PURE__ */ jsx(\"input\", {\n\t\t\t\ttype: \"hidden\",\n\t\t\t\tname,\n\t\t\t\tvalue: value2\n\t\t\t}, index);\n\t\t})]\n\t});\n}), {\n\tTrack: SliderTrack,\n\tTrackActive: SliderActive,\n\tThumb: SliderThumb\n});\nSlider.displayName = SLIDER_NAME;\nvar Track = SliderTrack;\nvar Range = SliderActive;\nvar Thumb = SliderThumb;\n\nexport { Range, Slider, SliderActive, SliderActiveFrame, SliderThumb, SliderThumbFrame, SliderTrack, SliderTrackFrame, Thumb, Track };"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.native.js","names":[],"sources":["esm/Slider.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { composeRefs, useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isIos, isWeb } from \"@tamagui/constants\";\nimport { createRefComponent, createStyledHOC, getConfig, getVariableValue, resolveTextMetrics, styled, useConfiguration, useCreateShallowSetState } from \"@tamagui/core\";\nimport { clamp, composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport * as React from \"react\";\nimport { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext } from \"./constants\";\nimport { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue } from \"./helpers\";\nimport { SliderFrame, SliderImpl } from \"./SliderImpl\";\n\nvar getTrackPosition = function(event, offset, orientation) {\n\tvar { locationX, locationY, pageX, pageY } = event.nativeEvent;\n\tif (isWeb) return orientation === \"horizontal\" ? locationX : locationY;\n\treturn (orientation === \"horizontal\" ? pageX : pageY) - offset;\n};\nvar SliderHorizontal = createRefComponent(function(props, forwardedRef) {\n\tvar { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tvar direction = useDirection(dir);\n\tvar isDirectionLTR = direction === \"ltr\";\n\tvar sliderRef = React.useRef(null);\n\tvar [state, setState_] = React.useState(function() {\n\t\treturn {\n\t\t\tsize: 0,\n\t\t\toffset: 0\n\t\t};\n\t});\n\tvar setState = useCreateShallowSetState(setState_);\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], isDirectionLTR ? [min, max] : [max, min])(pointerPosition);\n\t}\n\tvar measure = function() {\n\t\tvar _sliderRef_current;\n\t\t(_sliderRef_current = sliderRef.current) === null || _sliderRef_current === void 0 || _sliderRef_current.measure(function(_x, _y, width, _height, pageX, _pageY) {\n\t\t\tsetState({\n\t\t\t\tsize: width,\n\t\t\t\toffset: pageX\n\t\t\t});\n\t\t});\n\t};\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: isDirectionLTR ? \"left\" : \"right\",\n\t\tendEdge: isDirectionLTR ? \"right\" : \"left\",\n\t\tdirection: isDirectionLTR ? 1 : -1,\n\t\tsizeProp: \"width\",\n\t\tsize: state.size,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\tdir: direction,\n\t\t\t...sliderProps,\n\t\t\torientation: \"horizontal\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: function(event, target) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.locationX);\n\t\t\t\tif (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: function(event) {\n\t\t\t\tvar value = getValueFromPointer(getTrackPosition(event, state.offset, \"horizontal\"));\n\t\t\t\tif (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: function(event) {\n\t\t\t\tvar value = getValueFromPointer(getTrackPosition(event, state.offset, \"horizontal\"));\n\t\t\t\tif (value) onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: function(event) {\n\t\t\t\tvar isBackKey = BACK_KEYS[direction].includes(event.key);\n\t\t\t\tonStepKeyDown === null || onStepKeyDown === void 0 || onStepKeyDown({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nvar SliderVertical = createRefComponent(function(props, forwardedRef) {\n\tvar { min, max, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;\n\tvar [state, setState_] = React.useState(function() {\n\t\treturn {\n\t\t\tsize: 0,\n\t\t\toffset: 0\n\t\t};\n\t});\n\tvar setState = useCreateShallowSetState(setState_);\n\tvar sliderRef = React.useRef(null);\n\tvar configuration = useConfiguration();\n\tvar insets = isIos && configuration.insets ? configuration.insets : {\n\t\ttop: 0,\n\t\tbottom: 0\n\t};\n\tfunction getValueFromPointer(pointerPosition) {\n\t\treturn linearScale([0, state.size], [max, min])(pointerPosition);\n\t}\n\tvar measure = function() {\n\t\tvar _sliderRef_current;\n\t\t(_sliderRef_current = sliderRef.current) === null || _sliderRef_current === void 0 || _sliderRef_current.measure(function(_x, _y, _width, height, _pageX, pageY) {\n\t\t\tsetState({\n\t\t\t\tsize: height,\n\t\t\t\toffset: pageY + (isIos ? insets.top : 0)\n\t\t\t});\n\t\t});\n\t};\n\treturn /* @__PURE__ */ jsx(SliderOrientationProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tstartEdge: \"bottom\",\n\t\tendEdge: \"top\",\n\t\tsizeProp: \"height\",\n\t\tsize: state.size,\n\t\tdirection: 1,\n\t\tchildren: /* @__PURE__ */ jsx(SliderImpl, {\n\t\t\tref: composeRefs(forwardedRef, sliderRef),\n\t\t\t...sliderProps,\n\t\t\torientation: \"vertical\",\n\t\t\tonLayout: measure,\n\t\t\tonSlideStart: function(event, target) {\n\t\t\t\tvar value = getValueFromPointer(event.nativeEvent.locationY);\n\t\t\t\tif (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);\n\t\t\t},\n\t\t\tonSlideMove: function(event) {\n\t\t\t\tvar value = getValueFromPointer(getTrackPosition(event, state.offset, \"vertical\"));\n\t\t\t\tif (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);\n\t\t\t},\n\t\t\tonSlideEnd: function(event) {\n\t\t\t\tvar value = getValueFromPointer(getTrackPosition(event, state.offset, \"vertical\"));\n\t\t\t\tonSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);\n\t\t\t},\n\t\t\tonStepKeyDown: function(event) {\n\t\t\t\tvar isBackKey = BACK_KEYS.ltr.includes(event.key);\n\t\t\t\tonStepKeyDown === null || onStepKeyDown === void 0 || onStepKeyDown({\n\t\t\t\t\tevent,\n\t\t\t\t\tdirection: isBackKey ? -1 : 1\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t});\n});\nvar SliderTrackFrame = styled(SliderFrame, {\n\tdisplayName: \"Slider\",\n\theight: \"100%\",\n\twidth: \"100%\",\n\tposition: \"relative\",\n\toverflow: \"hidden\"\n});\nvar SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {\n\tvar { __scopeSlider, ...trackProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\treturn /* @__PURE__ */ jsx(SliderTrackFrame, {\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t\"data-orientation\": context.orientation,\n\t\torientation: context.orientation,\n\t\t...trackProps,\n\t\tref: forwardedRef\n\t});\n});\nvar SliderActiveFrame = styled(SliderFrame, {\n\tdisplayName: \"SliderActive\",\n\tposition: \"absolute\",\n\tpointerEvents: \"box-none\"\n});\nvar SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(props, forwardedRef) {\n\tvar { __scopeSlider, ...rangeProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\tvar orientation = useSliderOrientationContext(__scopeSlider);\n\tvar composedRefs = useComposedRefs(forwardedRef, React.useRef(null));\n\tvar valuesCount = context.values.length;\n\tvar percentages = context.values.map(function(value) {\n\t\treturn convertValueToPercentage(value, context.min, context.max);\n\t});\n\tvar offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n\tvar offsetEnd = 100 - Math.max(...percentages);\n\treturn /* @__PURE__ */ jsx(SliderActiveFrame, {\n\t\torientation: context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\t...rangeProps,\n\t\tref: composedRefs,\n\t\t[orientation.startEdge]: `${offsetStart}%`,\n\t\t[orientation.endEdge]: `${offsetEnd}%`,\n\t\t...orientation.sizeProp === \"width\" ? { height: \"100%\" } : {\n\t\t\tleft: 0,\n\t\t\tright: 0\n\t\t}\n\t});\n});\nvar thumbSize = function(val) {\n\tif (typeof val === \"number\") return val;\n\tif (typeof val === \"string\") {\n\t\tvar conf = getConfig();\n\t\tvar font = conf.fontsParsed[conf.defaultFontToken];\n\t\tvar fontSize = font === null || font === void 0 ? void 0 : font.size[val];\n\t\tif (fontSize != null) {\n\t\t\tvar _font_lineHeight;\n\t\t\tvar metrics = { fontSize: Number.parseFloat(String(getVariableValue(fontSize))) };\n\t\t\tvar lineHeight = font === null || font === void 0 ? void 0 : (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[val];\n\t\t\tresolveTextMetrics(metrics, typeof lineHeight === \"number\" ? `${lineHeight}px` : lineHeight);\n\t\t\tvar _metrics_lineHeight;\n\t\t\treturn (_metrics_lineHeight = metrics.lineHeight) !== null && _metrics_lineHeight !== void 0 ? _metrics_lineHeight : metrics.fontSize;\n\t\t}\n\t}\n\treturn 20;\n};\nvar SliderThumbFrame = styled(YStack, {\n\tdisplayName: \"SliderThumb\",\n\tposition: \"absolute\",\n\tvariants: {\n\t\tcircular: { true: {\n\t\t\tborderRadius: 1e5,\n\t\t\tpadding: 0\n\t\t} },\n\t\televate: { true: {\n\t\t\tshadowColor: \"shadow-color\",\n\t\t\tshadowRadius: 4,\n\t\t\tshadowOffset: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 2\n\t\t\t}\n\t\t} }\n\t}\n});\nvar SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(props, forwardedRef) {\n\tvar { __scopeSlider, index = 0, circular, size: sizeProp, ...thumbProps } = props;\n\tvar context = useSliderContext(__scopeSlider);\n\tvar orientation = useSliderOrientationContext(__scopeSlider);\n\tvar [thumb, setThumb] = React.useState(null);\n\tvar composedRefs = useComposedRefs(forwardedRef, setThumb);\n\tvar value = context.values[index];\n\tvar percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n\tvar label = getLabel(index, context.values.length);\n\tvar _ref;\n\tvar sizeIn = (_ref = sizeProp !== null && sizeProp !== void 0 ? sizeProp : context.size) !== null && _ref !== void 0 ? _ref : true;\n\tvar [size, setSize] = React.useState(function() {\n\t\treturn thumbSize(sizeIn);\n\t});\n\tvar thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;\n\tReact.useEffect(function() {\n\t\tif (thumb) {\n\t\t\tcontext.thumbs.set(thumb, index);\n\t\t\treturn function() {\n\t\t\t\tcontext.thumbs.delete(thumb);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tthumb,\n\t\tcontext.thumbs,\n\t\tindex\n\t]);\n\tvar positionalStyles = context.orientation === \"horizontal\" ? {\n\t\tx: (thumbInBoundsOffset - size / 2) * orientation.direction,\n\t\ty: -size / 2,\n\t\ttop: \"50%\",\n\t\t...size === 0 && {\n\t\t\ttop: \"auto\",\n\t\t\tbottom: \"auto\"\n\t\t}\n\t} : {\n\t\tx: -size / 2,\n\t\ty: size / 2,\n\t\tleft: \"50%\",\n\t\t...size === 0 && {\n\t\t\tleft: \"auto\",\n\t\t\tright: \"auto\"\n\t\t}\n\t};\n\treturn /* @__PURE__ */ jsx(SliderThumbFrame, {\n\t\tref: composedRefs,\n\t\trole: \"slider\",\n\t\t\"aria-label\": props[\"aria-label\"] || label,\n\t\t\"aria-valuemin\": context.min,\n\t\t\"aria-valuenow\": value,\n\t\t\"aria-valuemax\": context.max,\n\t\t\"aria-orientation\": context.orientation,\n\t\t\"data-orientation\": context.orientation,\n\t\t\"data-disabled\": context.disabled ? \"\" : void 0,\n\t\ttabIndex: context.disabled ? void 0 : 0,\n\t\t...positionalStyles,\n\t\t[orientation.startEdge]: `${percent}%`,\n\t\tcircular,\n\t\t...thumbProps,\n\t\tonLayout: function(e) {\n\t\t\tsetSize(e.nativeEvent.layout[orientation.sizeProp]);\n\t\t},\n\t\tonFocus: composeEventHandlers(props.onFocus, function() {\n\t\t\tcontext.valueIndexToChangeRef.current = index;\n\t\t})\n\t});\n}, { staticConfig: { memo: true } });\nvar Slider = withStaticProperties(createRefComponent(function(props, forwardedRef) {\n\tvar { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [min], value, onValueChange = function() {}, size: sizeProp, onSlideEnd, onSlideMove, onSlideStart, ...sliderProps } = props;\n\tvar sliderRef = React.useRef(null);\n\tvar composedRefs = useComposedRefs(sliderRef, forwardedRef);\n\tvar thumbRefs = React.useRef(/* @__PURE__ */ new Map());\n\tvar valueIndexToChangeRef = React.useRef(0);\n\tvar isHorizontal = orientation === \"horizontal\";\n\tvar [values = [], setValues] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue,\n\t\ttransition: true,\n\t\tonChange: function(value2) {\n\t\t\tupdateThumbFocus(valueIndexToChangeRef.current);\n\t\t\tonValueChange(value2);\n\t\t}\n\t});\n\tif (isWeb) React.useEffect(function() {\n\t\tvar node = sliderRef.current;\n\t\tif (!node) return;\n\t\tvar preventDefault = function(e) {\n\t\t\te.preventDefault();\n\t\t};\n\t\tnode.addEventListener(\"touchstart\", preventDefault);\n\t\treturn function() {\n\t\t\tnode.removeEventListener(\"touchstart\", preventDefault);\n\t\t};\n\t}, []);\n\tfunction updateThumbFocus(focusIndex) {\n\t\tif (!isWeb) return;\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = thumbRefs.current.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar [node, index] = _step.value;\n\t\t\t\tif (index === focusIndex) {\n\t\t\t\t\tnode.focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleSlideMove(value2, event) {\n\t\tupdateValues(value2, valueIndexToChangeRef.current);\n\t\tonSlideMove === null || onSlideMove === void 0 || onSlideMove(event, value2);\n\t}\n\tfunction updateValues(value2, atIndex) {\n\t\tvar decimalCount = getDecimalCount(step);\n\t\tvar nextValue = clamp(roundValue(Math.round((value2 - min) / step) * step + min, decimalCount), [min, max]);\n\t\tsetValues(function() {\n\t\t\tvar prevValues = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n\t\t\tvar nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n\t\t\tif (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n\t\t\t\tvalueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n\t\t\t\treturn String(nextValues) === String(prevValues) ? prevValues : nextValues;\n\t\t\t}\n\t\t\treturn prevValues;\n\t\t});\n\t}\n\tvar SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;\n\treturn /* @__PURE__ */ jsxs(SliderProvider, {\n\t\tscope: props.__scopeSlider,\n\t\tdisabled,\n\t\tmin,\n\t\tmax,\n\t\tvalueIndexToChangeRef,\n\t\tthumbs: thumbRefs.current,\n\t\tvalues,\n\t\torientation,\n\t\tsize: sizeProp,\n\t\tchildren: [/* @__PURE__ */ jsx(SliderOriented, {\n\t\t\t\"aria-disabled\": disabled,\n\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t...sliderProps,\n\t\t\tref: composedRefs,\n\t\t\tmin,\n\t\t\tmax,\n\t\t\tonSlideEnd,\n\t\t\tonSlideStart: disabled ? void 0 : function(value2, target, event) {\n\t\t\t\tif (target !== \"thumb\") updateValues(value2, getClosestValueIndex(values, value2));\n\t\t\t\tonSlideStart === null || onSlideStart === void 0 || onSlideStart(event, value2, target);\n\t\t\t},\n\t\t\tonSlideMove: disabled ? void 0 : handleSlideMove,\n\t\t\tonHomeKeyDown: function() {\n\t\t\t\treturn !disabled && updateValues(min, 0);\n\t\t\t},\n\t\t\tonEndKeyDown: function() {\n\t\t\t\treturn !disabled && updateValues(max, values.length - 1);\n\t\t\t},\n\t\t\tonStepKeyDown: function(param) {\n\t\t\t\tvar { event, direction: stepDirection } = param;\n\t\t\t\tif (!disabled) {\n\t\t\t\t\tvar multiplier = PAGE_KEYS.includes(event.key) || event.shiftKey && ARROW_KEYS.includes(event.key) ? 10 : 1;\n\t\t\t\t\tvar atIndex = valueIndexToChangeRef.current;\n\t\t\t\t\tvar value2 = values[atIndex];\n\t\t\t\t\tupdateValues(value2 + step * multiplier * stepDirection, atIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}), isWeb && name && values.map(function(value2, index) {\n\t\t\treturn /* @__PURE__ */ jsx(\"input\", {\n\t\t\t\ttype: \"hidden\",\n\t\t\t\tname,\n\t\t\t\tvalue: value2\n\t\t\t}, index);\n\t\t})]\n\t});\n}), {\n\tTrack: SliderTrack,\n\tTrackActive: SliderActive,\n\tThumb: SliderThumb\n});\nSlider.displayName = SLIDER_NAME;\nvar Track = SliderTrack;\nvar Range = SliderActive;\nvar Thumb = SliderThumb;\n\nexport { Range, Slider, SliderActive, SliderActiveFrame, SliderThumb, SliderThumbFrame, SliderTrack, SliderTrackFrame, Thumb, Track };"],"mappings":"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"}
@@ -1,38 +1,21 @@
1
- import { createRefComponent, getVariableValue, styled } from "@tamagui/core";
1
+ import { createRefComponent, styled } from "@tamagui/core";
2
2
  import { isWeb } from "@tamagui/constants";
3
- import { getSize } from "@tamagui/get-token";
4
3
  import { YStack } from "@tamagui/stacks";
5
4
  import * as React from "react";
6
- import { View } from "react-native-web";
7
5
  import { ARROW_KEYS, PAGE_KEYS, useSliderContext } from "./constants.mjs";
6
+ import { SliderResponder } from "./SliderResponder.mjs";
8
7
  import { jsx } from "react/jsx-runtime";
9
8
 
10
9
  const SliderFrameBase = styled(YStack, {
11
10
  position: "relative",
12
- variants: {
13
- orientation: {
14
- horizontal: {},
15
- vertical: {}
16
- },
17
- size: styled.dynamic()
18
- }
19
- });
20
- const SliderFrame = SliderFrameBase.resolve((props) => {
21
- if (!props.size) return;
22
- const size = Math.round(getVariableValue(getSize(props.size)) / 6);
23
- if (props.orientation === "horizontal") {
24
- return {
25
- height: size,
26
- borderRadius: size,
27
- justifyContent: "center"
28
- };
29
- }
30
- return {
31
- width: size,
32
- borderRadius: size,
33
- alignItems: "center"
34
- };
11
+ justifyContent: "center",
12
+ alignItems: "center",
13
+ variants: { orientation: {
14
+ horizontal: {},
15
+ vertical: {}
16
+ } }
35
17
  });
18
+ const SliderFrame = SliderFrameBase;
36
19
  const SliderImpl = createRefComponent((props, forwardedRef) => {
37
20
  const { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;
38
21
  const context = useSliderContext(__scopeSlider);
@@ -65,7 +48,6 @@ const SliderImpl = createRefComponent((props, forwardedRef) => {
65
48
  onSlideEnd(event);
66
49
  }, [onSlideEnd, props.onResponderRelease]);
67
50
  return /* @__PURE__ */ jsx(SliderFrame, {
68
- size: "4",
69
51
  ref: forwardedRef,
70
52
  ...sliderProps,
71
53
  "data-orientation": sliderProps.orientation,
@@ -81,18 +63,10 @@ const SliderImpl = createRefComponent((props, forwardedRef) => {
81
63
  event.preventDefault();
82
64
  }
83
65
  } },
84
- children: /* @__PURE__ */ jsx(View, {
85
- onMoveShouldSetResponderCapture: () => true,
86
- onMoveShouldSetResponder: () => true,
87
- onStartShouldSetResponder: () => true,
88
- onResponderTerminationRequest: () => false,
66
+ children: /* @__PURE__ */ jsx(SliderResponder, {
89
67
  onResponderGrant: handleResponderGrant,
90
68
  onResponderMove: handleResponderMove,
91
69
  onResponderRelease: handleResponderRelease,
92
- style: {
93
- inset: 0,
94
- position: "absolute"
95
- },
96
70
  children
97
71
  })
98
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SliderImpl.js","names":[],"sources":["esm/SliderImpl.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { getVariableValue, styled } from \"@tamagui/core\";\nimport { getSize } from \"@tamagui/get-token\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { View } from \"react-native-web\";\nimport { ARROW_KEYS, PAGE_KEYS, useSliderContext } from \"./constants\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SliderFrameBase = styled(YStack, {\n position: \"relative\",\n variants: {\n orientation: {\n horizontal: {},\n vertical: {}\n },\n size: styled.dynamic()\n }\n});\nconst SliderFrame = SliderFrameBase.resolve((props) => {\n if (!props.size) return;\n const size = Math.round(getVariableValue(getSize(props.size)) / 6);\n if (props.orientation === \"horizontal\") {\n return {\n height: size,\n borderRadius: size,\n justifyContent: \"center\"\n };\n }\n return {\n width: size,\n borderRadius: size,\n alignItems: \"center\"\n };\n});\nconst SliderImpl = createRefComponent(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n children,\n ...sliderProps\n } = props;\n const context = useSliderContext(__scopeSlider);\n const handleResponderGrant = React.useCallback(\n (event) => {\n props.onResponderGrant?.(event);\n const target = event.target;\n const thumbIndex = context.thumbs.get(target);\n const isStartingOnThumb = thumbIndex !== void 0;\n if (isWeb && target instanceof HTMLElement) {\n if (context.thumbs.has(target)) {\n target.focus();\n }\n }\n if (!isWeb && isStartingOnThumb) {\n context.valueIndexToChangeRef.current = thumbIndex;\n }\n onSlideStart(event, isStartingOnThumb ? \"thumb\" : \"track\");\n },\n [context, onSlideStart, props.onResponderGrant]\n );\n const handleResponderMove = React.useCallback(\n (event) => {\n props.onResponderMove?.(event);\n event.stopPropagation();\n onSlideMove(event);\n },\n [onSlideMove, props.onResponderMove]\n );\n const handleResponderRelease = React.useCallback(\n (event) => {\n props.onResponderRelease?.(event);\n onSlideEnd(event);\n },\n [onSlideEnd, props.onResponderRelease]\n );\n return (\n // wrap with plain RN View for responder events - tamagui views no longer handle responder events on web\n /* @__PURE__ */ jsx(\n SliderFrame,\n {\n size: \"4\",\n ref: forwardedRef,\n ...sliderProps,\n \"data-orientation\": sliderProps.orientation,\n ...isWeb && {\n 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 },\n children: /* @__PURE__ */ jsx(\n View,\n {\n onMoveShouldSetResponderCapture: () => true,\n onMoveShouldSetResponder: () => true,\n onStartShouldSetResponder: () => true,\n onResponderTerminationRequest: () => false,\n onResponderGrant: handleResponderGrant,\n onResponderMove: handleResponderMove,\n onResponderRelease: handleResponderRelease,\n style: { inset: 0, position: \"absolute\" },\n children\n }\n )\n }\n )\n );\n }\n);\nexport {\n SliderFrame,\n SliderImpl\n};\n//# sourceMappingURL=SliderImpl.js.map\n"],"mappings":";;;;;;;;;;AASA,MAAM,kBAAkB,OAAO,QAAQ;CACrC,UAAU;CACV,UAAU;EACR,aAAa;GACX,YAAY,CAAC;GACb,UAAU,CAAC;EACb;EACA,MAAM,OAAO,QAAQ;CACvB;AACF,CAAC;AACD,MAAM,cAAc,gBAAgB,SAAS,UAAU;CACrD,IAAI,CAAC,MAAM,MAAM;CACjB,MAAM,OAAO,KAAK,MAAM,iBAAiB,QAAQ,MAAM,IAAI,CAAC,IAAI,CAAC;CACjE,IAAI,MAAM,gBAAgB,cAAc;EACtC,OAAO;GACL,QAAQ;GACR,cAAc;GACd,gBAAgB;EAClB;CACF;CACA,OAAO;EACL,OAAO;EACP,cAAc;EACd,YAAY;CACd;AACF,CAAC;AACD,MAAM,aAAa,oBAChB,OAAO,iBAAiB;CACvB,MAAM,EACJ,eACA,cACA,aACA,YACA,eACA,cACA,eACA,UACA,GAAG,gBACD;CACJ,MAAM,UAAU,iBAAiB,aAAa;CAC9C,MAAM,uBAAuB,MAAM,aAChC,UAAU;EACT,MAAM,mBAAmB,KAAK;EAC9B,MAAM,SAAS,MAAM;EACrB,MAAM,aAAa,QAAQ,OAAO,IAAI,MAAM;EAC5C,MAAM,oBAAoB,eAAe,KAAK;EAC9C,IAAI,SAAS,kBAAkB,aAAa;GAC1C,IAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;IAC9B,OAAO,MAAM;GACf;EACF;EACA,IAAI,CAAC,SAAS,mBAAmB;GAC/B,QAAQ,sBAAsB,UAAU;EAC1C;EACA,aAAa,OAAO,oBAAoB,UAAU,OAAO;CAC3D,GACA;EAAC;EAAS;EAAc,MAAM;CAAgB,CAChD;CACA,MAAM,sBAAsB,MAAM,aAC/B,UAAU;EACT,MAAM,kBAAkB,KAAK;EAC7B,MAAM,gBAAgB;EACtB,YAAY,KAAK;CACnB,GACA,CAAC,aAAa,MAAM,eAAe,CACrC;CACA,MAAM,yBAAyB,MAAM,aAClC,UAAU;EACT,MAAM,qBAAqB,KAAK;EAChC,WAAW,KAAK;CAClB,GACA,CAAC,YAAY,MAAM,kBAAkB,CACvC;CACA,OAEkB,oBACd,aACA;EACE,MAAM;EACN,KAAK;EACL,GAAG;EACH,oBAAoB,YAAY;EAChC,GAAG,SAAS,EACV,YAAY,UAAU;GACpB,IAAI,MAAM,QAAQ,QAAQ;IACxB,cAAc,KAAK;IACnB,MAAM,eAAe;GACvB,OAAO,IAAI,MAAM,QAAQ,OAAO;IAC9B,aAAa,KAAK;IAClB,MAAM,eAAe;GACvB,OAAO,IAAI,UAAU,OAAO,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG;IAC3D,cAAc,KAAK;IACnB,MAAM,eAAe;GACvB;EACF,EACF;EACA,UAA0B,oBACxB,MACA;GACE,uCAAuC;GACvC,gCAAgC;GAChC,iCAAiC;GACjC,qCAAqC;GACrC,kBAAkB;GAClB,iBAAiB;GACjB,oBAAoB;GACpB,OAAO;IAAE,OAAO;IAAG,UAAU;GAAW;GACxC;EACF,CACF;CACF,CACF;AAEJ,CACF"}
1
+ {"version":3,"file":"SliderImpl.js","names":[],"sources":["esm/SliderImpl.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { styled } from \"@tamagui/core\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { ARROW_KEYS, PAGE_KEYS, useSliderContext } from \"./constants\";\nimport { SliderResponder } from \"./SliderResponder\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SliderFrameBase = styled(YStack, {\n position: \"relative\",\n justifyContent: \"center\",\n alignItems: \"center\",\n variants: {\n orientation: {\n horizontal: {},\n vertical: {}\n }\n }\n});\nconst SliderFrame = SliderFrameBase;\nconst SliderImpl = createRefComponent(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n children,\n ...sliderProps\n } = props;\n const context = useSliderContext(__scopeSlider);\n const handleResponderGrant = React.useCallback(\n (event) => {\n props.onResponderGrant?.(event);\n const target = event.target;\n const thumbIndex = context.thumbs.get(target);\n const isStartingOnThumb = thumbIndex !== void 0;\n if (isWeb && target instanceof HTMLElement) {\n if (context.thumbs.has(target)) {\n target.focus();\n }\n }\n if (!isWeb && isStartingOnThumb) {\n context.valueIndexToChangeRef.current = thumbIndex;\n }\n onSlideStart(event, isStartingOnThumb ? \"thumb\" : \"track\");\n },\n [context, onSlideStart, props.onResponderGrant]\n );\n const handleResponderMove = React.useCallback(\n (event) => {\n props.onResponderMove?.(event);\n event.stopPropagation();\n onSlideMove(event);\n },\n [onSlideMove, props.onResponderMove]\n );\n const handleResponderRelease = React.useCallback(\n (event) => {\n props.onResponderRelease?.(event);\n onSlideEnd(event);\n },\n [onSlideEnd, props.onResponderRelease]\n );\n return /* @__PURE__ */ jsx(\n SliderFrame,\n {\n ref: forwardedRef,\n ...sliderProps,\n \"data-orientation\": sliderProps.orientation,\n ...isWeb && {\n 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 },\n children: /* @__PURE__ */ jsx(\n SliderResponder,\n {\n onResponderGrant: handleResponderGrant,\n onResponderMove: handleResponderMove,\n onResponderRelease: handleResponderRelease,\n children\n }\n )\n }\n );\n }\n);\nexport {\n SliderFrame,\n SliderImpl\n};\n//# sourceMappingURL=SliderImpl.js.map\n"],"mappings":";;;;;;;;;AAQA,MAAM,kBAAkB,OAAO,QAAQ;CACrC,UAAU;CACV,gBAAgB;CAChB,YAAY;CACZ,UAAU,EACR,aAAa;EACX,YAAY,CAAC;EACb,UAAU,CAAC;CACb,EACF;AACF,CAAC;AACD,MAAM,cAAc;AACpB,MAAM,aAAa,oBAChB,OAAO,iBAAiB;CACvB,MAAM,EACJ,eACA,cACA,aACA,YACA,eACA,cACA,eACA,UACA,GAAG,gBACD;CACJ,MAAM,UAAU,iBAAiB,aAAa;CAC9C,MAAM,uBAAuB,MAAM,aAChC,UAAU;EACT,MAAM,mBAAmB,KAAK;EAC9B,MAAM,SAAS,MAAM;EACrB,MAAM,aAAa,QAAQ,OAAO,IAAI,MAAM;EAC5C,MAAM,oBAAoB,eAAe,KAAK;EAC9C,IAAI,SAAS,kBAAkB,aAAa;GAC1C,IAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;IAC9B,OAAO,MAAM;GACf;EACF;EACA,IAAI,CAAC,SAAS,mBAAmB;GAC/B,QAAQ,sBAAsB,UAAU;EAC1C;EACA,aAAa,OAAO,oBAAoB,UAAU,OAAO;CAC3D,GACA;EAAC;EAAS;EAAc,MAAM;CAAgB,CAChD;CACA,MAAM,sBAAsB,MAAM,aAC/B,UAAU;EACT,MAAM,kBAAkB,KAAK;EAC7B,MAAM,gBAAgB;EACtB,YAAY,KAAK;CACnB,GACA,CAAC,aAAa,MAAM,eAAe,CACrC;CACA,MAAM,yBAAyB,MAAM,aAClC,UAAU;EACT,MAAM,qBAAqB,KAAK;EAChC,WAAW,KAAK;CAClB,GACA,CAAC,YAAY,MAAM,kBAAkB,CACvC;CACA,OAAuB,oBACrB,aACA;EACE,KAAK;EACL,GAAG;EACH,oBAAoB,YAAY;EAChC,GAAG,SAAS,EACV,YAAY,UAAU;GACpB,IAAI,MAAM,QAAQ,QAAQ;IACxB,cAAc,KAAK;IACnB,MAAM,eAAe;GACvB,OAAO,IAAI,MAAM,QAAQ,OAAO;IAC9B,aAAa,KAAK;IAClB,MAAM,eAAe;GACvB,OAAO,IAAI,UAAU,OAAO,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG;IAC3D,cAAc,KAAK;IACnB,MAAM,eAAe;GACvB;EACF,EACF;EACA,UAA0B,oBACxB,iBACA;GACE,kBAAkB;GAClB,iBAAiB;GACjB,oBAAoB;GACpB;EACF,CACF;CACF,CACF;AACF,CACF"}
@@ -1,45 +1,21 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { createRefComponent, getVariableValue, styled } from "@tamagui/core";
2
+ import { createRefComponent, styled } from "@tamagui/core";
3
3
  import { isWeb } from "@tamagui/constants";
4
- import { getSize } from "@tamagui/get-token";
5
4
  import { YStack } from "@tamagui/stacks";
6
5
  import * as React from "react";
7
- import { View } from "react-native";
8
6
  import { ARROW_KEYS, PAGE_KEYS, useSliderContext } from "./constants.native.js";
7
+ import { SliderResponder } from "./SliderResponder.native.js";
9
8
 
10
- function _instanceof(left, right) {
11
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
12
- return !!right[Symbol.hasInstance](left);
13
- } else {
14
- return left instanceof right;
15
- }
16
- }
17
9
  var SliderFrameBase = styled(YStack, {
18
10
  position: "relative",
19
- variants: {
20
- orientation: {
21
- horizontal: {},
22
- vertical: {}
23
- },
24
- size: styled.dynamic()
25
- }
26
- });
27
- var SliderFrame = SliderFrameBase.resolve(function(props) {
28
- if (!props.size) return;
29
- var size = Math.round(getVariableValue(getSize(props.size)) / 6);
30
- if (props.orientation === "horizontal") {
31
- return {
32
- height: size,
33
- borderRadius: size,
34
- justifyContent: "center"
35
- };
36
- }
37
- return {
38
- width: size,
39
- borderRadius: size,
40
- alignItems: "center"
41
- };
11
+ justifyContent: "center",
12
+ alignItems: "center",
13
+ variants: { orientation: {
14
+ horizontal: {},
15
+ vertical: {}
16
+ } }
42
17
  });
18
+ var SliderFrame = SliderFrameBase;
43
19
  var SliderImpl = createRefComponent(function(props, forwardedRef) {
44
20
  var { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;
45
21
  var context = useSliderContext(__scopeSlider);
@@ -49,7 +25,7 @@ var SliderImpl = createRefComponent(function(props, forwardedRef) {
49
25
  var target = event.target;
50
26
  var thumbIndex = context.thumbs.get(target);
51
27
  var isStartingOnThumb = thumbIndex !== void 0;
52
- if (isWeb && _instanceof(target, HTMLElement)) {
28
+ if (isWeb && target instanceof HTMLElement) {
53
29
  if (context.thumbs.has(target)) {
54
30
  target.focus();
55
31
  }
@@ -75,7 +51,6 @@ var SliderImpl = createRefComponent(function(props, forwardedRef) {
75
51
  onSlideEnd(event);
76
52
  }, [onSlideEnd, props.onResponderRelease]);
77
53
  return /* @__PURE__ */ jsx(SliderFrame, {
78
- size: "4",
79
54
  ref: forwardedRef,
80
55
  ...sliderProps,
81
56
  "data-orientation": sliderProps.orientation,
@@ -91,26 +66,10 @@ var SliderImpl = createRefComponent(function(props, forwardedRef) {
91
66
  event.preventDefault();
92
67
  }
93
68
  } },
94
- children: /* @__PURE__ */ jsx(View, {
95
- onMoveShouldSetResponderCapture: function() {
96
- return true;
97
- },
98
- onMoveShouldSetResponder: function() {
99
- return true;
100
- },
101
- onStartShouldSetResponder: function() {
102
- return true;
103
- },
104
- onResponderTerminationRequest: function() {
105
- return false;
106
- },
69
+ children: /* @__PURE__ */ jsx(SliderResponder, {
107
70
  onResponderGrant: handleResponderGrant,
108
71
  onResponderMove: handleResponderMove,
109
72
  onResponderRelease: handleResponderRelease,
110
- style: {
111
- inset: 0,
112
- position: "absolute"
113
- },
114
73
  children
115
74
  })
116
75
  });