@tamagui/slider 1.1.7 → 1.1.9

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.
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -77,51 +81,54 @@ const SliderImpl = React.forwardRef(
77
81
  ...sliderProps
78
82
  } = props;
79
83
  const context = (0, import_constants.useSliderContext)(import_constants.SLIDER_NAME, __scopeSlider);
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderFrame, {
81
- size: "$4",
82
- ...sliderProps,
83
- "data-orientation": sliderProps.orientation,
84
- ref: forwardedRef,
85
- ...import_core.isWeb && {
86
- onKeyDown: (event) => {
87
- if (event.key === "Home") {
88
- onHomeKeyDown(event);
89
- event.preventDefault();
90
- } else if (event.key === "End") {
91
- onEndKeyDown(event);
92
- event.preventDefault();
93
- } else if (import_constants.PAGE_KEYS.concat(import_constants.ARROW_KEYS).includes(event.key)) {
94
- onStepKeyDown(event);
95
- event.preventDefault();
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
85
+ SliderFrame,
86
+ {
87
+ size: "$4",
88
+ ...sliderProps,
89
+ "data-orientation": sliderProps.orientation,
90
+ ref: forwardedRef,
91
+ ...import_core.isWeb && {
92
+ onKeyDown: (event) => {
93
+ if (event.key === "Home") {
94
+ onHomeKeyDown(event);
95
+ event.preventDefault();
96
+ } else if (event.key === "End") {
97
+ onEndKeyDown(event);
98
+ event.preventDefault();
99
+ } else if (import_constants.PAGE_KEYS.concat(import_constants.ARROW_KEYS).includes(event.key)) {
100
+ onStepKeyDown(event);
101
+ event.preventDefault();
102
+ }
96
103
  }
97
- }
98
- },
99
- onMoveShouldSetResponderCapture: () => true,
100
- onScrollShouldSetResponder: () => true,
101
- onScrollShouldSetResponderCapture: () => true,
102
- onMoveShouldSetResponder: () => true,
103
- onStartShouldSetResponder: () => true,
104
- onResponderTerminationRequest: () => {
105
- return false;
106
- },
107
- onResponderGrant: (0, import_core.composeEventHandlers)(props.onResponderGrant, (event) => {
108
- const target = event.target;
109
- const isStartingOnThumb = context.thumbs.has(target);
110
- if (import_core.isWeb && target instanceof HTMLElement) {
111
- if (context.thumbs.has(target)) {
112
- target.focus();
104
+ },
105
+ onMoveShouldSetResponderCapture: () => true,
106
+ onScrollShouldSetResponder: () => true,
107
+ onScrollShouldSetResponderCapture: () => true,
108
+ onMoveShouldSetResponder: () => true,
109
+ onStartShouldSetResponder: () => true,
110
+ onResponderTerminationRequest: () => {
111
+ return false;
112
+ },
113
+ onResponderGrant: (0, import_core.composeEventHandlers)(props.onResponderGrant, (event) => {
114
+ const target = event.target;
115
+ const isStartingOnThumb = context.thumbs.has(target);
116
+ if (import_core.isWeb && target instanceof HTMLElement) {
117
+ if (context.thumbs.has(target)) {
118
+ target.focus();
119
+ }
113
120
  }
114
- }
115
- onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
116
- }),
117
- onResponderMove: (0, import_core.composeEventHandlers)(props.onResponderMove, (event) => {
118
- event.stopPropagation();
119
- onSlideMove(event);
120
- }),
121
- onResponderRelease: (0, import_core.composeEventHandlers)(props.onResponderRelease, (event) => {
122
- onSlideEnd(event);
123
- })
124
- });
121
+ onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
122
+ }),
123
+ onResponderMove: (0, import_core.composeEventHandlers)(props.onResponderMove, (event) => {
124
+ event.stopPropagation();
125
+ onSlideMove(event);
126
+ }),
127
+ onResponderRelease: (0, import_core.composeEventHandlers)(props.onResponderRelease, (event) => {
128
+ onSlideEnd(event);
129
+ })
130
+ }
131
+ );
125
132
  }
126
133
  );
