panelui-native 0.16.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/lib/module/components/bottom-sheet/index.js +38 -10
  2. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  3. package/lib/module/components/checkbox/index.js +24 -11
  4. package/lib/module/components/checkbox/index.js.map +1 -1
  5. package/lib/module/components/field/index.js +337 -0
  6. package/lib/module/components/field/index.js.map +1 -0
  7. package/lib/module/components/flow/flow-paths.js +378 -0
  8. package/lib/module/components/flow/flow-paths.js.map +1 -0
  9. package/lib/module/components/flow/index.js +1598 -0
  10. package/lib/module/components/flow/index.js.map +1 -0
  11. package/lib/module/components/form/index.js +77 -0
  12. package/lib/module/components/form/index.js.map +1 -0
  13. package/lib/module/components/form/use-field.js +50 -0
  14. package/lib/module/components/form/use-field.js.map +1 -0
  15. package/lib/module/components/form/use-form.js +217 -0
  16. package/lib/module/components/form/use-form.js.map +1 -0
  17. package/lib/module/components/frame/index.js +124 -22
  18. package/lib/module/components/frame/index.js.map +1 -1
  19. package/lib/module/components/otp-input/index.js +303 -0
  20. package/lib/module/components/otp-input/index.js.map +1 -0
  21. package/lib/module/components/rating/index.js +339 -0
  22. package/lib/module/components/rating/index.js.map +1 -0
  23. package/lib/module/components/signature/index.js +500 -0
  24. package/lib/module/components/signature/index.js.map +1 -0
  25. package/lib/module/components/slider/index.js +14 -1
  26. package/lib/module/components/slider/index.js.map +1 -1
  27. package/lib/module/icons/index.js +247 -0
  28. package/lib/module/icons/index.js.map +1 -1
  29. package/lib/module/index.js +7 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/typescript/src/components/bottom-sheet/index.d.ts +15 -1
  32. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  33. package/lib/typescript/src/components/checkbox/index.d.ts +8 -0
  34. package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
  35. package/lib/typescript/src/components/field/index.d.ts +94 -0
  36. package/lib/typescript/src/components/field/index.d.ts.map +1 -0
  37. package/lib/typescript/src/components/flow/flow-paths.d.ts +89 -0
  38. package/lib/typescript/src/components/flow/flow-paths.d.ts.map +1 -0
  39. package/lib/typescript/src/components/flow/index.d.ts +310 -0
  40. package/lib/typescript/src/components/flow/index.d.ts.map +1 -0
  41. package/lib/typescript/src/components/form/index.d.ts +64 -0
  42. package/lib/typescript/src/components/form/index.d.ts.map +1 -0
  43. package/lib/typescript/src/components/form/use-field.d.ts +16 -0
  44. package/lib/typescript/src/components/form/use-field.d.ts.map +1 -0
  45. package/lib/typescript/src/components/form/use-form.d.ts +37 -0
  46. package/lib/typescript/src/components/form/use-form.d.ts.map +1 -0
  47. package/lib/typescript/src/components/frame/index.d.ts +39 -2
  48. package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
  49. package/lib/typescript/src/components/otp-input/index.d.ts +141 -0
  50. package/lib/typescript/src/components/otp-input/index.d.ts.map +1 -0
  51. package/lib/typescript/src/components/rating/index.d.ts +122 -0
  52. package/lib/typescript/src/components/rating/index.d.ts.map +1 -0
  53. package/lib/typescript/src/components/signature/index.d.ts +254 -0
  54. package/lib/typescript/src/components/signature/index.d.ts.map +1 -0
  55. package/lib/typescript/src/components/slider/index.d.ts +6 -0
  56. package/lib/typescript/src/components/slider/index.d.ts.map +1 -1
  57. package/lib/typescript/src/icons/index.d.ts +25 -0
  58. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  59. package/lib/typescript/src/index.d.ts +8 -2
  60. package/lib/typescript/src/index.d.ts.map +1 -1
  61. package/package.json +9 -1
  62. package/src/components/bottom-sheet/index.tsx +50 -12
  63. package/src/components/checkbox/index.tsx +40 -12
  64. package/src/components/field/index.tsx +329 -0
  65. package/src/components/flow/flow-paths.ts +348 -0
  66. package/src/components/flow/index.tsx +1924 -0
  67. package/src/components/form/index.tsx +85 -0
  68. package/src/components/form/use-field.ts +65 -0
  69. package/src/components/form/use-form.ts +252 -0
  70. package/src/components/frame/index.tsx +162 -14
  71. package/src/components/otp-input/index.tsx +396 -0
  72. package/src/components/rating/index.tsx +416 -0
  73. package/src/components/signature/index.tsx +681 -0
  74. package/src/components/slider/index.tsx +20 -1
  75. package/src/icons/index.tsx +185 -0
  76. package/src/index.ts +78 -0
