orn-ui 0.2.10 → 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 +66 -51
  2. package/README.md +3 -7
  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 +174 -154
  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 +176 -156
  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 +193 -164
  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
@@ -8,31 +8,34 @@ var _reactNative = require("react-native");
8
8
  var _UIProvider = require("./UIProvider");
9
9
  /**
10
10
  * createStyles(factory)
11
- * Devuelve un hook useStyles() que memoiza el StyleSheet resultante por
12
- * theme (WeakMap<Theme, Styles>), no por instancia de componente. Todas las
13
- * filas de una lista comparten el mismo objeto de estilos: sin esto, N filas
14
- * ⇒ N StyleSheet.create() por render, que es lo que hacía cada componente
15
- * de la app original con `useMemo(() => createStyles(colors), [colors])`.
11
+ * Returns a useStyles() hook that memoizes the resulting StyleSheet per
12
+ * theme (WeakMap<Theme, Styles>), not per component instance. All rows of a
13
+ * list share the same styles object: without this, N rows ⇒ N
14
+ * StyleSheet.create() per render, which is what every component of the
15
+ * original app did with `useMemo(() => createStyles(colors), [colors])`.
16
16
  *
17
- * La cache vive en el closure del factory (una WeakMap por llamada a
18
- * createStyles, es decir, una por componente), así que temas de distintos
19
- * <UIProvider> en el mismo árbol no colisionan entre sí.
17
+ * The cache lives in the factory's closure (one WeakMap per createStyles
18
+ * call, i.e. one per component), so themes from different <UIProvider>s in
19
+ * the same tree don't collide with each other.
20
20
  *
21
- * El tipo de `factory` sigue el patrón oficial de RN para StyleSheet
22
- * tipados (`T extends StyleSheet.NamedStyles<T> | StyleSheet.NamedStyles<any>`):
23
- * es lo que le da contexto a TS para inferir literales ('row', 'center', ...)
24
- * en vez de ensancharlos a `string` dentro del objeto devuelto.
21
+ * The `factory` type follows RN's pattern for typed StyleSheets
22
+ * (`T extends NamedStyles<T> | NamedStyles<any>`): it is what gives TS the
23
+ * context to infer literals ('row', 'center', ...) instead of widening them
24
+ * to `string` inside the returned object. `NamedStyles` is declared here:
25
+ * react-native 0.88's generated types (Expo SDK 58) no longer export
26
+ * `StyleSheet.NamedStyles`.
25
27
  */