127
134
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SliderImpl.tsx"],
4
4
  "sourcesContent": ["/* -------------------------------------------------------------------------------------------------\n * SliderImpl\n * -----------------------------------------------------------------------------------------------*/\n\nimport { composeEventHandlers, getVariableValue, isWeb, styled } from '@tamagui/core'\nimport { getSize } from '@tamagui/get-size'\nimport { YStack } from '@tamagui/stacks'\nimport * as React from 'react'\nimport { View } from 'react-native'\n\nimport { ARROW_KEYS, PAGE_KEYS, SLIDER_NAME, useSliderContext } from './constants'\nimport { ScopedProps, SliderImplProps } from './types'\n\nexport const DirectionalYStack = styled(YStack, {\n variants: {\n orientation: {\n horizontal: {},\n vertical: {},\n },\n } as const,\n})\n\nexport const SliderFrame = styled(DirectionalYStack, {\n position: 'relative',\n\n variants: {\n size: (val, extras) => {\n const orientation = extras.props.orientation\n const size = Math.round(getVariableValue(getSize(val)) / 6)\n if (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 },\n } as const,\n})\n\nexport const SliderImpl = React.forwardRef<View, SliderImplProps>(\n (props: ScopedProps<SliderImplProps>, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props\n const context = useSliderContext(SLIDER_NAME, __scopeSlider)\n return (\n <SliderFrame\n size=\"$4\"\n {...sliderProps}\n data-orientation={sliderProps.orientation}\n ref={forwardedRef}\n {...(isWeb && {\n onKeyDown: (event) => {\n if (event.key === 'Home') {\n onHomeKeyDown(event)\n // Prevent scrolling to page start\n event.preventDefault()\n } else if (event.key === 'End') {\n onEndKeyDown(event)\n // Prevent scrolling to page end\n event.preventDefault()\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event)\n // Prevent scrolling for directional key presses\n event.preventDefault()\n }\n },\n })}\n onMoveShouldSetResponderCapture={() => true}\n onScrollShouldSetResponder={() => true}\n onScrollShouldSetResponderCapture={() => true}\n onMoveShouldSetResponder={() => true}\n onStartShouldSetResponder={() => true}\n // onStartShouldSetResponderCapture={() => true}\n onResponderTerminationRequest={() => {\n return false\n }}\n onResponderGrant={composeEventHandlers(props.onResponderGrant, (event) => {\n const target = event.target as unknown as HTMLElement | number\n const isStartingOnThumb = context.thumbs.has(target)\n // // Prevent browser focus behaviour because we focus a thumb manually when values change.\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (isWeb && target instanceof HTMLElement) {\n if (context.thumbs.has(target)) {\n target.focus()\n }\n }\n onSlideStart(event, isStartingOnThumb ? 'thumb' : 'track')\n })}\n onResponderMove={composeEventHandlers(props.onResponderMove, (event) => {\n event.stopPropagation()\n // const target = event.target as HTMLElement\n onSlideMove(event)\n })}\n onResponderRelease={composeEventHandlers(props.onResponderRelease, (event) => {\n // const target = event.target as HTMLElement\n onSlideEnd(event)\n })}\n />\n )\n }\n)\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2DM;AAvDN,kBAAsE;AACtE,sBAAwB;AACxB,oBAAuB;AACvB,YAAuB;AAGvB,uBAAqE;AAG9D,MAAM,wBAAoB,oBAAO,sBAAQ;AAAA,EAC9C,UAAU;AAAA,IACR,aAAa;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAEM,MAAM,kBAAc,oBAAO,mBAAmB;AAAA,EACnD,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM,CAAC,KAAK,WAAW;AACrB,YAAM,cAAc,OAAO,MAAM;AACjC,YAAM,OAAO,KAAK,UAAM,kCAAiB,yBAAQ,GAAG,CAAC,IAAI,CAAC;AAC1D,UAAI,gBAAgB,cAAc;AAChC,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO;AAAA,QACP,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,MAAM;AAAA,EAC9B,CAAC,OAAqC,iBAAiB;AACrD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,SACG;AAAA,IACL,IAAI;AACJ,UAAM,cAAU,mCAAiB,8BAAa,aAAa;AAC3D,WACE,4CAAC;AAAA,MACC,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,oBAAkB,YAAY;AAAA,MAC9B,KAAK;AAAA,MACJ,GAAI,qBAAS;AAAA,QACZ,WAAW,CAAC,UAAU;AACpB,cAAI,MAAM,QAAQ,QAAQ;AACxB,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB,WAAW,MAAM,QAAQ,OAAO;AAC9B,yBAAa,KAAK;AAElB,kBAAM,eAAe;AAAA,UACvB,WAAW,2BAAU,OAAO,2BAAU,EAAE,SAAS,MAAM,GAAG,GAAG;AAC3D,0BAAc,KAAK;AAEnB,kBAAM,eAAe;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAAA,MACA,iCAAiC,MAAM;AAAA,MACvC,4BAA4B,MAAM;AAAA,MAClC,mCAAmC,MAAM;AAAA,MACzC,0BAA0B,MAAM;AAAA,MAChC,2BAA2B,MAAM;AAAA,MAEjC,+BAA+B,MAAM;AACnC,eAAO;AAAA,MACT;AAAA,MACA,sBAAkB,kCAAqB,MAAM,kBAAkB,CAAC,UAAU;AACxE,cAAM,SAAS,MAAM;AACrB,cAAM,oBAAoB,QAAQ,OAAO,IAAI,MAAM;AAInD,YAAI,qBAAS,kBAAkB,aAAa;AAC1C,cAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;AAC9B,mBAAO,MAAM;AAAA,UACf;AAAA,QACF;AACA,qBAAa,OAAO,oBAAoB,UAAU,OAAO;AAAA,MAC3D,CAAC;AAAA,MACD,qBAAiB,kCAAqB,MAAM,iBAAiB,CAAC,UAAU;AACtE,cAAM,gBAAgB;AAEtB,oBAAY,KAAK;AAAA,MACnB,CAAC;AAAA,MACD,wBAAoB,kCAAqB,MAAM,oBAAoB,CAAC,UAAU;AAE5E,mBAAW,KAAK;AAAA,MAClB,CAAC;AAAA,KACH;AAAA,EAEJ;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2DM;AAvDN,kBAAsE;AACtE,sBAAwB;AACxB,oBAAuB;AACvB,YAAuB;AAGvB,uBAAqE;AAG9D,MAAM,wBAAoB,oBAAO,sBAAQ;AAAA,EAC9C,UAAU;AAAA,IACR,aAAa;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AACF,CAAC;AAEM,MAAM,kBAAc,oBAAO,mBAAmB;AAAA,EACnD,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM,CAAC,KAAK,WAAW;AACrB,YAAM,cAAc,OAAO,MAAM;AACjC,YAAM,OAAO,KAAK,UAAM,kCAAiB,yBAAQ,GAAG,CAAC,IAAI,CAAC;AAC1D,UAAI,gBAAgB,cAAc;AAChC,eAAO;AAAA,UACL,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO;AAAA,QACP,cAAc;AAAA,QACd,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,MAAM;AAAA,EAC9B,CAAC,OAAqC,iBAAiB;AACrD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI;AACJ,UAAM,cAAU,mCAAiB,8BAAa,aAAa;AAC3D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,oBAAkB,YAAY;AAAA,QAC9B,KAAK;AAAA,QACJ,GAAI,qBAAS;AAAA,UACZ,WAAW,CAAC,UAAU;AACpB,gBAAI,MAAM,QAAQ,QAAQ;AACxB,4BAAc,KAAK;AAEnB,oBAAM,eAAe;AAAA,YACvB,WAAW,MAAM,QAAQ,OAAO;AAC9B,2BAAa,KAAK;AAElB,oBAAM,eAAe;AAAA,YACvB,WAAW,2BAAU,OAAO,2BAAU,EAAE,SAAS,MAAM,GAAG,GAAG;AAC3D,4BAAc,KAAK;AAEnB,oBAAM,eAAe;AAAA,YACvB;AAAA,UACF;AAAA,QACF;AAAA,QACA,iCAAiC,MAAM;AAAA,QACvC,4BAA4B,MAAM;AAAA,QAClC,mCAAmC,MAAM;AAAA,QACzC,0BAA0B,MAAM;AAAA,QAChC,2BAA2B,MAAM;AAAA,QAEjC,+BAA+B,MAAM;AACnC,iBAAO;AAAA,QACT;AAAA,QACA,sBAAkB,kCAAqB,MAAM,kBAAkB,CAAC,UAAU;AACxE,gBAAM,SAAS,MAAM;AACrB,gBAAM,oBAAoB,QAAQ,OAAO,IAAI,MAAM;AAInD,cAAI,qBAAS,kBAAkB,aAAa;AAC1C,gBAAI,QAAQ,OAAO,IAAI,MAAM,GAAG;AAC9B,qBAAO,MAAM;AAAA,YACf;AAAA,UACF;AACA,uBAAa,OAAO,oBAAoB,UAAU,OAAO;AAAA,QAC3D,CAAC;AAAA,QACD,qBAAiB,kCAAqB,MAAM,iBAAiB,CAAC,UAAU;AACtE,gBAAM,gBAAgB;AAEtB,sBAAY,KAAK;AAAA,QACnB,CAAC;AAAA,QACD,wBAAoB,kCAAqB,MAAM,oBAAoB,CAAC,UAAU;AAE5E,qBAAW,KAAK;AAAA,QAClB,CAAC;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers.tsx"],