@@ -0,0 +1,500 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Signature — a surface you sign with a finger, and a handle for getting the
5
+ * result back out.
6
+ *
7
+ * ```tsx
8
+ * const pad = useRef<SignatureHandle>(null);
9
+ *
10
+ * <Signature ref={pad} guideline />
11
+ * <Button onPress={() => pad.current?.save({ filename: 'agreement' })}>
12
+ * Finish signing
13
+ * </Button>
14
+ * ```
15
+ *
16
+ * ## Why the stroke never reaches React
17
+ *
18
+ * A finger produces touch events far faster than a component tree can usefully
19
+ * re-render, and a signature is exactly the case where the lag shows: the line
20
+ * trails the fingertip and the whole thing feels like drawing through syrup.
21
+ *
22
+ * So the stroke being drawn lives in a shared value and is turned into an SVG
23
+ * `d` string by a worklet on the UI thread — React is not involved in a single
24
+ * frame of it. When the finger lifts, that one finished string crosses to
25
+ * JavaScript once and becomes a static path. Committed strokes are ordinary
26
+ * elements that never animate again, so the hundredth stroke costs what the
27
+ * first one did.
28
+ *
29
+ * Points closer together than `minDistance` are dropped as they arrive. A slow
30
+ * finger otherwise emits a point per frame in the same spot, which is a longer
31
+ * path describing the same shape.
32
+ *
33
+ * ## Smoothing
34
+ *
35
+ * Raw touch points joined with straight lines look like a seismograph. Each
36
+ * segment is drawn as a quadratic curve through the midpoint between two
37
+ * points instead — the point itself becomes the control handle, the midpoints
38
+ * become the anchors, and consecutive curves meet with a shared tangent. It
39
+ * needs no lookahead, so a point can be appended to a stroke already on screen
40
+ * without redrawing what came before it differently.
41
+ *
42
+ * ## Getting it out
43
+ *
44
+ * `toSVG()` is pure string building and always works. Writing a file needs
45
+ * `expo-file-system`, and rasterising to PNG needs `react-native-view-shot` as
46
+ * well; both are optional and both are resolved lazily, so a project that only
47
+ * ever reads the SVG installs neither. Asking for something the missing
48
+ * package provides throws with its name in the message rather than failing
49
+ * somewhere further down.
50
+ */
51
+ import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
52
+ import { View } from 'react-native';
53
+ import { useCSSVariable } from 'uniwind';
54
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
55
+ import Animated, { runOnJS, useAnimatedProps, useSharedValue } from 'react-native-reanimated';
56
+ import Svg, { Path } from 'react-native-svg';
57
+ import { tv } from 'tailwind-variants';
58
+ import { PencilIcon, RotateCcwIcon, TrashIcon } from "../../icons/index.js";
59
+ import { AnimatedPressable } from "../../primitives/animated-pressable.js";
60
+ import { Text } from "../../primitives/text.js";
61
+ import { cn } from "../../utils/cn.js";
62
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
63
+ const AnimatedPath = Animated.createAnimatedComponent(Path);
64
+
65
+ /**
66
+ * `expo-file-system`, or null when it is not installed. Resolved once at module
67
+ * load, the way every optional dependency in the library is.
68
+ */
69
+ const FileSystem = (() => {
70
+ try {
71
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
72
+ return require('expo-file-system');
73
+ } catch {
74
+ return null;
75
+ }
76
+ })();
77
+
78
+ /** `react-native-view-shot`'s capture function, or null. PNG export only. */
79
+ const captureRef = (() => {
80
+ try {
81
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
82
+ const mod = require('react-native-view-shot');
83
+ return mod?.captureRef ?? null;
84
+ } catch {
85
+ return null;
86
+ }
87
+ })();
88
+
89
+ /** True when a signature can be written to a file. */
90
+ export const hasSignatureFileSystem = FileSystem !== null;
91
+
92
+ /** True when a signature can be rasterised to PNG. */
93
+ export const hasSignatureRaster = captureRef !== null;
94
+ const signatureVariants = tv({
95
+ slots: {
96
+ root: 'overflow-hidden rounded-2xl border border-border bg-card',
97
+ pad: 'flex-1',
98
+ placeholder: 'absolute inset-0 items-center justify-center gap-2',
99
+ guide: 'absolute inset-x-6 flex-row items-center gap-3',
100
+ toolbar: 'flex-row items-center justify-between gap-2 px-3 py-2'
101
+ },
102
+ variants: {
103
+ size: {
104
+ sm: {
105
+ root: 'h-32'
106
+ },
107
+ md: {
108
+ root: 'h-48'
109
+ },
110
+ lg: {
111
+ root: 'h-64'
112
+ },
113
+ /** Fills whatever it is given — for a full-screen signing surface. */
114
+ full: {
115
+ root: 'h-auto flex-1 rounded-none border-0'
116
+ }
117
+ },
118
+ disabled: {
119
+ true: {
120
+ root: 'opacity-[0.64]'
121
+ }
122
+ }
123
+ },
124
+ defaultVariants: {
125
+ size: 'md'
126
+ }
127
+ });
128
+ /**
129
+ * Turns a flat `[x, y, x, y, …]` buffer into a path, curving through the
130
+ * midpoint between each pair of points.
131
+ *
132
+ * A worklet, because it runs against the live stroke on the UI thread — and
133
+ * because the same function has to produce the committed string once the
134
+ * finger lifts, so the line does not shift the instant it stops being live.
135
+ */
136
+ function strokePath(points) {
137
+ 'worklet';
138
+
139
+ const count = points.length / 2;
140
+ if (count === 0) return '';
141
+
142
+ // A tap is a dot. Without this it would be an empty path and the touch would
143
+ // leave no mark at all, which reads as the pad having missed it.
144
+ if (count === 1) {
145
+ return `M${points[0]},${points[1]} l0.01,0`;
146
+ }
147
+ let d = `M${points[0]},${points[1]}`;
148
+ for (let i = 1; i < count; i += 1) {
149
+ const px = points[(i - 1) * 2];
150
+ const py = points[(i - 1) * 2 + 1];
151
+ const x = points[i * 2];
152
+ const y = points[i * 2 + 1];
153
+ // The point is the control handle and the midpoint is the anchor, so the
154
+ // curve leaving this segment shares a tangent with the one entering the
155
+ // next and the join is invisible.
156
+ d += ` Q${px},${py} ${(px + x) / 2},${(py + y) / 2}`;
157
+ }
158
+
159
+ // Finish at the real last point rather than at the midpoint before it, or
160
+ // the stroke stops visibly short of where the finger lifted.
161
+ d += ` L${points[(count - 1) * 2]},${points[(count - 1) * 2 + 1]}`;
162
+ return d;
163
+ }
164
+ function SignatureRoot({
165
+ className,
166
+ size = 'md',
167
+ strokeColor,
168
+ strokeWidth = 2.5,
169
+ minDistance = 1.5,
170
+ guideline = false,
171
+ guidelineLabel,
172
+ placeholder,
173
+ disabled = false,
174
+ onBegin,
175
+ onEnd,
176
+ onChange,
177
+ padClassName,
178
+ placeholderClassName,
179
+ guideClassName,
180
+ ...props
181
+ }, ref) {
182
+ const slots = signatureVariants({
183
+ size,
184
+ disabled
185
+ });
186
+ const [strokes, setStrokes] = useState([]);
187
+ const [undone, setUndone] = useState([]);
188
+ const [layout, setLayout] = useState({
189
+ width: 0,
190
+ height: 0
191
+ });
192
+
193
+ // The live stroke: a flat buffer so the worklet reads numbers rather than
194
+ // objects, which is what keeps the per-frame cost flat.
195
+ const live = useSharedValue([]);
196
+ const padRef = useRef(null);
197
+ const inkToken = useCSSVariable('--color-foreground');
198
+ const ink = strokeColor ?? (typeof inkToken === 'string' ? inkToken : '#0a0a0a');
199
+
200
+ // Latest-props refs, so the gesture is built once and still calls the
201
+ // handlers the component was last rendered with.
202
+ const changeRef = useRef(onChange);
203
+ changeRef.current = onChange;
204
+ const beginRef = useRef(onBegin);
205
+ beginRef.current = onBegin;
206
+ const endRef = useRef(onEnd);
207
+ endRef.current = onEnd;
208
+
209
+ // `onChange` fires from an effect rather than from inside a state updater.
210
+ // An updater can be replayed during a render, and calling a parent's setState
211
+ // from there is the "cannot update a component while rendering a different
212
+ // component" warning — earned, not spurious.
213
+ const reported = useRef(0);
214
+ useEffect(() => {
215
+ if (reported.current === strokes.length) return;
216
+ reported.current = strokes.length;
217
+ changeRef.current?.(strokes.length);
218
+ }, [strokes.length]);
219
+ const commit = useCallback(d => {
220
+ setStrokes(current => [...current, d]);
221
+ // Drawing again is a new branch of history, so what was undone is gone.
222
+ setUndone([]);
223
+ endRef.current?.();
224
+ }, []);
225
+ const begin = useCallback(() => beginRef.current?.(), []);
226
+ const pan = useMemo(() => Gesture.Pan()
227
+ // Without this a signature's first, shortest stroke — the dot on an
228
+ // i, a full stop — never activates the gesture and is simply lost.
229
+ .minDistance(0).averageTouches(true).enabled(!disabled).onBegin(event => {
230
+ 'worklet';
231
+
232
+ live.value = [event.x, event.y];
233
+ runOnJS(begin)();
234
+ }).onUpdate(event => {
235
+ 'worklet';
236
+
237
+ const points = live.value;
238
+ const last = points.length;
239
+ if (last >= 2) {
240
+ const dx = event.x - points[last - 2];
241
+ const dy = event.y - points[last - 1];
242
+ if (dx * dx + dy * dy < minDistance * minDistance) return;
243
+ }
244
+ // A new array, not a push: a shared value only notifies on
245
+ // assignment, and mutating in place leaves the path stale.
246
+ live.value = [...points, event.x, event.y];
247
+ }).onFinalize(() => {
248
+ 'worklet';
249
+
250
+ const points = live.value;
251
+ live.value = [];
252
+ if (points.length === 0) return;
253
+ runOnJS(commit)(strokePath(points));
254
+ }), [begin, commit, disabled, live, minDistance]);
255
+ const liveProps = useAnimatedProps(() => ({
256
+ d: strokePath(live.value)
257
+ }));
258
+ const svgDocument = useCallback(() => {
259
+ const width = Math.round(layout.width) || 1;
260
+ const height = Math.round(layout.height) || 1;
261
+ const paths = strokes.map(d => `<path d="${d}" fill="none" stroke="${ink}" stroke-width="${strokeWidth}" ` + 'stroke-linecap="round" stroke-linejoin="round"/>').join('');
262
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" ` + `viewBox="0 0 ${width} ${height}">${paths}</svg>`;
263
+ }, [ink, layout.height, layout.width, strokeWidth, strokes]);
264
+ const rasterise = useCallback(async scale => {
265
+ if (!captureRef) {
266
+ throw new Error('Signature: PNG export needs the optional `react-native-view-shot` package. ' + 'Install it, or export SVG instead.');
267
+ }
268
+ return captureRef(padRef.current, {
269
+ format: 'png',
270
+ quality: 1,
271
+ result: 'tmpfile',
272
+ width: Math.round(layout.width * scale),
273
+ height: Math.round(layout.height * scale)
274
+ });
275
+ }, [layout.height, layout.width]);
276
+ useImperativeHandle(ref, () => ({
277
+ // These read the current arrays and set flat values rather than nesting
278
+ // one updater inside another — a nested updater runs during the render
279
+ // pass, which is not a safe place to schedule another component's update.
280
+ clear() {
281
+ setStrokes([]);
282
+ setUndone([]);
283
+ },
284
+ undo() {
285
+ const last = strokes[strokes.length - 1];
286
+ if (last === undefined) return;
287
+ setUndone(stack => [...stack, last]);
288
+ setStrokes(strokes.slice(0, -1));
289
+ },
290
+ redo() {
291
+ const restored = undone[undone.length - 1];
292
+ if (restored === undefined) return;
293
+ setUndone(undone.slice(0, -1));
294
+ setStrokes([...strokes, restored]);
295
+ },
296
+ isEmpty: () => strokes.length === 0,
297
+ strokeCount: () => strokes.length,
298
+ toSVG: svgDocument,
299
+ async toDataURL(format = 'svg') {
300
+ if (format === 'svg') {
301
+ // encodeURIComponent rather than base64: no polyfill needed, and the
302
+ // result is legible in a log, which matters when debugging a save.
303
+ return `data:image/svg+xml;utf8,${encodeURIComponent(svgDocument())}`;
304
+ }
305
+ const uri = await rasterise(2);
306
+ if (!FileSystem) {
307
+ throw new Error('Signature: reading a PNG back as a data URI needs the optional ' + '`expo-file-system` package. The file itself is at ' + `${uri} — pass that to an <Image> instead.`);
308
+ }
309
+ const read = FileSystem.readAsStringAsync;
310
+ if (!read) throw new Error('Signature: `expo-file-system` has no readAsStringAsync.');
311
+ const base64 = await read(uri, {
312
+ encoding: 'base64'
313
+ });
314
+ return `data:image/png;base64,${base64}`;
315
+ },
316
+ async save(options = {}) {
317
+ const {
318
+ directory,
319
+ filename,
320
+ format = 'svg',
321
+ scale = 2
322
+ } = options;
323
+ if (!FileSystem) {
324
+ throw new Error('Signature: save() needs the optional `expo-file-system` package. ' + 'Install it, or use toSVG() and write the string yourself.');
325
+ }
326
+ const base = directory ?? FileSystem.documentDirectory ?? FileSystem.Paths?.document?.uri;
327
+ if (!base) {
328
+ throw new Error('Signature: no document directory available — pass `directory` explicitly.');
329
+ }
330
+ const name = filename ?? `signature-${Date.now()}`;
331
+ const dir = base.endsWith('/') ? base : `${base}/`;
332
+ const uri = `${dir}${name}.${format}`;
333
+ if (format === 'png') {
334
+ const temporary = await rasterise(scale);
335
+ const copy = FileSystem.copyAsync;
336
+ if (!copy) {
337
+ throw new Error('Signature: `expo-file-system` has no copyAsync.');
338
+ }
339
+ await copy({
340
+ from: temporary,
341
+ to: uri
342
+ });
343
+ } else if (FileSystem.File) {
344
+ // The current file-object API. Tried first: `writeAsStringAsync` is
345
+ // the legacy one and warns on every call in recent versions.
346
+ const file = new FileSystem.File(uri);
347
+ file.create({
348
+ overwrite: true
349
+ });
350
+ file.write(svgDocument());
351
+ } else if (FileSystem.writeAsStringAsync) {
352
+ await FileSystem.writeAsStringAsync(uri, svgDocument());
353
+ } else {
354
+ throw new Error('Signature: `expo-file-system` exposes neither writeAsStringAsync nor File.');
355
+ }
356
+ return {
357
+ uri,
358
+ format,
359
+ width: Math.round(layout.width),
360
+ height: Math.round(layout.height)
361
+ };
362
+ }
363
+ }), [layout.height, layout.width, rasterise, strokes, undone, svgDocument]);
364
+ const empty = strokes.length === 0;
365
+ return /*#__PURE__*/_jsx(View, {
366
+ className: slots.root({
367
+ className
368
+ }),
369
+ ...props,
370
+ children: /*#__PURE__*/_jsx(GestureDetector, {
371
+ gesture: pan,
372
+ children: /*#__PURE__*/_jsxs(View, {
373
+ ref: padRef,
374
+ collapsable: false,
375
+ className: slots.pad({
376
+ className: padClassName
377
+ }),
378
+ onLayout: event => setLayout(event.nativeEvent.layout),
379
+ accessible: true,
380
+ accessibilityRole: "image",
381
+ accessibilityLabel: "Signature pad",
382
+ accessibilityHint: "Draw your signature with your finger",
383
+ accessibilityState: {
384
+ disabled
385
+ },
386
+ children: [guideline && layout.height > 0 ? /*#__PURE__*/_jsxs(View, {
387
+ className: slots.guide({
388
+ className: guideClassName
389
+ }),
390
+ style: {
391
+ top: layout.height * 0.72
392
+ },
393
+ pointerEvents: "none",
394
+ children: [/*#__PURE__*/_jsx(Text, {
395
+ size: "lg",
396
+ muted: true,
397
+ children: "\u2715"
398
+ }), /*#__PURE__*/_jsx(View, {
399
+ className: "h-px flex-1 bg-border"
400
+ }), guidelineLabel ? /*#__PURE__*/_jsx(Text, {
401
+ size: "xs",
402
+ muted: true,
403
+ children: guidelineLabel
404
+ }) : null]
405
+ }) : null, /*#__PURE__*/_jsxs(Svg, {
406
+ width: "100%",
407
+ height: "100%",
408
+ pointerEvents: "none",
409
+ children: [strokes.map((d, index) => /*#__PURE__*/_jsx(Path
410
+ // Strokes are only ever appended or dropped from the end, so
411
+ // the index is stable for the life of each one.
412
+ , {
413
+ d: d,
414
+ fill: "none",
415
+ stroke: ink,
416
+ strokeWidth: strokeWidth,
417
+ strokeLinecap: "round",
418
+ strokeLinejoin: "round"
419
+ }, index)), /*#__PURE__*/_jsx(AnimatedPath, {
420
+ animatedProps: liveProps,
421
+ fill: "none",
422
+ stroke: ink,
423
+ strokeWidth: strokeWidth,
424
+ strokeLinecap: "round",
425
+ strokeLinejoin: "round"
426
+ })]
427
+ }), empty && placeholder !== null ? /*#__PURE__*/_jsx(View, {
428
+ className: slots.placeholder({
429
+ className: placeholderClassName
430
+ }),
431
+ pointerEvents: "none",
432
+ children: placeholder ?? /*#__PURE__*/_jsxs(_Fragment, {
433
+ children: [/*#__PURE__*/_jsx(PencilIcon, {
434
+ size: 20
435
+ }), /*#__PURE__*/_jsx(Text, {
436
+ size: "sm",
437
+ muted: true,
438
+ children: "Sign here"
439
+ })]
440
+ })
441
+ }) : null]
442
+ })
443
+ })
444
+ });
445
+ }
446
+ const SignatureForwarded = /*#__PURE__*/forwardRef(SignatureRoot);
447
+ SignatureForwarded.displayName = 'Signature';
448
+ /** A row of controls under or over the pad. Purely layout. */
449
+ function SignatureToolbar({
450
+ className,
451
+ ...props
452
+ }) {
453
+ return /*#__PURE__*/_jsx(View, {
454
+ className: cn('flex-row items-center justify-between gap-2', className),
455
+ ...props
456
+ });
457
+ }
458
+ SignatureToolbar.displayName = 'Signature.Toolbar';
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.
462
+ */
463
+ function circleButton(Icon, label, displayName) {
464
+ function Control({
465
+ className,
466
+ disabled,
467
+ children,
468
+ accessibilityLabel,
469
+ ...props
470
+ }) {
471
+ return /*#__PURE__*/_jsx(AnimatedPressable, {
472
+ accessibilityRole: "button",
473
+ accessibilityLabel: accessibilityLabel ?? label,
474
+ accessibilityState: {
475
+ disabled
476
+ },
477
+ disabled: disabled,
478
+ hitSlop: 8,
479
+ className: cn('h-9 w-9 items-center justify-center rounded-full bg-muted', disabled && 'opacity-[0.48]', className),
480
+ ...props,
481
+ children: children ?? /*#__PURE__*/_jsx(Icon, {
482
+ size: 16
483
+ })
484
+ });
485
+ }
486
+ Control.displayName = displayName;
487
+ return Control;
488
+ }
489
+
490
+ /** Removes the last stroke. Wire it to `ref.current?.undo()`. */
491
+ const SignatureUndo = circleButton(RotateCcwIcon, 'Undo last stroke', 'Signature.Undo');
492
+
493
+ /** Drops every stroke. Wire it to `ref.current?.clear()`. */
494
+ const SignatureClear = circleButton(TrashIcon, 'Clear signature', 'Signature.Clear');
495
+ export const Signature = Object.assign(SignatureForwarded, {
496
+ Toolbar: SignatureToolbar,
497
+ Undo: SignatureUndo,
498
+ Clear: SignatureClear
499
+ });
500
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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":[]}
@@ -29,6 +29,7 @@ import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withSpring } from
29
29
  import { tv } from 'tailwind-variants';
