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 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_PressableScale","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","card","flex","alignItems","justifyContent","backgroundColor","colors","surface","borderRadius","tokens","radius","md","borderWidth","borderColor","border","shadow","sm","cardHorizontal","flexDirection","padding","spacing","gap","cardVertical","minHeight","cardSelected","primary","primarySoft","elevation","shadowOpacity","cardDisabled","opacity","text","flexShrink","textVertical","label","color","textLight","fontWeight","medium","labelVertical","fontSize","xs","textAlign","labelSelected","primaryText","description","marginTop","descriptionVertical","OptionCard","exports","memo","iconName","isSelected","onPress","disabled","layout","style","testID","useColors","styles","allowFontScaling","useAllowFontScaling","isVertical","jsxs","PressableScale","accessibilityRole","accessibilityState","selected","checked","accessibilityLabel","accessibilityHint","children","jsx","Icon","name","size","View","Text","displayName"],"sourceRoot":"../../../src","sources":["molecules/OptionCard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_PressableScale","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ICON_SIZE","VERTICAL_MIN_HEIGHT","DISABLED_OPACITY","BORDER","BORDER_SELECTED","useStyles","createStyles","theme","card","flex","alignItems","justifyContent","backgroundColor","colors","surfaceRaised","borderRadius","tokens","radius","md","borderWidth","borderColor","border","padding","spacing","shadow","sm","cardHorizontal","flexDirection","gap","cardVertical","minHeight","cardSelected","primary","primarySoft","elevation","shadowOpacity","cardDisabled","opacity","text","flexShrink","textVertical","label","color","fontSize","lineHeight","fontWeight","medium","labelVertical","textAlign","labelSelected","primaryText","description","textLight","marginTop","xxs","descriptionVertical","OptionCard","exports","memo","iconName","isSelected","onPress","disabled","layout","style","testID","useColors","styles","allowFontScaling","useAllowFontScaling","isVertical","jsxs","PressableScale","accessibilityRole","accessibilityState","selected","checked","accessibilityLabel","children","jsx","Icon","name","size","View","Text","displayName"],"sourceRoot":"../../../src","sources":["molecules/OptionCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,30 +8,58 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _createStyles = require("../theme/createStyles");
10
10
  var _UIProvider = require("../theme/UIProvider");