4
4
  "sourcesContent": ["export function getNextSortedValues(\n prevValues: number[] = [],\n nextValue: number,\n atIndex: number,\n) {\n const nextValues = [...prevValues]\n nextValues[atIndex] = nextValue\n return nextValues.sort((a, b) => a - b)\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min\n const percentPerStep = 100 / maxSteps\n return percentPerStep * (value - min)\n}\n\n/**\n * Returns a label for each thumb when there are two or more thumbs\n */\nexport function getLabel(index: number, totalValues: number) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`\n } else if (totalValues === 2) {\n return ['Minimum', 'Maximum'][index]\n } else {\n return undefined\n }\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1) return 0\n const distances = values.map((value) => Math.abs(value - nextValue))\n const closestDistance = Math.min(...distances)\n return distances.indexOf(closestDistance)\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(\n width: number,\n left: number,\n direction: number,\n) {\n const halfWidth = width / 2\n const halfPercent = 50\n const offset = linearScale([0, halfPercent], [0, halfWidth])\n return (halfWidth - offset(left) * direction) * direction\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nfunction getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value)\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(\n values: number[],\n minStepsBetweenValues: number,\n) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values)\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues)\n return actualMinStepsBetweenValues >= minStepsBetweenValues\n }\n return true\n}\n\n// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(\n input: readonly [number, number],\n output: readonly [number, number],\n) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0]\n const ratio = (output[1] - output[0]) / (input[1] - input[0])\n return output[0] + ratio * (value - input[0])\n }\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = Math.pow(10, decimalCount)\n return Math.round(value * rounder) / rounder\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,aAAW,WAAW;AACtB,SAAO,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAChF,QAAM,WAAW,MAAM;AACvB,QAAM,iBAAiB,MAAM;AAC7B,SAAO,kBAAkB,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,MAAI,cAAc,GAAG;AACnB,WAAO,SAAS,QAAQ,QAAQ;AAAA,EAClC,WAAW,gBAAgB,GAAG;AAC5B,WAAO,CAAC,WAAW,SAAS,EAAE;AAAA,EAChC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC;AACnE,QAAM,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBACd,OACA,MACA,WACA;AACA,QAAM,YAAY,QAAQ;AAC1B,QAAM,cAAc;AACpB,QAAM,SAAS,YAAY,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,KAAK,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AACvD,UAAM,8BAA8B,KAAK,IAAI,GAAG,kBAAkB;AAClE,WAAO,+BAA+B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO;AAAI,aAAO,OAAO;AACpE,UAAM,SAAS,OAAO,KAAK,OAAO,OAAO,MAAM,KAAK,MAAM;AAC1D,WAAO,OAAO,KAAK,SAAS,QAAQ,MAAM;AAAA,EAC5C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,KAAK,IAAI,IAAI,YAAY;AACzC,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,aAAW,OAAO,IAAI;AACtB,SAAO,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAChF,QAAM,WAAW,MAAM;AACvB,QAAM,iBAAiB,MAAM;AAC7B,SAAO,kBAAkB,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,MAAI,cAAc,GAAG;AACnB,WAAO,SAAS,QAAQ,QAAQ;AAAA,EAClC,WAAW,gBAAgB,GAAG;AAC5B,WAAO,CAAC,WAAW,SAAS,EAAE,KAAK;AAAA,EACrC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC;AACnE,QAAM,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBACd,OACA,MACA,WACA;AACA,QAAM,YAAY,QAAQ;AAC1B,QAAM,cAAc;AACpB,QAAM,SAAS,YAAY,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC,IAAI,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AACvD,UAAM,8BAA8B,KAAK,IAAI,GAAG,kBAAkB;AAClE,WAAO,+BAA+B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC;AAAG,aAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,KAAK,IAAI,IAAI,YAAY;AACzC,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
6
6
  "names": []
7
7
  }
