@pushframe/sdk 0.1.5 → 0.1.9

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 (288) hide show
  1. package/lib/commonjs/PushframeProvider.js +69 -0
  2. package/lib/commonjs/PushframeProvider.js.map +1 -0
  3. package/lib/commonjs/PushframeScreen.js +69 -0
  4. package/lib/commonjs/PushframeScreen.js.map +1 -0
  5. package/lib/commonjs/bindings.js +73 -0
  6. package/lib/commonjs/bindings.js.map +1 -0
  7. package/lib/commonjs/components/ButtonComponent.js +72 -0
  8. package/lib/commonjs/components/ButtonComponent.js.map +1 -0
  9. package/lib/commonjs/components/FlatListComponent.js +73 -0
  10. package/lib/commonjs/components/FlatListComponent.js.map +1 -0
  11. package/lib/commonjs/components/ImageComponent.js +67 -0
  12. package/lib/commonjs/components/ImageComponent.js.map +1 -0
  13. package/lib/commonjs/components/PushFrameComponent.js +179 -0
  14. package/lib/commonjs/components/PushFrameComponent.js.map +1 -0
  15. package/lib/commonjs/components/PushFrameProvider.js +115 -0
  16. package/lib/commonjs/components/PushFrameProvider.js.map +1 -0
  17. package/lib/commonjs/components/PushFrameScreen.js +39 -0
  18. package/lib/commonjs/components/PushFrameScreen.js.map +1 -0
  19. package/lib/commonjs/components/ScrollViewComponent.js +64 -0
  20. package/lib/commonjs/components/ScrollViewComponent.js.map +1 -0
  21. package/lib/commonjs/components/StackComponent.js +61 -0
  22. package/lib/commonjs/components/StackComponent.js.map +1 -0
  23. package/lib/commonjs/components/TextComponent.js +62 -0
  24. package/lib/commonjs/components/TextComponent.js.map +1 -0
  25. package/lib/commonjs/conditions.js +44 -0
  26. package/lib/commonjs/conditions.js.map +1 -0
  27. package/lib/commonjs/context/PushFrameContext.js +33 -0
  28. package/lib/commonjs/context/PushFrameContext.js.map +1 -0
  29. package/lib/commonjs/index.js +200 -0
  30. package/lib/commonjs/index.js.map +1 -0
  31. package/lib/commonjs/overlays/BottomSheetHost.js +144 -0
  32. package/lib/commonjs/overlays/BottomSheetHost.js.map +1 -0
  33. package/lib/commonjs/overlays/ToastHost.js +135 -0
  34. package/lib/commonjs/overlays/ToastHost.js.map +1 -0
  35. package/lib/commonjs/package.json +1 -0
  36. package/lib/commonjs/primitives/ActivityIndicator.js +24 -0
  37. package/lib/commonjs/primitives/ActivityIndicator.js.map +1 -0
  38. package/lib/commonjs/primitives/FlatList.js +34 -0
  39. package/lib/commonjs/primitives/FlatList.js.map +1 -0
  40. package/lib/commonjs/primitives/Image.js +33 -0
  41. package/lib/commonjs/primitives/Image.js.map +1 -0
  42. package/lib/commonjs/primitives/KeyboardAvoidingView.js +24 -0
  43. package/lib/commonjs/primitives/KeyboardAvoidingView.js.map +1 -0
  44. package/lib/commonjs/primitives/Modal.js +24 -0
  45. package/lib/commonjs/primitives/Modal.js.map +1 -0
  46. package/lib/commonjs/primitives/Pressable.js +26 -0
  47. package/lib/commonjs/primitives/Pressable.js.map +1 -0
  48. package/lib/commonjs/primitives/SafeAreaView.js +38 -0
  49. package/lib/commonjs/primitives/SafeAreaView.js.map +1 -0
  50. package/lib/commonjs/primitives/ScrollView.js +26 -0
  51. package/lib/commonjs/primitives/ScrollView.js.map +1 -0
  52. package/lib/commonjs/primitives/StatusBar.js +24 -0
  53. package/lib/commonjs/primitives/StatusBar.js.map +1 -0
  54. package/lib/commonjs/primitives/Switch.js +28 -0
  55. package/lib/commonjs/primitives/Switch.js.map +1 -0
  56. package/lib/commonjs/primitives/Text.js +37 -0
  57. package/lib/commonjs/primitives/Text.js.map +1 -0
  58. package/lib/commonjs/primitives/TextInput.js +31 -0
  59. package/lib/commonjs/primitives/TextInput.js.map +1 -0
  60. package/lib/commonjs/primitives/View.js +24 -0
  61. package/lib/commonjs/primitives/View.js.map +1 -0
  62. package/lib/commonjs/primitives/index.js +97 -0
  63. package/lib/commonjs/primitives/index.js.map +1 -0
  64. package/lib/commonjs/registry/ComponentRegistry.js +70 -0
  65. package/lib/commonjs/registry/ComponentRegistry.js.map +1 -0
  66. package/lib/commonjs/registry.js +94 -0
  67. package/lib/commonjs/registry.js.map +1 -0
  68. package/lib/commonjs/renderer/RecursiveRenderer.js +202 -0
  69. package/lib/commonjs/renderer/RecursiveRenderer.js.map +1 -0
  70. package/lib/commonjs/renderer/bindingResolver.js +98 -0
  71. package/lib/commonjs/renderer/bindingResolver.js.map +1 -0
  72. package/lib/commonjs/renderer/conditionalEvaluator.js +31 -0
  73. package/lib/commonjs/renderer/conditionalEvaluator.js.map +1 -0
  74. package/lib/commonjs/renderer.js +107 -0
  75. package/lib/commonjs/renderer.js.map +1 -0
  76. package/lib/commonjs/schema.js +79 -0
  77. package/lib/commonjs/schema.js.map +1 -0
  78. package/lib/commonjs/transformer/index.js +1055 -0
  79. package/lib/commonjs/transformer/index.js.map +1 -0
  80. package/lib/commonjs/transport.js +86 -0
  81. package/lib/commonjs/transport.js.map +1 -0
  82. package/lib/module/PushframeProvider.js +62 -0
  83. package/lib/module/PushframeProvider.js.map +1 -0
  84. package/lib/module/PushframeScreen.js +65 -0
  85. package/lib/module/PushframeScreen.js.map +1 -0
  86. package/lib/module/bindings.js +68 -0
  87. package/lib/module/bindings.js.map +1 -0
  88. package/lib/module/components/ButtonComponent.js +67 -0
  89. package/lib/module/components/ButtonComponent.js.map +1 -0
  90. package/lib/module/components/FlatListComponent.js +68 -0
  91. package/lib/module/components/FlatListComponent.js.map +1 -0
  92. package/lib/module/components/ImageComponent.js +62 -0
  93. package/lib/module/components/ImageComponent.js.map +1 -0
  94. package/lib/module/components/PushFrameComponent.js +174 -0
  95. package/lib/module/components/PushFrameComponent.js.map +1 -0
  96. package/lib/module/components/PushFrameProvider.js +110 -0
  97. package/lib/module/components/PushFrameProvider.js.map +1 -0
  98. package/lib/module/components/PushFrameScreen.js +34 -0
  99. package/lib/module/components/PushFrameScreen.js.map +1 -0
  100. package/lib/module/components/ScrollViewComponent.js +59 -0
  101. package/lib/module/components/ScrollViewComponent.js.map +1 -0
  102. package/lib/module/components/StackComponent.js +56 -0
  103. package/lib/module/components/StackComponent.js.map +1 -0
  104. package/lib/module/components/TextComponent.js +57 -0
  105. package/lib/module/components/TextComponent.js.map +1 -0
  106. package/lib/module/conditions.js +40 -0
  107. package/lib/module/conditions.js.map +1 -0
  108. package/lib/module/context/PushFrameContext.js +29 -0
  109. package/lib/module/context/PushFrameContext.js.map +1 -0
  110. package/lib/module/index.js +99 -0
  111. package/lib/module/index.js.map +1 -0
  112. package/lib/module/overlays/BottomSheetHost.js +139 -0
  113. package/lib/module/overlays/BottomSheetHost.js.map +1 -0
  114. package/lib/module/overlays/ToastHost.js +130 -0
  115. package/lib/module/overlays/ToastHost.js.map +1 -0
  116. package/lib/module/primitives/ActivityIndicator.js +19 -0
  117. package/lib/module/primitives/ActivityIndicator.js.map +1 -0
  118. package/lib/module/primitives/FlatList.js +29 -0
  119. package/lib/module/primitives/FlatList.js.map +1 -0
  120. package/lib/module/primitives/Image.js +28 -0
  121. package/lib/module/primitives/Image.js.map +1 -0
  122. package/lib/module/primitives/KeyboardAvoidingView.js +19 -0
  123. package/lib/module/primitives/KeyboardAvoidingView.js.map +1 -0
  124. package/lib/module/primitives/Modal.js +19 -0
  125. package/lib/module/primitives/Modal.js.map +1 -0
  126. package/lib/module/primitives/Pressable.js +21 -0
  127. package/lib/module/primitives/Pressable.js.map +1 -0
  128. package/lib/module/primitives/SafeAreaView.js +33 -0
  129. package/lib/module/primitives/SafeAreaView.js.map +1 -0
  130. package/lib/module/primitives/ScrollView.js +21 -0
  131. package/lib/module/primitives/ScrollView.js.map +1 -0
  132. package/lib/module/primitives/StatusBar.js +19 -0
  133. package/lib/module/primitives/StatusBar.js.map +1 -0
  134. package/lib/module/primitives/Switch.js +23 -0
  135. package/lib/module/primitives/Switch.js.map +1 -0
  136. package/lib/module/primitives/Text.js +32 -0
  137. package/lib/module/primitives/Text.js.map +1 -0
  138. package/lib/module/primitives/TextInput.js +26 -0
  139. package/lib/module/primitives/TextInput.js.map +1 -0
  140. package/lib/module/primitives/View.js +19 -0
  141. package/lib/module/primitives/View.js.map +1 -0
  142. package/lib/module/primitives/index.js +16 -0
  143. package/lib/module/primitives/index.js.map +1 -0
  144. package/lib/module/registry/ComponentRegistry.js +66 -0
  145. package/lib/module/registry/ComponentRegistry.js.map +1 -0
  146. package/lib/module/registry.js +88 -0
  147. package/lib/module/registry.js.map +1 -0
  148. package/lib/module/renderer/RecursiveRenderer.js +197 -0
  149. package/lib/module/renderer/RecursiveRenderer.js.map +1 -0
  150. package/lib/module/renderer/bindingResolver.js +92 -0
  151. package/lib/module/renderer/bindingResolver.js.map +1 -0
  152. package/lib/module/renderer/conditionalEvaluator.js +28 -0
  153. package/lib/module/renderer/conditionalEvaluator.js.map +1 -0
  154. package/lib/module/renderer.js +103 -0
  155. package/lib/module/renderer.js.map +1 -0
  156. package/lib/module/schema.js +74 -0
  157. package/lib/module/schema.js.map +1 -0
  158. package/lib/module/transformer/index.js +1051 -0
  159. package/lib/module/transformer/index.js.map +1 -0
  160. package/lib/module/transport.js +82 -0
  161. package/lib/module/transport.js.map +1 -0
  162. package/lib/typescript/PushframeProvider.d.ts +58 -0
  163. package/lib/typescript/PushframeProvider.d.ts.map +1 -0
  164. package/lib/typescript/PushframeScreen.d.ts +36 -0
  165. package/lib/typescript/PushframeScreen.d.ts.map +1 -0
  166. package/lib/typescript/bindings.d.ts +29 -0
  167. package/lib/typescript/bindings.d.ts.map +1 -0
  168. package/lib/typescript/components/ButtonComponent.d.ts +11 -0
  169. package/lib/typescript/components/ButtonComponent.d.ts.map +1 -0
  170. package/lib/typescript/components/FlatListComponent.d.ts +28 -0
  171. package/lib/typescript/components/FlatListComponent.d.ts.map +1 -0
  172. package/lib/typescript/components/ImageComponent.d.ts +12 -0
  173. package/lib/typescript/components/ImageComponent.d.ts.map +1 -0
  174. package/lib/typescript/components/PushFrameComponent.d.ts +48 -0
  175. package/lib/typescript/components/PushFrameComponent.d.ts.map +1 -0
  176. package/lib/typescript/components/PushFrameProvider.d.ts +51 -0
  177. package/lib/typescript/components/PushFrameProvider.d.ts.map +1 -0
  178. package/lib/typescript/components/PushFrameScreen.d.ts +15 -0
  179. package/lib/typescript/components/PushFrameScreen.d.ts.map +1 -0
  180. package/lib/typescript/components/ScrollViewComponent.d.ts +19 -0
  181. package/lib/typescript/components/ScrollViewComponent.d.ts.map +1 -0
  182. package/lib/typescript/components/StackComponent.d.ts +16 -0
  183. package/lib/typescript/components/StackComponent.d.ts.map +1 -0
  184. package/lib/typescript/components/TextComponent.d.ts +13 -0
  185. package/lib/typescript/components/TextComponent.d.ts.map +1 -0
  186. package/lib/typescript/conditions.d.ts +12 -0
  187. package/lib/typescript/conditions.d.ts.map +1 -0
  188. package/lib/typescript/context/PushFrameContext.d.ts +57 -0
  189. package/lib/typescript/context/PushFrameContext.d.ts.map +1 -0
  190. package/lib/typescript/index.d.ts +74 -0
  191. package/lib/typescript/index.d.ts.map +1 -0
  192. package/lib/typescript/overlays/BottomSheetHost.d.ts +21 -0
  193. package/lib/typescript/overlays/BottomSheetHost.d.ts.map +1 -0
  194. package/lib/typescript/overlays/ToastHost.d.ts +12 -0
  195. package/lib/typescript/overlays/ToastHost.d.ts.map +1 -0
  196. package/lib/typescript/primitives/ActivityIndicator.d.ts +12 -0
  197. package/lib/typescript/primitives/ActivityIndicator.d.ts.map +1 -0
  198. package/lib/typescript/primitives/FlatList.d.ts +29 -0
  199. package/lib/typescript/primitives/FlatList.d.ts.map +1 -0
  200. package/lib/typescript/primitives/Image.d.ts +20 -0
  201. package/lib/typescript/primitives/Image.d.ts.map +1 -0
  202. package/lib/typescript/primitives/KeyboardAvoidingView.d.ts +12 -0
  203. package/lib/typescript/primitives/KeyboardAvoidingView.d.ts.map +1 -0
  204. package/lib/typescript/primitives/Modal.d.ts +12 -0
  205. package/lib/typescript/primitives/Modal.d.ts.map +1 -0
  206. package/lib/typescript/primitives/Pressable.d.ts +14 -0
  207. package/lib/typescript/primitives/Pressable.d.ts.map +1 -0
  208. package/lib/typescript/primitives/SafeAreaView.d.ts +20 -0
  209. package/lib/typescript/primitives/SafeAreaView.d.ts.map +1 -0
  210. package/lib/typescript/primitives/ScrollView.d.ts +15 -0
  211. package/lib/typescript/primitives/ScrollView.d.ts.map +1 -0
  212. package/lib/typescript/primitives/StatusBar.d.ts +12 -0
  213. package/lib/typescript/primitives/StatusBar.d.ts.map +1 -0
  214. package/lib/typescript/primitives/Switch.d.ts +19 -0
  215. package/lib/typescript/primitives/Switch.d.ts.map +1 -0
  216. package/lib/typescript/primitives/Text.d.ts +25 -0
  217. package/lib/typescript/primitives/Text.d.ts.map +1 -0
  218. package/lib/typescript/primitives/TextInput.d.ts +25 -0
  219. package/lib/typescript/primitives/TextInput.d.ts.map +1 -0
  220. package/lib/typescript/primitives/View.d.ts +12 -0
  221. package/lib/typescript/primitives/View.d.ts.map +1 -0
  222. package/lib/typescript/primitives/index.d.ts +27 -0
  223. package/lib/typescript/primitives/index.d.ts.map +1 -0
  224. package/lib/typescript/registry/ComponentRegistry.d.ts +21 -0
  225. package/lib/typescript/registry/ComponentRegistry.d.ts.map +1 -0
  226. package/lib/typescript/registry.d.ts +57 -0
  227. package/lib/typescript/registry.d.ts.map +1 -0
  228. package/lib/typescript/renderer/RecursiveRenderer.d.ts +32 -0
  229. package/lib/typescript/renderer/RecursiveRenderer.d.ts.map +1 -0
  230. package/lib/typescript/renderer/bindingResolver.d.ts +26 -0
  231. package/lib/typescript/renderer/bindingResolver.d.ts.map +1 -0
  232. package/lib/typescript/renderer/conditionalEvaluator.d.ts +15 -0
  233. package/lib/typescript/renderer/conditionalEvaluator.d.ts.map +1 -0
  234. package/lib/typescript/renderer.d.ts +29 -0
  235. package/lib/typescript/renderer.d.ts.map +1 -0
  236. package/lib/typescript/schema.d.ts +84 -0
  237. package/lib/typescript/schema.d.ts.map +1 -0
  238. package/lib/typescript/transformer/index.d.ts +49 -0
  239. package/lib/typescript/transformer/index.d.ts.map +1 -0
  240. package/lib/typescript/transport.d.ts +19 -0
  241. package/lib/typescript/transport.d.ts.map +1 -0
  242. package/package.json +20 -18
  243. package/src/PushframeProvider.tsx +119 -0
  244. package/src/PushframeScreen.tsx +107 -0
  245. package/src/bindings.ts +72 -0
  246. package/src/components/ButtonComponent.tsx +87 -0
  247. package/src/components/FlatListComponent.tsx +86 -0
  248. package/src/components/ImageComponent.tsx +70 -0
  249. package/src/components/PushFrameComponent.tsx +221 -0
  250. package/src/components/PushFrameProvider.tsx +177 -0
  251. package/src/components/PushFrameScreen.tsx +30 -0
  252. package/src/components/ScrollViewComponent.tsx +65 -0
  253. package/src/components/StackComponent.tsx +69 -0
  254. package/src/components/TextComponent.tsx +60 -0
  255. package/src/conditions.ts +46 -0
  256. package/src/context/PushFrameContext.ts +89 -0
  257. package/src/index.ts +119 -0
  258. package/src/overlays/BottomSheetHost.tsx +175 -0
  259. package/src/overlays/ToastHost.tsx +147 -0
  260. package/src/primitives/ActivityIndicator.tsx +21 -0
  261. package/src/primitives/FlatList.tsx +49 -0
  262. package/src/primitives/Image.tsx +26 -0
  263. package/src/primitives/KeyboardAvoidingView.tsx +21 -0
  264. package/src/primitives/Modal.tsx +17 -0
  265. package/src/primitives/Pressable.tsx +19 -0
  266. package/src/primitives/SafeAreaView.tsx +42 -0
  267. package/src/primitives/ScrollView.tsx +21 -0
  268. package/src/primitives/StatusBar.tsx +17 -0
  269. package/src/primitives/Switch.tsx +24 -0
  270. package/src/primitives/Text.tsx +43 -0
  271. package/src/primitives/TextInput.tsx +42 -0
  272. package/src/primitives/View.tsx +17 -0
  273. package/src/primitives/index.ts +38 -0
  274. package/src/registry/ComponentRegistry.ts +99 -0
  275. package/src/registry.ts +99 -0
  276. package/src/renderer/RecursiveRenderer.tsx +242 -0
  277. package/src/renderer/bindingResolver.ts +94 -0
  278. package/src/renderer/conditionalEvaluator.ts +29 -0
  279. package/src/renderer.tsx +124 -0
  280. package/src/schema.ts +132 -0
  281. package/src/transformer/index.ts +1016 -0
  282. package/src/transport.ts +104 -0
  283. package/dist/index.d.mts +0 -534
  284. package/dist/index.d.ts +0 -534
  285. package/dist/index.js +0 -1572
  286. package/dist/index.js.map +0 -1
  287. package/dist/index.mjs +0 -1541
  288. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @pushframe/sdk — Server-Driven UI for React Native