28
+
26
29
  function createStyles(factory) {
27
30
  const cache = new WeakMap();
28
31
  return function useStyles() {
29
32
  const theme = (0, _UIProvider.useTheme)();
30
33
  let styles = cache.get(theme);
31
34
  if (!styles) {
32
- // El cast es seguro: StyleSheet.create<T>(...) con el mismo T del
33
- // factory siempre devuelve T; TS no puede probarlo por sí solo dentro
34
- // de un cuerpo genérico (T podría "instanciarse" con un subtipo no
35
- // relacionado desde su punto de vista, aunque en runtime es el mismo).
35
+ // The cast is safe: StyleSheet.create<T>(...) with the factory's same T
36
+ // always returns T; TS can't prove it on its own inside a generic body
37
+ // (T could be "instantiated" with an unrelated subtype from its point
38
+ // of view, even though at runtime it is the same).
36
39
  styles = _reactNative.StyleSheet.create(factory(theme));
37
40
  cache.set(theme, styles);
38
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_UIProvider","createStyles","factory","cache","WeakMap","useStyles","theme","useTheme","styles","get","StyleSheet","create","set"],"sourceRoot":"../../../src","sources":["theme/createStyles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAC1BC,OAAwD,EAC/C;EACT,MAAMC,KAAK,GAAG,IAAIC,OAAO,CAAW,CAAC;EAErC,OAAO,SAASC,SAASA,CAAA,EAAM;IAC7B,MAAMC,KAAK,GAAG,IAAAC,oBAAQ,EAAC,CAAC;IACxB,IAAIC,MAAM,GAAGL,KAAK,CAACM,GAAG,CAACH,KAAK,CAAC;IAC7B,IAAI,CAACE,MAAM,EAAE;MACX;MACA;MACA;MACA;MACAA,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAACT,OAAO,CAACI,KAAK,CAAC,CAAM;MAC/CH,KAAK,CAACS,GAAG,CAACN,KAAK,EAAEE,MAAM,CAAC;IAC1B;IACA,OAAOA,MAAM;EACf,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_UIProvider","createStyles","factory","cache","WeakMap","useStyles","theme","useTheme","styles","get","StyleSheet","create","set"],"sourceRoot":"../../../src","sources":["theme/createStyles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGO,SAASE,YAAYA,CAC1BC,OAA6C,EACpC;EACT,MAAMC,KAAK,GAAG,IAAIC,OAAO,CAAW,CAAC;EAErC,OAAO,SAASC,SAASA,CAAA,EAAM;IAC7B,MAAMC,KAAK,GAAG,IAAAC,oBAAQ,EAAC,CAAC;IACxB,IAAIC,MAAM,GAAGL,KAAK,CAACM,GAAG,CAACH,KAAK,CAAC;IAC7B,IAAI,CAACE,MAAM,EAAE;MACX;MACA;MACA;MACA;MACAA,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAACT,OAAO,CAACI,KAAK,CAAC,CAAM;MAC/CH,KAAK,CAACS,GAAG,CAACN,KAAK,EAAEE,MAAM,CAAC;IAC1B;IACA,OAAOA,MAAM;EACf,CAAC;AACH","ignoreList":[]}
@@ -26,7 +26,7 @@ function mergeDeep(base, patch) {
26
26
  }
27
27
  const capitalize = name => name.charAt(0).toUpperCase() + name.slice(1);
28
28
 
29
- /** Expande cada hex de `brand` a los cuatro roles del acento en un esquema. */
29
+ /** Expands each `brand` hex into the accent's four roles in a scheme. */
30
30
  function brandColors(brand, scheme, palette) {
31
31
  if (!brand) return {};
32
32
  const accents = typeof brand === 'string' ? {
@@ -45,12 +45,12 @@ function brandColors(brand, scheme, palette) {
45
45
  }
46
46
 
47
47
  /**
48
- * Construye el par de themes light/dark que consume <UIProvider theme={...}>.
49
- * Nunca muta los defaults: cada llamada produce objetos nuevos, seguros de
50
- * compartir entre providers distintos (tests, multi-brand en el mismo árbol).
48
+ * Builds the light/dark theme pair consumed by <UIProvider theme={...}>.
49
+ * Never mutates the defaults: each call produces new objects, safe to share
50
+ * between different providers (tests, multi-brand in the same tree).
51
51
  *
52
- * `brand` se aplica antes que `colors`, así que un rol escrito a mano siempre
53
- * gana sobre el derivado.
52
+ * `brand` is applied before `colors`, so a hand-written role always wins
53
+ * over the derived one.
54
54
  */
55
55
  function createTheme(overrides) {
56
56
  const tokens = mergeDeep(_tokens.tokens, overrides?.tokens);
@@ -75,6 +75,12 @@ Object.defineProperty(exports, "fontWeight", {
75
75
  return _tokens.fontWeight;
76
76
  }
77
77
  });
78
+ Object.defineProperty(exports, "letterSpacing", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _tokens.letterSpacing;
82
+ }
83
+ });
78
84
  Object.defineProperty(exports, "lightPalette", {
79
85
  enumerable: true,
80
86
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_tokens","require","_palettes","_createTheme","_colors","_labels","_insets","_createStyles","_UIProvider"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_tokens","require","_palettes","_createTheme","_colors","_labels","_insets","_createStyles","_UIProvider"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.zeroInsets = void 0;
7
- /** Estructuralmente igual a EdgeInsets de react-native-safe-area-context, sin depender del paquete. */
7
+ /** Structurally identical to react-native-safe-area-context's EdgeInsets, without depending on the package. */
8
8
 
9
9
  const zeroInsets = exports.zeroInsets = {
10
10
  top: 0,
@@ -17,6 +17,34 @@ const defaultLabels = exports.defaultLabels = {
17
17
  months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
18
18
  weekdaysShort: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
19
19
  selectDate: 'Select date',
20
- clear: 'Clear'
20
+ clear: 'Clear',
21
+ showPassword: 'Show password',
22
+ hidePassword: 'Hide password',
23
+ required: 'required',
24
+ requiredError: 'This field is required',
25
+ minLengthError: 'Enter at least {n} characters',
26
+ maxLengthError: 'Enter at most {n} characters',
27
+ patternError: 'Invalid format',
28
+ quantity: 'Quantity',
29
+ increment: 'Increment',
30
+ decrement: 'Decrement',
31
+ stepOf: 'Step {n} of {total}: {label}',
32
+ stepCompleted: 'completed',
33
+ stepCurrent: 'current',
34
+ stepPending: 'pending',
35
+ previousMonth: 'Previous month',
36
+ nextMonth: 'Next month',
37
+ moveUp: 'Move up',
38
+ moveDown: 'Move down',
39
+ scan: 'Scan',
40
+ slideOf: 'Slide {n} of {total}',
41
+ pauseSlides: 'Pause automatic slides',
42
+ resumeSlides: 'Resume automatic slides',
43
+ themeSystem: 'Auto',
44
+ themeLight: 'Light',
45
+ themeDark: 'Dark',
46
+ back: 'Back',
47
+ next: 'Next',
48
+ finish: 'Finish'
21
49
  };
22
50
  //# sourceMappingURL=labels.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defaultLabels","exports","close","cancel","confirm","loading","loadingMore","noResultsTitle","noResultsDescription","search","selectPlaceholder","months","weekdaysShort","selectDate","clear"],"sourceRoot":"../../../src","sources":["theme/labels.ts"],"mappings":";;;;;;AAkBO,MAAMA,aAAqB,GAAAC,OAAA,CAAAD,aAAA,GAAG;EACnCE,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,YAAY;EACrBC,WAAW,EAAE,iBAAiB;EAC9BC,cAAc,EAAE,kBAAkB;EAClCC,oBAAoB,EAAE,6BAA6B;EACnDC,MAAM,EAAE,WAAW;EACnBC,iBAAiB,EAAE,WAAW;EAC9BC,MAAM,EAAE,CACN,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EACtD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CACjE;EACDC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EAClDC,UAAU,EAAE,aAAa;EACzBC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["defaultLabels","exports","close","cancel","confirm","loading","loadingMore","noResultsTitle","noResultsDescription","search","selectPlaceholder","months","weekdaysShort","selectDate","clear","showPassword","hidePassword","required","requiredError","minLengthError","maxLengthError","patternError","quantity","increment","decrement","stepOf","stepCompleted","stepCurrent","stepPending","previousMonth","nextMonth","moveUp","moveDown","scan","slideOf","pauseSlides","resumeSlides","themeSystem","themeLight","themeDark","back","next","finish"],"sourceRoot":"../../../src","sources":["theme/labels.ts"],"mappings":";;;;;;AAyEO,MAAMA,aAAqB,GAAAC,OAAA,CAAAD,aAAA,GAAG;EACnCE,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,YAAY;EACrBC,WAAW,EAAE,iBAAiB;EAC9BC,cAAc,EAAE,kBAAkB;EAClCC,oBAAoB,EAAE,6BAA6B;EACnDC,MAAM,EAAE,WAAW;EACnBC,iBAAiB,EAAE,WAAW;EAC9BC,MAAM,EAAE,CACN,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EACtD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CACjE;EACDC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EAClDC,UAAU,EAAE,aAAa;EACzBC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE,eAAe;EAC7BC,YAAY,EAAE,eAAe;EAC7BC,QAAQ,EAAE,UAAU;EACpBC,aAAa,EAAE,wBAAwB;EACvCC,cAAc,EAAE,+BAA+B;EAC/CC,cAAc,EAAE,8BAA8B;EAC9CC,YAAY,EAAE,gBAAgB;EAC9BC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,8BAA8B;EACtCC,aAAa,EAAE,WAAW;EAC1BC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,gBAAgB;EAC/BC,SAAS,EAAE,YAAY;EACvBC,MAAM,EAAE,SAAS;EACjBC,QAAQ,EAAE,WAAW;EACrBC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,sBAAsB;EAC/BC,WAAW,EAAE,wBAAwB;EACrCC,YAAY,EAAE,yBAAyB;EACvCC,WAAW,EAAE,MAAM;EACnBC,UAAU,EAAE,OAAO;EACnBC,SAAS,EAAE,MAAM;EACjBC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACV,CAAC","ignoreList":[]}
@@ -5,23 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.lightPalette = exports.darkPalette = void 0;
7
7
  /**
8
- * Cada color es `string`, no un literal (`as const`): light y dark tienen
9
- * valores distintos para la misma clave, y createTheme() debe poder
10
- * aceptar cualquier hex/rgba en los overrides — literal typing lo impediría.
8
+ * Each color is a `string`, not a literal (`as const`): light and dark have
9
+ * different values for the same key, and createTheme() must be able to
10
+ * accept any hex/rgba in the overrides — literal typing would prevent it.
11
11
  *
12
- * Cada acento viene en cuatro roles, y no son intercambiables:
12
+ * Each accent comes in four roles, and they are not interchangeable:
13
13
  *
14
- * `primary` relleno sólido (fondo de botón, día seleccionado, FAB).
15
- * `onPrimary` texto/ícono *encima* de ese relleno.
16
- * `primarySoft` fondo teñido para estados seleccionados y pills.
17
- * `primaryText` texto/ícono del acento sobre `surface`, `background`
18
- * o sobre su propio `primarySoft`.
14
+ * `primary` solid fill (button background, selected day, FAB).
15
+ * `onPrimary` text/icon *on top of* that fill.
16
+ * `primarySoft` tinted background for selected states and pills.
17
+ * `primaryText` accent text/icon over `surface`, `background`
18
+ * or over its own `primarySoft`.
19
19
  *
20
- * El motivo es el contraste: un acento que se lee bien como relleno no se
21
- * lee como texto. Antes los componentes usaban `colors.primary` para las dos
22
- * cosas y lo teñían concatenando alpha al hex (`colors.primary + '15'`), lo
23
- * que en dark daba 2.6:1 sobre la superficie — muy por debajo del 4.5:1 de
24
- * WCAG AA. Todos los pares de esta paleta pasan AA en ambos esquemas.
20
+ * The reason is contrast: an accent that reads well as a fill doesn't read
21
+ * as text. Components used to use `colors.primary` for both things and tinted
22
+ * it by appending alpha to the hex (`colors.primary + '15'`), which in dark
23
+ * gave 2.6:1 over the surface — well below WCAG AA's 4.5:1. Every pair in
24
+ * this palette passes AA in both schemes.
25
25
  */
26
26
 
27
27
  const neutral = {
@@ -42,9 +42,9 @@ const lightPalette = exports.lightPalette = {
42
42
  onSuccess: '#00320f',
43
43
  successSoft: '#e3f6e9',
44
44
  successText: '#116a30',
45
- // El rojo va con texto blanco, que es lo que la gente espera de un botón
46
- // destructivo. #ff3b30 no llega a 4.5:1 con blanco y obligaba a texto casi
47
- // negro sobre rojo; este tono sí, y sigue leyéndose como rojo de alerta.
45
+ // Red goes with white text, which is what people expect from a destructive
46
+ // button. #ff3b30 doesn't reach 4.5:1 with white and forced near-black text
47
+ // over red; this shade does, and still reads as an alert red.
48
48
  error: '#dc2626',
49
49
  onError: '#ffffff',
50
50
  errorSoft: '#fdeaea',
@@ -55,19 +55,20 @@ const lightPalette = exports.lightPalette = {
55
55
  warningText: '#8a4b00',
56
56
  background: '#f8f9fa',
57
57
  surface: '#ffffff',
58
+ surfaceRaised: '#ffffff',
58
59
  text: '#333333',
59
60
  textLight: '#666666',
60
61
  border: '#e5e7eb',
61
62
  inputBackground: '#f5f7fa',
62
63
  overlay: 'rgba(0,0,0,0.5)',
63
64
  scrim: 'rgba(248,249,250,0.8)',
64
- skeleton: '#eceef1'
65
+ skeleton: '#e3e5e8'
65
66
  };
66
67
 
67
68
  /**
68
- * Los acentos de dark NO son los de light: sobre `#1e1e1e` hay que subir la
69
- * luminosidad del acento y bajar la del texto que va encima (por eso
70
- * `onPrimary` es azul oscuro acá y blanco en light).
69
+ * The dark accents are NOT the light ones: over `#1e1e1e` the accent's
70
+ * lightness has to go up and that of the text on top has to go down (which
71
+ * is why `onPrimary` is dark blue here and white in light).
71
72
  */
72
73
  const darkPalette = exports.darkPalette = {
73
74
  ...neutral,
@@ -93,12 +94,13 @@ const darkPalette = exports.darkPalette = {
93
94
  warningText: '#f5c97e',
94
95
  background: '#121212',
95
96
  surface: '#1e1e1e',
97
+ surfaceRaised: '#303036',
96
98
  text: '#ecedee',
97
99
  textLight: '#9ba1a6',
98
- border: '#2a2a2e',
100
+ border: '#3a3a40',
99
101
  inputBackground: '#232326',
100
102
  overlay: 'rgba(0,0,0,0.6)',
101
103
  scrim: 'rgba(18,18,18,0.8)',
102
- skeleton: '#26262a'
104
+ skeleton: '#44444b'
103
105
  };
104
106
  //# sourceMappingURL=palettes.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["neutral","white","black","lightPalette","exports","primary","onPrimary","primarySoft","primaryText","secondary","onSecondary","secondarySoft","secondaryText","success","onSuccess","successSoft","successText","error","onError","errorSoft","errorText","warning","onWarning","warningSoft","warningText","background","surface","text","textLight","border","inputBackground","overlay","scrim","skeleton","darkPalette"],"sourceRoot":"../../../src","sources":["theme/palettes.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0CA,MAAMA,OAAO,GAAG;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,YAAyB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACvC,GAAGH,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtB;EACA;EACA;EACAC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,uBAAuB;EAC9BC,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAwB,GAAA9B,OAAA,CAAA8B,WAAA,GAAG;EACtC,GAAGlC,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,oBAAoB;EAC3BC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["neutral","white","black","lightPalette","exports","primary","onPrimary","primarySoft","primaryText","secondary","onSecondary","secondarySoft","secondaryText","success","onSuccess","successSoft","successText","error","onError","errorSoft","errorText","warning","onWarning","warningSoft","warningText","background","surface","surfaceRaised","text","textLight","border","inputBackground","overlay","scrim","skeleton","darkPalette"],"sourceRoot":"../../../src","sources":["theme/palettes.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgDA,MAAMA,OAAO,GAAG;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,YAAyB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACvC,GAAGH,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtB;EACA;EACA;EACAC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,uBAAuB;EAC9BC,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAwB,GAAA/B,OAAA,CAAA+B,WAAA,GAAG;EACtC,GAAGnC,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,SAAS;EACxBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,oBAAoB;EAC3BC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tokens = exports.spacing = exports.shadow = exports.radius = exports.lineHeight = exports.fontWeight = exports.fontSize = exports.duration = void 0;
6
+ exports.tokens = exports.spacing = exports.shadow = exports.radius = exports.lineHeight = exports.letterSpacing = exports.fontWeight = exports.fontSize = exports.duration = void 0;
7
7
  var _reactNative = require("react-native");
8
- // Las escalas numéricas se tipan explícitamente como `number` (no `as const`):
9
- // createTheme() debe poder sobreescribir cualquier valor con otro número
10
- // arbitrario: con literal typing, un override de `radius.md` a `999` fallaría
11
- // porque el tipo inferido sería el literal `8`, no `number`.
8
+ // Numeric scales are typed explicitly as `number` (not `as const`):
9
+ // createTheme() must be able to override any value with any other number:
10
+ // with literal typing, overriding `radius.md` to `999` would fail because
11
+ // the inferred type would be the literal `8`, not `number`.
12
12
 
13
13
  /**
14
- * Escala de espaciado. Usar siempre estos valores en vez de números mágicos
15
- * para que el ritmo vertical/horizontal sea consistente entre componentes.
14
+ * Spacing scale. Always use these values instead of magic numbers so the
15
+ * vertical/horizontal rhythm is consistent across components.
16
16
  */
17
17
  const spacing = exports.spacing = {
18
18
  xxs: 2,
@@ -43,8 +43,8 @@ const fontSize = exports.fontSize = {
43
43
  xxl: 24
44
44
  };
45
45
 
46
- // fontWeight sí necesita literales: TextStyle.fontWeight de RN exige un union
47
- // de strings específicos ('400' | '500' | ...), no `string` arbitrario.
46
+ // fontWeight does need literals: RN's TextStyle.fontWeight requires a union
47
+ // of specific strings ('400' | '500' | ...), not an arbitrary `string`.
48
48
  const fontWeight = exports.fontWeight = {
49
49
  regular: '400',
50
50
  medium: '500',
@@ -54,19 +54,32 @@ const fontWeight = exports.fontWeight = {
54
54
  const lineHeight = exports.lineHeight = {
55
55
  sm: 16,
56
56
  md: 20,
57
- lg: 24
57
+ lg: 24,
58
+ xl: 30
58
59
  };
59
60
 
60
- /** Duraciones en ms para Animated.timing/spring. */
61
+ /**
62
+ * Tracking (letterSpacing) in points. `tight` offsets the extra room that
63
+ * large sizes bring by default (titles); `normal` is the system's;
64
+ * `wide` spaces out small caps.
65
+ */
66
+ const letterSpacing = exports.letterSpacing = {
67
+ tight: -0.5,
68
+ normal: 0,
69
+ /** Short, small, uppercase labels (Badge): a little room makes them legible. */
70
+ wide: 0.3
71
+ };
72
+
73
+ /** Durations in ms for Animated.timing/spring. */
61
74
  const duration = exports.duration = {
62
75
  fast: 150,
63
76
  base: 200,
64
77
  slow: 250
65
78
  };
66
79
  /**
67
- * Sombras cross-platform: shadow* para iOS, elevation para Android.
68
- * `shadowColor` se deja en negro fijo — el color de sombra por tema es un
69
- * detalle demasiado fino para justificar la complejidad de resolverlo aquí.
80
+ * Cross-platform shadows: shadow* for iOS, elevation for Android.
81
+ * `shadowColor` is left fixed at black — a per-theme shadow color is too
82
+ * fine a detail to justify the complexity of resolving it here.
70
83
  */
71
84
  const shadow = exports.shadow = {
72
85
  none: _reactNative.Platform.select({
@@ -114,6 +127,7 @@ const tokens = exports.tokens = {
114
127
  fontSize,
115
128
  fontWeight,
116
129
  lineHeight,
130
+ letterSpacing,
117
131
  duration,
118
132
  shadow
119
133
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","spacing","exports","xxs","xs","sm","md","lg","xl","xxl","xxxl","radius","none","full","fontSize","fontWeight","regular","medium","semibold","bold","lineHeight","duration","fast","base","slow","shadow","Platform","select","android","elevation","default","shadowOpacity","shadowColor","shadowOffset","width","height","shadowRadius","tokens"],"sourceRoot":"../../../src","sources":["theme/tokens.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMC,OAAkF,GAAAC,OAAA,CAAAD,OAAA,GAAG;EAChGE,GAAG,EAAE,CAAC;EACNC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,MAAkF,GAAAT,OAAA,CAAAS,MAAA,GAAG;EAChGC,IAAI,EAAE,CAAC;EACPR,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE,EAAE;EACPI,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,QAAkE,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EAChFV,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE;AACP,CAAC;;AAED;AACA;AACO,MAAMM,UAAU,GAAAb,OAAA,CAAAa,UAAA,GAAG;EACxBC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAU;AAEH,MAAMC,UAA8C,GAAAlB,OAAA,CAAAkB,UAAA,GAAG;EAC5Df,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;;AAED;AACO,MAAMc,QAAkD,GAAAnB,OAAA,CAAAmB,QAAA,GAAG;EAChEC,IAAI,EAAE,GAAG;EACTC,IAAI,EAAE,GAAG;EACTC,IAAI,EAAE;AACR,CAAC;AAOD;AACA;AACA;AACA;AACA;AACO,MAAMC,MAAwD,GAAAvB,OAAA,CAAAuB,MAAA,GAAG;EACtEb,IAAI,EAAEc,qBAAQ,CAACC,MAAM,CAAC;IACpBC,OAAO,EAAE;MAAEC,SAAS,EAAE;IAAE,CAAC;IACzBC,OAAO,EAAE;MAAEC,aAAa,EAAE;IAAE;EAC9B,CAAC,CAAgB;EACjB1B,EAAE,EAAE;IACF2B,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCJ,aAAa,EAAE,IAAI;IACnBK,YAAY,EAAE,CAAC;IACfP,SAAS,EAAE;EACb,CAAC;EACDvB,EAAE,EAAE;IACF0B,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCJ,aAAa,EAAE,GAAG;IAClBK,YAAY,EAAE,CAAC;IACfP,SAAS,EAAE;EACb,CAAC;EACDtB,EAAE,EAAE;IACFyB,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCJ,aAAa,EAAE,IAAI;IACnBK,YAAY,EAAE,EAAE;IAChBP,SAAS,EAAE;EACb;AACF,CAAC;AAEM,MAAMQ,MAAM,GAAAnC,OAAA,CAAAmC,MAAA,GAAG;EACpBpC,OAAO;EACPU,MAAM;EACNG,QAAQ;EACRC,UAAU;EACVK,UAAU;EACVC,QAAQ;EACRI;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","spacing","exports","xxs","xs","sm","md","lg","xl","xxl","xxxl","radius","none","full","fontSize","fontWeight","regular","medium","semibold","bold","lineHeight","letterSpacing","tight","normal","wide","duration","fast","base","slow","shadow","Platform","select","android","elevation","default","shadowOpacity","shadowColor","shadowOffset","width","height","shadowRadius","tokens"],"sourceRoot":"../../../src","sources":["theme/tokens.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useKeyboardField = useKeyboardField;
7
+ var _react = require("react");
8
+ var _KeyboardAvoidance = require("./KeyboardAvoidance");
9
+ /**
10
+ * Registers a text field with the nearest keyboard host (a Screen's content or
11
+ * the root UIProvider) so it stays visible above the keyboard. `boxRef` is the
12
+ * block that has to be seen whole: label, field and error.
13
+ *
14
+ * Call `focus()` from the TextInput's onFocus (and again when the block grows,
15
+ * e.g. an error shows up while typing) and `blur()` from onBlur. Inside a
16
+ * container that already handles the keyboard there is no host and both are
17
+ * no-ops.
18
+ */
19
+ function useKeyboardField(boxRef) {
20
+ const host = (0, _KeyboardAvoidance.useKeyboardHost)();
21
+ const field = (0, _react.useRef)({
22
+ measure: () => new Promise(resolve => {
23
+ const node = boxRef.current;
24
+ if (!node) return resolve(null);
25
+ node.measureInWindow((_x, y, _w, height) => resolve({
26
+ y,
27
+ height
28
+ }));
29
+ })
30
+ }).current;
31
+ return (0, _react.useMemo)(() => ({
32
+ focus: () => host?.focus(field),
33
+ blur: () => host?.blur(field)
34
+ }), [host, field]);
35
+ }
36
+ //# sourceMappingURL=useKeyboardField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_KeyboardAvoidance","useKeyboardField","boxRef","host","useKeyboardHost","field","useRef","measure","Promise","resolve","node","current","measureInWindow","_x","y","_w","height","useMemo","focus","blur"],"sourceRoot":"../../../src","sources":["theme/useKeyboardField.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAACC,MAAmD,EAAE;EACpF,MAAMC,IAAI,GAAG,IAAAC,kCAAe,EAAC,CAAC;EAC9B,MAAMC,KAAK,GAAG,IAAAC,aAAM,EAAgB;IAClCC,OAAO,EAAEA,CAAA,KACP,IAAIC,OAAO,CAAEC,OAAO,IAAK;MACvB,MAAMC,IAAI,GAAGR,MAAM,CAACS,OAAO;MAC3B,IAAI,CAACD,IAAI,EAAE,OAAOD,OAAO,CAAC,IAAI,CAAC;MAC/BC,IAAI,CAACE,eAAe,CAAC,CAACC,EAAE,EAAEC,CAAC,EAAEC,EAAE,EAAEC,MAAM,KAAKP,OAAO,CAAC;QAAEK,CAAC;QAAEE;MAAO,CAAC,CAAC,CAAC;IACrE,CAAC;EACL,CAAC,CAAC,CAACL,OAAO;EAEV,OAAO,IAAAM,cAAO,EACZ,OAAO;IACLC,KAAK,EAAEA,CAAA,KAAMf,IAAI,EAAEe,KAAK,CAACb,KAAK,CAAC;IAC/Bc,IAAI,EAAEA,CAAA,KAAMhB,IAAI,EAAEgB,IAAI,CAACd,KAAK;EAC9B,CAAC,CAAC,EACF,CAACF,IAAI,EAAEE,KAAK,CACd,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useReduceMotion = useReduceMotion;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ /**
10
+ * Follows the system "reduce motion" setting: when it is on, animations jump
11
+ * to their final state instead of being disabled, so callbacks and unmounting
12
+ * still happen the same way.
13
+ */
14
+ function useReduceMotion() {
15
+ const [reduceMotion, setReduceMotion] = (0, _react.useState)(false);
16
+ (0, _react.useEffect)(() => {
17
+ let alive = true;
18
+ // The state is only updated if the setting is on: the initial value is
19
+ // already `false` and a setState from false to false would cost a render per mount.
20
+ _reactNative.AccessibilityInfo.isReduceMotionEnabled().then(enabled => {
21
+ if (alive && enabled) setReduceMotion(true);
22
+ });
23
+ const sub = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion);
24
+ return () => {
25
+ alive = false;
26
+ sub.remove();
27
+ };
28
+ }, []);
29
+ return reduceMotion;
30
+ }
31
+ //# sourceMappingURL=useReduceMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","useReduceMotion","reduceMotion","setReduceMotion","useState","useEffect","alive","AccessibilityInfo","isReduceMotionEnabled","then","enabled","sub","addEventListener","remove"],"sourceRoot":"../../../src","sources":["theme/useReduceMotion.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAA,EAAY;EACzC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,KAAK,GAAG,IAAI;IAChB;IACA;IACAC,8BAAiB,CAACC,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAAEC,OAAO,IAAK;MAC1D,IAAIJ,KAAK,IAAII,OAAO,EAAEP,eAAe,CAAC,IAAI,CAAC;IAC7C,CAAC,CAAC;IACF,MAAMQ,GAAG,GAAGJ,8BAAiB,CAACK,gBAAgB,CAAC,qBAAqB,EAAET,eAAe,CAAC;IACtF,OAAO,MAAM;MACXG,KAAK,GAAG,KAAK;MACbK,GAAG,CAACE,MAAM,CAAC,CAAC;IACd,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOX,YAAY;AACrB","ignoreList":[]}
@@ -1,36 +1,107 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo } from 'react';
4
- import { StyleSheet, View } from 'react-native';
5
- import { useColors } from '../theme/UIProvider';
3
+ import React, { memo, useState } from 'react';
4
+ import { Image as RNImage, StyleSheet, Text, View } from 'react-native';
5
+ import { useAllowFontScaling, useColors, useTheme } from '../theme/UIProvider';
6
+ import { Icon } from '../icons/Icon';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  const styles = StyleSheet.create({
8
9
  circle: {
9
10
  justifyContent: 'center',
10
- alignItems: 'center'
11
+ alignItems: 'center',
12
+ overflow: 'hidden'
11
13
  }
12
14
  });
13
15
 
16
+ /** "Ada Lovelace" → "AL", "ada" → "A", " " → "". Handles characters outside the BMP. */
17
+ export function initialsOf(name) {
18
+ const words = name.trim().split(/\s+/).filter(Boolean);
19
+ if (words.length === 0) return '';
20
+ const first = Array.from(words[0])[0] ?? '';
21
+ const last = words.length > 1 ? Array.from(words[words.length - 1])[0] ?? '' : '';
22
+ return (first + last).toUpperCase();
23
+ }
24
+
14
25
  /**
15
26
  * Avatar
16
- * Círculo con ícono/iniciales adentro. Usado a la izquierda de filas de
17
- * lista o como header de detalle (junto a AvatarHeader).
27
+ * Circle with a photo, initials or an icon. Used on the left of list rows
28
+ * or as a detail header (alongside AvatarHeader).
29
+ *
30
+ * Priority: `children` → `source` (if it loads) → initials of `name` →
31
+ * `iconName` → `user` icon. A broken photo doesn't leave an empty circle: it
32
+ * falls back to the initials.
33
+ *
34
+ * Gestalt:
35
+ * - Similarity: all avatars in a list share shape and size, so a column of
36
+ * people scans as a series even when it mixes photos, initials and icons.
37
+ * - Closure: the circle clips the photo (overflow hidden); initials and the
38
+ * icon scale with `size` so the content always stays inside.
39
+ *
40
+ * Accessibility: with `name` (or `accessibilityLabel`) it announces itself as
41
+ * an image with that name; with neither it is decorative.
18
42
  */
19
43
  export const Avatar = /*#__PURE__*/memo(({
20
44
  size = 44,
45
+ source,
46
+ name,
47
+ iconName,
21
48
  backgroundColor,
49
+ color,
22
50
  children,
23
- style
51
+ accessibilityLabel,
52
+ style,
53
+ testID
24
54
  }) => {
25
55
  const colors = useColors();
56
+ const theme = useTheme();
57
+ const allowFontScaling = useAllowFontScaling();
58
+ const [failed, setFailed] = useState(false);
59
+ const fg = color ?? colors.primaryText;
60
+ const label = accessibilityLabel ?? name;
61
+ const initials = name ? initialsOf(name) : '';
62
+ let content = children;
63
+ if (content == null) {
64
+ if (source && !failed) {
65
+ content = /*#__PURE__*/_jsx(RNImage, {
66
+ source: source,
67
+ style: {
68
+ width: size,
69
+ height: size
70
+ },
71
+ onError: () => setFailed(true),
72
+ accessibilityIgnoresInvertColors: true
73
+ });
74
+ } else if (initials) {
75
+ content = /*#__PURE__*/_jsx(Text, {
76
+ allowFontScaling: allowFontScaling,
77
+ numberOfLines: 1,
78
+ style: {
79
+ color: fg,
80
+ fontSize: Math.round(size * 0.4),
81
+ fontWeight: theme.tokens.fontWeight.semibold
82
+ },
83
+ children: initials
84
+ });
85
+ } else {
86
+ content = /*#__PURE__*/_jsx(Icon, {
87
+ name: iconName ?? 'user',
88
+ size: Math.round(size * 0.5),
89
+ color: fg
90
+ });
91
+ }
92
+ }
26
93
  return /*#__PURE__*/_jsx(View, {
94
+ testID: testID,
95
+ accessible: !!label,
96
+ accessibilityRole: label ? 'image' : undefined,
97
+ accessibilityLabel: label,
27
98
  style: [styles.circle, {
28
99
  width: size,
29
100
  height: size,
30
101
  borderRadius: size / 2,
31
102
  backgroundColor: backgroundColor || colors.primarySoft
32
103
  }, style],
33
- children: children
104
+ children: content
34
105
  });
35
106
  });
36
107
  Avatar.displayName = 'Avatar';
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","StyleSheet","View","useColors","jsx","_jsx","styles","create","circle","justifyContent","alignItems","Avatar","size","backgroundColor","children","style","colors","width","height","borderRadius","primarySoft","displayName"],"sourceRoot":"../../../src","sources":["atoms/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAShD,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EAC/BC,MAAM,EAAE;IAAEC,cAAc,EAAE,QAAQ;IAAEC,UAAU,EAAE;EAAS;AAC3D,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,gBAAGX,IAAI,CAAC,CAAC;EAAEY,IAAI,GAAG,EAAE;EAAEC,eAAe;EAAEC,QAAQ;EAAEC;AAAmB,CAAC,KAAK;EAC3F,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC;EAC1B,oBACEE,IAAA,CAACH,IAAI;IACHa,KAAK,EAAE,CACLT,MAAM,CAACE,MAAM,EACb;MACES,KAAK,EAAEL,IAAI;MACXM,MAAM,EAAEN,IAAI;MACZO,YAAY,EAAEP,IAAI,GAAG,CAAC;MACtBC,eAAe,EAAEA,eAAe,IAAIG,MAAM,CAACI;IAC7C,CAAC,EACDL,KAAK,CACL;IAAAD,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX,CAAC,CAAC;AACFH,MAAM,CAACU,WAAW,GAAG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useState","Image","RNImage","StyleSheet","Text","View","useAllowFontScaling","useColors","useTheme","Icon","jsx","_jsx","styles","create","circle","justifyContent","alignItems","overflow","initialsOf","name","words","trim","split","filter","Boolean","length","first","Array","from","last","toUpperCase","Avatar","size","source","iconName","backgroundColor","color","children","accessibilityLabel","style","testID","colors","theme","allowFontScaling","failed","setFailed","fg","primaryText","label","initials","content","width","height","onError","accessibilityIgnoresInvertColors","numberOfLines","fontSize","Math","round","fontWeight","tokens","semibold","accessible","accessibilityRole","undefined","borderRadius","primarySoft","displayName"],"sourceRoot":"../../../src","sources":["atoms/Avatar.tsx"],"mappings":"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","ignoreList":[]}