@@ -47,47 +47,53 @@ const SliderHorizontal = React.forwardRef(
47
47
  const value = linearScale(input, output);
48
48
  return value(pointerPosition);
49
49
  }
50
- return /* @__PURE__ */ jsx(SliderOrientationProvider, {
51
- scope: props.__scopeSlider,
52
- startEdge: isDirectionLTR ? "left" : "right",
53
- endEdge: isDirectionLTR ? "right" : "left",
54
- direction: isDirectionLTR ? 1 : -1,
55
- sizeProp: "width",
56
- size: state.size,
57
- children: /* @__PURE__ */ jsx(SliderImpl, {
58
- ref: composeRefs(forwardedRef, sliderRef),
59
- dir: direction,
60
- ...sliderProps,
61
- orientation: "horizontal",
62
- onLayout: () => {
63
- var _a;
64
- (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, width, _height, pageX, _pageY) => {
65
- setState({
66
- size: width,
67
- offset: pageX
68
- });
69
- });
70
- },
71
- onSlideStart: (event, target) => {
72
- const value = getValueFromPointer(event.nativeEvent.locationX);
73
- if (value) {
74
- onSlideStart == null ? void 0 : onSlideStart(value, target);
75
- }
76
- },
77
- onSlideMove: (event) => {
78
- const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
79
- if (value) {
80
- onSlideMove == null ? void 0 : onSlideMove(value);
50
+ return /* @__PURE__ */ jsx(
51
+ SliderOrientationProvider,
52
+ {
53
+ scope: props.__scopeSlider,
54
+ startEdge: isDirectionLTR ? "left" : "right",
55
+ endEdge: isDirectionLTR ? "right" : "left",
56
+ direction: isDirectionLTR ? 1 : -1,
57
+ sizeProp: "width",
58
+ size: state.size,
59
+ children: /* @__PURE__ */ jsx(
60
+ SliderImpl,
61
+ {
62
+ ref: composeRefs(forwardedRef, sliderRef),
63
+ dir: direction,
64
+ ...sliderProps,
65
+ orientation: "horizontal",
66
+ onLayout: () => {
67
+ var _a;
68
+ (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, width, _height, pageX, _pageY) => {
69
+ setState({
70
+ size: width,
71
+ offset: pageX
72
+ });
73
+ });
74
+ },
75
+ onSlideStart: (event, target) => {
76
+ const value = getValueFromPointer(event.nativeEvent.locationX);
77
+ if (value) {
78
+ onSlideStart == null ? void 0 : onSlideStart(value, target);
79
+ }
80
+ },
81
+ onSlideMove: (event) => {
82
+ const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
83
+ if (value) {
84
+ onSlideMove == null ? void 0 : onSlideMove(value);
85
+ }
86
+ },
87
+ onSlideEnd: () => {
88
+ },
89
+ onStepKeyDown: (event) => {
90
+ const isBackKey = BACK_KEYS[direction].includes(event.key);
91
+ onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
92
+ }
81
93
  }
82
- },
83
- onSlideEnd: () => {
84
- },
85
- onStepKeyDown: (event) => {
86
- const isBackKey = BACK_KEYS[direction].includes(event.key);
87
- onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
88
- }
89
- })
90
- });
94
+ )
95
+ }
96
+ );
91
97
  }
