@terreno/ui 0.0.17 → 0.1.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 (48) hide show
  1. package/dist/Button.js +1 -1
  2. package/dist/Button.js.map +1 -1
  3. package/dist/Common.d.ts +1 -1
  4. package/dist/Hyperlink.js +2 -2
  5. package/dist/Hyperlink.js.map +1 -1
  6. package/dist/Page.js +2 -1
  7. package/dist/Page.js.map +1 -1
  8. package/dist/TerrenoProvider.js +1 -1
  9. package/dist/TerrenoProvider.js.map +1 -1
  10. package/dist/Text.js +3 -0
  11. package/dist/Text.js.map +1 -1
  12. package/dist/Theme.js +27 -27
  13. package/dist/Theme.js.map +1 -1
  14. package/dist/Toast.js +7 -5
  15. package/dist/Toast.js.map +1 -1
  16. package/dist/ToastNotifications.d.ts +144 -0
  17. package/dist/ToastNotifications.js +387 -0
  18. package/dist/ToastNotifications.js.map +1 -0
  19. package/dist/UserInactivity.js +2 -2
  20. package/dist/UserInactivity.js.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/package.json +8 -7
  24. package/src/Button.tsx +1 -1
  25. package/src/Common.ts +1 -2
  26. package/src/Hyperlink.tsx +2 -10
  27. package/src/Page.tsx +3 -2
  28. package/src/TerrenoProvider.tsx +1 -1
  29. package/src/Text.tsx +3 -0
  30. package/src/Theme.tsx +33 -27
  31. package/src/Toast.tsx +7 -5
  32. package/src/ToastNotifications.test.tsx +645 -0
  33. package/src/ToastNotifications.tsx +746 -0
  34. package/src/UserInactivity.tsx +2 -2
  35. package/src/__snapshots__/Button.test.tsx.snap +12 -12
  36. package/src/__snapshots__/DecimalRangeActionSheet.test.tsx.snap +2 -2
  37. package/src/__snapshots__/ErrorPage.test.tsx.snap +1 -1
  38. package/src/__snapshots__/Field.test.tsx.snap +138 -138
  39. package/src/__snapshots__/HeightActionSheet.test.tsx.snap +2 -2
  40. package/src/__snapshots__/InfoModalIcon.test.tsx.snap +4 -4
  41. package/src/__snapshots__/Modal.test.tsx.snap +3 -3
  42. package/src/__snapshots__/NumberPickerActionSheet.test.tsx.snap +2 -2
  43. package/src/__snapshots__/Page.test.tsx.snap +1 -1
  44. package/src/__snapshots__/PhoneNumberField.test.tsx.snap +17 -17
  45. package/src/bunSetup.ts +23 -0
  46. package/src/index.tsx +2 -0
  47. package/src/table/__snapshots__/TableDate.test.tsx.snap +4 -4
  48. package/src/table/__snapshots__/TableRow.test.tsx.snap +64 -64
