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
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Geometría y escalas de Chart: todo lo que se puede probar sin montar un
5
- * árbol vive acá, sin React y sin dependencias. marks.tsx sólo traduce estos
6
- * números a estilos, y Chart.tsx sólo decide qué marca dibujar.
4
+ * Chart geometry and scales: everything that can be tested without mounting a
5
+ * tree lives here, without React and without dependencies. marks.tsx only
6
+ * translates these numbers into styles, and Chart.tsx only decides which mark to draw.
7
7
  *
8
- * Convenciones:
9
- * - Coordenadas de React Native: origen arriba-izquierda, `y` crece hacia abajo.
10
- * - Ángulos en grados, 0° a las 12 en punto, creciendo en sentido horario —
11
- * que es como se lee una torta y como gira `transform: rotate` en RN.
8
+ * Conventions:
9
+ * - React Native coordinates: origin at the top-left, `y` grows downward.
10
+ * - Angles in degrees, 0° at 12 o'clock, increasing clockwise —
11
+ * which is how a pie is read and how `transform: rotate` turns in RN.
12
12
  */
13
13
 
14
- /** Fila de datos: una categoría del eje x y un número por serie. */
14
+ /** Data row: an x-axis category and one number per series. */
15
15
 
16
- /** Lee una celda como número, o null si no lo es (hueco en la serie). */
16
+ /** Reads a cell as a number, or null if it isn't one (a gap in the series). */
17
17
  export function toNumber(value) {
18
18
  return typeof value === 'number' && Number.isFinite(value) ? value : null;
19
19
  }
@@ -21,17 +21,17 @@ export function clamp(value, min, max) {
21
21
  return Math.min(max, Math.max(min, value));
22
22
  }
23
23
 
24
- /** Mata el ruido de punto flotante que deja sumar `step` en un bucle. */
24
+ /** Kills the floating point noise left by adding `step` in a loop. */
25
25
  function tidy(value) {
26
26
  return Number(value.toFixed(10));
27
27
  }
28
28
 
29
- // ── escalas ────────────────────────────────────────────────────────────────
29
+ // ── scales ─────────────────────────────────────────────────────────────────
30
30
 
31
31
  /**
32
- * El 1, 2, 5 o 10 (por su potencia de diez) más cercano por encima de `rough`.
33
- * Es lo que hace que los ticks caigan en números que alguien diría en voz
34
- * alta — 0, 250, 500 — y no en 0, 237, 474.
32
+ * The 1, 2, 5 or 10 (times its power of ten) closest above `rough`.
33
+ * It is what makes ticks land on numbers someone would say out loud —
34
+ * 0, 250, 500 — and not on 0, 237, 474.
35
35
  */
