orn-ui 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/AGENTS.md +67 -52
  2. package/README.md +5 -9
  3. package/lib/commonjs/atoms/Avatar.js +77 -5
  4. package/lib/commonjs/atoms/Avatar.js.map +1 -1
  5. package/lib/commonjs/atoms/Badge.js +17 -8
  6. package/lib/commonjs/atoms/Badge.js.map +1 -1
  7. package/lib/commonjs/atoms/Button.js +108 -39
  8. package/lib/commonjs/atoms/Button.js.map +1 -1
  9. package/lib/commonjs/atoms/Card.js +24 -2
  10. package/lib/commonjs/atoms/Card.js.map +1 -1
  11. package/lib/commonjs/atoms/Checkbox.js +41 -10
  12. package/lib/commonjs/atoms/Checkbox.js.map +1 -1
  13. package/lib/commonjs/atoms/Divider.js +30 -5
  14. package/lib/commonjs/atoms/Divider.js.map +1 -1
  15. package/lib/commonjs/atoms/EmptyState.js +58 -20
  16. package/lib/commonjs/atoms/EmptyState.js.map +1 -1
  17. package/lib/commonjs/atoms/Fab.js +32 -12
  18. package/lib/commonjs/atoms/Fab.js.map +1 -1
  19. package/lib/commonjs/atoms/Gradient.js +102 -36
  20. package/lib/commonjs/atoms/Gradient.js.map +1 -1
  21. package/lib/commonjs/atoms/IconButton.js +25 -4
  22. package/lib/commonjs/atoms/IconButton.js.map +1 -1
  23. package/lib/commonjs/atoms/Image.js +61 -25
  24. package/lib/commonjs/atoms/Image.js.map +1 -1
  25. package/lib/commonjs/atoms/Input.js +105 -17
  26. package/lib/commonjs/atoms/Input.js.map +1 -1
  27. package/lib/commonjs/atoms/KeyValueRow.js +37 -9
  28. package/lib/commonjs/atoms/KeyValueRow.js.map +1 -1
  29. package/lib/commonjs/atoms/PressableScale.js +25 -5
  30. package/lib/commonjs/atoms/PressableScale.js.map +1 -1
  31. package/lib/commonjs/atoms/ShinyText.js +29 -29
  32. package/lib/commonjs/atoms/Skeleton.js +28 -13
  33. package/lib/commonjs/atoms/Skeleton.js.map +1 -1
  34. package/lib/commonjs/atoms/Spinner.js +81 -22
  35. package/lib/commonjs/atoms/Spinner.js.map +1 -1
  36. package/lib/commonjs/atoms/Text.js +56 -5
  37. package/lib/commonjs/atoms/Text.js.map +1 -1
  38. package/lib/commonjs/atoms/Transition.js +46 -43
  39. package/lib/commonjs/atoms/Transition.js.map +1 -1
  40. package/lib/commonjs/atoms/index.js +6 -0
  41. package/lib/commonjs/atoms/index.js.map +1 -1
  42. package/lib/commonjs/atoms/inputValidation.js +56 -0
  43. package/lib/commonjs/atoms/inputValidation.js.map +1 -0
  44. package/lib/commonjs/icons/Icon.js +4 -4
  45. package/lib/commonjs/icons/defaultIcons.js +576 -24
  46. package/lib/commonjs/icons/defaultIcons.js.map +1 -1
  47. package/lib/commonjs/icons/index.js +6 -0
  48. package/lib/commonjs/icons/index.js.map +1 -1
  49. package/lib/commonjs/molecules/AvatarHeader.js +47 -14
  50. package/lib/commonjs/molecules/AvatarHeader.js.map +1 -1
  51. package/lib/commonjs/molecules/FormActions.js +25 -9
  52. package/lib/commonjs/molecules/FormActions.js.map +1 -1
  53. package/lib/commonjs/molecules/InfoRow.js +30 -14
  54. package/lib/commonjs/molecules/InfoRow.js.map +1 -1
  55. package/lib/commonjs/molecules/OptionCard.js +37 -22
  56. package/lib/commonjs/molecules/OptionCard.js.map +1 -1
  57. package/lib/commonjs/molecules/SegmentedControl.js +103 -14
  58. package/lib/commonjs/molecules/SegmentedControl.js.map +1 -1
  59. package/lib/commonjs/molecules/Stepper.js +61 -16
  60. package/lib/commonjs/molecules/Stepper.js.map +1 -1
  61. package/lib/commonjs/molecules/Steps.js +105 -41
  62. package/lib/commonjs/molecules/Steps.js.map +1 -1
  63. package/lib/commonjs/molecules/SymmetricGrid.js +26 -18
  64. package/lib/commonjs/molecules/SymmetricGrid.js.map +1 -1
  65. package/lib/commonjs/organisms/Alert.js +49 -35
  66. package/lib/commonjs/organisms/Alert.js.map +1 -1
  67. package/lib/commonjs/organisms/AlertProvider.js +10 -10
  68. package/lib/commonjs/organisms/BottomSheet.js +137 -85
  69. package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
  70. package/lib/commonjs/organisms/Chart.js +197 -156
  71. package/lib/commonjs/organisms/Chart.js.map +1 -1
  72. package/lib/commonjs/organisms/DateField.js +36 -20
  73. package/lib/commonjs/organisms/DateField.js.map +1 -1
  74. package/lib/commonjs/organisms/DatePicker.js +56 -33
  75. package/lib/commonjs/organisms/DatePicker.js.map +1 -1
  76. package/lib/commonjs/organisms/List.js +62 -34
  77. package/lib/commonjs/organisms/List.js.map +1 -1
  78. package/lib/commonjs/organisms/Modal.js +120 -82
  79. package/lib/commonjs/organisms/Modal.js.map +1 -1
  80. package/lib/commonjs/organisms/NavigationBar.js +63 -24
  81. package/lib/commonjs/organisms/NavigationBar.js.map +1 -1
  82. package/lib/commonjs/organisms/OptionWheel.js +64 -64
  83. package/lib/commonjs/organisms/OptionWheel.js.map +1 -1
  84. package/lib/commonjs/organisms/ReorderableList.js +48 -27
  85. package/lib/commonjs/organisms/ReorderableList.js.map +1 -1
  86. package/lib/commonjs/organisms/Screen.js +68 -35
  87. package/lib/commonjs/organisms/Screen.js.map +1 -1
  88. package/lib/commonjs/organisms/SearchList.js +56 -26
  89. package/lib/commonjs/organisms/SearchList.js.map +1 -1
  90. package/lib/commonjs/organisms/Select.js +45 -24
  91. package/lib/commonjs/organisms/Select.js.map +1 -1
  92. package/lib/commonjs/organisms/Slides.js +36 -23
  93. package/lib/commonjs/organisms/Slides.js.map +1 -1
  94. package/lib/commonjs/organisms/ThemeToggle.js +10 -9
  95. package/lib/commonjs/organisms/ThemeToggle.js.map +1 -1
  96. package/lib/commonjs/organisms/Timeline.js +73 -56
  97. package/lib/commonjs/organisms/Timeline.js.map +1 -1
  98. package/lib/commonjs/organisms/Toast.js +46 -15
  99. package/lib/commonjs/organisms/Toast.js.map +1 -1
  100. package/lib/commonjs/organisms/ToastProvider.js +14 -10
  101. package/lib/commonjs/organisms/ToastProvider.js.map +1 -1
  102. package/lib/commonjs/organisms/Wizard.js +40 -15
  103. package/lib/commonjs/organisms/Wizard.js.map +1 -1
  104. package/lib/commonjs/organisms/chart/frame.js +25 -25
  105. package/lib/commonjs/organisms/chart/frame.js.map +1 -1
  106. package/lib/commonjs/organisms/chart/marks.js +42 -42
  107. package/lib/commonjs/organisms/chart/math.js +84 -85
  108. package/lib/commonjs/organisms/chart/math.js.map +1 -1
  109. package/lib/commonjs/organisms/chart/palette.js +28 -28
  110. package/lib/commonjs/organisms/imperativeBridge.js +5 -5
  111. package/lib/commonjs/organisms/imperativeBridge.js.map +1 -1
  112. package/lib/commonjs/organisms/useSlides.js +53 -21
  113. package/lib/commonjs/organisms/useSlides.js.map +1 -1
  114. package/lib/commonjs/safe-area/SafeAreaUIProvider.js +9 -66
  115. package/lib/commonjs/safe-area/SafeAreaUIProvider.js.map +1 -1
  116. package/lib/commonjs/safe-area/index.js.map +1 -1
  117. package/lib/commonjs/theme/KeyboardAvoidance.js +206 -0
  118. package/lib/commonjs/theme/KeyboardAvoidance.js.map +1 -0
  119. package/lib/commonjs/theme/NativeOverlay.js +263 -0
  120. package/lib/commonjs/theme/NativeOverlay.js.map +1 -0
  121. package/lib/commonjs/theme/UIProvider.js +86 -33
  122. package/lib/commonjs/theme/UIProvider.js.map +1 -1
  123. package/lib/commonjs/theme/colors.js +17 -17
  124. package/lib/commonjs/theme/colors.js.map +1 -1
  125. package/lib/commonjs/theme/createStyles.js +19 -16
  126. package/lib/commonjs/theme/createStyles.js.map +1 -1
  127. package/lib/commonjs/theme/createTheme.js +6 -6
  128. package/lib/commonjs/theme/index.js +6 -0
  129. package/lib/commonjs/theme/index.js.map +1 -1
  130. package/lib/commonjs/theme/insets.js +1 -1
  131. package/lib/commonjs/theme/labels.js +29 -1
  132. package/lib/commonjs/theme/labels.js.map +1 -1
  133. package/lib/commonjs/theme/palettes.js +25 -23
  134. package/lib/commonjs/theme/palettes.js.map +1 -1
  135. package/lib/commonjs/theme/tokens.js +28 -14
  136. package/lib/commonjs/theme/tokens.js.map +1 -1
  137. package/lib/commonjs/theme/useKeyboardField.js +36 -0
  138. package/lib/commonjs/theme/useKeyboardField.js.map +1 -0
  139. package/lib/commonjs/theme/useReduceMotion.js +31 -0
  140. package/lib/commonjs/theme/useReduceMotion.js.map +1 -0
  141. package/lib/module/atoms/Avatar.js +79 -8
  142. package/lib/module/atoms/Avatar.js.map +1 -1
  143. package/lib/module/atoms/Badge.js +17 -8
  144. package/lib/module/atoms/Badge.js.map +1 -1
  145. package/lib/module/atoms/Button.js +110 -41
  146. package/lib/module/atoms/Button.js.map +1 -1
  147. package/lib/module/atoms/Card.js +24 -2
  148. package/lib/module/atoms/Card.js.map +1 -1
  149. package/lib/module/atoms/Checkbox.js +42 -11
  150. package/lib/module/atoms/Checkbox.js.map +1 -1
  151. package/lib/module/atoms/Divider.js +31 -6
  152. package/lib/module/atoms/Divider.js.map +1 -1
  153. package/lib/module/atoms/EmptyState.js +58 -20
  154. package/lib/module/atoms/EmptyState.js.map +1 -1
  155. package/lib/module/atoms/Fab.js +33 -13
  156. package/lib/module/atoms/Fab.js.map +1 -1
  157. package/lib/module/atoms/Gradient.js +103 -37
  158. package/lib/module/atoms/Gradient.js.map +1 -1
  159. package/lib/module/atoms/IconButton.js +25 -4
  160. package/lib/module/atoms/IconButton.js.map +1 -1
  161. package/lib/module/atoms/Image.js +61 -25
  162. package/lib/module/atoms/Image.js.map +1 -1
  163. package/lib/module/atoms/Input.js +108 -20
  164. package/lib/module/atoms/Input.js.map +1 -1
  165. package/lib/module/atoms/KeyValueRow.js +37 -9
  166. package/lib/module/atoms/KeyValueRow.js.map +1 -1
  167. package/lib/module/atoms/PressableScale.js +25 -5
  168. package/lib/module/atoms/PressableScale.js.map +1 -1
  169. package/lib/module/atoms/ShinyText.js +29 -29
  170. package/lib/module/atoms/Skeleton.js +30 -13
  171. package/lib/module/atoms/Skeleton.js.map +1 -1
  172. package/lib/module/atoms/Spinner.js +82 -23
  173. package/lib/module/atoms/Spinner.js.map +1 -1
  174. package/lib/module/atoms/Text.js +56 -5
  175. package/lib/module/atoms/Text.js.map +1 -1
  176. package/lib/module/atoms/Transition.js +41 -42
  177. package/lib/module/atoms/Transition.js.map +1 -1
  178. package/lib/module/atoms/index.js +1 -1
  179. package/lib/module/atoms/index.js.map +1 -1
  180. package/lib/module/atoms/inputValidation.js +52 -0
  181. package/lib/module/atoms/inputValidation.js.map +1 -0
  182. package/lib/module/icons/Icon.js +4 -4
  183. package/lib/module/icons/defaultIcons.js +574 -24
  184. package/lib/module/icons/defaultIcons.js.map +1 -1
  185. package/lib/module/icons/index.js +1 -1
  186. package/lib/module/icons/index.js.map +1 -1
  187. package/lib/module/molecules/AvatarHeader.js +47 -14
  188. package/lib/module/molecules/AvatarHeader.js.map +1 -1
  189. package/lib/module/molecules/FormActions.js +25 -9
  190. package/lib/module/molecules/FormActions.js.map +1 -1
  191. package/lib/module/molecules/InfoRow.js +30 -14
  192. package/lib/module/molecules/InfoRow.js.map +1 -1
  193. package/lib/module/molecules/OptionCard.js +37 -22
  194. package/lib/module/molecules/OptionCard.js.map +1 -1
  195. package/lib/module/molecules/SegmentedControl.js +107 -18
  196. package/lib/module/molecules/SegmentedControl.js.map +1 -1
  197. package/lib/module/molecules/Stepper.js +63 -18
  198. package/lib/module/molecules/Stepper.js.map +1 -1
  199. package/lib/module/molecules/Steps.js +107 -43
  200. package/lib/module/molecules/Steps.js.map +1 -1
  201. package/lib/module/molecules/SymmetricGrid.js +26 -18
  202. package/lib/module/molecules/SymmetricGrid.js.map +1 -1
  203. package/lib/module/organisms/Alert.js +51 -37
  204. package/lib/module/organisms/Alert.js.map +1 -1
  205. package/lib/module/organisms/AlertProvider.js +10 -10
  206. package/lib/module/organisms/BottomSheet.js +142 -88
  207. package/lib/module/organisms/BottomSheet.js.map +1 -1
  208. package/lib/module/organisms/Chart.js +199 -158
  209. package/lib/module/organisms/Chart.js.map +1 -1
  210. package/lib/module/organisms/DateField.js +36 -20
  211. package/lib/module/organisms/DateField.js.map +1 -1
  212. package/lib/module/organisms/DatePicker.js +56 -33
  213. package/lib/module/organisms/DatePicker.js.map +1 -1
  214. package/lib/module/organisms/List.js +62 -34
  215. package/lib/module/organisms/List.js.map +1 -1
  216. package/lib/module/organisms/Modal.js +122 -84
  217. package/lib/module/organisms/Modal.js.map +1 -1
  218. package/lib/module/organisms/NavigationBar.js +64 -25
  219. package/lib/module/organisms/NavigationBar.js.map +1 -1
  220. package/lib/module/organisms/OptionWheel.js +64 -64
  221. package/lib/module/organisms/OptionWheel.js.map +1 -1
  222. package/lib/module/organisms/ReorderableList.js +48 -27
  223. package/lib/module/organisms/ReorderableList.js.map +1 -1
  224. package/lib/module/organisms/Screen.js +70 -37
  225. package/lib/module/organisms/Screen.js.map +1 -1
  226. package/lib/module/organisms/SearchList.js +56 -26
  227. package/lib/module/organisms/SearchList.js.map +1 -1
  228. package/lib/module/organisms/Select.js +46 -25
  229. package/lib/module/organisms/Select.js.map +1 -1
  230. package/lib/module/organisms/Slides.js +37 -24
  231. package/lib/module/organisms/Slides.js.map +1 -1
  232. package/lib/module/organisms/ThemeToggle.js +11 -10
  233. package/lib/module/organisms/ThemeToggle.js.map +1 -1
  234. package/lib/module/organisms/Timeline.js +73 -56
  235. package/lib/module/organisms/Timeline.js.map +1 -1
  236. package/lib/module/organisms/Toast.js +47 -16
  237. package/lib/module/organisms/Toast.js.map +1 -1
  238. package/lib/module/organisms/ToastProvider.js +15 -11
  239. package/lib/module/organisms/ToastProvider.js.map +1 -1
  240. package/lib/module/organisms/Wizard.js +41 -16
  241. package/lib/module/organisms/Wizard.js.map +1 -1
  242. package/lib/module/organisms/chart/frame.js +25 -25
  243. package/lib/module/organisms/chart/frame.js.map +1 -1
  244. package/lib/module/organisms/chart/marks.js +42 -42
  245. package/lib/module/organisms/chart/math.js +84 -85
  246. package/lib/module/organisms/chart/math.js.map +1 -1
  247. package/lib/module/organisms/chart/palette.js +28 -28
  248. package/lib/module/organisms/imperativeBridge.js +5 -5
  249. package/lib/module/organisms/imperativeBridge.js.map +1 -1
  250. package/lib/module/organisms/useSlides.js +53 -21
  251. package/lib/module/organisms/useSlides.js.map +1 -1
  252. package/lib/module/safe-area/SafeAreaUIProvider.js +10 -65
  253. package/lib/module/safe-area/SafeAreaUIProvider.js.map +1 -1
  254. package/lib/module/safe-area/index.js +1 -0
  255. package/lib/module/safe-area/index.js.map +1 -1
  256. package/lib/module/theme/KeyboardAvoidance.js +198 -0
  257. package/lib/module/theme/KeyboardAvoidance.js.map +1 -0
  258. package/lib/module/theme/NativeOverlay.js +257 -0
  259. package/lib/module/theme/NativeOverlay.js.map +1 -0
  260. package/lib/module/theme/UIProvider.js +88 -35
  261. package/lib/module/theme/UIProvider.js.map +1 -1
  262. package/lib/module/theme/colors.js +17 -17
  263. package/lib/module/theme/colors.js.map +1 -1
  264. package/lib/module/theme/createStyles.js +20 -16
  265. package/lib/module/theme/createStyles.js.map +1 -1
  266. package/lib/module/theme/createTheme.js +6 -6
  267. package/lib/module/theme/index.js +1 -1
  268. package/lib/module/theme/index.js.map +1 -1
  269. package/lib/module/theme/insets.js +1 -1
  270. package/lib/module/theme/labels.js +29 -1
  271. package/lib/module/theme/labels.js.map +1 -1
  272. package/lib/module/theme/palettes.js +25 -23
  273. package/lib/module/theme/palettes.js.map +1 -1
  274. package/lib/module/theme/tokens.js +27 -13
  275. package/lib/module/theme/tokens.js.map +1 -1
  276. package/lib/module/theme/useKeyboardField.js +33 -0
  277. package/lib/module/theme/useKeyboardField.js.map +1 -0
  278. package/lib/module/theme/useReduceMotion.js +28 -0
  279. package/lib/module/theme/useReduceMotion.js.map +1 -0
  280. package/lib/typescript/atoms/Avatar.d.ts +35 -5
  281. package/lib/typescript/atoms/Avatar.d.ts.map +1 -1
  282. package/lib/typescript/atoms/Badge.d.ts +14 -3
  283. package/lib/typescript/atoms/Badge.d.ts.map +1 -1
  284. package/lib/typescript/atoms/Button.d.ts +34 -3
  285. package/lib/typescript/atoms/Button.d.ts.map +1 -1
  286. package/lib/typescript/atoms/Card.d.ts +13 -2
  287. package/lib/typescript/atoms/Card.d.ts.map +1 -1
  288. package/lib/typescript/atoms/Checkbox.d.ts +26 -1
  289. package/lib/typescript/atoms/Checkbox.d.ts.map +1 -1
  290. package/lib/typescript/atoms/Divider.d.ts +18 -1
  291. package/lib/typescript/atoms/Divider.d.ts.map +1 -1
  292. package/lib/typescript/atoms/EmptyState.d.ts +30 -3
  293. package/lib/typescript/atoms/EmptyState.d.ts.map +1 -1
  294. package/lib/typescript/atoms/Fab.d.ts +24 -4
  295. package/lib/typescript/atoms/Fab.d.ts.map +1 -1
  296. package/lib/typescript/atoms/Gradient.d.ts +21 -15
  297. package/lib/typescript/atoms/Gradient.d.ts.map +1 -1
  298. package/lib/typescript/atoms/IconButton.d.ts +18 -4
  299. package/lib/typescript/atoms/IconButton.d.ts.map +1 -1
  300. package/lib/typescript/atoms/Image.d.ts +39 -17
  301. package/lib/typescript/atoms/Image.d.ts.map +1 -1
  302. package/lib/typescript/atoms/Input.d.ts +57 -7
  303. package/lib/typescript/atoms/Input.d.ts.map +1 -1
  304. package/lib/typescript/atoms/KeyValueRow.d.ts +16 -4
  305. package/lib/typescript/atoms/KeyValueRow.d.ts.map +1 -1
  306. package/lib/typescript/atoms/PressableScale.d.ts +12 -5
  307. package/lib/typescript/atoms/PressableScale.d.ts.map +1 -1
  308. package/lib/typescript/atoms/ShinyText.d.ts +17 -17
  309. package/lib/typescript/atoms/ShinyText.d.ts.map +1 -1
  310. package/lib/typescript/atoms/Skeleton.d.ts +12 -7
  311. package/lib/typescript/atoms/Skeleton.d.ts.map +1 -1
  312. package/lib/typescript/atoms/Spinner.d.ts +29 -1
  313. package/lib/typescript/atoms/Spinner.d.ts.map +1 -1
  314. package/lib/typescript/atoms/Text.d.ts +46 -0
  315. package/lib/typescript/atoms/Text.d.ts.map +1 -1
  316. package/lib/typescript/atoms/Transition.d.ts +19 -15
  317. package/lib/typescript/atoms/Transition.d.ts.map +1 -1
  318. package/lib/typescript/atoms/index.d.ts +3 -3
  319. package/lib/typescript/atoms/index.d.ts.map +1 -1
  320. package/lib/typescript/atoms/inputValidation.d.ts +29 -0
  321. package/lib/typescript/atoms/inputValidation.d.ts.map +1 -0
  322. package/lib/typescript/icons/Icon.d.ts +4 -4
  323. package/lib/typescript/icons/defaultIcons.d.ts +19 -2
  324. package/lib/typescript/icons/defaultIcons.d.ts.map +1 -1
  325. package/lib/typescript/icons/index.d.ts +2 -2
  326. package/lib/typescript/icons/index.d.ts.map +1 -1
  327. package/lib/typescript/icons/types.d.ts +13 -3
  328. package/lib/typescript/icons/types.d.ts.map +1 -1
  329. package/lib/typescript/molecules/AvatarHeader.d.ts +23 -4
  330. package/lib/typescript/molecules/AvatarHeader.d.ts.map +1 -1
  331. package/lib/typescript/molecules/FormActions.d.ts +21 -4
  332. package/lib/typescript/molecules/FormActions.d.ts.map +1 -1
  333. package/lib/typescript/molecules/InfoRow.d.ts +17 -3
  334. package/lib/typescript/molecules/InfoRow.d.ts.map +1 -1
  335. package/lib/typescript/molecules/OptionCard.d.ts +20 -5
  336. package/lib/typescript/molecules/OptionCard.d.ts.map +1 -1
  337. package/lib/typescript/molecules/SegmentedControl.d.ts +18 -2
  338. package/lib/typescript/molecules/SegmentedControl.d.ts.map +1 -1
  339. package/lib/typescript/molecules/Stepper.d.ts +23 -7
  340. package/lib/typescript/molecules/Stepper.d.ts.map +1 -1
  341. package/lib/typescript/molecules/Steps.d.ts +18 -4
  342. package/lib/typescript/molecules/Steps.d.ts.map +1 -1
  343. package/lib/typescript/molecules/SymmetricGrid.d.ts +15 -5
  344. package/lib/typescript/molecules/SymmetricGrid.d.ts.map +1 -1
  345. package/lib/typescript/organisms/Alert.d.ts +28 -2
  346. package/lib/typescript/organisms/Alert.d.ts.map +1 -1
  347. package/lib/typescript/organisms/AlertProvider.d.ts +10 -10
  348. package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
  349. package/lib/typescript/organisms/BottomSheet.d.ts +20 -5
  350. package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
  351. package/lib/typescript/organisms/Chart.d.ts +86 -75
  352. package/lib/typescript/organisms/Chart.d.ts.map +1 -1
  353. package/lib/typescript/organisms/DateField.d.ts +17 -3
  354. package/lib/typescript/organisms/DateField.d.ts.map +1 -1
  355. package/lib/typescript/organisms/DatePicker.d.ts +7 -11
  356. package/lib/typescript/organisms/DatePicker.d.ts.map +1 -1
  357. package/lib/typescript/organisms/List.d.ts +30 -3
  358. package/lib/typescript/organisms/List.d.ts.map +1 -1
  359. package/lib/typescript/organisms/Modal.d.ts +30 -3
  360. package/lib/typescript/organisms/Modal.d.ts.map +1 -1
  361. package/lib/typescript/organisms/NavigationBar.d.ts +26 -7
  362. package/lib/typescript/organisms/NavigationBar.d.ts.map +1 -1
  363. package/lib/typescript/organisms/OptionWheel.d.ts +20 -16
  364. package/lib/typescript/organisms/OptionWheel.d.ts.map +1 -1
  365. package/lib/typescript/organisms/ReorderableList.d.ts +20 -11
  366. package/lib/typescript/organisms/ReorderableList.d.ts.map +1 -1
  367. package/lib/typescript/organisms/Screen.d.ts +27 -8
  368. package/lib/typescript/organisms/Screen.d.ts.map +1 -1
  369. package/lib/typescript/organisms/SearchList.d.ts +46 -3
  370. package/lib/typescript/organisms/SearchList.d.ts.map +1 -1
  371. package/lib/typescript/organisms/Select.d.ts +26 -6
  372. package/lib/typescript/organisms/Select.d.ts.map +1 -1
  373. package/lib/typescript/organisms/Slides.d.ts +44 -26
  374. package/lib/typescript/organisms/Slides.d.ts.map +1 -1
  375. package/lib/typescript/organisms/ThemeToggle.d.ts +6 -2
  376. package/lib/typescript/organisms/ThemeToggle.d.ts.map +1 -1
  377. package/lib/typescript/organisms/Timeline.d.ts +26 -9
  378. package/lib/typescript/organisms/Timeline.d.ts.map +1 -1
  379. package/lib/typescript/organisms/Toast.d.ts +19 -4
  380. package/lib/typescript/organisms/Toast.d.ts.map +1 -1
  381. package/lib/typescript/organisms/ToastProvider.d.ts +8 -8
  382. package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -1
  383. package/lib/typescript/organisms/Wizard.d.ts +24 -6
  384. package/lib/typescript/organisms/Wizard.d.ts.map +1 -1
  385. package/lib/typescript/organisms/chart/frame.d.ts +21 -21
  386. package/lib/typescript/organisms/chart/frame.d.ts.map +1 -1
  387. package/lib/typescript/organisms/chart/marks.d.ts +28 -28
  388. package/lib/typescript/organisms/chart/marks.d.ts.map +1 -1
  389. package/lib/typescript/organisms/chart/math.d.ts +69 -70
  390. package/lib/typescript/organisms/chart/math.d.ts.map +1 -1
  391. package/lib/typescript/organisms/chart/palette.d.ts +2 -2
  392. package/lib/typescript/organisms/chart/palette.d.ts.map +1 -1
  393. package/lib/typescript/organisms/imperativeBridge.d.ts +4 -4
  394. package/lib/typescript/organisms/useSlides.d.ts +8 -16
  395. package/lib/typescript/organisms/useSlides.d.ts.map +1 -1
  396. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts +9 -7
  397. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts.map +1 -1
  398. package/lib/typescript/safe-area/index.d.ts.map +1 -1
  399. package/lib/typescript/theme/KeyboardAvoidance.d.ts +62 -0
  400. package/lib/typescript/theme/KeyboardAvoidance.d.ts.map +1 -0
  401. package/lib/typescript/theme/NativeOverlay.d.ts +43 -0
  402. package/lib/typescript/theme/NativeOverlay.d.ts.map +1 -0
  403. package/lib/typescript/theme/UIProvider.d.ts +38 -20
  404. package/lib/typescript/theme/UIProvider.d.ts.map +1 -1
  405. package/lib/typescript/theme/colors.d.ts +13 -13
  406. package/lib/typescript/theme/colors.d.ts.map +1 -1
  407. package/lib/typescript/theme/createStyles.d.ts +20 -14
  408. package/lib/typescript/theme/createStyles.d.ts.map +1 -1
  409. package/lib/typescript/theme/createTheme.d.ts +5 -5
  410. package/lib/typescript/theme/index.d.ts +1 -1
  411. package/lib/typescript/theme/index.d.ts.map +1 -1
  412. package/lib/typescript/theme/insets.d.ts +1 -1
  413. package/lib/typescript/theme/insets.d.ts.map +1 -1
  414. package/lib/typescript/theme/labels.d.ts +57 -2
  415. package/lib/typescript/theme/labels.d.ts.map +1 -1
  416. package/lib/typescript/theme/palettes.d.ts +25 -19
  417. package/lib/typescript/theme/palettes.d.ts.map +1 -1
  418. package/lib/typescript/theme/tokens.d.ts +15 -8
  419. package/lib/typescript/theme/tokens.d.ts.map +1 -1
  420. package/lib/typescript/theme/types.d.ts +7 -7
  421. package/lib/typescript/theme/types.d.ts.map +1 -1
  422. package/lib/typescript/theme/useKeyboardField.d.ts +17 -0
  423. package/lib/typescript/theme/useKeyboardField.d.ts.map +1 -0
  424. package/lib/typescript/theme/useReduceMotion.d.ts +7 -0
  425. package/lib/typescript/theme/useReduceMotion.d.ts.map +1 -0
  426. package/llms.txt +4 -4
  427. package/package.json +15 -14
  428. package/registry/alert-provider.json +4 -3
  429. package/registry/alert.json +3 -2
  430. package/registry/avatar-header.json +1 -1
  431. package/registry/avatar.json +3 -2
  432. package/registry/badge.json +1 -1
  433. package/registry/bottom-sheet.json +1 -1
  434. package/registry/button.json +3 -2
  435. package/registry/card.json +1 -1
  436. package/registry/chart.json +5 -5
  437. package/registry/checkbox.json +3 -2
  438. package/registry/core.json +31 -15
  439. package/registry/date-field.json +1 -1
  440. package/registry/date-picker.json +3 -2
  441. package/registry/divider.json +1 -1
  442. package/registry/empty-state.json +4 -2
  443. package/registry/fab.json +3 -2
  444. package/registry/form-actions.json +3 -2
  445. package/registry/gradient.json +1 -1
  446. package/registry/icon-button.json +3 -2
  447. package/registry/image.json +1 -1
  448. package/registry/index.json +79 -61
  449. package/registry/info-row.json +1 -1
  450. package/registry/input.json +5 -1
  451. package/registry/key-value-row.json +1 -1
  452. package/registry/list.json +3 -1
  453. package/registry/manifest.json +3 -1
  454. package/registry/modal.json +1 -1
  455. package/registry/navigation-bar.json +1 -1
  456. package/registry/option-card.json +3 -2
  457. package/registry/option-wheel.json +1 -1
  458. package/registry/pressable-scale.json +3 -2
  459. package/registry/reorderable-list.json +1 -1
  460. package/registry/screen.json +1 -1
  461. package/registry/search-list.json +7 -1
  462. package/registry/segmented-control.json +1 -1
  463. package/registry/select.json +1 -1
  464. package/registry/shiny-text.json +1 -1
  465. package/registry/skeleton.json +3 -2
  466. package/registry/slides.json +2 -2
  467. package/registry/spinner.json +1 -1
  468. package/registry/stepper.json +1 -1
  469. package/registry/steps.json +1 -1
  470. package/registry/symmetric-grid.json +1 -1
  471. package/registry/theme-toggle.json +1 -1
  472. package/registry/timeline.json +1 -1
  473. package/registry/title.json +1 -1
  474. package/registry/toast-provider.json +2 -2
  475. package/registry/toast.json +1 -1
  476. package/registry/transition.json +1 -1
  477. package/registry/wizard.json +1 -1
  478. package/src/atoms/Avatar.tsx +117 -26
  479. package/src/atoms/Badge.tsx +20 -9
  480. package/src/atoms/Button.tsx +102 -30
  481. package/src/atoms/Card.tsx +23 -3
  482. package/src/atoms/Checkbox.tsx +49 -12
  483. package/src/atoms/Divider.tsx +34 -4
  484. package/src/atoms/EmptyState.tsx +63 -16
  485. package/src/atoms/Fab.tsx +56 -9
  486. package/src/atoms/Gradient.tsx +92 -41
  487. package/src/atoms/IconButton.tsx +27 -4
  488. package/src/atoms/Image.tsx +74 -28
  489. package/src/atoms/Input.tsx +129 -19
  490. package/src/atoms/KeyValueRow.tsx +72 -28
  491. package/src/atoms/PressableScale.tsx +31 -7
  492. package/src/atoms/ShinyText.tsx +31 -31
  493. package/src/atoms/Skeleton.tsx +37 -17
  494. package/src/atoms/Spinner.tsx +87 -24
  495. package/src/atoms/Text.tsx +66 -6
  496. package/src/atoms/Transition.tsx +40 -44
  497. package/src/atoms/index.ts +3 -3
  498. package/src/atoms/inputValidation.ts +59 -0
  499. package/src/icons/Icon.tsx +4 -4
  500. package/src/icons/defaultIcons.tsx +445 -22
  501. package/src/icons/index.ts +2 -2
  502. package/src/icons/types.ts +26 -4
  503. package/src/molecules/AvatarHeader.tsx +88 -34
  504. package/src/molecules/FormActions.tsx +36 -6
  505. package/src/molecules/InfoRow.tsx +39 -12
  506. package/src/molecules/OptionCard.tsx +55 -20
  507. package/src/molecules/SegmentedControl.tsx +135 -15
  508. package/src/molecules/Stepper.tsx +73 -19
  509. package/src/molecules/Steps.tsx +121 -39
  510. package/src/molecules/SymmetricGrid.tsx +28 -12
  511. package/src/organisms/Alert.tsx +97 -26
  512. package/src/organisms/AlertProvider.tsx +13 -13
  513. package/src/organisms/BottomSheet.tsx +115 -43
  514. package/src/organisms/Chart.tsx +223 -165
  515. package/src/organisms/DateField.tsx +40 -15
  516. package/src/organisms/DatePicker.tsx +53 -32
  517. package/src/organisms/List.tsx +64 -15
  518. package/src/organisms/Modal.tsx +122 -63
  519. package/src/organisms/NavigationBar.tsx +73 -23
  520. package/src/organisms/OptionWheel.tsx +70 -66
  521. package/src/organisms/ReorderableList.tsx +49 -27
  522. package/src/organisms/Screen.tsx +79 -42
  523. package/src/organisms/SearchList.tsx +84 -20
  524. package/src/organisms/Select.tsx +63 -29
  525. package/src/organisms/Slides.tsx +63 -44
  526. package/src/organisms/ThemeToggle.tsx +15 -6
  527. package/src/organisms/Timeline.tsx +79 -62
  528. package/src/organisms/Toast.tsx +50 -15
  529. package/src/organisms/ToastProvider.tsx +17 -13
  530. package/src/organisms/Wizard.tsx +58 -21
  531. package/src/organisms/chart/frame.tsx +35 -35
  532. package/src/organisms/chart/marks.tsx +53 -53
  533. package/src/organisms/chart/math.ts +93 -94
  534. package/src/organisms/chart/palette.ts +28 -28
  535. package/src/organisms/imperativeBridge.ts +5 -5
  536. package/src/organisms/useSlides.ts +66 -31
  537. package/src/safe-area/SafeAreaUIProvider.tsx +9 -70
  538. package/src/safe-area/index.ts +1 -0
  539. package/src/theme/KeyboardAvoidance.tsx +216 -0
  540. package/src/theme/NativeOverlay.tsx +269 -0
  541. package/src/theme/UIProvider.tsx +109 -46
  542. package/src/theme/colors.ts +21 -21
  543. package/src/theme/createStyles.ts +23 -19
  544. package/src/theme/createTheme.ts +6 -6
  545. package/src/theme/index.ts +1 -1
  546. package/src/theme/insets.ts +1 -1
  547. package/src/theme/labels.ts +85 -2
  548. package/src/theme/palettes.ts +33 -25
  549. package/src/theme/tokens.ts +27 -13
  550. package/src/theme/types.ts +7 -7
  551. package/src/theme/useKeyboardField.ts +33 -0
  552. package/src/theme/useReduceMotion.ts +27 -0