92
98
  );
93
99
  const SliderVertical = React.forwardRef(
@@ -101,46 +107,52 @@ const SliderVertical = React.forwardRef(
101
107
  const value = linearScale(input, output);
102
108
  return value(pointerPosition);
103
109
  }
104
- return /* @__PURE__ */ jsx(SliderOrientationProvider, {
105
- scope: props.__scopeSlider,
106
- startEdge: "bottom",
107
- endEdge: "top",
108
- sizeProp: "height",
109
- size: state.size,
110
- direction: 1,
111
- children: /* @__PURE__ */ jsx(SliderImpl, {
112
- ref: composeRefs(forwardedRef, sliderRef),
113
- ...sliderProps,
114
- orientation: "vertical",
115
- onLayout: ({ nativeEvent: { layout } }) => {
116
- var _a;
117
- (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, _width, height, _pageX, pageY) => {
118
- setState({
119
- size: height,
120
- offset: pageY
121
- });
122
- });
123
- },
124
- onSlideStart: (event, target) => {
125
- const value = getValueFromPointer(event.nativeEvent.locationY);
126
- if (value) {
127
- onSlideStart == null ? void 0 : onSlideStart(value, target);
110
+ return /* @__PURE__ */ jsx(
111
+ SliderOrientationProvider,
112
+ {
113
+ scope: props.__scopeSlider,
114
+ startEdge: "bottom",
115
+ endEdge: "top",
116
+ sizeProp: "height",
117
+ size: state.size,
118
+ direction: 1,
119
+ children: /* @__PURE__ */ jsx(
120
+ SliderImpl,
121
+ {
122
+ ref: composeRefs(forwardedRef, sliderRef),
123
+ ...sliderProps,
124
+ orientation: "vertical",
125
+ onLayout: ({ nativeEvent: { layout } }) => {
126
+ var _a;
127
+ (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, _width, height, _pageX, pageY) => {
128
+ setState({
129
+ size: height,
130
+ offset: pageY
131
+ });
132
+ });
133
+ },
134
+ onSlideStart: (event, target) => {
135
+ const value = getValueFromPointer(event.nativeEvent.locationY);
136
+ if (value) {
137
+ onSlideStart == null ? void 0 : onSlideStart(value, target);
138
+ }
139
+ },
140
+ onSlideMove: (event) => {
141
+ const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
142
+ if (value) {
143
+ onSlideMove == null ? void 0 : onSlideMove(value);
144
+ }
145
+ },
146
+ onSlideEnd: () => {
147
+ },
148
+ onStepKeyDown: (event) => {
149
+ const isBackKey = BACK_KEYS.ltr.includes(event.key);
150
+ onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
151
+ }
128
152
  }
129
- },
130
- onSlideMove: (event) => {
131
- const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
132
- if (value) {
133
- onSlideMove == null ? void 0 : onSlideMove(value);
134
- }
135
- },
136
- onSlideEnd: () => {
137
- },
138
- onStepKeyDown: (event) => {
139
- const isBackKey = BACK_KEYS.ltr.includes(event.key);
140
- onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
141
- }
142
- })
143
- });
153
+ )
154
+ }
155
+ );
144
156
  }
