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,32 +1,60 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo } from 'react';
4
- import { Text, TouchableOpacity, View } from 'react-native';
3
+ import React, { memo, useEffect, useRef, useState } from 'react';
4
+ import { Animated, Easing, I18nManager, Text, TouchableOpacity, View } from 'react-native';
5
5
  import { createStyles } from '../theme/createStyles';
6
- import { useAllowFontScaling } from '../theme/UIProvider';
7
- import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { useAllowFontScaling, useTheme } from '../theme/UIProvider';
7
+ import { useReduceMotion } from '../theme/useReduceMotion';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /** Inset between the track and the segments. */
10
+ const TRACK_PADDING = 3;
11
+ /** Minimum touch target (Fitts): the segment plus the track inset reach it. */
12
+ const MIN_TOUCH = 44;
13
+ const DISABLED_OPACITY = 0.5;
14
+ const HIT_SLOP = {
15
+ top: TRACK_PADDING,
16
+ bottom: TRACK_PADDING
17
+ };
8
18
  const useStyles = createStyles(theme => ({
9
19
  track: {
10
20
  flexDirection: 'row',
11
21
  backgroundColor: theme.colors.inputBackground,
12
22
  borderRadius: theme.tokens.radius.md,
13
- padding: 3
23
+ padding: TRACK_PADDING
14
24
  },
15
25
  segment: {
16
26
  flex: 1,
27
+ minHeight: MIN_TOUCH - TRACK_PADDING * 2,
17
28
  paddingVertical: theme.tokens.spacing.sm,
29
+ paddingHorizontal: theme.tokens.spacing.xs,
18
30
  borderRadius: theme.tokens.radius.sm,
19
- alignItems: 'center'
31
+ alignItems: 'center',
32
+ justifyContent: 'center'
20
33
  },
21
- segmentActive: {
34
+ // Light: a white segment with a shadow over the grey track. Dark: shadows
35
+ // don't show and `surface` is darker than the track (the segment looked
36
+ // sunken), so the selected one takes the soft accent fill instead.
37
+ // One shared indicator slides under the segments; until the track is
38
+ // measured, the selected segment paints this same fill itself.
39
+ indicator: {
40
+ position: 'absolute',
41
+ top: TRACK_PADDING,
42
+ bottom: TRACK_PADDING,
43
+ start: TRACK_PADDING,
44
+ borderRadius: theme.tokens.radius.sm
45
+ },
46
+ segmentActive: theme.scheme === 'dark' ? {
47
+ backgroundColor: theme.colors.primarySoft
48
+ } : {
22
49
  backgroundColor: theme.colors.surface,
23
50
  ...theme.tokens.shadow.sm
24
51
  },
25
52
  segmentDisabled: {
26
- opacity: 0.5
53
+ opacity: DISABLED_OPACITY
27
54
  },
28
55
  label: {
29
- fontSize: theme.tokens.fontSize.sm,
56
+ fontSize: theme.tokens.fontSize.md,
57
+ lineHeight: theme.tokens.lineHeight.md,
30
58
  fontWeight: theme.tokens.fontWeight.medium,
31
59
  color: theme.colors.textLight
32
60
  },
@@ -38,8 +66,18 @@ const useStyles = createStyles(theme => ({
38
66
 
39
67
  /**
40
68
  * SegmentedControl
41
- * Elige una opción entre pocas, todas visibles. No conoce ningún estado
42
- * global: recibe `value` y avisa por `onChange`.
69
+ * Picks one option among a few, all visible. It knows no global state:
70
+ * it receives `value` and reports through `onChange`.
71
+ *
72
+ * Gestalt, common region: one track holds every segment, so they read as a
73
+ * single question. Similarity: equal widths and one line each, so no option
74
+ * looks more important. Figure-ground: the selected segment is raised (surface
75
+ * + shadow) above the sunken track; in dark, where shadows vanish, it takes
76
+ * the soft accent fill. Fitts: every segment reaches 44pt.
77
+ *
78
+ * Continuity: the selection is one indicator that slides from the old segment
79
+ * to the new one, so the eye follows the change instead of seeing one fill
80
+ * vanish and another appear. With Reduce Motion it jumps.
43
81
  */
44
82
  function SegmentedControlInner({
45
83
  options,
@@ -50,18 +88,68 @@ function SegmentedControlInner({
50
88
  testID
51
89
  }) {
52
90
  const styles = useStyles();
91
+ const theme = useTheme();
53
92
  const allowFontScaling = useAllowFontScaling();
54
- return /*#__PURE__*/_jsx(View, {
93
+ const reduceMotion = useReduceMotion();
94
+ const [trackWidth, setTrackWidth] = useState(0);
95
+ const offset = useRef(new Animated.Value(0)).current;
96
+ const placed = useRef(false);
97
+ const index = options.findIndex(option => option.value === value);
98
+ const segmentWidth = trackWidth > 0 && options.length > 0 ? (trackWidth - TRACK_PADDING * 2) / options.length : 0;
99
+ const showIndicator = segmentWidth > 0 && index >= 0;
100
+ // transform isn't mirrored in RTL: the indicator starts at the right edge
101
+ // (`start`), so it moves left.
102
+ const target = index * segmentWidth * (I18nManager.isRTL ? -1 : 1);
103
+ useEffect(() => {
104
+ if (!showIndicator) return;
105
+ // First placement (and Reduce Motion) jumps; only a change of value slides.
106
+ if (!placed.current || reduceMotion) {
107
+ placed.current = true;
108
+ offset.setValue(target);
109
+ return;
110
+ }
111
+ const animation = Animated.timing(offset, {
112
+ toValue: target,
113
+ duration: theme.tokens.duration.base,
114
+ easing: Easing.out(Easing.cubic),
115
+ useNativeDriver: true
116
+ });
117
+ animation.start();
118
+ return () => animation.stop();
119
+ }, [target, showIndicator, reduceMotion, offset, theme.tokens.duration.base]);
120
+
121
+ // A new width (rotation, resize) places the indicator without animating.
122
+ const onLayout = e => {
123
+ const width = e.nativeEvent.layout.width;
124
+ if (width === trackWidth) return;
125
+ placed.current = false;
126
+ setTrackWidth(width);
127
+ };
128
+ const activeDisabled = disabled || !!options[index]?.disabled;
129
+ return /*#__PURE__*/_jsxs(View, {
55
130
  style: [styles.track, style],
56
131
  accessibilityRole: "radiogroup",
57
132
  testID: testID,
58
- children: options.map(option => {
133
+ onLayout: onLayout,
134
+ children: [showIndicator && /*#__PURE__*/_jsx(Animated.View, {
135
+ pointerEvents: "none",
136
+ testID: testID && `${testID}-indicator`,
137
+ style: [styles.indicator, styles.segmentActive, {
138
+ width: segmentWidth,
139
+ transform: [{
140
+ translateX: offset
141
+ }]
142
+ }, activeDisabled && styles.segmentDisabled]
143
+ }), options.map(option => {
59
144
  const active = option.value === value;
60
145
  const isDisabled = disabled || !!option.disabled;
61
146
  return /*#__PURE__*/_jsx(TouchableOpacity, {
62
- style: [styles.segment, active && styles.segmentActive, isDisabled && styles.segmentDisabled],
63
- onPress: () => onChange(option.value),
147
+ style: [styles.segment, active && !showIndicator && styles.segmentActive, isDisabled && styles.segmentDisabled],
148
+ onPress: () => {
149
+ if (!active) onChange(option.value);
150
+ },
64
151
  disabled: isDisabled,
152
+ hitSlop: HIT_SLOP,
65
153
  accessibilityRole: "radio",
66
154
  accessibilityState: {
67
155
  selected: active,
@@ -72,15 +160,16 @@ function SegmentedControlInner({
72
160
  testID: testID && `${testID}-${option.value}`,
73
161
  children: /*#__PURE__*/_jsx(Text, {
74
162
  allowFontScaling: allowFontScaling,
163
+ numberOfLines: 1,
75
164
  style: [styles.label, active && styles.labelActive],
76
165
  children: option.label
77
166
  })
78
167
  }, option.value);
79
- })
168
+ })]
80
169
  });
81
170
  }
82
171
 
83
- // memo() pierde los genéricos al envolver: el cast los devuelve para que
84
- // `value` y `onChange` sigan atados al union de `options`.
172
+ // memo() loses generics when wrapping: the cast restores them so that
173
+ // `value` and `onChange` stay tied to the union of `options`.
85
174
  export const SegmentedControl = /*#__PURE__*/memo(SegmentedControlInner);
86
175
  //# sourceMappingURL=SegmentedControl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","Text","TouchableOpacity","View","createStyles","useAllowFontScaling","jsx","_jsx","useStyles","theme","track","flexDirection","backgroundColor","colors","inputBackground","borderRadius","tokens","radius","md","padding","segment","flex","paddingVertical","spacing","sm","alignItems","segmentActive","surface","shadow","segmentDisabled","opacity","label","fontSize","fontWeight","medium","color","textLight","labelActive","primaryText","semibold","SegmentedControlInner","options","value","onChange","disabled","style","testID","styles","allowFontScaling","accessibilityRole","children","map","option","active","isDisabled","onPress","accessibilityState","selected","checked","accessibilityLabel","SegmentedControl"],"sourceRoot":"../../../src","sources":["molecules/SegmentedControl.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useEffect","useRef","useState","Animated","Easing","I18nManager","Text","TouchableOpacity","View","createStyles","useAllowFontScaling","useTheme","useReduceMotion","jsx","_jsx","jsxs","_jsxs","TRACK_PADDING","MIN_TOUCH","DISABLED_OPACITY","HIT_SLOP","top","bottom","useStyles","theme","track","flexDirection","backgroundColor","colors","inputBackground","borderRadius","tokens","radius","md","padding","segment","flex","minHeight","paddingVertical","spacing","sm","paddingHorizontal","xs","alignItems","justifyContent","indicator","position","start","segmentActive","scheme","primarySoft","surface","shadow","segmentDisabled","opacity","label","fontSize","lineHeight","fontWeight","medium","color","textLight","labelActive","primaryText","semibold","SegmentedControlInner","options","value","onChange","disabled","style","testID","styles","allowFontScaling","reduceMotion","trackWidth","setTrackWidth","offset","Value","current","placed","index","findIndex","option","segmentWidth","length","showIndicator","target","isRTL","setValue","animation","timing","toValue","duration","base","easing","out","cubic","useNativeDriver","stop","onLayout","e","width","nativeEvent","layout","activeDisabled","accessibilityRole","children","pointerEvents","transform","translateX","map","active","isDisabled","onPress","hitSlop","accessibilityState","selected","checked","accessibilityLabel","numberOfLines","SegmentedControl"],"sourceRoot":"../../../src","sources":["molecules/SegmentedControl.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SACEC,QAAQ,EACRC,MAAM,EACNC,WAAW,EACXC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QAIC,cAAc;AACrB,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,mBAAmB,EAAEC,QAAQ,QAAQ,qBAAqB;AACnE,SAASC,eAAe,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAuB3D;AACA,MAAMC,aAAa,GAAG,CAAC;AACvB;AACA,MAAMC,SAAS,GAAG,EAAE;AACpB,MAAMC,gBAAgB,GAAG,GAAG;AAC5B,MAAMC,QAAQ,GAAG;EAAEC,GAAG,EAAEJ,aAAa;EAAEK,MAAM,EAAEL;AAAc,CAAC;AAE9D,MAAMM,SAAS,GAAGd,YAAY,CAAEe,KAAK,KAAM;EACzCC,KAAK,EAAE;IACLC,aAAa,EAAE,KAAK;IACpBC,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACC,eAAe;IAC7CC,YAAY,EAAEN,KAAK,CAACO,MAAM,CAACC,MAAM,CAACC,EAAE;IACpCC,OAAO,EAAEjB;EACX,CAAC;EACDkB,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;IACPC,SAAS,EAAEnB,SAAS,GAAGD,aAAa,GAAG,CAAC;IACxCqB,eAAe,EAAEd,KAAK,CAACO,MAAM,CAACQ,OAAO,CAACC,EAAE;IACxCC,iBAAiB,EAAEjB,KAAK,CAACO,MAAM,CAACQ,OAAO,CAACG,EAAE;IAC1CZ,YAAY,EAAEN,KAAK,CAACO,MAAM,CAACC,MAAM,CAACQ,EAAE;IACpCG,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD;EACA;EACA;EACA;EACA;EACAC,SAAS,EAAE;IACTC,QAAQ,EAAE,UAAU;IACpBzB,GAAG,EAAEJ,aAAa;IAClBK,MAAM,EAAEL,aAAa;IACrB8B,KAAK,EAAE9B,aAAa;IACpBa,YAAY,EAAEN,KAAK,CAACO,MAAM,CAACC,MAAM,CAACQ;EACpC,CAAC;EACDQ,aAAa,EACXxB,KAAK,CAACyB,MAAM,KAAK,MAAM,GACnB;IAAEtB,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACsB;EAAY,CAAC,GAC7C;IAAEvB,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACuB,OAAO;IAAE,GAAG3B,KAAK,CAACO,MAAM,CAACqB,MAAM,CAACZ;EAAG,CAAC;EAC1Ea,eAAe,EAAE;IAAEC,OAAO,EAAEnC;EAAiB,CAAC;EAC9CoC,KAAK,EAAE;IACLC,QAAQ,EAAEhC,KAAK,CAACO,MAAM,CAACyB,QAAQ,CAACvB,EAAE;IAClCwB,UAAU,EAAEjC,KAAK,CAACO,MAAM,CAAC0B,UAAU,CAACxB,EAAE;IACtCyB,UAAU,EAAElC,KAAK,CAACO,MAAM,CAAC2B,UAAU,CAACC,MAAM;IAC1CC,KAAK,EAAEpC,KAAK,CAACI,MAAM,CAACiC;EACtB,CAAC;EACDC,WAAW,EAAE;IAAEF,KAAK,EAAEpC,KAAK,CAACI,MAAM,CAACmC,WAAW;IAAEL,UAAU,EAAElC,KAAK,CAACO,MAAM,CAAC2B,UAAU,CAACM;EAAS;AAC/F,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAAmB;EAC/CC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC,KAAK;EACLC;AACwB,CAAC,EAAE;EAC3B,MAAMC,MAAM,GAAGjD,SAAS,CAAC,CAAC;EAC1B,MAAMC,KAAK,GAAGb,QAAQ,CAAC,CAAC;EACxB,MAAM8D,gBAAgB,GAAG/D,mBAAmB,CAAC,CAAC;EAC9C,MAAMgE,YAAY,GAAG9D,eAAe,CAAC,CAAC;EACtC,MAAM,CAAC+D,UAAU,EAAEC,aAAa,CAAC,GAAG1E,QAAQ,CAAC,CAAC,CAAC;EAC/C,MAAM2E,MAAM,GAAG5E,MAAM,CAAC,IAAIE,QAAQ,CAAC2E,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EACpD,MAAMC,MAAM,GAAG/E,MAAM,CAAC,KAAK,CAAC;EAE5B,MAAMgF,KAAK,GAAGf,OAAO,CAACgB,SAAS,CAAEC,MAAM,IAAKA,MAAM,CAAChB,KAAK,KAAKA,KAAK,CAAC;EACnE,MAAMiB,YAAY,GAAGT,UAAU,GAAG,CAAC,IAAIT,OAAO,CAACmB,MAAM,GAAG,CAAC,GAAG,CAACV,UAAU,GAAG1D,aAAa,GAAG,CAAC,IAAIiD,OAAO,CAACmB,MAAM,GAAG,CAAC;EACjH,MAAMC,aAAa,GAAGF,YAAY,GAAG,CAAC,IAAIH,KAAK,IAAI,CAAC;EACpD;EACA;EACA,MAAMM,MAAM,GAAGN,KAAK,GAAGG,YAAY,IAAI/E,WAAW,CAACmF,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAElExF,SAAS,CAAC,MAAM;IACd,IAAI,CAACsF,aAAa,EAAE;IACpB;IACA,IAAI,CAACN,MAAM,CAACD,OAAO,IAAIL,YAAY,EAAE;MACnCM,MAAM,CAACD,OAAO,GAAG,IAAI;MACrBF,MAAM,CAACY,QAAQ,CAACF,MAAM,CAAC;MACvB;IACF;IACA,MAAMG,SAAS,GAAGvF,QAAQ,CAACwF,MAAM,CAACd,MAAM,EAAE;MACxCe,OAAO,EAAEL,MAAM;MACfM,QAAQ,EAAErE,KAAK,CAACO,MAAM,CAAC8D,QAAQ,CAACC,IAAI;MACpCC,MAAM,EAAE3F,MAAM,CAAC4F,GAAG,CAAC5F,MAAM,CAAC6F,KAAK,CAAC;MAChCC,eAAe,EAAE;IACnB,CAAC,CAAC;IACFR,SAAS,CAAC3C,KAAK,CAAC,CAAC;IACjB,OAAO,MAAM2C,SAAS,CAACS,IAAI,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACZ,MAAM,EAAED,aAAa,EAAEZ,YAAY,EAAEG,MAAM,EAAErD,KAAK,CAACO,MAAM,CAAC8D,QAAQ,CAACC,IAAI,CAAC,CAAC;;EAE7E;EACA,MAAMM,QAAQ,GAAIC,CAAoB,IAAK;IACzC,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACF,KAAK;IACxC,IAAIA,KAAK,KAAK3B,UAAU,EAAE;IAC1BK,MAAM,CAACD,OAAO,GAAG,KAAK;IACtBH,aAAa,CAAC0B,KAAK,CAAC;EACtB,CAAC;EAED,MAAMG,cAAc,GAAGpC,QAAQ,IAAI,CAAC,CAACH,OAAO,CAACe,KAAK,CAAC,EAAEZ,QAAQ;EAE7D,oBACErD,KAAA,CAACR,IAAI;IAAC8D,KAAK,EAAE,CAACE,MAAM,CAAC/C,KAAK,EAAE6C,KAAK,CAAE;IAACoC,iBAAiB,EAAC,YAAY;IAACnC,MAAM,EAAEA,MAAO;IAAC6B,QAAQ,EAAEA,QAAS;IAAAO,QAAA,GACnGrB,aAAa,iBACZxE,IAAA,CAACX,QAAQ,CAACK,IAAI;MACZoG,aAAa,EAAC,MAAM;MACpBrC,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,YAAa;MACxCD,KAAK,EAAE,CACLE,MAAM,CAAC3B,SAAS,EAChB2B,MAAM,CAACxB,aAAa,EACpB;QAAEsD,KAAK,EAAElB,YAAY;QAAEyB,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAEjC;QAAO,CAAC;MAAE,CAAC,EAC5D4B,cAAc,IAAIjC,MAAM,CAACnB,eAAe;IACxC,CACH,CACF,EACAa,OAAO,CAAC6C,GAAG,CAAE5B,MAAM,IAAK;MACvB,MAAM6B,MAAM,GAAG7B,MAAM,CAAChB,KAAK,KAAKA,KAAK;MACrC,MAAM8C,UAAU,GAAG5C,QAAQ,IAAI,CAAC,CAACc,MAAM,CAACd,QAAQ;MAChD,oBACEvD,IAAA,CAACP,gBAAgB;QAEf+D,KAAK,EAAE,CACLE,MAAM,CAACrC,OAAO,EACd6E,MAAM,IAAI,CAAC1B,aAAa,IAAId,MAAM,CAACxB,aAAa,EAChDiE,UAAU,IAAIzC,MAAM,CAACnB,eAAe,CACpC;QACF6D,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACF,MAAM,EAAE5C,QAAQ,CAACe,MAAM,CAAChB,KAAK,CAAC;QACrC,CAAE;QACFE,QAAQ,EAAE4C,UAAW;QACrBE,OAAO,EAAE/F,QAAS;QAClBsF,iBAAiB,EAAC,OAAO;QACzBU,kBAAkB,EAAE;UAAEC,QAAQ,EAAEL,MAAM;UAAEM,OAAO,EAAEN,MAAM;UAAE3C,QAAQ,EAAE4C;QAAW,CAAE;QAChFM,kBAAkB,EAAEpC,MAAM,CAAC5B,KAAM;QACjCgB,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,IAAIY,MAAM,CAAChB,KAAK,EAAG;QAAAwC,QAAA,eAE9C7F,IAAA,CAACR,IAAI;UACHmE,gBAAgB,EAAEA,gBAAiB;UACnC+C,aAAa,EAAE,CAAE;UACjBlD,KAAK,EAAE,CAACE,MAAM,CAACjB,KAAK,EAAEyD,MAAM,IAAIxC,MAAM,CAACV,WAAW,CAAE;UAAA6C,QAAA,EAEnDxB,MAAM,CAAC5B;QAAK,CACT;MAAC,GAtBF4B,MAAM,CAAChB,KAuBI,CAAC;IAEvB,CAAC,CAAC;EAAA,CACE,CAAC;AAEX;;AAEA;AACA;AACA,OAAO,MAAMsD,gBAAgB,gBAAG1H,IAAI,CAACkE,qBAAqB,CAAiC","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo, useState } from 'react';
3
+ import React, { memo, useRef, useState } from 'react';
4
4
  import { TextInput, TouchableOpacity, View } from 'react-native';
5
5
  import { createStyles } from '../theme/createStyles';
6
- import { useAllowFontScaling, useColors, useTheme } from '../theme/UIProvider';
6
+ import { useAllowFontScaling, useColors, useLabels, useTheme } from '../theme/UIProvider';
7
+ import { useKeyboardField } from '../theme/useKeyboardField';
7
8
  import { Icon } from '../icons/Icon';
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const SIZES = {
@@ -23,6 +24,14 @@ const SIZES = {
23
24
  inputWidth: 64
24
25
  }
25
26
  };
27
+
28
+ /** Minimum touch target (Fitts): smaller buttons reach it with hitSlop. */
29
+ const MIN_TOUCH = 44;
30
+ const ADJUST_ACTIONS = [{
31
+ name: 'increment'
32
+ }, {
33
+ name: 'decrement'
34
+ }];
26
35
  const useStyles = createStyles(theme => ({
27
36
  control: {
28
37
  flexDirection: 'row',
@@ -48,14 +57,14 @@ const useStyles = createStyles(theme => ({
48
57
  borderRightWidth: 1,
49
58
  borderColor: theme.colors.border
50
59
  },
51
- // El fondo distingue el campo de un valor de sólo lectura: es la única
52
- // señal de que ahí se puede tipear antes de tocarlo.
60
+ // The background tells the field apart from a read-only value: it is the
61
+ // only hint that you can type there before touching it.
53
62
  editable: {
54
63
  backgroundColor: theme.colors.inputBackground
55
64
  }
56
65
  }));
57
66
 
58
- /** Deja sólo lo que puede formar parte del número permitido por el rango. */
67
+ /** Keeps only what can be part of a number allowed by the range. */
59
68
  export function sanitizeNumeric(text, {
60
69
  allowDecimals = false,
61
70
  allowNegative = false
@@ -70,12 +79,20 @@ export function sanitizeNumeric(text, {
70
79
 
71
80
  /**
72
81
  * Stepper
73
- * Botón "-" + input numérico editable + botón "+". `size` controla sólo la
74
- * escala y `block` sólo el ancho, así que los dos ejes se combinan libremente.
82
+ * "-" button + editable numeric input + "+" button. `size` controls only the
83
+ * scale and `block` only the width, so both axes combine freely.
84
+ *
85
+ * The component doesn't do the buttons' arithmetic —that lives in
86
+ * `onIncrement`/`onDecrement`—, but it does clean up what is typed and signals
87
+ * when the value hit an end of the range by disabling the button that would pass it.
75
88
  *
76
- * El componente no hace la aritmética de los botones —eso vive en
77
- * `onIncrement`/`onDecrement`—, pero sí limpia lo que se tipea y avisa cuándo
78
- * el valor llegó a un extremo del rango deshabilitando el botón que lo pasaría.
89
+ * Gestalt, common region: the three parts share one border, so they read as a
90
+ * single control; the field is set apart by its fill (it can be typed into).
91
+ * Fitts: every button reaches 44pt, `sm` through hitSlop.
92
+ *
93
+ * Accessibility: the field is an adjustable element — VoiceOver/TalkBack users
94
+ * swipe up/down to step the value — and every name comes from `labels`. Like
95
+ * Input, it stays visible above the keyboard while typing.
79
96
  */
80
97
  export const Stepper = /*#__PURE__*/memo(({
81
98
  value,
@@ -89,21 +106,32 @@ export const Stepper = /*#__PURE__*/memo(({
89
106
  max,
90
107
  allowDecimals = false,
91
108
  style,
92
- incrementAccessibilityLabel = 'Increment',
93
- decrementAccessibilityLabel = 'Decrement',
109
+ accessibilityLabel,
110
+ incrementAccessibilityLabel,
111
+ decrementAccessibilityLabel,
94
112
  testID
95
113
  }) => {
96
114
  const theme = useTheme();
97
115
  const colors = useColors();
98
116
  const styles = useStyles();
117
+ const labels = useLabels();
99
118
  const allowFontScaling = useAllowFontScaling();
100
119
  const [focused, setFocused] = useState(false);
120
+ const controlRef = useRef(null);
121
+ const keyboard = useKeyboardField(controlRef);
101
122
  const {
102
123
  height,
103
124
  icon,
104
125
  inputWidth
105
126
  } = SIZES[size];
106
127
  const fontSize = size === 'sm' ? theme.tokens.fontSize.md : size === 'md' ? theme.tokens.fontSize.lg : theme.tokens.fontSize.xl;
128
+ const slopV = Math.max(0, (MIN_TOUCH - height) / 2);
129
+ const hitSlop = slopV > 0 ? {
130
+ top: slopV,
131
+ bottom: slopV,
132
+ left: slopV,
133
+ right: slopV
134
+ } : undefined;
107
135
  const allowNegative = min !== undefined && min < 0;
108
136
  const numeric = Number(value);
109
137
  const isNumber = value.trim() !== '' && Number.isFinite(numeric);
@@ -116,17 +144,24 @@ export const Stepper = /*#__PURE__*/memo(({
116
144
  }));
117
145
  };
118
146
 
119
- // El recorte al rango espera al blur: hacerlo mientras se tipea impide
120
- // llegar a "12" cuando el mínimo es 5, porque el "1" ya se corregiría.
147
+ // Clamping to the range waits for blur: doing it while typing makes it
148
+ // impossible to reach "12" when the minimum is 5, because the "1" would
149
+ // already be corrected.
121
150
  const handleBlur = () => {
122
151
  setFocused(false);
152
+ keyboard.blur();
123
153
  if (!isNumber) return;
124
154
  const clamped = Math.min(max ?? numeric, Math.max(min ?? numeric, numeric));
125
155
  if (clamped !== numeric) onChangeText(String(clamped));
126
156
  };
157
+ const handleAccessibilityAction = e => {
158
+ if (e.nativeEvent.actionName === 'increment' && !atMax) onIncrement();
159
+ if (e.nativeEvent.actionName === 'decrement' && !atMin) onDecrement();
160
+ };
127
161
  const stepButton = (direction, onPress, disabled, label) => /*#__PURE__*/_jsx(TouchableOpacity, {
128
162
  onPress: onPress,
129
163
  disabled: disabled,
164
+ hitSlop: hitSlop,
130
165
  style: [styles.btn, {
131
166
  width: height
132
167
  }],
@@ -143,13 +178,14 @@ export const Stepper = /*#__PURE__*/memo(({
143
178
  })
144
179
  });
145
180
  return /*#__PURE__*/_jsxs(View, {
181
+ ref: controlRef,
146
182
  testID: testID,
147
183
  style: [styles.control, {
148
184
  height
149
185
  }, block && styles.controlBlock, focused && {
150
186
  borderColor: colors.primary
151
187
  }, style],
152
- children: [stepButton('decrement', onDecrement, atMin, decrementAccessibilityLabel), /*#__PURE__*/_jsx(TextInput, {
188
+ children: [stepButton('decrement', onDecrement, atMin, decrementAccessibilityLabel ?? labels.decrement), /*#__PURE__*/_jsx(TextInput, {
153
189
  allowFontScaling: allowFontScaling,
154
190
  style: [styles.input, {
155
191
  fontSize
@@ -162,13 +198,22 @@ export const Stepper = /*#__PURE__*/memo(({
162
198
  }],
163
199
  value: value,
164
200
  onChangeText: handleChangeText,
165
- onFocus: () => setFocused(true),
201
+ onFocus: () => {
202
+ setFocused(true);
203
+ keyboard.focus();
204
+ },
166
205
  onBlur: handleBlur,
167
206
  editable: editable,
168
207
  keyboardType: allowDecimals ? 'decimal-pad' : 'number-pad',
169
208
  selectTextOnFocus: true,
170
- accessibilityLabel: "Quantity"
171
- }), stepButton('increment', onIncrement, atMax, incrementAccessibilityLabel)]
209
+ accessibilityLabel: accessibilityLabel ?? labels.quantity,
210
+ accessibilityRole: "adjustable",
211
+ accessibilityValue: {
212
+ text: value
213
+ },
214
+ accessibilityActions: ADJUST_ACTIONS,
215
+ onAccessibilityAction: handleAccessibilityAction
216
+ }), stepButton('increment', onIncrement, atMax, incrementAccessibilityLabel ?? labels.increment)]
172
217
  });
173
218
  });
174
219
  Stepper.displayName = 'Stepper';
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useState","TextInput","TouchableOpacity","View","createStyles","useAllowFontScaling","useColors","useTheme","Icon","jsx","_jsx","jsxs","_jsxs","SIZES","sm","height","icon","inputWidth","md","lg","useStyles","theme","control","flexDirection","alignItems","alignSelf","borderWidth","borderColor","colors","border","borderRadius","tokens","radius","controlBlock","btn","justifyContent","input","textAlign","color","text","borderLeftWidth","borderRightWidth","editable","backgroundColor","inputBackground","sanitizeNumeric","allowDecimals","allowNegative","normalized","replace","negative","trimStart","startsWith","digits","whole","decimals","split","body","length","join","Stepper","value","onChangeText","onIncrement","onDecrement","size","block","min","max","style","incrementAccessibilityLabel","decrementAccessibilityLabel","testID","styles","allowFontScaling","focused","setFocused","fontSize","xl","undefined","numeric","Number","isNumber","trim","isFinite","atMin","atMax","handleChangeText","handleBlur","clamped","Math","String","stepButton","direction","onPress","disabled","label","width","accessibilityRole","accessibilityLabel","accessibilityState","children","name","textLight","primary","flex","onFocus","onBlur","keyboardType","selectTextOnFocus","displayName"],"sourceRoot":"../../../src","sources":["molecules/Stepper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useRef","useState","TextInput","TouchableOpacity","View","createStyles","useAllowFontScaling","useColors","useLabels","useTheme","useKeyboardField","Icon","jsx","_jsx","jsxs","_jsxs","SIZES","sm","height","icon","inputWidth","md","lg","MIN_TOUCH","ADJUST_ACTIONS","name","useStyles","theme","control","flexDirection","alignItems","alignSelf","borderWidth","borderColor","colors","border","borderRadius","tokens","radius","controlBlock","btn","justifyContent","input","textAlign","color","text","borderLeftWidth","borderRightWidth","editable","backgroundColor","inputBackground","sanitizeNumeric","allowDecimals","allowNegative","normalized","replace","negative","trimStart","startsWith","digits","whole","decimals","split","body","length","join","Stepper","value","onChangeText","onIncrement","onDecrement","size","block","min","max","style","accessibilityLabel","incrementAccessibilityLabel","decrementAccessibilityLabel","testID","styles","labels","allowFontScaling","focused","setFocused","controlRef","keyboard","fontSize","xl","slopV","Math","hitSlop","top","bottom","left","right","undefined","numeric","Number","isNumber","trim","isFinite","atMin","atMax","handleChangeText","handleBlur","blur","clamped","String","handleAccessibilityAction","e","nativeEvent","actionName","stepButton","direction","onPress","disabled","label","width","accessibilityRole","accessibilityState","children","textLight","primary","ref","decrement","flex","onFocus","focus","onBlur","keyboardType","selectTextOnFocus","quantity","accessibilityValue","accessibilityActions","onAccessibilityAction","increment","displayName"],"sourceRoot":"../../../src","sources":["molecules/Stepper.tsx"],"mappings":"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","ignoreList":[]}