@@ -7,12 +7,24 @@ exports.prefetchImage = exports.Image = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _createStyles = require("../theme/createStyles");
10
+ var _UIProvider = require("../theme/UIProvider");
11
+ var _Icon = require("../icons/Icon");
10
12
  var _Spinner = require("./Spinner");
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ /**
16
+ * The event RN's Image passes to `onError`. Taken from its own prop type:
17
+ * react-native 0.88 (Expo SDK 58) renamed the exported name
18
+ * (`ImageErrorEventData` -> `ImageErrorEvent`).
19
+ */
20
+
13
21
  const useStyles = (0, _createStyles.createStyles)(theme => ({
14
22
  container: {
15
- overflow: 'hidden',
23
+ overflow: 'hidden'
24
+ },
25
+ // Only while loading or on failure: once the image has loaded, a PNG with
26
+ // transparency (a logo) let this gray show through.
27
+ placeholder: {
16
28
  backgroundColor: theme.colors.skeleton
17
29
  },
18
30
  overlay: {
@@ -21,7 +33,9 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
21
33
  },
22
34
  fallback: {
23
35
  flex: 1,
24
- backgroundColor: theme.colors.skeleton
36
+ backgroundColor: theme.colors.skeleton,
37
+ alignItems: 'center',
38
+ justifyContent: 'center'
25
39
  }
26
40
  }));