145
157
  );
146
158
  const TRACK_NAME = "SliderTrack";
@@ -157,14 +169,17 @@ const SliderTrack = React.forwardRef(
157
169
  (props, forwardedRef) => {
158
170
  const { __scopeSlider, ...trackProps } = props;
159
171
  const context = useSliderContext(TRACK_NAME, __scopeSlider);
160
- return /* @__PURE__ */ jsx(SliderTrackFrame, {
161
- "data-disabled": context.disabled ? "" : void 0,
162
- "data-orientation": context.orientation,
163
- orientation: context.orientation,
164
- size: context.size,
165
- ...trackProps,
166
- ref: forwardedRef
167
- });
172
+ return /* @__PURE__ */ jsx(
173
+ SliderTrackFrame,
174
+ {
175
+ "data-disabled": context.disabled ? "" : void 0,
176
+ "data-orientation": context.orientation,
177
+ orientation: context.orientation,
178
+ size: context.size,
179
+ ...trackProps,
180
+ ref: forwardedRef
181
+ }
182
+ );
168
183
  }
169
184
  );
170
185
  SliderTrack.displayName = TRACK_NAME;
@@ -187,24 +202,27 @@ const SliderTrackActive = React.forwardRef(
187
202
  );
188
203
  const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;
189
204
  const offsetEnd = 100 - Math.max(...percentages);
190
- return /* @__PURE__ */ jsx(SliderTrackActiveFrame, {
191
- orientation: context.orientation,
192
- "data-orientation": context.orientation,
193
- "data-disabled": context.disabled ? "" : void 0,
194
- size: context.size,
195
- ...rangeProps,
196
- ref: composedRefs,
197
- ...{
198
- [orientation.startEdge]: `${offsetStart}%`,
199
- [orientation.endEdge]: `${offsetEnd}%`
200
- },
201
- ...orientation.sizeProp === "width" ? {
202
- height: "100%"
203
- } : {
204
- left: 0,
205
- right: 0
205
+ return /* @__PURE__ */ jsx(
206
+ SliderTrackActiveFrame,
207
+ {
208
+ orientation: context.orientation,
209
+ "data-orientation": context.orientation,
210
+ "data-disabled": context.disabled ? "" : void 0,
211
+ size: context.size,
212
+ ...rangeProps,
213
+ ref: composedRefs,
214
+ ...{
215
+ [orientation.startEdge]: `${offsetStart}%`,
216
+ [orientation.endEdge]: `${offsetEnd}%`
217
+ },
218
+ ...orientation.sizeProp === "width" ? {
219
+ height: "100%"
220
+ } : {
221
+ left: 0,
222
+ right: 0
223
+ }
206
224
  }
207
- });
225
+ );
208
226
  }
