orn-ui 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/AGENTS.md +67 -52
  2. package/README.md +5 -9
  3. package/lib/commonjs/atoms/Avatar.js +77 -5
  4. package/lib/commonjs/atoms/Avatar.js.map +1 -1
  5. package/lib/commonjs/atoms/Badge.js +17 -8
  6. package/lib/commonjs/atoms/Badge.js.map +1 -1
  7. package/lib/commonjs/atoms/Button.js +108 -39
  8. package/lib/commonjs/atoms/Button.js.map +1 -1
  9. package/lib/commonjs/atoms/Card.js +24 -2
  10. package/lib/commonjs/atoms/Card.js.map +1 -1
  11. package/lib/commonjs/atoms/Checkbox.js +41 -10
  12. package/lib/commonjs/atoms/Checkbox.js.map +1 -1
  13. package/lib/commonjs/atoms/Divider.js +30 -5
  14. package/lib/commonjs/atoms/Divider.js.map +1 -1
  15. package/lib/commonjs/atoms/EmptyState.js +58 -20
  16. package/lib/commonjs/atoms/EmptyState.js.map +1 -1
  17. package/lib/commonjs/atoms/Fab.js +32 -12
  18. package/lib/commonjs/atoms/Fab.js.map +1 -1
  19. package/lib/commonjs/atoms/Gradient.js +102 -36
  20. package/lib/commonjs/atoms/Gradient.js.map +1 -1
  21. package/lib/commonjs/atoms/IconButton.js +25 -4
  22. package/lib/commonjs/atoms/IconButton.js.map +1 -1
  23. package/lib/commonjs/atoms/Image.js +61 -25
  24. package/lib/commonjs/atoms/Image.js.map +1 -1
  25. package/lib/commonjs/atoms/Input.js +105 -17
  26. package/lib/commonjs/atoms/Input.js.map +1 -1
  27. package/lib/commonjs/atoms/KeyValueRow.js +37 -9
  28. package/lib/commonjs/atoms/KeyValueRow.js.map +1 -1
  29. package/lib/commonjs/atoms/PressableScale.js +25 -5
  30. package/lib/commonjs/atoms/PressableScale.js.map +1 -1
  31. package/lib/commonjs/atoms/ShinyText.js +29 -29
  32. package/lib/commonjs/atoms/Skeleton.js +28 -13
  33. package/lib/commonjs/atoms/Skeleton.js.map +1 -1
  34. package/lib/commonjs/atoms/Spinner.js +81 -22
  35. package/lib/commonjs/atoms/Spinner.js.map +1 -1
  36. package/lib/commonjs/atoms/Text.js +56 -5
  37. package/lib/commonjs/atoms/Text.js.map +1 -1
  38. package/lib/commonjs/atoms/Transition.js +46 -43
  39. package/lib/commonjs/atoms/Transition.js.map +1 -1
  40. package/lib/commonjs/atoms/index.js +6 -0
  41. package/lib/commonjs/atoms/index.js.map +1 -1
  42. package/lib/commonjs/atoms/inputValidation.js +56 -0
  43. package/lib/commonjs/atoms/inputValidation.js.map +1 -0
  44. package/lib/commonjs/icons/Icon.js +4 -4
  45. package/lib/commonjs/icons/defaultIcons.js +576 -24
  46. package/lib/commonjs/icons/defaultIcons.js.map +1 -1
  47. package/lib/commonjs/icons/index.js +6 -0
  48. package/lib/commonjs/icons/index.js.map +1 -1
  49. package/lib/commonjs/molecules/AvatarHeader.js +47 -14
  50. package/lib/commonjs/molecules/AvatarHeader.js.map +1 -1
  51. package/lib/commonjs/molecules/FormActions.js +25 -9
  52. package/lib/commonjs/molecules/FormActions.js.map +1 -1
  53. package/lib/commonjs/molecules/InfoRow.js +30 -14
  54. package/lib/commonjs/molecules/InfoRow.js.map +1 -1
  55. package/lib/commonjs/molecules/OptionCard.js +37 -22
  56. package/lib/commonjs/molecules/OptionCard.js.map +1 -1
  57. package/lib/commonjs/molecules/SegmentedControl.js +103 -14
  58. package/lib/commonjs/molecules/SegmentedControl.js.map +1 -1
  59. package/lib/commonjs/molecules/Stepper.js +61 -16
  60. package/lib/commonjs/molecules/Stepper.js.map +1 -1
  61. package/lib/commonjs/molecules/Steps.js +105 -41
  62. package/lib/commonjs/molecules/Steps.js.map +1 -1
  63. package/lib/commonjs/molecules/SymmetricGrid.js +26 -18
  64. package/lib/commonjs/molecules/SymmetricGrid.js.map +1 -1
  65. package/lib/commonjs/organisms/Alert.js +49 -35
  66. package/lib/commonjs/organisms/Alert.js.map +1 -1
  67. package/lib/commonjs/organisms/AlertProvider.js +10 -10
  68. package/lib/commonjs/organisms/BottomSheet.js +137 -85
  69. package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
  70. package/lib/commonjs/organisms/Chart.js +197 -156
  71. package/lib/commonjs/organisms/Chart.js.map +1 -1
  72. package/lib/commonjs/organisms/DateField.js +36 -20
  73. package/lib/commonjs/organisms/DateField.js.map +1 -1
  74. package/lib/commonjs/organisms/DatePicker.js +56 -33
  75. package/lib/commonjs/organisms/DatePicker.js.map +1 -1
  76. package/lib/commonjs/organisms/List.js +62 -34
  77. package/lib/commonjs/organisms/List.js.map +1 -1
  78. package/lib/commonjs/organisms/Modal.js +120 -82
  79. package/lib/commonjs/organisms/Modal.js.map +1 -1
  80. package/lib/commonjs/organisms/NavigationBar.js +63 -24
  81. package/lib/commonjs/organisms/NavigationBar.js.map +1 -1
  82. package/lib/commonjs/organisms/OptionWheel.js +64 -64
  83. package/lib/commonjs/organisms/OptionWheel.js.map +1 -1
  84. package/lib/commonjs/organisms/ReorderableList.js +48 -27
  85. package/lib/commonjs/organisms/ReorderableList.js.map +1 -1
  86. package/lib/commonjs/organisms/Screen.js +68 -35
  87. package/lib/commonjs/organisms/Screen.js.map +1 -1
  88. package/lib/commonjs/organisms/SearchList.js +56 -26
  89. package/lib/commonjs/organisms/SearchList.js.map +1 -1
  90. package/lib/commonjs/organisms/Select.js +45 -24
  91. package/lib/commonjs/organisms/Select.js.map +1 -1
  92. package/lib/commonjs/organisms/Slides.js +36 -23
  93. package/lib/commonjs/organisms/Slides.js.map +1 -1
  94. package/lib/commonjs/organisms/ThemeToggle.js +10 -9
  95. package/lib/commonjs/organisms/ThemeToggle.js.map +1 -1
  96. package/lib/commonjs/organisms/Timeline.js +73 -56
  97. package/lib/commonjs/organisms/Timeline.js.map +1 -1
  98. package/lib/commonjs/organisms/Toast.js +46 -15
  99. package/lib/commonjs/organisms/Toast.js.map +1 -1
  100. package/lib/commonjs/organisms/ToastProvider.js +14 -10
  101. package/lib/commonjs/organisms/ToastProvider.js.map +1 -1
  102. package/lib/commonjs/organisms/Wizard.js +40 -15
  103. package/lib/commonjs/organisms/Wizard.js.map +1 -1
  104. package/lib/commonjs/organisms/chart/frame.js +25 -25
  105. package/lib/commonjs/organisms/chart/frame.js.map +1 -1
  106. package/lib/commonjs/organisms/chart/marks.js +42 -42
  107. package/lib/commonjs/organisms/chart/math.js +84 -85
  108. package/lib/commonjs/organisms/chart/math.js.map +1 -1
  109. package/lib/commonjs/organisms/chart/palette.js +28 -28
  110. package/lib/commonjs/organisms/imperativeBridge.js +5 -5
  111. package/lib/commonjs/organisms/imperativeBridge.js.map +1 -1
  112. package/lib/commonjs/organisms/useSlides.js +53 -21
  113. package/lib/commonjs/organisms/useSlides.js.map +1 -1
  114. package/lib/commonjs/safe-area/SafeAreaUIProvider.js +9 -66
  115. package/lib/commonjs/safe-area/SafeAreaUIProvider.js.map +1 -1
  116. package/lib/commonjs/safe-area/index.js.map +1 -1
  117. package/lib/commonjs/theme/KeyboardAvoidance.js +206 -0
  118. package/lib/commonjs/theme/KeyboardAvoidance.js.map +1 -0
  119. package/lib/commonjs/theme/NativeOverlay.js +263 -0
  120. package/lib/commonjs/theme/NativeOverlay.js.map +1 -0
  121. package/lib/commonjs/theme/UIProvider.js +86 -33
  122. package/lib/commonjs/theme/UIProvider.js.map +1 -1
  123. package/lib/commonjs/theme/colors.js +17 -17
  124. package/lib/commonjs/theme/colors.js.map +1 -1
  125. package/lib/commonjs/theme/createStyles.js +19 -16
  126. package/lib/commonjs/theme/createStyles.js.map +1 -1
  127. package/lib/commonjs/theme/createTheme.js +6 -6
  128. package/lib/commonjs/theme/index.js +6 -0
  129. package/lib/commonjs/theme/index.js.map +1 -1
  130. package/lib/commonjs/theme/insets.js +1 -1
  131. package/lib/commonjs/theme/labels.js +29 -1
  132. package/lib/commonjs/theme/labels.js.map +1 -1
  133. package/lib/commonjs/theme/palettes.js +25 -23
  134. package/lib/commonjs/theme/palettes.js.map +1 -1
  135. package/lib/commonjs/theme/tokens.js +28 -14
  136. package/lib/commonjs/theme/tokens.js.map +1 -1
  137. package/lib/commonjs/theme/useKeyboardField.js +36 -0
  138. package/lib/commonjs/theme/useKeyboardField.js.map +1 -0
  139. package/lib/commonjs/theme/useReduceMotion.js +31 -0
  140. package/lib/commonjs/theme/useReduceMotion.js.map +1 -0
  141. package/lib/module/atoms/Avatar.js +79 -8
  142. package/lib/module/atoms/Avatar.js.map +1 -1
  143. package/lib/module/atoms/Badge.js +17 -8
  144. package/lib/module/atoms/Badge.js.map +1 -1
  145. package/lib/module/atoms/Button.js +110 -41
  146. package/lib/module/atoms/Button.js.map +1 -1
  147. package/lib/module/atoms/Card.js +24 -2
  148. package/lib/module/atoms/Card.js.map +1 -1
  149. package/lib/module/atoms/Checkbox.js +42 -11
  150. package/lib/module/atoms/Checkbox.js.map +1 -1
  151. package/lib/module/atoms/Divider.js +31 -6
  152. package/lib/module/atoms/Divider.js.map +1 -1
  153. package/lib/module/atoms/EmptyState.js +58 -20
  154. package/lib/module/atoms/EmptyState.js.map +1 -1
  155. package/lib/module/atoms/Fab.js +33 -13
  156. package/lib/module/atoms/Fab.js.map +1 -1
  157. package/lib/module/atoms/Gradient.js +103 -37
  158. package/lib/module/atoms/Gradient.js.map +1 -1
  159. package/lib/module/atoms/IconButton.js +25 -4
  160. package/lib/module/atoms/IconButton.js.map +1 -1
  161. package/lib/module/atoms/Image.js +61 -25
  162. package/lib/module/atoms/Image.js.map +1 -1
  163. package/lib/module/atoms/Input.js +108 -20
  164. package/lib/module/atoms/Input.js.map +1 -1
  165. package/lib/module/atoms/KeyValueRow.js +37 -9
  166. package/lib/module/atoms/KeyValueRow.js.map +1 -1
  167. package/lib/module/atoms/PressableScale.js +25 -5
  168. package/lib/module/atoms/PressableScale.js.map +1 -1
  169. package/lib/module/atoms/ShinyText.js +29 -29
  170. package/lib/module/atoms/Skeleton.js +30 -13
  171. package/lib/module/atoms/Skeleton.js.map +1 -1
  172. package/lib/module/atoms/Spinner.js +82 -23
  173. package/lib/module/atoms/Spinner.js.map +1 -1
  174. package/lib/module/atoms/Text.js +56 -5
  175. package/lib/module/atoms/Text.js.map +1 -1
  176. package/lib/module/atoms/Transition.js +41 -42
  177. package/lib/module/atoms/Transition.js.map +1 -1
  178. package/lib/module/atoms/index.js +1 -1
  179. package/lib/module/atoms/index.js.map +1 -1
  180. package/lib/module/atoms/inputValidation.js +52 -0
  181. package/lib/module/atoms/inputValidation.js.map +1 -0
  182. package/lib/module/icons/Icon.js +4 -4
  183. package/lib/module/icons/defaultIcons.js +574 -24
  184. package/lib/module/icons/defaultIcons.js.map +1 -1
  185. package/lib/module/icons/index.js +1 -1
  186. package/lib/module/icons/index.js.map +1 -1
  187. package/lib/module/molecules/AvatarHeader.js +47 -14
  188. package/lib/module/molecules/AvatarHeader.js.map +1 -1
  189. package/lib/module/molecules/FormActions.js +25 -9
  190. package/lib/module/molecules/FormActions.js.map +1 -1
  191. package/lib/module/molecules/InfoRow.js +30 -14
  192. package/lib/module/molecules/InfoRow.js.map +1 -1
  193. package/lib/module/molecules/OptionCard.js +37 -22
  194. package/lib/module/molecules/OptionCard.js.map +1 -1
  195. package/lib/module/molecules/SegmentedControl.js +107 -18
  196. package/lib/module/molecules/SegmentedControl.js.map +1 -1
  197. package/lib/module/molecules/Stepper.js +63 -18
  198. package/lib/module/molecules/Stepper.js.map +1 -1
  199. package/lib/module/molecules/Steps.js +107 -43
  200. package/lib/module/molecules/Steps.js.map +1 -1
  201. package/lib/module/molecules/SymmetricGrid.js +26 -18
  202. package/lib/module/molecules/SymmetricGrid.js.map +1 -1
  203. package/lib/module/organisms/Alert.js +51 -37
  204. package/lib/module/organisms/Alert.js.map +1 -1
  205. package/lib/module/organisms/AlertProvider.js +10 -10
  206. package/lib/module/organisms/BottomSheet.js +142 -88
  207. package/lib/module/organisms/BottomSheet.js.map +1 -1
  208. package/lib/module/organisms/Chart.js +199 -158
  209. package/lib/module/organisms/Chart.js.map +1 -1
  210. package/lib/module/organisms/DateField.js +36 -20
  211. package/lib/module/organisms/DateField.js.map +1 -1
  212. package/lib/module/organisms/DatePicker.js +56 -33
  213. package/lib/module/organisms/DatePicker.js.map +1 -1
  214. package/lib/module/organisms/List.js +62 -34
  215. package/lib/module/organisms/List.js.map +1 -1
  216. package/lib/module/organisms/Modal.js +122 -84
  217. package/lib/module/organisms/Modal.js.map +1 -1
  218. package/lib/module/organisms/NavigationBar.js +64 -25
  219. package/lib/module/organisms/NavigationBar.js.map +1 -1
  220. package/lib/module/organisms/OptionWheel.js +64 -64
  221. package/lib/module/organisms/OptionWheel.js.map +1 -1
  222. package/lib/module/organisms/ReorderableList.js +48 -27
  223. package/lib/module/organisms/ReorderableList.js.map +1 -1
  224. package/lib/module/organisms/Screen.js +70 -37
  225. package/lib/module/organisms/Screen.js.map +1 -1
  226. package/lib/module/organisms/SearchList.js +56 -26
  227. package/lib/module/organisms/SearchList.js.map +1 -1
  228. package/lib/module/organisms/Select.js +46 -25
  229. package/lib/module/organisms/Select.js.map +1 -1
  230. package/lib/module/organisms/Slides.js +37 -24
  231. package/lib/module/organisms/Slides.js.map +1 -1
  232. package/lib/module/organisms/ThemeToggle.js +11 -10
  233. package/lib/module/organisms/ThemeToggle.js.map +1 -1
  234. package/lib/module/organisms/Timeline.js +73 -56
  235. package/lib/module/organisms/Timeline.js.map +1 -1
  236. package/lib/module/organisms/Toast.js +47 -16
  237. package/lib/module/organisms/Toast.js.map +1 -1
  238. package/lib/module/organisms/ToastProvider.js +15 -11
  239. package/lib/module/organisms/ToastProvider.js.map +1 -1
  240. package/lib/module/organisms/Wizard.js +41 -16
  241. package/lib/module/organisms/Wizard.js.map +1 -1
  242. package/lib/module/organisms/chart/frame.js +25 -25
  243. package/lib/module/organisms/chart/frame.js.map +1 -1
  244. package/lib/module/organisms/chart/marks.js +42 -42
  245. package/lib/module/organisms/chart/math.js +84 -85
  246. package/lib/module/organisms/chart/math.js.map +1 -1
  247. package/lib/module/organisms/chart/palette.js +28 -28
  248. package/lib/module/organisms/imperativeBridge.js +5 -5
  249. package/lib/module/organisms/imperativeBridge.js.map +1 -1
  250. package/lib/module/organisms/useSlides.js +53 -21
  251. package/lib/module/organisms/useSlides.js.map +1 -1
  252. package/lib/module/safe-area/SafeAreaUIProvider.js +10 -65
  253. package/lib/module/safe-area/SafeAreaUIProvider.js.map +1 -1
  254. package/lib/module/safe-area/index.js +1 -0
  255. package/lib/module/safe-area/index.js.map +1 -1
  256. package/lib/module/theme/KeyboardAvoidance.js +198 -0
  257. package/lib/module/theme/KeyboardAvoidance.js.map +1 -0
  258. package/lib/module/theme/NativeOverlay.js +257 -0
  259. package/lib/module/theme/NativeOverlay.js.map +1 -0
  260. package/lib/module/theme/UIProvider.js +88 -35
  261. package/lib/module/theme/UIProvider.js.map +1 -1
  262. package/lib/module/theme/colors.js +17 -17
  263. package/lib/module/theme/colors.js.map +1 -1
  264. package/lib/module/theme/createStyles.js +20 -16
  265. package/lib/module/theme/createStyles.js.map +1 -1
  266. package/lib/module/theme/createTheme.js +6 -6
  267. package/lib/module/theme/index.js +1 -1
  268. package/lib/module/theme/index.js.map +1 -1
  269. package/lib/module/theme/insets.js +1 -1
  270. package/lib/module/theme/labels.js +29 -1
  271. package/lib/module/theme/labels.js.map +1 -1
  272. package/lib/module/theme/palettes.js +25 -23
  273. package/lib/module/theme/palettes.js.map +1 -1
  274. package/lib/module/theme/tokens.js +27 -13
  275. package/lib/module/theme/tokens.js.map +1 -1
  276. package/lib/module/theme/useKeyboardField.js +33 -0
  277. package/lib/module/theme/useKeyboardField.js.map +1 -0
  278. package/lib/module/theme/useReduceMotion.js +28 -0
  279. package/lib/module/theme/useReduceMotion.js.map +1 -0
  280. package/lib/typescript/atoms/Avatar.d.ts +35 -5
  281. package/lib/typescript/atoms/Avatar.d.ts.map +1 -1
  282. package/lib/typescript/atoms/Badge.d.ts +14 -3
  283. package/lib/typescript/atoms/Badge.d.ts.map +1 -1
  284. package/lib/typescript/atoms/Button.d.ts +34 -3
  285. package/lib/typescript/atoms/Button.d.ts.map +1 -1
  286. package/lib/typescript/atoms/Card.d.ts +13 -2
  287. package/lib/typescript/atoms/Card.d.ts.map +1 -1
  288. package/lib/typescript/atoms/Checkbox.d.ts +26 -1
  289. package/lib/typescript/atoms/Checkbox.d.ts.map +1 -1
  290. package/lib/typescript/atoms/Divider.d.ts +18 -1
  291. package/lib/typescript/atoms/Divider.d.ts.map +1 -1
  292. package/lib/typescript/atoms/EmptyState.d.ts +30 -3
  293. package/lib/typescript/atoms/EmptyState.d.ts.map +1 -1
  294. package/lib/typescript/atoms/Fab.d.ts +24 -4
  295. package/lib/typescript/atoms/Fab.d.ts.map +1 -1
  296. package/lib/typescript/atoms/Gradient.d.ts +21 -15
  297. package/lib/typescript/atoms/Gradient.d.ts.map +1 -1
  298. package/lib/typescript/atoms/IconButton.d.ts +18 -4
  299. package/lib/typescript/atoms/IconButton.d.ts.map +1 -1
  300. package/lib/typescript/atoms/Image.d.ts +39 -17
  301. package/lib/typescript/atoms/Image.d.ts.map +1 -1
  302. package/lib/typescript/atoms/Input.d.ts +57 -7
  303. package/lib/typescript/atoms/Input.d.ts.map +1 -1
  304. package/lib/typescript/atoms/KeyValueRow.d.ts +16 -4
  305. package/lib/typescript/atoms/KeyValueRow.d.ts.map +1 -1
  306. package/lib/typescript/atoms/PressableScale.d.ts +12 -5
  307. package/lib/typescript/atoms/PressableScale.d.ts.map +1 -1
  308. package/lib/typescript/atoms/ShinyText.d.ts +17 -17
  309. package/lib/typescript/atoms/ShinyText.d.ts.map +1 -1
  310. package/lib/typescript/atoms/Skeleton.d.ts +12 -7
  311. package/lib/typescript/atoms/Skeleton.d.ts.map +1 -1
  312. package/lib/typescript/atoms/Spinner.d.ts +29 -1
  313. package/lib/typescript/atoms/Spinner.d.ts.map +1 -1
  314. package/lib/typescript/atoms/Text.d.ts +46 -0
  315. package/lib/typescript/atoms/Text.d.ts.map +1 -1
  316. package/lib/typescript/atoms/Transition.d.ts +19 -15
  317. package/lib/typescript/atoms/Transition.d.ts.map +1 -1
  318. package/lib/typescript/atoms/index.d.ts +3 -3
  319. package/lib/typescript/atoms/index.d.ts.map +1 -1
  320. package/lib/typescript/atoms/inputValidation.d.ts +29 -0
  321. package/lib/typescript/atoms/inputValidation.d.ts.map +1 -0
  322. package/lib/typescript/icons/Icon.d.ts +4 -4
  323. package/lib/typescript/icons/defaultIcons.d.ts +19 -2
  324. package/lib/typescript/icons/defaultIcons.d.ts.map +1 -1
  325. package/lib/typescript/icons/index.d.ts +2 -2
  326. package/lib/typescript/icons/index.d.ts.map +1 -1
  327. package/lib/typescript/icons/types.d.ts +13 -3
  328. package/lib/typescript/icons/types.d.ts.map +1 -1
  329. package/lib/typescript/molecules/AvatarHeader.d.ts +23 -4
  330. package/lib/typescript/molecules/AvatarHeader.d.ts.map +1 -1
  331. package/lib/typescript/molecules/FormActions.d.ts +21 -4
  332. package/lib/typescript/molecules/FormActions.d.ts.map +1 -1
  333. package/lib/typescript/molecules/InfoRow.d.ts +17 -3
  334. package/lib/typescript/molecules/InfoRow.d.ts.map +1 -1
  335. package/lib/typescript/molecules/OptionCard.d.ts +20 -5
  336. package/lib/typescript/molecules/OptionCard.d.ts.map +1 -1
  337. package/lib/typescript/molecules/SegmentedControl.d.ts +18 -2
  338. package/lib/typescript/molecules/SegmentedControl.d.ts.map +1 -1
  339. package/lib/typescript/molecules/Stepper.d.ts +23 -7
  340. package/lib/typescript/molecules/Stepper.d.ts.map +1 -1
  341. package/lib/typescript/molecules/Steps.d.ts +18 -4
  342. package/lib/typescript/molecules/Steps.d.ts.map +1 -1
  343. package/lib/typescript/molecules/SymmetricGrid.d.ts +15 -5
  344. package/lib/typescript/molecules/SymmetricGrid.d.ts.map +1 -1
  345. package/lib/typescript/organisms/Alert.d.ts +28 -2
  346. package/lib/typescript/organisms/Alert.d.ts.map +1 -1
  347. package/lib/typescript/organisms/AlertProvider.d.ts +10 -10
  348. package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
  349. package/lib/typescript/organisms/BottomSheet.d.ts +20 -5
  350. package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
  351. package/lib/typescript/organisms/Chart.d.ts +86 -75
  352. package/lib/typescript/organisms/Chart.d.ts.map +1 -1
  353. package/lib/typescript/organisms/DateField.d.ts +17 -3
  354. package/lib/typescript/organisms/DateField.d.ts.map +1 -1
  355. package/lib/typescript/organisms/DatePicker.d.ts +7 -11
  356. package/lib/typescript/organisms/DatePicker.d.ts.map +1 -1
  357. package/lib/typescript/organisms/List.d.ts +30 -3
  358. package/lib/typescript/organisms/List.d.ts.map +1 -1
  359. package/lib/typescript/organisms/Modal.d.ts +30 -3
  360. package/lib/typescript/organisms/Modal.d.ts.map +1 -1
  361. package/lib/typescript/organisms/NavigationBar.d.ts +26 -7
  362. package/lib/typescript/organisms/NavigationBar.d.ts.map +1 -1
  363. package/lib/typescript/organisms/OptionWheel.d.ts +20 -16
  364. package/lib/typescript/organisms/OptionWheel.d.ts.map +1 -1
  365. package/lib/typescript/organisms/ReorderableList.d.ts +20 -11
  366. package/lib/typescript/organisms/ReorderableList.d.ts.map +1 -1
  367. package/lib/typescript/organisms/Screen.d.ts +27 -8
  368. package/lib/typescript/organisms/Screen.d.ts.map +1 -1
  369. package/lib/typescript/organisms/SearchList.d.ts +46 -3
  370. package/lib/typescript/organisms/SearchList.d.ts.map +1 -1
  371. package/lib/typescript/organisms/Select.d.ts +26 -6
  372. package/lib/typescript/organisms/Select.d.ts.map +1 -1
  373. package/lib/typescript/organisms/Slides.d.ts +44 -26
  374. package/lib/typescript/organisms/Slides.d.ts.map +1 -1
  375. package/lib/typescript/organisms/ThemeToggle.d.ts +6 -2
  376. package/lib/typescript/organisms/ThemeToggle.d.ts.map +1 -1
  377. package/lib/typescript/organisms/Timeline.d.ts +26 -9
  378. package/lib/typescript/organisms/Timeline.d.ts.map +1 -1
  379. package/lib/typescript/organisms/Toast.d.ts +19 -4
  380. package/lib/typescript/organisms/Toast.d.ts.map +1 -1
  381. package/lib/typescript/organisms/ToastProvider.d.ts +8 -8
  382. package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -1
  383. package/lib/typescript/organisms/Wizard.d.ts +24 -6
  384. package/lib/typescript/organisms/Wizard.d.ts.map +1 -1
  385. package/lib/typescript/organisms/chart/frame.d.ts +21 -21
  386. package/lib/typescript/organisms/chart/frame.d.ts.map +1 -1
  387. package/lib/typescript/organisms/chart/marks.d.ts +28 -28
  388. package/lib/typescript/organisms/chart/marks.d.ts.map +1 -1
  389. package/lib/typescript/organisms/chart/math.d.ts +69 -70
  390. package/lib/typescript/organisms/chart/math.d.ts.map +1 -1
  391. package/lib/typescript/organisms/chart/palette.d.ts +2 -2
  392. package/lib/typescript/organisms/chart/palette.d.ts.map +1 -1
  393. package/lib/typescript/organisms/imperativeBridge.d.ts +4 -4
  394. package/lib/typescript/organisms/useSlides.d.ts +8 -16
  395. package/lib/typescript/organisms/useSlides.d.ts.map +1 -1
  396. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts +9 -7
  397. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts.map +1 -1
  398. package/lib/typescript/safe-area/index.d.ts.map +1 -1
  399. package/lib/typescript/theme/KeyboardAvoidance.d.ts +62 -0
  400. package/lib/typescript/theme/KeyboardAvoidance.d.ts.map +1 -0
  401. package/lib/typescript/theme/NativeOverlay.d.ts +43 -0
  402. package/lib/typescript/theme/NativeOverlay.d.ts.map +1 -0
  403. package/lib/typescript/theme/UIProvider.d.ts +38 -20
  404. package/lib/typescript/theme/UIProvider.d.ts.map +1 -1
  405. package/lib/typescript/theme/colors.d.ts +13 -13
  406. package/lib/typescript/theme/colors.d.ts.map +1 -1
  407. package/lib/typescript/theme/createStyles.d.ts +20 -14
  408. package/lib/typescript/theme/createStyles.d.ts.map +1 -1
  409. package/lib/typescript/theme/createTheme.d.ts +5 -5
  410. package/lib/typescript/theme/index.d.ts +1 -1
  411. package/lib/typescript/theme/index.d.ts.map +1 -1
  412. package/lib/typescript/theme/insets.d.ts +1 -1
  413. package/lib/typescript/theme/insets.d.ts.map +1 -1
  414. package/lib/typescript/theme/labels.d.ts +57 -2
  415. package/lib/typescript/theme/labels.d.ts.map +1 -1
  416. package/lib/typescript/theme/palettes.d.ts +25 -19
  417. package/lib/typescript/theme/palettes.d.ts.map +1 -1
  418. package/lib/typescript/theme/tokens.d.ts +15 -8
  419. package/lib/typescript/theme/tokens.d.ts.map +1 -1
  420. package/lib/typescript/theme/types.d.ts +7 -7
  421. package/lib/typescript/theme/types.d.ts.map +1 -1
  422. package/lib/typescript/theme/useKeyboardField.d.ts +17 -0
  423. package/lib/typescript/theme/useKeyboardField.d.ts.map +1 -0
  424. package/lib/typescript/theme/useReduceMotion.d.ts +7 -0
  425. package/lib/typescript/theme/useReduceMotion.d.ts.map +1 -0
  426. package/llms.txt +4 -4
  427. package/package.json +15 -14
  428. package/registry/alert-provider.json +4 -3
  429. package/registry/alert.json +3 -2
  430. package/registry/avatar-header.json +1 -1
  431. package/registry/avatar.json +3 -2
  432. package/registry/badge.json +1 -1
  433. package/registry/bottom-sheet.json +1 -1
  434. package/registry/button.json +3 -2
  435. package/registry/card.json +1 -1
  436. package/registry/chart.json +5 -5
  437. package/registry/checkbox.json +3 -2
  438. package/registry/core.json +31 -15
  439. package/registry/date-field.json +1 -1
  440. package/registry/date-picker.json +3 -2
  441. package/registry/divider.json +1 -1
  442. package/registry/empty-state.json +4 -2
  443. package/registry/fab.json +3 -2
  444. package/registry/form-actions.json +3 -2
  445. package/registry/gradient.json +1 -1
  446. package/registry/icon-button.json +3 -2
  447. package/registry/image.json +1 -1
  448. package/registry/index.json +79 -61
  449. package/registry/info-row.json +1 -1
  450. package/registry/input.json +5 -1
  451. package/registry/key-value-row.json +1 -1
  452. package/registry/list.json +3 -1
  453. package/registry/manifest.json +3 -1
  454. package/registry/modal.json +1 -1
  455. package/registry/navigation-bar.json +1 -1
  456. package/registry/option-card.json +3 -2
  457. package/registry/option-wheel.json +1 -1
  458. package/registry/pressable-scale.json +3 -2
  459. package/registry/reorderable-list.json +1 -1
  460. package/registry/screen.json +1 -1
  461. package/registry/search-list.json +7 -1
  462. package/registry/segmented-control.json +1 -1
  463. package/registry/select.json +1 -1
  464. package/registry/shiny-text.json +1 -1
  465. package/registry/skeleton.json +3 -2
  466. package/registry/slides.json +2 -2
  467. package/registry/spinner.json +1 -1
  468. package/registry/stepper.json +1 -1
  469. package/registry/steps.json +1 -1
  470. package/registry/symmetric-grid.json +1 -1
  471. package/registry/theme-toggle.json +1 -1
  472. package/registry/timeline.json +1 -1
  473. package/registry/title.json +1 -1
  474. package/registry/toast-provider.json +2 -2
  475. package/registry/toast.json +1 -1
  476. package/registry/transition.json +1 -1
  477. package/registry/wizard.json +1 -1
  478. package/src/atoms/Avatar.tsx +117 -26
  479. package/src/atoms/Badge.tsx +20 -9
  480. package/src/atoms/Button.tsx +102 -30
  481. package/src/atoms/Card.tsx +23 -3
  482. package/src/atoms/Checkbox.tsx +49 -12
  483. package/src/atoms/Divider.tsx +34 -4
  484. package/src/atoms/EmptyState.tsx +63 -16
  485. package/src/atoms/Fab.tsx +56 -9
  486. package/src/atoms/Gradient.tsx +92 -41
  487. package/src/atoms/IconButton.tsx +27 -4
  488. package/src/atoms/Image.tsx +74 -28
  489. package/src/atoms/Input.tsx +129 -19
  490. package/src/atoms/KeyValueRow.tsx +72 -28
  491. package/src/atoms/PressableScale.tsx +31 -7
  492. package/src/atoms/ShinyText.tsx +31 -31
  493. package/src/atoms/Skeleton.tsx +37 -17
  494. package/src/atoms/Spinner.tsx +87 -24
  495. package/src/atoms/Text.tsx +66 -6
  496. package/src/atoms/Transition.tsx +40 -44
  497. package/src/atoms/index.ts +3 -3
  498. package/src/atoms/inputValidation.ts +59 -0
  499. package/src/icons/Icon.tsx +4 -4
  500. package/src/icons/defaultIcons.tsx +445 -22
  501. package/src/icons/index.ts +2 -2
  502. package/src/icons/types.ts +26 -4
  503. package/src/molecules/AvatarHeader.tsx +88 -34
  504. package/src/molecules/FormActions.tsx +36 -6
  505. package/src/molecules/InfoRow.tsx +39 -12
  506. package/src/molecules/OptionCard.tsx +55 -20
  507. package/src/molecules/SegmentedControl.tsx +135 -15
  508. package/src/molecules/Stepper.tsx +73 -19
  509. package/src/molecules/Steps.tsx +121 -39
  510. package/src/molecules/SymmetricGrid.tsx +28 -12
  511. package/src/organisms/Alert.tsx +97 -26
  512. package/src/organisms/AlertProvider.tsx +13 -13
  513. package/src/organisms/BottomSheet.tsx +115 -43
  514. package/src/organisms/Chart.tsx +223 -165
  515. package/src/organisms/DateField.tsx +40 -15
  516. package/src/organisms/DatePicker.tsx +53 -32
  517. package/src/organisms/List.tsx +64 -15
  518. package/src/organisms/Modal.tsx +122 -63
  519. package/src/organisms/NavigationBar.tsx +73 -23
  520. package/src/organisms/OptionWheel.tsx +70 -66
  521. package/src/organisms/ReorderableList.tsx +49 -27
  522. package/src/organisms/Screen.tsx +79 -42
  523. package/src/organisms/SearchList.tsx +84 -20
  524. package/src/organisms/Select.tsx +63 -29
  525. package/src/organisms/Slides.tsx +63 -44
  526. package/src/organisms/ThemeToggle.tsx +15 -6
  527. package/src/organisms/Timeline.tsx +79 -62
  528. package/src/organisms/Toast.tsx +50 -15
  529. package/src/organisms/ToastProvider.tsx +17 -13
  530. package/src/organisms/Wizard.tsx +58 -21
  531. package/src/organisms/chart/frame.tsx +35 -35
  532. package/src/organisms/chart/marks.tsx +53 -53
  533. package/src/organisms/chart/math.ts +93 -94
  534. package/src/organisms/chart/palette.ts +28 -28
  535. package/src/organisms/imperativeBridge.ts +5 -5
  536. package/src/organisms/useSlides.ts +66 -31
  537. package/src/safe-area/SafeAreaUIProvider.tsx +9 -70
  538. package/src/safe-area/index.ts +1 -0
  539. package/src/theme/KeyboardAvoidance.tsx +216 -0
  540. package/src/theme/NativeOverlay.tsx +269 -0
  541. package/src/theme/UIProvider.tsx +109 -46
  542. package/src/theme/colors.ts +21 -21
  543. package/src/theme/createStyles.ts +23 -19
  544. package/src/theme/createTheme.ts +6 -6
  545. package/src/theme/index.ts +1 -1
  546. package/src/theme/insets.ts +1 -1
  547. package/src/theme/labels.ts +85 -2
  548. package/src/theme/palettes.ts +33 -25
  549. package/src/theme/tokens.ts +27 -13
  550. package/src/theme/types.ts +7 -7
  551. package/src/theme/useKeyboardField.ts +33 -0
  552. package/src/theme/useReduceMotion.ts +27 -0
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { memo } from 'react';
4
- import { Modal, Text, TouchableWithoutFeedback, View } from 'react-native';
4
+ import { Text, TouchableWithoutFeedback, View } from 'react-native';
5
+ import { NativeOverlay } from '../theme/NativeOverlay';
5
6
  import { createStyles } from '../theme/createStyles';