27
41
  function sourceUri(source) {
@@ -30,14 +44,22 @@ function sourceUri(source) {
30
44
 
31
45
  /**
32
46
  * Image
33
- * Wrapper cero-dependencias sobre <Image> de RN: agrega estado de carga y
34
- * error (con los mismos placeholders que el resto de la librería), y expone
35
- * `priority="high"` para adelantar la descarga vía Image.prefetch(). El
36
- * cache real (disco/memoria) lo maneja el motor de imágenes nativo de RN —
37
- * esto no lo reimplementa, solo no lo deja apagado por accidente: en iOS
38
- * fuerza `cache="force-cache"` (usa el disco aunque el header HTTP no lo
39
- * pida); en Android el cache de disco de la imagen nativa ya está siempre
40
- * activo, no hay knob equivalente que tocar.
47
+ * Zero-dependency wrapper over RN's <Image>: adds loading and error state
48
+ * (with the same placeholders as the rest of the library), and exposes
49
+ * `priority="high"` to start the download early via Image.prefetch(). The
50
+ * actual cache (disk/memory) is handled by RN's native image engine — this
51
+ * doesn't reimplement it, it just keeps it from being accidentally turned off:
52
+ * on iOS it forces `cache="force-cache"` (uses the disk even when the HTTP
53
+ * header doesn't ask for it); on Android the native image's disk cache is
54
+ * always on, there is no equivalent knob to touch.
55
+ *
56
+ * Gestalt, closure: the container takes its final size from the first frame
57
+ * (`skeleton` background), so the layout doesn't jump when the image arrives
58
+ * and the eye completes the shape it will fill. If loading fails, the same
59
+ * slot shows a warning icon: the state is visible, not a silent gray.
60
+ *
61
+ * Success is detected with `onLoad`, not `onLoadEnd`: RN also calls
62
+ * `onLoadEnd` on failure, and using it for "loaded" overwrote the error.
41
63
  */
42
64
  const Image = exports.Image = /*#__PURE__*/(0, _react.memo)(({
43
65
  source,
@@ -51,14 +73,17 @@ const Image = exports.Image = /*#__PURE__*/(0, _react.memo)(({
51
73
  style,
52
74
  onLoadEnd,
53
75
  onError,
54
- testID
76
+ testID,
77
+ accessibilityLabel
55
78
  }) => {
56
79
  const styles = useStyles();
80
+ const colors = (0, _UIProvider.useColors)();
81
+ const theme = (0, _UIProvider.useTheme)();
57
82
  const [status, setStatus] = (0, _react.useState)('loading');
58
83
  const uri = sourceUri(source);
59
84
  (0, _react.useEffect)(() => {
60
- // Resetea el estado si cambia la imagen (misma instancia de Image,
61
- // source distinto: p.ej. avatar de un usuario a otro en la misma fila).
85
+ // Resets the state if the image changes (same Image instance, different
86
+ // source: e.g. one user's avatar to another's in the same row).
62
87
  setStatus('loading');
63
88
  }, [uri ?? source]);
64
89
  (0, _react.useEffect)(() => {
@@ -70,26 +95,29 @@ const Image = exports.Image = /*#__PURE__*/(0, _react.memo)(({
70
95
  setStatus('error');
71
96
  onError?.(e);
72
97
  }, [onError]);
73
- const handleLoadEnd = (0, _react.useCallback)(() => {
98
+ const handleLoad = (0, _react.useCallback)(() => {
74
99
  setStatus('loaded');
75
- onLoadEnd?.();
76
- }, [onLoadEnd]);
100
+ }, []);
77
101
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
78
- style: [styles.container, {
102
+ style: [styles.container, status !== 'loaded' && styles.placeholder, {
79
103
  width,
80
104
  height,
81
105
  borderRadius: radius
82
106
  }, style],
83
107
  testID: testID,
108
+ accessible: !!accessibilityLabel,
109
+ accessibilityRole: accessibilityLabel ? 'image' : undefined,
110
+ accessibilityLabel: accessibilityLabel,
84
111
  children: [status !== 'error' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
85
112
  source: source,
86
113
  resizeMode: resizeMode,
87
114
  style: _reactNative.StyleSheet.absoluteFill,
88
- fadeDuration: _reactNative.Platform.OS === 'android' ? 150 : undefined,
115
+ fadeDuration: _reactNative.Platform.OS === 'android' ? theme.tokens.duration.fast : undefined,
89
116
  ...(_reactNative.Platform.OS === 'ios' ? {
90
117
  cache: 'force-cache'
91
118
  } : null),
92
- onLoadEnd: handleLoadEnd,
119
+ onLoad: handleLoad,
120
+ onLoadEnd: onLoadEnd,
93
121
  onError: handleError
94
122
  }), status === 'loading' && loading !== false && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
95
123
  style: [_reactNative.StyleSheet.absoluteFill, styles.overlay],
@@ -97,17 +125,25 @@ const Image = exports.Image = /*#__PURE__*/(0, _react.memo)(({
97
125
  size: "small",
98
126
  fullscreen: false
99
127
  }) : loading
100
- }), status === 'error' && (fallback ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
101
- style: styles.fallback
102
- }))]
128
+ }), status === 'error' &&
129
+ /*#__PURE__*/
130
+ // Custom fallback or the default: always centered in the slot.
131
+ (0, _jsxRuntime.jsx)(_reactNative.View, {
132
+ style: styles.fallback,
133
+ children: fallback ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
134
+ name: "warning",
135
+ size: Math.max(16, Math.min(32, Math.round(Math.min(width ?? 64, height ?? 64) * 0.3))),
136
+ color: colors.textLight
137
+ })
138
+ })]
103
139
  });
