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
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo } from 'react';
3
+ import React, { memo, useEffect, useRef, useState } from 'react';
4
4
  import { ScrollView, Text, TouchableOpacity, View } from 'react-native';
5
+ import { useReduceMotion } from '../theme/useReduceMotion';
5
6
  import { createStyles } from '../theme/createStyles';
6
- import { useAllowFontScaling, useColors } from '../theme/UIProvider';
7
+ import { useAllowFontScaling, useColors, useLabels } from '../theme/UIProvider';
7
8
  import { Icon } from '../icons/Icon';
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const CIRCLE = 32;
10
- /** Ancho mínimo de una columna horizontal: por debajo, las etiquetas se parten. */
11
+ const CIRCLE_BORDER = 2;
12
+ const CHECK_SIZE = 18;
13
+ const CONNECTOR = 2;
14
+ /** Minimum width of a horizontal column: below it, labels break mid-word. */
11
15
  const STEP_MIN_WIDTH = 76;
16
+ /** Share of the row a horizontal connector takes next to a step (flex: 1). */
17
+ const CONNECTOR_FLEX = 0.3;
18
+ const PRESSED_OPACITY = 0.7;
12
19
  const useStyles = createStyles(theme => ({
13
20
  rowContainer: {
14
21
  flexDirection: 'row',
@@ -18,8 +25,8 @@ const useStyles = createStyles(theme => ({
18
25
  flexDirection: 'column'
19
26
  },
20
27
  // horizontal
21
- // ScrollView trae flexGrow: 1 de fábrica y se comía todo el alto disponible
22
- // del contenedor, dejando los pasos pegados arriba de una caja enorme.
28
+ // ScrollView ships with flexGrow: 1 and was eating all the available height
29
+ // of the container, leaving the steps stuck to the top of a huge box.
23
30
  hScrollView: {
24
31
  flexGrow: 0,
25
32
  flexShrink: 0
@@ -29,9 +36,9 @@ const useStyles = createStyles(theme => ({
29
36
  flexDirection: 'row',
30
37
  alignItems: 'flex-start'
31
38
  },
32
- // `minWidth` es lo que evita que RN parta palabras a la mitad
33
- // ("Almacé / n"): antes que apretar la columna por debajo de una palabra
34
- // corriente, la fila se vuelve scrollable.
39
+ // `minWidth` is what keeps RN from breaking words in half
40
+ // ("Almacé / n"): rather than squeezing the column below a regular
41
+ // word, the row becomes scrollable.
35
42
  hStep: {
36
43
  flex: 1,
37
44
  minWidth: STEP_MIN_WIDTH,
@@ -40,23 +47,25 @@ const useStyles = createStyles(theme => ({
40
47
  },
41
48
  hLabels: {
42
49
  alignItems: 'center',
43
- gap: 2,
44
- paddingHorizontal: 4
50
+ gap: theme.tokens.spacing.xxs,
51
+ paddingHorizontal: theme.tokens.spacing.xs
45
52
  },
46
- // El conector toma una fracción chica del ancho: compitiendo de igual a
47
- // igual con los pasos (flex: 1) cada etiqueta se quedaba con 1/(2n-1) del
53
+ // The connector takes a small fraction of the width: competing on equal
54
+ // terms with the steps (flex: 1), each label ended up with 1/(2n-1) of the
48
55
  // total.
49
56
  hConnector: {
50
- height: 2,
51
- flex: 0.3,
52
- minWidth: 12,
53
- marginTop: CIRCLE / 2 - 1
57
+ height: CONNECTOR,
58
+ flex: CONNECTOR_FLEX,
59
+ minWidth: theme.tokens.spacing.md,
60
+ marginTop: CIRCLE / 2 - CONNECTOR / 2
54
61
  },
55
62
  hLabel: {
56
- fontSize: theme.tokens.fontSize.sm
63
+ fontSize: theme.tokens.fontSize.sm,
64
+ lineHeight: theme.tokens.lineHeight.sm
57
65
  },
58
66
  hDescription: {
59
- fontSize: theme.tokens.fontSize.xs
67
+ fontSize: theme.tokens.fontSize.xs,
68
+ lineHeight: theme.tokens.lineHeight.sm
60
69
  },
61
70
  // vertical
62
71
  vStep: {
@@ -67,21 +76,25 @@ const useStyles = createStyles(theme => ({
67
76
  alignItems: 'center'
68
77
  },
69
78
  vConnector: {
70
- width: 2,
79
+ width: CONNECTOR,
71
80
  flex: 1,
72
- minHeight: 20,
73
- marginVertical: 4
81
+ minHeight: theme.tokens.spacing.xl,
82
+ marginVertical: theme.tokens.spacing.xs
74
83
  },
75
84
  vLabels: {
76
85
  flex: 1,
77
- gap: 2,
86
+ gap: theme.tokens.spacing.xxs,
78
87
  paddingBottom: theme.tokens.spacing.lg
79
88
  },
89
+ // The last step has no connector below: no trailing space either.
90
+ vLabelsLast: {
91
+ paddingBottom: 0
92
+ },
80
93
  circle: {
81
94
  width: CIRCLE,
82
95
  height: CIRCLE,
83
96
  borderRadius: CIRCLE / 2,
84
- borderWidth: 2,
97
+ borderWidth: CIRCLE_BORDER,
85
98
  alignItems: 'center',
86
99
  justifyContent: 'center'
87
100
  },
@@ -91,14 +104,23 @@ const useStyles = createStyles(theme => ({
91
104
  },
92
105
  label: {
93
106
  fontSize: theme.tokens.fontSize.md,
107
+ lineHeight: theme.tokens.lineHeight.md,
94
108
  fontWeight: theme.tokens.fontWeight.semibold,
95
109
  color: theme.colors.text
96
110
  },
111
+ labelCurrent: {
112
+ color: theme.colors.primaryText
113
+ },
114
+ labelPending: {
115
+ color: theme.colors.textLight,
116
+ fontWeight: theme.tokens.fontWeight.medium
117
+ },
97
118
  labelCentered: {
98
119
  textAlign: 'center'
99
120
  },
100
121
  description: {
101
122
  fontSize: theme.tokens.fontSize.sm,
123
+ lineHeight: theme.tokens.lineHeight.sm,
102
124
  color: theme.colors.textLight
103
125
  },
104
126
  descriptionCentered: {
@@ -113,8 +135,17 @@ function statusOf(index, current) {
113
135
 
114
136
  /**
115
137
  * Steps
116
- * Indicador de progreso multi-paso. Base visual de `Wizard`, pero utilizable
117
- * suelto para mostrar el avance de un flujo que se navega de otra forma.
138
+ * Multi-step progress indicator. The visual base of `Wizard`, but usable on
139
+ * its own to show progress through a flow that is navigated some other way.
140
+ *
141
+ * Gestalt, continuity: a connector line runs through the circles, so the steps
142
+ * read as one path; the stretch already walked is filled with the accent.
143
+ * Similarity: every step is the same circle + label, and the state only
144
+ * changes fill and color (done = filled, current = outlined accent, pending =
145
+ * grey). Von Restorff: the current step is the only accent-colored label.
146
+ *
147
+ * Accessibility: each step announces "Step 2 of 3: Payment, current", with
148
+ * every word from `labels`.
118
149
  */
119
150
  export const Steps = /*#__PURE__*/memo(({
120
151
  steps,
@@ -122,12 +153,34 @@ export const Steps = /*#__PURE__*/memo(({
122
153
  orientation = 'horizontal',
123
154
  completedIndicator = 'check',
124
155
  onStepPress,
125
- style
156
+ style,
157
+ testID
126
158
  }) => {
127
159
  const colors = useColors();
160
+ const labels = useLabels();
128
161
  const styles = useStyles();
129
162
  const allowFontScaling = useAllowFontScaling();
130
163
  const isVertical = orientation === 'vertical';
164
+ const reduceMotion = useReduceMotion();
165
+
166
+ // Horizontal overflow: when the steps don't fit, the row scrolls. A hidden
167
+ // step gave no hint of existing, so the current step is brought into view
168
+ // and the scroll bar flashes once (visibility of system status).
169
+ const scrollRef = useRef(null);
170
+ const [viewportWidth, setViewportWidth] = useState(0);
171
+ const [contentWidth, setContentWidth] = useState(0);
172
+ const stepX = useRef([]);
173
+ const overflows = !isVertical && viewportWidth > 0 && contentWidth > viewportWidth + 1;
174
+ useEffect(() => {
175
+ if (!overflows) return;
176
+ const x = stepX.current[current] ?? 0;
177
+ // A quarter of the row of lead-in: the previous step stays partly visible.
178
+ scrollRef.current?.scrollTo({
179
+ x: Math.max(0, x - viewportWidth / 4),
180
+ animated: !reduceMotion
181
+ });
182
+ scrollRef.current?.flashScrollIndicators();
183
+ }, [overflows, current, viewportWidth, reduceMotion]);
131
184
  const colorsFor = status => {
132
185
  if (status === 'completed') return {
133
186
  bg: colors.primary,
@@ -155,7 +208,7 @@ export const Steps = /*#__PURE__*/memo(({
155
208
  }],
156
209
  children: showCheck ? /*#__PURE__*/_jsx(Icon, {
157
210
  name: "check",
158
- size: 18,
211
+ size: CHECK_SIZE,
159
212
  color: c.fg
160
213
  }) : /*#__PURE__*/_jsx(Text, {
161
214
  allowFontScaling: allowFontScaling,
@@ -166,13 +219,11 @@ export const Steps = /*#__PURE__*/memo(({
166
219
  })
167
220
  });
168
221
  };
169
- const renderLabels = (step, status, centered) => /*#__PURE__*/_jsxs(View, {
170
- style: centered ? styles.hLabels : styles.vLabels,
222
+ const renderLabels = (step, status, centered, isLast = false) => /*#__PURE__*/_jsxs(View, {
223
+ style: centered ? styles.hLabels : [styles.vLabels, isLast && styles.vLabelsLast],
171
224
  children: [/*#__PURE__*/_jsx(Text, {
172
225
  allowFontScaling: allowFontScaling,
173
- style: [styles.label, centered && styles.labelCentered, centered && styles.hLabel, status === 'pending' && {
174
- color: colors.textLight
175
- }],
226
+ style: [styles.label, centered && styles.labelCentered, centered && styles.hLabel, status === 'current' && styles.labelCurrent, status === 'pending' && styles.labelPending],
176
227
  children: step.label
177
228
  }), !!step.description && /*#__PURE__*/_jsx(Text, {
178
229
  allowFontScaling: allowFontScaling,
@@ -180,26 +231,33 @@ export const Steps = /*#__PURE__*/memo(({
180
231
  children: step.description
181
232
  })]
182
233
  });
234
+ const statusLabel = {
235
+ completed: labels.stepCompleted,
236
+ current: labels.stepCurrent,
237
+ pending: labels.stepPending
238
+ };
183
239
  const stepAccessibility = (index, step, status) => ({
184
240
  accessibilityRole: onStepPress ? 'button' : 'text',
185
- accessibilityLabel: `Step ${index + 1}: ${step.label}`,
241
+ accessibilityLabel: `${labels.stepOf.replace('{n}', String(index + 1)).replace('{total}', String(steps.length)).replace('{label}', step.label)}, ${statusLabel[status]}`,
186
242
  accessibilityState: {
187
243
  selected: status === 'current',
188
244
  disabled: false
189
- }
245
+ },
246
+ testID: testID && `${testID}-${index}`
190
247
  });
191
248
  if (isVertical) {
192
249
  return /*#__PURE__*/_jsx(View, {
193
250
  style: [styles.columnContainer, style],
251
+ testID: testID,
194
252
  children: steps.map((step, index) => {
195
253
  const status = statusOf(index, current);
196
254
  const isLast = index === steps.length - 1;
197
255
  const Wrapper = onStepPress ? TouchableOpacity : View;
198
- // Sólo tocable si hay onStepPress: pasarle onPress/activeOpacity
199
- // a un View plano no crashea, pero los deja como ruido silencioso.
256
+ // Only touchable when there is onStepPress: passing onPress/activeOpacity
257
+ // to a plain View doesn't crash, but leaves them as silent noise.
200
258
  const interactiveProps = onStepPress ? {
201
259
  onPress: () => onStepPress(index),
202
- activeOpacity: 0.7
260
+ activeOpacity: PRESSED_OPACITY
203
261
  } : undefined;
204
262
  return /*#__PURE__*/_jsxs(Wrapper, {
205
263
  style: styles.vStep,
@@ -212,17 +270,20 @@ export const Steps = /*#__PURE__*/memo(({
212
270
  backgroundColor: index < current ? colors.primary : colors.border
213
271
  }]
214
272
  })]
215
- }), renderLabels(step, status, false)]
273
+ }), renderLabels(step, status, false, isLast)]
216
274
  }, `${step.label}-${index}`);
217
275
  })
218
276
  });
219
277
  }
220
278
  return /*#__PURE__*/_jsx(ScrollView, {
221
- testID: "steps-row",
279
+ ref: scrollRef,
280
+ testID: testID,
222
281
  horizontal: true,
223
- showsHorizontalScrollIndicator: false
224
- // Con espacio de sobra los pasos se reparten la fila igual que antes
225
- // (flexGrow); cuando no entran, se desplaza en vez de apretar el texto.
282
+ showsHorizontalScrollIndicator: overflows,
283
+ onLayout: e => setViewportWidth(e.nativeEvent.layout.width),
284
+ onContentSizeChange: width => setContentWidth(width)
285
+ // With room to spare the steps share the row just like before
286
+ // (flexGrow); when they don't fit, it scrolls instead of squeezing the text.
226
287
  ,
227
288
  style: [styles.hScrollView, style],
228
289
  contentContainerStyle: styles.hScroll,
@@ -232,11 +293,14 @@ export const Steps = /*#__PURE__*/memo(({
232
293
  const Wrapper = onStepPress ? TouchableOpacity : View;
233
294
  const interactiveProps = onStepPress ? {
234
295
  onPress: () => onStepPress(index),
235
- activeOpacity: 0.7
296
+ activeOpacity: PRESSED_OPACITY
236
297
  } : undefined;
237
298
  return /*#__PURE__*/_jsxs(React.Fragment, {
238
299
  children: [/*#__PURE__*/_jsxs(Wrapper, {
239
300
  style: styles.hStep,
301
+ onLayout: e => {
302
+ stepX.current[index] = e.nativeEvent.layout.x;
303
+ },
240
304
  ...interactiveProps,
241
305
  ...stepAccessibility(index, step, status),
242
306
  children: [renderCircle(index, status), renderLabels(step, status, true)]
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","ScrollView","Text","TouchableOpacity","View","createStyles","useAllowFontScaling","useColors","Icon","jsx","_jsx","jsxs","_jsxs","CIRCLE","STEP_MIN_WIDTH","useStyles","theme","rowContainer","flexDirection","alignItems","columnContainer","hScrollView","flexGrow","flexShrink","hScroll","hStep","flex","minWidth","gap","tokens","spacing","sm","hLabels","paddingHorizontal","hConnector","height","marginTop","hLabel","fontSize","hDescription","xs","vStep","md","vIndicatorColumn","vConnector","width","minHeight","marginVertical","vLabels","paddingBottom","lg","circle","borderRadius","borderWidth","justifyContent","circleNumber","fontWeight","semibold","label","color","colors","text","labelCentered","textAlign","description","textLight","descriptionCentered","statusOf","index","current","Steps","steps","orientation","completedIndicator","onStepPress","style","styles","allowFontScaling","isVertical","colorsFor","status","bg","primary","border","fg","onPrimary","primaryText","renderCircle","c","showCheck","backgroundColor","borderColor","children","name","size","renderLabels","step","centered","stepAccessibility","accessibilityRole","accessibilityLabel","accessibilityState","selected","disabled","map","isLast","length","Wrapper","interactiveProps","onPress","activeOpacity","undefined","testID","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","Fragment","displayName"],"sourceRoot":"../../../src","sources":["molecules/Steps.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useEffect","useRef","useState","ScrollView","Text","TouchableOpacity","View","useReduceMotion","createStyles","useAllowFontScaling","useColors","useLabels","Icon","jsx","_jsx","jsxs","_jsxs","CIRCLE","CIRCLE_BORDER","CHECK_SIZE","CONNECTOR","STEP_MIN_WIDTH","CONNECTOR_FLEX","PRESSED_OPACITY","useStyles","theme","rowContainer","flexDirection","alignItems","columnContainer","hScrollView","flexGrow","flexShrink","hScroll","hStep","flex","minWidth","gap","tokens","spacing","sm","hLabels","xxs","paddingHorizontal","xs","hConnector","height","md","marginTop","hLabel","fontSize","lineHeight","hDescription","vStep","vIndicatorColumn","vConnector","width","minHeight","xl","marginVertical","vLabels","paddingBottom","lg","vLabelsLast","circle","borderRadius","borderWidth","justifyContent","circleNumber","fontWeight","semibold","label","color","colors","text","labelCurrent","primaryText","labelPending","textLight","medium","labelCentered","textAlign","description","descriptionCentered","statusOf","index","current","Steps","steps","orientation","completedIndicator","onStepPress","style","testID","labels","styles","allowFontScaling","isVertical","reduceMotion","scrollRef","viewportWidth","setViewportWidth","contentWidth","setContentWidth","stepX","overflows","x","scrollTo","Math","max","animated","flashScrollIndicators","colorsFor","status","bg","primary","border","fg","onPrimary","renderCircle","c","showCheck","backgroundColor","borderColor","children","name","size","renderLabels","step","centered","isLast","statusLabel","completed","stepCompleted","stepCurrent","pending","stepPending","stepAccessibility","accessibilityRole","accessibilityLabel","stepOf","replace","String","length","accessibilityState","selected","disabled","map","Wrapper","interactiveProps","onPress","activeOpacity","undefined","ref","horizontal","showsHorizontalScrollIndicator","onLayout","e","nativeEvent","layout","onContentSizeChange","contentContainerStyle","Fragment","displayName"],"sourceRoot":"../../../src","sources":["molecules/Steps.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,14 +3,11 @@
3
3
  import React, { useMemo } from 'react';
4
4
  import { View } from 'react-native';
5
5
  import { createStyles } from '../theme/createStyles';
6
+ import { useTheme } from '../theme/UIProvider';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
- const useStyles = createStyles(theme => ({
8
- grid: {
9
- gap: theme.tokens.spacing.md
10
- },
8
+ const useStyles = createStyles(() => ({
11
9
  row: {
12
- flexDirection: 'row',
13
- gap: theme.tokens.spacing.md
10
+ flexDirection: 'row'
14
11
  },
15
12
  rowBalanced: {
16
13
  justifyContent: 'center'
@@ -31,10 +28,16 @@ function chunk(data, size) {
31
28
 
32
29
  /**
33
30
  * SymmetricGrid
34
- * Ley de Prägnanz (buena forma): agrupa en filas parejas de N columnas.
35
- * La última fila, cuando queda incompleta, se centra por defecto en vez de
36
- * quedar pegada a un borde — eso es lo que la lee como "fila corta" y no
37
- * como un layout roto con un hueco a un lado.
31
+ * Law of Prägnanz (good form): groups items into even rows of N columns.
32
+ * The last row, when incomplete, is centered by default instead of sticking
33
+ * to one edge — that is what makes it read as a "short row" and not as a
34
+ * broken layout with a gap on one side.
35
+ *
36
+ * Gestalt, similarity: every cell has exactly the same width, also in the
37
+ * centered short row, so items read as peers. The horizontal gap is padding
38
+ * inside each cell (and a negative margin on the row), not flex `gap`: a
39
+ * `100 / columns %` width plus a gap made every row wider than the grid and
40
+ * pushed the right column out of the container.
38
41
  */
39
42
  export function SymmetricGrid({
40
43
  data,
@@ -43,31 +46,36 @@ export function SymmetricGrid({
43
46
  columns = 2,
44
47
  gap,
45
48
  balanceLastRow = true,
46
- style
49
+ style,
50
+ testID
47
51
  }) {
52
+ const theme = useTheme();
48
53
  const styles = useStyles();
49
54
  const rows = useMemo(() => chunk(data, columns), [data, columns]);
55
+ const space = gap ?? theme.tokens.spacing.md;
50
56
  const cellWidth = `${100 / columns}%`;
51
57
  return /*#__PURE__*/_jsx(View, {
52
- style: [styles.grid, gap !== undefined && {
53
- gap
58
+ style: [{
59
+ gap: space
54
60
  }, style],
61
+ testID: testID,
55
62
  children: rows.map((row, rowIndex) => {
56
63
  const isLastRow = rowIndex === rows.length - 1;
57
64
  const isIncomplete = row.length < columns;
58
65
  const centered = isLastRow && isIncomplete && balanceLastRow;
59
66
  return /*#__PURE__*/_jsx(View
60
- // `columns` en la key: si cambia, las filas no reusan nodos DOM
61
- // de una fila armada con otra cantidad de columnas.
67
+ // `columns` in the key: if it changes, rows don't reuse DOM nodes
68
+ // from a row built with a different number of columns.
62
69
  , {
63
- style: [styles.row, centered ? styles.rowBalanced : styles.rowFull, gap !== undefined && {
64
- gap
70
+ style: [styles.row, centered ? styles.rowBalanced : styles.rowFull, {
71
+ marginHorizontal: -space / 2
65
72
  }],
66
73
  children: row.map((item, colIndex) => {
67
74
  const index = rowIndex * columns + colIndex;
68
75
  return /*#__PURE__*/_jsx(View, {
69
76
  style: [styles.cell, {
70
- width: cellWidth
77
+ width: cellWidth,
78
+ paddingHorizontal: space / 2
71
79
  }],
72
80
  children: renderItem(item, index)
73
81
  }, keyExtractor(item, index));
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","View","createStyles","jsx","_jsx","useStyles","theme","grid","gap","tokens","spacing","md","row","flexDirection","rowBalanced","justifyContent","rowFull","cell","flexGrow","flexShrink","chunk","data","size","rows","i","length","push","slice","SymmetricGrid","renderItem","keyExtractor","columns","balanceLastRow","style","styles","cellWidth","undefined","children","map","rowIndex","isLastRow","isIncomplete","centered","item","colIndex","index","width"],"sourceRoot":"../../../src","sources":["molecules/SymmetricGrid.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","createStyles","useTheme","jsx","_jsx","useStyles","row","flexDirection","rowBalanced","justifyContent","rowFull","cell","flexGrow","flexShrink","chunk","data","size","rows","i","length","push","slice","SymmetricGrid","renderItem","keyExtractor","columns","gap","balanceLastRow","style","testID","theme","styles","space","tokens","spacing","md","cellWidth","children","map","rowIndex","isLastRow","isIncomplete","centered","marginHorizontal","item","colIndex","index","width","paddingHorizontal"],"sourceRoot":"../../../src","sources":["molecules/SymmetricGrid.tsx"],"mappings":"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","ignoreList":[]}