@terreno/ui 0.14.2 → 0.15.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.
- package/dist/Badge.js +1 -0
- package/dist/Badge.js.map +1 -1
- package/dist/Banner.d.ts +8 -0
- package/dist/Banner.js +2 -2
- package/dist/Banner.js.map +1 -1
- package/dist/Common.d.ts +1 -0
- package/dist/Common.js.map +1 -1
- package/dist/ConsentFormScreen.js +4 -2
- package/dist/ConsentFormScreen.js.map +1 -1
- package/dist/DismissButton.js +3 -2
- package/dist/DismissButton.js.map +1 -1
- package/dist/PickerSelect.js +6 -2
- package/dist/PickerSelect.js.map +1 -1
- package/dist/Signature.d.ts +9 -1
- package/dist/Signature.js +121 -18
- package/dist/Signature.js.map +1 -1
- package/dist/Signature.native.d.ts +16 -0
- package/dist/Signature.native.js +119 -23
- package/dist/Signature.native.js.map +1 -1
- package/dist/SignatureField.d.ts +1 -1
- package/dist/SignatureField.js +2 -2
- package/dist/SignatureField.js.map +1 -1
- package/dist/SignatureSizing.d.ts +3 -0
- package/dist/SignatureSizing.js +9 -0
- package/dist/SignatureSizing.js.map +1 -0
- package/dist/TapToEdit.js +1 -1
- package/dist/TapToEdit.js.map +1 -1
- package/dist/Toast.d.ts +4 -4
- package/dist/Toast.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -4
- package/src/Badge.test.tsx +7 -0
- package/src/Badge.tsx +1 -0
- package/src/Banner.test.tsx +23 -3
- package/src/Banner.tsx +3 -3
- package/src/Common.ts +1 -0
- package/src/ConsentFormScreen.test.tsx +15 -0
- package/src/ConsentFormScreen.tsx +21 -4
- package/src/DateTimeField.test.tsx +226 -0
- package/src/DismissButton.tsx +4 -3
- package/src/Field.test.tsx +23 -0
- package/src/IconButton.tsx +2 -2
- package/src/PickerSelect.test.tsx +22 -0
- package/src/PickerSelect.tsx +24 -8
- package/src/Signature.native.test.tsx +9 -0
- package/src/Signature.native.tsx +152 -33
- package/src/Signature.test.tsx +324 -39
- package/src/Signature.tsx +171 -22
- package/src/SignatureField.test.tsx +0 -9
- package/src/SignatureField.tsx +2 -0
- package/src/SignatureSizing.ts +10 -0
- package/src/TapToEdit.test.tsx +33 -0
- package/src/TapToEdit.tsx +1 -1
- package/src/Toast.tsx +5 -3
- package/src/ToastNotifications.test.tsx +74 -1
- package/src/__snapshots__/CustomSelectField.test.tsx.snap +5 -4
- package/src/__snapshots__/DismissButton.test.tsx.snap +9 -3
- package/src/__snapshots__/Field.test.tsx.snap +379 -0
- package/src/__snapshots__/PickerSelect.test.tsx.snap +5 -4
- package/src/__snapshots__/SegmentedControl.test.tsx.snap +9 -0
- package/src/__snapshots__/SelectField.test.tsx.snap +5 -4
- package/src/__snapshots__/Signature.test.tsx.snap +15 -3
- package/src/__snapshots__/SignatureField.test.tsx.snap +12 -3
- package/src/bunSetup.ts +0 -15
- package/src/index.tsx +1 -1
package/dist/Signature.native.js
CHANGED
|
@@ -1,30 +1,126 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
import { Canvas, ImageFormat, Path, Skia, useCanvasRef } from "@shopify/react-native-skia";
|
|
3
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { Platform, Text, View } from "react-native";
|
|
5
|
+
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
6
|
+
import { getSignaturePadHeight } from "./SignatureSizing";
|
|
5
7
|
import { useTheme } from "./Theme";
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const STROKE_WIDTH_PX = 2.5;
|
|
9
|
+
// Snapshot after the released stroke has painted to the Skia canvas.
|
|
10
|
+
const SNAPSHOT_DELAY_MS = 60;
|
|
11
|
+
/**
|
|
12
|
+
* Native (iOS + Android) signature pad backed by Skia — no WebView.
|
|
13
|
+
*
|
|
14
|
+
* Replaces the previous react-native-signature-canvas WebView, which on iOS
|
|
15
|
+
* stayed on `about:blank` (its signature_pad script never loaded, so onOK
|
|
16
|
+
* never fired). Skia draws strokes natively and exports a PNG via
|
|
17
|
+
* makeImageSnapshot, which behaves consistently across both platforms.
|
|
18
|
+
*
|
|
19
|
+
* Touches are captured with react-native-gesture-handler rather than
|
|
20
|
+
* PanResponder because the Skia <Canvas> renders a native view that swallows
|
|
21
|
+
* React Native's JS touch responder.
|
|
22
|
+
*
|
|
23
|
+
* Reports the signature to the parent as a base64 PNG data URL via onChange,
|
|
24
|
+
* and pushes "" on clear so "signature required" gating resets immediately.
|
|
25
|
+
*/
|
|
26
|
+
export const Signature = ({ fullWidth = false, onChange, onStart, onEnd }) => {
|
|
9
27
|
const { theme } = useTheme();
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
const canvasRef = useCanvasRef();
|
|
29
|
+
const signaturePadHeight = getSignaturePadHeight(Platform.OS);
|
|
30
|
+
const snapshotTimerRef = useRef(null);
|
|
31
|
+
// Completed strokes as SVG path strings; the active stroke is tracked separately.
|
|
32
|
+
const [completedStrokes, setCompletedStrokes] = useState([]);
|
|
33
|
+
const [activeStroke, setActiveStroke] = useState(null);
|
|
34
|
+
const activeStrokeRef = useRef(null);
|
|
35
|
+
const clearSnapshotTimer = useCallback(() => {
|
|
36
|
+
if (snapshotTimerRef.current !== null) {
|
|
37
|
+
clearTimeout(snapshotTimerRef.current);
|
|
38
|
+
snapshotTimerRef.current = null;
|
|
39
|
+
}
|
|
40
|
+
}, []);
|
|
41
|
+
/**
|
|
42
|
+
* Snapshots the Skia canvas and reports a PNG data URL. Runs after a short
|
|
43
|
+
* delay so the just-completed stroke is painted before the snapshot.
|
|
44
|
+
*/
|
|
45
|
+
const captureSignature = useCallback(() => {
|
|
46
|
+
clearSnapshotTimer();
|
|
47
|
+
snapshotTimerRef.current = setTimeout(() => {
|
|
48
|
+
var _a;
|
|
49
|
+
const image = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.makeImageSnapshot();
|
|
50
|
+
if (!image) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const base64 = image.encodeToBase64(ImageFormat.PNG, 100);
|
|
54
|
+
if (base64 && base64.length > 0) {
|
|
55
|
+
onChange(`data:image/png;base64,${base64}`);
|
|
56
|
+
}
|
|
57
|
+
}, SNAPSHOT_DELAY_MS);
|
|
58
|
+
}, [canvasRef, clearSnapshotTimer, onChange]);
|
|
59
|
+
const beginStroke = useCallback((x, y) => {
|
|
60
|
+
const next = `M${x.toFixed(2)} ${y.toFixed(2)}`;
|
|
61
|
+
activeStrokeRef.current = next;
|
|
62
|
+
setActiveStroke(next);
|
|
19
63
|
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
64
|
+
}, [onStart]);
|
|
65
|
+
const extendStroke = useCallback((x, y) => {
|
|
66
|
+
const prev = activeStrokeRef.current;
|
|
67
|
+
if (prev === null) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const next = `${prev} L${x.toFixed(2)} ${y.toFixed(2)}`;
|
|
71
|
+
activeStrokeRef.current = next;
|
|
72
|
+
setActiveStroke(next);
|
|
73
|
+
}, []);
|
|
74
|
+
const endStroke = useCallback(() => {
|
|
75
|
+
const finished = activeStrokeRef.current;
|
|
76
|
+
activeStrokeRef.current = null;
|
|
77
|
+
setActiveStroke(null);
|
|
78
|
+
// A tap without movement has no line segment, so there is nothing to capture.
|
|
79
|
+
if (finished === null || !finished.includes("L")) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
setCompletedStrokes((prev) => [...prev, finished]);
|
|
83
|
+
captureSignature();
|
|
26
84
|
onEnd === null || onEnd === void 0 ? void 0 : onEnd();
|
|
27
|
-
};
|
|
28
|
-
|
|
85
|
+
}, [captureSignature, onEnd]);
|
|
86
|
+
const panGesture = useMemo(() => Gesture.Pan()
|
|
87
|
+
.runOnJS(true)
|
|
88
|
+
.minDistance(0)
|
|
89
|
+
.onBegin((event) => {
|
|
90
|
+
beginStroke(event.x, event.y);
|
|
91
|
+
})
|
|
92
|
+
.onUpdate((event) => {
|
|
93
|
+
extendStroke(event.x, event.y);
|
|
94
|
+
})
|
|
95
|
+
.onEnd(() => {
|
|
96
|
+
endStroke();
|
|
97
|
+
})
|
|
98
|
+
.onFinalize(() => {
|
|
99
|
+
// Covers cancellation paths where onEnd does not fire.
|
|
100
|
+
if (activeStrokeRef.current !== null) {
|
|
101
|
+
endStroke();
|
|
102
|
+
}
|
|
103
|
+
}), [beginStroke, extendStroke, endStroke]);
|
|
104
|
+
const skiaPaths = useMemo(() => {
|
|
105
|
+
const allStrokes = activeStroke ? [...completedStrokes, activeStroke] : completedStrokes;
|
|
106
|
+
return allStrokes
|
|
107
|
+
.map((svg) => Skia.Path.MakeFromSVGString(svg))
|
|
108
|
+
.filter((path) => path !== null);
|
|
109
|
+
}, [completedStrokes, activeStroke]);
|
|
110
|
+
const handleClear = useCallback(() => {
|
|
111
|
+
clearSnapshotTimer();
|
|
112
|
+
activeStrokeRef.current = null;
|
|
113
|
+
setActiveStroke(null);
|
|
114
|
+
setCompletedStrokes([]);
|
|
115
|
+
// clearing must reset parent gating, mirroring the web Signature variant.
|
|
116
|
+
onChange("");
|
|
117
|
+
}, [clearSnapshotTimer, onChange]);
|
|
118
|
+
return (_jsxs(View, { style: { minWidth: 220, width: fullWidth ? "100%" : undefined }, children: [_jsx(GestureDetector, { gesture: panGesture, children: _jsx(View, { style: {
|
|
119
|
+
backgroundColor: theme.surface.base,
|
|
120
|
+
borderColor: theme.border.dark,
|
|
121
|
+
borderWidth: 1,
|
|
122
|
+
height: signaturePadHeight,
|
|
123
|
+
overflow: "hidden",
|
|
124
|
+
}, children: _jsx(Canvas, { ref: canvasRef, style: { flex: 1 }, children: skiaPaths.map((path, index) => (_jsx(Path, { color: theme.text.secondaryDark, path: path, strokeCap: "round", strokeJoin: "round", strokeWidth: STROKE_WIDTH_PX, style: "stroke" }, index))) }) }) }), _jsx(View, { style: { flexDirection: "row" }, children: _jsx(Text, { onPress: handleClear, style: { color: theme.text.link, textDecorationLine: "underline" }, children: "Clear" }) })] }));
|
|
29
125
|
};
|
|
30
126
|
//# sourceMappingURL=Signature.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signature.native.js","sourceRoot":"","sources":["../src/Signature.native.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,MAAM,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Signature.native.js","sourceRoot":"","sources":["../src/Signature.native.tsx"],"names":[],"mappings":"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"}
|
package/dist/SignatureField.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { SignatureFieldProps } from "./Common";
|
|
3
|
-
export declare const SignatureField: ({ disabled, title, value, onChange, onStart, onEnd, disabledText, errorText, }: SignatureFieldProps) => ReactElement;
|
|
3
|
+
export declare const SignatureField: ({ disabled, title, value, onChange, onStart, onEnd, disabledText, errorText, fullWidth, }: SignatureFieldProps) => ReactElement;
|
package/dist/SignatureField.js
CHANGED
|
@@ -8,7 +8,7 @@ import { useTheme } from "./Theme";
|
|
|
8
8
|
// NOTE: When using this inside a ScrollView, you must set the scrollEnabled prop to false on the
|
|
9
9
|
// ScrollView onStart and to true onEnd or it will try to scroll the whole view around this
|
|
10
10
|
// component.
|
|
11
|
-
export const SignatureField = ({ disabled = false, title = "Signature", value, onChange, onStart, onEnd, disabledText, errorText, }) => {
|
|
11
|
+
export const SignatureField = ({ disabled = false, title = "Signature", value, onChange, onStart, onEnd, disabledText, errorText, fullWidth = false, }) => {
|
|
12
12
|
const { theme } = useTheme();
|
|
13
13
|
if (disabled) {
|
|
14
14
|
if (value) {
|
|
@@ -25,7 +25,7 @@ export const SignatureField = ({ disabled = false, title = "Signature", value, o
|
|
|
25
25
|
} }), _jsx(Text, { size: "sm", children: disabledText })] }));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
return (_jsxs(View, { children: [_jsx(Heading, { size: "sm", children: title }), Boolean(errorText) && (_jsxs(View, { style: { flexDirection: "row" }, children: [_jsx(Icon, { color: "error", iconName: "triangle-exclamation" }), _jsx(View, { style: { marginLeft: 4 }, children: _jsx(Text, { color: "error", children: errorText }) })] })), _jsx(View, { style: { marginVertical: 8 }, children: _jsx(Signature, { onChange: onChange, onEnd: () => {
|
|
28
|
+
return (_jsxs(View, { children: [_jsx(Heading, { size: "sm", children: title }), Boolean(errorText) && (_jsxs(View, { style: { flexDirection: "row" }, children: [_jsx(Icon, { color: "error", iconName: "triangle-exclamation" }), _jsx(View, { style: { marginLeft: 4 }, children: _jsx(Text, { color: "error", children: errorText }) })] })), _jsx(View, { style: { marginVertical: 8 }, children: _jsx(Signature, { fullWidth: fullWidth, onChange: onChange, onEnd: () => {
|
|
29
29
|
onEnd === null || onEnd === void 0 ? void 0 : onEnd();
|
|
30
30
|
}, onStart: () => {
|
|
31
31
|
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureField.js","sourceRoot":"","sources":["../src/SignatureField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,iGAAiG;AACjG,2FAA2F;AAC3F,aAAa;AACb,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,WAAW,EACnB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"SignatureField.js","sourceRoot":"","sources":["../src/SignatureField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const SIGNATURE_PAD_HEIGHT_PX = 180;
|
|
2
|
+
export const IOS_SIGNATURE_PAD_HEIGHT_PX = 120;
|
|
3
|
+
export const getSignaturePadHeight = (platformOS) => {
|
|
4
|
+
if (platformOS === "ios") {
|
|
5
|
+
return IOS_SIGNATURE_PAD_HEIGHT_PX;
|
|
6
|
+
}
|
|
7
|
+
return SIGNATURE_PAD_HEIGHT_PX;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=SignatureSizing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignatureSizing.js","sourceRoot":"","sources":["../src/SignatureSizing.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClE,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC"}
|
package/dist/TapToEdit.js
CHANGED
|
@@ -70,7 +70,7 @@ export const TapToEdit = (_a) => {
|
|
|
70
70
|
? (ref) => {
|
|
71
71
|
inputRef.current = ref;
|
|
72
72
|
}
|
|
73
|
-
: undefined, onChange: setValue
|
|
73
|
+
: undefined, onChange: setValue, row: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? 5 : undefined, type: ((_c = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) !== null && _c !== void 0 ? _c : "text"), value: value }, fieldProps)), editing && !isEditing && (_jsxs(View, { style: { flexDirection: "row", gap: 16, justifyContent: "flex-end" }, children: [_jsx(Button, { onClick: () => {
|
|
74
74
|
if (setValue) {
|
|
75
75
|
setValue(initialValueRef.current);
|
|
76
76
|
}
|
package/dist/TapToEdit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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"}
|
package/dist/Toast.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
2
|
import type { ToastProps } from "./Common";
|
|
3
|
-
|
|
3
|
+
interface UseToastVariantOptions {
|
|
4
4
|
persistent?: ToastProps["persistent"];
|
|
5
5
|
secondary?: ToastProps["secondary"];
|
|
6
6
|
size?: ToastProps["size"];
|
|
7
7
|
onDismiss?: ToastProps["onDismiss"];
|
|
8
8
|
subtitle?: ToastProps["subtitle"];
|
|
9
|
-
}
|
|
10
|
-
|
|
9
|
+
}
|
|
10
|
+
interface UseToastOptions extends UseToastVariantOptions {
|
|
11
11
|
variant?: ToastProps["variant"];
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
export declare const useToast: () => {
|
|
14
14
|
hide: (id: string) => void;
|
|
15
15
|
success: (title: string, options?: UseToastVariantOptions) => string;
|
package/dist/Toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACjC,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAEtD,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from "./AiSuggestionBox";
|
|
|
7
7
|
export * from "./AttachmentPreview";
|
|
8
8
|
export * from "./Avatar";
|
|
9
9
|
export * from "./Badge";
|
|
10
|
-
export
|
|
10
|
+
export { Banner, hideBanner } from "./Banner";
|
|
11
11
|
export * from "./Body";
|
|
12
12
|
export * from "./BooleanField";
|
|
13
13
|
export * from "./Box";
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export * from "./AiSuggestionBox";
|
|
|
6
6
|
export * from "./AttachmentPreview";
|
|
7
7
|
export * from "./Avatar";
|
|
8
8
|
export * from "./Badge";
|
|
9
|
-
export
|
|
9
|
+
export { Banner, hideBanner } from "./Banner";
|
|
10
10
|
export * from "./Body";
|
|
11
11
|
export * from "./BooleanField";
|
|
12
12
|
export * from "./Box";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"@react-native-community/slider": "5.0.1",
|
|
27
27
|
"@react-native-picker/picker": "2.11.4",
|
|
28
28
|
"@react-navigation/native": "^7.1.8",
|
|
29
|
+
"@shopify/react-native-skia": "2.2.12",
|
|
29
30
|
"emoji-datasource": "^16.0.0",
|
|
30
31
|
"expo-clipboard": "~8.0.8",
|
|
31
32
|
"expo-document-picker": "~14.0.8",
|
|
@@ -67,12 +68,10 @@
|
|
|
67
68
|
"react-native-reanimated": "~4.1.1",
|
|
68
69
|
"react-native-safe-area-context": "~5.6.0",
|
|
69
70
|
"react-native-screens": "~4.16.0",
|
|
70
|
-
"react-native-signature-canvas": "^4.7.4",
|
|
71
71
|
"react-native-svg": "15.12.1",
|
|
72
72
|
"react-native-swiper-flatlist": "^3.2.5",
|
|
73
73
|
"react-native-web": "~0.21.0",
|
|
74
74
|
"react-native-webview": "13.15.0",
|
|
75
|
-
"react-signature-canvas": "^1.1.0-alpha.2",
|
|
76
75
|
"react-time-picker": "^8.0.2"
|
|
77
76
|
},
|
|
78
77
|
"devDependencies": {
|
|
@@ -87,7 +86,6 @@
|
|
|
87
86
|
"@types/minimatch": "^6.0.0",
|
|
88
87
|
"@types/react": "~19.1.10",
|
|
89
88
|
"@types/react-datetime-picker": "^5.0.0",
|
|
90
|
-
"@types/react-signature-canvas": "^1.0.5",
|
|
91
89
|
"@types/react-time-picker": "^6.0.0",
|
|
92
90
|
"babel-preset-react-app": "^10.0.1",
|
|
93
91
|
"expo-modules-core": "~3.0.29",
|
|
@@ -138,5 +136,5 @@
|
|
|
138
136
|
"test:coverage": "TZ=America/New_York bun run ../scripts/check-coverage.ts",
|
|
139
137
|
"types": "bun typedoc"
|
|
140
138
|
},
|
|
141
|
-
"version": "0.
|
|
139
|
+
"version": "0.15.1"
|
|
142
140
|
}
|
package/src/Badge.test.tsx
CHANGED
|
@@ -34,6 +34,13 @@ describe("Badge", () => {
|
|
|
34
34
|
expect(getByText("50")).toBeTruthy();
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
+
it("keeps number badges scannable with a minimum width", () => {
|
|
38
|
+
const {getByTestId} = renderWithTheme(
|
|
39
|
+
<Badge testID="number-badge" value={5} variant="numberOnly" />
|
|
40
|
+
);
|
|
41
|
+
expect(getByTestId("number-badge")).toHaveStyle({minWidth: 20});
|
|
42
|
+
});
|
|
43
|
+
|
|
37
44
|
it("applies correct status colors", () => {
|
|
38
45
|
const statuses = ["error", "warning", "info", "success", "neutral"] as const;
|
|
39
46
|
|
package/src/Badge.tsx
CHANGED
|
@@ -108,6 +108,7 @@ export const Badge = ({
|
|
|
108
108
|
paddingVertical: variant === "iconOnly" ? 1 : theme.spacing.xs,
|
|
109
109
|
width: variant === "iconOnly" ? 16 : "auto",
|
|
110
110
|
},
|
|
111
|
+
...(variant === "numberOnly" ? [{minWidth: 20}] : []),
|
|
111
112
|
isIconOnly && {height: 16, width: 16},
|
|
112
113
|
secondary && {borderColor, borderWidth: 1},
|
|
113
114
|
]}
|
package/src/Banner.test.tsx
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import {describe, expect, it, mock} from "bun:test";
|
|
2
|
-
import {act, fireEvent, waitFor} from "@testing-library/react-native";
|
|
1
|
+
import {beforeEach, describe, expect, it, mock} from "bun:test";
|
|
2
|
+
import {act, fireEvent, render, waitFor} from "@testing-library/react-native";
|
|
3
3
|
import React from "react";
|
|
4
4
|
|
|
5
|
-
import {Banner, hideBanner} from "./Banner";
|
|
5
|
+
import {Banner, BannerButton, hideBanner} from "./Banner";
|
|
6
|
+
import {ThemeContext} from "./Theme";
|
|
6
7
|
import {renderWithTheme} from "./test-utils";
|
|
7
8
|
import {Unifier} from "./Unifier";
|
|
8
9
|
|
|
9
10
|
describe("Banner", () => {
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
Unifier.storage.getItem = mock(() => Promise.resolve(null));
|
|
13
|
+
Unifier.storage.setItem = mock(() => Promise.resolve());
|
|
14
|
+
});
|
|
10
15
|
it("renders correctly with default props", () => {
|
|
11
16
|
const {toJSON} = renderWithTheme(<Banner id="test-banner" text="Test message" />);
|
|
12
17
|
expect(toJSON()).toMatchSnapshot();
|
|
@@ -274,4 +279,19 @@ describe("Banner", () => {
|
|
|
274
279
|
expect(queryByText("Non persistent")).toBeNull();
|
|
275
280
|
});
|
|
276
281
|
});
|
|
282
|
+
|
|
283
|
+
it("BannerButton returns null when theme is not available", () => {
|
|
284
|
+
const nullThemeContext = {
|
|
285
|
+
resetTheme: () => {},
|
|
286
|
+
setPrimitives: () => {},
|
|
287
|
+
setTheme: () => {},
|
|
288
|
+
theme: null,
|
|
289
|
+
};
|
|
290
|
+
const {toJSON} = render(
|
|
291
|
+
<ThemeContext.Provider value={nullThemeContext as never}>
|
|
292
|
+
<BannerButton buttonOnClick={() => {}} buttonText="Test" />
|
|
293
|
+
</ThemeContext.Provider>
|
|
294
|
+
);
|
|
295
|
+
expect(toJSON()).toBeNull();
|
|
296
|
+
});
|
|
277
297
|
});
|
package/src/Banner.tsx
CHANGED
|
@@ -17,7 +17,7 @@ type BannerButtonProps = {
|
|
|
17
17
|
loading?: boolean;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
const BannerButton = ({
|
|
20
|
+
export const BannerButton = ({
|
|
21
21
|
loading: propsLoading,
|
|
22
22
|
buttonText,
|
|
23
23
|
buttonIconName,
|
|
@@ -178,14 +178,14 @@ export const Banner = (props: BannerProps): React.ReactElement | null => {
|
|
|
178
178
|
<View style={{paddingLeft: 16, paddingRight: 10}}>
|
|
179
179
|
<BannerButton
|
|
180
180
|
buttonIconName={buttonIconName}
|
|
181
|
-
buttonOnClick={buttonOnClick
|
|
181
|
+
buttonOnClick={buttonOnClick!}
|
|
182
182
|
buttonText={buttonText}
|
|
183
183
|
/>
|
|
184
184
|
</View>
|
|
185
185
|
)}
|
|
186
186
|
{Boolean(buttonText && !buttonIconName && buttonOnClick) && (
|
|
187
187
|
<View style={{paddingLeft: 16, paddingRight: 10}}>
|
|
188
|
-
<BannerButton buttonOnClick={buttonOnClick
|
|
188
|
+
<BannerButton buttonOnClick={buttonOnClick!} buttonText={buttonText} />
|
|
189
189
|
</View>
|
|
190
190
|
)}
|
|
191
191
|
</View>
|
package/src/Common.ts
CHANGED
|
@@ -118,6 +118,21 @@ describe("ConsentFormScreen", () => {
|
|
|
118
118
|
});
|
|
119
119
|
});
|
|
120
120
|
|
|
121
|
+
it("keeps decline and agree buttons in equal-width columns when both are shown", () => {
|
|
122
|
+
const {getAllByTestId, getByTestId} = renderWithTheme(
|
|
123
|
+
<ConsentFormScreen form={baseForm} locale="en" onAgree={() => {}} onDecline={() => {}} />
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
const actionRow = getByTestId("consent-form-action-row");
|
|
127
|
+
const actionColumns = getAllByTestId("consent-form-action-column");
|
|
128
|
+
|
|
129
|
+
expect(actionRow.props.style).toMatchObject({flexDirection: "row"});
|
|
130
|
+
expect(actionColumns.length).toBe(2);
|
|
131
|
+
for (const column of actionColumns) {
|
|
132
|
+
expect(column.props.style).toMatchObject({flexBasis: 0, minWidth: 0});
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
121
136
|
it("fires scroll handlers without crashing", () => {
|
|
122
137
|
const form = {...baseForm, requireScrollToBottom: true};
|
|
123
138
|
const {getByTestId} = renderWithTheme(
|
|
@@ -59,8 +59,10 @@ export const ConsentFormScreen: React.FC<ConsentFormScreenProps> = ({
|
|
|
59
59
|
|
|
60
60
|
const signatureProvided = !form.captureSignature || Boolean(signatureValue);
|
|
61
61
|
const hasRequiredCheckboxes = form.checkboxes.some((checkbox) => checkbox.required);
|
|
62
|
+
const hasDeclineButton = Boolean(form.allowDecline && onDecline);
|
|
62
63
|
|
|
63
64
|
const canAgree = hasScrolledToBottom && allRequiredCheckboxesChecked && signatureProvided;
|
|
65
|
+
const actionColumnStyle = {flexBasis: 0, minWidth: 0};
|
|
64
66
|
|
|
65
67
|
// Auto-satisfy scroll requirement when content fits within the viewport
|
|
66
68
|
const handleContentSizeChange = (_w: number, h: number) => {
|
|
@@ -126,9 +128,19 @@ export const ConsentFormScreen: React.FC<ConsentFormScreenProps> = ({
|
|
|
126
128
|
|
|
127
129
|
const footer = (
|
|
128
130
|
<Box alignSelf="center" maxWidth={800} testID="consent-form-footer" width="100%">
|
|
129
|
-
<Box
|
|
130
|
-
{
|
|
131
|
-
|
|
131
|
+
<Box
|
|
132
|
+
direction={hasDeclineButton ? "row" : "column"}
|
|
133
|
+
gap={4}
|
|
134
|
+
paddingY={2}
|
|
135
|
+
testID="consent-form-action-row"
|
|
136
|
+
width="100%"
|
|
137
|
+
>
|
|
138
|
+
{hasDeclineButton && (
|
|
139
|
+
<Box
|
|
140
|
+
dangerouslySetInlineStyle={{__style: actionColumnStyle}}
|
|
141
|
+
flex="grow"
|
|
142
|
+
testID="consent-form-action-column"
|
|
143
|
+
>
|
|
132
144
|
<Button
|
|
133
145
|
fullWidth
|
|
134
146
|
onClick={onDecline!}
|
|
@@ -138,7 +150,11 @@ export const ConsentFormScreen: React.FC<ConsentFormScreenProps> = ({
|
|
|
138
150
|
/>
|
|
139
151
|
</Box>
|
|
140
152
|
)}
|
|
141
|
-
<Box
|
|
153
|
+
<Box
|
|
154
|
+
dangerouslySetInlineStyle={{__style: hasDeclineButton ? actionColumnStyle : {}}}
|
|
155
|
+
flex="grow"
|
|
156
|
+
testID={hasDeclineButton ? "consent-form-action-column" : undefined}
|
|
157
|
+
>
|
|
142
158
|
<Button
|
|
143
159
|
disabled={!canAgree}
|
|
144
160
|
fullWidth
|
|
@@ -220,6 +236,7 @@ export const ConsentFormScreen: React.FC<ConsentFormScreenProps> = ({
|
|
|
220
236
|
testID="consent-form-signature"
|
|
221
237
|
>
|
|
222
238
|
<SignatureField
|
|
239
|
+
fullWidth
|
|
223
240
|
onChange={(value) => setSignatureValue(value)}
|
|
224
241
|
onEnd={() => setScrollEnabled(true)}
|
|
225
242
|
onStart={() => setScrollEnabled(false)}
|