104
140
  });
105
141
  Image.displayName = 'Image';
106
142
 
107
143
  /**
108
- * Precarga una URL antes de montar el componente (p.ej. al recibir la
109
- * respuesta de un listado, antes de navegar al detalle). Re-exporta
110
- * Image.prefetch de RN — no hay nada zero-dep que agregarle encima.
144
+ * Preloads a URL before mounting the component (e.g. on receiving a list
145
+ * response, before navigating to the detail). Re-exports RN's
146
+ * Image.prefetch — there is nothing zero-dep to add on top.
111
147
  */
112
148
  const prefetchImage = exports.prefetchImage = _reactNative.Image.prefetch;
113
149
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_Spinner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","overflow","backgroundColor","colors","skeleton","overlay","alignItems","justifyContent","fallback","flex","sourceUri","source","uri","undefined","Image","exports","memo","width","height","resizeMode","radius","loading","priority","style","onLoadEnd","onError","testID","styles","status","setStatus","useState","useEffect","RNImage","prefetch","catch","handleError","useCallback","handleLoadEnd","jsxs","View","borderRadius","children","jsx","StyleSheet","absoluteFill","fadeDuration","Platform","OS","cache","Spinner","size","fullscreen","displayName","prefetchImage"],"sourceRoot":"../../../src","sources":["atoms/Image.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_Spinner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","overflow","placeholder","backgroundColor","colors","skeleton","overlay","alignItems","justifyContent","fallback","flex","sourceUri","source","uri","undefined","Image","exports","memo","width","height","resizeMode","radius","loading","priority","style","onLoadEnd","onError","testID","accessibilityLabel","styles","useColors","useTheme","status","setStatus","useState","useEffect","RNImage","prefetch","catch","handleError","useCallback","handleLoad","jsxs","View","borderRadius","accessible","accessibilityRole","children","jsx","StyleSheet","absoluteFill","fadeDuration","Platform","OS","tokens","duration","fast","cache","onLoad","Spinner","size","fullscreen","Icon","name","Math","max","min","round","color","textLight","displayName","prefetchImage"],"sourceRoot":"../../../src","sources":["atoms/Image.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,8 +9,12 @@ var _reactNative = require("react-native");
9
9
  var _createStyles = require("../theme/createStyles");