6
- import { useAllowFontScaling, useColors, useLabels } from '../theme/UIProvider';
7
+ import { useAllowFontScaling, useColors, useLabels, useTheme } from '../theme/UIProvider';
7
8
  import { Button } from '../atoms/Button';
8
9
  import { Icon } from '../icons/Icon';
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -14,6 +15,12 @@ const ICON_BY_TYPE = {
14
15
  question: 'question',
15
16
  info: 'info'
16
17
  };
18
+
19
+ /** Readable line length for a short dialog on tablets too. */
20
+ const DIALOG_MAX_WIDTH = 340;
21
+ const ICON_SIZE = 48;
22
+ /** Above any sibling of the inline host. */
23
+ const INLINE_Z = 9999;
17
24
  const useStyles = createStyles(theme => ({
18
25
  overlay: {
19
26
  flex: 1,
@@ -22,53 +29,53 @@ const useStyles = createStyles(theme => ({
22
29
  alignItems: 'center',
23
30
  padding: theme.tokens.spacing.xl
24
31
  },
25
- overlayInline: {
32
+ fill: {
26
33
  position: 'absolute',
27
34
  top: 0,
28
35
  left: 0,
29
36
  right: 0,
30
- bottom: 0,
31
- zIndex: 9999
37
+ bottom: 0
38
+ },
39
+ overlayInline: {
40
+ zIndex: INLINE_Z
32
41
  },
33
42
  container: {
34
- backgroundColor: theme.colors.surface,
43
+ // Raised: in dark mode the plain surface sank into the dimmed backdrop.
44
+ backgroundColor: theme.colors.surfaceRaised,
35
45
  borderRadius: theme.tokens.radius.xl,
36
46
  padding: theme.tokens.spacing.xl,
37
47
  width: '100%',
38
- maxWidth: 340,
48
+ maxWidth: DIALOG_MAX_WIDTH,
39
49
  alignItems: 'center',
40
50
  ...theme.tokens.shadow.md
41
51
  },
42
52
  iconContainer: {
43
- marginBottom: theme.tokens.spacing.lg - 1
53
+ marginBottom: theme.tokens.spacing.lg
44
54
  },
45
55
  title: {
46
56
  fontSize: theme.tokens.fontSize.xl,
57
+ lineHeight: theme.tokens.lineHeight.lg,
47
58
  fontWeight: theme.tokens.fontWeight.bold,
48
59
  color: theme.colors.text,
49
60
  textAlign: 'center',
50
- marginBottom: theme.tokens.spacing.md - 2
61
+ marginBottom: theme.tokens.spacing.sm
51
62
  },
52
63
  message: {
53
64
  fontSize: theme.tokens.fontSize.md,
65
+ lineHeight: theme.tokens.lineHeight.md,
54
66
  color: theme.colors.textLight,
55
- textAlign: 'center',
56
- marginBottom: theme.tokens.spacing.xl,
57
- lineHeight: theme.tokens.lineHeight.md
67
+ textAlign: 'center'
58
68
  },
59
69
  buttonContainer: {
60
70
  flexDirection: 'row',
61
71
  justifyContent: 'center',
62
- gap: theme.tokens.spacing.sm + 2,
63
- width: '100%'
72
+ gap: theme.tokens.spacing.sm,
73
+ width: '100%',
74
+ marginTop: theme.tokens.spacing.xl
64
75
  },
65
76
  buttonContainerVertical: {
66
77
  flexDirection: 'column'
67
78
  },
68
- button: {
69
- paddingVertical: theme.tokens.spacing.md - 2,
70
- paddingHorizontal: theme.tokens.spacing.xl
71
- },
72
79
  buttonHorizontal: {
73
80
  flex: 1
74
81
  },
@@ -77,7 +84,7 @@ const useStyles = createStyles(theme => ({
77
84
  }
78
85
  }));
79
86
 
80
- /** Deriva la lista de botones a partir de props, sin mutar `buttons` recibido por props. */
87
+ /** Derives the list of buttons from props, without mutating the `buttons` received through props. */
81
88
  function resolveButtons(props, labels) {
82
89
  const {
83
90
  buttons,
@@ -85,7 +92,8 @@ function resolveButtons(props, labels) {
85
92
  cancelText,
86
93
  onConfirm,
87
94
  onCancel,
88
- onClose
95
+ onClose,
96
+ destructive
89
97
  } = props;
90
98
  if (buttons && buttons.length > 0) return buttons;
91
99
  if (confirmText || onConfirm) {
@@ -101,7 +109,7 @@ function resolveButtons(props, labels) {
101
109
  list.push({
102
110
  text: confirmText || labels.confirm,
103
111
  onPress: onConfirm,
104
- variant: 'primary'
112
+ variant: destructive ? 'destructive' : 'primary'
105
113
  });
106
114
  return list;
107
115
  }
@@ -114,8 +122,17 @@ function resolveButtons(props, labels) {
114
122
 
115
123
  /**
116
124
  * Alert
117
- * Componente declarativo de diálogo. Para uso imperativo (mostrar desde
118
- * un handler sin levantar estado propio), usar AlertProvider + useAlert().
125
+ * Declarative dialog component. For imperative use (showing it from a
126
+ * handler without lifting your own state), use AlertProvider + useAlert().
127
+ *
128
+ * Gestalt, figure-ground: the overlay dims everything behind, so the dialog
129
+ * is the only figure. Proximity: icon, title and message sit together and the
130
+ * buttons a larger step below, as the answer block. Von Restorff: only the
131
+ * main action is filled (or red when `destructive`); cancel is outline.
132
+ * Hick: two buttons side by side; three or more stack so each reads alone.
133
+ *
134
+ * Accessibility: the title is a header, the dialog is modal for VoiceOver and
135
+ * the escape gesture (two-finger Z) calls `onClose`.
119
136
  */
120
137
  export const Alert = /*#__PURE__*/memo(props => {
121
138
  const {
@@ -126,13 +143,14 @@ export const Alert = /*#__PURE__*/memo(props => {
126
143
  onClose,
127
144
  inline = false
128
145
  } = props;
146
+ const theme = useTheme();
129
147
  const colors = useColors();
130
148
  const styles = useStyles();
131
149
  const labels = useLabels();
132
150
  const allowFontScaling = useAllowFontScaling();
133
151
  if (!visible) return null;
134
152
  const iconColor = {
135
- // Íconos sobre la superficie del diálogo: rol `*Text`, no el acento pleno.
153
+ // Icons over the dialog's surface: `*Text` role, not the full accent.
136
154
  success: colors.successText,
137
155
  error: colors.errorText,
138
156
  warning: colors.warningText,
@@ -149,22 +167,24 @@ export const Alert = /*#__PURE__*/memo(props => {
149
167
  onPress: onClose,
150
168
  accessibilityRole: "none",
151
169
  children: /*#__PURE__*/_jsx(View, {
152
- style: [styles.overlay, inline && styles.overlayInline],
170
+ style: [styles.overlay, inline && [styles.fill, styles.overlayInline]],
153
171
  children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
154
172
  children: /*#__PURE__*/_jsxs(View, {
155
173
  style: styles.container,
156
174
  accessibilityRole: "alert",
157
175
  accessibilityViewIsModal: true,
176
+ onAccessibilityEscape: onClose,
158
177
  children: [/*#__PURE__*/_jsx(View, {
159
178
  style: styles.iconContainer,
160
179
  children: /*#__PURE__*/_jsx(Icon, {
161
180
  name: ICON_BY_TYPE[type],
162
- size: 48,
181
+ size: ICON_SIZE,
163
182
  color: iconColor[type]
164
183
  })
165
184
  }), /*#__PURE__*/_jsx(Text, {
166
185
  allowFontScaling: allowFontScaling,
167
186
  style: styles.title,
187
+ accessibilityRole: "header",
168
188
  children: title
169
189
  }), !!message && /*#__PURE__*/_jsx(Text, {
170
190
  allowFontScaling: allowFontScaling,
@@ -181,9 +201,9 @@ export const Alert = /*#__PURE__*/memo(props => {
181
201
  title: btn.text,
182
202
  onPress: btn.onPress || onClose || (() => {}),
183
203
  variant: variant,
184
- style: [styles.button, vertical ? styles.buttonVertical : styles.buttonHorizontal],
204
+ style: vertical ? styles.buttonVertical : styles.buttonHorizontal,
185
205
  textStyle: {
186
- fontSize: 14
206
+ fontSize: theme.tokens.fontSize.md
187
207
  }
188
208
  }, index);
189
209
  })
@@ -194,20 +214,14 @@ export const Alert = /*#__PURE__*/memo(props => {
194
214
  });
195
215
  if (inline) {
196
216
  return /*#__PURE__*/_jsx(View, {
197
- style: {
198
- position: 'absolute',
199
- top: 0,
200
- left: 0,
201
- right: 0,
202
- bottom: 0
203
- },
217
+ style: styles.fill,
204
218
  pointerEvents: "box-none",
205
219
  children: content
206
220
  });
207
221
  }
208
- return /*#__PURE__*/_jsx(Modal, {
222
+ return /*#__PURE__*/_jsx(NativeOverlay, {
223
+ dialog: true,
209
224
  transparent: true,
210
- visible: visible,
211
225
  animationType: "fade",
212
226
  statusBarTranslucent: true,
213
227
  presentationStyle: "overFullScreen",
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","Modal","Text","TouchableWithoutFeedback","View","createStyles","useAllowFontScaling","useColors","useLabels","Button","Icon","jsx","_jsx","jsxs","_jsxs","ICON_BY_TYPE","success","error","warning","question","info","useStyles","theme","overlay","flex","backgroundColor","colors","justifyContent","alignItems","padding","tokens","spacing","xl","overlayInline","position","top","left","right","bottom","zIndex","container","surface","borderRadius","radius","width","maxWidth","shadow","md","iconContainer","marginBottom","lg","title","fontSize","fontWeight","bold","color","text","textAlign","message","textLight","lineHeight","buttonContainer","flexDirection","gap","sm","buttonContainerVertical","button","paddingVertical","paddingHorizontal","buttonHorizontal","buttonVertical","resolveButtons","props","labels","buttons","confirmText","cancelText","onConfirm","onCancel","onClose","length","list","push","cancel","onPress","variant","style","confirm","close","Alert","visible","type","inline","styles","allowFontScaling","iconColor","successText","errorText","warningText","primaryText","secondaryText","effectiveButtons","vertical","content","accessibilityRole","children","accessibilityViewIsModal","name","size","map","btn","index","isCancel","textStyle","pointerEvents","transparent","animationType","statusBarTranslucent","presentationStyle","onRequestClose","displayName"],"sourceRoot":"../../../src","sources":["organisms/Alert.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","Text","TouchableWithoutFeedback","View","NativeOverlay","createStyles","useAllowFontScaling","useColors","useLabels","useTheme","Button","Icon","jsx","_jsx","jsxs","_jsxs","ICON_BY_TYPE","success","error","warning","question","info","DIALOG_MAX_WIDTH","ICON_SIZE","INLINE_Z","useStyles","theme","overlay","flex","backgroundColor","colors","justifyContent","alignItems","padding","tokens","spacing","xl","fill","position","top","left","right","bottom","overlayInline","zIndex","container","surfaceRaised","borderRadius","radius","width","maxWidth","shadow","md","iconContainer","marginBottom","lg","title","fontSize","lineHeight","fontWeight","bold","color","text","textAlign","sm","message","textLight","buttonContainer","flexDirection","gap","marginTop","buttonContainerVertical","buttonHorizontal","buttonVertical","resolveButtons","props","labels","buttons","confirmText","cancelText","onConfirm","onCancel","onClose","destructive","length","list","push","cancel","onPress","variant","style","confirm","close","Alert","visible","type","inline","styles","allowFontScaling","iconColor","successText","errorText","warningText","primaryText","secondaryText","effectiveButtons","vertical","content","accessibilityRole","children","accessibilityViewIsModal","onAccessibilityEscape","name","size","map","btn","index","isCancel","textStyle","pointerEvents","dialog","transparent","animationType","statusBarTranslucent","presentationStyle","onRequestClose","displayName"],"sourceRoot":"../../../src","sources":["organisms/Alert.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,15 +8,15 @@ const AlertContext = /*#__PURE__*/createContext(undefined);
8
8
  const bridge = createImperativeBridge('AlertProvider');
9
9
 
10
10
  /**
11
- * Abre un alert desde fuera del árbol de React —un servicio, un interceptor—
12
- * sin pasar por el hook. Sin <AlertProvider> montado resuelve de inmediato, así
13
- * que un `await` nunca queda colgado.
11
+ * Opens an alert from outside the React tree —a service, an interceptor—
12
+ * without going through the hook. Without a mounted <AlertProvider> it
13
+ * resolves immediately, so an `await` never hangs.
14
14
  */
15
15
  export function showAlert(options) {
16
16
  return bridge.get()?.alert(options) ?? Promise.resolve();
17
17
  }
18
18
 
19
- /** Igual que showAlert, pero resuelve true/false. Sin provider, false. */
19
+ /** Same as showAlert, but resolves true/false. Without a provider, false. */
20
20
  export function showConfirm(options) {
21
21
  return bridge.get()?.confirm(options) ?? Promise.resolve(false);
22
22
  }
@@ -32,18 +32,18 @@ const HIDDEN = {
32
32
 
33
33
  /**
34
34
  * AlertProvider
35
- * Monta un único <Alert> controlado imperativamente. Colocar una vez cerca
36
- * de la raíz (dentro de UIProvider). Los handlers async pueden hacer
37
- * `const ok = await confirm({ title: 'Eliminar', destructive: true })`.
35
+ * Mounts a single imperatively controlled <Alert>. Place it once near the
36
+ * root (inside UIProvider). Async handlers can do
37
+ * `const ok = await confirm({ title: 'Delete', destructive: true })`.
38
38
  */
39
39
  export function AlertProvider({
40
40
  children
41
41
  }) {
42
42
  const [state, setState] = useState(HIDDEN);
43
43
  const resolverRef = useRef(null);
44
- // Si alert()/confirm() se llaman de nuevo mientras ya hay uno abierto, el
45
- // pedido anterior se resuelve (no se descarta) antes de mostrar el nuevo:
46
- // evita que su promise quede colgada para siempre.
44
+ // If alert()/confirm() are called again while one is already open, the
45
+ // previous request is resolved (not discarded) before showing the new one:
46
+ // this keeps its promise from hanging forever.
47
47
  const settlePending = useCallback(() => {
48
48
  resolverRef.current?.(undefined);
49
49
  resolverRef.current = null;
@@ -1,17 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { memo, useEffect, useRef, useState } from 'react';
4
- import { Animated, Dimensions, Keyboard, KeyboardAvoidingView, Modal, PanResponder, Platform, Pressable, ScrollView, View } from 'react-native';
4
+ import { Animated, Keyboard, KeyboardAvoidingView, PanResponder, Platform, Pressable, ScrollView, View, useWindowDimensions } from 'react-native';
5
5
  import { createStyles } from '../theme/createStyles';
6
- import { useColors, useModalSafeAreaBoundary } from '../theme/UIProvider';
6
+ import { useColors, useLabels, useModalSafeAreaBoundary, useTheme } from '../theme/UIProvider';
7
+ import { useReduceMotion } from '../theme/useReduceMotion';
8
+ import { KeyboardHandled } from '../theme/KeyboardAvoidance';
9
+ import { NativeOverlay } from '../theme/NativeOverlay';
7
10
  import { Title } from '../atoms/Text';
8
11
  import { IconButton } from '../atoms/IconButton';
9
12
  import { Transition } from '../atoms/Transition';
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const {
12
- height: SCREEN_HEIGHT
13
- } = Dimensions.get('window');
14
- const DISMISS_THRESHOLD = 100;
13
+
14
+ /** Drag distance (pt) that closes the sheet on release. */
15
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
+ const DISMISS_DISTANCE = 100;
17
+ /** Downward release speed that closes it even after a short drag (a flick). */
18
+ const DISMISS_VELOCITY = 0.5;
19
+ const HANDLE_WIDTH = 40;
20
+ const HANDLE_HEIGHT = 5;
21
+ const HANDLE_OPACITY = 0.4;
22
+ const CLOSE_ICON_SIZE = 24;
15
23
  const useStyles = createStyles(theme => ({
16
24
  container: {
17
25
  flex: 1,
@@ -21,7 +29,8 @@ const useStyles = createStyles(theme => ({
21
29
  backgroundColor: theme.colors.overlay
22
30
  },
23
31
  sheet: {
24
- backgroundColor: theme.colors.surface,
32
+ // Raised: in dark mode the plain surface sank into the dimmed backdrop.
33
+ backgroundColor: theme.colors.surfaceRaised,
25
34
  borderTopLeftRadius: theme.tokens.radius.xxl,
26
35
  borderTopRightRadius: theme.tokens.radius.xxl,
27
36
  ...theme.tokens.shadow.lg
@@ -31,10 +40,13 @@ const useStyles = createStyles(theme => ({
31
40
  alignItems: 'center'
32
41
  },
33
42
  handle: {
34
- width: 40,
35
- height: 5,
36
- borderRadius: 3,
37
- backgroundColor: theme.colors.border
43
+ width: HANDLE_WIDTH,
44
+ height: HANDLE_HEIGHT,
45
+ borderRadius: HANDLE_HEIGHT / 2,
46
+ // textLight, faded: `border` was nearly invisible on a white sheet, and
47
+ // the handle is the only hint that the sheet can be dragged.
48
+ backgroundColor: theme.colors.textLight,
49
+ opacity: HANDLE_OPACITY
38
50
  },
39
51
  header: {
40
52
  flexDirection: 'row',
@@ -77,10 +89,17 @@ const absoluteFill = {
77
89
 
78
90
  /**
79
91
  * BottomSheet
80
- * Hoja que entra desde abajo, con arrastre para cerrar (PanResponder, no un
81
- * gesture-handler externo: la librería es cero dependencias). Header, footer y
82
- * scroll son opcionales, así que cubre tanto la hoja desnuda como el formulario
83
- * completo.
92
+ * Sheet that slides in from the bottom, with drag to close (PanResponder, not
93
+ * an external gesture-handler: the library is zero-dependency). Header, footer
94
+ * and scroll are optional, so it covers both the bare sheet and the full
95
+ * form.
96
+ *
97
+ * Gestalt, figure-ground: the backdrop dims the screen, so the sheet is the
98
+ * only figure. Common region: header, content and footer share one panel;
99
+ * the footer's top border separates the actions from the content. Continuity:
100
+ * it slides from the edge it lives on and the drag follows the finger back
101
+ * down; a short flick closes it too. Fitts: content sits in the thumb zone.
102
+ * Reduce Motion: it appears and leaves without sliding.
84
103
  */
85
104
  export const BottomSheet = /*#__PURE__*/memo(({
86
105
  visible,
@@ -92,30 +111,42 @@ export const BottomSheet = /*#__PURE__*/memo(({
92
111
  scrollable = true,
93
112
  draggable = true,
94
113
  maxHeight = 0.9,
95
- closeAccessibilityLabel = 'Close',
114
+ closeAccessibilityLabel,
96
115
  containerStyle,
97
116
  contentStyle,
117
+ inline = false,
98
118
  testID
99
119
  }) => {
100
120
  const styles = useStyles();
101
121
  const colors = useColors();
122
+ const theme = useTheme();
123
+ const labels = useLabels();
124
+ const reduceMotion = useReduceMotion();
125
+ const {
126
+ height: screenHeight
127
+ } = useWindowDimensions();
128
+ const closeLabel = closeAccessibilityLabel ?? labels.close;
129
+ const {
130
+ duration
131
+ } = theme.tokens;
132
+ // The PanResponder is created once: it reads these through refs.
133
+ const screenHeightRef = useRef(screenHeight);
134
+ screenHeightRef.current = screenHeight;
135
+ const snapBackMs = useRef(duration.fast);
136
+ snapBackMs.current = reduceMotion ? 0 : duration.fast;
102
137
  const ModalSafeAreaBoundary = useModalSafeAreaBoundary();
103
138
  const [mounted, setMounted] = useState(visible);
104
139
  const [keyboardOpen, setKeyboardOpen] = useState(false);
105
140
  const progress = useRef(new Animated.Value(0)).current;
106
- // El PanResponder de más abajo se crea una sola vez; leer `onClose`
107
- // directo del closure daría siempre el de ese primer render. El ref
108
- // refleja la última prop sin importar cuándo se creó la closure.
141
+ // The PanResponder further down is created only once; reading `onClose`
142
+ // straight from the closure would always give the one from that first
143
+ // render. The ref reflects the latest prop no matter when the closure was created.
109
144
  const onCloseRef = useRef(onClose);
110
145
  onCloseRef.current = onClose;
111
146
  useEffect(() => {
112
- const animation = visible ? Animated.timing(progress, {
113
- toValue: 1,
114
- duration: 250,
115
- useNativeDriver: true
116
- }) : Animated.timing(progress, {
117
- toValue: 0,
118
- duration: 200,
147
+ const animation = Animated.timing(progress, {
148
+ toValue: visible ? 1 : 0,
149
+ duration: reduceMotion ? 0 : visible ? duration.slow : duration.base,
119
150
  useNativeDriver: true
120
151
  });
121
152
  if (visible) setMounted(true);
@@ -124,11 +155,11 @@ export const BottomSheet = /*#__PURE__*/memo(({
124
155
  }) => {
125
156
  if (!visible && finished) setMounted(false);
126
157
  });
127
- // Si el efecto vuelve a correr (o el componente se desmonta) antes de
128
- // que termine, se corta: si no, un `finished` tardío podría llamar
129
- // `setMounted` sobre un componente ya desmontado.
158
+ // If the effect runs again (or the component unmounts) before it
159
+ // finishes, it is cut short: otherwise, a late `finished` could call
160
+ // `setMounted` on an already unmounted component.
130
161
  return () => animation.stop();
131
- }, [visible, progress]);
162
+ }, [visible, progress, reduceMotion, duration.slow, duration.base]);
132
163
  useEffect(() => {
133
164
  if (footerPlacement !== 'hide-with-keyboard') return;
134
165
  const [show, hide] = Platform.OS === 'ios' ? ['keyboardWillShow', 'keyboardWillHide'] : ['keyboardDidShow', 'keyboardDidHide'];
@@ -138,15 +169,16 @@ export const BottomSheet = /*#__PURE__*/memo(({
138
169
  const panResponder = useRef(PanResponder.create({
139
170
  onMoveShouldSetPanResponder: (_, gesture) => gesture.dy > 5 && Math.abs(gesture.dy) > Math.abs(gesture.dx),
140
171
  onPanResponderMove: (_, gesture) => {
141
- if (gesture.dy > 0) progress.setValue(1 - Math.min(gesture.dy, SCREEN_HEIGHT) / SCREEN_HEIGHT);
172
+ const h = screenHeightRef.current;
173
+ if (gesture.dy > 0) progress.setValue(1 - Math.min(gesture.dy, h) / h);
142
174
  },
143
175
  onPanResponderRelease: (_, gesture) => {
144
- if (gesture.dy > DISMISS_THRESHOLD) {
176
+ if (gesture.dy > DISMISS_DISTANCE || gesture.dy > 0 && gesture.vy > DISMISS_VELOCITY) {
145
177
  onCloseRef.current();
146
178
  } else {
147
179
  Animated.timing(progress, {
148
180
  toValue: 1,
149
- duration: 150,
181
+ duration: snapBackMs.current,
150
182
  useNativeDriver: true
151
183
  }).start();
152
184
  }
@@ -154,8 +186,8 @@ export const BottomSheet = /*#__PURE__*/memo(({
154
186
  })).current;
155
187
  if (!mounted) return null;
156
188
 
157
- // Porcentaje y no píxeles: se mide contra el contenedor, que con el teclado
158
- // abierto es más bajo, así que la hoja entra siempre entera.
189
+ // Percentage, not pixels: it is measured against the container, which is
190
+ // shorter with the keyboard open, so the sheet always fits entirely.
159
191
  const resolvedMaxHeight = maxHeight <= 1 ? `${maxHeight * 100}%` : maxHeight;
160
192
  const hasHeader = !!title;
161
193
  const scrolledFooter = !!footer && footerPlacement === 'scroll' && /*#__PURE__*/_jsx(View, {
@@ -176,61 +208,83 @@ export const BottomSheet = /*#__PURE__*/memo(({
176
208
  style: [styles.content, contentStyle],
177
209
  children: [children, scrolledFooter]
178
210
  });
179
- return /*#__PURE__*/_jsx(Modal, {
180
- visible: true,
181
- transparent: true,
182
- animationType: "none",
183
- statusBarTranslucent: true,
184
- onRequestClose: onClose,
185
- children: /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
186
- style: styles.container,
187
- behavior: Platform.OS === 'ios' ? 'padding' : 'height',
188
- children: [/*#__PURE__*/_jsx(Transition, {
189
- value: progress,
190
- preset: "fade",
191
- style: [absoluteFill, styles.backdrop],
192
- children: /*#__PURE__*/_jsx(Pressable, {
193
- style: absoluteFill,
194
- onPress: onClose,
195
- testID: "bottom-sheet-backdrop",
196
- accessibilityRole: hasHeader ? undefined : 'button',
197
- accessibilityLabel: hasHeader ? undefined : closeAccessibilityLabel
198
- })
199
- }), /*#__PURE__*/_jsx(ModalSafeAreaBoundary, {
200
- children: insets => /*#__PURE__*/_jsxs(Transition, {
211
+ const tree = /*#__PURE__*/_jsx(_Fragment, {
212
+ children: /*#__PURE__*/_jsx(KeyboardHandled, {
213
+ children: /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
214
+ style: styles.container,
215
+ behavior: Platform.OS === 'ios' ? 'padding' : 'height',
216
+ children: [/*#__PURE__*/_jsx(Transition, {
201
217
  value: progress,
202
- preset: "slide-up",
203
- distance: SCREEN_HEIGHT,
204
- testID: testID,
205
- style: [styles.sheet, {
206
- maxHeight: resolvedMaxHeight,
207
- paddingBottom: Math.max(insets.bottom, 20)
208
- }, containerStyle],
209
- children: [draggable && /*#__PURE__*/_jsx(View, {
210
- style: styles.handleArea,
211
- testID: "bottom-sheet-handle",
212
- ...panResponder.panHandlers,
213
- children: /*#__PURE__*/_jsx(View, {
214
- style: styles.handle
215
- })
216
- }), hasHeader && /*#__PURE__*/_jsxs(View, {
217
- style: [styles.header, !draggable && styles.headerSpaced],
218
- children: [/*#__PURE__*/_jsx(Title, {
219
- style: styles.title,
220
- numberOfLines: 1,
221
- children: title
222
- }), /*#__PURE__*/_jsx(IconButton, {
223
- iconName: "close",
224
- size: 24,
225
- color: colors.text,
226
- onPress: onClose,
227
- accessibilityLabel: closeAccessibilityLabel
228
- })]
229
- }), body, pinnedFooter]
230
- })
231
- })]
218
+ preset: "fade",
219
+ style: [absoluteFill, styles.backdrop],
220
+ children: /*#__PURE__*/_jsx(Pressable, {
221
+ style: absoluteFill,
222
+ onPress: onClose,
223
+ testID: "bottom-sheet-backdrop",
224
+ accessibilityRole: hasHeader ? undefined : 'button',
225
+ accessibilityLabel: hasHeader ? undefined : closeLabel
226
+ })
227
+ }), /*#__PURE__*/_jsx(ModalSafeAreaBoundary, {
228
+ children: insets => /*#__PURE__*/_jsxs(Transition, {
229
+ value: progress,
230
+ preset: "slide-up",
231
+ distance: screenHeight,
232
+ testID: testID,
233
+ style: [styles.sheet, {
234
+ maxHeight: resolvedMaxHeight,
235
+ paddingBottom: Math.max(insets.bottom, theme.tokens.spacing.xl)
236
+ }, containerStyle],
237
+ children: [draggable &&
238
+ /*#__PURE__*/
239
+ // Decorative for screen readers: closing is already exposed by the
240
+ // close button (with a title) or by the backdrop (without one).
241
+ _jsx(View, {
242
+ style: styles.handleArea,
243
+ testID: "bottom-sheet-handle",
244
+ accessibilityElementsHidden: true,
245
+ importantForAccessibility: "no-hide-descendants",
246
+ ...panResponder.panHandlers,
247
+ children: /*#__PURE__*/_jsx(View, {
248
+ style: styles.handle
249
+ })
250
+ }), hasHeader && /*#__PURE__*/_jsxs(View, {
251
+ style: [styles.header, !draggable && styles.headerSpaced],
252
+ children: [/*#__PURE__*/_jsx(Title, {
253
+ style: styles.title,
254
+ numberOfLines: 1,
255
+ children: title
256
+ }), /*#__PURE__*/_jsx(IconButton, {
257
+ iconName: "close",
258
+ size: CLOSE_ICON_SIZE,
259
+ color: colors.text,
260
+ onPress: onClose,
261
+ accessibilityLabel: closeLabel
262
+ })]
263
+ }), body, pinnedFooter]
264
+ })
265
+ })]
266
+ })
232
267
  })
233
268
  });
269
+ if (inline) {
270
+ return /*#__PURE__*/_jsx(View, {
271
+ style: absoluteFill,
272
+ pointerEvents: "box-none",
273
+ children: tree
274
+ });
275
+ }
276
+ return (
277
+ /*#__PURE__*/
278
+ // closing: while the exit animation plays, no other overlay layers into it.
279
+ _jsx(NativeOverlay, {
280
+ closing: !visible,
281
+ transparent: true,
282
+ animationType: "none",
283
+ statusBarTranslucent: true,
284
+ onRequestClose: onClose,
285
+ children: tree
286
+ })
287
+ );
234
288
  });
235
289
  BottomSheet.displayName = 'BottomSheet';
236
290
  //# sourceMappingURL=BottomSheet.js.map