panelui-native 0.20.1 → 0.22.3

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 (44) hide show
  1. package/lib/module/components/bottom-sheet/index.js +35 -10
  2. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  3. package/lib/module/components/flow/flow-paths.js +18 -0
  4. package/lib/module/components/flow/flow-paths.js.map +1 -1
  5. package/lib/module/components/flow/index.js +156 -31
  6. package/lib/module/components/flow/index.js.map +1 -1
  7. package/lib/module/components/input/index.js +15 -5
  8. package/lib/module/components/input/index.js.map +1 -1
  9. package/lib/module/components/number-input/index.js +350 -0
  10. package/lib/module/components/number-input/index.js.map +1 -0
  11. package/lib/module/components/signature/index.js +7 -3
  12. package/lib/module/components/signature/index.js.map +1 -1
  13. package/lib/module/components/switch/index.js +7 -2
  14. package/lib/module/components/switch/index.js.map +1 -1
  15. package/lib/module/icons/index.js +39 -1
  16. package/lib/module/icons/index.js.map +1 -1
  17. package/lib/module/index.js +5 -0
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  20. package/lib/typescript/src/components/flow/flow-paths.d.ts +8 -0
  21. package/lib/typescript/src/components/flow/flow-paths.d.ts.map +1 -1
  22. package/lib/typescript/src/components/flow/index.d.ts +13 -1
  23. package/lib/typescript/src/components/flow/index.d.ts.map +1 -1
  24. package/lib/typescript/src/components/input/index.d.ts.map +1 -1
  25. package/lib/typescript/src/components/number-input/index.d.ts +169 -0
  26. package/lib/typescript/src/components/number-input/index.d.ts.map +1 -0
  27. package/lib/typescript/src/components/signature/index.d.ts +4 -0
  28. package/lib/typescript/src/components/signature/index.d.ts.map +1 -1
  29. package/lib/typescript/src/components/switch/index.d.ts +7 -0
  30. package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
  31. package/lib/typescript/src/icons/index.d.ts +10 -1
  32. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  33. package/lib/typescript/src/index.d.ts +2 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/components/bottom-sheet/index.tsx +52 -21
  37. package/src/components/flow/flow-paths.ts +14 -0
  38. package/src/components/flow/index.tsx +197 -31
  39. package/src/components/input/index.tsx +15 -5
  40. package/src/components/number-input/index.tsx +373 -0
  41. package/src/components/signature/index.tsx +13 -3
  42. package/src/components/switch/index.tsx +16 -2
  43. package/src/icons/index.tsx +32 -2
  44. package/src/index.ts +8 -0
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * NumberInput — a value stepped by two buttons or typed by hand.
5
+ *
6
+ * A number is not a slider: past a handful of steps, dragging to 47 is worse
7
+ * than tapping + a few times or just typing it. So the control keeps both
8
+ * doors open — a − and a + at the ends for nudging, and an editable field in
9
+ * the middle for jumping straight to a value — and reconciles them through a
10
+ * single clamped, step-snapped number.
11
+ *
12
+ * The two ends are not just tap targets. Hold one down and it repeats, after a
13
+ * short delay and then faster, the way a native stepper does — so walking from
14
+ * 0 to 200 is a press, not two hundred of them. The repeat reads the live
15
+ * value from a ref rather than a closure, so it never strides off a stale
16
+ * number.
17
+ *
18
+ * Typing is allowed to be briefly invalid — an empty field, a lone `-`, a
19
+ * trailing `.` — because clamping every keystroke fights the person mid-number.
20
+ * The field commits (parses, snaps, clamps) on blur, and falls back to the
21
+ * last good value when what is left cannot be read as a number.
22
+ *
23
+ * ```tsx
24
+ * <NumberInput defaultValue={1} min={0} max={10} />
25
+ * <NumberInput label="Quantity" value={qty} onValueChange={setQty} />
26
+ * ```
27
+ *
28
+ * Runs controlled (`value` + `onValueChange`) or uncontrolled (`defaultValue`).
29
+ */
30
+ import { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
31
+ import { TextInput, View } from 'react-native';
32
+ import { tv } from 'tailwind-variants';
33
+ import { useCSSVariable } from 'uniwind';
34
+ import { MinusIcon, PlusIcon } from "../../icons/index.js";
35
+ import { AnimatedPressable } from "../../primitives/animated-pressable.js";
36
+ import { Text } from "../../primitives/text.js";
37
+ import { selectionTick } from "../../utils/haptics.js";
38
+ import { Label } from "../label/index.js";
39
+
40
+ /** Wait before a held button starts repeating — a tap must not trip it. */
41
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
42
+ const REPEAT_DELAY = 400;
43
+ /** Interval between repeats once holding — fast enough to cover ground. */
44
+ const REPEAT_INTERVAL = 80;
45
+ const numberInputVariants = tv({
46
+ slots: {
47
+ container: 'w-full gap-1.5',
48
+ control: 'w-full flex-row items-center overflow-hidden rounded-lg border',
49
+ button: 'h-full items-center justify-center',
50
+ // The field takes the full height so the digits centre against the same
51
+ // box the two glyphs do, rather than against their own line's height.
52
+ field: 'h-full flex-1 text-center font-medium text-foreground',
53
+ description: 'text-sm text-muted-foreground',
54
+ error: 'text-sm text-destructive'
55
+ },
56
+ variants: {
57
+ variant: {
58
+ // Matches Input: outline draws its own edge on the page; filled sits
59
+ // inside a card, where a second border reads as a seam.
60
+ outline: {
61
+ control: 'border-input bg-background'
62
+ },
63
+ filled: {
64
+ control: 'border-transparent bg-muted'
65
+ }
66
+ },
67
+ size: {
68
+ sm: {
69
+ control: 'h-10',
70
+ button: 'w-10'
71
+ },
72
+ md: {
73
+ control: 'h-12',
74
+ button: 'w-12'
75
+ },
76
+ lg: {
77
+ control: 'h-14',
78
+ button: 'w-14'
79
+ }
80
+ },
81
+ invalid: {
82
+ true: {
83
+ control: 'border-destructive'
84
+ }
85
+ },
86
+ disabled: {
87
+ true: {
88
+ container: 'opacity-[0.64]'
89
+ }
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ variant: 'outline',
94
+ size: 'md'
95
+ }
96
+ });
97
+
98
+ /** Icon size per control size — the glyph scales with its target. */
99
+ const ICON_SIZE = {
100
+ sm: 16,
101
+ md: 18,
102
+ lg: 20
103
+ };
104
+
105
+ /**
106
+ * The field's job is not to be a box of its own: it has to put the number on
107
+ * exactly the axis the − and the + sit on, and in the exact middle between
108
+ * them. An editable field does not do that unhelped — it arrives with padding
109
+ * and, on Android, with font padding above and below the line, all of which
110
+ * shift the digits off centre. Zeroing both and centring the line in the full
111
+ * height leaves geometry as the only thing placing the number.
112
+ *
113
+ * Tabular figures on top of that, so the digits keep the same advance widths
114
+ * while the value counts — a 1 that is narrower than a 7 makes a centred
115
+ * number appear to shuffle sideways as it steps.
116
+ */
117
+ const FIELD_BASE = {
118
+ paddingVertical: 0,
119
+ paddingHorizontal: 0,
120
+ includeFontPadding: false,
121
+ textAlignVertical: 'center',
122
+ fontVariant: ['tabular-nums']
123
+ };
124
+
125
+ /**
126
+ * Font size is set here rather than by a text class because those bring a line
127
+ * height with them: a 16px number in a 24px line box. The extra leading is
128
+ * added above the digits, so centring that box leaves the number sitting a
129
+ * couple of pixels below the − and the + it is meant to line up with — close
130
+ * enough to look like a mistake rather than a difference. Sized this way the
131
+ * line box is the font's own, and centring it centres the digits.
132
+ */
133
+ const FIELD_STYLE = {
134
+ sm: {
135
+ ...FIELD_BASE,
136
+ fontSize: 14
137
+ },
138
+ md: {
139
+ ...FIELD_BASE,
140
+ fontSize: 16
141
+ },
142
+ lg: {
143
+ ...FIELD_BASE,
144
+ fontSize: 16
145
+ }
146
+ };
147
+ /** Decimals implied by `step`, so display and math round to the same place. */
148
+ function precisionOf(step) {
149
+ if (!isFinite(step)) return 0;
150
+ const s = String(step);
151
+ const dot = s.indexOf('.');
152
+ return dot === -1 ? 0 : s.length - dot - 1;
153
+ }
154
+ function clamp(value, min, max) {
155
+ return Math.min(Math.max(value, min), max);
156
+ }
157
+
158
+ /**
159
+ * Snaps to the nearest step from a finite base (or 0 when `min` is open), then
160
+ * rounds to the step's precision so 0.1 + 0.2 does not drift to 0.30000004.
161
+ */
162
+ function normalize(value, min, max, step) {
163
+ const base = isFinite(min) ? min : 0;
164
+ const snapped = isFinite(step) && step > 0 ? Math.round((value - base) / step) * step + base : value;
165
+ const p = precisionOf(step);
166
+ const factor = 10 ** p;
167
+ return clamp(Math.round(snapped * factor) / factor, min, max);
168
+ }
169
+
170
+ /**
171
+ * A number stepped by buttons or typed by hand, reconciled to one clamped,
172
+ * step-snapped value. See the file header for why it keeps both affordances.
173
+ */
174
+ export const NumberInput = /*#__PURE__*/forwardRef(({
175
+ className,
176
+ containerClassName,
177
+ value: controlledValue,
178
+ defaultValue,
179
+ min = -Infinity,
180
+ max = Infinity,
181
+ step = 1,
182
+ onValueChange,
183
+ formatValue,
184
+ editable = true,
185
+ variant = 'outline',
186
+ size = 'md',
187
+ disabled,
188
+ label,
189
+ description,
190
+ errorMessage,
191
+ isRequired,
192
+ haptics,
193
+ placeholder,
194
+ onFocus,
195
+ onBlur,
196
+ returnKeyType
197
+ }, ref) => {
198
+ const isControlled = controlledValue !== undefined;
199
+ const initial = normalize(controlledValue ?? defaultValue ?? (isFinite(min) ? min : 0), min, max, step);
200
+ const [uncontrolled, setUncontrolled] = useState(initial);
201
+ const value = isControlled ? normalize(controlledValue, min, max, step) : uncontrolled;
202
+
203
+ // The repeat timers read the live value through a ref, so a held button
204
+ // keeps counting from where it is rather than from the value it closed over.
205
+ const valueRef = useRef(value);
206
+ valueRef.current = value;
207
+ const invalid = !!errorMessage;
208
+ const foreground = useCSSVariable('--color-foreground');
209
+ const iconColor = typeof foreground === 'string' ? foreground : undefined;
210
+ const slots = numberInputVariants({
211
+ variant,
212
+ size,
213
+ invalid,
214
+ disabled: !!disabled
215
+ });
216
+ const format = useCallback(v => formatValue ? formatValue(v) : String(v), [formatValue]);
217
+
218
+ // `text` is what the field shows while focused; it is allowed to be
219
+ // half-typed. Away from focus it always mirrors the committed value.
220
+ const [text, setText] = useState(() => format(value));
221
+ const [focused, setFocused] = useState(false);
222
+ useEffect(() => {
223
+ if (!focused) setText(format(value));
224
+ }, [value, focused, format]);
225
+ const commit = useCallback((next, tick) => {
226
+ const clamped = normalize(next, min, max, step);
227
+ if (tick && haptics) selectionTick();
228
+ if (!isControlled) setUncontrolled(clamped);
229
+ if (clamped !== value) onValueChange?.(clamped);
230
+ }, [min, max, step, haptics, isControlled, value, onValueChange]);
231
+
232
+ // --- hold-to-repeat -----------------------------------------------------
233
+ const delayRef = useRef(null);
234
+ const intervalRef = useRef(null);
235
+ const stopRepeat = useCallback(() => {
236
+ if (delayRef.current) clearTimeout(delayRef.current);
237
+ if (intervalRef.current) clearInterval(intervalRef.current);
238
+ delayRef.current = null;
239
+ intervalRef.current = null;
240
+ }, []);
241
+ useEffect(() => stopRepeat, [stopRepeat]);
242
+ const startRepeat = useCallback(direction => {
243
+ const nudge = () => commit(valueRef.current + direction * step, true);
244
+ nudge();
245
+ delayRef.current = setTimeout(() => {
246
+ intervalRef.current = setInterval(nudge, REPEAT_INTERVAL);
247
+ }, REPEAT_DELAY);
248
+ }, [commit, step]);
249
+ const atMin = value <= min;
250
+ const atMax = value >= max;
251
+ const handleEndEditing = useCallback(() => {
252
+ const parsed = parseFloat(text);
253
+ // An empty or unreadable field falls back to the last good value rather
254
+ // than snapping to a surprising 0.
255
+ commit(Number.isNaN(parsed) ? value : parsed, false);
256
+ setFocused(false);
257
+ setText(format(Number.isNaN(parsed) ? value : normalize(parsed, min, max, step)));
258
+ }, [text, value, commit, format, min, max, step]);
259
+ return /*#__PURE__*/_jsxs(View, {
260
+ className: slots.container({
261
+ className: containerClassName
262
+ }),
263
+ children: [label ? /*#__PURE__*/_jsx(Label, {
264
+ isRequired: isRequired,
265
+ isInvalid: invalid,
266
+ isDisabled: !!disabled,
267
+ children: label
268
+ }) : null, /*#__PURE__*/_jsxs(View, {
269
+ className: slots.control({
270
+ className
271
+ }),
272
+ children: [/*#__PURE__*/_jsx(AnimatedPressable, {
273
+ className: slots.button(),
274
+ disabled: disabled || atMin,
275
+ pressOpacity: 0.6,
276
+ onPressIn: () => {
277
+ if (!disabled && !atMin) startRepeat(-1);
278
+ },
279
+ onPressOut: stopRepeat,
280
+ accessibilityRole: "button",
281
+ accessibilityLabel: `Decrease ${label ?? 'value'}`,
282
+ accessibilityState: {
283
+ disabled: disabled || atMin
284
+ },
285
+ style: atMin ? {
286
+ opacity: 0.4
287
+ } : undefined,
288
+ children: /*#__PURE__*/_jsx(MinusIcon, {
289
+ size: ICON_SIZE[size],
290
+ color: iconColor,
291
+ strokeWidth: 2
292
+ })
293
+ }), /*#__PURE__*/_jsx(TextInput, {
294
+ ref: ref,
295
+ editable: editable && !disabled,
296
+ value: text,
297
+ keyboardType: precisionOf(step) > 0 ? 'decimal-pad' : 'number-pad',
298
+ placeholder: placeholder,
299
+ returnKeyType: returnKeyType,
300
+ selectTextOnFocus: true,
301
+ onChangeText: setText,
302
+ onFocus: e => {
303
+ setFocused(true);
304
+ onFocus?.(e);
305
+ },
306
+ onBlur: e => {
307
+ handleEndEditing();
308
+ onBlur?.(e);
309
+ },
310
+ onSubmitEditing: handleEndEditing,
311
+ accessibilityLabel: label,
312
+ accessibilityState: {
313
+ disabled: !!disabled
314
+ },
315
+ "aria-required": isRequired,
316
+ "aria-invalid": invalid,
317
+ className: slots.field(),
318
+ style: FIELD_STYLE[size]
319
+ }), /*#__PURE__*/_jsx(AnimatedPressable, {
320
+ className: slots.button(),
321
+ disabled: disabled || atMax,
322
+ pressOpacity: 0.6,
323
+ onPressIn: () => {
324
+ if (!disabled && !atMax) startRepeat(1);
325
+ },
326
+ onPressOut: stopRepeat,
327
+ accessibilityRole: "button",
328
+ accessibilityLabel: `Increase ${label ?? 'value'}`,
329
+ accessibilityState: {
330
+ disabled: disabled || atMax
331
+ },
332
+ style: atMax ? {
333
+ opacity: 0.4
334
+ } : undefined,
335
+ children: /*#__PURE__*/_jsx(PlusIcon, {
336
+ size: ICON_SIZE[size],
337
+ color: iconColor
338
+ })
339
+ })]
340
+ }), errorMessage ? /*#__PURE__*/_jsx(Text, {
341
+ className: slots.error(),
342
+ children: errorMessage
343
+ }) : description ? /*#__PURE__*/_jsx(Text, {
344
+ className: slots.description(),
345
+ children: description
346
+ }) : null]
347
+ });
348
+ });
349
+ NumberInput.displayName = 'NumberInput';
350
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useRef","useState","TextInput","View","tv","useCSSVariable","MinusIcon","PlusIcon","AnimatedPressable","Text","selectionTick","Label","jsx","_jsx","jsxs","_jsxs","REPEAT_DELAY","REPEAT_INTERVAL","numberInputVariants","slots","container","control","button","field","description","error","variants","variant","outline","filled","size","sm","md","lg","invalid","true","disabled","defaultVariants","ICON_SIZE","FIELD_BASE","paddingVertical","paddingHorizontal","includeFontPadding","textAlignVertical","fontVariant","FIELD_STYLE","fontSize","precisionOf","step","isFinite","s","String","dot","indexOf","length","clamp","value","min","max","Math","normalize","base","snapped","round","p","factor","NumberInput","className","containerClassName","controlledValue","defaultValue","Infinity","onValueChange","formatValue","editable","label","errorMessage","isRequired","haptics","placeholder","onFocus","onBlur","returnKeyType","ref","isControlled","undefined","initial","uncontrolled","setUncontrolled","valueRef","current","foreground","iconColor","format","v","text","setText","focused","setFocused","commit","next","tick","clamped","delayRef","intervalRef","stopRepeat","clearTimeout","clearInterval","startRepeat","direction","nudge","setTimeout","setInterval","atMin","atMax","handleEndEditing","parsed","parseFloat","Number","isNaN","children","isInvalid","isDisabled","pressOpacity","onPressIn","onPressOut","accessibilityRole","accessibilityLabel","accessibilityState","style","opacity","color","strokeWidth","keyboardType","selectTextOnFocus","onChangeText","e","onSubmitEditing","displayName"],"sourceRoot":"../../../../src","sources":["components/number-input/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -55,7 +55,7 @@ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
55
55
  import Animated, { runOnJS, useAnimatedProps, useSharedValue } from 'react-native-reanimated';
56
56
  import Svg, { Path } from 'react-native-svg';
57
57
  import { tv } from 'tailwind-variants';
58
- import { PencilIcon, RotateCcwIcon, TrashIcon } from "../../icons/index.js";
58
+ import { PencilIcon, RotateCcwIcon, RotateCwIcon, TrashIcon } from "../../icons/index.js";
59
59
  import { AnimatedPressable } from "../../primitives/animated-pressable.js";
60
60
  import { Text } from "../../primitives/text.js";
61
61
  import { cn } from "../../utils/cn.js";
@@ -457,8 +457,8 @@ function SignatureToolbar({
457
457
  }
458
458
  SignatureToolbar.displayName = 'Signature.Toolbar';
459
459
  /**
460
- * The two pad controls are the same round button with a different icon and a
461
- * different spoken name, so they are built rather than written twice.
460
+ * The pad controls are all the same round button with a different icon and a
461
+ * different spoken name, so they are built rather than written out each time.
462
462
  */
463
463
  function circleButton(Icon, label, displayName) {
464
464
  function Control({
@@ -490,11 +490,15 @@ function circleButton(Icon, label, displayName) {
490
490
  /** Removes the last stroke. Wire it to `ref.current?.undo()`. */
491
491
  const SignatureUndo = circleButton(RotateCcwIcon, 'Undo last stroke', 'Signature.Undo');
492
492
 
493
+ /** Puts back the last undone stroke. Wire it to `ref.current?.redo()`. */
494
+ const SignatureRedo = circleButton(RotateCwIcon, 'Redo last stroke', 'Signature.Redo');
495
+
493
496
  /** Drops every stroke. Wire it to `ref.current?.clear()`. */
494
497
  const SignatureClear = circleButton(TrashIcon, 'Clear signature', 'Signature.Clear');
495
498
  export const Signature = Object.assign(SignatureForwarded, {
496
499
  Toolbar: SignatureToolbar,
497
500
  Undo: SignatureUndo,
501
+ Redo: SignatureRedo,
498
502
  Clear: SignatureClear
499
503
  });
500
504
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","useCSSVariable","Gesture","GestureDetector","Animated","runOnJS","useAnimatedProps","useSharedValue","Svg","Path","tv","PencilIcon","RotateCcwIcon","TrashIcon","AnimatedPressable","Text","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedPath","createAnimatedComponent","FileSystem","require","captureRef","mod","hasSignatureFileSystem","hasSignatureRaster","signatureVariants","slots","root","pad","placeholder","guide","toolbar","variants","size","sm","md","lg","full","disabled","true","defaultVariants","strokePath","points","count","length","d","i","px","py","x","y","SignatureRoot","className","strokeColor","strokeWidth","minDistance","guideline","guidelineLabel","onBegin","onEnd","onChange","padClassName","placeholderClassName","guideClassName","props","ref","strokes","setStrokes","undone","setUndone","layout","setLayout","width","height","live","padRef","inkToken","ink","changeRef","current","beginRef","endRef","reported","commit","begin","pan","Pan","averageTouches","enabled","event","value","onUpdate","last","dx","dy","onFinalize","liveProps","svgDocument","Math","round","paths","map","join","rasterise","scale","Error","format","quality","result","clear","undo","undefined","stack","slice","redo","restored","isEmpty","strokeCount","toSVG","toDataURL","encodeURIComponent","uri","read","readAsStringAsync","base64","encoding","save","options","directory","filename","base","documentDirectory","Paths","document","name","Date","now","dir","endsWith","temporary","copy","copyAsync","from","to","File","file","create","overwrite","write","writeAsStringAsync","empty","children","gesture","collapsable","onLayout","nativeEvent","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","accessibilityState","style","top","pointerEvents","muted","index","fill","stroke","strokeLinecap","strokeLinejoin","animatedProps","SignatureForwarded","displayName","SignatureToolbar","circleButton","Icon","label","Control","hitSlop","SignatureUndo","SignatureClear","Signature","Object","assign","Toolbar","Undo","Clear"],"sourceRoot":"../../../../src","sources":["components/signature/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","useCSSVariable","Gesture","GestureDetector","Animated","runOnJS","useAnimatedProps","useSharedValue","Svg","Path","tv","PencilIcon","RotateCcwIcon","RotateCwIcon","TrashIcon","AnimatedPressable","Text","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedPath","createAnimatedComponent","FileSystem","require","captureRef","mod","hasSignatureFileSystem","hasSignatureRaster","signatureVariants","slots","root","pad","placeholder","guide","toolbar","variants","size","sm","md","lg","full","disabled","true","defaultVariants","strokePath","points","count","length","d","i","px","py","x","y","SignatureRoot","className","strokeColor","strokeWidth","minDistance","guideline","guidelineLabel","onBegin","onEnd","onChange","padClassName","placeholderClassName","guideClassName","props","ref","strokes","setStrokes","undone","setUndone","layout","setLayout","width","height","live","padRef","inkToken","ink","changeRef","current","beginRef","endRef","reported","commit","begin","pan","Pan","averageTouches","enabled","event","value","onUpdate","last","dx","dy","onFinalize","liveProps","svgDocument","Math","round","paths","map","join","rasterise","scale","Error","format","quality","result","clear","undo","undefined","stack","slice","redo","restored","isEmpty","strokeCount","toSVG","toDataURL","encodeURIComponent","uri","read","readAsStringAsync","base64","encoding","save","options","directory","filename","base","documentDirectory","Paths","document","name","Date","now","dir","endsWith","temporary","copy","copyAsync","from","to","File","file","create","overwrite","write","writeAsStringAsync","empty","children","gesture","collapsable","onLayout","nativeEvent","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","accessibilityState","style","top","pointerEvents","muted","index","fill","stroke","strokeLinecap","strokeLinejoin","animatedProps","SignatureForwarded","displayName","SignatureToolbar","circleButton","Icon","label","Control","hitSlop","SignatureUndo","SignatureRedo","SignatureClear","Signature","Object","assign","Toolbar","Undo","Redo","Clear"],"sourceRoot":"../../../../src","sources":["components/signature/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import { Pressable, View } from 'react-native';
5
5
  import Animated, { interpolate, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
6
6
  import { tv } from 'tailwind-variants';
7
7
  import { getNativeUI } from "../../native/index.js";
8
+ import { selectionTick } from "../../utils/haptics.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const SPRING = {
10
11
  damping: 18,
@@ -53,7 +54,8 @@ export const Switch = /*#__PURE__*/forwardRef(({
53
54
  disabled,
54
55
  size = 'md',
55
56
  native,
56
- label
57
+ label,
58
+ haptics
57
59
  }, ref) => {
58
60
  const progress = useSharedValue(value ? 1 : 0);
59
61
  const nativeUI = native ? getNativeUI() : null;
@@ -102,7 +104,10 @@ export const Switch = /*#__PURE__*/forwardRef(({
102
104
  disabled: !!disabled
103
105
  },
104
106
  disabled: disabled,
105
- onPress: () => onValueChange?.(!value),
107
+ onPress: () => {
108
+ if (haptics) selectionTick();
109
+ onValueChange?.(!value);
110
+ },
106
111
  hitSlop: 8,
107
112
  children: /*#__PURE__*/_jsxs(View, {
108
113
  className: slots.track({
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","interpolate","useAnimatedStyle","useSharedValue","withSpring","tv","getNativeUI","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","switchVariants","slots","track","activeTrack","thumb","variants","size","sm","md","disabled","true","defaultVariants","TRAVEL","Switch","className","value","onValueChange","native","label","ref","progress","nativeUI","thumbStyle","transform","translateX","activeTrackStyle","opacity","Host","NativeSwitch","matchContents","children","next","accessibilityRole","accessibilityState","checked","onPress","hitSlop","style","displayName"],"sourceRoot":"../../../../src","sources":["components/switch/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","interpolate","useAnimatedStyle","useSharedValue","withSpring","tv","getNativeUI","selectionTick","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","switchVariants","slots","track","activeTrack","thumb","variants","size","sm","md","disabled","true","defaultVariants","TRAVEL","Switch","className","value","onValueChange","native","label","haptics","ref","progress","nativeUI","thumbStyle","transform","translateX","activeTrackStyle","opacity","Host","NativeSwitch","matchContents","children","next","accessibilityRole","accessibilityState","checked","onPress","hitSlop","style","displayName"],"sourceRoot":"../../../../src","sources":["components/switch/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -82,9 +82,18 @@ export function CheckIcon({
82
82
  })
83
83
  });
84
84
  }
85
+
86
+ /**
87
+ * A single bar. Its weight is a prop because it has two jobs: it is the
88
+ * indeterminate mark inside a checkbox, where it has to carry the same weight
89
+ * as the check it stands in for, and it is the decrement half of a stepper,
90
+ * where it has to match the plus beside it. Those are different weights, and a
91
+ * bar that is heavier than the + it pairs with reads as a different glyph.
92
+ */
85
93
  export function MinusIcon({
86
94
  size = 14,
87
95
  color,
96
+ strokeWidth = 3,
88
97
  ...props
89
98
  }) {
90
99
  const resolved = useResolvedColor(color, '#fff');
@@ -97,7 +106,7 @@ export function MinusIcon({
97
106
  children: /*#__PURE__*/_jsx(Path, {
98
107
  d: "M5 12h14",
99
108
  stroke: resolved,
100
- strokeWidth: 3,
109
+ strokeWidth: strokeWidth,
101
110
  strokeLinecap: "round",
102
111
  strokeLinejoin: "round"
103
112
  })
@@ -885,6 +894,35 @@ export function RotateCcwIcon({
885
894
  });
886
895
  }
887
896
 
897
+ /** An arrow curling clockwise — redo, put back what was undone. */
898
+ export function RotateCwIcon({
899
+ size = 16,
900
+ color,
901
+ ...props
902
+ }) {
903
+ const resolved = useResolvedColor(color, '#737373');
904
+ return /*#__PURE__*/_jsxs(Svg, {
905
+ width: size,
906
+ height: size,
907
+ viewBox: "0 0 24 24",
908
+ fill: "none",
909
+ ...props,
910
+ children: [/*#__PURE__*/_jsx(Path, {
911
+ d: "M21 12a9 9 0 1 1-2.64-6.36L21 8",
912
+ stroke: resolved,
913
+ strokeWidth: 2,
914
+ strokeLinecap: "round",
915
+ strokeLinejoin: "round"
916
+ }), /*#__PURE__*/_jsx(Path, {
917
+ d: "M21 3v5h-5",
918
+ stroke: resolved,
919
+ strokeWidth: 2,
920
+ strokeLinecap: "round",
921
+ strokeLinejoin: "round"
922
+ })]
923
+ });
924
+ }
925
+
888
926
  /** A bin — discard what is there. */
889
927
  export function TrashIcon({
890
928
  size = 16,