10
10
  var _UIProvider = require("../theme/UIProvider");
11
11
  var _Icon = require("../icons/Icon");
12
+ var _useKeyboardField = require("../theme/useKeyboardField");
13
+ var _inputValidation = require("./inputValidation");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ /** The TextInput instance, plus `validate()` to check the field on demand (e.g. on submit). */
17
+
14
18
  const useStyles = (0, _createStyles.createStyles)(theme => ({
15
19
  container: {
16
20
  marginBottom: theme.tokens.spacing.lg,
@@ -44,9 +48,15 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
44
48
  marginLeft: theme.tokens.spacing.lg,
45
49
  marginRight: -theme.tokens.spacing.xs
46
50
  },
51
+ // 20 icon + md padding (12) per side = 44pt touch area (Fitts).
47
52
  rightIcon: {
48
- padding: theme.tokens.spacing.sm + 2,
49
- marginRight: theme.tokens.spacing.xs
53
+ padding: theme.tokens.spacing.md,
54
+ marginRight: theme.tokens.spacing.xxs
55
+ },
56
+ // Read-only: no fill, so it doesn't look like a field you can tap
57
+ // (affordance), but the text keeps its contrast to stay readable.
58
+ readOnly: {
59
+ backgroundColor: 'transparent'
50
60
  },
51
61
  errorText: {
52
62
  marginTop: theme.tokens.spacing.xs,
@@ -57,18 +67,46 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
57
67
 
58
68
  /**
59
69
  * Input
60
- * El borde anima color entre border/primary/error con Animated (no
61
- * useNativeDriver: los navegadores de color en RN sin Fabric solo son
62
- * confiables en el hilo de JS; el costo es despreciable, se anima un borde).
70
+ * The border animates its color between border/primary/error with Animated
71
+ * (no useNativeDriver: color drivers in RN without Fabric are only reliable
72
+ * on the JS thread; the cost is negligible, it animates one border).
73
+ *
74
+ * Gestalt:
75
+ * - Proximity: label (`spacing.sm` above) and error (`spacing.xs` below) sit
76
+ * right next to the field and the next field is `spacing.lg` away: each
77
+ * label and its error read with their field, not with the neighbor.
78
+ * - Common region: left icon, text and right action share the same border
79
+ * and background, so they read as a single control.
80
+ * - Focal point: the border turns `primary` on focus and `error` on error;
81
+ * the error is also written out (not just color).
82
+ *
83
+ * Accessibility: the accessible name includes "required" when applicable, the
84
+ * error is announced as a hint, and the eye and right-action buttons have a
85
+ * 44pt touch area and texts from `labels` (translatable).
86
+ *
87
+ * Keyboard: on focus it registers with the root UIProvider's host, which
88
+ * lifts the app just enough for the whole field (label, field and error) to
89
+ * sit above the keyboard — without depending on Screen or a ScrollView. What
90
+ * you type is always visible.
91
+ *
92
+ * Validation: `required` and `rules` run when leaving the field (`validateOn`),
93
+ * the error appears in writing, is announced to the screen reader and, once
94
+ * visible, is revalidated on every change so it disappears as soon as it is
95
+ * fixed. An `error` passed by hand overrides the internal validation.
63
96
  */
64
- const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
97
+ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(/*#__PURE__*/(0, _react.forwardRef)(({
65
98
  label,
66
99
  required = false,
67
- error,
100
+ error: errorProp,
101
+ rules,
102
+ validateOn = 'blur',
103
+ onValidate,
104
+ onChangeText,
68
105
  containerStyle,
69
106
  leftIconName,
70
107
  rightIconName,
71
108
  onRightIconPress,
109
+ rightIconAccessibilityLabel,
72
110
  isPassword = false,
73
111
  isLoading = false,
74
112
  style,
@@ -76,39 +114,82 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
76
114
  onBlur,
77
115
  testID,
78
116
  ...props
79
- }) => {
117
+ }, ref) => {
80
118
  const colors = (0, _UIProvider.useColors)();
81
119
  const styles = useStyles();
82
120
  const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
121
+ const labels = (0, _UIProvider.useLabels)();
122
+ const theme = (0, _UIProvider.useTheme)();
123
+ const readOnly = props.editable === false;
83
124
  const [isFocused, setIsFocused] = (0, _react.useState)(false);
84
125
  const [showPassword, setShowPassword] = (0, _react.useState)(false);
85
126
  const focusProgress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
127
+ const inputRef = (0, _react.useRef)(null);
128
+ const containerRef = (0, _react.useRef)(null);
129
+ const [internalError, setInternalError] = (0, _react.useState)(undefined);
130
+ // Last known value: the controlled one (`value`) or what was typed (uncontrolled).
131
+ const valueRef = (0, _react.useRef)(props.value ?? props.defaultValue ?? '');
132
+ if (props.value !== undefined) valueRef.current = props.value;
133
+ const error = errorProp ?? internalError;
134
+ const runValidation = () => {
135
+ const next = (0, _inputValidation.validateInputValue)(valueRef.current, {
136
+ required,
137
+ rules
138
+ }, labels);
139
+ setInternalError(next);
140
+ onValidate?.(next);
141
+ return next;
142
+ };
143
+ (0, _react.useImperativeHandle)(ref, () => Object.assign(inputRef.current, {
144
+ validate: runValidation
145
+ }));
146
+
147
+ // The new error is announced right away, not only as a hint when returning to the field.
148
+ (0, _react.useEffect)(() => {
149
+ if (internalError && errorProp === undefined) _reactNative.AccessibilityInfo.announceForAccessibility(internalError);
150
+ }, [internalError, errorProp]);
151
+ const keyboard = (0, _useKeyboardField.useKeyboardField)(containerRef);
152
+
153
+ // If the error appears or changes while the field is focused, the block grows:
154
+ // a readjustment is requested so the error line isn't covered either.
155
+ (0, _react.useEffect)(() => {
156
+ if (isFocused) keyboard.focus();
157
+ }, [error, isFocused, keyboard]);
86
158
  const handleFocus = e => {
87
159
  setIsFocused(true);
160
+ keyboard.focus();
88
161
  _reactNative.Animated.timing(focusProgress, {
89
162
  toValue: 1,
90
- duration: 200,
163
+ duration: theme.tokens.duration.base,
91
164
  useNativeDriver: false
92
165
  }).start();
93
166
  onFocus?.(e);
94
167
  };
95
168
  const handleBlur = e => {
96
169
  setIsFocused(false);
170
+ keyboard.blur();
171
+ if (validateOn === 'blur') runValidation();
97
172
  _reactNative.Animated.timing(focusProgress, {
98
173
  toValue: 0,
99
- duration: 200,
174
+ duration: theme.tokens.duration.base,
100
175
  useNativeDriver: false
101
176
  }).start();
102
177
  onBlur?.(e);
103
178
  };
179
+ const handleChangeText = text => {
180
+ valueRef.current = text;
181
+ onChangeText?.(text);
182
+ if (validateOn === 'change' || internalError) runValidation();
183
+ };
104
184
  const borderColor = error ? colors.error : focusProgress.interpolate({
105
185
  outputRange: [colors.border, colors.primary],
106
186
  inputRange: [0, 1]
107
187
  });
108
188
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
189
+ ref: containerRef,
109
190
  style: [styles.container, containerStyle],
110
191
  testID: testID,
111
- children: [label && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
192
+ children: [!!label && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
112
193
  allowFontScaling: allowFontScaling,
113
194
  style: styles.label,
114
195
  children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
@@ -116,7 +197,7 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
116
197
  children: " *"
117
198
  })]
118
199
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
119
- style: [styles.inputWrapper, {
200
+ style: [styles.inputWrapper, readOnly && styles.readOnly, {
120
201
  borderColor
121
202
  }],
122
203
  children: [leftIconName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
@@ -125,6 +206,7 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
125
206
  color: colors.textLight,
126
207
  style: styles.leftIcon
127
208
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
209
+ ref: inputRef,
128
210
  style: [styles.input, style],
129
211
  placeholderTextColor: colors.textLight,
130
212
  onFocus: handleFocus,
@@ -132,8 +214,14 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
132
214
  secureTextEntry: isPassword && !showPassword,
133
215
  allowFontScaling: allowFontScaling,
134
216
  textAlignVertical: "center",
135
- accessibilityLabel: label ?? props.placeholder,
136
- ...props
217
+ accessibilityLabel: label || props.placeholder ? `${label ?? props.placeholder}${required ? `, ${labels.required}` : ''}` : undefined,
218
+ accessibilityHint: error || undefined,
219
+ accessibilityState: {
220
+ disabled: readOnly,
221
+ busy: isLoading
222
+ },
223
+ ...props,
224
+ onChangeText: handleChangeText
137
225
  }), isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
138
226
  style: styles.rightIcon,
139
227
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
@@ -144,7 +232,7 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
144
232
  onPress: () => setShowPassword(v => !v),
145
233
  style: styles.rightIcon,
146
234
  accessibilityRole: "button",
147
- accessibilityLabel: showPassword ? 'Hide password' : 'Show password',
235
+ accessibilityLabel: showPassword ? labels.hidePassword : labels.showPassword,
148
236
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
149
237
  name: showPassword ? 'eye-off' : 'eye',
150
238
  size: 20,
@@ -155,7 +243,7 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
155
243
  style: styles.rightIcon,
156
244
  disabled: !onRightIconPress,
157
245
  accessibilityRole: "button",
158
- accessibilityLabel: "Clear",
246
+ accessibilityLabel: rightIconAccessibilityLabel ?? labels.clear,
159
247
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
160
248
  name: rightIconName,
161
249
  size: 20,
@@ -168,6 +256,6 @@ const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
168
256
  children: error
169
257
  })]
170
258
  });
171
- });
259
+ }));
172
260
  Input.displayName = 'Input';