5
+ *
6
+ * Usage:
7
+ * import { PushFrame } from '@pushframe/sdk';
8
+ *
9
+ * <PushFrame.Provider apiKey="..." context={...}>
10
+ * <PushFrame.Screen name="home" />
11
+ * <PushFrame.Component name="promo-banner" />
12
+ * </PushFrame.Provider>
13
+ */
14
+
15
+ // ---------------------------------------------------------------------------
16
+ // Component imports (for namespace assembly)
17
+ // ---------------------------------------------------------------------------
18
+
19
+ import { PushFrameProvider } from './components/PushFrameProvider';
20
+ import { PushFrameScreen } from './components/PushFrameScreen';
21
+ import { PushFrameComponent } from './components/PushFrameComponent';
22
+ import { Text } from './primitives/Text';
23
+ import { View } from './primitives/View';
24
+ import { ScrollView } from './primitives/ScrollView';
25
+ import { Image } from './primitives/Image';
26
+ import { Pressable } from './primitives/Pressable';
27
+ import { TextInput } from './primitives/TextInput';
28
+ import { FlatList } from './primitives/FlatList';
29
+ import { Modal } from './primitives/Modal';
30
+ import { ActivityIndicator } from './primitives/ActivityIndicator';
31
+ import { Switch } from './primitives/Switch';
32
+ import { KeyboardAvoidingView } from './primitives/KeyboardAvoidingView';
33
+ import { SafeAreaView } from './primitives/SafeAreaView';
34
+ import { StatusBar } from './primitives/StatusBar';
35
+
36
+ // ---------------------------------------------------------------------------
37
+ // PushFrame namespace — the primary API surface
38
+ // ---------------------------------------------------------------------------
39
+
40
+ /**
41
+ * The PushFrame namespace. Import this as the single entry-point for the SDK.
42
+ *
43
+ * Slot components:
44
+ * - PushFrame.Provider — wraps the app, initialises registry and context
45
+ * - PushFrame.Screen — full-page slot (fetches /screens/:name, applies flex:1)
46
+ * - PushFrame.Component — inline slot (fetches /components/:name)
47
+ *
48
+ * Primitives (used internally by RecursiveRenderer, available for direct use):
49
+ * - PushFrame.Text, PushFrame.View, PushFrame.ScrollView, PushFrame.Image
50
+ * - PushFrame.Pressable, PushFrame.TextInput, PushFrame.FlatList
51
+ * - PushFrame.Modal, PushFrame.ActivityIndicator, PushFrame.Switch
52
+ * - PushFrame.KeyboardAvoidingView, PushFrame.SafeAreaView, PushFrame.StatusBar
53
+ */
54
+ export const PushFrame = {
55
+ // Slot components
56
+ Provider: PushFrameProvider,
57
+ Screen: PushFrameScreen,
58
+ Component: PushFrameComponent,
59
+ // Primitives
60
+ Text,
61
+ View,
62
+ ScrollView,
63
+ Image,
64
+ Pressable,
65
+ TextInput,
66
+ FlatList,
67
+ Modal,
68
+ ActivityIndicator,
69
+ Switch,
70
+ KeyboardAvoidingView,
71
+ SafeAreaView,
72
+ StatusBar
73
+ };
74
+
75
+ // ---------------------------------------------------------------------------
76
+ // Named exports (for tree-shaking and selective imports)
77
+ // ---------------------------------------------------------------------------
78
+
79
+ // Slot components
80
+ export { PushFrameProvider } from './components/PushFrameProvider';
81
+ export { PushFrameScreen } from './components/PushFrameScreen';
82
+ export { PushFrameComponent } from './components/PushFrameComponent';
83
+ // Context
84
+ export { PushFrameContext, usePushFrameContext } from './context/PushFrameContext';
85
+ // Registry
86
+ export { ComponentRegistry } from './registry/ComponentRegistry';
87
+
88
+ // Renderer
89
+ export { RecursiveRenderer } from './renderer/RecursiveRenderer';
90
+ // Binding utilities
91
+ export { resolveValue, resolveProps, resolveDeep } from './renderer/bindingResolver';
92
+ export { evaluateIf } from './renderer/conditionalEvaluator';
93
+
94
+ // Primitives
95
+ export * from './primitives/index';
96
+
97
+ // Transformer (Craft.js → SDUI; intended for backend / dashboard use)
98
+ export { transformCraftToSDUI } from './transformer/index';
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PushFrameProvider","PushFrameScreen","PushFrameComponent","Text","View","ScrollView","Image","Pressable","TextInput","FlatList","Modal","ActivityIndicator","Switch","KeyboardAvoidingView","SafeAreaView","StatusBar","PushFrame","Provider","Screen","Component","PushFrameContext","usePushFrameContext","ComponentRegistry","RecursiveRenderer","resolveValue","resolveProps","resolveDeep","evaluateIf","transformCraftToSDUI"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,kBAAkB,QAAQ,iCAAiC;AACpE,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,SAAS,QAAQ,wBAAwB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG;EACvB;EACAC,QAAQ,EAAEjB,iBAAiB;EAC3BkB,MAAM,EAAEjB,eAAe;EACvBkB,SAAS,EAAEjB,kBAAkB;EAE7B;EACAC,IAAI;EACJC,IAAI;EACJC,UAAU;EACVC,KAAK;EACLC,SAAS;EACTC,SAAS;EACTC,QAAQ;EACRC,KAAK;EACLC,iBAAiB;EACjBC,MAAM;EACNC,oBAAoB;EACpBC,YAAY;EACZC;AACF,CAAU;;AAEV;AACA;AACA;;AAEA;AACA,SAASf,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,kBAAkB,QAAQ,iCAAiC;AAGpE;AACA,SAASkB,gBAAgB,EAAEC,mBAAmB,QAAQ,4BAA4B;AAWlF;AACA,SAASC,iBAAiB,QAAQ,8BAA8B;;AAEhE;AACA,SAASC,iBAAiB,QAAQ,8BAA8B;AAGhE;AACA,SAASC,YAAY,EAAEC,YAAY,EAAEC,WAAW,QAAQ,4BAA4B;AACpF,SAASC,UAAU,QAAQ,iCAAiC;;AAE5D;AACA,cAAc,oBAAoB;;AAElC;AACA,SAASC,oBAAoB,QAAQ,qBAAqB","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef, useImperativeHandle, useState, useRef, useCallback, useEffect } from 'react';
4
+ import { View, Modal, Pressable, StyleSheet, Animated, Dimensions } from 'react-native';
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Imperative handle
8
+ // ---------------------------------------------------------------------------
9
+
10
+ // ---------------------------------------------------------------------------
11
+ // Props from Provider (renderer callback)
12
+ // ---------------------------------------------------------------------------
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ // ---------------------------------------------------------------------------
15
+ // BottomSheetHost
16
+ // ---------------------------------------------------------------------------
17
+
18
+ const SCREEN_HEIGHT = Dimensions.get('window').height;
19
+
20
+ /**
21
+ * Rendered by PushFrameProvider at the root level.
22
+ * Exposes imperative `show()` and `dismiss()` handles.
23
+ * Zero third-party dependencies — built with Animated + Modal.
24
+ */
25
+ export const BottomSheetHost = /*#__PURE__*/forwardRef(function BottomSheetHost({
26
+ renderContent
27
+ }, ref) {
28
+ const [visible, setVisible] = useState(false);
29
+ const [payload, setPayload] = useState(null);
30
+ const translateY = useRef(new Animated.Value(SCREEN_HEIGHT)).current;
31
+ const animateIn = useCallback(() => {
32
+ Animated.spring(translateY, {
33
+ toValue: 0,
34
+ useNativeDriver: true,
35
+ bounciness: 4
36
+ }).start();
37
+ }, [translateY]);
38
+ const animateOut = useCallback(onDone => {
39
+ Animated.timing(translateY, {
40
+ toValue: SCREEN_HEIGHT,
41
+ duration: 250,
42
+ useNativeDriver: true
43
+ }).start(() => {
44
+ onDone?.();
45
+ });
46
+ }, [translateY]);
47
+ useEffect(() => {
48
+ if (visible) {
49
+ translateY.setValue(SCREEN_HEIGHT);
50
+ animateIn();
51
+ }
52
+ }, [visible, translateY, animateIn]);
53
+ const dismiss = useCallback(() => {
54
+ animateOut(() => {
55
+ setVisible(false);
56
+ setPayload(null);
57
+ });
58
+ }, [animateOut]);
59
+ useImperativeHandle(ref, () => ({
60
+ show(p) {
61
+ setPayload(p);
62
+ setVisible(true);
63
+ },
64
+ dismiss() {
65
+ dismiss();
66
+ }
67
+ }), [dismiss]);
68
+ if (!visible || !payload) return null;
69
+ return /*#__PURE__*/_jsxs(Modal, {
70
+ visible: visible,
71
+ transparent: true,
72
+ animationType: "none",
73
+ onRequestClose: dismiss,
74
+ statusBarTranslucent: true,
75
+ children: [/*#__PURE__*/_jsx(Pressable, {
76
+ style: styles.backdrop,
77
+ onPress: dismiss
78
+ }), /*#__PURE__*/_jsxs(Animated.View, {
79
+ style: [styles.sheet, {
80
+ transform: [{
81
+ translateY
82
+ }]
83
+ }],
84
+ children: [/*#__PURE__*/_jsx(View, {
85
+ style: styles.handle
86
+ }), /*#__PURE__*/_jsx(View, {
87
+ style: styles.content,
88
+ children: renderContent(payload.schema, payload.context)
89
+ })]
90
+ })]
91
+ });
92
+ });
93
+
94
+ // ---------------------------------------------------------------------------
95
+ // Styles
96
+ // ---------------------------------------------------------------------------
97
+
98
+ const styles = StyleSheet.create({
99
+ backdrop: {
100
+ ...StyleSheet.absoluteFillObject,
101
+ backgroundColor: 'rgba(0,0,0,0.5)'
102
+ },
103
+ sheet: {
104
+ position: 'absolute',
105
+ bottom: 0,
106
+ left: 0,
107
+ right: 0,
108
+ backgroundColor: '#fff',
109
+ borderTopLeftRadius: 16,
110
+ borderTopRightRadius: 16,
111
+ paddingBottom: 34,
112
+ // safe-area approximation
113
+ minHeight: 200,
114
+ maxHeight: '80%',
115
+ shadowColor: '#000',
116
+ shadowOffset: {
117
+ width: 0,
118
+ height: -4
119
+ },
120
+ shadowOpacity: 0.15,
121
+ shadowRadius: 12,
122
+ elevation: 20
123
+ },
124
+ handle: {
125
+ alignSelf: 'center',
126
+ width: 36,
127
+ height: 4,
128
+ borderRadius: 2,
129
+ backgroundColor: '#d1d5db',
130
+ marginTop: 12,
131
+ marginBottom: 8
132
+ },
133
+ content: {
134
+ flex: 1,
135
+ paddingHorizontal: 16,
136
+ paddingTop: 8
137
+ }
138
+ });
139
+ //# sourceMappingURL=BottomSheetHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useImperativeHandle","useState","useRef","useCallback","useEffect","View","Modal","Pressable","StyleSheet","Animated","Dimensions","jsx","_jsx","jsxs","_jsxs","SCREEN_HEIGHT","get","height","BottomSheetHost","renderContent","ref","visible","setVisible","payload","setPayload","translateY","Value","current","animateIn","spring","toValue","useNativeDriver","bounciness","start","animateOut","onDone","timing","duration","setValue","dismiss","show","p","transparent","animationType","onRequestClose","statusBarTranslucent","children","style","styles","backdrop","onPress","sheet","transform","handle","content","schema","context","create","absoluteFillObject","backgroundColor","position","bottom","left","right","borderTopLeftRadius","borderTopRightRadius","paddingBottom","minHeight","maxHeight","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","alignSelf","borderRadius","marginTop","marginBottom","flex","paddingHorizontal","paddingTop"],"sourceRoot":"../../../src","sources":["overlays/BottomSheetHost.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef, useImperativeHandle, useState, useEffect, useRef, useCallback } from 'react';
4
+ import { View, Text, StyleSheet, Animated } from 'react-native';
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Imperative handle
8
+ // ---------------------------------------------------------------------------
9
+
10
+ // ---------------------------------------------------------------------------
11
+ // Internal state
12
+ // ---------------------------------------------------------------------------
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ // ---------------------------------------------------------------------------
15
+ // Style helpers
16
+ // ---------------------------------------------------------------------------
17
+
18
+ const TYPE_COLORS = {
19
+ success: '#22c55e',
20
+ error: '#ef4444',
21
+ info: '#3b82f6',
22
+ warning: '#f59e0b'
23
+ };
24
+
25
+ // ---------------------------------------------------------------------------
26
+ // ToastHost
27
+ // ---------------------------------------------------------------------------
28
+
29
+ /**
30
+ * Rendered by PushFrameProvider at the root level.
31
+ * Exposes an imperative `show()` handle for displaying toast messages.
32
+ * Zero third-party dependencies — built with Animated API.
33
+ */
34
+ export const ToastHost = /*#__PURE__*/forwardRef(function ToastHost(_props, ref) {
35
+ const [toast, setToast] = useState(null);
36
+ const opacity = useRef(new Animated.Value(0)).current;
37
+ const idRef = useRef(0);
38
+ const hide = useCallback(() => {
39
+ Animated.timing(opacity, {
40
+ toValue: 0,
41
+ duration: 200,
42
+ useNativeDriver: true
43
+ }).start(() => {
44
+ setToast(null);
45
+ });
46
+ }, [opacity]);
47
+ useEffect(() => {
48
+ if (!toast) return;
49
+
50
+ // Fade in
51
+ Animated.timing(opacity, {
52
+ toValue: 1,
53
+ duration: 200,
54
+ useNativeDriver: true
55
+ }).start();
56
+
57
+ // Auto-dismiss after duration
58
+ const timer = setTimeout(() => {
59
+ hide();
60
+ }, toast.duration);
61
+ return () => {
62
+ clearTimeout(timer);
63
+ };
64
+ }, [toast, opacity, hide]);
65
+ useImperativeHandle(ref, () => ({
66
+ show(payload) {
67
+ idRef.current += 1;
68
+ setToast({
69
+ id: idRef.current,
70
+ message: payload.message,
71
+ duration: payload.duration ?? 3000,
72
+ type: payload.type ?? 'info'
73
+ });
74
+ // Reset opacity for new toast
75
+ opacity.setValue(0);
76
+ }
77
+ }), [opacity]);
78
+ if (!toast) return null;
79
+ const backgroundColor = TYPE_COLORS[toast.type ?? 'info'] ?? TYPE_COLORS.info;
80
+ return /*#__PURE__*/_jsx(View, {
81
+ style: styles.container,
82
+ pointerEvents: "none",
83
+ children: /*#__PURE__*/_jsx(Animated.View, {
84
+ style: [styles.toast, {
85
+ backgroundColor,
86
+ opacity
87
+ }],
88
+ children: /*#__PURE__*/_jsx(Text, {
89
+ style: styles.message,
90
+ children: toast.message
91
+ })
92
+ })
93
+ });
94
+ });
95
+
96
+ // ---------------------------------------------------------------------------
97
+ // Styles
98
+ // ---------------------------------------------------------------------------
99
+
100
+ const styles = StyleSheet.create({
101
+ container: {
102
+ position: 'absolute',
103
+ bottom: 60,
104
+ left: 16,
105
+ right: 16,
106
+ alignItems: 'center',
107
+ zIndex: 9999
108
+ },
109
+ toast: {
110
+ paddingVertical: 12,
111
+ paddingHorizontal: 20,
112
+ borderRadius: 8,
113
+ maxWidth: 400,
114
+ shadowColor: '#000',
115
+ shadowOffset: {
116
+ width: 0,
117
+ height: 2
118
+ },
119
+ shadowOpacity: 0.2,
120
+ shadowRadius: 4,
121
+ elevation: 6
122
+ },
123
+ message: {
124
+ color: '#fff',
125
+ fontSize: 14,
126
+ fontWeight: '500',
127
+ textAlign: 'center'
128
+ }
129
+ });
130
+ //# sourceMappingURL=ToastHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useImperativeHandle","useState","useEffect","useRef","useCallback","View","Text","StyleSheet","Animated","jsx","_jsx","TYPE_COLORS","success","error","info","warning","ToastHost","_props","ref","toast","setToast","opacity","Value","current","idRef","hide","timing","toValue","duration","useNativeDriver","start","timer","setTimeout","clearTimeout","show","payload","id","message","type","setValue","backgroundColor","style","styles","container","pointerEvents","children","create","position","bottom","left","right","alignItems","zIndex","paddingVertical","paddingHorizontal","borderRadius","maxWidth","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","color","fontSize","fontWeight","textAlign"],"sourceRoot":"../../../src","sources":["overlays/ToastHost.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { ActivityIndicator as RNActivityIndicator } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native ActivityIndicator.
8
+ * Strips `if`, `actions` before forwarding to RN.
9
+ */
10
+ export function ActivityIndicator({
11
+ if: _if,
12
+ actions: _actions,
13
+ ...rest
14
+ }) {
15
+ return /*#__PURE__*/_jsx(RNActivityIndicator, {
16
+ ...rest
17
+ });
18
+ }
19
+ //# sourceMappingURL=ActivityIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ActivityIndicator","RNActivityIndicator","jsx","_jsx","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/ActivityIndicator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,IAAIC,mBAAmB,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASxE;AACA;AACA;AACA;AACA,OAAO,SAASH,iBAAiBA,CAAC;EAChCI,EAAE,EAAEC,GAAG;EACPC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AAC4B,CAAC,EAAE;EAClC,oBAAOL,IAAA,CAACF,mBAAmB;IAAA,GAAKO;EAAI,CAAG,CAAC;AAC1C","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { FlatList as RNFlatList } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native FlatList.
8
+ * RecursiveRenderer handles this type specially — it resolves `items` from
9
+ * a binding expression and constructs the `renderItem` per-item context.
10
+ *
11
+ * This component maps Pushframe props to RN FlatList props and strips
12
+ * Pushframe-specific props before forwarding.
13
+ */
14
+ export function FlatList({
15
+ if: _if,
16
+ actions: _actions,
17
+ items,
18
+ direction,
19
+ numColumns,
20
+ ...rest
21
+ }) {
22
+ return /*#__PURE__*/_jsx(RNFlatList, {
23
+ data: items,
24
+ horizontal: direction === 'horizontal',
25
+ numColumns: numColumns,
26
+ ...rest
27
+ });
28
+ }
29
+ //# sourceMappingURL=FlatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FlatList","RNFlatList","jsx","_jsx","if","_if","actions","_actions","items","direction","numColumns","rest","data","horizontal"],"sourceRoot":"../../../src","sources":["primitives/FlatList.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,IAAIC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuBtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASH,QAAQA,CAAc;EACpCI,EAAE,EAAEC,GAAG;EACPC,OAAO,EAAEC,QAAQ;EACjBC,KAAK;EACLC,SAAS;EACTC,UAAU;EACV,GAAGC;AACsB,CAAC,EAAE;EAC5B,oBACER,IAAA,CAACF,UAAU;IACTW,IAAI,EAAEJ,KAAM;IACZK,UAAU,EAAEJ,SAAS,KAAK,YAAa;IACvCC,UAAU,EAAEA,UAAW;IAAA,GACnBC;EAAI,CACT,CAAC;AAEN","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Image as RNImage } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native Image.
8
+ * `src` maps to `source={{ uri: src }}`.
9
+ * Strips `if`, `actions`, `src` before forwarding to RN.
10
+ */
11
+ export function Image({
12
+ if: _if,
13
+ actions: _actions,
14
+ src,
15
+ source,
16
+ ...rest
17
+ }) {
18
+ const resolvedSource = src ? {
19
+ uri: src
20
+ } : source ?? {
21
+ uri: ''
22
+ };
23
+ return /*#__PURE__*/_jsx(RNImage, {
24
+ source: resolvedSource,
25
+ ...rest
26
+ });
27
+ }
28
+ //# sourceMappingURL=Image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Image","RNImage","jsx","_jsx","if","_if","actions","_actions","src","source","rest","resolvedSource","uri"],"sourceRoot":"../../../src","sources":["primitives/Image.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,IAAIC,OAAO,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBhD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASH,KAAKA,CAAC;EAAEI,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAEC,GAAG;EAAEC,MAAM;EAAE,GAAGC;AAA0B,CAAC,EAAE;EAC/F,MAAMC,cAAc,GAAGH,GAAG,GAAG;IAAEI,GAAG,EAAEJ;EAAI,CAAC,GAAGC,MAAM,IAAI;IAAEG,GAAG,EAAE;EAAG,CAAC;EACjE,oBAAOT,IAAA,CAACF,OAAO;IAACQ,MAAM,EAAEE,cAAe;IAAA,GAAKD;EAAI,CAAG,CAAC;AACtD","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { KeyboardAvoidingView as RNKeyboardAvoidingView } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native KeyboardAvoidingView.
8
+ * Strips `if`, `actions` before forwarding to RN.
9
+ */
10
+ export function KeyboardAvoidingView({
11
+ if: _if,
12
+ actions: _actions,
13
+ ...rest
14
+ }) {
15
+ return /*#__PURE__*/_jsx(RNKeyboardAvoidingView, {
16
+ ...rest
17
+ });
18
+ }
19
+ //# sourceMappingURL=KeyboardAvoidingView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","KeyboardAvoidingView","RNKeyboardAvoidingView","jsx","_jsx","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/KeyboardAvoidingView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,IAAIC,sBAAsB,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS9E;AACA;AACA;AACA;AACA,OAAO,SAASH,oBAAoBA,CAAC;EACnCI,EAAE,EAAEC,GAAG;EACPC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AAC+B,CAAC,EAAE;EACrC,oBAAOL,IAAA,CAACF,sBAAsB;IAAA,GAAKO;EAAI,CAAG,CAAC;AAC7C","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Modal as RNModal } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native Modal.
8
+ * Strips `if`, `actions` before forwarding to RN.
9
+ */
10
+ export function Modal({
11
+ if: _if,
12
+ actions: _actions,
13
+ ...rest
14
+ }) {
15
+ return /*#__PURE__*/_jsx(RNModal, {
16
+ ...rest
17
+ });
18
+ }
19
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Modal","RNModal","jsx","_jsx","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/Modal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,IAAIC,OAAO,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAShD;AACA;AACA;AACA;AACA,OAAO,SAASH,KAAKA,CAAC;EAAEI,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAE,GAAGC;AAA0B,CAAC,EAAE;EAClF,oBAAOL,IAAA,CAACF,OAAO;IAAA,GAAKO;EAAI,CAAG,CAAC;AAC9B","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { Pressable as RNPressable } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native Pressable.
8
+ * Actions with trigger "onPress" and "onLongPress" are wired by RecursiveRenderer
9
+ * and forwarded through as standard RN props.
10
+ * Strips `if`, `actions` before forwarding to RN.
11
+ */
12
+ export function Pressable({
13
+ if: _if,
14
+ actions: _actions,
15
+ ...rest
16
+ }) {
17
+ return /*#__PURE__*/_jsx(RNPressable, {
18
+ ...rest
19
+ });
20
+ }
21
+ //# sourceMappingURL=Pressable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Pressable","RNPressable","jsx","_jsx","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/Pressable.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,IAAIC,WAAW,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASxD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASH,SAASA,CAAC;EAAEI,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAE,GAAGC;AAA8B,CAAC,EAAE;EAC1F,oBAAOL,IAAA,CAACF,WAAW;IAAA,GAAKO;EAAI,CAAG,CAAC;AAClC","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ // Prefer react-native-safe-area-context (standard Expo dependency) when available;
6
+ // fall back to RN core SafeAreaView otherwise.
7
+ // Both are typed to accept `edges` so the prop flows through without stripping;
8
+ // the RN core fallback will silently ignore the unknown prop at runtime.
9
+ let NativeSafeAreaView;
10
+ try {
11
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
12
+ NativeSafeAreaView = require('react-native-safe-area-context').SafeAreaView;
13
+ } catch {
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ NativeSafeAreaView = require('react-native').SafeAreaView;
16
+ }
17
+
18
+ /**
19
+ * Thin wrapper over SafeAreaView.
20
+ * Uses react-native-safe-area-context when available, RN core otherwise.
21
+ * Strips `if`, `actions` before forwarding; passes `edges` through to
22
+ * react-native-safe-area-context (ignored gracefully in the RN core fallback).
23
+ */
24
+ export function SafeAreaView({
25
+ if: _if,
26
+ actions: _actions,
27
+ ...rest
28
+ }) {
29
+ return /*#__PURE__*/_jsx(NativeSafeAreaView, {
30
+ ...rest
31
+ });
32
+ }
33
+ //# sourceMappingURL=SafeAreaView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","jsx","_jsx","NativeSafeAreaView","require","SafeAreaView","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/SafeAreaView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAe1B;AACA;AACA;AACA;AACA,IAAIC,kBAAyE;AAE7E,IAAI;EACF;EACAA,kBAAkB,GAAIC,OAAO,CAAC,gCAAgC,CAAC,CAE5DC,YAAY;AACjB,CAAC,CAAC,MAAM;EACN;EACAF,kBAAkB,GAAIC,OAAO,CAAC,cAAc,CAAC,CAE1CC,YAAY;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAAC;EAAEC,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAE,GAAGC;AAAiC,CAAC,EAAE;EAChG,oBAAOR,IAAA,CAACC,kBAAkB;IAAA,GAAKO;EAAI,CAAG,CAAC;AACzC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef } from 'react';
4
+ import { ScrollView as RNScrollView } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native ScrollView.
8
+ * Forwards ref to support programmatic scrolling (e.g. scroll-to action).
9
+ * Strips `if`, `actions` before forwarding to RN.
10
+ */
11
+ export const ScrollView = /*#__PURE__*/forwardRef(function ScrollView({
12
+ if: _if,
13
+ actions: _actions,
14
+ ...rest
15
+ }, ref) {
16
+ return /*#__PURE__*/_jsx(RNScrollView, {
17
+ ref: ref,
18
+ ...rest
19
+ });
20
+ });
21
+ //# sourceMappingURL=ScrollView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","ScrollView","RNScrollView","jsx","_jsx","if","_if","actions","_actions","rest","ref"],"sourceRoot":"../../../src","sources":["primitives/ScrollView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,UAAU,IAAIC,YAAY,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS1D;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMH,UAAU,gBAAGD,UAAU,CAAyC,SAASC,UAAUA,CAC9F;EAAEI,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EACvCC,GAAG,EACH;EACA,oBAAON,IAAA,CAACF,YAAY;IAACQ,GAAG,EAAEA,GAAI;IAAA,GAAKD;EAAI,CAAG,CAAC;AAC7C,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StatusBar as RNStatusBar } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Thin wrapper over React Native StatusBar.
8
+ * Strips `if`, `actions` before forwarding to RN.
9
+ */
10
+ export function StatusBar({
11
+ if: _if,
12
+ actions: _actions,
13
+ ...rest
14
+ }) {
15
+ return /*#__PURE__*/_jsx(RNStatusBar, {
16
+ ...rest
17
+ });
18
+ }
19
+ //# sourceMappingURL=StatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StatusBar","RNStatusBar","jsx","_jsx","if","_if","actions","_actions","rest"],"sourceRoot":"../../../src","sources":["primitives/StatusBar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,IAAIC,WAAW,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASxD;AACA;AACA;AACA;AACA,OAAO,SAASH,SAASA,CAAC;EAAEI,EAAE,EAAEC,GAAG;EAAEC,OAAO,EAAEC,QAAQ;EAAE,GAAGC;AAA8B,CAAC,EAAE;EAC1F,oBAAOL,IAAA,CAACF,WAAW;IAAA,GAAKO;EAAI,CAAG,CAAC;AAClC","ignoreList":[]}