11
+ var _useReduceMotion = require("../theme/useReduceMotion");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /** Inset between the track and the segments. */
15
+ const TRACK_PADDING = 3;
16
+ /** Minimum touch target (Fitts): the segment plus the track inset reach it. */
17
+ const MIN_TOUCH = 44;
18
+ const DISABLED_OPACITY = 0.5;
19
+ const HIT_SLOP = {
20
+ top: TRACK_PADDING,
21
+ bottom: TRACK_PADDING
22
+ };
13
23
  const useStyles = (0, _createStyles.createStyles)(theme => ({
14
24
  track: {
15
25
  flexDirection: 'row',
16
26
  backgroundColor: theme.colors.inputBackground,
17
27
  borderRadius: theme.tokens.radius.md,
18
- padding: 3
28
+ padding: TRACK_PADDING
19
29
  },
20
30
  segment: {
21
31
  flex: 1,
32
+ minHeight: MIN_TOUCH - TRACK_PADDING * 2,
22
33
  paddingVertical: theme.tokens.spacing.sm,
34
+ paddingHorizontal: theme.tokens.spacing.xs,
23
35
  borderRadius: theme.tokens.radius.sm,
24
- alignItems: 'center'
36
+ alignItems: 'center',
37
+ justifyContent: 'center'
25
38
  },
26
- segmentActive: {
39
+ // Light: a white segment with a shadow over the grey track. Dark: shadows
40
+ // don't show and `surface` is darker than the track (the segment looked
41
+ // sunken), so the selected one takes the soft accent fill instead.
42
+ // One shared indicator slides under the segments; until the track is
43
+ // measured, the selected segment paints this same fill itself.
44
+ indicator: {
45
+ position: 'absolute',
46
+ top: TRACK_PADDING,
47
+ bottom: TRACK_PADDING,
48
+ start: TRACK_PADDING,
49
+ borderRadius: theme.tokens.radius.sm
50
+ },
51
+ segmentActive: theme.scheme === 'dark' ? {
52
+ backgroundColor: theme.colors.primarySoft
53
+ } : {
27
54
  backgroundColor: theme.colors.surface,
28
55
  ...theme.tokens.shadow.sm
29
56
  },
30
57
  segmentDisabled: {
31
- opacity: 0.5
58
+ opacity: DISABLED_OPACITY
32
59
  },
33
60
  label: {
34
- fontSize: theme.tokens.fontSize.sm,
61
+ fontSize: theme.tokens.fontSize.md,
62
+ lineHeight: theme.tokens.lineHeight.md,
35
63
  fontWeight: theme.tokens.fontWeight.medium,
36
64
  color: theme.colors.textLight
37
65
  },
@@ -43,8 +71,18 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
43
71
 
44
72
  /**
45
73
  * SegmentedControl
46
- * Elige una opción entre pocas, todas visibles. No conoce ningún estado
47
- * global: recibe `value` y avisa por `onChange`.
74
+ * Picks one option among a few, all visible. It knows no global state:
75
+ * it receives `value` and reports through `onChange`.
76
+ *
77
+ * Gestalt, common region: one track holds every segment, so they read as a
78
+ * single question. Similarity: equal widths and one line each, so no option
79
+ * looks more important. Figure-ground: the selected segment is raised (surface
80
+ * + shadow) above the sunken track; in dark, where shadows vanish, it takes
81
+ * the soft accent fill. Fitts: every segment reaches 44pt.
82
+ *
83
+ * Continuity: the selection is one indicator that slides from the old segment
84
+ * to the new one, so the eye follows the change instead of seeing one fill
85
+ * vanish and another appear. With Reduce Motion it jumps.
48
86
  */
49
87
  function SegmentedControlInner({
50
88
  options,
@@ -55,18 +93,68 @@ function SegmentedControlInner({
55
93
  testID
56
94
  }) {
57
95
  const styles = useStyles();
96
+ const theme = (0, _UIProvider.useTheme)();
58
97
  const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
59
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
98
+ const reduceMotion = (0, _useReduceMotion.useReduceMotion)();
99
+ const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
100
+ const offset = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
101
+ const placed = (0, _react.useRef)(false);
102
+ const index = options.findIndex(option => option.value === value);
103
+ const segmentWidth = trackWidth > 0 && options.length > 0 ? (trackWidth - TRACK_PADDING * 2) / options.length : 0;
104
+ const showIndicator = segmentWidth > 0 && index >= 0;
105
+ // transform isn't mirrored in RTL: the indicator starts at the right edge
106
+ // (`start`), so it moves left.
107
+ const target = index * segmentWidth * (_reactNative.I18nManager.isRTL ? -1 : 1);
108
+ (0, _react.useEffect)(() => {
109
+ if (!showIndicator) return;
110
+ // First placement (and Reduce Motion) jumps; only a change of value slides.
111
+ if (!placed.current || reduceMotion) {
112
+ placed.current = true;
113
+ offset.setValue(target);
114
+ return;
115
+ }
116
+ const animation = _reactNative.Animated.timing(offset, {
117
+ toValue: target,
118
+ duration: theme.tokens.duration.base,
119
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
120
+ useNativeDriver: true
121
+ });
122
+ animation.start();
123
+ return () => animation.stop();
124
+ }, [target, showIndicator, reduceMotion, offset, theme.tokens.duration.base]);
125
+
126
+ // A new width (rotation, resize) places the indicator without animating.
127
+ const onLayout = e => {
128
+ const width = e.nativeEvent.layout.width;
129
+ if (width === trackWidth) return;
130
+ placed.current = false;
131
+ setTrackWidth(width);
132
+ };
133
+ const activeDisabled = disabled || !!options[index]?.disabled;
134
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
60
135
  style: [styles.track, style],
61
136
  accessibilityRole: "radiogroup",
62
137
  testID: testID,
63
- children: options.map(option => {
138
+ onLayout: onLayout,
139
+ children: [showIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
140
+ pointerEvents: "none",
141
+ testID: testID && `${testID}-indicator`,
142
+ style: [styles.indicator, styles.segmentActive, {
143
+ width: segmentWidth,
144
+ transform: [{
145
+ translateX: offset
146
+ }]
147
+ }, activeDisabled && styles.segmentDisabled]
148
+ }), options.map(option => {
64
149
  const active = option.value === value;
65
150
  const isDisabled = disabled || !!option.disabled;
66
151
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
67
- style: [styles.segment, active && styles.segmentActive, isDisabled && styles.segmentDisabled],
68
- onPress: () => onChange(option.value),
152
+ style: [styles.segment, active && !showIndicator && styles.segmentActive, isDisabled && styles.segmentDisabled],
153
+ onPress: () => {
154
+ if (!active) onChange(option.value);
155
+ },
69
156
  disabled: isDisabled,
157
+ hitSlop: HIT_SLOP,
70
158
  accessibilityRole: "radio",
71
159
  accessibilityState: {
72
160
  selected: active,
@@ -77,15 +165,16 @@ function SegmentedControlInner({
77
165
  testID: testID && `${testID}-${option.value}`,
78
166
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
79
167
  allowFontScaling: allowFontScaling,
168
+ numberOfLines: 1,
80
169
  style: [styles.label, active && styles.labelActive],
81
170
  children: option.label
82
171
  })
83
172
  }, option.value);
84
- })
173
+ })]
85
174
  });
86
175
  }
87
176
 
88
- // memo() pierde los genéricos al envolver: el cast los devuelve para que
89
- // `value` y `onChange` sigan atados al union de `options`.
177
+ // memo() loses generics when wrapping: the cast restores them so that
178
+ // `value` and `onChange` stay tied to the union of `options`.
90
179
  const SegmentedControl = exports.SegmentedControl = /*#__PURE__*/(0, _react.memo)(SegmentedControlInner);
91
180
  //# sourceMappingURL=SegmentedControl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","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","useAllowFontScaling","jsx","View","accessibilityRole","children","map","option","active","isDisabled","TouchableOpacity","onPress","accessibilityState","selected","checked","accessibilityLabel","Text","SegmentedControl","exports","memo"],"sourceRoot":"../../../src","sources":["molecules/SegmentedControl.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA0D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAiB1D,MAAMkB,SAAS,GAAG,IAAAC,0BAAY,EAAEC,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,EAAE;EACX,CAAC;EACDC,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAEb,KAAK,CAACO,MAAM,CAACO,OAAO,CAACC,EAAE;IACxCT,YAAY,EAAEN,KAAK,CAACO,MAAM,CAACC,MAAM,CAACO,EAAE;IACpCC,UAAU,EAAE;EACd,CAAC;EACDC,aAAa,EAAE;IAAEd,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACc,OAAO;IAAE,GAAGlB,KAAK,CAACO,MAAM,CAACY,MAAM,CAACJ;EAAG,CAAC;EACnFK,eAAe,EAAE;IAAEC,OAAO,EAAE;EAAI,CAAC;EACjCC,KAAK,EAAE;IAAEC,QAAQ,EAAEvB,KAAK,CAACO,MAAM,CAACgB,QAAQ,CAACR,EAAE;IAAES,UAAU,EAAExB,KAAK,CAACO,MAAM,CAACiB,UAAU,CAACC,MAAM;IAAEC,KAAK,EAAE1B,KAAK,CAACI,MAAM,CAACuB;EAAU,CAAC;EACxHC,WAAW,EAAE;IAAEF,KAAK,EAAE1B,KAAK,CAACI,MAAM,CAACyB,WAAW;IAAEL,UAAU,EAAExB,KAAK,CAACO,MAAM,CAACiB,UAAU,CAACM;EAAS;AAC/F,CAAC,CAAC,CAAC;;AAEH;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,GAAGxC,SAAS,CAAC,CAAC;EAC1B,MAAMyC,gBAAgB,GAAG,IAAAC,+BAAmB,EAAC,CAAC;EAE9C,oBACE,IAAA9D,WAAA,CAAA+D,GAAA,EAAClE,YAAA,CAAAmE,IAAI;IAACN,KAAK,EAAE,CAACE,MAAM,CAACrC,KAAK,EAAEmC,KAAK,CAAE;IAACO,iBAAiB,EAAC,YAAY;IAACN,MAAM,EAAEA,MAAO;IAAAO,QAAA,EAC/EZ,OAAO,CAACa,GAAG,CAAEC,MAAM,IAAK;MACvB,MAAMC,MAAM,GAAGD,MAAM,CAACb,KAAK,KAAKA,KAAK;MACrC,MAAMe,UAAU,GAAGb,QAAQ,IAAI,CAAC,CAACW,MAAM,CAACX,QAAQ;MAChD,oBACE,IAAAzD,WAAA,CAAA+D,GAAA,EAAClE,YAAA,CAAA0E,gBAAgB;QAEfb,KAAK,EAAE,CAACE,MAAM,CAAC3B,OAAO,EAAEoC,MAAM,IAAIT,MAAM,CAACrB,aAAa,EAAE+B,UAAU,IAAIV,MAAM,CAAClB,eAAe,CAAE;QAC9F8B,OAAO,EAAEA,CAAA,KAAMhB,QAAQ,CAACY,MAAM,CAACb,KAAK,CAAE;QACtCE,QAAQ,EAAEa,UAAW;QACrBL,iBAAiB,EAAC,OAAO;QACzBQ,kBAAkB,EAAE;UAAEC,QAAQ,EAAEL,MAAM;UAAEM,OAAO,EAAEN,MAAM;UAAEZ,QAAQ,EAAEa;QAAW,CAAE;QAChFM,kBAAkB,EAAER,MAAM,CAACxB,KAAM;QACjCe,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,IAAIS,MAAM,CAACb,KAAK,EAAG;QAAAW,QAAA,eAE9C,IAAAlE,WAAA,CAAA+D,GAAA,EAAClE,YAAA,CAAAgF,IAAI;UAAChB,gBAAgB,EAAEA,gBAAiB;UAACH,KAAK,EAAE,CAACE,MAAM,CAAChB,KAAK,EAAEyB,MAAM,IAAIT,MAAM,CAACV,WAAW,CAAE;UAAAgB,QAAA,EAC3FE,MAAM,CAACxB;QAAK,CACT;MAAC,GAXFwB,MAAM,CAACb,KAYI,CAAC;IAEvB,CAAC;EAAC,CACE,CAAC;AAEX;;AAEA;AACA;AACO,MAAMuB,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAG,IAAAE,WAAI,EAAC3B,qBAAqB,CAAiC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_useReduceMotion","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TRACK_PADDING","MIN_TOUCH","DISABLED_OPACITY","HIT_SLOP","top","bottom","useStyles","createStyles","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","useTheme","allowFontScaling","useAllowFontScaling","reduceMotion","useReduceMotion","trackWidth","setTrackWidth","useState","offset","useRef","Animated","Value","current","placed","index","findIndex","option","segmentWidth","length","showIndicator","target","I18nManager","isRTL","useEffect","setValue","animation","timing","toValue","duration","base","easing","Easing","out","cubic","useNativeDriver","stop","onLayout","width","nativeEvent","layout","activeDisabled","jsxs","View","accessibilityRole","children","jsx","pointerEvents","transform","translateX","map","active","isDisabled","TouchableOpacity","onPress","hitSlop","accessibilityState","selected","checked","accessibilityLabel","Text","numberOfLines","SegmentedControl","exports","memo"],"sourceRoot":"../../../src","sources":["molecules/SegmentedControl.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactNative = require("react-native");
10
10
  var _createStyles = require("../theme/createStyles");
11
11
  var _UIProvider = require("../theme/UIProvider");
12
+ var _useKeyboardField = require("../theme/useKeyboardField");
12
13
  var _Icon = require("../icons/Icon");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -29,6 +30,14 @@ const SIZES = {
29
30
  inputWidth: 64
30
31
  }
31
32
  };