173
261
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","marginBottom","tokens","spacing","lg","width","label","sm","fontSize","md","fontWeight","medium","color","colors","text","required","errorText","inputWrapper","flexDirection","alignItems","backgroundColor","inputBackground","borderRadius","radius","borderWidth","minHeight","input","flex","paddingVertical","paddingHorizontal","leftIcon","marginLeft","marginRight","xs","rightIcon","padding","marginTop","Input","exports","memo","error","containerStyle","leftIconName","rightIconName","onRightIconPress","isPassword","isLoading","style","onFocus","onBlur","testID","props","useColors","styles","allowFontScaling","useAllowFontScaling","isFocused","setIsFocused","useState","showPassword","setShowPassword","focusProgress","useRef","Animated","Value","current","handleFocus","timing","toValue","duration","useNativeDriver","start","handleBlur","borderColor","interpolate","outputRange","border","primary","inputRange","jsxs","View","children","Text","jsx","Icon","name","size","textLight","TextInput","placeholderTextColor","secureTextEntry","textAlignVertical","accessibilityLabel","placeholder","ActivityIndicator","TouchableOpacity","onPress","v","accessibilityRole","disabled","displayName"],"sourceRoot":"../../../src","sources":["atoms/Input.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_useKeyboardField","_inputValidation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","marginBottom","tokens","spacing","lg","width","label","sm","fontSize","md","fontWeight","medium","color","colors","text","required","errorText","inputWrapper","flexDirection","alignItems","backgroundColor","inputBackground","borderRadius","radius","borderWidth","minHeight","input","flex","paddingVertical","paddingHorizontal","leftIcon","marginLeft","marginRight","xs","rightIcon","padding","xxs","readOnly","marginTop","Input","exports","memo","forwardRef","error","errorProp","rules","validateOn","onValidate","onChangeText","containerStyle","leftIconName","rightIconName","onRightIconPress","rightIconAccessibilityLabel","isPassword","isLoading","style","onFocus","onBlur","testID","props","ref","useColors","styles","allowFontScaling","useAllowFontScaling","labels","useLabels","useTheme","editable","isFocused","setIsFocused","useState","showPassword","setShowPassword","focusProgress","useRef","Animated","Value","current","inputRef","containerRef","internalError","setInternalError","undefined","valueRef","value","defaultValue","runValidation","next","validateInputValue","useImperativeHandle","assign","validate","useEffect","AccessibilityInfo","announceForAccessibility","keyboard","useKeyboardField","focus","handleFocus","timing","toValue","duration","base","useNativeDriver","start","handleBlur","blur","handleChangeText","borderColor","interpolate","outputRange","border","primary","inputRange","jsxs","View","children","Text","jsx","Icon","name","size","textLight","TextInput","placeholderTextColor","secureTextEntry","textAlignVertical","accessibilityLabel","placeholder","accessibilityHint","accessibilityState","disabled","busy","ActivityIndicator","TouchableOpacity","onPress","v","accessibilityRole","hidePassword","clear","displayName"],"sourceRoot":"../../../src","sources":["atoms/Input.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAAwE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAIxE;;AAwCA,MAAMkB,SAAS,GAAG,IAAAC,0BAAY,EAAEC,KAAK,KAAM;EACzCC,SAAS,EAAE;IAAEC,YAAY,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,EAAE;IAAEC,KAAK,EAAE;EAAO,CAAC;EACnEC,KAAK,EAAE;IACLL,YAAY,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACI,EAAE;IACrCC,QAAQ,EAAET,KAAK,CAACG,MAAM,CAACM,QAAQ,CAACC,EAAE;IAClCC,UAAU,EAAEX,KAAK,CAACG,MAAM,CAACQ,UAAU,CAACC,MAAM;IAC1CC,KAAK,EAAEb,KAAK,CAACc,MAAM,CAACC;EACtB,CAAC;EACDC,QAAQ,EAAE;IAAEH,KAAK,EAAEb,KAAK,CAACc,MAAM,CAACG;EAAU,CAAC;EAC3CC,YAAY,EAAE;IACZC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAErB,KAAK,CAACc,MAAM,CAACQ,eAAe;IAC7CC,YAAY,EAAEvB,KAAK,CAACG,MAAM,CAACqB,MAAM,CAACnB,EAAE;IACpCoB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE;EACb,CAAC;EACDC,KAAK,EAAE;IACLC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE7B,KAAK,CAACG,MAAM,CAACC,OAAO,CAACM,EAAE;IACxCoB,iBAAiB,EAAE9B,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,EAAE;IAC1CI,QAAQ,EAAET,KAAK,CAACG,MAAM,CAACM,QAAQ,CAACJ,EAAE;IAClCQ,KAAK,EAAEb,KAAK,CAACc,MAAM,CAACC;EACtB,CAAC;EACDgB,QAAQ,EAAE;IAAEC,UAAU,EAAEhC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,EAAE;IAAE4B,WAAW,EAAE,CAACjC,KAAK,CAACG,MAAM,CAACC,OAAO,CAAC8B;EAAG,CAAC;EACxF;EACAC,SAAS,EAAE;IAAEC,OAAO,EAAEpC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACM,EAAE;IAAEuB,WAAW,EAAEjC,KAAK,CAACG,MAAM,CAACC,OAAO,CAACiC;EAAI,CAAC;EACtF;EACA;EACAC,QAAQ,EAAE;IAAEjB,eAAe,EAAE;EAAc,CAAC;EAC5CJ,SAAS,EAAE;IAAEsB,SAAS,EAAEvC,KAAK,CAACG,MAAM,CAACC,OAAO,CAAC8B,EAAE;IAAEzB,QAAQ,EAAET,KAAK,CAACG,MAAM,CAACM,QAAQ,CAACD,EAAE;IAAEK,KAAK,EAAEb,KAAK,CAACc,MAAM,CAACG;EAAU;AACrH,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMuB,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAAG,IAAAE,WAAI,eACvB,IAAAC,iBAAU,EAA0B,CAAC;EACnCpC,KAAK;EACLS,QAAQ,GAAG,KAAK;EAChB4B,KAAK,EAAEC,SAAS;EAChBC,KAAK;EACLC,UAAU,GAAG,MAAM;EACnBC,UAAU;EACVC,YAAY;EACZC,cAAc;EACdC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC,2BAA2B;EAC3BC,UAAU,GAAG,KAAK;EAClBC,SAAS,GAAG,KAAK;EACjBC,KAAK;EACLC,OAAO;EACPC,MAAM;EACNC,MAAM;EACN,GAAGC;AACL,CAAC,EAAEC,GAAG,KAAK;EACT,MAAMhD,MAAM,GAAG,IAAAiD,qBAAS,EAAC,CAAC;EAC1B,MAAMC,MAAM,GAAGlE,SAAS,CAAC,CAAC;EAC1B,MAAMmE,gBAAgB,GAAG,IAAAC,+BAAmB,EAAC,CAAC;EAC9C,MAAMC,MAAM,GAAG,IAAAC,qBAAS,EAAC,CAAC;EAC1B,MAAMpE,KAAK,GAAG,IAAAqE,oBAAQ,EAAC,CAAC;EACxB,MAAM/B,QAAQ,GAAGuB,KAAK,CAACS,QAAQ,KAAK,KAAK;EACzC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACjD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACvD,MAAMG,aAAa,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC3D,MAAMC,QAAQ,GAAG,IAAAJ,aAAM,EAAiC,IAAI,CAAC;EAC7D,MAAMK,YAAY,GAAG,IAAAL,aAAM,EAA4B,IAAI,CAAC;EAC5D,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAX,eAAQ,EAAqBY,SAAS,CAAC;EACjF;EACA,MAAMC,QAAQ,GAAG,IAAAT,aAAM,EAAChB,KAAK,CAAC0B,KAAK,IAAI1B,KAAK,CAAC2B,YAAY,IAAI,EAAE,CAAC;EAChE,IAAI3B,KAAK,CAAC0B,KAAK,KAAKF,SAAS,EAAEC,QAAQ,CAACN,OAAO,GAAGnB,KAAK,CAAC0B,KAAK;EAC7D,MAAM3C,KAAK,GAAGC,SAAS,IAAIsC,aAAa;EAExC,MAAMM,aAAa,GAAGA,CAAA,KAAM;IAC1B,MAAMC,IAAI,GAAG,IAAAC,mCAAkB,EAACL,QAAQ,CAACN,OAAO,EAAE;MAAEhE,QAAQ;MAAE8B;IAAM,CAAC,EAAEqB,MAAM,CAAC;IAC9EiB,gBAAgB,CAACM,IAAI,CAAC;IACtB1C,UAAU,GAAG0C,IAAI,CAAC;IAClB,OAAOA,IAAI;EACb,CAAC;EAED,IAAAE,0BAAmB,EAAC9B,GAAG,EAAE,MAAMnE,MAAM,CAACkG,MAAM,CAACZ,QAAQ,CAACD,OAAO,EAAoC;IAAEc,QAAQ,EAAEL;EAAc,CAAC,CAAC,CAAC;;EAE9H;EACA,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIZ,aAAa,IAAItC,SAAS,KAAKwC,SAAS,EAAEW,8BAAiB,CAACC,wBAAwB,CAACd,aAAa,CAAC;EACzG,CAAC,EAAE,CAACA,aAAa,EAAEtC,SAAS,CAAC,CAAC;EAE9B,MAAMqD,QAAQ,GAAG,IAAAC,kCAAgB,EAACjB,YAAY,CAAC;;EAE/C;EACA;EACA,IAAAa,gBAAS,EAAC,MAAM;IACd,IAAIxB,SAAS,EAAE2B,QAAQ,CAACE,KAAK,CAAC,CAAC;EACjC,CAAC,EAAE,CAACxD,KAAK,EAAE2B,SAAS,EAAE2B,QAAQ,CAAC,CAAC;EAEhC,MAAMG,WAAsC,GAAI1H,CAAC,IAAK;IACpD6F,YAAY,CAAC,IAAI,CAAC;IAClB0B,QAAQ,CAACE,KAAK,CAAC,CAAC;IAChBtB,qBAAQ,CAACwB,MAAM,CAAC1B,aAAa,EAAE;MAAE2B,OAAO,EAAE,CAAC;MAAEC,QAAQ,EAAExG,KAAK,CAACG,MAAM,CAACqG,QAAQ,CAACC,IAAI;MAAEC,eAAe,EAAE;IAAM,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACpHjD,OAAO,GAAG/E,CAAC,CAAC;EACd,CAAC;EAED,MAAMiI,UAAoC,GAAIjI,CAAC,IAAK;IAClD6F,YAAY,CAAC,KAAK,CAAC;IACnB0B,QAAQ,CAACW,IAAI,CAAC,CAAC;IACf,IAAI9D,UAAU,KAAK,MAAM,EAAE0C,aAAa,CAAC,CAAC;IAC1CX,qBAAQ,CAACwB,MAAM,CAAC1B,aAAa,EAAE;MAAE2B,OAAO,EAAE,CAAC;MAAEC,QAAQ,EAAExG,KAAK,CAACG,MAAM,CAACqG,QAAQ,CAACC,IAAI;MAAEC,eAAe,EAAE;IAAM,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACpHhD,MAAM,GAAGhF,CAAC,CAAC;EACb,CAAC;EAED,MAAMmI,gBAAgB,GAAI/F,IAAY,IAAK;IACzCuE,QAAQ,CAACN,OAAO,GAAGjE,IAAI;IACvBkC,YAAY,GAAGlC,IAAI,CAAC;IACpB,IAAIgC,UAAU,KAAK,QAAQ,IAAIoC,aAAa,EAAEM,aAAa,CAAC,CAAC;EAC/D,CAAC;EAED,MAAMsB,WAAW,GAAGnE,KAAK,GACrB9B,MAAM,CAAC8B,KAAK,GACZgC,aAAa,CAACoC,WAAW,CAAC;IAAEC,WAAW,EAAE,CAACnG,MAAM,CAACoG,MAAM,EAAEpG,MAAM,CAACqG,OAAO,CAAC;IAAEC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;EAAE,CAAC,CAAC;EAEnG,oBACE,IAAA1I,WAAA,CAAA2I,IAAA,EAACjJ,YAAA,CAAAkJ,IAAI;IAACxD,GAAG,EAAEoB,YAAa;IAACzB,KAAK,EAAE,CAACO,MAAM,CAAC/D,SAAS,EAAEiD,cAAc,CAAE;IAACU,MAAM,EAAEA,MAAO;IAAA2D,QAAA,GAChF,CAAC,CAAChH,KAAK,iBACN,IAAA7B,WAAA,CAAA2I,IAAA,EAACjJ,YAAA,CAAAoJ,IAAI;MAACvD,gBAAgB,EAAEA,gBAAiB;MAACR,KAAK,EAAEO,MAAM,CAACzD,KAAM;MAAAgH,QAAA,GAC3DhH,KAAK,EACLS,QAAQ,iBAAI,IAAAtC,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAoJ,IAAI;QAAC/D,KAAK,EAAEO,MAAM,CAAChD,QAAS;QAAAuG,QAAA,EAAC;MAAE,CAAM,CAAC;IAAA,CAChD,CACP,eAED,IAAA7I,WAAA,CAAA2I,IAAA,EAACjJ,YAAA,CAAA0G,QAAQ,CAACwC,IAAI;MAAC7D,KAAK,EAAE,CAACO,MAAM,CAAC9C,YAAY,EAAEoB,QAAQ,IAAI0B,MAAM,CAAC1B,QAAQ,EAAE;QAAEyE;MAAY,CAAC,CAAE;MAAAQ,QAAA,GACvFpE,YAAY,iBAAI,IAAAzE,WAAA,CAAA+I,GAAA,EAAClJ,KAAA,CAAAmJ,IAAI;QAACC,IAAI,EAAExE,YAAa;QAACyE,IAAI,EAAE,EAAG;QAAC/G,KAAK,EAAEC,MAAM,CAAC+G,SAAU;QAACpE,KAAK,EAAEO,MAAM,CAACjC;MAAS,CAAE,CAAC,eAExG,IAAArD,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAA0J,SAAS;QACRhE,GAAG,EAAEmB,QAAS;QACdxB,KAAK,EAAE,CAACO,MAAM,CAACrC,KAAK,EAAE8B,KAAK,CAAE;QAC7BsE,oBAAoB,EAAEjH,MAAM,CAAC+G,SAAU;QACvCnE,OAAO,EAAE2C,WAAY;QACrB1C,MAAM,EAAEiD,UAAW;QACnBoB,eAAe,EAAEzE,UAAU,IAAI,CAACmB,YAAa;QAC7CT,gBAAgB,EAAEA,gBAAiB;QACnCgE,iBAAiB,EAAC,QAAQ;QAC1BC,kBAAkB,EAChB3H,KAAK,IAAIsD,KAAK,CAACsE,WAAW,GAAG,GAAG5H,KAAK,IAAIsD,KAAK,CAACsE,WAAW,GAAGnH,QAAQ,GAAG,KAAKmD,MAAM,CAACnD,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAGqE,SACzG;QACD+C,iBAAiB,EAAExF,KAAK,IAAIyC,SAAU;QACtCgD,kBAAkB,EAAE;UAAEC,QAAQ,EAAEhG,QAAQ;UAAEiG,IAAI,EAAE/E;QAAU,CAAE;QAAA,GACxDK,KAAK;QACTZ,YAAY,EAAE6D;MAAiB,CAChC,CAAC,EAEDtD,SAAS,gBACR,IAAA9E,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAkJ,IAAI;QAAC7D,KAAK,EAAEO,MAAM,CAAC7B,SAAU;QAAAoF,QAAA,eAC5B,IAAA7I,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAoK,iBAAiB;UAACZ,IAAI,EAAC,OAAO;UAAC/G,KAAK,EAAEC,MAAM,CAACqG;QAAQ,CAAE;MAAC,CACrD,CAAC,GACL5D,UAAU,gBACZ,IAAA7E,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAqK,gBAAgB;QACfC,OAAO,EAAEA,CAAA,KAAM/D,eAAe,CAAEgE,CAAC,IAAK,CAACA,CAAC,CAAE;QAC1ClF,KAAK,EAAEO,MAAM,CAAC7B,SAAU;QACxByG,iBAAiB,EAAC,QAAQ;QAC1BV,kBAAkB,EAAExD,YAAY,GAAGP,MAAM,CAAC0E,YAAY,GAAG1E,MAAM,CAACO,YAAa;QAAA6C,QAAA,eAE7E,IAAA7I,WAAA,CAAA+I,GAAA,EAAClJ,KAAA,CAAAmJ,IAAI;UAACC,IAAI,EAAEjD,YAAY,GAAG,SAAS,GAAG,KAAM;UAACkD,IAAI,EAAE,EAAG;UAAC/G,KAAK,EAAEC,MAAM,CAAC+G;QAAU,CAAE;MAAC,CACnE,CAAC,GACjBzE,aAAa,gBACf,IAAA1E,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAqK,gBAAgB;QACfC,OAAO,EAAErF,gBAAiB;QAC1BI,KAAK,EAAEO,MAAM,CAAC7B,SAAU;QACxBmG,QAAQ,EAAE,CAACjF,gBAAiB;QAC5BuF,iBAAiB,EAAC,QAAQ;QAC1BV,kBAAkB,EAAE5E,2BAA2B,IAAIa,MAAM,CAAC2E,KAAM;QAAAvB,QAAA,eAEhE,IAAA7I,WAAA,CAAA+I,GAAA,EAAClJ,KAAA,CAAAmJ,IAAI;UAACC,IAAI,EAAEvE,aAAc;UAACwE,IAAI,EAAE,EAAG;UAAC/G,KAAK,EAAEC,MAAM,CAAC+G;QAAU,CAAE;MAAC,CAChD,CAAC,GACjB,IAAI;IAAA,CACK,CAAC,EAEf,CAAC,CAACjF,KAAK,iBACN,IAAAlE,WAAA,CAAA+I,GAAA,EAACrJ,YAAA,CAAAoJ,IAAI;MAACvD,gBAAgB,EAAEA,gBAAiB;MAACR,KAAK,EAAEO,MAAM,CAAC/C,SAAU;MAAAsG,QAAA,EAC/D3E;IAAK,CACF,CACP;EAAA,CACG,CAAC;AAEX,CAAC,CACH,CAAC;AACDJ,KAAK,CAACuG,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -14,42 +14,70 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
14
14
  row: {
15
15
  flexDirection: 'row',
16
16
  justifyContent: 'space-between',
17
- alignItems: 'center'
17
+ alignItems: 'center',
18
+ gap: theme.tokens.spacing.md
18
19
  },
