panelui-native 0.40.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +4 -2
  2. package/lib/module/components/card/index.js +172 -3
  3. package/lib/module/components/card/index.js.map +1 -1
  4. package/lib/module/components/color-picker/index.js +1395 -0
  5. package/lib/module/components/color-picker/index.js.map +1 -0
  6. package/lib/module/components/combobox/index.js +87 -19
  7. package/lib/module/components/combobox/index.js.map +1 -1
  8. package/lib/module/components/drawer/index.js +13 -4
  9. package/lib/module/components/drawer/index.js.map +1 -1
  10. package/lib/module/components/kpi-chart/index.js +648 -0
  11. package/lib/module/components/kpi-chart/index.js.map +1 -0
  12. package/lib/module/components/map/index.js +72 -12
  13. package/lib/module/components/map/index.js.map +1 -1
  14. package/lib/module/components/menu/index.js +40 -10
  15. package/lib/module/components/menu/index.js.map +1 -1
  16. package/lib/module/components/pagination/index.js +19 -9
  17. package/lib/module/components/pagination/index.js.map +1 -1
  18. package/lib/module/components/panelside/index.js +68 -18
  19. package/lib/module/components/panelside/index.js.map +1 -1
  20. package/lib/module/components/radar-chart/index.js +704 -0
  21. package/lib/module/components/radar-chart/index.js.map +1 -0
  22. package/lib/module/components/section-rail/index.js +32 -7
  23. package/lib/module/components/section-rail/index.js.map +1 -1
  24. package/lib/module/components/slider/index.js +240 -39
  25. package/lib/module/components/slider/index.js.map +1 -1
  26. package/lib/module/components/tabs/index.js +194 -10
  27. package/lib/module/components/tabs/index.js.map +1 -1
  28. package/lib/module/components/text-animation/index.js +857 -0
  29. package/lib/module/components/text-animation/index.js.map +1 -0
  30. package/lib/module/icons/index.js +25 -7
  31. package/lib/module/icons/index.js.map +1 -1
  32. package/lib/module/index.js +5 -0
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/theme/use-theme.js +1 -1
  35. package/lib/module/utils/chart.js +44 -0
  36. package/lib/module/utils/chart.js.map +1 -1
  37. package/lib/module/utils/color.js +268 -0
  38. package/lib/module/utils/color.js.map +1 -0
  39. package/lib/typescript/src/components/card/index.d.ts +20 -0
  40. package/lib/typescript/src/components/card/index.d.ts.map +1 -1
  41. package/lib/typescript/src/components/color-picker/index.d.ts +258 -0
  42. package/lib/typescript/src/components/color-picker/index.d.ts.map +1 -0
  43. package/lib/typescript/src/components/combobox/index.d.ts.map +1 -1
  44. package/lib/typescript/src/components/drawer/index.d.ts +13 -1
  45. package/lib/typescript/src/components/drawer/index.d.ts.map +1 -1
  46. package/lib/typescript/src/components/kpi-chart/index.d.ts +490 -0
  47. package/lib/typescript/src/components/kpi-chart/index.d.ts.map +1 -0
  48. package/lib/typescript/src/components/map/index.d.ts +37 -2
  49. package/lib/typescript/src/components/map/index.d.ts.map +1 -1
  50. package/lib/typescript/src/components/menu/index.d.ts.map +1 -1
  51. package/lib/typescript/src/components/pagination/index.d.ts.map +1 -1
  52. package/lib/typescript/src/components/panelside/index.d.ts +50 -4
  53. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
  54. package/lib/typescript/src/components/radar-chart/index.d.ts +214 -0
  55. package/lib/typescript/src/components/radar-chart/index.d.ts.map +1 -0
  56. package/lib/typescript/src/components/section-rail/index.d.ts +8 -1
  57. package/lib/typescript/src/components/section-rail/index.d.ts.map +1 -1
  58. package/lib/typescript/src/components/slider/index.d.ts +19 -0
  59. package/lib/typescript/src/components/slider/index.d.ts.map +1 -1
  60. package/lib/typescript/src/components/tabs/index.d.ts +11 -1
  61. package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
  62. package/lib/typescript/src/components/text-animation/index.d.ts +268 -0
  63. package/lib/typescript/src/components/text-animation/index.d.ts.map +1 -0
  64. package/lib/typescript/src/icons/index.d.ts +6 -0
  65. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  66. package/lib/typescript/src/index.d.ts +8 -3
  67. package/lib/typescript/src/index.d.ts.map +1 -1
  68. package/lib/typescript/src/utils/chart.d.ts +21 -0
  69. package/lib/typescript/src/utils/chart.d.ts.map +1 -1
  70. package/lib/typescript/src/utils/color.d.ts +74 -0
  71. package/lib/typescript/src/utils/color.d.ts.map +1 -0
  72. package/package.json +2 -1
  73. package/src/components/card/index.tsx +227 -2
  74. package/src/components/color-picker/index.tsx +1618 -0
  75. package/src/components/combobox/index.tsx +89 -19
  76. package/src/components/drawer/index.tsx +31 -9
  77. package/src/components/kpi-chart/index.tsx +719 -0
  78. package/src/components/map/index.tsx +158 -14
  79. package/src/components/menu/index.tsx +51 -6
  80. package/src/components/pagination/index.tsx +18 -6
  81. package/src/components/panelside/index.tsx +134 -19
  82. package/src/components/radar-chart/index.tsx +910 -0
  83. package/src/components/section-rail/index.tsx +42 -8
  84. package/src/components/slider/index.tsx +283 -41
  85. package/src/components/tabs/index.tsx +263 -8
  86. package/src/components/text-animation/index.tsx +1093 -0
  87. package/src/icons/index.tsx +23 -4
  88. package/src/index.ts +73 -1
  89. package/src/theme/use-theme.ts +1 -1
  90. package/src/utils/chart.ts +52 -0
  91. package/src/utils/color.ts +246 -0
  92. package/theme.css +125 -112
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","createContext","forwardRef","isValidElement","useContext","useEffect","useImperativeHandle","useMemo","useRef","useState","StyleSheet","View","Svg","Circle","G","Line","Path","Polygon","Text","SvgText","Animated","Easing","useAnimatedProps","useDerivedValue","useReducedMotion","useSharedValue","withTiming","useCSSVariable","cn","polarPoint","radarPath","useSeriesColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AnimatedPath","createAnimatedComponent","AnimatedCircle","LABEL_ROOM","x","y","BARE_ROOM","REVEAL_DURATION","MORPH_DURATION","DEFAULT_SIZE","RadarChartContext","useRadarChart","context","Error","useChart","part","partition","children","svg","overlay","header","forEach","child","index","layer","type","slot","ChildSlot","push","useToken","variable","fallback","raw","RadarChartRoot","className","data","axisKey","status","size","fixedSize","aspectRatio","domain","animationDuration","compact","props","ref","setSize","width","height","series","setSeries","reveal","domainMin","domainMax","reducedMotion","registerSeries","key","color","current","existing","find","k","filter","unregisterSeries","room","cx","cy","radius","Math","max","min","seriesKeys","map","join","extent","keys","split","Infinity","row","value","Number","isNaN","loading","revealed","playReveal","duration","easing","bezier","length","replay","onLayout","event","nativeEvent","layout","abs","Provider","style","maxWidth","absoluteFill","RadarChartGrid","rings","circular","spokes","themed","stroke","count","levels","Array","from","_","r","fill","strokeWidth","points","spoke","point","x1","y1","x2","y2","RadarChartAxis","fontSize","offset","formatLabel","label","String","dx","anchor","estimated","dy","fontWeight","textAnchor","RadarChartSeries","dataKey","name","colorIndex","fillOpacity","showDots","values","to","morph","settled","t","previous","start","undefined","animatedProps","span","target","scaled","a","b","mixed","d","strokeLinejoin","RadarDot","turn","fraction","RadarChartHeader","title","caption","legend","muted","weight","backgroundColor","RadarChartLegend","formatName","pointerEvents","displayName","RadarChart","Object","assign","Header","Grid","Axis","Series","Legend"],"sourceRoot":"../../../../src","sources":["components/radar-chart/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -51,6 +51,14 @@ const BAR_LEVEL_STEP = 4;
51
51
  const BAR_ACTIVE_EXTRA = 8;