33
+
34
+ /** Minimum touch target (Fitts): smaller buttons reach it with hitSlop. */
35
+ const MIN_TOUCH = 44;
36
+ const ADJUST_ACTIONS = [{
37
+ name: 'increment'
38
+ }, {
39
+ name: 'decrement'
40
+ }];
32
41
  const useStyles = (0, _createStyles.createStyles)(theme => ({
33
42
  control: {
34
43
  flexDirection: 'row',
@@ -54,14 +63,14 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
54
63
  borderRightWidth: 1,
55
64
  borderColor: theme.colors.border
56
65
  },
57
- // El fondo distingue el campo de un valor de sólo lectura: es la única
58
- // señal de que ahí se puede tipear antes de tocarlo.
66
+ // The background tells the field apart from a read-only value: it is the
67
+ // only hint that you can type there before touching it.
59
68
  editable: {
60
69
  backgroundColor: theme.colors.inputBackground
61
70
  }
62
71
  }));
63
72
 
64
- /** Deja sólo lo que puede formar parte del número permitido por el rango. */
73
+ /** Keeps only what can be part of a number allowed by the range. */
65
74
  function sanitizeNumeric(text, {
66
75
  allowDecimals = false,
67
76
  allowNegative = false
@@ -76,12 +85,20 @@ function sanitizeNumeric(text, {
76
85
 
77
86
  /**
78
87
  * Stepper
79
- * Botón "-" + input numérico editable + botón "+". `size` controla sólo la
80
- * escala y `block` sólo el ancho, así que los dos ejes se combinan libremente.
88
+ * "-" button + editable numeric input + "+" button. `size` controls only the
89
+ * scale and `block` only the width, so both axes combine freely.
90
+ *
91
+ * The component doesn't do the buttons' arithmetic —that lives in
92
+ * `onIncrement`/`onDecrement`—, but it does clean up what is typed and signals
93
+ * when the value hit an end of the range by disabling the button that would pass it.
81
94
  *
82
- * El componente no hace la aritmética de los botones —eso vive en
83
- * `onIncrement`/`onDecrement`—, pero sí limpia lo que se tipea y avisa cuándo
84
- * el valor llegó a un extremo del rango deshabilitando el botón que lo pasaría.
95
+ * Gestalt, common region: the three parts share one border, so they read as a
96
+ * single control; the field is set apart by its fill (it can be typed into).
97
+ * Fitts: every button reaches 44pt, `sm` through hitSlop.
98
+ *
99
+ * Accessibility: the field is an adjustable element — VoiceOver/TalkBack users
100
+ * swipe up/down to step the value — and every name comes from `labels`. Like
101
+ * Input, it stays visible above the keyboard while typing.
85
102
  */
86
103
  const Stepper = exports.Stepper = /*#__PURE__*/(0, _react.memo)(({
87
104
  value,
@@ -95,21 +112,32 @@ const Stepper = exports.Stepper = /*#__PURE__*/(0, _react.memo)(({
95
112
  max,
96
113
  allowDecimals = false,
97
114
  style,
98
- incrementAccessibilityLabel = 'Increment',
99
- decrementAccessibilityLabel = 'Decrement',
115
+ accessibilityLabel,
116
+ incrementAccessibilityLabel,
117
+ decrementAccessibilityLabel,
100
118
  testID
101
119
  }) => {
102
120
  const theme = (0, _UIProvider.useTheme)();
103
121
  const colors = (0, _UIProvider.useColors)();
104
122
  const styles = useStyles();
123
+ const labels = (0, _UIProvider.useLabels)();
105
124
  const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
106
125
  const [focused, setFocused] = (0, _react.useState)(false);
126
+ const controlRef = (0, _react.useRef)(null);
127
+ const keyboard = (0, _useKeyboardField.useKeyboardField)(controlRef);
107
128
  const {
108
129
  height,
109
130
  icon,
110
131
  inputWidth
111
132
  } = SIZES[size];
112
133
  const fontSize = size === 'sm' ? theme.tokens.fontSize.md : size === 'md' ? theme.tokens.fontSize.lg : theme.tokens.fontSize.xl;
134
+ const slopV = Math.max(0, (MIN_TOUCH - height) / 2);
135
+ const hitSlop = slopV > 0 ? {
136
+ top: slopV,
137
+ bottom: slopV,
138
+ left: slopV,
139
+ right: slopV
140
+ } : undefined;
113
141
  const allowNegative = min !== undefined && min < 0;
114
142
  const numeric = Number(value);
115
143
  const isNumber = value.trim() !== '' && Number.isFinite(numeric);
@@ -122,17 +150,24 @@ const Stepper = exports.Stepper = /*#__PURE__*/(0, _react.memo)(({
122
150
  }));
123
151
  };
124
152
 
125
- // El recorte al rango espera al blur: hacerlo mientras se tipea impide
126
- // llegar a "12" cuando el mínimo es 5, porque el "1" ya se corregiría.
153
+ // Clamping to the range waits for blur: doing it while typing makes it
154
+ // impossible to reach "12" when the minimum is 5, because the "1" would
155
+ // already be corrected.
127
156
  const handleBlur = () => {
128
157
  setFocused(false);
158
+ keyboard.blur();
129
159
  if (!isNumber) return;
130
160
  const clamped = Math.min(max ?? numeric, Math.max(min ?? numeric, numeric));
131
161
  if (clamped !== numeric) onChangeText(String(clamped));
132
162
  };
163
+ const handleAccessibilityAction = e => {
164
+ if (e.nativeEvent.actionName === 'increment' && !atMax) onIncrement();
165
+ if (e.nativeEvent.actionName === 'decrement' && !atMin) onDecrement();
166
+ };
133
167
  const stepButton = (direction, onPress, disabled, label) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
134
168
  onPress: onPress,
135
169
  disabled: disabled,
170
+ hitSlop: hitSlop,
136
171
  style: [styles.btn, {
137
172
  width: height
138
173
  }],
@@ -149,13 +184,14 @@ const Stepper = exports.Stepper = /*#__PURE__*/(0, _react.memo)(({
149
184
  })
150
185
  });
151
186
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
187
+ ref: controlRef,
152
188
  testID: testID,
153
189
  style: [styles.control, {
154
190
  height
155
191
  }, block && styles.controlBlock, focused && {
156
192
  borderColor: colors.primary
157
193
  }, style],
158
- children: [stepButton('decrement', onDecrement, atMin, decrementAccessibilityLabel), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
194
+ children: [stepButton('decrement', onDecrement, atMin, decrementAccessibilityLabel ?? labels.decrement), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
159
195
  allowFontScaling: allowFontScaling,
160
196
  style: [styles.input, {
161
197
  fontSize
@@ -168,13 +204,22 @@ const Stepper = exports.Stepper = /*#__PURE__*/(0, _react.memo)(({
168
204
  }],
169
205
  value: value,
170
206
  onChangeText: handleChangeText,
171
- onFocus: () => setFocused(true),
207
+ onFocus: () => {
208
+ setFocused(true);
209
+ keyboard.focus();
210
+ },
172
211
  onBlur: handleBlur,
173
212
  editable: editable,
174
213
  keyboardType: allowDecimals ? 'decimal-pad' : 'number-pad',
175
214
  selectTextOnFocus: true,
176
- accessibilityLabel: "Quantity"
177
- }), stepButton('increment', onIncrement, atMax, incrementAccessibilityLabel)]
215
+ accessibilityLabel: accessibilityLabel ?? labels.quantity,
216
+ accessibilityRole: "adjustable",
217
+ accessibilityValue: {
218
+ text: value
219
+ },
220
+ accessibilityActions: ADJUST_ACTIONS,
221
+ onAccessibilityAction: handleAccessibilityAction
222
+ }), stepButton('increment', onIncrement, atMax, incrementAccessibilityLabel ?? labels.increment)]
178
223
  });
179
224
  });
180
225
  Stepper.displayName = 'Stepper';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZES","sm","height","icon","inputWidth","md","lg","useStyles","createStyles","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","exports","memo","value","onChangeText","onIncrement","onDecrement","size","block","min","max","style","incrementAccessibilityLabel","decrementAccessibilityLabel","testID","useTheme","useColors","styles","allowFontScaling","useAllowFontScaling","focused","setFocused","useState","fontSize","xl","undefined","numeric","Number","isNumber","trim","isFinite","atMin","atMax","handleChangeText","handleBlur","clamped","Math","String","stepButton","direction","onPress","disabled","label","jsx","TouchableOpacity","width","accessibilityRole","accessibilityLabel","accessibilityState","children","Icon","name","textLight","primary","jsxs","View","TextInput","flex","onFocus","onBlur","keyboardType","selectTextOnFocus","displayName"],"sourceRoot":"../../../src","sources":["molecules/Stepper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_useKeyboardField","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZES","sm","height","icon","inputWidth","md","lg","MIN_TOUCH","ADJUST_ACTIONS","name","useStyles","createStyles","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","exports","memo","value","onChangeText","onIncrement","onDecrement","size","block","min","max","style","accessibilityLabel","incrementAccessibilityLabel","decrementAccessibilityLabel","testID","useTheme","useColors","styles","labels","useLabels","allowFontScaling","useAllowFontScaling","focused","setFocused","useState","controlRef","useRef","keyboard","useKeyboardField","fontSize","xl","slopV","Math","hitSlop","top","bottom","left","right","undefined","numeric","Number","isNumber","trim","isFinite","atMin","atMax","handleChangeText","handleBlur","blur","clamped","String","handleAccessibilityAction","nativeEvent","actionName","stepButton","direction","onPress","disabled","label","jsx","TouchableOpacity","width","accessibilityRole","accessibilityState","children","Icon","textLight","primary","jsxs","View","ref","decrement","TextInput","flex","onFocus","focus","onBlur","keyboardType","selectTextOnFocus","quantity","accessibilityValue","accessibilityActions","onAccessibilityAction","increment","displayName"],"sourceRoot":"../../../src","sources":["molecules/Stepper.tsx"],"mappings":"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","ignoreList":[]}