@lichens-innovation/react-native-common 3.10.0 → 3.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/README.md +35 -0
  2. package/dist/index.d.ts +1860 -9
  3. package/dist/index.js +4666 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/rjsf.d.ts +125 -0
  6. package/dist/rjsf.js +1484 -0
  7. package/dist/rjsf.js.map +1 -0
  8. package/package.json +45 -8
  9. package/dist/components/battery/battery-level.d.ts +0 -9
  10. package/dist/components/battery/battery-level.js +0 -9
  11. package/dist/components/battery/battery-level.js.map +0 -1
  12. package/dist/components/battery/battery.utils.d.ts +0 -2
  13. package/dist/components/battery/battery.utils.js +0 -24
  14. package/dist/components/battery/battery.utils.js.map +0 -1
  15. package/dist/components/battery/index.d.ts +0 -2
  16. package/dist/components/battery/index.js +0 -3
  17. package/dist/components/battery/index.js.map +0 -1
  18. package/dist/components/bottom-sheet/bottom-sheet.constants.d.ts +0 -1
  19. package/dist/components/bottom-sheet/bottom-sheet.constants.js +0 -2
  20. package/dist/components/bottom-sheet/bottom-sheet.constants.js.map +0 -1
  21. package/dist/components/bottom-sheet/default-backdrop.d.ts +0 -3
  22. package/dist/components/bottom-sheet/default-backdrop.js +0 -4
  23. package/dist/components/bottom-sheet/default-backdrop.js.map +0 -1
  24. package/dist/components/bottom-sheet/default-backdrop.windows.d.ts +0 -2
  25. package/dist/components/bottom-sheet/default-backdrop.windows.js +0 -3
  26. package/dist/components/bottom-sheet/default-backdrop.windows.js.map +0 -1
  27. package/dist/components/bottom-sheet/default-sheet-background.d.ts +0 -3
  28. package/dist/components/bottom-sheet/default-sheet-background.js +0 -8
  29. package/dist/components/bottom-sheet/default-sheet-background.js.map +0 -1
  30. package/dist/components/bottom-sheet/index.d.ts +0 -4
  31. package/dist/components/bottom-sheet/index.js +0 -5
  32. package/dist/components/bottom-sheet/index.js.map +0 -1
  33. package/dist/components/bottom-sheet/use-bottom-sheet-toggler.d.ts +0 -7
  34. package/dist/components/bottom-sheet/use-bottom-sheet-toggler.js +0 -39
  35. package/dist/components/bottom-sheet/use-bottom-sheet-toggler.js.map +0 -1
  36. package/dist/components/code-scanner/barcode-scanner-dialog.d.ts +0 -11
  37. package/dist/components/code-scanner/barcode-scanner-dialog.js +0 -32
  38. package/dist/components/code-scanner/barcode-scanner-dialog.js.map +0 -1
  39. package/dist/components/code-scanner/barcode-scanner.d.ts +0 -7
  40. package/dist/components/code-scanner/barcode-scanner.js +0 -34
  41. package/dist/components/code-scanner/barcode-scanner.js.map +0 -1
  42. package/dist/components/code-scanner/barcode-scanner.utils.d.ts +0 -4
  43. package/dist/components/code-scanner/barcode-scanner.utils.js +0 -38
  44. package/dist/components/code-scanner/barcode-scanner.utils.js.map +0 -1
  45. package/dist/components/code-scanner/index.d.ts +0 -3
  46. package/dist/components/code-scanner/index.js +0 -4
  47. package/dist/components/code-scanner/index.js.map +0 -1
  48. package/dist/components/dialogs/dialog-close-only.d.ts +0 -12
  49. package/dist/components/dialogs/dialog-close-only.js +0 -39
  50. package/dist/components/dialogs/dialog-close-only.js.map +0 -1
  51. package/dist/components/dialogs/dialog-ok-cancel.d.ts +0 -13
  52. package/dist/components/dialogs/dialog-ok-cancel.js +0 -44
  53. package/dist/components/dialogs/dialog-ok-cancel.js.map +0 -1
  54. package/dist/components/dialogs/dialog-single-textinput.d.ts +0 -16
  55. package/dist/components/dialogs/dialog-single-textinput.js +0 -59
  56. package/dist/components/dialogs/dialog-single-textinput.js.map +0 -1
  57. package/dist/components/dialogs/dialog-syntax-color-result.d.ts +0 -14
  58. package/dist/components/dialogs/dialog-syntax-color-result.js +0 -47
  59. package/dist/components/dialogs/dialog-syntax-color-result.js.map +0 -1
  60. package/dist/components/dialogs/index.d.ts +0 -5
  61. package/dist/components/dialogs/index.js +0 -6
  62. package/dist/components/dialogs/index.js.map +0 -1
  63. package/dist/components/dialogs/use-dialog-styles.d.ts +0 -4
  64. package/dist/components/dialogs/use-dialog-styles.js +0 -13
  65. package/dist/components/dialogs/use-dialog-styles.js.map +0 -1
  66. package/dist/components/drop-down-selector/drop-down-selector-item.d.ts +0 -8
  67. package/dist/components/drop-down-selector/drop-down-selector-item.js +0 -24
  68. package/dist/components/drop-down-selector/drop-down-selector-item.js.map +0 -1
  69. package/dist/components/drop-down-selector/drop-down-selector-left-icon.d.ts +0 -7
  70. package/dist/components/drop-down-selector/drop-down-selector-left-icon.js +0 -9
  71. package/dist/components/drop-down-selector/drop-down-selector-left-icon.js.map +0 -1
  72. package/dist/components/drop-down-selector/drop-down-selector.d.ts +0 -17
  73. package/dist/components/drop-down-selector/drop-down-selector.js +0 -60
  74. package/dist/components/drop-down-selector/drop-down-selector.js.map +0 -1
  75. package/dist/components/drop-down-selector/drop-down-selector.utils.d.ts +0 -22
  76. package/dist/components/drop-down-selector/drop-down-selector.utils.js +0 -37
  77. package/dist/components/drop-down-selector/drop-down-selector.utils.js.map +0 -1
  78. package/dist/components/drop-down-selector/drop-down-selector.windows.d.ts +0 -2
  79. package/dist/components/drop-down-selector/drop-down-selector.windows.js +0 -3
  80. package/dist/components/drop-down-selector/drop-down-selector.windows.js.map +0 -1
  81. package/dist/components/drop-down-selector/index.d.ts +0 -1
  82. package/dist/components/drop-down-selector/index.js +0 -2
  83. package/dist/components/drop-down-selector/index.js.map +0 -1
  84. package/dist/components/error/error-boundary-screen.d.ts +0 -2
  85. package/dist/components/error/error-boundary-screen.js +0 -35
  86. package/dist/components/error/error-boundary-screen.js.map +0 -1
  87. package/dist/components/error/error-boundary-screen.windows.d.ts +0 -2
  88. package/dist/components/error/error-boundary-screen.windows.js +0 -3
  89. package/dist/components/error/error-boundary-screen.windows.js.map +0 -1
  90. package/dist/components/error/error-boundary.d.ts +0 -3
  91. package/dist/components/error/error-boundary.js +0 -27
  92. package/dist/components/error/error-boundary.js.map +0 -1
  93. package/dist/components/error/error-boundary.windows.d.ts +0 -2
  94. package/dist/components/error/error-boundary.windows.js +0 -3
  95. package/dist/components/error/error-boundary.windows.js.map +0 -1
  96. package/dist/components/error/error-details.d.ts +0 -7
  97. package/dist/components/error/error-details.js +0 -32
  98. package/dist/components/error/error-details.js.map +0 -1
  99. package/dist/components/error/index.d.ts +0 -4
  100. package/dist/components/error/index.js +0 -5
  101. package/dist/components/error/index.js.map +0 -1
  102. package/dist/components/error/use-error-details.d.ts +0 -7
  103. package/dist/components/error/use-error-details.js +0 -19
  104. package/dist/components/error/use-error-details.js.map +0 -1
  105. package/dist/components/event-logs/event-logs-screen.d.ts +0 -2
  106. package/dist/components/event-logs/event-logs-screen.js +0 -63
  107. package/dist/components/event-logs/event-logs-screen.js.map +0 -1
  108. package/dist/components/event-logs/index.d.ts +0 -2
  109. package/dist/components/event-logs/index.js +0 -3
  110. package/dist/components/event-logs/index.js.map +0 -1
  111. package/dist/components/event-logs/live-logs-viewer/index.d.ts +0 -6
  112. package/dist/components/event-logs/live-logs-viewer/index.js +0 -7
  113. package/dist/components/event-logs/live-logs-viewer/index.js.map +0 -1
  114. package/dist/components/event-logs/live-logs-viewer/log-entry-item-suffix.d.ts +0 -7
  115. package/dist/components/event-logs/live-logs-viewer/log-entry-item-suffix.js +0 -6
  116. package/dist/components/event-logs/live-logs-viewer/log-entry-item-suffix.js.map +0 -1
  117. package/dist/components/event-logs/live-logs-viewer/log-entry-item.d.ts +0 -7
  118. package/dist/components/event-logs/live-logs-viewer/log-entry-item.js +0 -35
  119. package/dist/components/event-logs/live-logs-viewer/log-entry-item.js.map +0 -1
  120. package/dist/components/event-logs/live-logs-viewer/logs-viewer.d.ts +0 -7
  121. package/dist/components/event-logs/live-logs-viewer/logs-viewer.js +0 -44
  122. package/dist/components/event-logs/live-logs-viewer/logs-viewer.js.map +0 -1
  123. package/dist/components/event-logs/live-logs-viewer/logs-viewer.utils.d.ts +0 -1
  124. package/dist/components/event-logs/live-logs-viewer/logs-viewer.utils.js +0 -6
  125. package/dist/components/event-logs/live-logs-viewer/logs-viewer.utils.js.map +0 -1
  126. package/dist/components/event-logs/live-logs-viewer/use-auto-scroll.d.ts +0 -7
  127. package/dist/components/event-logs/live-logs-viewer/use-auto-scroll.js +0 -20
  128. package/dist/components/event-logs/live-logs-viewer/use-auto-scroll.js.map +0 -1
  129. package/dist/components/event-logs/live-logs-viewer/use-logs-actions.d.ts +0 -6
  130. package/dist/components/event-logs/live-logs-viewer/use-logs-actions.js +0 -24
  131. package/dist/components/event-logs/live-logs-viewer/use-logs-actions.js.map +0 -1
  132. package/dist/components/header-actions/header-back-button.d.ts +0 -2
  133. package/dist/components/header-actions/header-back-button.js +0 -5
  134. package/dist/components/header-actions/header-back-button.js.map +0 -1
  135. package/dist/components/header-actions/header-back-button.windows.d.ts +0 -2
  136. package/dist/components/header-actions/header-back-button.windows.js +0 -3
  137. package/dist/components/header-actions/header-back-button.windows.js.map +0 -1
  138. package/dist/components/header-actions/header-button.d.ts +0 -7
  139. package/dist/components/header-actions/header-button.js +0 -18
  140. package/dist/components/header-actions/header-button.js.map +0 -1
  141. package/dist/components/header-actions/index.d.ts +0 -2
  142. package/dist/components/header-actions/index.js +0 -3
  143. package/dist/components/header-actions/index.js.map +0 -1
  144. package/dist/components/index.d.ts +0 -19
  145. package/dist/components/index.js +0 -20
  146. package/dist/components/index.js.map +0 -1
  147. package/dist/components/language-selector/index.d.ts +0 -4
  148. package/dist/components/language-selector/index.js +0 -5
  149. package/dist/components/language-selector/index.js.map +0 -1
  150. package/dist/components/language-selector/language-selector-menu.d.ts +0 -3
  151. package/dist/components/language-selector/language-selector-menu.js +0 -13
  152. package/dist/components/language-selector/language-selector-menu.js.map +0 -1
  153. package/dist/components/language-selector/language-selector-segmented.d.ts +0 -3
  154. package/dist/components/language-selector/language-selector-segmented.js +0 -9
  155. package/dist/components/language-selector/language-selector-segmented.js.map +0 -1
  156. package/dist/components/language-selector/language-selector.d.ts +0 -3
  157. package/dist/components/language-selector/language-selector.js +0 -10
  158. package/dist/components/language-selector/language-selector.js.map +0 -1
  159. package/dist/components/language-selector/language-selector.types.d.ts +0 -9
  160. package/dist/components/language-selector/language-selector.types.js +0 -1
  161. package/dist/components/language-selector/language-selector.types.js.map +0 -1
  162. package/dist/components/layout/full-centered.d.ts +0 -7
  163. package/dist/components/layout/full-centered.js +0 -4
  164. package/dist/components/layout/full-centered.js.map +0 -1
  165. package/dist/components/layout/index.d.ts +0 -4
  166. package/dist/components/layout/index.js +0 -5
  167. package/dist/components/layout/index.js.map +0 -1
  168. package/dist/components/layout/orientation-aware-tabs/index.d.ts +0 -2
  169. package/dist/components/layout/orientation-aware-tabs/index.js +0 -3
  170. package/dist/components/layout/orientation-aware-tabs/index.js.map +0 -1
  171. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tab-button.d.ts +0 -9
  172. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tab-button.js +0 -40
  173. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tab-button.js.map +0 -1
  174. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tabs-layout.d.ts +0 -15
  175. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tabs-layout.js +0 -40
  176. package/dist/components/layout/orientation-aware-tabs/orientation-aware-tabs-layout.js.map +0 -1
  177. package/dist/components/layout/resizable/horizontal-resizable-split-view.d.ts +0 -3
  178. package/dist/components/layout/resizable/horizontal-resizable-split-view.js +0 -80
  179. package/dist/components/layout/resizable/horizontal-resizable-split-view.js.map +0 -1
  180. package/dist/components/layout/resizable/horizontal-resizable-split-view.types.d.ts +0 -20
  181. package/dist/components/layout/resizable/horizontal-resizable-split-view.types.js +0 -1
  182. package/dist/components/layout/resizable/horizontal-resizable-split-view.types.js.map +0 -1
  183. package/dist/components/layout/resizable/horizontal-resizable-split-view.utils.d.ts +0 -2
  184. package/dist/components/layout/resizable/horizontal-resizable-split-view.utils.js +0 -23
  185. package/dist/components/layout/resizable/horizontal-resizable-split-view.utils.js.map +0 -1
  186. package/dist/components/layout/resizable/index.d.ts +0 -6
  187. package/dist/components/layout/resizable/index.js +0 -7
  188. package/dist/components/layout/resizable/index.js.map +0 -1
  189. package/dist/components/layout/resizable/resizable-overlay-view.d.ts +0 -3
  190. package/dist/components/layout/resizable/resizable-overlay-view.js +0 -132
  191. package/dist/components/layout/resizable/resizable-overlay-view.js.map +0 -1
  192. package/dist/components/layout/resizable/resizable-overlay-view.utils.d.ts +0 -16
  193. package/dist/components/layout/resizable/resizable-overlay-view.utils.js +0 -19
  194. package/dist/components/layout/resizable/resizable-overlay-view.utils.js.map +0 -1
  195. package/dist/components/layout/resizable/vertical-resizable-overlay-view.types.d.ts +0 -28
  196. package/dist/components/layout/resizable/vertical-resizable-overlay-view.types.js +0 -1
  197. package/dist/components/layout/resizable/vertical-resizable-overlay-view.types.js.map +0 -1
  198. package/dist/components/layout/resizable/vertical-resizable-overlay-view.utils.d.ts +0 -2
  199. package/dist/components/layout/resizable/vertical-resizable-overlay-view.utils.js +0 -31
  200. package/dist/components/layout/resizable/vertical-resizable-overlay-view.utils.js.map +0 -1
  201. package/dist/components/layout/resizable/vertical-resizable-split-view.d.ts +0 -3
  202. package/dist/components/layout/resizable/vertical-resizable-split-view.js +0 -79
  203. package/dist/components/layout/resizable/vertical-resizable-split-view.js.map +0 -1
  204. package/dist/components/layout/resizable/vertical-resizable-split-view.types.d.ts +0 -20
  205. package/dist/components/layout/resizable/vertical-resizable-split-view.types.js +0 -1
  206. package/dist/components/layout/resizable/vertical-resizable-split-view.types.js.map +0 -1
  207. package/dist/components/layout/resizable/vertical-resizable-split-view.utils.d.ts +0 -2
  208. package/dist/components/layout/resizable/vertical-resizable-split-view.utils.js +0 -23
  209. package/dist/components/layout/resizable/vertical-resizable-split-view.utils.js.map +0 -1
  210. package/dist/components/layout/safe-container.d.ts +0 -8
  211. package/dist/components/layout/safe-container.js +0 -18
  212. package/dist/components/layout/safe-container.js.map +0 -1
  213. package/dist/components/layout/safe-container.windows.d.ts +0 -8
  214. package/dist/components/layout/safe-container.windows.js +0 -16
  215. package/dist/components/layout/safe-container.windows.js.map +0 -1
  216. package/dist/components/lists/index.d.ts +0 -2
  217. package/dist/components/lists/index.js +0 -3
  218. package/dist/components/lists/index.js.map +0 -1
  219. package/dist/components/lists/list-header.d.ts +0 -5
  220. package/dist/components/lists/list-header.js +0 -17
  221. package/dist/components/lists/list-header.js.map +0 -1
  222. package/dist/components/lists/list-items-separator.d.ts +0 -2
  223. package/dist/components/lists/list-items-separator.js +0 -17
  224. package/dist/components/lists/list-items-separator.js.map +0 -1
  225. package/dist/components/on-off-toggle/index.d.ts +0 -1
  226. package/dist/components/on-off-toggle/index.js +0 -2
  227. package/dist/components/on-off-toggle/index.js.map +0 -1
  228. package/dist/components/on-off-toggle/on-off-toggle.d.ts +0 -9
  229. package/dist/components/on-off-toggle/on-off-toggle.js +0 -27
  230. package/dist/components/on-off-toggle/on-off-toggle.js.map +0 -1
  231. package/dist/components/password-input/index.d.ts +0 -1
  232. package/dist/components/password-input/index.js +0 -2
  233. package/dist/components/password-input/index.js.map +0 -1
  234. package/dist/components/password-input/password-input.d.ts +0 -4
  235. package/dist/components/password-input/password-input.js +0 -27
  236. package/dist/components/password-input/password-input.js.map +0 -1
  237. package/dist/components/score-indicator/index.d.ts +0 -1
  238. package/dist/components/score-indicator/index.js +0 -2
  239. package/dist/components/score-indicator/index.js.map +0 -1
  240. package/dist/components/score-indicator/score-indicator.d.ts +0 -6
  241. package/dist/components/score-indicator/score-indicator.js +0 -31
  242. package/dist/components/score-indicator/score-indicator.js.map +0 -1
  243. package/dist/components/snack-bar/index.d.ts +0 -2
  244. package/dist/components/snack-bar/index.js +0 -3
  245. package/dist/components/snack-bar/index.js.map +0 -1
  246. package/dist/components/snack-bar/snackbar-provider.d.ts +0 -8
  247. package/dist/components/snack-bar/snackbar-provider.js +0 -31
  248. package/dist/components/snack-bar/snackbar-provider.js.map +0 -1
  249. package/dist/components/snack-bar/snackbar.constants.d.ts +0 -5
  250. package/dist/components/snack-bar/snackbar.constants.js +0 -6
  251. package/dist/components/snack-bar/snackbar.constants.js.map +0 -1
  252. package/dist/components/spinner/activity-progress-bar-stats.d.ts +0 -8
  253. package/dist/components/spinner/activity-progress-bar-stats.js +0 -27
  254. package/dist/components/spinner/activity-progress-bar-stats.js.map +0 -1
  255. package/dist/components/spinner/activity-progress-bar.d.ts +0 -10
  256. package/dist/components/spinner/activity-progress-bar.js +0 -21
  257. package/dist/components/spinner/activity-progress-bar.js.map +0 -1
  258. package/dist/components/spinner/activity-progress.utils.d.ts +0 -10
  259. package/dist/components/spinner/activity-progress.utils.js +0 -20
  260. package/dist/components/spinner/activity-progress.utils.js.map +0 -1
  261. package/dist/components/spinner/full-centered-spinner.d.ts +0 -2
  262. package/dist/components/spinner/full-centered-spinner.js +0 -5
  263. package/dist/components/spinner/full-centered-spinner.js.map +0 -1
  264. package/dist/components/spinner/index.d.ts +0 -5
  265. package/dist/components/spinner/index.js +0 -6
  266. package/dist/components/spinner/index.js.map +0 -1
  267. package/dist/components/spinner/modal-spinner.d.ts +0 -9
  268. package/dist/components/spinner/modal-spinner.js +0 -34
  269. package/dist/components/spinner/modal-spinner.js.map +0 -1
  270. package/dist/components/syntax/index.d.ts +0 -4
  271. package/dist/components/syntax/index.js +0 -5
  272. package/dist/components/syntax/index.js.map +0 -1
  273. package/dist/components/syntax/styles/dark.d.ts +0 -92
  274. package/dist/components/syntax/styles/dark.js +0 -92
  275. package/dist/components/syntax/styles/dark.js.map +0 -1
  276. package/dist/components/syntax/styles/index.d.ts +0 -2
  277. package/dist/components/syntax/styles/index.js +0 -3
  278. package/dist/components/syntax/styles/index.js.map +0 -1
  279. package/dist/components/syntax/styles/light.d.ts +0 -110
  280. package/dist/components/syntax/styles/light.js +0 -110
  281. package/dist/components/syntax/styles/light.js.map +0 -1
  282. package/dist/components/syntax/syntax-coloring-tag-code.d.ts +0 -9
  283. package/dist/components/syntax/syntax-coloring-tag-code.js +0 -27
  284. package/dist/components/syntax/syntax-coloring-tag-code.js.map +0 -1
  285. package/dist/components/syntax/syntax-coloring-tag-pre.d.ts +0 -9
  286. package/dist/components/syntax/syntax-coloring-tag-pre.js +0 -18
  287. package/dist/components/syntax/syntax-coloring-tag-pre.js.map +0 -1
  288. package/dist/components/syntax/syntax-coloring.d.ts +0 -8
  289. package/dist/components/syntax/syntax-coloring.js +0 -25
  290. package/dist/components/syntax/syntax-coloring.js.map +0 -1
  291. package/dist/components/tab-bar-icon.d.ts +0 -14
  292. package/dist/components/tab-bar-icon.js +0 -12
  293. package/dist/components/tab-bar-icon.js.map +0 -1
  294. package/dist/components/voice-recognition/index.d.ts +0 -2
  295. package/dist/components/voice-recognition/index.js +0 -3
  296. package/dist/components/voice-recognition/index.js.map +0 -1
  297. package/dist/components/voice-recognition/voice-recognition-text-input.d.ts +0 -10
  298. package/dist/components/voice-recognition/voice-recognition-text-input.js +0 -104
  299. package/dist/components/voice-recognition/voice-recognition-text-input.js.map +0 -1
  300. package/dist/components/voice-recognition/voice-recognition.utils.d.ts +0 -7
  301. package/dist/components/voice-recognition/voice-recognition.utils.js +0 -24
  302. package/dist/components/voice-recognition/voice-recognition.utils.js.map +0 -1
  303. package/dist/config/env.config.d.ts +0 -2
  304. package/dist/config/env.config.js +0 -4
  305. package/dist/config/env.config.js.map +0 -1
  306. package/dist/config/index.d.ts +0 -1
  307. package/dist/config/index.js +0 -2
  308. package/dist/config/index.js.map +0 -1
  309. package/dist/hooks/camera-image-picker/camera-image-picker.utils.d.ts +0 -4
  310. package/dist/hooks/camera-image-picker/camera-image-picker.utils.js +0 -16
  311. package/dist/hooks/camera-image-picker/camera-image-picker.utils.js.map +0 -1
  312. package/dist/hooks/camera-image-picker/index.d.ts +0 -2
  313. package/dist/hooks/camera-image-picker/index.js +0 -3
  314. package/dist/hooks/camera-image-picker/index.js.map +0 -1
  315. package/dist/hooks/camera-image-picker/use-camera-image-picker.d.ts +0 -5
  316. package/dist/hooks/camera-image-picker/use-camera-image-picker.js +0 -53
  317. package/dist/hooks/camera-image-picker/use-camera-image-picker.js.map +0 -1
  318. package/dist/hooks/index.d.ts +0 -9
  319. package/dist/hooks/index.js +0 -10
  320. package/dist/hooks/index.js.map +0 -1
  321. package/dist/hooks/use-animate-on-focus.windows.d.ts +0 -1
  322. package/dist/hooks/use-animate-on-focus.windows.js +0 -5
  323. package/dist/hooks/use-animate-on-focus.windows.js.map +0 -1
  324. package/dist/hooks/use-image-picker.d.ts +0 -11
  325. package/dist/hooks/use-image-picker.js +0 -35
  326. package/dist/hooks/use-image-picker.js.map +0 -1
  327. package/dist/hooks/use-image-picker.windows.d.ts +0 -1
  328. package/dist/hooks/use-image-picker.windows.js +0 -5
  329. package/dist/hooks/use-image-picker.windows.js.map +0 -1
  330. package/dist/hooks/use-invalidate-queries-on-focus.d.ts +0 -2
  331. package/dist/hooks/use-invalidate-queries-on-focus.js +0 -11
  332. package/dist/hooks/use-invalidate-queries-on-focus.js.map +0 -1
  333. package/dist/hooks/use-on-html-message.d.ts +0 -5
  334. package/dist/hooks/use-on-html-message.js +0 -30
  335. package/dist/hooks/use-on-html-message.js.map +0 -1
  336. package/dist/hooks/use-single-file-selector.d.ts +0 -17
  337. package/dist/hooks/use-single-file-selector.js +0 -32
  338. package/dist/hooks/use-single-file-selector.js.map +0 -1
  339. package/dist/hooks/use-single-file-selector.windows.d.ts +0 -1
  340. package/dist/hooks/use-single-file-selector.windows.js +0 -5
  341. package/dist/hooks/use-single-file-selector.windows.js.map +0 -1
  342. package/dist/hooks/use-timeout-state.d.ts +0 -1
  343. package/dist/hooks/use-timeout-state.js +0 -11
  344. package/dist/hooks/use-timeout-state.js.map +0 -1
  345. package/dist/hooks/use-timeout-toggle.d.ts +0 -1
  346. package/dist/hooks/use-timeout-toggle.js +0 -20
  347. package/dist/hooks/use-timeout-toggle.js.map +0 -1
  348. package/dist/hooks/use-updates.d.ts +0 -8
  349. package/dist/hooks/use-updates.js +0 -68
  350. package/dist/hooks/use-updates.js.map +0 -1
  351. package/dist/hooks/use-updates.windows.d.ts +0 -1
  352. package/dist/hooks/use-updates.windows.js +0 -5
  353. package/dist/hooks/use-updates.windows.js.map +0 -1
  354. package/dist/hooks/use-window-orientation.d.ts +0 -3
  355. package/dist/hooks/use-window-orientation.js +0 -10
  356. package/dist/hooks/use-window-orientation.js.map +0 -1
  357. package/dist/i18n/en/common.json +0 -188
  358. package/dist/i18n/fr/common.json +0 -188
  359. package/dist/i18n/i18n.d.ts +0 -17
  360. package/dist/i18n/i18n.js +0 -47
  361. package/dist/i18n/i18n.js.map +0 -1
  362. package/dist/i18n/i18n.utils.d.ts +0 -1
  363. package/dist/i18n/i18n.utils.js +0 -7
  364. package/dist/i18n/i18n.utils.js.map +0 -1
  365. package/dist/i18n/i18n.utils.windows.d.ts +0 -1
  366. package/dist/i18n/i18n.utils.windows.js +0 -6
  367. package/dist/i18n/i18n.utils.windows.js.map +0 -1
  368. package/dist/i18n/index.d.ts +0 -2
  369. package/dist/i18n/index.js +0 -3
  370. package/dist/i18n/index.js.map +0 -1
  371. package/dist/logger/index.d.ts +0 -4
  372. package/dist/logger/index.js +0 -5
  373. package/dist/logger/index.js.map +0 -1
  374. package/dist/logger/logger.d.ts +0 -17
  375. package/dist/logger/logger.js +0 -163
  376. package/dist/logger/logger.js.map +0 -1
  377. package/dist/logger/logger.types.d.ts +0 -25
  378. package/dist/logger/logger.types.js +0 -8
  379. package/dist/logger/logger.types.js.map +0 -1
  380. package/dist/logger/logger.utils.d.ts +0 -6
  381. package/dist/logger/logger.utils.js +0 -40
  382. package/dist/logger/logger.utils.js.map +0 -1
  383. package/dist/logger/logger.windows.d.ts +0 -18
  384. package/dist/logger/logger.windows.js +0 -65
  385. package/dist/logger/logger.windows.js.map +0 -1
  386. package/dist/logger/use-log-entry-color.d.ts +0 -1
  387. package/dist/logger/use-log-entry-color.js +0 -23
  388. package/dist/logger/use-log-entry-color.js.map +0 -1
  389. package/dist/services/device-finder/device-finder.d.ts +0 -31
  390. package/dist/services/device-finder/device-finder.js +0 -105
  391. package/dist/services/device-finder/device-finder.js.map +0 -1
  392. package/dist/services/device-finder/device-finder.types.d.ts +0 -8
  393. package/dist/services/device-finder/device-finder.types.js +0 -1
  394. package/dist/services/device-finder/device-finder.types.js.map +0 -1
  395. package/dist/services/device-finder/device-finder.windows.d.ts +0 -18
  396. package/dist/services/device-finder/device-finder.windows.js +0 -48
  397. package/dist/services/device-finder/device-finder.windows.js.map +0 -1
  398. package/dist/services/device-finder/index.d.ts +0 -2
  399. package/dist/services/device-finder/index.js +0 -3
  400. package/dist/services/device-finder/index.js.map +0 -1
  401. package/dist/services/files/index.d.ts +0 -2
  402. package/dist/services/files/index.js +0 -3
  403. package/dist/services/files/index.js.map +0 -1
  404. package/dist/services/files/native-file-system.d.ts +0 -15
  405. package/dist/services/files/native-file-system.js +0 -101
  406. package/dist/services/files/native-file-system.js.map +0 -1
  407. package/dist/services/files/native-file-system.types.d.ts +0 -38
  408. package/dist/services/files/native-file-system.types.js +0 -6
  409. package/dist/services/files/native-file-system.types.js.map +0 -1
  410. package/dist/services/files/native-file-system.windows.d.ts +0 -14
  411. package/dist/services/files/native-file-system.windows.js +0 -31
  412. package/dist/services/files/native-file-system.windows.js.map +0 -1
  413. package/dist/services/index.d.ts +0 -3
  414. package/dist/services/index.js +0 -4
  415. package/dist/services/index.js.map +0 -1
  416. package/dist/services/wifi/index.d.ts +0 -6
  417. package/dist/services/wifi/index.js +0 -7
  418. package/dist/services/wifi/index.js.map +0 -1
  419. package/dist/services/wifi/query-keys.d.ts +0 -10
  420. package/dist/services/wifi/query-keys.js +0 -11
  421. package/dist/services/wifi/query-keys.js.map +0 -1
  422. package/dist/services/wifi/use-wifi-info.d.ts +0 -472
  423. package/dist/services/wifi/use-wifi-info.js +0 -95
  424. package/dist/services/wifi/use-wifi-info.js.map +0 -1
  425. package/dist/services/wifi/wifi-info.types.d.ts +0 -22
  426. package/dist/services/wifi/wifi-info.types.js +0 -21
  427. package/dist/services/wifi/wifi-info.types.js.map +0 -1
  428. package/dist/services/wifi/wifi-info.utils.d.ts +0 -15
  429. package/dist/services/wifi/wifi-info.utils.js +0 -114
  430. package/dist/services/wifi/wifi-info.utils.js.map +0 -1
  431. package/dist/services/wifi/wifi-info.utils.simulator.d.ts +0 -3
  432. package/dist/services/wifi/wifi-info.utils.simulator.js +0 -23
  433. package/dist/services/wifi/wifi-info.utils.simulator.js.map +0 -1
  434. package/dist/services/wifi/wifi-info.utils.windows.d.ts +0 -2
  435. package/dist/services/wifi/wifi-info.utils.windows.js +0 -6
  436. package/dist/services/wifi/wifi-info.utils.windows.js.map +0 -1
  437. package/dist/services/wifi/wifi-infos-context.d.ts +0 -170
  438. package/dist/services/wifi/wifi-infos-context.js +0 -34
  439. package/dist/services/wifi/wifi-infos-context.js.map +0 -1
  440. package/dist/store/common-logs.store.d.ts +0 -13
  441. package/dist/store/common-logs.store.js +0 -32
  442. package/dist/store/common-logs.store.js.map +0 -1
  443. package/dist/store/common.store.d.ts +0 -12
  444. package/dist/store/common.store.js +0 -40
  445. package/dist/store/common.store.js.map +0 -1
  446. package/dist/store/index.d.ts +0 -3
  447. package/dist/store/index.js +0 -4
  448. package/dist/store/index.js.map +0 -1
  449. package/dist/store/react-query-provider.d.ts +0 -4
  450. package/dist/store/react-query-provider.js +0 -7
  451. package/dist/store/react-query-provider.js.map +0 -1
  452. package/dist/theme/dark-colors-scheme.d.ts +0 -42
  453. package/dist/theme/dark-colors-scheme.js +0 -44
  454. package/dist/theme/dark-colors-scheme.js.map +0 -1
  455. package/dist/theme/index.d.ts +0 -3
  456. package/dist/theme/index.js +0 -4
  457. package/dist/theme/index.js.map +0 -1
  458. package/dist/theme/light-colors-scheme.d.ts +0 -42
  459. package/dist/theme/light-colors-scheme.js +0 -44
  460. package/dist/theme/light-colors-scheme.js.map +0 -1
  461. package/dist/theme/theme.d.ts +0 -171
  462. package/dist/theme/theme.js +0 -27
  463. package/dist/theme/theme.js.map +0 -1
  464. package/dist/utils/alert.utils.d.ts +0 -1
  465. package/dist/utils/alert.utils.js +0 -12
  466. package/dist/utils/alert.utils.js.map +0 -1
  467. package/dist/utils/axios.config.d.ts +0 -2
  468. package/dist/utils/axios.config.js +0 -15
  469. package/dist/utils/axios.config.js.map +0 -1
  470. package/dist/utils/base64.utils.d.ts +0 -2
  471. package/dist/utils/base64.utils.js +0 -8
  472. package/dist/utils/base64.utils.js.map +0 -1
  473. package/dist/utils/clipboard.utils.d.ts +0 -1
  474. package/dist/utils/clipboard.utils.js +0 -12
  475. package/dist/utils/clipboard.utils.js.map +0 -1
  476. package/dist/utils/date.utils.d.ts +0 -3
  477. package/dist/utils/date.utils.js +0 -15
  478. package/dist/utils/date.utils.js.map +0 -1
  479. package/dist/utils/device.utils.d.ts +0 -4
  480. package/dist/utils/device.utils.js +0 -28
  481. package/dist/utils/device.utils.js.map +0 -1
  482. package/dist/utils/device.utils.windows.d.ts +0 -3
  483. package/dist/utils/device.utils.windows.js +0 -11
  484. package/dist/utils/device.utils.windows.js.map +0 -1
  485. package/dist/utils/digest-auth.d.ts +0 -32
  486. package/dist/utils/digest-auth.js +0 -157
  487. package/dist/utils/digest-auth.js.map +0 -1
  488. package/dist/utils/env.utils.d.ts +0 -5
  489. package/dist/utils/env.utils.js +0 -32
  490. package/dist/utils/env.utils.js.map +0 -1
  491. package/dist/utils/env.utils.windows.d.ts +0 -3
  492. package/dist/utils/env.utils.windows.js +0 -11
  493. package/dist/utils/env.utils.windows.js.map +0 -1
  494. package/dist/utils/errors.utils.d.ts +0 -6
  495. package/dist/utils/errors.utils.js +0 -9
  496. package/dist/utils/errors.utils.js.map +0 -1
  497. package/dist/utils/file-picker.utils.d.ts +0 -30
  498. package/dist/utils/file-picker.utils.js +0 -18
  499. package/dist/utils/file-picker.utils.js.map +0 -1
  500. package/dist/utils/file-picker.utils.windows.d.ts +0 -9
  501. package/dist/utils/file-picker.utils.windows.js +0 -6
  502. package/dist/utils/file-picker.utils.windows.js.map +0 -1
  503. package/dist/utils/file.utils.d.ts +0 -28
  504. package/dist/utils/file.utils.js +0 -105
  505. package/dist/utils/file.utils.js.map +0 -1
  506. package/dist/utils/filename.utils.d.ts +0 -40
  507. package/dist/utils/filename.utils.js +0 -129
  508. package/dist/utils/filename.utils.js.map +0 -1
  509. package/dist/utils/font.utils.d.ts +0 -1
  510. package/dist/utils/font.utils.js +0 -8
  511. package/dist/utils/font.utils.js.map +0 -1
  512. package/dist/utils/image.utils.d.ts +0 -1
  513. package/dist/utils/image.utils.js +0 -16
  514. package/dist/utils/image.utils.js.map +0 -1
  515. package/dist/utils/index.d.ts +0 -22
  516. package/dist/utils/index.js +0 -23
  517. package/dist/utils/index.js.map +0 -1
  518. package/dist/utils/licences.utils.d.ts +0 -16
  519. package/dist/utils/licences.utils.js +0 -19
  520. package/dist/utils/licences.utils.js.map +0 -1
  521. package/dist/utils/linking.utils.d.ts +0 -3
  522. package/dist/utils/linking.utils.js +0 -33
  523. package/dist/utils/linking.utils.js.map +0 -1
  524. package/dist/utils/network.utils.d.ts +0 -4
  525. package/dist/utils/network.utils.js +0 -41
  526. package/dist/utils/network.utils.js.map +0 -1
  527. package/dist/utils/platform.utils.d.ts +0 -1
  528. package/dist/utils/platform.utils.js +0 -6
  529. package/dist/utils/platform.utils.js.map +0 -1
  530. package/dist/utils/sharing.utils.d.ts +0 -9
  531. package/dist/utils/sharing.utils.js +0 -58
  532. package/dist/utils/sharing.utils.js.map +0 -1
  533. package/dist/utils/sharing.utils.windows.d.ts +0 -3
  534. package/dist/utils/sharing.utils.windows.js +0 -11
  535. package/dist/utils/sharing.utils.windows.js.map +0 -1
  536. package/dist/utils/sqlite.utils.d.ts +0 -10
  537. package/dist/utils/sqlite.utils.js +0 -36
  538. package/dist/utils/sqlite.utils.js.map +0 -1
  539. package/dist/utils/storage.d.ts +0 -10
  540. package/dist/utils/storage.js +0 -60
  541. package/dist/utils/storage.js.map +0 -1
  542. package/dist/utils/storage.windows.d.ts +0 -10
  543. package/dist/utils/storage.windows.js +0 -34
  544. package/dist/utils/storage.windows.js.map +0 -1
  545. package/dist/utils/webview.utils.d.ts +0 -9
  546. package/dist/utils/webview.utils.js +0 -18
  547. package/dist/utils/webview.utils.js.map +0 -1