52
52
  /** Indent per level in the expanded panel. */
53
53
  const ITEM_INDENT = 12;
54
+ /**
55
+ * How wide the panel may grow by default. A row spends at least 40pt on
56
+ * indent, padding and the panel's own border before any text, so a tighter cap
57
+ * than this truncates ordinary section titles on a narrow phone.
58
+ */
59
+ const PANEL_MAX_WIDTH = '78%';
60
+ /** …and a floor, so a rail with one short section still opens a readable panel. */
61
+ const PANEL_MIN_WIDTH = 200;
54
62
  /** Vertical position of the rail, and of the panel that opens from it. */
55
63
  const ALIGNMENT = {
56
64
  center: 'justify-center',
@@ -226,6 +234,7 @@ function SectionRailBar({
226
234
  */
227
235
  function SectionRailContent({
228
236
  className,
237
+ maxWidth = PANEL_MAX_WIDTH,
229
238
  children,
230
239
  ...props
231
240
  }) {
@@ -268,6 +277,7 @@ function SectionRailContent({
268
277
  pointerEvents: "box-none",
269
278
  children: /*#__PURE__*/_jsx(SectionRailPanel, {
270
279
  className: className,
280
+ maxWidth: maxWidth,
271
281
  ...props,
272
282
  children: children
273
283
  })
@@ -283,6 +293,7 @@ function SectionRailContent({
283
293
  */
284
294
  function SectionRailPanel({
285
295
  className,
296
+ maxWidth = PANEL_MAX_WIDTH,
286
297
  children,
287
298
  ...props
288
299
  }) {
@@ -304,9 +315,16 @@ function SectionRailPanel({
304
315
  }]
305
316
  }));
306
317
  return /*#__PURE__*/_jsx(Animated.View, {
307
- style: style,
318
+ // The cap is a style rather than a class so it can be a prop: a screen
319
+ // whose sections are called "Shipping and returns" needs more room than
320
+ // one whose sections are called "Specs", and a `className` override would
321
+ // be fighting the class already here rather than replacing it.
322
+ style: [style, {
323
+ maxWidth,
324
+ minWidth: PANEL_MIN_WIDTH
325
+ }],
308
326
  accessibilityRole: "menu",
309
- className: cn('max-w-[60%] gap-0.5 rounded-2xl border border-border bg-popover p-2 shadow-lg', className),
327
+ className: cn('gap-0.5 rounded-2xl border border-border bg-popover p-2 shadow-lg', className),
310
328
  ...props,
311
329
  children: /*#__PURE__*/_jsx(ScrollView, {
312
330
  bounces: false,
@@ -332,16 +350,23 @@ function SectionRailItem({
332
350
  accessibilityState: {
333
351
  selected
334
352
  },
335
- onPress: () => onValueChange?.(value),
353
+ onPress: () => onValueChange?.(value)
354
+ // `paddingStart`, not `paddingLeft`: the indent has to fall on the same
355
+ // side as the bar it belongs to, which is the trailing edge under RTL.
356
+ ,
336
357
  style: {
337
- paddingLeft: 12 + level * ITEM_INDENT
358
+ paddingStart: 12 + level * ITEM_INDENT
338
359
  },
339
- className: cn('rounded-lg py-2 pe-3 active:bg-accent', selected && 'bg-accent', className),
360
+ className: cn('rounded-lg py-2 pe-2.5 active:bg-accent', selected && 'bg-accent', className),
340
361
  children: /*#__PURE__*/_jsx(Text, {
341
362
  size: "sm",
342
363
  weight: selected ? 'medium' : 'normal',
343
- className: selected ? 'text-foreground' : 'text-muted-foreground',
344
- numberOfLines: 1,
364
+ className: selected ? 'text-foreground' : 'text-muted-foreground'
365
+ // Two lines rather than one: a long section title is worth wrapping,
366
+ // and an ellipsis in a navigator hides the very word that tells you
367
+ // which section you are about to jump to.
368
+ ,
369
+ numberOfLines: 2,
345
370
  children: children
346
371
  })
347
372
  });
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","ScrollView","View","Animated","FadeIn","FadeOut","interpolateColor","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useCSSVariable","Portal","Text","textChildren","cn","selectionTick","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","BAR_WIDTH","BAR_LEVEL_STEP","BAR_ACTIVE_EXTRA","ITEM_INDENT","ALIGNMENT","center","top","bottom","SectionRailContext","useSectionRail","component","context","Error","SectionRailRoot","className","placement","align","haptics","value","valueProp","defaultValue","onValueChange","open","openProp","defaultOpen","onOpenChange","closeDelay","offset","children","props","internalValue","setInternalValue","internalOpen","setInternalOpen","insets","timer","isControlled","undefined","isOpenControlled","setOpen","next","current","clearTimeout","close","handleValueChange","setTimeout","ticked","Provider","pointerEvents","style","right","left","SectionRailTrigger","accessibilityRole","accessibilityLabel","accessibilityState","expanded","onPress","hitSlop","SectionRailBar","level","active","selected","restColor","activeColor","base","Math","max","progress","idle","on","width","opacity","backgroundColor","accessibilityElementsHidden","importantForAccessibility","SectionRailContent","position","entering","duration","exiting","SectionRailPanel","slide","transform","translateX","bounces","showsVerticalScrollIndicator","SectionRailItem","paddingLeft","size","weight","numberOfLines","SectionRail","Object","assign","Trigger","Bar","Content","Item"],"sourceRoot":"../../../../src","sources":["components/section-rail/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","ScrollView","View","Animated","FadeIn","FadeOut","interpolateColor","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useCSSVariable","Portal","Text","textChildren","cn","selectionTick","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","BAR_WIDTH","BAR_LEVEL_STEP","BAR_ACTIVE_EXTRA","ITEM_INDENT","PANEL_MAX_WIDTH","PANEL_MIN_WIDTH","ALIGNMENT","center","top","bottom","SectionRailContext","useSectionRail","component","context","Error","SectionRailRoot","className","placement","align","haptics","value","valueProp","defaultValue","onValueChange","open","openProp","defaultOpen","onOpenChange","closeDelay","offset","children","props","internalValue","setInternalValue","internalOpen","setInternalOpen","insets","timer","isControlled","undefined","isOpenControlled","setOpen","next","current","clearTimeout","close","handleValueChange","setTimeout","ticked","Provider","pointerEvents","style","right","left","SectionRailTrigger","accessibilityRole","accessibilityLabel","accessibilityState","expanded","onPress","hitSlop","SectionRailBar","level","active","selected","restColor","activeColor","base","Math","max","progress","idle","on","width","opacity","backgroundColor","accessibilityElementsHidden","importantForAccessibility","SectionRailContent","maxWidth","position","entering","duration","exiting","SectionRailPanel","slide","transform","translateX","minWidth","bounces","showsVerticalScrollIndicator","SectionRailItem","paddingStart","size","weight","numberOfLines","SectionRail","Object","assign","Trigger","Bar","Content","Item"],"sourceRoot":"../../../../src","sources":["components/section-rail/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Slider — a value picker driven by a single thumb.
4
+ * Slider — a value picker driven by a thumb, or a span picked by two.
5
5
  *
6
6
  * The thumb is a pill exactly as tall as the track rather than a disc floating
7
7
  * over it. That is a deliberate shape choice and it is also the robust one: a
@@ -18,9 +18,16 @@
18
18
  *
19
19
  * ```tsx
20
20
  * <Slider label="Volume" showValue defaultValue={30} />
21
+ *
22
+ * <Slider label="Price" showValue defaultRange={[20, 80]} />
21
23
  * ```
22
24
  *
23
- * Works controlled (`value` + `onValueChange`) or uncontrolled (`defaultValue`).
25
+ * A range is a second pair of props rather than a tuple in the first, so a
26
+ * one-thumb slider's `onValueChange` still hands back a plain number and
27
+ * nobody has to narrow a union to read it.
28
+ *
29
+ * Works controlled (`value`/`range` with their change handlers) or uncontrolled
30
+ * (`defaultValue`/`defaultRange`).
24
31
  */
25
32
  import { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
26
33
  import { View } from 'react-native';
@@ -133,6 +140,9 @@ function snap(value, min, max, step) {
133
140
  const stepped = Math.round((value - min) / step) * step + min;
134
141
  return clampJS(stepped, min, max);
135
142
  }
143
+
144
+ /** Which thumb a drag has hold of. A one-thumb slider only ever has `high`. */
145
+
136
146
  export const Slider = /*#__PURE__*/forwardRef(({
137
147
  className,
138
148
  headerClassName,
@@ -142,11 +152,16 @@ export const Slider = /*#__PURE__*/forwardRef(({
142
152
  knobClassName,
143
153
  value: valueProp,
144
154
  defaultValue = 0,
155
+ range: rangeProp,
156
+ defaultRange,
145
157
  min = 0,
146
158
  max = 100,
147
159
  step = 1,
160
+ minStepsBetweenThumbs = 0,
148
161
  onValueChange,
149
162
  onValueCommit,
163
+ onRangeChange,
164
+ onRangeCommit,
150
165
  disabled = false,
151
166
  native,
152
167
  label,
@@ -156,16 +171,30 @@ export const Slider = /*#__PURE__*/forwardRef(({
156
171
  color = 'primary',
157
172
  size = 'md'
158
173
  }, ref) => {
174
+ // Whether there are two thumbs is decided by which props were passed, not
175
+ // by a flag: a slider handed `[20, 80]` is a range and there is nothing
176
+ // else it could be.
177
+ const isRange = rangeProp !== undefined || defaultRange !== undefined;
159
178
  const isControlled = valueProp !== undefined;
160
179
  const [internal, setInternal] = useState(defaultValue);
161
180
  const value = clampJS(isControlled ? valueProp : internal, min, max);
181
+ const isRangeControlled = rangeProp !== undefined;
182
+ const [internalRange, setInternalRange] = useState(defaultRange ?? [min, max]);
183
+ const rawRange = isRangeControlled ? rangeProp : internalRange;
184
+ // Ordered as well as clamped, so a caller who passes `[80, 20]` gets the
185
+ // span they meant rather than a fill of negative width.
186
+ const low = clampJS(Math.min(rawRange[0], rawRange[1]), min, max);
187
+ const high = clampJS(Math.max(rawRange[0], rawRange[1]), min, max);
162
188
  const slots = sliderVariants({
163
189
  color,
164
190
  size,
165
191
  disabled
166
192
  });
167
193
  const thumbWidth = THUMB_WIDTH[size ?? 'md'];
168
- const nativeUI = native ? getNativeUI() : null;
194
+ // A platform slider has one thumb, so a range never hands off to it.
195
+ const nativeUI = native && !isRange ? getNativeUI() : null;
196
+ const span = max > min ? max - min : 1;
197
+ const toFraction = useCallback(n => max > min ? (n - min) / (max - min) : 0, [min, max]);
169
198
 
170
199
  // Measured on layout; the thumb travels across (trackWidth - thumbWidth) so
171
200
  // it stays inside the track at both ends.
@@ -173,10 +202,19 @@ export const Slider = /*#__PURE__*/forwardRef(({
173
202
  // pixel offset rather than a laid-out box multiplies through it.
174
203
  const sign = useDirectionSign();
175
204
  const trackWidth = useSharedValue(0);
176
- // Fraction 0..1 that drives the fill and the thumb, animated on the UI thread.
177
- const progress = useSharedValue(max > min ? (value - min) / (max - min) : 0);
178
- const startProgress = useSharedValue(0);
205
+ /*
206
+ * Two fractions rather than one. `high` is the thumb every slider has, and
207
+ * `low` sits at 0 on a one-thumb one — so the fill below reads the same
208
+ * either way: from `low` to `high`, which for a single slider is the start
209
+ * of the track to the thumb.
210
+ */
211
+ const lowProgress = useSharedValue(isRange ? toFraction(low) : 0);
212
+ const highProgress = useSharedValue(isRange ? toFraction(high) : toFraction(value));
213
+ const dragStartLow = useSharedValue(0);
214
+ const dragStartHigh = useSharedValue(0);
215
+ const activeThumb = useSharedValue('high');
179
216
  const pressed = useSharedValue(0);
217
+ const pressedLow = useSharedValue(0);
180
218
 
181
219
  // The change handler runs on JS; keep the latest props reachable from the
182
220
  // worklet callback without re-creating the gesture on every render.
@@ -184,9 +222,21 @@ export const Slider = /*#__PURE__*/forwardRef(({
184
222
  changeRef.current = onValueChange;
185
223
  const commitRef = useRef(onValueCommit);
186
224
  commitRef.current = onValueCommit;
225
+ const rangeChangeRef = useRef(onRangeChange);
226
+ rangeChangeRef.current = onRangeChange;
227
+ const rangeCommitRef = useRef(onRangeCommit);
228
+ rangeCommitRef.current = onRangeCommit;
187
229
  // The last step a drag ticked on, so haptics fire once per step, not per
188
230
  // pixel of movement within it.
189
231
  const lastTick = useRef(value);
232
+ /*
233
+ * True from the moment a finger lands until it lifts. A controlled parent
234
+ * echoes every change straight back as a new prop, and springing the thumb
235
+ * onto that echo fights the finger — visibly so at a coarse `step`, where
236
+ * each frame would pull the knob back onto the last snapped value while the
237
+ * finger had already moved past it.
238
+ */
239
+ const dragging = useRef(false);
190
240
  const emitChange = useCallback(next => {
191
241
  if (!isControlled) setInternal(next);
192
242
  changeRef.current?.(next);
@@ -194,17 +244,26 @@ export const Slider = /*#__PURE__*/forwardRef(({
194
244
  const emitCommit = useCallback(next => {
195
245
  commitRef.current?.(next);
196
246
  }, []);
247
+ const emitRangeChange = useCallback(next => {
248
+ if (!isRangeControlled) setInternalRange(next);
249
+ rangeChangeRef.current?.(next);
250
+ }, [isRangeControlled]);
197
251
 
198
252
  // Keep the animation in step with a controlled value that changes elsewhere.
199
253
  useEffect(() => {
200
- const next = max > min ? (value - min) / (max - min) : 0;
201
- progress.value = withSpring(next, SPRING);
202
- }, [value, min, max, progress]);
254
+ if (isRange || dragging.current) return;
255
+ highProgress.value = withSpring(toFraction(value), SPRING);
256
+ }, [value, isRange, toFraction, highProgress]);
257
+ useEffect(() => {
258
+ if (!isRange || dragging.current) return;
259
+ lowProgress.value = withSpring(toFraction(low), SPRING);
260
+ highProgress.value = withSpring(toFraction(high), SPRING);
261
+ }, [low, high, isRange, toFraction, lowProgress, highProgress]);
203
262
  const onLayout = event => {
204
263
  trackWidth.value = event.nativeEvent.layout.width;
205
264
  };
206
265
  const commitFromProgress = useCallback((p, commit) => {
207
- const raw = min + p * (max - min);
266
+ const raw = min + p * span;
208
267
  const snapped = snap(raw, min, max, step);
209
268
  if (haptics && snapped !== lastTick.current) {
210
269
  lastTick.current = snapped;
@@ -212,10 +271,51 @@ export const Slider = /*#__PURE__*/forwardRef(({
212
271
  }
213
272
  emitChange(snapped);
214
273
  if (commit) emitCommit(snapped);
215
- }, [min, max, step, haptics, emitChange, emitCommit]);
216
- const pan = Gesture.Pan().enabled(!disabled).hitSlop(HIT_SLOP).onBegin(() => {
217
- startProgress.value = progress.value;
218
- pressed.value = withSpring(1, KNOB_SPRING);
274
+ }, [min, max, span, step, haptics, emitChange, emitCommit]);
275
+ const commitRangeFromProgress = useCallback((pLow, pHigh, commit) => {
276
+ const next = [snap(min + pLow * span, min, max, step), snap(min + pHigh * span, min, max, step)];
277
+ // Either end crossing onto a new step is a step crossed — the tick is
278
+ // about the thumb under the finger, and only one of them is.
279
+ const moved = next[0] !== lastTick.current && next[1] !== lastTick.current;
280
+ if (haptics && moved) {
281
+ lastTick.current = next[0];
282
+ selectionTick();
283
+ }
284
+ emitRangeChange(next);
285
+ if (commit) rangeCommitRef.current?.(next);
286
+ }, [min, max, span, step, haptics, emitRangeChange]);
287
+
288
+ /** The gap the two thumbs must keep, in the same 0..1 fractions as everything else. */
289
+ const gap = minStepsBetweenThumbs > 0 ? minStepsBetweenThumbs * step / span : 0;
290
+ const setDragging = useCallback(next => {
291
+ dragging.current = next;
292
+ }, []);
293
+
294
+ /**
295
+ * Which thumb a touch at `x` should take. A tie goes to whichever thumb the
296
+ * touch is *outside* of: with both stacked at one end, the nearer one may
297
+ * be the one with nowhere to go, and a range that cannot be dragged back
298
+ * off its own end is a broken control.
299
+ */
300
+ const pickThumb = x => {
301
+ 'worklet';
302
+
303
+ const w = Math.max(trackWidth.value, 1);
304
+ const travel = Math.max(w - thumbWidth, 1);
305
+ const along = sign === 1 ? x : w - x;
306
+ const p = (along - thumbWidth / 2) / travel;
307
+ const toLow = Math.abs(p - lowProgress.value);
308
+ const toHigh = Math.abs(p - highProgress.value);
309
+ if (toLow === toHigh) return p < lowProgress.value ? 'low' : 'high';
310
+ return toLow < toHigh ? 'low' : 'high';
311
+ };
312
+ const pan = Gesture.Pan().enabled(!disabled).hitSlop(HIT_SLOP).onBegin(event => {
313
+ runOnJS(setDragging)(true);
314
+ dragStartLow.value = lowProgress.value;
315
+ dragStartHigh.value = highProgress.value;
316
+ const thumb = isRange ? pickThumb(event.x) : 'high';
317
+ activeThumb.value = thumb;
318
+ if (thumb === 'low') pressedLow.value = withSpring(1, KNOB_SPRING);else pressed.value = withSpring(1, KNOB_SPRING);
219
319
  }).onUpdate(event => {
220
320
  const travel = Math.max(trackWidth.value - thumbWidth, 1);
221
321
  /*
@@ -224,12 +324,36 @@ export const Slider = /*#__PURE__*/forwardRef(({
224
324
  * without the sign the thumb runs away from the finger.
225
325
  */
226
326
  const delta = event.translationX * sign / travel;
227
- const next = Math.min(Math.max(startProgress.value + delta, 0), 1);
228
- progress.value = next;
229
- runOnJS(commitFromProgress)(next, false);
327
+ if (!isRange) {
328
+ const next = Math.min(Math.max(dragStartHigh.value + delta, 0), 1);
329
+ highProgress.value = next;
330
+ runOnJS(commitFromProgress)(next, false);
331
+ return;
332
+ }
333
+
334
+ // Each thumb is bounded by the other rather than by the track, so they
335
+ // can meet but never cross — a span turned inside out would fill
336
+ // backwards and read as a different range entirely.
337
+ if (activeThumb.value === 'low') {
338
+ const ceiling = Math.max(highProgress.value - gap, 0);
339
+ const next = Math.min(Math.max(dragStartLow.value + delta, 0), ceiling);
340
+ lowProgress.value = next;
341
+ runOnJS(commitRangeFromProgress)(next, highProgress.value, false);
342
+ } else {
343
+ const floor = Math.min(lowProgress.value + gap, 1);
344
+ const next = Math.min(Math.max(dragStartHigh.value + delta, floor), 1);
345
+ highProgress.value = next;
346
+ runOnJS(commitRangeFromProgress)(lowProgress.value, next, false);
347
+ }
230
348
  }).onFinalize(() => {
231
349
  pressed.value = withSpring(0, KNOB_SPRING);
232
- runOnJS(commitFromProgress)(progress.value, true);
350
+ pressedLow.value = withSpring(0, KNOB_SPRING);
351
+ runOnJS(setDragging)(false);
352
+ if (isRange) {
353
+ runOnJS(commitRangeFromProgress)(lowProgress.value, highProgress.value, true);
354
+ } else {
355
+ runOnJS(commitFromProgress)(highProgress.value, true);
356
+ }
233
357
  });
234
358
  const tap = Gesture.Tap().enabled(!disabled).maxDuration(250).onEnd(event => {
235
359
  const travel = Math.max(trackWidth.value - thumbWidth, 1);
@@ -237,17 +361,33 @@ export const Slider = /*#__PURE__*/forwardRef(({
237
361
  // right-to-left counts back from the far end of the track.
238
362
  const along = sign === 1 ? event.x : trackWidth.value - event.x;
239
363
  const next = Math.min(Math.max((along - thumbWidth / 2) / travel, 0), 1);
240
- progress.value = withSpring(next, SPRING);
241
- runOnJS(commitFromProgress)(next, true);
364
+ if (!isRange) {
365
+ highProgress.value = withSpring(next, SPRING);
366
+ runOnJS(commitFromProgress)(next, true);
367
+ return;
368
+ }
369
+ if (pickThumb(event.x) === 'low') {
370
+ const bounded = Math.min(next, Math.max(highProgress.value - gap, 0));
371
+ lowProgress.value = withSpring(bounded, SPRING);
372
+ runOnJS(commitRangeFromProgress)(bounded, highProgress.value, true);
373
+ } else {
374
+ const bounded = Math.max(next, Math.min(lowProgress.value + gap, 1));
375
+ highProgress.value = withSpring(bounded, SPRING);
376
+ runOnJS(commitRangeFromProgress)(lowProgress.value, bounded, true);
377
+ }
242
378
  });
243
379
  const gesture = Gesture.Race(pan, tap);
244
380
 
245
- // The fill runs under the thumb rather than up to it, so the two never show
246
- // a seam between them as the thumb moves.
381
+ // The fill runs under both thumbs rather than up to them, so neither shows
382
+ // a seam against it as it moves. On a one-thumb slider `low` is 0, and this
383
+ // is the ordinary fill from the start of the track.
247
384
  const fillStyle = useAnimatedStyle(() => {
248
385
  const travel = Math.max(trackWidth.value - thumbWidth, 0);
249
386
  return {
250
- width: progress.value * travel + thumbWidth
387
+ width: (highProgress.value - lowProgress.value) * travel + thumbWidth,
388
+ transform: [{
389
+ translateX: lowProgress.value * travel * sign
390
+ }]
251
391
  };
252
392
  });
253
393
  const thumbStyle = useAnimatedStyle(() => {
@@ -256,7 +396,15 @@ export const Slider = /*#__PURE__*/forwardRef(({
256
396
  // has to travel the other way itself.
257
397
  return {
258
398
  transform: [{
259
- translateX: progress.value * travel * sign
399
+ translateX: highProgress.value * travel * sign
400
+ }]
401
+ };
402
+ });
403
+ const lowThumbStyle = useAnimatedStyle(() => {
404
+ const travel = Math.max(trackWidth.value - thumbWidth, 0);
405
+ return {
406
+ transform: [{
407
+ translateX: lowProgress.value * travel * sign
260
408
  }]
261
409
  };
262
410
  });
@@ -265,23 +413,45 @@ export const Slider = /*#__PURE__*/forwardRef(({
265
413
  scale: 1 - pressed.value * (1 - KNOB_PRESSED_SCALE)
266
414
  }]
267
415
  }));
416
+ const lowKnobStyle = useAnimatedStyle(() => ({
417
+ transform: [{
418
+ scale: 1 - pressedLow.value * (1 - KNOB_PRESSED_SCALE)
419
+ }]
420
+ }));
268
421
 
269
422
  // VoiceOver / TalkBack increment and decrement move by a single step.
270
- const nudge = dir => {
271
- const next = snap(value + dir * (step || 1), min, max, step);
272
- if (next === value) return;
423
+ const nudge = (dir, thumb = 'high') => {
424
+ if (!isRange) {
425
+ const next = snap(value + dir * (step || 1), min, max, step);
426
+ if (next === value) return;
427
+ if (haptics) {
428
+ lastTick.current = next;
429
+ selectionTick();
430
+ }
431
+ highProgress.value = withSpring(toFraction(next), SPRING);
432
+ emitChange(next);
433
+ emitCommit(next);
434
+ return;
435
+ }
436
+ const gapValue = minStepsBetweenThumbs * step;
437
+ const current = thumb === 'low' ? low : high;
438
+ const bounded = thumb === 'low' ? clampJS(current + dir * (step || 1), min, high - gapValue) : clampJS(current + dir * (step || 1), low + gapValue, max);
439
+ const next = snap(bounded, min, max, step);
440
+ if (next === current) return;
273
441
  if (haptics) {
274
442
  lastTick.current = next;
275
443
  selectionTick();
276
444
  }
277
- progress.value = withSpring(max > min ? (next - min) / (max - min) : 0, SPRING);
278
- emitChange(next);
279
- emitCommit(next);
445
+ const pair = thumb === 'low' ? [next, high] : [low, next];
446
+ (thumb === 'low' ? lowProgress : highProgress).value = withSpring(toFraction(next), SPRING);
447
+ emitRangeChange(pair);
448
+ rangeCommitRef.current?.(pair);
280
449
  };
281
- const onAccessibilityAction = event => {
282
- if (event.nativeEvent.actionName === 'increment') nudge(1);else if (event.nativeEvent.actionName === 'decrement') nudge(-1);
450
+ const accessibilityAction = thumb => event => {
451
+ if (event.nativeEvent.actionName === 'increment') nudge(1, thumb);else if (event.nativeEvent.actionName === 'decrement') nudge(-1, thumb);
283
452
  };
284
- const shownValue = formatValue ? formatValue(value) : String(Math.round(value));
453
+ const print = n => formatValue ? formatValue(n) : String(Math.round(n));
454
+ const shownValue = isRange ? `${print(low)} – ${print(high)}` : print(value);
285
455
  const header = label || showValue ? /*#__PURE__*/_jsxs(View, {
286
456
  className: slots.header({
287
457
  className: headerClassName
@@ -339,8 +509,8 @@ export const Slider = /*#__PURE__*/forwardRef(({
339
509
  className: slots.fill({
340
510
  className: fillClassName
341
511
  })
342
- }), /*#__PURE__*/_jsx(Animated.View, {
343
- style: [thumbStyle, {
512
+ }), isRange ? /*#__PURE__*/_jsx(Animated.View, {
513
+ style: [lowThumbStyle, {
344
514
  width: thumbWidth
345
515
  }],
346
516
  className: slots.thumb({
@@ -348,22 +518,53 @@ export const Slider = /*#__PURE__*/forwardRef(({
348
518
  }),
349
519
  accessible: true,
350
520
  accessibilityRole: "adjustable",
351
- accessibilityLabel: label,
521
+ accessibilityLabel: label ? `${label}, minimum` : 'Minimum',
352
522
  accessibilityState: {
353
523
  disabled
354
524
  },
355
525
  accessibilityValue: {
356
526
  min,
527
+ max: Math.round(high),
528
+ now: Math.round(low),
529
+ text: print(low)
530
+ },
531
+ accessibilityActions: [{
532
+ name: 'increment'
533
+ }, {
534
+ name: 'decrement'
535
+ }],
536
+ onAccessibilityAction: accessibilityAction('low'),
537
+ children: /*#__PURE__*/_jsx(Animated.View, {
538
+ style: lowKnobStyle,
539
+ className: slots.knob({
540
+ className: knobClassName
541
+ })
542
+ })
543
+ }) : null, /*#__PURE__*/_jsx(Animated.View, {
544
+ style: [thumbStyle, {
545
+ width: thumbWidth
546
+ }],
547
+ className: slots.thumb({
548
+ className: thumbClassName
549
+ }),
550
+ accessible: true,
551
+ accessibilityRole: "adjustable",
552
+ accessibilityLabel: isRange ? label ? `${label}, maximum` : 'Maximum' : label,
553
+ accessibilityState: {
554
+ disabled
555
+ },
556
+ accessibilityValue: {
557
+ min: isRange ? Math.round(low) : min,
357
558
  max,
358
- now: Math.round(value),
359
- text: shownValue
559
+ now: Math.round(isRange ? high : value),
560
+ text: isRange ? print(high) : shownValue
360
561
  },
361
562
  accessibilityActions: [{
362
563
  name: 'increment'
363
564
  }, {
364
565
  name: 'decrement'
365
566
  }],
366
- onAccessibilityAction: onAccessibilityAction,
567
+ onAccessibilityAction: accessibilityAction('high'),
367
568
  children: /*#__PURE__*/_jsx(Animated.View, {
368
569
  style: knobStyle,
369
570
  className: slots.knob({