@@ -0,0 +1,387 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ /**
14
+ * Vendored from react-native-toast-notifications v3.4.0
15
+ * https://github.com/arnnis/react-native-toast-notifications
16
+ *
17
+ * MIT License
18
+ *
19
+ * Copyright (c) 2020 Alireza Rezania
20
+ *
21
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ * of this software and associated documentation files (the "Software"), to deal
23
+ * in the Software without restriction, including without limitation the rights
24
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ * copies of the Software, and to permit persons to whom the Software is
26
+ * furnished to do so, subject to the following conditions:
27
+ *
28
+ * The above copyright notice and this permission notice shall be included in all
29
+ * copies or substantial portions of the Software.
30
+ *
31
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
+ * SOFTWARE.
38
+ */
39
+ import React, { createContext, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, } from "react";
40
+ import { Animated, Dimensions, KeyboardAvoidingView, PanResponder, Platform, SafeAreaView, StyleSheet, Text, TouchableWithoutFeedback, View, } from "react-native";
41
+ // ============================================================================
42
+ // useDimensions hook
43
+ // ============================================================================
44
+ function useDimensions() {
45
+ const [dimensions, setDimensions] = useState(Dimensions.get("window"));
46
+ const onChange = useCallback(({ window }) => {
47
+ setDimensions(window);
48
+ }, []);
49
+ useEffect(() => {
50
+ const subscription = Dimensions.addEventListener("change", onChange);
51
+ return () => {
52
+ subscription.remove();
53
+ };
54
+ }, [onChange]);
55
+ return dimensions;
56
+ }
57
+ // ============================================================================
58
+ // Toast Component
59
+ // ============================================================================
60
+ const ToastItem = (props) => {
61
+ var _a;
62
+ let { id, onDestroy, icon, type = "normal", message, duration = 5000, style, textStyle, animationDuration = 250, animationType = "slide-in", successIcon, dangerIcon, warningIcon, successColor, dangerColor, warningColor, normalColor, placement, swipeEnabled, onPress, } = props;
63
+ const containerRef = useRef(null);
64
+ const [animation] = useState(new Animated.Value(0));
65
+ const panResponderRef = useRef(undefined);
66
+ const panResponderAnimRef = useRef(undefined);
67
+ const closeTimeoutRef = useRef(null);
68
+ const dims = useDimensions();
69
+ const handleClose = useCallback(() => {
70
+ Animated.timing(animation, {
71
+ duration: animationDuration,
72
+ toValue: 0,
73
+ useNativeDriver: Platform.OS !== "web",
74
+ }).start(() => onDestroy());
75
+ }, [animation, animationDuration, onDestroy]);
76
+ useEffect(() => {
77
+ Animated.timing(animation, {
78
+ duration: animationDuration,
79
+ toValue: 1,
80
+ useNativeDriver: Platform.OS !== "web",
81
+ }).start();
82
+ if (duration !== 0 && typeof duration === "number") {
83
+ closeTimeoutRef.current = setTimeout(() => {
84
+ handleClose();
85
+ }, duration);
86
+ }
87
+ return () => {
88
+ closeTimeoutRef.current && clearTimeout(closeTimeoutRef.current);
89
+ };
90
+ }, [duration, animation, animationDuration, handleClose]);
91
+ // Handles hide & hideAll
92
+ useEffect(() => {
93
+ if (!props.open) {
94
+ // Unregister close timeout
95
+ closeTimeoutRef.current && clearTimeout(closeTimeoutRef.current);
96
+ // Close animation them remove from stack.
97
+ handleClose();
98
+ }
99
+ }, [
100
+ props.open, // Close animation them remove from stack.
101
+ handleClose,
102
+ ]);
103
+ const panReleaseToLeft = (gestureState) => {
104
+ Animated.timing(getPanResponderAnim(), {
105
+ duration: 250,
106
+ toValue: { x: (-dims.width / 10) * 9, y: gestureState.dy },
107
+ useNativeDriver: Platform.OS !== "web",
108
+ }).start(() => onDestroy());
109
+ };
110
+ const panReleaseToRight = (gestureState) => {
111
+ Animated.timing(getPanResponderAnim(), {
112
+ duration: 250,
113
+ toValue: { x: (dims.width / 10) * 9, y: gestureState.dy },
114
+ useNativeDriver: Platform.OS !== "web",
115
+ }).start(() => onDestroy());
116
+ };
117
+ const getPanResponder = () => {
118
+ if (panResponderRef.current)
119
+ return panResponderRef.current;
120
+ const swipeThreshold = Platform.OS === "android" ? 10 : 0;
121
+ panResponderRef.current = PanResponder.create({
122
+ onMoveShouldSetPanResponder: (_, gestureState) => {
123
+ //return true if user is swiping, return false if it's a single click
124
+ return (Math.abs(gestureState.dx) > swipeThreshold || Math.abs(gestureState.dy) > swipeThreshold);
125
+ },
126
+ onPanResponderMove: (_, gestureState) => {
127
+ var _a;
128
+ (_a = getPanResponderAnim()) === null || _a === void 0 ? void 0 : _a.setValue({
129
+ x: gestureState.dx,
130
+ y: gestureState.dy,
131
+ });
132
+ },
133
+ onPanResponderRelease: (_, gestureState) => {
134
+ if (gestureState.dx > 50) {
135
+ panReleaseToRight(gestureState);
136
+ }
137
+ else if (gestureState.dx < -50) {
138
+ panReleaseToLeft(gestureState);
139
+ }
140
+ else {
141
+ Animated.spring(getPanResponderAnim(), {
142
+ toValue: { x: 0, y: 0 },
143
+ useNativeDriver: Platform.OS !== "web",
144
+ }).start();
145
+ }
146
+ },
147
+ });
148
+ return panResponderRef.current;
149
+ };
150
+ const getPanResponderAnim = () => {
151
+ if (panResponderAnimRef.current)
152
+ return panResponderAnimRef.current;
153
+ panResponderAnimRef.current = new Animated.ValueXY({ x: 0, y: 0 });
154
+ return panResponderAnimRef.current;
155
+ };
156
+ if (icon === undefined) {
157
+ switch (type) {
158
+ case "success": {
159
+ if (successIcon) {
160
+ icon = successIcon;
161
+ }
162
+ break;
163
+ }
164
+ case "danger": {
165
+ if (dangerIcon) {
166
+ icon = dangerIcon;
167
+ }
168
+ break;
169
+ }
170
+ case "warning": {
171
+ if (warningIcon) {
172
+ icon = warningIcon;
173
+ }
174
+ break;
175
+ }
176
+ }
177
+ }
178
+ let backgroundColor = "";
179
+ switch (type) {
180
+ case "success":
181
+ backgroundColor = successColor || "rgb(46, 125, 50)";
182
+ break;
183
+ case "danger":
184
+ backgroundColor = dangerColor || "rgb(211, 47, 47)";
185
+ break;
186
+ case "warning":
187
+ backgroundColor = warningColor || "rgb(237, 108, 2)";
188
+ break;
189
+ default:
190
+ backgroundColor = normalColor || "#333";
191
+ }
192
+ const baseTransform = [
193
+ {
194
+ translateY: animation.interpolate({
195
+ inputRange: [0, 1],
196
+ outputRange: placement === "bottom" ? [20, 0] : [-20, 0],
197
+ }),
198
+ },
199
+ ];
200
+ if (swipeEnabled) {
201
+ const panTransform = getPanResponderAnim().getTranslateTransform()[0];
202
+ baseTransform.push(panTransform);
203
+ }
204
+ if (animationType === "zoom-in") {
205
+ baseTransform.push({
206
+ scale: animation.interpolate({
207
+ inputRange: [0, 1],
208
+ outputRange: [0.7, 1],
209
+ }),
210
+ });
211
+ }
212
+ const animationStyle = {
213
+ opacity: animation,
214
+ transform: baseTransform,
215
+ };
216
+ return (_jsx(Animated.View, Object.assign({ pointerEvents: "box-none", ref: containerRef }, (swipeEnabled ? getPanResponder().panHandlers : null), { style: [toastStyles.container, animationStyle], children: ((_a = props.renderType) === null || _a === void 0 ? void 0 : _a[type]) ? (props.renderType[type](props)) : props.renderToast ? (props.renderToast(props)) : (_jsx(TouchableWithoutFeedback, { disabled: !onPress, onPress: () => onPress === null || onPress === void 0 ? void 0 : onPress(id), children: _jsxs(View, { style: [
217
+ toastStyles.toastContainer,
218
+ { backgroundColor, maxWidth: (dims.width / 10) * 9 },
219
+ style,
220
+ ], children: [icon ? _jsx(View, { style: toastStyles.iconContainer, children: icon }) : null, React.isValidElement(message) ? (message) : (_jsx(Text, { style: [toastStyles.message, textStyle], children: message }))] }) })) })));
221
+ };
222
+ const toastStyles = StyleSheet.create({
223
+ container: { alignItems: "center", width: "100%" },
224
+ iconContainer: {
225
+ marginRight: 5,
226
+ },
227
+ message: {
228
+ color: "#fff",
229
+ fontWeight: "500",
230
+ },
231
+ toastContainer: {
232
+ alignItems: "center",
233
+ borderRadius: 5,
234
+ flexDirection: "row",
235
+ marginVertical: 5,
236
+ overflow: "hidden",
237
+ paddingHorizontal: 12,
238
+ paddingVertical: 12,
239
+ },
240
+ });
241
+ // ============================================================================
242
+ // Toast Container
243
+ // ============================================================================
244
+ const { height, width } = Dimensions.get("window");
245
+ const ToastContainer = forwardRef((props, ref) => {
246
+ const { offset = 10, offsetTop, offsetBottom, placement = "bottom", swipeEnabled = true, renderToast, renderType, duration, type, style, textStyle, animationDuration, animationType, successIcon, dangerIcon, warningIcon, successColor, dangerColor, warningColor, normalColor, onPress, data, } = props;
247
+ const toastDefaults = useMemo(() => ({
248
+ animationDuration,
249
+ animationType,
250
+ dangerColor,
251
+ dangerIcon,
252
+ data,
253
+ duration,
254
+ normalColor,
255
+ onPress,
256
+ renderToast,
257
+ renderType,
258
+ style,
259
+ successColor,
260
+ successIcon,
261
+ textStyle,
262
+ type,
263
+ warningColor,
264
+ warningIcon,
265
+ }), [
266
+ renderToast,
267
+ renderType,
268
+ duration,
269
+ type,
270
+ style,
271
+ textStyle,
272
+ animationDuration,
273
+ animationType,
274
+ successIcon,
275
+ dangerIcon,
276
+ warningIcon,
277
+ successColor,
278
+ dangerColor,
279
+ warningColor,
280
+ normalColor,
281
+ onPress,
282
+ data,
283
+ ]);
284
+ const [toasts, setToasts] = useState([]);
285
+ const hide = useCallback((id) => {
286
+ setToasts((prev) => prev.map((t) => (t.id === id ? Object.assign(Object.assign({}, t), { open: false }) : t)));
287
+ }, []);
288
+ const show = useCallback((message, toastOptions) => {
289
+ const id = (toastOptions === null || toastOptions === void 0 ? void 0 : toastOptions.id) || Math.random().toString();
290
+ const onDestroy = () => {
291
+ var _a;
292
+ (_a = toastOptions === null || toastOptions === void 0 ? void 0 : toastOptions.onClose) === null || _a === void 0 ? void 0 : _a.call(toastOptions);
293
+ setToasts((prev) => prev.filter((t) => t.id !== id));
294
+ };
295
+ requestAnimationFrame(() => {
296
+ setToasts((prev) => [
297
+ Object.assign(Object.assign({ id,
298
+ message,
299
+ onDestroy, onHide: () => hide(id), open: true, placement,
300
+ swipeEnabled }, toastDefaults), toastOptions),
301
+ ...prev.filter((t) => t.open),
302
+ ]);
303
+ });
304
+ return id;
305
+ }, [hide, placement, swipeEnabled, toastDefaults]);
306
+ const update = useCallback((id, message, toastOptions) => {
307
+ setToasts((prev) => prev.map((toast) => (toast.id === id ? Object.assign(Object.assign(Object.assign({}, toast), { message }), toastOptions) : toast)));
308
+ }, []);
309
+ const hideAll = useCallback(() => {
310
+ setToasts((prev) => prev.map((t) => (Object.assign(Object.assign({}, t), { open: false }))));
311
+ }, []);
312
+ const isOpen = useCallback((id) => {
313
+ return toasts.some((t) => t.id === id && t.open);
314
+ }, [toasts]);
315
+ useImperativeHandle(ref, () => ({
316
+ hide,
317
+ hideAll,
318
+ isOpen,
319
+ show,
320
+ update,
321
+ }), [show, update, hide, hideAll, isOpen]);
322
+ const renderBottomToasts = useCallback(() => {
323
+ const style = {
324
+ bottom: offsetBottom || offset,
325
+ flexDirection: "column",
326
+ justifyContent: "flex-end",
327
+ width: width,
328
+ };
329
+ return (_jsx(KeyboardAvoidingView, { behavior: Platform.OS === "ios" ? "position" : undefined, pointerEvents: "box-none", style: [containerStyles.container, style], children: _jsx(SafeAreaView, { children: toasts
330
+ .filter((t) => !t.placement || t.placement === "bottom")
331
+ .map((toast) => (_jsx(ToastItem, Object.assign({}, toast), toast.id))) }) }));
332
+ }, [toasts, offset, offsetBottom]);
333
+ const renderTopToasts = useCallback(() => {
334
+ const style = {
335
+ flexDirection: "column-reverse",
336
+ justifyContent: "flex-start",
337
+ top: offsetTop || offset,
338
+ width: width,
339
+ };
340
+ return (_jsx(KeyboardAvoidingView, { behavior: Platform.OS === "ios" ? "position" : undefined, pointerEvents: "box-none", style: [containerStyles.container, style], children: _jsx(SafeAreaView, { children: toasts
341
+ .filter((t) => t.placement === "top")
342
+ .map((toast) => (_jsx(ToastItem, Object.assign({}, toast), toast.id))) }) }));
343
+ }, [toasts, offset, offsetTop]);
344
+ const renderCenterToasts = useCallback(() => {
345
+ const style = {
346
+ flexDirection: "column-reverse",
347
+ height: height,
348
+ justifyContent: "center",
349
+ top: offsetTop || offset,
350
+ width: width,
351
+ };
352
+ const data = toasts.filter((t) => t.placement === "center");
353
+ const foundToast = data.length > 0;
354
+ if (!foundToast)
355
+ return null;
356
+ return (_jsx(KeyboardAvoidingView, { behavior: Platform.OS === "ios" ? "position" : undefined, pointerEvents: "box-none", style: [containerStyles.container, style], children: toasts
357
+ .filter((t) => t.placement === "center")
358
+ .map((toast) => (_jsx(ToastItem, Object.assign({}, toast), toast.id))) }));
359
+ }, [toasts, offset, offsetTop]);
360
+ return (_jsxs(_Fragment, { children: [renderTopToasts(), renderBottomToasts(), renderCenterToasts()] }));
361
+ });
362
+ ToastContainer.displayName = "ToastContainer";
363
+ const containerStyles = StyleSheet.create({
364
+ container: Object.assign({ alignSelf: "center", elevation: 999999, flex: 0, maxWidth: "100%",
365
+ // @ts-expect-error: fixed is available on web.
366
+ position: Platform.OS === "web" ? "fixed" : "absolute", zIndex: 999999 }, (Platform.OS === "web" ? { overflow: "hidden", userSelect: "none" } : null)),
367
+ message: {
368
+ color: "#333",
369
+ },
370
+ });
371
+ const ToastContext = createContext({});
372
+ export let GlobalToast;
373
+ export const ToastProvider = (_a) => {
374
+ var { children } = _a, props = __rest(_a, ["children"]);
375
+ const toastRef = useRef(null);
376
+ const [refState, setRefState] = useState({});
377
+ useEffect(() => {
378
+ if (toastRef.current) {
379
+ setRefState(toastRef.current);
380
+ GlobalToast = toastRef.current;
381
+ }
382
+ }, []);
383
+ return (_jsxs(ToastContext.Provider, { value: refState, children: [children, _jsx(ToastContainer, Object.assign({ ref: toastRef }, props))] }));
384
+ };
385
+ export const useToastNotifications = () => useContext(ToastContext);
386
+ export default ToastContainer;
387
+ //# sourceMappingURL=ToastNotifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastNotifications.js","sourceRoot":"","sources":["../src/ToastNotifications.tsx"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export const UserInactivity = ({ children, isActive: isActiveProp, onAction, ski
34
34
  const actualStyle = style !== null && style !== void 0 ? style : DEFAULT_STYLE;