30
30
  import { getNativeUI } from "../../native/index.js";
31
31
  import { Text } from "../../primitives/text.js";
32
+ import { selectionTick } from "../../utils/haptics.js";
32
33
 
33
34
  /**
34
35
  * Springs the thumb onto its resting step after a drag or a track tap. Drags
@@ -150,6 +151,7 @@ export const Slider = /*#__PURE__*/forwardRef(({
150
151
  label,
151
152
  showValue = false,
152
153
  formatValue,
154
+ haptics = false,
153
155
  color = 'primary',
154
156
  size = 'md'
155
157
  }, ref) => {
@@ -178,6 +180,9 @@ export const Slider = /*#__PURE__*/forwardRef(({
178
180
  changeRef.current = onValueChange;
179
181
  const commitRef = useRef(onValueCommit);
180
182
  commitRef.current = onValueCommit;
183
+ // The last step a drag ticked on, so haptics fire once per step, not per
184
+ // pixel of movement within it.
185
+ const lastTick = useRef(value);
181
186
  const emitChange = useCallback(next => {
182
187
  if (!isControlled) setInternal(next);
183
188
  changeRef.current?.(next);
@@ -197,9 +202,13 @@ export const Slider = /*#__PURE__*/forwardRef(({
197
202
  const commitFromProgress = useCallback((p, commit) => {
198
203
  const raw = min + p * (max - min);
199
204
  const snapped = snap(raw, min, max, step);
205
+ if (haptics && snapped !== lastTick.current) {
206
+ lastTick.current = snapped;
207
+ selectionTick();
208
+ }
200
209
  emitChange(snapped);
201
210
  if (commit) emitCommit(snapped);
202
- }, [min, max, step, emitChange, emitCommit]);
211
+ }, [min, max, step, haptics, emitChange, emitCommit]);
203
212
  const pan = Gesture.Pan().enabled(!disabled).hitSlop(HIT_SLOP).onBegin(() => {
204
213
  startProgress.value = progress.value;
205
214
  pressed.value = withSpring(1, KNOB_SPRING);
@@ -247,6 +256,10 @@ export const Slider = /*#__PURE__*/forwardRef(({
247
256
  const nudge = dir => {
248
257
  const next = snap(value + dir * (step || 1), min, max, step);
249
258
  if (next === value) return;
259
+ if (haptics) {
260
+ lastTick.current = next;
261
+ selectionTick();
262
+ }
250
263
  progress.value = withSpring(max > min ? (next - min) / (max - min) : 0, SPRING);
251
264
  emitChange(next);
252
265
  emitCommit(next);
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useEffect","useRef","useState","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","withSpring","tv","getNativeUI","Text","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","KNOB_SPRING","KNOB_PRESSED_SCALE","HIT_SLOP","sliderVariants","slots","root","header","label","value","track","fill","thumb","knob","variants","color","primary","success","warning","destructive","info","size","sm","md","lg","disabled","true","defaultVariants","THUMB_WIDTH","clampJS","min","max","Math","snap","step","stepped","round","Slider","className","headerClassName","trackClassName","fillClassName","thumbClassName","knobClassName","valueProp","defaultValue","onValueChange","onValueCommit","native","showValue","formatValue","ref","isControlled","undefined","internal","setInternal","thumbWidth","nativeUI","trackWidth","progress","startProgress","pressed","changeRef","current","commitRef","emitChange","next","emitCommit","onLayout","event","nativeEvent","layout","width","commitFromProgress","p","commit","raw","snapped","pan","Pan","enabled","hitSlop","onBegin","onUpdate","travel","delta","translationX","onFinalize","tap","Tap","maxDuration","onEnd","x","gesture","Race","fillStyle","thumbStyle","transform","translateX","knobStyle","scale","nudge","dir","onAccessibilityAction","actionName","shownValue","String","children","Host","NativeSlider","matchContents","vertical","collapsable","style","accessible","accessibilityRole","accessibilityLabel","accessibilityState","accessibilityValue","now","text","accessibilityActions","name","displayName"],"sourceRoot":"../../../../src","sources":["components/slider/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useEffect","useRef","useState","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","withSpring","tv","getNativeUI","Text","selectionTick","jsx","_jsx","jsxs","_jsxs","SPRING","damping","stiffness","mass","KNOB_SPRING","KNOB_PRESSED_SCALE","HIT_SLOP","sliderVariants","slots","root","header","label","value","track","fill","thumb","knob","variants","color","primary","success","warning","destructive","info","size","sm","md","lg","disabled","true","defaultVariants","THUMB_WIDTH","clampJS","min","max","Math","snap","step","stepped","round","Slider","className","headerClassName","trackClassName","fillClassName","thumbClassName","knobClassName","valueProp","defaultValue","onValueChange","onValueCommit","native","showValue","formatValue","haptics","ref","isControlled","undefined","internal","setInternal","thumbWidth","nativeUI","trackWidth","progress","startProgress","pressed","changeRef","current","commitRef","lastTick","emitChange","next","emitCommit","onLayout","event","nativeEvent","layout","width","commitFromProgress","p","commit","raw","snapped","pan","Pan","enabled","hitSlop","onBegin","onUpdate","travel","delta","translationX","onFinalize","tap","Tap","maxDuration","onEnd","x","gesture","Race","fillStyle","thumbStyle","transform","translateX","knobStyle","scale","nudge","dir","onAccessibilityAction","actionName","shownValue","String","children","Host","NativeSlider","matchContents","vertical","collapsable","style","accessible","accessibilityRole","accessibilityLabel","accessibilityState","accessibilityValue","now","text","accessibilityActions","name","displayName"],"sourceRoot":"../../../../src","sources":["components/slider/index.tsx"],"mappings":"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","ignoreList":[]}