209
227
  );
210
228
  SliderTrackActive.displayName = RANGE_NAME;
@@ -221,7 +239,9 @@ const getThumbSize = (val) => {
221
239
  const SliderThumbFrame = styled(ThemeableStack, {
222
240
  name: "SliderThumb",
223
241
  position: "absolute",
242
+ // TODO not taking up 2
224
243
  bordered: 2,
244
+ // OR THIS
225
245
  borderWidth: 2,
226
246
  backgrounded: true,
227
247
  pressTheme: isWeb,
@@ -243,7 +263,7 @@ const SliderThumb = React.forwardRef(
243
263
  const value = context.values[index];
244
264
  const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);
245
265
  const label = getLabel(index, context.values.length);
246
- const sizeIn = sizeProp ?? context.size ?? "$4";
266
+ const sizeIn = sizeProp ?? context.size ?? "$true";
247
267
  const [size, setSize] = React.useState(() => {
248
268
  const estimatedSize = getVariableValue(getThumbSize(sizeIn).width);
249
269
  return estimatedSize;
@@ -257,47 +277,50 @@ const SliderThumb = React.forwardRef(
257
277
  };
258
278
  }
259
279
  }, [thumb, context.thumbs]);
260
- return /* @__PURE__ */ jsx(SliderThumbFrame, {
261
- ref: composedRefs,
262
- role: "slider",
263
- "aria-label": props["aria-label"] || label,
264
- "aria-valuemin": context.min,
265
- "aria-valuenow": value,
266
- "aria-valuemax": context.max,
267
- "aria-orientation": context.orientation,
268
- "data-orientation": context.orientation,
269
- "data-disabled": context.disabled ? "" : void 0,
270
- tabIndex: context.disabled ? void 0 : 0,
271
- animateOnly: ["transform", "left", "right", "top", "bottom"],
272
- ...thumbProps,
273
- ...context.orientation === "horizontal" ? {
274
- x: thumbInBoundsOffset - size / 2,
275
- y: -size / 2,
276
- top: "50%",
277
- ...size === 0 && {
278
- top: "auto",
279
- bottom: "auto"
280
- }
281
- } : {
282
- x: -size / 2,
283
- y: size / 2,
284
- left: "50%",
285
- ...size === 0 && {
286
- left: "auto",
287
- right: "auto"
288
- }
289
- },
290
- ...{
291
- [orientation.startEdge]: `${percent}%`
292
- },
293
- size: sizeIn,
294
- onLayout: (e) => {
295
- setSize(e.nativeEvent.layout[orientation.sizeProp]);
296
- },
297
- onFocus: composeEventHandlers(props.onFocus, () => {
298
- context.valueIndexToChangeRef.current = index;
299
- })
300
- });
280
+ return /* @__PURE__ */ jsx(
281
+ SliderThumbFrame,
282
+ {
283
+ ref: composedRefs,
284
+ role: "slider",
285
+ "aria-label": props["aria-label"] || label,
286
+ "aria-valuemin": context.min,
287
+ "aria-valuenow": value,
288
+ "aria-valuemax": context.max,
289
+ "aria-orientation": context.orientation,
290
+ "data-orientation": context.orientation,
291
+ "data-disabled": context.disabled ? "" : void 0,
292
+ tabIndex: context.disabled ? void 0 : 0,
293
+ animateOnly: ["transform", "left", "right", "top", "bottom"],
294
+ ...thumbProps,
295
+ ...context.orientation === "horizontal" ? {
296
+ x: thumbInBoundsOffset - size / 2,
297
+ y: -size / 2,
298
+ top: "50%",
299
+ ...size === 0 && {
300
+ top: "auto",
301
+ bottom: "auto"
302
+ }
303
+ } : {
304
+ x: -size / 2,
305
+ y: size / 2,
306
+ left: "50%",
307
+ ...size === 0 && {
308
+ left: "auto",
309
+ right: "auto"
310
+ }
311
+ },
312
+ ...{
313
+ [orientation.startEdge]: `${percent}%`
314
+ },
315
+ size: sizeIn,
316
+ onLayout: (e) => {
317
+ setSize(e.nativeEvent.layout[orientation.sizeProp]);
318
+ },
319
+ onFocus: composeEventHandlers(props.onFocus, () => {
320
+ context.valueIndexToChangeRef.current = index;
321
+ })
322
+ }
323
+ );
301
324
  }
302
325
  );