35
35
  const initialActive = isActiveProp === undefined ? true : isActiveProp;
36
36
  const [active, setActive] = useState(initialActive);
37
- const [resetKey, setResetKey] = useState(0);
37
+ const [_resetKey, setResetKey] = useState(0);
38
38
  const timeoutRef = useRef(null);
39
39
  const isFirstRender = useRef(true);
40
40
  const clearTimer = useCallback(() => {
@@ -61,7 +61,7 @@ export const UserInactivity = ({ children, isActive: isActiveProp, onAction, ski
61
61
  onAction(false);
62
62
  }, timeForInactivity);
63
63
  return clearTimer;
64
- }, [resetKey, timeForInactivity, onAction, clearTimer]);
64
+ }, [timeForInactivity, onAction, clearTimer]);
65
65
  // Trigger onAction when active state changes (except on first render)
66
66
  useEffect(() => {
67
67
  if (isFirstRender.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"UserInactivity.js","sourceRoot":"","sources":["../src/UserInactivity.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserInactivity.js","sourceRoot":"","sources":["../src/UserInactivity.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAU,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACxE,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAiB,MAAM,cAAc,CAAC;AAI1E,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,aAAa,GAAc;IAC/B,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EACtD,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,KAAK,EACL,iBAAiB,GAAG,2BAA2B,GAChD,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,aAAa,CAAC;IAE3C,MAAM,aAAa,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IACvE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,UAAU,EAAE,CAAC;QACb,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,CAAC;YACjB,uBAAuB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAE5C,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEtB,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9C,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;QAEnF,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAE5C,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,uBAAuB,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,+BAA+B;IAC/B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACnC,YAAY,CAAC,MAAM,CAAC;QAClB,kCAAkC,EAAE,yBAAyB;QAC7D,gCAAgC,EAAE,yBAAyB;QAC3D,mCAAmC,EAAE,yBAAyB;KAC/D,CAAC,CACH,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,kBAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,IAAM,YAAY,CAAC,WAAW,cACvE,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export type { StyleProp, ViewStyle } from "react-native";
1
2
  export * from "./Accordion";
2
3
  export * from "./ActionSheet";
3
4
  export * from "./AddressField";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
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,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -39,7 +39,8 @@
39
39
  "expo-splash-screen": "~31.0.12",
40
40
  "expo-updates": "^29.0.15",
41
41
  "expo-web-browser": "~15.0.10",
42
- "libphonenumber-js": "^1.12.31",
42
+ "libphonenumber-js": "^1.12.36",
43
+ "linkify-it": "^5.0.0",
43
44
  "lodash": "^4.17.21",
44
45
  "luxon": "^3.7.2",
45
46
  "react-app-polyfill": "^3.0.0",
@@ -53,7 +54,7 @@
53
54
  "react-native-calendars": "^1.1312.1",
54
55
  "react-native-drawer-layout": "4.2.0",
55
56
  "react-native-gesture-handler": "~2.28.0",
56
- "react-native-google-places-autocomplete": "^2.6.1",
57
+ "react-native-google-places-autocomplete": "^2.6.4",
57
58
  "react-native-markdown-display": "^7.0.2",
58
59
  "react-native-modalize": "^2.1.1",
59
60
  "react-native-permissions": "^5.4.4",
@@ -65,19 +66,18 @@
65
66
  "react-native-signature-canvas": "^4.7.4",
66
67
  "react-native-svg": "15.12.1",
67
68
  "react-native-swiper-flatlist": "^3.2.5",
68
- "react-native-toast-notifications": "^3.4.0",
69
69
  "react-native-web": "~0.21.0",
70
70
  "react-native-webview": "13.15.0",
71
- "react-native-worklets": "0.5.1",
71
+ "react-native-worklets": "~0.7.",
72
72
  "react-signature-canvas": "^1.1.0-alpha.2",
73
- "react-time-picker": "^7.0.0"
73
+ "react-time-picker": "^8.0.2"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@biomejs/biome": "^2.3.6",
77
77
  "@expo/config-plugins": "~54.0.4",
78
78
  "@happy-dom/global-registrator": "^17.4.4",
79
79
  "@testing-library/react-native": "^13.2.0",
80
- "@types/bun": "^1.2.6",
80
+ "@types/bun": "^1.3.8",
81
81
  "@types/lodash": "^4.17.17",
82
82
  "@types/luxon": "^3.7.1",
83
83
  "@types/mdurl": "^2.0.0",
@@ -119,6 +119,7 @@
119
119
  },
120
120
  "scripts": {
121
121
  "compile": "tsc",
122
+ "compile:watch": "tsc -w",
122
123
  "dev": "tsc -w",
123
124
  "lint": "biome check .",
124
125
  "lint:fix": "biome check --write .",
@@ -128,5 +129,5 @@
128
129
  "test:ci": "TZ=America/New_York bun test",
129
130
  "types": "bunx typedoc"
130
131
  },
131
- "version": "0.0.17"
132
+ "version": "0.1.0"
132
133
  }
package/src/Button.tsx CHANGED
@@ -103,7 +103,7 @@ const ButtonComponent: FC<ButtonProps> = ({
103
103
  )}
104
104
  style={{
105
105
  alignItems: "center",
106
- alignSelf: fullWidth ? "stretch" : undefined,
106
+ alignSelf: fullWidth ? "stretch" : "flex-start",
107
107
  backgroundColor,
108
108
  borderColor,
109
109
  borderRadius: theme.radius.rounded,
package/src/Common.ts CHANGED
@@ -1836,8 +1836,7 @@ export interface NumberPickerActionSheetProps {
1836
1836
  }
1837
1837
 
1838
1838
  export interface PageProps {
1839
- // TODO: figure out navigation
1840
- navigation: any;
1839
+ navigation?: any;
1841
1840
  scroll?: boolean;
1842
1841
  loading?: boolean;
1843
1842
  display?: "flex" | "none" | "block" | "inlineBlock";
package/src/Hyperlink.tsx CHANGED
@@ -63,11 +63,7 @@ class HyperlinkComponent extends React.Component<HyperlinkProps> {
63
63
  const elements = [];
64
64
  let _lastIndex = 0;
65
65
 
66
- const componentProps = {
67
- ...component.props,
68
- key: undefined,
69
- ref: undefined,
70
- };
66
+ const {key: _key, ref: _ref, ...componentProps} = component.props;
71
67
 
72
68
  try {
73
69
  linkifyIt.match(component.props.children).forEach(({index, lastIndex, text, url}: any) => {
@@ -120,11 +116,7 @@ class HyperlinkComponent extends React.Component<HyperlinkProps> {
120
116
  const {props: {children} = {} as any} = component || {};
121
117
  if (!children) return component;
122
118
 
123
- const componentProps = {
124
- ...component.props,
125
- key: undefined,
126
- ref: undefined,
127
- };
119
+ const {key: _key, ref: _ref, ...componentProps} = component.props;
128
120
 
129
121
  const linkifyIt = this.props.linkify || linkifyLib;
130
122
 
package/src/Page.tsx CHANGED
@@ -1,3 +1,4 @@
1
+ import {router} from "expo-router";
1
2
  import React from "react";
2
3
 
3
4
  import {Box} from "./Box";
@@ -23,7 +24,7 @@ export class Page extends React.Component<PageProps, {}> {
23
24
  accessibilityHint="Navigate back"
24
25
  accessibilityLabel=""
25
26
  iconName="chevron-left"
26
- onClick={() => this.props.navigation.goBack()}
27
+ onClick={() => router.back()}
27
28
  />
28
29
  </Box>
29
30
  )}
@@ -33,7 +34,7 @@ export class Page extends React.Component<PageProps, {}> {
33
34
  accessibilityHint="Close page"
34
35
  accessibilityLabel=""
35
36
  iconName="xmark"
36
- onClick={() => this.props.navigation.goBack()}
37
+ onClick={() => router.back()}
37
38
  />
38
39
  </Box>
39
40
  )}
@@ -1,11 +1,11 @@
1
1
  import type React from "react";
2
2
  import type {FC} from "react";
3
3
  import {Host} from "react-native-portalize";
4
- import {ToastProvider} from "react-native-toast-notifications";
5
4
 
6
5
  import {OpenAPIProvider} from "./OpenAPIContext";
7
6
  import {ThemeProvider} from "./Theme";
8
7
  import {Toast} from "./Toast";
8
+ import {ToastProvider} from "./ToastNotifications";
9
9
 
10
10
  export const TerrenoProvider: FC<{
11
11
  children: React.ReactNode;
package/src/Text.tsx CHANGED
@@ -85,6 +85,9 @@ export const Text = ({
85
85
  if (align) {
86
86
  style.textAlign = align;
87
87
  }
88
+ if (!theme?.text) {
89
+ throw new Error("Text component must be used within TerrenoProvider");
90
+ }
88
91
  if (color) {
89
92
  style.color = theme.text[color];
90
93
  } else {