20
+ // Two texts: aligned on the first line, so a value that wraps onto
21
+ // several lines still reads next to its label.
22
+ rowText: {
23
+ alignItems: 'baseline'
24
+ },
25
+ // The label keeps its natural width up to half the row; the value
26
+ // shrinks and wraps instead of pushing the row off the screen.
19
27
  label: {
28
+ flexShrink: 0,
29
+ maxWidth: '50%',
20
30
  fontSize: theme.tokens.fontSize.sm,
31
+ lineHeight: theme.tokens.lineHeight.sm,
21
32
  fontWeight: theme.tokens.fontWeight.semibold,
22
33
  color: theme.colors.textLight
23
34
  },
24
35
  value: {
36
+ flexShrink: 1,
25
37
  fontSize: theme.tokens.fontSize.sm,
38
+ lineHeight: theme.tokens.lineHeight.sm,
26
39
  textAlign: 'right',
27
- color: theme.colors.text
40
+ color: theme.colors.text,
41
+ // Fixed-width digits: in a column of amounts the figures line up
42
+ // across rows.
43
+ fontVariant: ['tabular-nums']
28
44
  }
29
45
  }));
46
+ const isPrimitive = node => typeof node === 'string' || typeof node === 'number';
30
47
 
31
48
  /**
32
49
  * KeyValueRow
33
- * Fila label (izquierda) / value (derecha). Si label/value son string o
34
- * number, se renderizan con el estilo default; si ya vienen envueltos en un
35
- * componente de texto propio, se respetan tal cual.
50
+ * Label (left) / value (right) row. If label/value are a string or number,
51
+ * they render with the default style; if they already come wrapped in a
52
+ * custom component, they are kept as is.
53
+ *
54
+ * Gestalt, alignment and similarity: labels share color and weight and values
55
+ * align to the right edge with tabular digits, so a stack of rows reads as
56
+ * two columns — what on the left, how much on the right.
57
+ * With a text label and value, the row is a single accessibility node
58
+ * ("Subtotal, $300.00"); if either is a custom node (a Badge, a button) it
59
+ * isn't merged, so as not to hide what that node announces or lets you tap.
36
60
  */