package/dist/rjsf.js ADDED
@@ -0,0 +1,1484 @@
1
+ 'use strict';
2
+
3
+ var tsCommon = require('@lichens-innovation/ts-common');
4
+ var react = require('react');
5
+ var reactNative = require('react-native');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var utils = require('@rjsf/utils');
8
+ var reactNativePaper = require('react-native-paper');
9
+ var native = require('@react-navigation/native');
10
+ var rjsf = require('@lichens-innovation/ts-common/rjsf');
11
+ var core = require('@rjsf/core');
12
+ var reactI18next = require('react-i18next');
13
+ var DateTimePicker = require('@react-native-community/datetimepicker');
14
+ var usehooks = require('@uidotdev/usehooks');
15
+ var Sentry = require('@sentry/react-native');
16
+ var reactNativeLogs = require('react-native-logs');
17
+ var expoFileSystem = require('expo-file-system');
18
+ var FileSystemLegacy = require('expo-file-system/legacy');
19
+ var reactNativeMmkv = require('react-native-mmkv');
20
+ var mobx = require('mobx');
21
+ var Constants = require('expo-constants');
22
+ require('expo-device');
23
+ var Updates = require('expo-updates');
24
+ var Slider = require('@react-native-community/slider');
25
+ var reactNativeElementDropdown = require('react-native-element-dropdown');
26
+
27
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
28
+
29
+ function _interopNamespace(e) {
30
+ if (e && e.__esModule) return e;
31
+ var n = Object.create(null);
32
+ if (e) {
33
+ Object.keys(e).forEach(function (k) {
34
+ if (k !== 'default') {
35
+ var d = Object.getOwnPropertyDescriptor(e, k);
36
+ Object.defineProperty(n, k, d.get ? d : {
37
+ enumerable: true,
38
+ get: function () { return e[k]; }
39
+ });
40
+ }
41
+ });
42
+ }
43
+ n.default = e;
44
+ return Object.freeze(n);
45
+ }
46
+
47
+ var DateTimePicker__default = /*#__PURE__*/_interopDefault(DateTimePicker);
48
+ var Sentry__namespace = /*#__PURE__*/_interopNamespace(Sentry);
49
+ var FileSystemLegacy__namespace = /*#__PURE__*/_interopNamespace(FileSystemLegacy);
50
+ var Constants__default = /*#__PURE__*/_interopDefault(Constants);
51
+ var Updates__namespace = /*#__PURE__*/_interopNamespace(Updates);
52
+ var Slider__default = /*#__PURE__*/_interopDefault(Slider);
53
+
54
+ // src/components/rjsf/form-submit-context.tsx
55
+ var FormSubmitContext = react.createContext(tsCommon.NO_OP);
56
+ var RjsfPaperFormWrapper = ({
57
+ onSubmit,
58
+ children,
59
+ ...viewProps
60
+ }) => {
61
+ const submitRef = react.useRef(onSubmit);
62
+ submitRef.current = onSubmit;
63
+ const handleSubmit = react.useCallback((event) => {
64
+ submitRef.current?.(event);
65
+ }, []);
66
+ return /* @__PURE__ */ jsxRuntime.jsx(FormSubmitContext.Provider, { value: handleSubmit, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { ...viewProps, children }) });
67
+ };
68
+
69
+ // src/theme/dark-colors-scheme.ts
70
+ var DARK_COLORS_SCHEME = {
71
+ primary: "rgb(170, 212, 114)",
72
+ onPrimary: "rgb(32, 54, 0)",
73
+ primaryContainer: "rgb(49, 79, 0)",
74
+ onPrimaryContainer: "rgb(197, 240, 139)",
75
+ secondary: "rgb(185, 209, 101)",
76
+ onSecondary: "rgb(42, 53, 0)",
77
+ secondaryContainer: "rgb(62, 76, 0)",
78
+ onSecondaryContainer: "rgb(212, 237, 126)",
79
+ tertiary: "rgb(167, 212, 116)",
80
+ onTertiary: "rgb(30, 55, 0)",
81
+ tertiaryContainer: "rgb(45, 80, 0)",
82
+ onTertiaryContainer: "rgb(194, 241, 141)",
83
+ error: "rgb(255, 180, 171)",
84
+ onError: "rgb(105, 0, 5)",
85
+ errorContainer: "rgb(147, 0, 10)",
86
+ onErrorContainer: "rgb(255, 180, 171)",
87
+ background: "rgb(27, 28, 24)",
88
+ onBackground: "rgb(227, 227, 219)",
89
+ surface: "rgb(27, 28, 24)",
90
+ onSurface: "rgb(227, 227, 219)",
91
+ surfaceVariant: "rgb(68, 72, 61)",
92
+ onSurfaceVariant: "rgb(197, 200, 185)",
93
+ outline: "rgb(143, 146, 133)",
94
+ outlineVariant: "rgb(68, 72, 61)",
95
+ shadow: "rgb(0, 0, 0)",
96
+ scrim: "rgb(0, 0, 0)",
97
+ inverseSurface: "rgb(227, 227, 219)",
98
+ inverseOnSurface: "rgb(48, 49, 44)",
99
+ inversePrimary: "rgb(69, 104, 18)",
100
+ elevation: {
101
+ level0: "transparent",
102
+ level1: "rgb(34, 37, 29)",
103
+ level2: "rgb(38, 43, 31)",
104
+ level3: "rgb(43, 48, 34)",
105
+ level4: "rgb(44, 50, 35)",
106
+ level5: "rgb(47, 54, 37)"
107
+ },
108
+ surfaceDisabled: "rgba(227, 227, 219, 0.12)",
109
+ onSurfaceDisabled: "rgba(227, 227, 219, 0.38)",
110
+ backdrop: "rgba(46, 50, 40, 0.4)"
111
+ };
112
+
113
+ // src/theme/light-colors-scheme.ts
114
+ var LIGHT_COLORS_SCHEME = {
115
+ primary: "rgb(69, 104, 18)",
116
+ onPrimary: "rgb(255, 255, 255)",
117
+ primaryContainer: "rgb(197, 240, 139)",
118
+ onPrimaryContainer: "rgb(17, 32, 0)",
119
+ secondary: "rgb(83, 102, 0)",
120
+ onSecondary: "rgb(255, 255, 255)",
121
+ secondaryContainer: "rgb(212, 237, 126)",
122
+ onSecondaryContainer: "rgb(23, 30, 0)",
123
+ tertiary: "rgb(67, 105, 21)",
124
+ onTertiary: "rgb(255, 255, 255)",
125
+ tertiaryContainer: "rgb(194, 241, 141)",
126
+ onTertiaryContainer: "rgb(15, 32, 0)",
127
+ error: "rgb(186, 26, 26)",
128
+ onError: "rgb(255, 255, 255)",
129
+ errorContainer: "rgb(255, 218, 214)",
130
+ onErrorContainer: "rgb(65, 0, 2)",
131
+ background: "rgb(253, 252, 245)",
132
+ onBackground: "rgb(27, 28, 24)",
133
+ surface: "rgb(253, 252, 245)",
134
+ onSurface: "rgb(27, 28, 24)",
135
+ surfaceVariant: "rgb(225, 228, 213)",
136
+ onSurfaceVariant: "rgb(68, 72, 61)",
137
+ outline: "rgb(117, 121, 108)",
138
+ outlineVariant: "rgb(197, 200, 185)",
139
+ shadow: "rgb(0, 0, 0)",
140
+ scrim: "rgb(0, 0, 0)",
141
+ inverseSurface: "rgb(48, 49, 44)",
142
+ inverseOnSurface: "rgb(242, 241, 233)",
143
+ inversePrimary: "rgb(170, 212, 114)",
144
+ elevation: {
145
+ level0: "transparent",
146
+ level1: "rgb(244, 245, 234)",
147
+ level2: "rgb(238, 240, 227)",
148
+ level3: "rgb(233, 236, 220)",
149
+ level4: "rgb(231, 234, 218)",
150
+ level5: "rgb(227, 231, 213)"
151
+ },
152
+ surfaceDisabled: "rgba(27, 28, 24, 0.12)",
153
+ onSurfaceDisabled: "rgba(27, 28, 24, 0.38)",
154
+ backdrop: "rgba(46, 50, 40, 0.4)"
155
+ };
156
+ var DEFAULT_SPACING = 8;
157
+ var spacing = (units = 1) => units * DEFAULT_SPACING;
158
+ var roundness = 2;
159
+ var DARK_THEME = {
160
+ ...reactNativePaper.MD3DarkTheme,
161
+ colors: {
162
+ ...reactNativePaper.MD3DarkTheme.colors,
163
+ ...DARK_COLORS_SCHEME
164
+ },
165
+ spacing,
166
+ roundness
167
+ };
168
+ var LIGHT_THEME = {
169
+ ...reactNativePaper.MD3LightTheme,
170
+ colors: {
171
+ ...reactNativePaper.MD3LightTheme.colors,
172
+ ...LIGHT_COLORS_SCHEME
173
+ },
174
+ spacing,
175
+ roundness
176
+ };
177
+ var navigationAdaptedThemes = reactNativePaper.adaptNavigationTheme({
178
+ reactNavigationLight: native.DefaultTheme,
179
+ reactNavigationDark: native.DarkTheme,
180
+ materialLight: LIGHT_THEME,
181
+ materialDark: DARK_THEME
182
+ });
183
+ var { DarkTheme, LightTheme } = navigationAdaptedThemes;
184
+ ({ ...DarkTheme, fonts: { ...native.DarkTheme.fonts } });
185
+ ({ ...LightTheme, fonts: { ...native.DefaultTheme.fonts } });
186
+ var useAppTheme = () => reactNativePaper.useTheme();
187
+ var useIsDarkMode = () => {
188
+ const theme = useAppTheme();
189
+ return theme.dark;
190
+ };
191
+ var AddButton = ({ registry, onClick, disabled, title }) => {
192
+ const label = registry.translateString(utils.TranslatableString.AddItemButton);
193
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.IconButton, { icon: "plus", onPress: onClick, disabled, accessibilityLabel: title ?? label });
194
+ };
195
+ var CopyButton = ({ registry, onClick, disabled, title }) => {
196
+ const label = registry.translateString(utils.TranslatableString.CopyButton);
197
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.IconButton, { icon: "content-copy", onPress: onClick, disabled, accessibilityLabel: title ?? label });
198
+ };
199
+ var MoveDownButton = ({ registry, onClick, disabled, title }) => {
200
+ const label = registry.translateString(utils.TranslatableString.MoveDownButton);
201
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.IconButton, { icon: "arrow-down", onPress: onClick, disabled, accessibilityLabel: title ?? label });
202
+ };
203
+ var MoveUpButton = ({ registry, onClick, disabled, title }) => {
204
+ const label = registry.translateString(utils.TranslatableString.MoveUpButton);
205
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.IconButton, { icon: "arrow-up", onPress: onClick, disabled, accessibilityLabel: title ?? label });
206
+ };
207
+ var RemoveButton = ({ uiSchema, registry, onClick, disabled, title }) => {
208
+ const options = utils.getUiOptions(uiSchema);
209
+ const label = registry.translateString(utils.TranslatableString.RemoveButton);
210
+ return /* @__PURE__ */ jsxRuntime.jsx(
211
+ reactNativePaper.IconButton,
212
+ {
213
+ icon: "delete",
214
+ onPress: onClick,
215
+ disabled,
216
+ iconColor: options?.block ? void 0 : void 0,
217
+ accessibilityLabel: title ?? label
218
+ }
219
+ );
220
+ };
221
+ var ClearButton = ({ registry, onClick, disabled, title }) => {
222
+ const label = registry.translateString(utils.TranslatableString.ClearButton);
223
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.IconButton, { icon: "close", onPress: onClick, disabled, accessibilityLabel: title ?? label });
224
+ };
225
+ var SubmitButton = ({ uiSchema }) => {
226
+ const submit = react.useContext(FormSubmitContext);
227
+ const { submitText, norender, props: buttonProps } = utils.getSubmitButtonOptions(uiSchema);
228
+ const styles2 = useStyles();
229
+ if (norender) return null;
230
+ const fakeEvent = {
231
+ preventDefault: () => {
232
+ },
233
+ persist: () => {
234
+ }
235
+ };
236
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.submitRow, children: /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Button, { mode: "contained", onPress: () => submit?.(fakeEvent), ...buttonProps, children: submitText }) });
237
+ };
238
+ var useStyles = () => {
239
+ const theme = useAppTheme();
240
+ return reactNative.StyleSheet.create({
241
+ submitRow: {
242
+ marginTop: theme.spacing(2),
243
+ alignItems: "center"
244
+ }
245
+ });
246
+ };
247
+ var defaultTemplates = core.getDefaultRegistry().templates;
248
+ var NoopErrorList = () => null;
249
+ var PaperObjectFieldTemplate = ({ title, description, properties }) => {
250
+ const styles2 = useStyles2();
251
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.fieldSet, children: [
252
+ title ? /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "titleMedium", style: styles2.title, children: title }) : null,
253
+ description ? /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodySmall", style: styles2.description, children: typeof description === "string" ? description : null }) : null,
254
+ properties.map((prop) => {
255
+ if (prop.hidden) return null;
256
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { children: prop.content }, prop.name);
257
+ })
258
+ ] });
259
+ };
260
+ var PaperFieldTemplate = ({ children, errors }) => {
261
+ const styles2 = useStyles2();
262
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.field, children: [
263
+ children,
264
+ errors
265
+ ] });
266
+ };
267
+ var PaperFieldErrorTemplate = ({ errors }) => {
268
+ const styles2 = useStyles2();
269
+ if (!errors || errors.length === 0) return null;
270
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.errorList, children: errors.map((msg, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodySmall", style: styles2.fieldError, children: msg }, `error-${index}-${msg}`)) });
271
+ };
272
+ var PaperFieldHelpTemplate = ({ help }) => {
273
+ const styles2 = useStyles2();
274
+ if (!help) return null;
275
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodySmall", style: styles2.help, children: typeof help === "string" ? help : null });
276
+ };
277
+ var PaperArrayFieldItemTemplate = ({
278
+ children,
279
+ buttonsProps,
280
+ hasToolbar,
281
+ registry,
282
+ uiSchema
283
+ }) => {
284
+ const styles2 = useStyles2();
285
+ const uiOptions = utils.getUiOptions(uiSchema);
286
+ const ArrayFieldItemButtonsTemplate = utils.getTemplate("ArrayFieldItemButtonsTemplate", registry, uiOptions);
287
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.arrayItemRow, children: [
288
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.arrayItemContent, children }),
289
+ hasToolbar ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.arrayItemToolbar, children: /* @__PURE__ */ jsxRuntime.jsx(ArrayFieldItemButtonsTemplate, { ...buttonsProps }) }) : null
290
+ ] });
291
+ };
292
+ var PaperArrayFieldTemplate = ({ title, items, canAdd, onAddClick, registry, uiSchema }) => {
293
+ const styles2 = useStyles2();
294
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.fieldSet, children: [
295
+ title ? /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "titleMedium", style: styles2.title, children: title }) : null,
296
+ items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.arrayItem, children: item }, "key" in item ? String(item.key) : index)),
297
+ canAdd ? /* @__PURE__ */ jsxRuntime.jsx(AddButton, { onClick: onAddClick, registry, uiSchema }) : null
298
+ ] });
299
+ };
300
+ var PAPER_TEMPLATES = {
301
+ ...defaultTemplates,
302
+ ObjectFieldTemplate: PaperObjectFieldTemplate,
303
+ FieldTemplate: PaperFieldTemplate,
304
+ FieldErrorTemplate: PaperFieldErrorTemplate,
305
+ FieldHelpTemplate: PaperFieldHelpTemplate,
306
+ ArrayFieldTemplate: PaperArrayFieldTemplate,
307
+ ArrayFieldItemTemplate: PaperArrayFieldItemTemplate,
308
+ ErrorListTemplate: NoopErrorList,
309
+ ButtonTemplates: {
310
+ ...defaultTemplates.ButtonTemplates,
311
+ AddButton,
312
+ ClearButton,
313
+ CopyButton,
314
+ MoveDownButton,
315
+ MoveUpButton,
316
+ RemoveButton,
317
+ SubmitButton
318
+ }
319
+ };
320
+ var useStyles2 = () => {
321
+ const theme = useAppTheme();
322
+ return reactNative.StyleSheet.create({
323
+ fieldSet: {
324
+ marginVertical: theme.spacing(2)
325
+ },
326
+ title: {
327
+ marginBottom: theme.spacing(1)
328
+ },
329
+ description: {
330
+ marginBottom: theme.spacing(2),
331
+ opacity: 0.8
332
+ },
333
+ field: {
334
+ marginVertical: theme.spacing(0.5)
335
+ },
336
+ errorList: {
337
+ marginTop: theme.spacing(1),
338
+ gap: theme.spacing(0.5)
339
+ },
340
+ fieldError: {
341
+ color: theme.colors.error
342
+ },
343
+ help: {
344
+ marginTop: theme.spacing(1),
345
+ opacity: 0.8
346
+ },
347
+ arrayItem: {
348
+ marginVertical: theme.spacing(1)
349
+ },
350
+ arrayItemRow: {
351
+ flexDirection: "row",
352
+ alignItems: "center",
353
+ marginVertical: theme.spacing(1)
354
+ },
355
+ arrayItemContent: {
356
+ flex: 1
357
+ },
358
+ arrayItemToolbar: {
359
+ flexDirection: "row",
360
+ alignItems: "center",
361
+ marginLeft: theme.spacing(1)
362
+ }
363
+ });
364
+ };
365
+ var RjsfDisplayLabel = ({ label, style }) => {
366
+ if (tsCommon.isBlank(label)) return null;
367
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodyLarge", style, children: label });
368
+ };
369
+ var CheckboxWidget = ({
370
+ id,
371
+ value,
372
+ disabled,
373
+ readonly,
374
+ onChange,
375
+ onBlur,
376
+ label,
377
+ hideLabel,
378
+ required
379
+ }) => {
380
+ const styles2 = useStyles3();
381
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
382
+ const checked = value === true;
383
+ const handleValueChange = (newValue) => {
384
+ onChange(newValue);
385
+ onBlur(id, newValue);
386
+ };
387
+ const handleLabelPress = () => {
388
+ if (disabled || readonly) return;
389
+ handleValueChange(!checked);
390
+ };
391
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.checkboxRow, children: [
392
+ /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Switch, { value: checked, onValueChange: handleValueChange, disabled }),
393
+ !tsCommon.isBlank(displayLabel) ? /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { onPress: handleLabelPress, style: styles2.checkboxLabel, children: /* @__PURE__ */ jsxRuntime.jsx(RjsfDisplayLabel, { label: displayLabel }) }) : null
394
+ ] });
395
+ };
396
+ var useStyles3 = () => {
397
+ const theme = useAppTheme();
398
+ return reactNative.StyleSheet.create({
399
+ checkboxRow: {
400
+ flexDirection: "row",
401
+ alignItems: "center",
402
+ gap: theme.spacing(1),
403
+ marginVertical: theme.spacing(0.5)
404
+ },
405
+ checkboxLabel: {
406
+ flex: 1
407
+ }
408
+ });
409
+ };
410
+ var CheckboxesWidget = ({
411
+ id,
412
+ value,
413
+ disabled,
414
+ readonly,
415
+ onChange,
416
+ onBlur,
417
+ label,
418
+ hideLabel,
419
+ required,
420
+ options,
421
+ schema
422
+ }) => {
423
+ const styles2 = useStyles4();
424
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
425
+ const enumOptions = rjsf.mapEnumOptions(options);
426
+ const isArrayValue = Array.isArray(value);
427
+ const currentSet = isArrayValue ? value : [];
428
+ const hasMaxItems = typeof schema?.maxItems === "number";
429
+ const maxItems = hasMaxItems ? schema.maxItems : void 0;
430
+ const toggle = (optValue) => {
431
+ if (disabled || readonly) return;
432
+ const isChecked = currentSet.includes(optValue);
433
+ const next = isChecked ? currentSet.filter((v) => v !== optValue) : [...currentSet, optValue];
434
+ if (!tsCommon.isNullish(maxItems) && next.length > maxItems) return;
435
+ const unique = Array.from(new Set(next));
436
+ onChange(unique);
437
+ onBlur(id, unique);
438
+ };
439
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.widgetBlock, children: [
440
+ /* @__PURE__ */ jsxRuntime.jsx(RjsfDisplayLabel, { label: displayLabel, style: styles2.checkboxesTitle }),
441
+ enumOptions.map((opt) => {
442
+ const isOptionChecked = currentSet.includes(opt.value);
443
+ const checkboxStatus = isOptionChecked ? "checked" : "unchecked";
444
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.checkboxRow, children: [
445
+ /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Checkbox, { status: checkboxStatus, onPress: () => toggle(opt.value), disabled: disabled || readonly }),
446
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { onPress: () => toggle(opt.value), style: styles2.checkboxLabel, children: /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodyLarge", children: opt.label }) })
447
+ ] }, opt.value);
448
+ })
449
+ ] });
450
+ };
451
+ var useStyles4 = () => {
452
+ const theme = useAppTheme();
453
+ return reactNative.StyleSheet.create({
454
+ widgetBlock: {
455
+ marginVertical: theme.spacing(0.5)
456
+ },
457
+ checkboxesTitle: {
458
+ marginBottom: theme.spacing(1)
459
+ },
460
+ checkboxRow: {
461
+ flexDirection: "row",
462
+ alignItems: "center",
463
+ gap: theme.spacing(1),
464
+ marginVertical: theme.spacing(0.5)
465
+ },
466
+ checkboxLabel: {
467
+ flex: 1
468
+ }
469
+ });
470
+ };
471
+ var DateWidget = ({
472
+ id,
473
+ value,
474
+ disabled,
475
+ readonly,
476
+ placeholder,
477
+ onChange,
478
+ onBlur,
479
+ onFocus,
480
+ label,
481
+ hideLabel,
482
+ required,
483
+ rawErrors
484
+ }) => {
485
+ const theme = useAppTheme();
486
+ const isDarkMode = useIsDarkMode();
487
+ const styles2 = useStyles5();
488
+ const [showPicker, togglePickerVisibility] = usehooks.useToggle(false);
489
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
490
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
491
+ const date = rjsf.parseDateOnlyToLocalDate(value) ?? /* @__PURE__ */ new Date();
492
+ const strValue = rjsf.formatDateOnlyForDisplay(value);
493
+ const pickerDisplay = reactNative.Platform.OS === "ios" ? "spinner" : "default";
494
+ const themeVariant = isDarkMode ? "dark" : "light";
495
+ const isDisplayOnly = disabled || readonly;
496
+ if (isDisplayOnly) {
497
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.widgetBlock, children: /* @__PURE__ */ jsxRuntime.jsx(
498
+ reactNativePaper.TextInput,
499
+ {
500
+ mode: "outlined",
501
+ label: displayLabel,
502
+ value: strValue,
503
+ placeholder,
504
+ disabled,
505
+ editable: false,
506
+ error: hasError,
507
+ style: styles2.input,
508
+ outlineColor: theme.colors.outline,
509
+ onFocus: () => onFocus(id, value),
510
+ pointerEvents: "auto"
511
+ }
512
+ ) });
513
+ }
514
+ const handlePick = (_, selectedDate) => {
515
+ if (reactNative.Platform.OS === "android") togglePickerVisibility(false);
516
+ if (!tsCommon.isNullish(selectedDate)) {
517
+ const dateOnly = rjsf.dateToDateOnlyString(selectedDate);
518
+ onChange(dateOnly);
519
+ onBlur(id, dateOnly);
520
+ }
521
+ };
522
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.widgetBlock, children: [
523
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { onPress: () => togglePickerVisibility(), children: /* @__PURE__ */ jsxRuntime.jsx(
524
+ reactNativePaper.TextInput,
525
+ {
526
+ mode: "outlined",
527
+ label: displayLabel,
528
+ value: strValue,
529
+ placeholder,
530
+ disabled,
531
+ editable: false,
532
+ error: hasError,
533
+ style: styles2.input,
534
+ outlineColor: theme.colors.outline,
535
+ right: /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.TextInput.Icon, { icon: "calendar", onPress: () => togglePickerVisibility() }),
536
+ onFocus: () => onFocus(id, value),
537
+ pointerEvents: "none"
538
+ }
539
+ ) }),
540
+ showPicker && /* @__PURE__ */ jsxRuntime.jsx(
541
+ DateTimePicker__default.default,
542
+ {
543
+ value: date,
544
+ mode: "date",
545
+ display: pickerDisplay,
546
+ onChange: handlePick,
547
+ onTouchCancel: () => togglePickerVisibility(false),
548
+ themeVariant,
549
+ ...reactNative.Platform.OS === "ios" && { textColor: theme.colors.onSurface }
550
+ }
551
+ )
552
+ ] });
553
+ };
554
+ var useStyles5 = () => {
555
+ const theme = useAppTheme();
556
+ return reactNative.StyleSheet.create({
557
+ widgetBlock: {
558
+ marginVertical: theme.spacing(0.5)
559
+ },
560
+ input: {
561
+ marginVertical: theme.spacing(0.5)
562
+ }
563
+ });
564
+ };
565
+ var DateTimeWidget = ({
566
+ id,
567
+ value,
568
+ disabled,
569
+ readonly,
570
+ placeholder,
571
+ onChange,
572
+ onBlur,
573
+ onFocus,
574
+ label,
575
+ hideLabel,
576
+ required,
577
+ rawErrors
578
+ }) => {
579
+ const theme = useAppTheme();
580
+ const isDarkMode = useIsDarkMode();
581
+ const styles2 = useStyles6();
582
+ const [showPicker, togglePickerVisibility] = usehooks.useToggle(false);
583
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
584
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
585
+ const date = rjsf.parseDateOrNull(value) ?? /* @__PURE__ */ new Date();
586
+ const strValue = rjsf.formatDateTimeForDisplay(value);
587
+ const pickerDisplay = reactNative.Platform.OS === "ios" ? "spinner" : "default";
588
+ const themeVariant = isDarkMode ? "dark" : "light";
589
+ const isDisplayOnly = disabled || readonly;
590
+ if (isDisplayOnly) {
591
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.widgetBlock, children: /* @__PURE__ */ jsxRuntime.jsx(
592
+ reactNativePaper.TextInput,
593
+ {
594
+ mode: "outlined",
595
+ label: displayLabel,
596
+ value: strValue,
597
+ placeholder,
598
+ disabled,
599
+ editable: false,
600
+ error: hasError,
601
+ style: styles2.input,
602
+ outlineColor: theme.colors.outline,
603
+ onFocus: () => onFocus(id, value),
604
+ pointerEvents: "auto"
605
+ }
606
+ ) });
607
+ }
608
+ const handlePick = (_, selectedDate) => {
609
+ if (reactNative.Platform.OS === "android") togglePickerVisibility(false);
610
+ if (!tsCommon.isNullish(selectedDate)) {
611
+ const iso = selectedDate.toISOString();
612
+ onChange(iso);
613
+ onBlur(id, iso);
614
+ }
615
+ };
616
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.widgetBlock, children: [
617
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { onPress: () => togglePickerVisibility(), children: /* @__PURE__ */ jsxRuntime.jsx(
618
+ reactNativePaper.TextInput,
619
+ {
620
+ mode: "outlined",
621
+ label: displayLabel,
622
+ value: strValue,
623
+ placeholder,
624
+ disabled,
625
+ editable: false,
626
+ error: hasError,
627
+ style: styles2.input,
628
+ outlineColor: theme.colors.outline,
629
+ right: /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.TextInput.Icon, { icon: "clock-outline", onPress: () => togglePickerVisibility() }),
630
+ onFocus: () => onFocus(id, value),
631
+ pointerEvents: "none"
632
+ }
633
+ ) }),
634
+ showPicker && /* @__PURE__ */ jsxRuntime.jsx(
635
+ DateTimePicker__default.default,
636
+ {
637
+ value: date,
638
+ mode: "datetime",
639
+ display: pickerDisplay,
640
+ onChange: handlePick,
641
+ onTouchCancel: () => togglePickerVisibility(false),
642
+ themeVariant,
643
+ ...reactNative.Platform.OS === "ios" && { textColor: theme.colors.onSurface }
644
+ }
645
+ )
646
+ ] });
647
+ };
648
+ var useStyles6 = () => {
649
+ const theme = useAppTheme();
650
+ return reactNative.StyleSheet.create({
651
+ widgetBlock: {
652
+ marginVertical: theme.spacing(0.5)
653
+ },
654
+ input: {
655
+ marginVertical: theme.spacing(0.5)
656
+ }
657
+ });
658
+ };
659
+ var styles = reactNative.StyleSheet.create({
660
+ hidden: {
661
+ display: "none",
662
+ height: 0,
663
+ overflow: "hidden"
664
+ }
665
+ });
666
+ var HiddenWidget = () => {
667
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles.hidden });
668
+ };
669
+ var mmkvStorage = new reactNativeMmkv.MMKV();
670
+ var setItem = (key, data) => {
671
+ if (data instanceof ArrayBuffer) {
672
+ mmkvStorage.set(key, data);
673
+ } else if (typeof data === "boolean" || typeof data === "number" || typeof data === "string") {
674
+ mmkvStorage.set(key, data);
675
+ } else {
676
+ mmkvStorage.set(key, JSON.stringify(data));
677
+ }
678
+ };
679
+ var getItem = (key, defaultValue) => {
680
+ if (defaultValue instanceof Uint8Array) {
681
+ return mmkvStorage.getBuffer(key) ?? defaultValue;
682
+ }
683
+ if (typeof defaultValue === "boolean") {
684
+ return mmkvStorage.getBoolean(key) ?? defaultValue;
685
+ }
686
+ if (typeof defaultValue === "number") {
687
+ return mmkvStorage.getNumber(key) ?? defaultValue;
688
+ }
689
+ const stringValue = mmkvStorage.getString(key);
690
+ if (stringValue === void 0 || stringValue === null) return defaultValue;
691
+ if (typeof defaultValue === "string") {
692
+ return stringValue;
693
+ }
694
+ try {
695
+ return JSON.parse(stringValue);
696
+ } catch {
697
+ return stringValue;
698
+ }
699
+ };
700
+ var removeItem = (key) => {
701
+ mmkvStorage.delete(key);
702
+ };
703
+ var storage = {
704
+ setItem,
705
+ getItem,
706
+ removeItem
707
+ };
708
+
709
+ // src/config/env.config.ts
710
+ var isSentryActivated = () => storage.getItem("SENTRY_ACTIVATED", "") === "true";
711
+ var getSentryDns = () => storage.getItem("SENTRY_DNS", "") ?? "";
712
+ var MAX_LOG_ENTRIES = 10 * 1e3;
713
+ var CommonLogsStore = class {
714
+ constructor() {
715
+ this.logEntries = [];
716
+ mobx.makeAutoObservable(this);
717
+ }
718
+ get allLogsAsText() {
719
+ return this.logEntries.map((log) => log.msg).filter((log) => !!log).join("\n");
720
+ }
721
+ addLog(logEntry) {
722
+ this.logEntries.push(logEntry);
723
+ if (this.logEntries.length > MAX_LOG_ENTRIES) {
724
+ this.logEntries.shift();
725
+ }
726
+ }
727
+ clearLogs() {
728
+ this.logEntries = [];
729
+ }
730
+ filterLogs(filterText) {
731
+ const lowerCaseFilterText = filterText.toLowerCase();
732
+ return this.logEntries.filter((log) => log.msg.toLowerCase().includes(lowerCaseFilterText));
733
+ }
734
+ };
735
+ var commonLogsStore = new CommonLogsStore();
736
+ var commonLogsStoreTransport = (props) => {
737
+ commonLogsStore.addLog(props);
738
+ };
739
+ var getAppIdentifier = () => {
740
+ const bundleId = reactNative.Platform.select({
741
+ ios: Constants__default.default.expoConfig?.ios?.bundleIdentifier,
742
+ android: Constants__default.default.expoConfig?.android?.package,
743
+ default: "Unknown"
744
+ });
745
+ const id = bundleId?.split(".").pop();
746
+ return id ?? "";
747
+ };
748
+ var isDevelopment = () => {
749
+ return __DEV__ || !Updates__namespace.channel;
750
+ };
751
+
752
+ // src/logger/logger.types.ts
753
+ var LOG_LEVELS = {
754
+ debug: 0,
755
+ log: 1,
756
+ info: 2,
757
+ warn: 3,
758
+ error: 4
759
+ };
760
+
761
+ // src/logger/logger.ts
762
+ reactNative.LogBox.ignoreLogs([/^ErrorBoundary /, /Support for defaultProps will be removed from function components/]);
763
+ var appName = getAppIdentifier();
764
+ var logFilenamePrefix = `app-logs-${appName}`;
765
+ var logFilenamePattern = `${logFilenamePrefix}-{date-today}.txt`;
766
+ var filePath = expoFileSystem.Paths.document.uri;
767
+ if (!filePath) {
768
+ throw new Error("Failed to initialize logger: document directory path is unavailable");
769
+ }
770
+ var LoggerWrapper = class {
771
+ constructor(config) {
772
+ this._logger = reactNativeLogs.logger.createLogger(config);
773
+ }
774
+ debug(message, ...args) {
775
+ this._logger.debug(message, ...args);
776
+ }
777
+ log(message, ...args) {
778
+ this._logger.log(message, ...args);
779
+ }
780
+ info(message, ...args) {
781
+ this._logger.info(message, ...args);
782
+ }
783
+ warn(message, ...args) {
784
+ this._logger.warn(message, ...args);
785
+ }
786
+ error(message, ...args) {
787
+ this._logger.error(message, ...args);
788
+ }
789
+ };
790
+ var getTransports = () => {
791
+ const transports = [reactNativeLogs.fileAsyncTransport, commonLogsStoreTransport];
792
+ if (!isDevelopment() && isSentryActivated()) {
793
+ Sentry__namespace.init({
794
+ dsn: getSentryDns(),
795
+ // We can add more context data to events (IP address, cookies, user, etc.)
796
+ // @see https://docs.sentry.io/platforms/react-native/data-management/data-collected/
797
+ sendDefaultPii: true
798
+ });
799
+ transports.push(reactNativeLogs.sentryTransport);
800
+ }
801
+ if (isDevelopment()) {
802
+ transports.push(reactNativeLogs.mapConsoleTransport);
803
+ }
804
+ return transports;
805
+ };
806
+ var logger = new LoggerWrapper({
807
+ severity: "debug",
808
+ transport: getTransports(),
809
+ levels: {
810
+ debug: LOG_LEVELS.debug,
811
+ log: LOG_LEVELS.log,
812
+ info: LOG_LEVELS.info,
813
+ warn: LOG_LEVELS.warn,
814
+ error: LOG_LEVELS.error
815
+ },
816
+ async: true,
817
+ asyncFunc: reactNative.InteractionManager.runAfterInteractions,
818
+ dateFormat: (date) => `${date.toISOString()} `,
819
+ printLevel: true,
820
+ fixedExtLvlLength: true,
821
+ printDate: true,
822
+ enabled: true,
823
+ transportOptions: {
824
+ // @see https://github.com/mowispace/react-native-logs?tab=readme-ov-file#sentrytransport
825
+ SENTRY: Sentry__namespace,
826
+ errorLevels: "error",
827
+ // @see https://github.com/mowispace/react-native-logs?tab=readme-ov-file#mapconsoletransport
828
+ mapLevels: {
829
+ debug: "debug",
830
+ log: "log",
831
+ info: "info",
832
+ warn: "warn",
833
+ error: "error"
834
+ },
835
+ // @see https://github.com/mowispace/react-native-logs?tab=readme-ov-file#fileasynctransport
836
+ FS: FileSystemLegacy__namespace,
837
+ fileNameDateType: "iso",
838
+ fileName: logFilenamePattern,
839
+ filePath
840
+ }
841
+ });
842
+ var NumberWidget = ({
843
+ id,
844
+ value,
845
+ disabled,
846
+ readonly,
847
+ placeholder,
848
+ onChange,
849
+ onBlur,
850
+ onFocus,
851
+ label,
852
+ hideLabel,
853
+ required,
854
+ rawErrors,
855
+ options,
856
+ schema
857
+ }) => {
858
+ const theme = useAppTheme();
859
+ const styles2 = useStyles7();
860
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
861
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
862
+ const strValue = rjsf.toStringOrEmpty(value);
863
+ const isInteger = schema?.type === "integer";
864
+ const handleChangeText = (text) => {
865
+ if (tsCommon.isBlank(text)) {
866
+ onChange(options?.emptyValue);
867
+ return;
868
+ }
869
+ const floatValue = parseFloat(text);
870
+ if (Number.isNaN(floatValue)) {
871
+ logger.error("[NumberWidget]: Invalid float value", { text });
872
+ return;
873
+ }
874
+ onChange(isInteger ? Math.round(floatValue) : floatValue);
875
+ };
876
+ const keyboardType = isInteger ? "number-pad" : "decimal-pad";
877
+ const inputMode = isInteger ? "numeric" : "decimal";
878
+ return /* @__PURE__ */ jsxRuntime.jsx(
879
+ reactNativePaper.TextInput,
880
+ {
881
+ mode: "outlined",
882
+ label: displayLabel,
883
+ value: strValue,
884
+ placeholder,
885
+ disabled,
886
+ editable: !readonly,
887
+ keyboardType,
888
+ inputMode,
889
+ onChangeText: handleChangeText,
890
+ onBlur: () => onBlur(id, value),
891
+ onFocus: () => onFocus(id, value),
892
+ error: hasError,
893
+ style: styles2.input,
894
+ outlineColor: theme.colors.outline
895
+ }
896
+ );
897
+ };
898
+ var useStyles7 = () => {
899
+ const theme = useAppTheme();
900
+ return reactNative.StyleSheet.create({
901
+ input: {
902
+ marginVertical: theme.spacing(0.5)
903
+ }
904
+ });
905
+ };
906
+ var PasswordInput = ({ label, ...rest }) => {
907
+ const { t } = reactI18next.useTranslation();
908
+ const [isPasswordVisible, toggleShowPassword] = usehooks.useToggle();
909
+ const displayLabel = label ?? t("common:password");
910
+ const icon = isPasswordVisible ? "eye-off" : "eye";
911
+ const showA11yLabel = isPasswordVisible ? t("common:passwordInput.hidePassword") : t("common:passwordInput.showPassword");
912
+ return /* @__PURE__ */ jsxRuntime.jsx(
913
+ reactNativePaper.TextInput,
914
+ {
915
+ label: displayLabel,
916
+ secureTextEntry: !isPasswordVisible,
917
+ right: /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.TextInput.Icon, { icon, onPress: () => toggleShowPassword(), accessibilityLabel: showA11yLabel }),
918
+ ...rest
919
+ }
920
+ );
921
+ };
922
+ var PasswordWidget = ({
923
+ id,
924
+ value,
925
+ disabled,
926
+ readonly,
927
+ placeholder,
928
+ onChange,
929
+ onBlur,
930
+ onFocus,
931
+ label,
932
+ hideLabel,
933
+ required,
934
+ rawErrors,
935
+ options
936
+ }) => {
937
+ const theme = useAppTheme();
938
+ const styles2 = useStyles8();
939
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
940
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
941
+ const handleChangeText = (text) => {
942
+ onChange(rjsf.getRjsfTextChangeValue({ text, emptyValue: options?.emptyValue }));
943
+ };
944
+ return /* @__PURE__ */ jsxRuntime.jsx(
945
+ PasswordInput,
946
+ {
947
+ mode: "outlined",
948
+ label: displayLabel,
949
+ value: rjsf.toStringOrEmpty(value),
950
+ placeholder,
951
+ disabled,
952
+ editable: !readonly,
953
+ onChangeText: handleChangeText,
954
+ onBlur: () => onBlur(id, value),
955
+ onFocus: () => onFocus(id, value),
956
+ error: hasError,
957
+ style: styles2.input,
958
+ outlineColor: theme.colors.outline
959
+ }
960
+ );
961
+ };
962
+ var useStyles8 = () => {
963
+ const theme = useAppTheme();
964
+ return reactNative.StyleSheet.create({
965
+ input: {
966
+ marginVertical: theme.spacing(0.5)
967
+ }
968
+ });
969
+ };
970
+ var RadioWidget = ({
971
+ id,
972
+ value,
973
+ disabled,
974
+ readonly,
975
+ onChange,
976
+ onBlur,
977
+ label,
978
+ hideLabel,
979
+ required,
980
+ options
981
+ }) => {
982
+ const styles2 = useStyles9();
983
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
984
+ const enumOptions = rjsf.mapEnumOptions(options);
985
+ const strValue = rjsf.toStringOrEmpty(value);
986
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.widgetBlock, children: [
987
+ /* @__PURE__ */ jsxRuntime.jsx(RjsfDisplayLabel, { label: displayLabel, style: styles2.radioTitle }),
988
+ /* @__PURE__ */ jsxRuntime.jsx(
989
+ reactNativePaper.RadioButton.Group,
990
+ {
991
+ onValueChange: (v) => {
992
+ onChange(v);
993
+ onBlur(id, v);
994
+ },
995
+ value: strValue,
996
+ children: enumOptions.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
997
+ reactNativePaper.RadioButton.Item,
998
+ {
999
+ label: opt.label,
1000
+ value: opt.value,
1001
+ disabled: disabled || readonly,
1002
+ style: styles2.radioItem
1003
+ },
1004
+ opt.value
1005
+ ))
1006
+ }
1007
+ )
1008
+ ] });
1009
+ };
1010
+ var useStyles9 = () => {
1011
+ const theme = useAppTheme();
1012
+ return reactNative.StyleSheet.create({
1013
+ widgetBlock: {
1014
+ marginVertical: theme.spacing(0.5)
1015
+ },
1016
+ radioTitle: {
1017
+ marginBottom: theme.spacing(1)
1018
+ },
1019
+ radioItem: {
1020
+ marginVertical: theme.spacing(0.25)
1021
+ }
1022
+ });
1023
+ };
1024
+ var RangeWidget = ({
1025
+ id,
1026
+ value,
1027
+ disabled,
1028
+ readonly,
1029
+ onChange,
1030
+ onBlur,
1031
+ label,
1032
+ hideLabel,
1033
+ required,
1034
+ rawErrors: _rawErrors,
1035
+ schema
1036
+ }) => {
1037
+ const theme = useAppTheme();
1038
+ const styles2 = useStyles10();
1039
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
1040
+ const hasSchemaMin = typeof schema?.minimum === "number";
1041
+ const min = hasSchemaMin ? schema.minimum : 0;
1042
+ const hasSchemaMax = typeof schema?.maximum === "number";
1043
+ const max = hasSchemaMax ? schema.maximum : 100;
1044
+ const hasValidValue = typeof value === "number" && !Number.isNaN(value);
1045
+ const numValue = hasValidValue ? value : min;
1046
+ const displayValue = Math.round(numValue);
1047
+ const handleSlidingComplete = (v) => {
1048
+ const intValue = Math.round(v);
1049
+ onChange(intValue);
1050
+ onBlur(id, intValue);
1051
+ };
1052
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.widgetBlock, children: [
1053
+ /* @__PURE__ */ jsxRuntime.jsx(RjsfDisplayLabel, { label: displayLabel, style: styles2.rangeLabel }),
1054
+ /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.rangeRow, children: [
1055
+ /* @__PURE__ */ jsxRuntime.jsx(
1056
+ Slider__default.default,
1057
+ {
1058
+ style: styles2.slider,
1059
+ minimumValue: min,
1060
+ maximumValue: max,
1061
+ value: numValue,
1062
+ onSlidingComplete: handleSlidingComplete,
1063
+ minimumTrackTintColor: theme.colors.primary,
1064
+ maximumTrackTintColor: theme.colors.outline,
1065
+ disabled: disabled || readonly
1066
+ }
1067
+ ),
1068
+ /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodyMedium", style: styles2.rangeValue, children: displayValue })
1069
+ ] })
1070
+ ] });
1071
+ };
1072
+ var useStyles10 = () => {
1073
+ const theme = useAppTheme();
1074
+ return reactNative.StyleSheet.create({
1075
+ widgetBlock: {
1076
+ marginVertical: theme.spacing(0.5)
1077
+ },
1078
+ rangeLabel: {
1079
+ marginBottom: theme.spacing(0.5)
1080
+ },
1081
+ rangeRow: {
1082
+ flexDirection: "row",
1083
+ alignItems: "center",
1084
+ gap: theme.spacing(2)
1085
+ },
1086
+ slider: {
1087
+ flex: 1,
1088
+ height: 40
1089
+ },
1090
+ rangeValue: {
1091
+ minWidth: 36
1092
+ }
1093
+ });
1094
+ };
1095
+
1096
+ // src/components/drop-down-selector/drop-down-selector.utils.ts
1097
+ var getTextColor = ({ theme, isFocused, isDisabled }) => {
1098
+ const { onSurfaceDisabled, primary, secondary } = theme.colors;
1099
+ if (isDisabled) {
1100
+ return onSurfaceDisabled;
1101
+ }
1102
+ if (isFocused) {
1103
+ return primary;
1104
+ }
1105
+ return secondary;
1106
+ };
1107
+ var getLabelColor = ({ theme, isError, isDisabled, isFocusedAndEnabled }) => {
1108
+ const { error, onSurfaceDisabled, primary, onSurface } = theme.colors;
1109
+ if (isError) {
1110
+ return error;
1111
+ }
1112
+ if (isDisabled) {
1113
+ return onSurfaceDisabled;
1114
+ }
1115
+ if (isFocusedAndEnabled) {
1116
+ return primary;
1117
+ }
1118
+ return onSurface;
1119
+ };
1120
+ var getBorderColor = ({ theme, isError, isDisabled, isFocused }) => {
1121
+ const { error, surfaceDisabled, primary, outline } = theme.colors;
1122
+ if (isError) {
1123
+ return error;
1124
+ }
1125
+ if (isDisabled) {
1126
+ return surfaceDisabled;
1127
+ }
1128
+ if (isFocused) {
1129
+ return primary;
1130
+ }
1131
+ return outline;
1132
+ };
1133
+ var DropDownSelectorLeftIcon = ({
1134
+ icon,
1135
+ color,
1136
+ size = 20
1137
+ }) => {
1138
+ if (!icon) {
1139
+ return null;
1140
+ }
1141
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Icon, { source: icon, size, color });
1142
+ };
1143
+ var DropDownSelectorItem = ({ item, selected, textColor }) => {
1144
+ const isSelected = selected === true;
1145
+ const styles2 = useStyles11({ isSelected });
1146
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { style: styles2.itemContainer, children: [
1147
+ item.icon && /* @__PURE__ */ jsxRuntime.jsx(DropDownSelectorLeftIcon, { icon: item.icon, color: textColor }),
1148
+ /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { style: { color: textColor }, children: item.label })
1149
+ ] });
1150
+ };
1151
+ var useStyles11 = ({ isSelected }) => {
1152
+ const theme = useAppTheme();
1153
+ return reactNative.StyleSheet.create({
1154
+ itemContainer: {
1155
+ flexDirection: "row",
1156
+ alignItems: "center",
1157
+ paddingVertical: theme.spacing(1),
1158
+ paddingHorizontal: theme.spacing(1),
1159
+ gap: theme.spacing(1),
1160
+ backgroundColor: isSelected ? theme.colors.surfaceVariant : theme.colors.surface
1161
+ }
1162
+ });
1163
+ };
1164
+ var DropDownSelector = ({
1165
+ label,
1166
+ value,
1167
+ onChange,
1168
+ isError,
1169
+ options,
1170
+ placeholder,
1171
+ searchPlaceholder,
1172
+ disabled
1173
+ }) => {
1174
+ const [isFocused, setIsFocused] = react.useState(false);
1175
+ const hasLabel = !!label;
1176
+ const theme = useAppTheme();
1177
+ const isDisabled = disabled === true;
1178
+ const textColor = getTextColor({ theme, isFocused, isDisabled });
1179
+ const styles2 = useStyles12({ isFocused, disabled, isError, textColor });
1180
+ const selectedItem = options.find((option) => option.value === value);
1181
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactNative.View, { children: [
1182
+ hasLabel && /* @__PURE__ */ jsxRuntime.jsx(reactNativePaper.Text, { variant: "bodySmall", style: styles2.dropdownTitle, children: label }),
1183
+ /* @__PURE__ */ jsxRuntime.jsx(
1184
+ reactNativeElementDropdown.Dropdown,
1185
+ {
1186
+ style: styles2.dropdown,
1187
+ autoScroll: false,
1188
+ placeholderStyle: styles2.placeholderStyle,
1189
+ selectedTextStyle: styles2.selectedTextStyle,
1190
+ data: options,
1191
+ search: false,
1192
+ searchPlaceholder,
1193
+ maxHeight: 300,
1194
+ labelField: "label",
1195
+ valueField: "value",
1196
+ placeholder: isFocused ? "" : placeholder,
1197
+ value,
1198
+ disable: disabled,
1199
+ onFocus: () => setIsFocused(true),
1200
+ onBlur: () => setIsFocused(false),
1201
+ onChange: ({ value: value2 }) => {
1202
+ onChange(value2);
1203
+ setIsFocused(false);
1204
+ },
1205
+ renderItem: (item, selected) => /* @__PURE__ */ jsxRuntime.jsx(DropDownSelectorItem, { item, selected, textColor }),
1206
+ renderLeftIcon: () => /* @__PURE__ */ jsxRuntime.jsx(DropDownSelectorLeftIcon, { icon: selectedItem?.icon, color: textColor })
1207
+ }
1208
+ )
1209
+ ] });
1210
+ };
1211
+ var useStyles12 = ({ isFocused, disabled, isError, textColor }) => {
1212
+ const theme = useAppTheme();
1213
+ const { surface, surfaceDisabled } = theme.colors;
1214
+ const isDisabled = disabled === true;
1215
+ const isFocusedAndEnabled = isFocused && !isDisabled;
1216
+ const labelColor = getLabelColor({ theme, isError: !!isError, isDisabled, isFocusedAndEnabled });
1217
+ const borderColor = getBorderColor({ theme, isError: !!isError, isDisabled, isFocused });
1218
+ const borderWidth = isFocusedAndEnabled ? 2 : 1;
1219
+ const backgroundColor = isDisabled ? surfaceDisabled : "transparent";
1220
+ return reactNative.StyleSheet.create({
1221
+ dropdownTitle: {
1222
+ position: "absolute",
1223
+ top: -theme.spacing(1),
1224
+ left: theme.spacing(1),
1225
+ backgroundColor: surface,
1226
+ paddingHorizontal: theme.spacing(0.75),
1227
+ color: labelColor,
1228
+ zIndex: 1
1229
+ },
1230
+ dropdown: {
1231
+ height: 50,
1232
+ borderColor,
1233
+ borderWidth,
1234
+ borderRadius: theme.roundness,
1235
+ paddingHorizontal: theme.spacing(1),
1236
+ backgroundColor
1237
+ },
1238
+ placeholderStyle: {
1239
+ color: textColor
1240
+ },
1241
+ selectedTextStyle: {
1242
+ color: textColor,
1243
+ paddingLeft: theme.spacing(1)
1244
+ }
1245
+ });
1246
+ };
1247
+ var SelectWidget = ({
1248
+ id,
1249
+ value,
1250
+ disabled,
1251
+ placeholder,
1252
+ onChange,
1253
+ onBlur,
1254
+ label,
1255
+ hideLabel,
1256
+ required,
1257
+ rawErrors,
1258
+ options
1259
+ }) => {
1260
+ const styles2 = useStyles13();
1261
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
1262
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
1263
+ const selectOptions = rjsf.mapEnumOptions(options);
1264
+ const strValue = rjsf.toStringOrUndefined(value);
1265
+ const handleChange = (code) => {
1266
+ onChange(code);
1267
+ onBlur(id, code);
1268
+ };
1269
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { style: styles2.widgetBlock, children: /* @__PURE__ */ jsxRuntime.jsx(
1270
+ DropDownSelector,
1271
+ {
1272
+ label: displayLabel,
1273
+ value: strValue,
1274
+ onChange: handleChange,
1275
+ options: selectOptions,
1276
+ placeholder,
1277
+ disabled,
1278
+ isError: hasError
1279
+ }
1280
+ ) });
1281
+ };
1282
+ var useStyles13 = () => {
1283
+ const theme = useAppTheme();
1284
+ return reactNative.StyleSheet.create({
1285
+ widgetBlock: {
1286
+ marginVertical: theme.spacing(0.5)
1287
+ }
1288
+ });
1289
+ };
1290
+ var TextWidget = ({
1291
+ id,
1292
+ value,
1293
+ disabled,
1294
+ readonly,
1295
+ placeholder,
1296
+ onChange,
1297
+ onBlur,
1298
+ onFocus,
1299
+ label,
1300
+ hideLabel,
1301
+ required,
1302
+ rawErrors,
1303
+ options
1304
+ }) => {
1305
+ const theme = useAppTheme();
1306
+ const styles2 = useStyles14();
1307
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
1308
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
1309
+ const handleChangeText = (text) => {
1310
+ onChange(rjsf.getRjsfTextChangeValue({ text, emptyValue: options?.emptyValue }));
1311
+ };
1312
+ return /* @__PURE__ */ jsxRuntime.jsx(
1313
+ reactNativePaper.TextInput,
1314
+ {
1315
+ mode: "outlined",
1316
+ label: displayLabel,
1317
+ value: rjsf.toStringOrEmpty(value),
1318
+ placeholder,
1319
+ disabled,
1320
+ editable: !readonly,
1321
+ onChangeText: handleChangeText,
1322
+ onBlur: () => onBlur(id, value),
1323
+ onFocus: () => onFocus(id, value),
1324
+ error: hasError,
1325
+ style: styles2.input,
1326
+ outlineColor: theme.colors.outline
1327
+ }
1328
+ );
1329
+ };
1330
+ var useStyles14 = () => {
1331
+ const theme = useAppTheme();
1332
+ return reactNative.StyleSheet.create({
1333
+ input: {
1334
+ marginVertical: theme.spacing(0.5)
1335
+ }
1336
+ });
1337
+ };
1338
+ var TextareaWidget = ({
1339
+ id,
1340
+ value,
1341
+ disabled,
1342
+ readonly,
1343
+ placeholder,
1344
+ onChange,
1345
+ onBlur,
1346
+ onFocus,
1347
+ label,
1348
+ hideLabel,
1349
+ required,
1350
+ rawErrors,
1351
+ options
1352
+ }) => {
1353
+ const theme = useAppTheme();
1354
+ const styles2 = useStyles15();
1355
+ const hasError = rjsf.hasRjsfErrors(rawErrors);
1356
+ const displayLabel = rjsf.getRjsfDisplayLabel({ label, required, hideLabel });
1357
+ const numberOfLines = options?.numberOfLines ?? 4;
1358
+ const handleChangeText = (text) => {
1359
+ onChange(rjsf.getRjsfTextChangeValue({ text, emptyValue: options?.emptyValue }));
1360
+ };
1361
+ return /* @__PURE__ */ jsxRuntime.jsx(
1362
+ reactNativePaper.TextInput,
1363
+ {
1364
+ mode: "outlined",
1365
+ label: displayLabel,
1366
+ value: rjsf.toStringOrEmpty(value),
1367
+ placeholder,
1368
+ disabled,
1369
+ editable: !readonly,
1370
+ multiline: true,
1371
+ numberOfLines,
1372
+ onChangeText: handleChangeText,
1373
+ onBlur: () => onBlur(id, value),
1374
+ onFocus: () => onFocus(id, value),
1375
+ error: hasError,
1376
+ style: [styles2.input, styles2.textarea],
1377
+ outlineColor: theme.colors.outline
1378
+ }
1379
+ );
1380
+ };
1381
+ var useStyles15 = () => {
1382
+ const theme = useAppTheme();
1383
+ return reactNative.StyleSheet.create({
1384
+ input: {
1385
+ marginVertical: theme.spacing(0.5)
1386
+ },
1387
+ textarea: {
1388
+ minHeight: 100
1389
+ }
1390
+ });
1391
+ };
1392
+
1393
+ // src/components/rjsf/rjsf-paper-theme.ts
1394
+ var RJSF_PAPER_THEME = {
1395
+ widgets: {
1396
+ TextWidget,
1397
+ TextareaWidget,
1398
+ HiddenWidget,
1399
+ password: PasswordWidget,
1400
+ PasswordWidget,
1401
+ date: DateWidget,
1402
+ DateWidget,
1403
+ datetime: DateTimeWidget,
1404
+ DateTimeWidget,
1405
+ select: SelectWidget,
1406
+ SelectWidget,
1407
+ radio: RadioWidget,
1408
+ RadioWidget,
1409
+ range: RangeWidget,
1410
+ RangeWidget,
1411
+ number: NumberWidget,
1412
+ updown: NumberWidget,
1413
+ NumberWidget,
1414
+ UpDownWidget: NumberWidget,
1415
+ checkbox: CheckboxWidget,
1416
+ CheckboxWidget,
1417
+ checkboxes: CheckboxesWidget,
1418
+ CheckboxesWidget
1419
+ },
1420
+ // Form passes onSubmit, children, className, etc. Our wrapper accepts View props + onSubmit.
1421
+ _internalFormWrapper: RjsfPaperFormWrapper
1422
+ };
1423
+ var ThemedForm = core.withTheme(RJSF_PAPER_THEME);
1424
+ var RjsfPaperRenderer = ({
1425
+ formData: formDataProp,
1426
+ onChange: onChangeProp,
1427
+ uiSchema = {},
1428
+ ...rest
1429
+ }) => {
1430
+ const { t, i18n } = reactI18next.useTranslation();
1431
+ const customValidator = rjsf.useRjsfValidator();
1432
+ const [localFormData, setLocalFormData] = react.useState(formDataProp);
1433
+ react.useEffect(() => {
1434
+ setLocalFormData(formDataProp);
1435
+ }, [formDataProp]);
1436
+ const handleChange = (data, id) => {
1437
+ setLocalFormData(data.formData);
1438
+ onChangeProp?.(data, id);
1439
+ };
1440
+ return /* @__PURE__ */ react.createElement(
1441
+ ThemedForm,
1442
+ {
1443
+ ...rest,
1444
+ key: i18n.language,
1445
+ formData: localFormData,
1446
+ onChange: handleChange,
1447
+ templates: PAPER_TEMPLATES,
1448
+ validator: customValidator,
1449
+ translateString: (stringToTranslate, params) => rjsf.translateRjsfString({ stringToTranslate, params }),
1450
+ uiSchema: {
1451
+ ...uiSchema,
1452
+ "ui:submitButtonOptions": { submitText: t("rjsf:submit") }
1453
+ }
1454
+ }
1455
+ );
1456
+ };
1457
+
1458
+ exports.AddButton = AddButton;
1459
+ exports.CheckboxWidget = CheckboxWidget;
1460
+ exports.CheckboxesWidget = CheckboxesWidget;
1461
+ exports.ClearButton = ClearButton;
1462
+ exports.CopyButton = CopyButton;
1463
+ exports.DateTimeWidget = DateTimeWidget;
1464
+ exports.DateWidget = DateWidget;
1465
+ exports.FormSubmitContext = FormSubmitContext;
1466
+ exports.HiddenWidget = HiddenWidget;
1467
+ exports.MoveDownButton = MoveDownButton;
1468
+ exports.MoveUpButton = MoveUpButton;
1469
+ exports.NumberWidget = NumberWidget;
1470
+ exports.PAPER_TEMPLATES = PAPER_TEMPLATES;
1471
+ exports.PasswordWidget = PasswordWidget;
1472
+ exports.RJSF_PAPER_THEME = RJSF_PAPER_THEME;
1473
+ exports.RadioWidget = RadioWidget;
1474
+ exports.RangeWidget = RangeWidget;
1475
+ exports.RemoveButton = RemoveButton;
1476
+ exports.RjsfDisplayLabel = RjsfDisplayLabel;
1477
+ exports.RjsfPaperFormWrapper = RjsfPaperFormWrapper;
1478
+ exports.RjsfPaperRenderer = RjsfPaperRenderer;
1479
+ exports.SelectWidget = SelectWidget;
1480
+ exports.SubmitButton = SubmitButton;
1481
+ exports.TextWidget = TextWidget;
1482
+ exports.TextareaWidget = TextareaWidget;
1483
+ //# sourceMappingURL=rjsf.js.map
1484
+ //# sourceMappingURL=rjsf.js.map