@tamagui/slider 3.0.0-beta.924.1 → 3.0.1

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":"SliderImpl.native.js","names":[],"sources":["esm/SliderImpl.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { 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\";\nimport { ARROW_KEYS, PAGE_KEYS, useSliderContext } from \"./constants\";\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar SliderFrameBase = styled(YStack, {\n position: \"relative\",\n variants: {\n orientation: {\n horizontal: {},\n vertical: {}\n },\n size: styled.dynamic()\n }\n});\nvar SliderFrame = SliderFrameBase.resolve(function(props) {\n if (!props.size) return;\n var 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});\nvar SliderImpl = createRefComponent(function(props, forwardedRef) {\n var { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;\n var context = useSliderContext(__scopeSlider);\n var handleResponderGrant = React.useCallback(function(event) {\n var _props_onResponderGrant;\n (_props_onResponderGrant = props.onResponderGrant) === null || _props_onResponderGrant === void 0 ? void 0 : _props_onResponderGrant.call(props, event);\n var target = event.target;\n var thumbIndex = context.thumbs.get(target);\n var isStartingOnThumb = thumbIndex !== void 0;\n if (isWeb && _instanceof(target, 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,\n onSlideStart,\n props.onResponderGrant\n ]);\n var handleResponderMove = React.useCallback(function(event) {\n var _props_onResponderMove;\n (_props_onResponderMove = props.onResponderMove) === null || _props_onResponderMove === void 0 ? void 0 : _props_onResponderMove.call(props, event);\n event.stopPropagation();\n onSlideMove(event);\n }, [\n onSlideMove,\n props.onResponderMove\n ]);\n var handleResponderRelease = React.useCallback(function(event) {\n var _props_onResponderRelease;\n (_props_onResponderRelease = props.onResponderRelease) === null || _props_onResponderRelease === void 0 ? void 0 : _props_onResponderRelease.call(props, event);\n onSlideEnd(event);\n }, [\n onSlideEnd,\n 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(SliderFrame, {\n size: \"4\",\n ref: forwardedRef,\n ...sliderProps,\n \"data-orientation\": sliderProps.orientation,\n ...isWeb && {\n onKeyDown: function(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(View, {\n onMoveShouldSetResponderCapture: function() {\n return true;\n },\n onMoveShouldSetResponder: function() {\n return true;\n },\n onStartShouldSetResponder: function() {\n return true;\n },\n onResponderTerminationRequest: function() {\n return false;\n },\n onResponderGrant: handleResponderGrant,\n onResponderMove: handleResponderMove,\n onResponderRelease: handleResponderRelease,\n style: {\n inset: 0,\n position: \"absolute\"\n },\n children\n })\n })\n );\n});\nexport {\n SliderFrame,\n SliderImpl\n};\n//# sourceMappingURL=SliderImpl.js.map\n"],"mappings":";;;;;;;;;;AASA,SAAS,YAAY,MAAM,OAAO;CAChC,IAAI,SAAS,QAAQ,OAAO,WAAW,eAAe,MAAM,OAAO,cAAc;EAC/E,OAAO,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,IAAI;CACzC,OAAO;EACL,OAAO,gBAAgB;CACzB;AACF;AACA,IAAI,kBAAkB,OAAO,QAAQ;CACnC,UAAU;CACV,UAAU;EACR,aAAa;GACX,YAAY,CAAC;GACb,UAAU,CAAC;EACb;EACA,MAAM,OAAO,QAAQ;CACvB;AACF,CAAC;AACD,IAAI,cAAc,gBAAgB,QAAQ,SAAS,OAAO;CACxD,IAAI,CAAC,MAAM,MAAM;CACjB,IAAI,OAAO,KAAK,MAAM,iBAAiB,QAAQ,MAAM,IAAI,CAAC,IAAI,CAAC;CAC/D,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,IAAI,aAAa,mBAAmB,SAAS,OAAO,cAAc;CAChE,IAAI,EAAE,eAAe,cAAc,aAAa,YAAY,eAAe,cAAc,eAAe,UAAU,GAAG,gBAAgB;CACrI,IAAI,UAAU,iBAAiB,aAAa;CAC5C,IAAI,uBAAuB,MAAM,YAAY,SAAS,OAAO;EAC3D,IAAI;EACJ,CAAC,0BAA0B,MAAM,sBAAsB,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,KAAK,OAAO,KAAK;EACtJ,IAAI,SAAS,MAAM;EACnB,IAAI,aAAa,QAAQ,OAAO,IAAI,MAAM;EAC1C,IAAI,oBAAoB,eAAe,KAAK;EAC5C,IAAI,SAAS,YAAY,QAAQ,WAAW,GAAG;GAC7C,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,GAAG;EACD;EACA;EACA,MAAM;CACR,CAAC;CACD,IAAI,sBAAsB,MAAM,YAAY,SAAS,OAAO;EAC1D,IAAI;EACJ,CAAC,yBAAyB,MAAM,qBAAqB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,KAAK,OAAO,KAAK;EAClJ,MAAM,gBAAgB;EACtB,YAAY,KAAK;CACnB,GAAG,CACD,aACA,MAAM,eACR,CAAC;CACD,IAAI,yBAAyB,MAAM,YAAY,SAAS,OAAO;EAC7D,IAAI;EACJ,CAAC,4BAA4B,MAAM,wBAAwB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,KAAK,OAAO,KAAK;EAC9J,WAAW,KAAK;CAClB,GAAG,CACD,YACA,MAAM,kBACR,CAAC;CACD,OAEkB,oBAAK,aAAa;EAChC,MAAM;EACN,KAAK;EACL,GAAG;EACH,oBAAoB,YAAY;EAChC,GAAG,SAAS,EACV,WAAW,SAAS,OAAO;GACzB,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,oBAAK,MAAM;GACnC,iCAAiC,WAAW;IAC1C,OAAO;GACT;GACA,0BAA0B,WAAW;IACnC,OAAO;GACT;GACA,2BAA2B,WAAW;IACpC,OAAO;GACT;GACA,+BAA+B,WAAW;IACxC,OAAO;GACT;GACA,kBAAkB;GAClB,iBAAiB;GACjB,oBAAoB;GACpB,OAAO;IACL,OAAO;IACP,UAAU;GACZ;GACA;EACF,CAAC;CACH,CAAC;AAEL,CAAC"}
1
+ {"version":3,"file":"SliderImpl.native.js","names":[],"sources":["esm/SliderImpl.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { 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\";\nvar SliderFrameBase = styled(YStack, {\n position: \"relative\",\n justifyContent: \"center\",\n alignItems: \"center\",\n variants: {\n orientation: {\n horizontal: {},\n vertical: {}\n }\n }\n});\nvar SliderFrame = SliderFrameBase;\nvar SliderImpl = createRefComponent(function(props, forwardedRef) {\n var { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;\n var context = useSliderContext(__scopeSlider);\n var handleResponderGrant = React.useCallback(function(event) {\n var _props_onResponderGrant;\n (_props_onResponderGrant = props.onResponderGrant) === null || _props_onResponderGrant === void 0 ? void 0 : _props_onResponderGrant.call(props, event);\n var target = event.target;\n var thumbIndex = context.thumbs.get(target);\n var 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,\n onSlideStart,\n props.onResponderGrant\n ]);\n var handleResponderMove = React.useCallback(function(event) {\n var _props_onResponderMove;\n (_props_onResponderMove = props.onResponderMove) === null || _props_onResponderMove === void 0 ? void 0 : _props_onResponderMove.call(props, event);\n event.stopPropagation();\n onSlideMove(event);\n }, [\n onSlideMove,\n props.onResponderMove\n ]);\n var handleResponderRelease = React.useCallback(function(event) {\n var _props_onResponderRelease;\n (_props_onResponderRelease = props.onResponderRelease) === null || _props_onResponderRelease === void 0 ? void 0 : _props_onResponderRelease.call(props, event);\n onSlideEnd(event);\n }, [\n onSlideEnd,\n props.onResponderRelease\n ]);\n return /* @__PURE__ */ _jsx(SliderFrame, {\n ref: forwardedRef,\n ...sliderProps,\n \"data-orientation\": sliderProps.orientation,\n ...isWeb && {\n onKeyDown: function(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(SliderResponder, {\n onResponderGrant: handleResponderGrant,\n onResponderMove: handleResponderMove,\n onResponderRelease: handleResponderRelease,\n children\n })\n });\n});\nexport {\n SliderFrame,\n SliderImpl\n};\n//# sourceMappingURL=SliderImpl.js.map\n"],"mappings":";;;;;;;;;AAQA,IAAI,kBAAkB,OAAO,QAAQ;CACnC,UAAU;CACV,gBAAgB;CAChB,YAAY;CACZ,UAAU,EACR,aAAa;EACX,YAAY,CAAC;EACb,UAAU,CAAC;CACb,EACF;AACF,CAAC;AACD,IAAI,cAAc;AAClB,IAAI,aAAa,mBAAmB,SAAS,OAAO,cAAc;CAChE,IAAI,EAAE,eAAe,cAAc,aAAa,YAAY,eAAe,cAAc,eAAe,UAAU,GAAG,gBAAgB;CACrI,IAAI,UAAU,iBAAiB,aAAa;CAC5C,IAAI,uBAAuB,MAAM,YAAY,SAAS,OAAO;EAC3D,IAAI;EACJ,CAAC,0BAA0B,MAAM,sBAAsB,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,KAAK,OAAO,KAAK;EACtJ,IAAI,SAAS,MAAM;EACnB,IAAI,aAAa,QAAQ,OAAO,IAAI,MAAM;EAC1C,IAAI,oBAAoB,eAAe,KAAK;EAC5C,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,GAAG;EACD;EACA;EACA,MAAM;CACR,CAAC;CACD,IAAI,sBAAsB,MAAM,YAAY,SAAS,OAAO;EAC1D,IAAI;EACJ,CAAC,yBAAyB,MAAM,qBAAqB,QAAQ,2BAA2B,KAAK,IAAI,KAAK,IAAI,uBAAuB,KAAK,OAAO,KAAK;EAClJ,MAAM,gBAAgB;EACtB,YAAY,KAAK;CACnB,GAAG,CACD,aACA,MAAM,eACR,CAAC;CACD,IAAI,yBAAyB,MAAM,YAAY,SAAS,OAAO;EAC7D,IAAI;EACJ,CAAC,4BAA4B,MAAM,wBAAwB,QAAQ,8BAA8B,KAAK,IAAI,KAAK,IAAI,0BAA0B,KAAK,OAAO,KAAK;EAC9J,WAAW,KAAK;CAClB,GAAG,CACD,YACA,MAAM,kBACR,CAAC;CACD,OAAuB,oBAAK,aAAa;EACvC,KAAK;EACL,GAAG;EACH,oBAAoB,YAAY;EAChC,GAAG,SAAS,EACV,WAAW,SAAS,OAAO;GACzB,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,oBAAK,iBAAiB;GAC9C,kBAAkB;GAClB,iBAAiB;GACjB,oBAAoB;GACpB;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { View } from "@tamagui/core";
2
+ import { useResponderEvents } from "@tamagui/react-native-use-responder-events";
3
+ import * as React from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ const SliderResponder = ({ onResponderGrant, onResponderMove, onResponderRelease, children }) => {
7
+ const ref = React.useRef(null);
8
+ useResponderEvents(ref, {
9
+ onMoveShouldSetResponderCapture: () => true,
10
+ onMoveShouldSetResponder: () => true,
11
+ onStartShouldSetResponder: () => true,
12
+ onResponderTerminationRequest: () => false,
13
+ onResponderGrant,
14
+ onResponderMove,
15
+ onResponderRelease
16
+ });
17
+ return /* @__PURE__ */ jsx(View, {
18
+ ref,
19
+ position: "absolute",
20
+ inset: 0,
21
+ justifyContent: "center",
22
+ alignItems: "center",
23
+ children
24
+ });
25
+ };
26
+
27
+ export { SliderResponder };
28
+ //# sourceMappingURL=SliderResponder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderResponder.js","names":[],"sources":["esm/SliderResponder.js"],"sourcesContent":["import { View } from \"@tamagui/core\";\nimport { useResponderEvents } from \"@tamagui/react-native-use-responder-events\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SliderResponder = ({\n onResponderGrant,\n onResponderMove,\n onResponderRelease,\n children\n}) => {\n const ref = React.useRef(null);\n useResponderEvents(ref, {\n onMoveShouldSetResponderCapture: () => true,\n onMoveShouldSetResponder: () => true,\n onStartShouldSetResponder: () => true,\n onResponderTerminationRequest: () => false,\n onResponderGrant,\n onResponderMove,\n onResponderRelease\n });\n return /* @__PURE__ */ jsx(\n View,\n {\n ref,\n position: \"absolute\",\n inset: 0,\n justifyContent: \"center\",\n alignItems: \"center\",\n children\n }\n );\n};\nexport {\n SliderResponder\n};\n//# sourceMappingURL=SliderResponder.js.map\n"],"mappings":";;;;;;AAIA,MAAM,mBAAmB,EACvB,kBACA,iBACA,oBACA,eACI;CACJ,MAAM,MAAM,MAAM,OAAO,IAAI;CAC7B,mBAAmB,KAAK;EACtB,uCAAuC;EACvC,gCAAgC;EAChC,iCAAiC;EACjC,qCAAqC;EACrC;EACA;EACA;CACF,CAAC;CACD,OAAuB,oBACrB,MACA;EACE;EACA,UAAU;EACV,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ;CACF,CACF;AACF"}
@@ -0,0 +1,33 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { View } from "react-native";
3
+
4
+ var SliderResponder = function(param) {
5
+ var { onResponderGrant, onResponderMove, onResponderRelease, children } = param;
6
+ return /* @__PURE__ */ jsx(View, {
7
+ onMoveShouldSetResponderCapture: function() {
8
+ return true;
9
+ },
10
+ onMoveShouldSetResponder: function() {
11
+ return true;
12
+ },
13
+ onStartShouldSetResponder: function() {
14
+ return true;
15
+ },
16
+ onResponderTerminationRequest: function() {
17
+ return false;
18
+ },
19
+ onResponderGrant,
20
+ onResponderMove,
21
+ onResponderRelease,
22
+ style: {
23
+ inset: 0,
24
+ position: "absolute",
25
+ justifyContent: "center",
26
+ alignItems: "center"
27
+ },
28
+ children
29
+ });
30
+ };
31
+
32
+ export { SliderResponder };
33
+ //# sourceMappingURL=SliderResponder.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderResponder.native.js","names":[],"sources":["esm/SliderResponder.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { View } from \"react-native\";\nvar SliderResponder = function(param) {\n var { onResponderGrant, onResponderMove, onResponderRelease, children } = param;\n return /* @__PURE__ */ _jsx(View, {\n onMoveShouldSetResponderCapture: function() {\n return true;\n },\n onMoveShouldSetResponder: function() {\n return true;\n },\n onStartShouldSetResponder: function() {\n return true;\n },\n onResponderTerminationRequest: function() {\n return false;\n },\n onResponderGrant,\n onResponderMove,\n onResponderRelease,\n style: {\n inset: 0,\n position: \"absolute\",\n justifyContent: \"center\",\n alignItems: \"center\"\n },\n children\n });\n};\nexport {\n SliderResponder\n};\n//# sourceMappingURL=SliderResponder.native.js.map\n"],"mappings":";;;;AAEA,IAAI,kBAAkB,SAAS,OAAO;CACpC,IAAI,EAAE,kBAAkB,iBAAiB,oBAAoB,aAAa;CAC1E,OAAuB,oBAAK,MAAM;EAChC,iCAAiC,WAAW;GAC1C,OAAO;EACT;EACA,0BAA0B,WAAW;GACnC,OAAO;EACT;EACA,2BAA2B,WAAW;GACpC,OAAO;EACT;EACA,+BAA+B,WAAW;GACxC,OAAO;EACT;EACA;EACA;EACA;EACA,OAAO;GACL,OAAO;GACP,UAAU;GACV,gBAAgB;GAChB,YAAY;EACd;EACA;CACF,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
1
  import { composeRefs, useComposedRefs } from "@tamagui/compose-refs";
2
2
  import { isIos, isWeb } from "@tamagui/constants";
3
- import { createRefComponent, createStyledHOC, getTokens, getVariableValue, resolveSizeToken, styled, useConfiguration, useCreateShallowSetState } from "@tamagui/core";
3
+ import { createRefComponent, createStyledHOC, getConfig, getVariableValue, resolveTextMetrics, styled, useConfiguration, useCreateShallowSetState } from "@tamagui/core";
4
4
  import { clamp, composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
5
5
  import { YStack } from "@tamagui/stacks";
6
6
  import { useControllableState } from "@tamagui/use-controllable-state";
@@ -30,6 +30,11 @@ function removeActiveSliderMeasureListener(listener) {
30
30
  activeSliderMeasureInterval = void 0;
31
31
  }
32
32
  }
33
+ const getTrackPosition = (event, offset, orientation) => {
34
+ const { locationX, locationY, pageX, pageY } = event.nativeEvent;
35
+ if (isWeb) return orientation === "horizontal" ? locationX : locationY;
36
+ return (orientation === "horizontal" ? pageX : pageY) - offset;
37
+ };
33
38
  const SliderHorizontal = createRefComponent((props, forwardedRef) => {
34
39
  const { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;
35
40
  const direction = useDirection(dir);
@@ -70,11 +75,11 @@ const SliderHorizontal = createRefComponent((props, forwardedRef) => {
70
75
  if (value) onSlideStart?.(value, target, event);
71
76
  },
72
77
  onSlideMove: (event) => {
73
- const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
78
+ const value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
74
79
  if (value) onSlideMove?.(value, event);
75
80
  },
76
81
  onSlideEnd: (event) => {
77
- const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
82
+ const value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
78
83
  if (value) onSlideEnd?.(event, value);
79
84
  },
80
85
  onStepKeyDown: (event) => {
@@ -175,11 +180,11 @@ const SliderVertical = createRefComponent((props, forwardedRef) => {
175
180
  if (value) onSlideStart?.(value, target, event);
176
181
  },
177
182
  onSlideMove: (event) => {
178
- const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
183
+ const value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
179
184
  if (value) onSlideMove?.(value, event);
180
185
  },
181
186
  onSlideEnd: (event) => {
182
- const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
187
+ const value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
183
188
  onSlideEnd?.(event, value);
184
189
  },
185
190
  onStepKeyDown: (event) => {
@@ -206,7 +211,6 @@ const SliderTrack = createStyledHOC(SliderTrackFrame, function SliderTrack2(prop
206
211
  "data-disabled": context.disabled ? "" : void 0,
207
212
  "data-orientation": context.orientation,
208
213
  orientation: context.orientation,
209
- size: context.size ?? void 0,
210
214
  ...trackProps,
211
215
  ref: forwardedRef
212
216
  });
@@ -229,13 +233,6 @@ const SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(p
229
233
  orientation: context.orientation,
230
234
  "data-orientation": context.orientation,
231
235
  "data-disabled": context.disabled ? "" : void 0,
232
- size: context.size ?? void 0,
233
- animateOnly: [
234
- "left",
235
- "top",
236
- "right",
237
- "bottom"
238
- ],
239
236
  ...rangeProps,
240
237
  ref: composedRefs,
241
238
  [orientation.startEdge]: `${offsetStart}%`,
@@ -246,23 +243,25 @@ const SliderActive = createStyledHOC(SliderActiveFrame, function SliderActive2(p
246
243
  }
247
244
  });
248
245
  });
249
- const getThumbSize = styled.dynamic((val) => {
250
- const tokens = getTokens();
251
- const sizeToken = resolveSizeToken(val ?? true, "size");
252
- const resolved = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
253
- const size = typeof val === "number" ? val : getVariableValue(resolved) * .86;
254
- return {
255
- width: size,
256
- height: size,
257
- minWidth: size,
258
- minHeight: size
259
- };
260
- });
246
+ const thumbSize = (val) => {
247
+ if (typeof val === "number") return val;
248
+ if (typeof val === "string") {
249
+ const conf = getConfig();
250
+ const font = conf.fontsParsed[conf.defaultFontToken];
251
+ const fontSize = font?.size[val];
252
+ if (fontSize != null) {
253
+ const metrics = { fontSize: Number.parseFloat(String(getVariableValue(fontSize))) };
254
+ const lineHeight = font?.lineHeight?.[val];
255
+ resolveTextMetrics(metrics, typeof lineHeight === "number" ? `${lineHeight}px` : lineHeight);
256
+ return metrics.lineHeight ?? metrics.fontSize;
257
+ }
258
+ }
259
+ return 20;
260
+ };
261
261
  const SliderThumbFrame = styled(YStack, {
262
262
  displayName: "SliderThumb",
263
263
  position: "absolute",
264
264
  variants: {
265
- size: getThumbSize,
266
265
  circular: { true: {
267
266
  borderRadius: 1e5,
268
267
  padding: 0
@@ -287,9 +286,7 @@ const SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(prop
287
286
  const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);
288
287
  const label = getLabel(index, context.values.length);
289
288
  const sizeIn = sizeProp ?? context.size ?? true;
290
- const [size, setSize] = React.useState(() => {
291
- return getVariableValue(getThumbSize(sizeIn, {})?.width);
292
- });
289
+ const [size, setSize] = React.useState(() => thumbSize(sizeIn));
293
290
  const thumbInBoundsOffset = size ? getThumbInBoundsOffset(size, percent, orientation.direction) : 0;
294
291
  React.useEffect(() => {
295
292
  if (thumb) {
@@ -331,16 +328,8 @@ const SliderThumb = createStyledHOC(SliderThumbFrame, function SliderThumb2(prop
331
328
  "data-orientation": context.orientation,
332
329
  "data-disabled": context.disabled ? "" : void 0,
333
330
  tabIndex: context.disabled ? void 0 : 0,
334
- animateOnly: [
335
- "transform",
336
- "left",
337
- "top",
338
- "right",
339
- "bottom"
340
- ],
341
331
  ...positionalStyles,
342
332
  [orientation.startEdge]: `${percent}%`,
343
- size: sizeIn,
344
333
  circular,
345
334
  ...thumbProps,
346
335
  onLayout: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":[],"sources":["jsx/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":["jsx/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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"}
@@ -52,6 +52,11 @@ var React = __toESM(require("react"), 1);
52
52
  var import_constants2 = require("./constants.native.js");
53
53
  var import_helpers2 = require("./helpers.native.js");
54
54
  var import_SliderImpl = require("./SliderImpl.native.js");
55
+ var getTrackPosition = function(event, offset, orientation) {
56
+ var { locationX, locationY, pageX, pageY } = event.nativeEvent;
57
+ if (import_constants.isWeb) return orientation === "horizontal" ? locationX : locationY;
58
+ return (orientation === "horizontal" ? pageX : pageY) - offset;
59
+ };
55
60
  var SliderHorizontal = (0, import_core.createRefComponent)(function(props, forwardedRef) {
56
61
  var { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, onSlideEnd, ...sliderProps } = props;
57
62
  var direction = (0, import_use_direction.useDirection)(dir);
@@ -96,11 +101,11 @@ var SliderHorizontal = (0, import_core.createRefComponent)(function(props, forwa
96
101
  if (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);
97
102
  },
98
103
  onSlideMove: function(event) {
99
- var value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
104
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
100
105
  if (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);
101
106
  },
102
107
  onSlideEnd: function(event) {
103
- var value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
108
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "horizontal"));
104
109
  if (value) onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);
105
110
  },
106
111
  onStepKeyDown: function(event) {
@@ -159,11 +164,11 @@ var SliderVertical = (0, import_core.createRefComponent)(function(props, forward
159
164
  if (value) onSlideStart === null || onSlideStart === void 0 || onSlideStart(value, target, event);
160
165
  },
161
166
  onSlideMove: function(event) {
162
- var value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
167
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
163
168
  if (value) onSlideMove === null || onSlideMove === void 0 || onSlideMove(value, event);
164
169
  },
165
170
  onSlideEnd: function(event) {
166
- var value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
171
+ var value = getValueFromPointer(getTrackPosition(event, state.offset, "vertical"));
167
172
  onSlideEnd === null || onSlideEnd === void 0 || onSlideEnd(event, value);
168
173
  },
169
174
  onStepKeyDown: function(event) {
@@ -186,12 +191,10 @@ var SliderTrackFrame = (0, import_core.styled)(import_SliderImpl.SliderFrame, {
186
191
  var SliderTrack = (0, import_core.createStyledHOC)(SliderTrackFrame, function SliderTrack2(props, forwardedRef) {
187
192
  var { __scopeSlider, ...trackProps } = props;
188
193
  var context = (0, import_constants2.useSliderContext)(__scopeSlider);
189
- var _context_size;
190
194
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderTrackFrame, {
191
195
  "data-disabled": context.disabled ? "" : void 0,
192
196
  "data-orientation": context.orientation,
193
197
  orientation: context.orientation,
194
- size: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,
195
198
  ...trackProps,
196
199
  ref: forwardedRef
197
200
  });
@@ -213,18 +216,10 @@ var SliderActive = (0, import_core.createStyledHOC)(SliderActiveFrame, function
213
216
  });
214
217
  var offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;
215
218
  var offsetEnd = 100 - Math.max(...percentages);
216
- var _context_size;
217
219
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderActiveFrame, {
218
220
  orientation: context.orientation,
219
221
  "data-orientation": context.orientation,
220
222
  "data-disabled": context.disabled ? "" : void 0,
221
- size: (_context_size = context.size) !== null && _context_size !== void 0 ? _context_size : void 0,
222
- animateOnly: [
223
- "left",
224
- "top",
225
- "right",
226
- "bottom"
227
- ],
228
223
  ...rangeProps,
229
224
  ref: composedRefs,
230
225
  [orientation.startEdge]: `${offsetStart}%`,
@@ -235,23 +230,27 @@ var SliderActive = (0, import_core.createStyledHOC)(SliderActiveFrame, function
235
230
  }
236
231
  });
237
232
  });
238
- var getThumbSize = import_core.styled.dynamic(function(val) {
239
- var tokens = (0, import_core.getTokens)();
240
- var sizeToken = (0, import_core.resolveSizeToken)(val !== null && val !== void 0 ? val : true, "size");
241
- var resolved = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
242
- var size = typeof val === "number" ? val : (0, import_core.getVariableValue)(resolved) * .86;
243
- return {
244
- width: size,
245
- height: size,
246
- minWidth: size,
247
- minHeight: size
248
- };
249
- });
233
+ var thumbSize = function(val) {
234
+ if (typeof val === "number") return val;
235
+ if (typeof val === "string") {
236
+ var conf = (0, import_core.getConfig)();
237
+ var font = conf.fontsParsed[conf.defaultFontToken];
238
+ var fontSize = font === null || font === void 0 ? void 0 : font.size[val];
239
+ if (fontSize != null) {
240
+ var _font_lineHeight;
241
+ var metrics = { fontSize: Number.parseFloat(String((0, import_core.getVariableValue)(fontSize))) };
242
+ var lineHeight = font === null || font === void 0 ? void 0 : (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[val];
243
+ (0, import_core.resolveTextMetrics)(metrics, typeof lineHeight === "number" ? `${lineHeight}px` : lineHeight);
244
+ var _metrics_lineHeight;
245
+ return (_metrics_lineHeight = metrics.lineHeight) !== null && _metrics_lineHeight !== void 0 ? _metrics_lineHeight : metrics.fontSize;
246
+ }
247
+ }
248
+ return 20;
249
+ };
250
250
  var SliderThumbFrame = (0, import_core.styled)(import_stacks.YStack, {
251
251
  displayName: "SliderThumb",
252
252
  position: "absolute",
253
253
  variants: {
254
- size: getThumbSize,
255
254
  circular: { true: {
256
255
  borderRadius: 1e5,
257
256
  padding: 0
@@ -278,8 +277,7 @@ var SliderThumb = (0, import_core.createStyledHOC)(SliderThumbFrame, function Sl
278
277
  var _ref;
279
278
  var sizeIn = (_ref = sizeProp !== null && sizeProp !== void 0 ? sizeProp : context.size) !== null && _ref !== void 0 ? _ref : true;
280
279
  var [size, setSize] = React.useState(function() {
281
- var _getThumbSize;
282
- return (0, import_core.getVariableValue)((_getThumbSize = getThumbSize(sizeIn, {})) === null || _getThumbSize === void 0 ? void 0 : _getThumbSize.width);
280
+ return thumbSize(sizeIn);
283
281
  });
284
282
  var thumbInBoundsOffset = size ? (0, import_helpers2.getThumbInBoundsOffset)(size, percent, orientation.direction) : 0;
285
283
  React.useEffect(function() {
@@ -322,16 +320,8 @@ var SliderThumb = (0, import_core.createStyledHOC)(SliderThumbFrame, function Sl
322
320
  "data-orientation": context.orientation,
323
321
  "data-disabled": context.disabled ? "" : void 0,
324
322
  tabIndex: context.disabled ? void 0 : 0,
325
- animateOnly: [
326
- "transform",
327
- "left",
328
- "top",
329
- "right",
330
- "bottom"
331
- ],
332
323
  ...positionalStyles,
333
324
  [orientation.startEdge]: `${percent}%`,
334
- size: sizeIn,
335
325
  circular,
336
326
  ...thumbProps,
337
327
  onLayout: function(e) {