36
36
  export function niceStep(rough) {
37
37
  if (!(rough > 0)) return 1;
@@ -41,9 +41,9 @@ export function niceStep(rough) {
41
41
  return nice * magnitude;
42
42
  }
43
43
  /**
44
- * Dominio redondeado a valores legibles más la lista de ticks. `count` es una
45
- * intención, no una promesa: redondear hacia afuera puede dar uno más o uno
46
- * menos, y eso es preferible a un eje con números arbitrarios.
44
+ * Domain rounded to legible values plus the list of ticks. `count` is an
45
+ * intent, not a promise: rounding outward may give one more or one fewer,
46
+ * and that is preferable to an axis with arbitrary numbers.
47
47
  */
48
48
  export function niceScale(min, max, count = 5) {
49
49
  let lo = Math.min(min, max);
@@ -53,8 +53,8 @@ export function niceScale(min, max, count = 5) {
53
53
  hi = 1;
54
54
  }
55
55
  if (lo === hi) {
56
- // Un solo valor no define un rango. Se le inventa uno simétrico para que
57
- // la marca no quede ni pegada al borde ni ocupando el alto entero.
56
+ // A single value doesn't define a range. A symmetric one is made up so
57
+ // the mark neither sticks to the edge nor fills the whole height.
58
58
  const pad = Math.abs(lo) || 1;
59
59
  lo -= pad;
60
60
  hi += pad;
@@ -63,8 +63,8 @@ export function niceScale(min, max, count = 5) {
63
63
  const start = Math.floor(lo / step) * step;
64
64
  const end = Math.ceil(hi / step) * step;
65
65
  const values = [];
66
- // `end + step / 2` en vez de `end`: sumar step acumula error y el último
67
- // tick se perdería justo en los dominios que más se usan (0–100, 0–1).
66
+ // `end + step / 2` instead of `end`: adding step accumulates error and the
67
+ // last tick would be lost precisely in the most used domains (0–100, 0–1).
68
68
  for (let value = start; value <= end + step / 2; value += step) values.push(tidy(value));
69
69
  return {
70
70
  min: start,
@@ -75,10 +75,10 @@ export function niceScale(min, max, count = 5) {
75
75
  }
76
76
 
77
77
  /**
78
- * Ticks de un dominio que el consumidor fijó a mano. No redondea nada: si
79
- * alguien pide 0–100, el eje dice 0–100. Es lo contrario de `niceScale`, y es
80
- * lo que necesita un chart en vivo — un eje que se reacomoda en cada tick hace
81
- * saltar la línea aunque el dato no se haya movido.
78
+ * Ticks for a domain the consumer set by hand. It rounds nothing: if someone
79
+ * asks for 0–100, the axis says 0–100. It is the opposite of `niceScale`, and
80
+ * it is what a live chart needs — an axis that rearranges itself on every tick
81
+ * makes the line jump even though the data hasn't moved.
82
82
  */
83
83
  export function exactTicks(min, max, count = 5) {
84
84
  const lo = Math.min(min, max);
@@ -102,16 +102,16 @@ export function exactTicks(min, max, count = 5) {
102
102
  }
103
103
 
104
104
  /**
105
- * Une dos dominios quedándose con el más ancho. Es el modo 'sticky': el eje
106
- * crece cuando llega un valor que no entraba y no se vuelve a achicar, así
107
- * que lo que se ve moverse es el dato y no la escala.
105
+ * Merges two domains keeping the widest. It is the 'sticky' mode: the axis
106
+ * grows when a value arrives that didn't fit and never shrinks back, so what
107
+ * you see moving is the data and not the scale.
108
108
  */
109
109
  export function growExtent(previous, next) {
110
110
  if (!previous) return next;
111
111
  return [Math.min(previous[0], next[0]), Math.max(previous[1], next[1])];
112
112
  }
113
113
 
114
- /** Interpolador lineal dominio → rango. Dominio degenerado cae al medio del rango. */
114
+ /** Linear domain → range interpolator. A degenerate domain falls to the middle of the range. */
115
115
  export function linearScale(domain, range) {
116
116
  const [d0, d1] = domain;
117
117
  const [r0, r1] = range;
@@ -119,7 +119,7 @@ export function linearScale(domain, range) {
119
119
  if (span === 0) return () => (r0 + r1) / 2;
120
120
  return value => r0 + (value - d0) / span * (r1 - r0);
121
121
  }
122
- /** Mínimo y máximo de las series pedidas. Sin datos devuelve [0, 1]. */
122
+ /** Minimum and maximum of the requested series. With no data it returns [0, 1]. */
123
123
  export function extent(rows, keys, options = {}) {
124
124
  const {
125
125
  stacked = false,
@@ -129,8 +129,8 @@ export function extent(rows, keys, options = {}) {
129
129
  let max = -Infinity;
130
130
  for (const row of rows) {
131
131
  if (stacked) {
132
- // Positivos y negativos se apilan hacia lados opuestos del cero, así que
133
- // cada lado tiene su propio total y ninguno cancela al otro.
132
+ // Positives and negatives stack toward opposite sides of zero, so each
133
+ // side has its own total and neither cancels the other.
134
134
  let up = 0;
135
135
  let down = 0;
136
136
  for (const key of keys) {
@@ -157,12 +157,12 @@ export function extent(rows, keys, options = {}) {
157
157
  return [min, max];
158
158
  }
159
159
 
160
- // ── apilado ────────────────────────────────────────────────────────────────
160
+ // ── stacking ───────────────────────────────────────────────────────────────
161
161
 
162
162
  /**
163
- * Bandas apiladas de una fila. Los positivos crecen desde 0 hacia arriba y
164
- * los negativos desde 0 hacia abajo: una serie negativa no le come el alto a
165
- * las positivas, que es lo que pasa si se apila todo en un solo acumulador.
163
+ * Stacked bands of a row. Positives grow from 0 upward and negatives from 0
164
+ * downward: a negative series doesn't eat the positives' height, which is
165
+ * what happens if everything is stacked in a single accumulator.
166
166
  */
167
167
  export function stackRow(row, keys) {
168
168
  const bands = [];
@@ -196,7 +196,7 @@ export function stackRow(row, keys) {
196
196
 
197
197
  const RAD = Math.PI / 180;
198
198
 
199
- /** Punto a `radius` del centro en el ángulo dado (0° arriba, horario). */
199
+ /** Point at `radius` from the center at the given angle (0° up, clockwise). */
200
200
  export function polar(center, radius, angle) {
201
201
  return {
202
202
  x: center.x + radius * Math.sin(angle * RAD),
@@ -204,14 +204,14 @@ export function polar(center, radius, angle) {
204
204
  };
205
205
  }
206
206
 
207
- /** Ángulo de un punto respecto del centro, normalizado a [0, 360). */
207
+ /** Angle of a point relative to the center, normalized to [0, 360). */
208
208
  export function angleOf(center, point) {
209
209
  const degrees = Math.atan2(point.x - center.x, center.y - point.y) / RAD;
210
210
  return (degrees + 360) % 360;
211
211
  }
212
212
  /**
213
- * Arcos de una torta. Los negativos no existen en una torta (no hay "menos
214
- * porción"): se descartan en vez de invertirse. Total 0 ⇒ nada que dibujar.
213
+ * Arcs of a pie. Negatives don't exist in a pie (there is no "less slice"):
214
+ * they are dropped instead of inverted. Total 0 ⇒ nothing to draw.
215
215
  */
216
216
  export function arcsFor(values) {
217
217
  const safe = values.map(value => Number.isFinite(value) && value > 0 ? value : 0);
@@ -234,7 +234,7 @@ export function arcsFor(values) {
234
234
  return arcs;
235
235
  }
236
236
 
237
- /** El arco que contiene ese ángulo, o -1. */
237
+ /** The arc containing that angle, or -1. */
238
238
  export function arcAt(arcs, angle) {
239
239
  const normalized = (angle + 360) % 360;
240
240
  for (const arc of arcs) {
@@ -243,7 +243,7 @@ export function arcAt(arcs, angle) {
243
243
  return -1;
244
244
  }
245
245
 
246
- /** Ángulos de los ejes de un radar: el primero arriba, el resto en reparto parejo. */
246
+ /** Angles of a radar's axes: the first at the top, the rest evenly spread. */
247
247
  export function radarAngles(count) {
248
248
  if (count <= 0) return [];
249
249
  return Array.from({
@@ -251,11 +251,11 @@ export function radarAngles(count) {
251
251
  }, (_, index) => index * 360 / count);
252
252
  }
253
253
 
254
- // ── segmentos y curvas ─────────────────────────────────────────────────────
254
+ // ── segments and curves ────────────────────────────────────────────────────
255
255
 
256
256
  /**
257
- * Caja de un segmento a→b: sin SVG, una línea es un rectángulo fino rotado
258
- * sobre su centro. Ancho = distancia, alto = grosor, rotación = la pendiente.
257
+ * Box of a segment a→b: without SVG, a line is a thin rectangle rotated
258
+ * around its center. Width = distance, height = thickness, rotation = the slope.
259
259
  */
260
260
  export function segmentBox(a, b, thickness) {
261
261
  const dx = b.x - a.x;
@@ -271,17 +271,17 @@ export function segmentBox(a, b, thickness) {
271
271
  }
272
272
 
273
273
  /**
274
- * Suaviza una polilínea con Catmull-Rom muestreada en `steps` tramos por vano.
275
- * La curva pasa por todos los puntos originales (a diferencia de un Bézier de
276
- * control libre), así que el dato sigue siendo el dato; sólo se agrega camino
277
- * entre medio, y el resultado se dibuja con los mismos segmentos rectos.
274
+ * Smooths a polyline with Catmull-Rom sampled in `steps` segments per span.
275
+ * The curve passes through all the original points (unlike a free-control
276
+ * Bézier), so the data is still the data; only path is added in between, and
277
+ * the result is drawn with the same straight segments.
278
278
  */
279
279
  export function smoothPoints(points, steps = 8) {
280
280
  if (points.length < 3 || steps < 2) return points;
281
281
  const out = [points[0]];
282
282
  for (let i = 0; i < points.length - 1; i += 1) {
283
- // Los extremos se duplican para que el primer y el último vano tengan
284
- // las cuatro referencias que pide la spline.
283
+ // The endpoints are duplicated so the first and last spans have the
284
+ // four references the spline asks for.
285
285
  const p0 = points[i - 1] ?? points[i];
286
286
  const p1 = points[i];
287
287
  const p2 = points[i + 1];
@@ -300,8 +300,8 @@ export function smoothPoints(points, steps = 8) {
300
300
  }
301
301
 
302
302
  /**
303
- * `y` de la polilínea en esa `x`, o null si cae fuera. Es lo que convierte una
304
- * línea en área: cada tira vertical pregunta su alto acá.
303
+ * The polyline's `y` at that `x`, or null if it falls outside. It is what
304
+ * turns a line into an area: each vertical strip asks for its height here.
305
305
  */
306
306
  export function sampleY(points, x) {
307
307
  if (points.length === 0) return null;
@@ -317,14 +317,14 @@ export function sampleY(points, x) {
317
317
  return null;
318
318
  }
319
319
 
320
- // ── formato ────────────────────────────────────────────────────────────────
320
+ // ── formatting ─────────────────────────────────────────────────────────────
321
321
 
322
322
  const UNITS = ['', 'k', 'M', 'B'];
323
323
 
324
324
  /**
325
- * Formato por defecto de ejes y tooltip: compacto, porque un eje de un chart
326
- * de 320px no tiene lugar para "1250000". El consumidor lo reemplaza entero
327
- * con `formatValue`.
325
+ * Default format for axes and tooltip: compact, because the axis of a 320px
326
+ * chart has no room for "1250000". The consumer replaces it entirely with
327
+ * `formatValue`.
328
328
  */
329
329
  export function formatNumber(value) {
330
330
  if (!Number.isFinite(value)) return '';
@@ -339,12 +339,12 @@ export function formatNumber(value) {
339
339
  return `${sign}${magnitude.toFixed(decimals)}${UNITS[unit]}`;
340
340
  }
341
341
  /**
342
- * Descompone un polígono alrededor de un centro en porciones angulares: es lo
343
- * que permite rellenar un radar con la misma primitiva que dibuja una torta.
342
+ * Breaks a polygon around a center into angular slices: it is what lets a
343
+ * radar be filled with the same primitive that draws a pie.
344
344
  *
345
- * El corte va por el lado del polígono (parámetro `t`), no por el ángulo: el
346
- * radio de una cuerda no es lineal en el ángulo, y cortando por ángulo los
347
- * vértices quedarían redondeados justo donde el dato manda que haya una punta.
345
+ * The cut goes along the polygon's side (parameter `t`), not by angle: the
346
+ * radius of a chord isn't linear in the angle, and cutting by angle would
347
+ * round off the vertices exactly where the data says there should be a point.
348
348
  */
349
349
  export function fanStrips(center, points, steps = 6) {
350
350
  if (points.length < 3 || steps < 1) return [];
@@ -361,14 +361,14 @@ export function fanStrips(center, points, steps = 6) {
361
361
  y: a.y + (b.y - a.y) * t
362
362
  };
363
363
  const angle = angleOf(center, point);
364
- // El salto de 360 a 0 cae en algún lado del recorrido: sin esto, esa
365
- // porción se dibujaría girando al revés y taparía todo el resto.
364
+ // The jump from 360 to 0 falls somewhere along the path: without this,
365
+ // that slice would be drawn turning backwards and cover everything else.
366
366
  let sweep = angle - previousAngle;
367
367
  if (sweep < 0) sweep += 360;
368
368
  if (sweep > 0) {
369
369
  const radius = (Math.hypot(previous.x - center.x, previous.y - center.y) + Math.hypot(point.x - center.x, point.y - center.y)) / 2;
370
- // Las porciones se solapan un pelo a propósito: sin el solape, el
371
- // antialias deja una costura clara entre tira y tira.
370
+ // The slices overlap a hair on purpose: without the overlap, the
371
+ // antialias leaves a light seam between strips.
372
372
  strips.push({
373
373
  start: previousAngle,
374
374
  sweep: sweep + 0.4,
@@ -382,38 +382,37 @@ export function fanStrips(center, points, steps = 6) {
382
382
  return strips;
383
383
  }
384
384
 
385
- // ── diezmado ───────────────────────────────────────────────────────────────
385
+ // ── decimation ─────────────────────────────────────────────────────────────
386
386
 
387
387
  /**
388
- * LTTB (Largest-Triangle-Three-Buckets): elige `threshold` puntos de `values`
389
- * quedándose con la forma de la curva. Devuelve índices, no puntos, para que
390
- * quien llama pueda conservar la fila entera —todas sus series— y no sólo la
391
- * que se usó para decidir.
388
+ * LTTB (Largest-Triangle-Three-Buckets): picks `threshold` points from
389
+ * `values` while keeping the shape of the curve. Returns indexes, not points,
390
+ * so the caller can keep the whole row —all its series— and not only the one
391
+ * used to decide.
392
392
  *
393
- * Por qué no un muestreo cada N: cada N se come los picos, que son justo lo
394
- * que alguien mira en una serie temporal. LTTB parte el recorrido en baldes y
395
- * de cada uno se queda con el punto que forma el triángulo más grande con el
396
- * ya elegido y con el promedio del balde siguiente — o sea, con el que más
397
- * cambia la silueta. Primero y último se conservan siempre.
393
+ * Why not sample every N: every N eats the peaks, which are exactly what
394
+ * someone looks at in a time series. LTTB splits the path into buckets and
395
+ * from each one keeps the point that forms the largest triangle with the one
396
+ * already picked and with the average of the next bucket — that is, the one
397
+ * that changes the silhouette the most. First and last are always kept.
398
398
  *
399
- * `x` es el índice: las categorías de un chart están repartidas parejo sobre
400
- * el eje, así que la distancia horizontal entre dos puntos es su distancia de
401
- * índice.
399
+ * `x` is the index: a chart's categories are spread evenly along the axis, so
400
+ * the horizontal distance between two points is their index distance.
402
401
  */
403
402
  export function lttbIndices(values, threshold) {
404
403
  const total = values.length;
405
404
  if (threshold >= total || threshold < 3) return values.map((_, index) => index);
406
405
  const at = index => values[index] ?? 0;
407
406
  const selected = [0];
408
- // Un balde por punto intermedio: el primero y el último no se sortean. Con
409
- // `threshold < total` el balde mide más de un punto, así que ninguno queda
410
- // vacío y salen exactamente `threshold` índices, sin repetidos.
407
+ // One bucket per intermediate point: the first and the last aren't drawn.
408
+ // With `threshold < total` a bucket spans more than one point, so none is
409
+ // empty and exactly `threshold` indexes come out, with no repeats.
411
410
  const every = (total - 2) / (threshold - 2);
412
411
  let previous = 0;
413
412
  for (let bucket = 0; bucket < threshold - 2; bucket += 1) {
414
- // Promedio del balde *siguiente*: el tercer vértice del triángulo. Va
415
- // corrido un balde respecto de los candidatos, y ese corrimiento es el
416
- // algoritmo — comparar contra el propio balde no mira hacia adelante.
413
+ // Average of the *next* bucket: the triangle's third vertex. It is
414
+ // offset one bucket from the candidates, and that offset is the
415
+ // algorithm — comparing against the bucket itself doesn't look ahead.
417
416
  const avgStart = Math.floor((bucket + 1) * every) + 1;
418
417
  const avgEnd = Math.min(Math.floor((bucket + 2) * every) + 1, total);
419
418
  let avgX = 0;
@@ -1 +1 @@
1
- {"version":3,"names":["toNumber","value","Number","isFinite","clamp","min","max","Math","tidy","toFixed","niceStep","rough","magnitude","pow","floor","log10","fraction","nice","niceScale","count","lo","hi","pad","abs","step","start","end","ceil","values","push","exactTicks","steps","Array","from","length","_","index","growExtent","previous","next","linearScale","domain","range","d0","d1","r0","r1","span","extent","rows","keys","options","stacked","includeZero","Infinity","row","up","down","key","stackRow","bands","to","RAD","PI","polar","center","radius","angle","x","sin","y","cos","angleOf","point","degrees","atan2","arcsFor","safe","map","total","reduce","sum","arcs","cursor","forEach","sweep","ratio","arcAt","normalized","arc","radarAngles","segmentBox","a","b","thickness","dx","dy","hypot","left","top","width","height","rotate","smoothPoints","points","out","i","p0","p1","p2","p3","s","t","t2","t3","sampleY","UNITS","formatNumber","sign","unit","decimals","fanStrips","strips","previousAngle","lttbIndices","threshold","at","selected","every","bucket","avgStart","avgEnd","avgX","avgY","best","bestArea","area"],"sourceRoot":"../../../../src","sources":["organisms/chart/math.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toNumber","value","Number","isFinite","clamp","min","max","Math","tidy","toFixed","niceStep","rough","magnitude","pow","floor","log10","fraction","nice","niceScale","count","lo","hi","pad","abs","step","start","end","ceil","values","push","exactTicks","steps","Array","from","length","_","index","growExtent","previous","next","linearScale","domain","range","d0","d1","r0","r1","span","extent","rows","keys","options","stacked","includeZero","Infinity","row","up","down","key","stackRow","bands","to","RAD","PI","polar","center","radius","angle","x","sin","y","cos","angleOf","point","degrees","atan2","arcsFor","safe","map","total","reduce","sum","arcs","cursor","forEach","sweep","ratio","arcAt","normalized","arc","radarAngles","segmentBox","a","b","thickness","dx","dy","hypot","left","top","width","height","rotate","smoothPoints","points","out","i","p0","p1","p2","p3","s","t","t2","t3","sampleY","UNITS","formatNumber","sign","unit","decimals","fanStrips","strips","previousAngle","lttbIndices","threshold","at","selected","every","bucket","avgStart","avgEnd","avgX","avgY","best","bestArea","area"],"sourceRoot":"../../../../src","sources":["organisms/chart/math.ts"],"mappings":"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","ignoreList":[]}
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Paleta categórica de Chart, derivada del theme.
4
+ * Chart's categorical palette, derived from the theme.
5
5
  *
6
- * No hay una lista de colores acá a propósito: si la hubiera, un `brand`
7
- * personalizado daría un chart que no se parece al resto de la app, y el modo
8
- * oscuro tendría que mantenerse a mano. Las primeras series reusan los acentos
9
- * del theme (que ya vienen con el contraste resuelto para su scheme) y, cuando
10
- * se acaban, se sigue rotando el tono del primario por el ángulo áureo: la
11
- * secuencia 137.5° es la que más tarda en repetir un tono parecido, que es
12
- * exactamente lo que se le pide a una paleta categórica.
6
+ * There is deliberately no list of colors here: if there were, a custom
7
+ * `brand` would produce a chart that doesn't look like the rest of the app,
8
+ * and dark mode would have to be maintained by hand. The first series reuse
9
+ * the theme's accents (which already come with contrast resolved for their
10
+ * scheme) and, when they run out, the primary's hue keeps rotating by the
11
+ * golden angle: the 137.5° sequence is the one that takes longest to repeat
12
+ * a similar hue, which is exactly what you ask of a categorical palette.
13
13
  *
14
- * Cada color se verifica contra `surface` a 3:1 — el mínimo de WCAG 1.4.11
15
- * para objetos gráficos, que es lo que es una barra — y se aclara u oscurece
16
- * hasta cumplirlo.
14
+ * Each color is checked against `surface` at 3:1 — the WCAG 1.4.11 minimum
15
+ * for graphical objects, which is what a bar is — and lightened or darkened
16
+ * until it meets it.
17
17
  */
18
18
  import { contrast, toHex, toHsl } from '../../theme/colors';
19
- /** Contraste mínimo de un objeto gráfico contra su fondo (WCAG 1.4.11). */
19
+ /** Minimum contrast of a graphical object against its background (WCAG 1.4.11). */
20
20
  export const GRAPHIC_CONTRAST = 3;
21
21
  const GOLDEN_ANGLE = 137.508;
22
22
 
23
- /** Acentos del theme en orden de aparición: tonos bien separados entre sí. */
23
+ /** Theme accents in order of appearance: hues well apart from one another. */
24
24
  function seeds(theme) {
25
25
  const {
26
26
  primary,
@@ -33,14 +33,14 @@ function seeds(theme) {
33
33
  }
34
34
 
35
35
  /**
36
- * Empuja la luminosidad hasta despegar del fondo. El paso es chico y el tope
37
- * bajo porque el objetivo es corregir un color, no inventar otro: si en 12
38
- * intentos no llegó, se devuelve lo mejor que se consiguió.
36
+ * Pushes the lightness until it stands off the background. The step is small
37
+ * and the cap low because the goal is to correct a color, not invent another:
38
+ * if it didn't get there in 12 tries, the best achieved is returned.
39
39
  */
40
40
  function readable(hex, surface) {
41
41
  if (contrast(hex, surface) >= GRAPHIC_CONTRAST) return hex;
42
42
  const hsl = toHsl(hex);
43
- // Sobre un fondo claro hay que oscurecer, sobre uno oscuro aclarar.
43
+ // Over a light background you have to darken, over a dark one lighten.
44
44
  const direction = toHsl(surface).l > 0.5 ? -1 : 1;
45
45
  let best = hex;
46
46
  let bestContrast = contrast(hex, surface);
@@ -67,9 +67,9 @@ function buildUnsafe(theme, count) {
67
67
  out.push(readable(base[index], surface));
68
68
  continue;
69
69
  }
70
- // Pasados los acentos, se gira el tono del primario. `l` alterna un
71
- // escalón por vuelta para que dos tonos vecinos no se confundan si la
72
- // rotación los acerca.
70
+ // Once past the accents, the primary's hue is rotated. `l` alternates one
71
+ // step per turn so two neighboring hues aren't confused if the rotation
72
+ // brings them close.
73
73
  const seed = toHsl(base[0]);
74
74
  const turn = index - base.length + 1;
75
75
  out.push(readable(toHex({
@@ -82,10 +82,10 @@ function buildUnsafe(theme, count) {
82
82
  }
83
83
 
84
84
  /**
85
- * Los helpers de color hablan hex. Un theme con un acento en `rgba()` es
86
- * legal para React Native y hace que `toHsl` tire: en ese caso se cae a los
87
- * acentos tal cual vinieron, ciclando. Un chart con colores repetidos es peor
88
- * que uno con colores derivados, pero muchísimo mejor que uno que no renderiza.
85
+ * The color helpers speak hex. A theme with an accent in `rgba()` is legal
86
+ * for React Native and makes `toHsl` throw: in that case it falls back to the
87
+ * accents as they came, cycling. A chart with repeated colors is worse than
88
+ * one with derived colors, but far better than one that doesn't render.
89
89
  */
90
90
  function build(theme, count) {
91
91
  try {
@@ -98,12 +98,12 @@ function build(theme, count) {
98
98
  }
99
99
  }
100
100
 
101
- // Una paleta por theme, y por theme el arreglo más largo pedido hasta ahora:
102
- // la cache se comparte entre todos los charts montados, que es el caso normal
103
- // (un dashboard con seis charts sobre el mismo theme).
101
+ // One palette per theme, and per theme the longest array requested so far:
102
+ // the cache is shared among all mounted charts, which is the normal case
103
+ // (a dashboard with six charts on the same theme).
104
104
  const cache = new WeakMap();
105
105
 
106
- /** `count` colores estables para las series: el mismo índice da siempre el mismo color. */
106
+ /** `count` stable colors for the series: the same index always gives the same color. */
107
107
  export function seriesPalette(theme, count) {
108
108
  const cached = cache.get(theme);
109
109
  if (cached && cached.length >= count) return cached.slice(0, count);
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Puente entre el proveedor montado y el código que no es un componente
5
- * (servicios, capa de API, interceptores). El proveedor se registra al montar y
6
- * se borra al desmontar, así que fuera del árbol nunca queda una referencia
7
- * viva a un contexto muerto.
4
+ * Bridge between the mounted provider and code that isn't a component
5
+ * (services, API layer, interceptors). The provider registers itself on mount
6
+ * and clears itself on unmount, so outside the tree there is never a live
7
+ * reference left to a dead context.
8
8
  */
9
9
 
10
10
  export function createImperativeBridge(providerName) {
@@ -15,7 +15,7 @@ export function createImperativeBridge(providerName) {
15
15
  },
16
16
  get: () => {
17
17
  if (!current && __DEV__) {
18
- console.warn(`orn-ui: se llamó a la API imperativa sin un <${providerName}> montado. La llamada se ignoró.`);
18
+ console.warn(`orn-ui: the imperative API was called without a mounted <${providerName}>. The call was ignored.`);
19
19
  }
20
20
  return current;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createImperativeBridge","providerName","current","set","value","get","__DEV__","console","warn"],"sourceRoot":"../../../src","sources":["organisms/imperativeBridge.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAMA,OAAO,SAASA,sBAAsBA,CAAIC,YAAoB,EAAuB;EACnF,IAAIC,OAAiB,GAAG,IAAI;EAE5B,OAAO;IACLC,GAAG,EAAGC,KAAK,IAAK;MACdF,OAAO,GAAGE,KAAK;IACjB,CAAC;IACDC,GAAG,EAAEA,CAAA,KAAM;MACT,IAAI,CAACH,OAAO,IAAII,OAAO,EAAE;QACvBC,OAAO,CAACC,IAAI,CACV,gDAAgDP,YAAY,kCAC9D,CAAC;MACH;MACA,OAAOC,OAAO;IAChB;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["createImperativeBridge","providerName","current","set","value","get","__DEV__","console","warn"],"sourceRoot":"../../../src","sources":["organisms/imperativeBridge.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAMA,OAAO,SAASA,sBAAsBA,CAAIC,YAAoB,EAAuB;EACnF,IAAIC,OAAiB,GAAG,IAAI;EAE5B,OAAO;IACLC,GAAG,EAAGC,KAAK,IAAK;MACdF,OAAO,GAAGE,KAAK;IACjB,CAAC;IACDC,GAAG,EAAEA,CAAA,KAAM;MACT,IAAI,CAACH,OAAO,IAAII,OAAO,EAAE;QACvBC,OAAO,CAACC,IAAI,CACV,4DAA4DP,YAAY,0BAC1E,CAAC;MACH;MACA,OAAOC,OAAO;IAChB;EACF,CAAC;AACH","ignoreList":[]}