303
326
  SliderThumb.displayName = THUMB_NAME;
@@ -371,45 +394,51 @@ const Slider = withStaticProperties(
371
394
  });
372
395
  }
373
396
  const SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;
374
- return /* @__PURE__ */ jsx(SliderProvider, {
375
- scope: props.__scopeSlider,
376
- disabled,
377
- min,
378
- max,
379
- valueIndexToChangeRef,
380
- thumbs: thumbRefs.current,
381
- values,
382
- orientation,
383
- size: sizeProp,
384
- children: /* @__PURE__ */ jsx(SliderOriented, {
385
- "aria-disabled": disabled,
386
- "data-disabled": disabled ? "" : void 0,
387
- ...sliderProps,
388
- ref: composedRefs,
397
+ return /* @__PURE__ */ jsx(
398
+ SliderProvider,
399
+ {
400
+ scope: props.__scopeSlider,
401
+ disabled,
389
402
  min,
390
403
  max,
391
- onSlideStart: disabled ? void 0 : (value2, target) => {
392
- if (target !== "thumb") {
393
- const closestIndex = getClosestValueIndex(values, value2);
394
- updateValues(value2, closestIndex);
404
+ valueIndexToChangeRef,
405
+ thumbs: thumbRefs.current,
406
+ values,
407
+ orientation,
408
+ size: sizeProp,
409
+ children: /* @__PURE__ */ jsx(
410
+ SliderOriented,
411
+ {
412
+ "aria-disabled": disabled,
413
+ "data-disabled": disabled ? "" : void 0,
414
+ ...sliderProps,
415
+ ref: composedRefs,
416
+ min,
417
+ max,
418
+ onSlideStart: disabled ? void 0 : (value2, target) => {
419
+ if (target !== "thumb") {
420
+ const closestIndex = getClosestValueIndex(values, value2);
421
+ updateValues(value2, closestIndex);
422
+ }
423
+ },
424
+ onSlideMove: disabled ? void 0 : handleSlideMove,
425
+ onHomeKeyDown: () => !disabled && updateValues(min, 0),
426
+ onEndKeyDown: () => !disabled && updateValues(max, values.length - 1),
427
+ onStepKeyDown: ({ event, direction: stepDirection }) => {
428
+ if (!disabled) {
429
+ const isPageKey = PAGE_KEYS.includes(event.key);
430
+ const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);
431
+ const multiplier = isSkipKey ? 10 : 1;
432
+ const atIndex = valueIndexToChangeRef.current;
433
+ const value2 = values[atIndex];
434
+ const stepInDirection = step * multiplier * stepDirection;
435
+ updateValues(value2 + stepInDirection, atIndex);
436
+ }
437
+ }
395
438
  }
396
- },
397
- onSlideMove: disabled ? void 0 : handleSlideMove,
398
- onHomeKeyDown: () => !disabled && updateValues(min, 0),
399
- onEndKeyDown: () => !disabled && updateValues(max, values.length - 1),
400
- onStepKeyDown: ({ event, direction: stepDirection }) => {
401
- if (!disabled) {
402
- const isPageKey = PAGE_KEYS.includes(event.key);
403
- const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);
404
- const multiplier = isSkipKey ? 10 : 1;
405
- const atIndex = valueIndexToChangeRef.current;
406
- const value2 = values[atIndex];
407
- const stepInDirection = step * multiplier * stepDirection;
408
- updateValues(value2 + stepInDirection, atIndex);
409
- }
410
- }
411
- })
412
- });
439
+ )
440
+ }
441
+ );
413
442
  }),
414
443
  {
415
444
  Track: SliderTrack,