37
61
  const KeyValueRow = exports.KeyValueRow = /*#__PURE__*/(0, _react.memo)(({
38
62
  label,
39
63
  value,
40
64
  style,
41
65
  labelStyle,
42
- valueStyle
66
+ valueStyle,
67
+ testID
43
68
  }) => {
44
69
  const styles = useStyles();
45
70
  const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
71
+ const merge = isPrimitive(label) && isPrimitive(value);
46
72
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
47
- style: [styles.row, style],
48
- children: [typeof label === 'string' || typeof label === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
73
+ style: [styles.row, merge && styles.rowText, style],
74
+ accessible: merge || undefined,
75
+ testID: testID,
76
+ children: [isPrimitive(label) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
49
77
  allowFontScaling: allowFontScaling,
50
78
  style: [styles.label, labelStyle],
51
79
  children: label
52
- }) : label, typeof value === 'string' || typeof value === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
80
+ }) : label, isPrimitive(value) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
53
81
  allowFontScaling: allowFontScaling,
54
82
  style: [styles.value, valueStyle],
55
83
  children: value
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","row","flexDirection","justifyContent","alignItems","label","fontSize","tokens","sm","fontWeight","semibold","color","colors","textLight","value","textAlign","text","KeyValueRow","exports","memo","style","labelStyle","valueStyle","styles","allowFontScaling","useAllowFontScaling","jsxs","View","children","jsx","Text","displayName"],"sourceRoot":"../../../src","sources":["atoms/KeyValueRow.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","row","flexDirection","justifyContent","alignItems","gap","tokens","spacing","md","rowText","label","flexShrink","maxWidth","fontSize","sm","lineHeight","fontWeight","semibold","color","colors","textLight","value","textAlign","text","fontVariant","isPrimitive","node","KeyValueRow","exports","memo","style","labelStyle","valueStyle","testID","styles","allowFontScaling","useAllowFontScaling","merge","jsxs","View","accessible","undefined","children","jsx","Text","displayName"],"sourceRoot":"../../../src","sources":["atoms/KeyValueRow.tsx"],"mappings":"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","ignoreList":[]}