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
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NativeOverlay = NativeOverlay;
7
+ exports.__resetNativeOverlays = __resetNativeOverlays;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * NativeOverlay
14
+ * The native `Modal` every orn-ui overlay (Alert, BottomSheet, Modal, Select)
15
+ * goes through.
16
+ *
17
+ * Why: iOS presents a native modal from the root view controller and only one
18
+ * at a time. A second `<Modal>` that is not rendered inside the first one is
19
+ * silently ignored while the first is presented, and also while it is still
20
+ * being dismissed. In practice an Alert from `showAlert()` over an open
21
+ * BottomSheet never showed, and neither did one opened right after closing a
22
+ * sheet. Android opens a window per modal and never had the problem: there
23
+ * this is a plain `Modal`.
24
+ *
25
+ * iOS, when an overlay becomes visible:
26
+ * - Rendered inside another overlay (nested): plain native modal; iOS presents
27
+ * it from that one, which works.
28
+ * - Another overlay is presented and this one is not inside it: it is drawn
29
+ * as a layer inside the topmost presented overlay instead of presenting a
30
+ * second native modal. Its React context then comes from that overlay's
31
+ * position: a provider that wraps only this overlay doesn't reach it.
32
+ * - Another overlay is closing (exit animation or native dismissal): it waits
33
+ * until that one is gone, then presents.
34
+ */
35
+
36
+ const fill = {
37
+ position: 'absolute',
38
+ top: 0,
39
+ left: 0,
40
+ right: 0,
41
+ bottom: 0
42
+ };
43
+ /** After unmount, how long iOS may still be dismissing the native modal. */
44
+ const DISMISS_SETTLE_MS = 450;
45
+
46
+ // Module-level registry: overlays live in different React subtrees, and the
47
+ // constraint they share (one native presentation at a time) is global too.
48
+ const hosts = [];
49
+ const layers = new Map();
50
+ const ownerOf = new Map();
51
+ let nextId = 1;
52
+
53
+ // Two channels, so publishing a layer (every render of a layered overlay)
54
+ // only re-renders that host's outlet, never the overlays themselves — which
55
+ // would publish again and loop.
56
+ const hostListeners = new Set();
57
+ const layerListeners = new Map();
58
+
59
+ /** The host stack changed: waiting/layered overlays re-evaluate. */
60
+ function notify() {
61
+ hostListeners.forEach(listener => listener());
62
+ }
63
+
64
+ /** A host's layers changed: only its outlet re-renders. */
65
+ function notifyLayers(hostId) {
66
+ layerListeners.get(hostId)?.forEach(listener => listener());
67
+ }
68
+ function useChannel(subscribe) {
69
+ const [, setVersion] = (0, _react.useState)(0);
70
+ (0, _react.useEffect)(() => subscribe(() => setVersion(v => v + 1)), [subscribe]);
71
+ }
72
+ const subscribeHosts = listener => {
73
+ hostListeners.add(listener);
74
+ return () => {
75
+ hostListeners.delete(listener);
76
+ };
77
+ };
78
+ function liveTop() {
79
+ const top = hosts[hosts.length - 1];
80
+ return top && !top.closing ? top : undefined;
81
+ }
82
+ function decide(parentHost) {
83
+ if (hosts.length === 0) return 'native';
84
+ const top = liveTop();
85
+ if (!top) return 'wait';
86
+ // Nested inside the topmost overlay: iOS can present it from there.
87
+ if (top.id === parentHost) return 'native';
88
+ return 'layer';
89
+ }
90
+ function unpublish(id) {
91
+ const owner = ownerOf.get(id);
92
+ if (owner === undefined) return;
93
+ layers.get(owner)?.delete(id);
94
+ ownerOf.delete(id);
95
+ notifyLayers(owner);
96
+ }
97
+
98
+ /** Takes the native slot right away, before any later overlay decides. */
99
+ function claim(id, closing) {
100
+ if (hosts.some(h => h.id === id)) return;
101
+ hosts.push({
102
+ id,
103
+ closing
104
+ });
105
+ notify();
106
+ }
107
+ function removeHost(id) {
108
+ const index = hosts.findIndex(h => h.id === id);
109
+ if (index < 0) return;
110
+ hosts.splice(index, 1);
111
+ notify();
112
+ }
113
+
114
+ /** Id of the native overlay this subtree is rendered in, if any. */
115
+ const HostContext = /*#__PURE__*/(0, _react.createContext)(null);
116
+
117
+ /** Draws, inside a native host, the layers other overlays put into it. */
118
+ function LayerOutlet({
119
+ hostId
120
+ }) {
121
+ const [, setVersion] = (0, _react.useState)(0);
122
+ // Layout effect + an immediate re-read: a layer may have been published in
123
+ // the same commit, before this outlet subscribed.
124
+ (0, _react.useLayoutEffect)(() => {
125
+ const listener = () => setVersion(v => v + 1);
126
+ if (!layerListeners.has(hostId)) layerListeners.set(hostId, new Set());
127
+ layerListeners.get(hostId).add(listener);
128
+ if (layers.get(hostId)?.size) listener();
129
+ return () => {
130
+ layerListeners.get(hostId)?.delete(listener);
131
+ };
132
+ }, [hostId]);
133
+ const own = layers.get(hostId);
134
+ if (!own || own.size === 0) return null;
135
+ // Dialogs last, so they are drawn on top of sheets and modals.
136
+ const ordered = [...own.entries()].sort(([, a], [, b]) => Number(a.dialog) - Number(b.dialog));
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
138
+ children: ordered.map(([key, layer]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
139
+ style: fill,
140
+ pointerEvents: "box-none",
141
+ children: layer.node
142
+ }, key))
143
+ });
144
+ }
145
+ function NativeOverlay({
146
+ closing = false,
147
+ dialog = false,
148
+ children,
149
+ ...modalProps
150
+ }) {
151
+ const ios = _reactNative.Platform.OS === 'ios';
152
+ const parentHost = (0, _react.useContext)(HostContext);
153
+ const idRef = (0, _react.useRef)(0);
154
+ if (idRef.current === 0) idRef.current = nextId++;
155
+ const id = idRef.current;
156
+ useChannel(subscribeHosts);
157
+
158
+ // Decided in a layout effect, not during render: layout effects run in tree
159
+ // order before paint, so when two overlays mount in the same commit the
160
+ // first one claims the native slot before the second one decides.
161
+ const [mode, setMode] = (0, _react.useState)(ios ? 'pending' : 'native');
162
+ (0, _react.useLayoutEffect)(() => {
163
+ if (!ios) return;
164
+ if (mode === 'pending') {
165
+ const next = decide(parentHost);
166
+ if (next === 'native') claim(id, closing);
167
+ setMode(next);
168
+ return;
169
+ }
170
+ if (mode === 'wait' && !closing) {
171
+ const next = decide(parentHost);
172
+ if (next === 'native') claim(id, closing);
173
+ if (next !== 'wait') setMode(next);
174
+ }
175
+ // The host it layered into started closing or went away: move out.
176
+ if (mode === 'layer' && !closing) {
177
+ const owner = ownerOf.get(id);
178
+ const host = owner === undefined ? undefined : hosts.find(h => h.id === owner);
179
+ if (owner !== undefined && (!host || host.closing)) {
180
+ unpublish(id);
181
+ const next = decide(parentHost);
182
+ if (next === 'native') claim(id, closing);
183
+ setMode(next);
184
+ }
185
+ }
186
+ });
187
+
188
+ // Native host bookkeeping.
189
+ (0, _react.useLayoutEffect)(() => {
190
+ if (!ios || mode !== 'native') return;
191
+ const existing = hosts.find(h => h.id === id);
192
+ if (!existing) hosts.push({
193
+ id,
194
+ closing
195
+ });else if (existing.closing !== closing) existing.closing = closing;else return;
196
+ notify();
197
+ }, [ios, mode, closing, id]);
198
+
199
+ // Layer publishing: every render, so prop changes reach the host.
200
+ (0, _react.useLayoutEffect)(() => {
201
+ if (!ios || mode !== 'layer') return;
202
+ let owner = ownerOf.get(id);
203
+ if (owner === undefined) {
204
+ owner = liveTop()?.id;
205
+ // The host it chose started closing in the same commit (a sheet closed
206
+ // and an alert opened in one tick): decide again, usually to wait.
207
+ if (owner === undefined) {
208
+ const next = decide(parentHost);
209
+ if (next === 'native') claim(id, closing);
210
+ setMode(next);
211
+ return;
212
+ }
213
+ ownerOf.set(id, owner);
214
+ }
215
+ if (!layers.has(owner)) layers.set(owner, new Map());
216
+ layers.get(owner).set(id, {
217
+ node: /*#__PURE__*/(0, _jsxRuntime.jsx)(HostContext.Provider, {
218
+ value: owner,
219
+ children: children
220
+ }),
221
+ dialog
222
+ });
223
+ notifyLayers(owner);
224
+ });
225
+
226
+ // Unmount: a layer just leaves; a native host stays "closing" while iOS
227
+ // finishes dismissing it, so the next overlay doesn't present too early.
228
+ (0, _react.useEffect)(() => () => {
229
+ if (!ios) return;
230
+ unpublish(id);
231
+ const host = hosts.find(h => h.id === id);
232
+ if (host) {
233
+ host.closing = true;
234
+ notify();
235
+ setTimeout(() => removeHost(id), DISMISS_SETTLE_MS);
236
+ }
237
+ }, [ios, id]);
238
+ if (!ios || mode === 'native') {
239
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
240
+ visible: true,
241
+ ...modalProps,
242
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(HostContext.Provider, {
243
+ value: id,
244
+ children: [ios && dialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(LayerOutlet, {
245
+ hostId: id
246
+ }), children, ios && !dialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(LayerOutlet, {
247
+ hostId: id
248
+ })]
249
+ })
250
+ });
251
+ }
252
+
253
+ // 'layer' renders inside the host; 'wait' and 'pending' render nothing yet.
254
+ return null;
255
+ }
256
+
257
+ /** Test-only: clears the registry between tests. */
258
+ function __resetNativeOverlays() {
259
+ hosts.splice(0);
260
+ layers.clear();
261
+ ownerOf.clear();
262
+ }
263
+ //# sourceMappingURL=NativeOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fill","position","top","left","right","bottom","DISMISS_SETTLE_MS","hosts","layers","Map","ownerOf","nextId","hostListeners","Set","layerListeners","notify","forEach","listener","notifyLayers","hostId","useChannel","subscribe","setVersion","useState","useEffect","v","subscribeHosts","add","delete","liveTop","length","closing","undefined","decide","parentHost","id","unpublish","owner","claim","some","h","push","removeHost","index","findIndex","splice","HostContext","createContext","LayerOutlet","useLayoutEffect","size","own","ordered","entries","sort","a","b","Number","dialog","jsx","Fragment","children","map","key","layer","View","style","pointerEvents","node","NativeOverlay","modalProps","ios","Platform","OS","useContext","idRef","useRef","current","mode","setMode","next","host","find","existing","Provider","value","setTimeout","Modal","visible","jsxs","__resetNativeOverlays","clear"],"sourceRoot":"../../../src","sources":["theme/NativeOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,49 +15,105 @@ exports.useTheme = useTheme;
15
15
  exports.useThemeMode = useThemeMode;
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
  var _reactNative = require("react-native");
18
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
18
19
  var _createTheme = require("./createTheme");
19
20
  var _labels = require("./labels");
20
- var _insets = require("./insets");
21
21
  var _defaultIcons = require("../icons/defaultIcons");
22
+ var _KeyboardAvoidance = require("./KeyboardAvoidance");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
24
25
  /**
25
- * Un `<Modal>`/`<BottomSheet>` nativo abre su propia ventana (en Android
26
- * siempre; en iOS según `presentationStyle`), así que los insets medidos en
27
- * la raíz de la app pueden no valer ahí adentro. Este boundary es el punto de
28
- * inyección: el default sólo repite los insets ambientes (comportamiento de
29
- * siempre, cero deps), pero `SafeAreaUIProvider` lo reemplaza por uno que
30
- * monta un `<SafeAreaProvider>` nuevo y remide dentro de esa ventana.
26
+ * A native `<Modal>`/`<BottomSheet>` opens its own window (always on Android;
27
+ * on iOS depending on `presentationStyle`), so the insets measured at the app
28
+ * root may not hold in there. The boundary mounts a new `<SafeAreaProvider>`
29
+ * inside that window and re-measures; until the first measurement arrives it
30
+ * repeats the ambient insets.
31
31
  */
32
32
 
33
- function DefaultModalSafeAreaBoundary({
33
+ const probeStyle = {
34
+ position: 'absolute',
35
+ top: 0,
36
+ left: 0,
37
+ right: 0,
38
+ bottom: 0
39
+ };
40
+ function sameInsets(a, b) {
41
+ return a.top === b.top && a.right === b.right && a.bottom === b.bottom && a.left === b.left;
42
+ }
43
+ function InsetsProbe({
44
+ onMeasure
45
+ }) {
46
+ const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
47
+ (0, _react.useEffect)(() => {
48
+ onMeasure(insets);
49
+ }, [insets, onMeasure]);
50
+ return null;
51
+ }
52
+ function RemeasuringModalSafeAreaBoundary({
34
53
  children
35
54
  }) {
36
- const insets = useInsets();
37
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
38
- children: children(insets)
55
+ const ambient = useInsets();
56
+ const [measured, setMeasured] = (0, _react.useState)(null);
57
+ const onMeasure = (0, _react.useCallback)(next => setMeasured(prev => prev && sameInsets(prev, next) ? prev : next), []);
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaProvider, {
60
+ style: probeStyle,
61
+ pointerEvents: "none",
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(InsetsProbe, {
63
+ onMeasure: onMeasure
64
+ })
65
+ }), children(measured ?? ambient)]
39
66
  });
40
67
  }
41
68
  const UIContext = /*#__PURE__*/(0, _react.createContext)(undefined);
42
69
  /**
43
70
  * UIProvider
44
- * Único punto de entrada de la librería: resuelve el theme activo (sistema u
45
- * override manual), e inyecta íconos, insets y textos por defecto a todo el
46
- * árbol. No persiste el modo — si el consumidor quiere recordar la preferencia
47
- * entre sesiones, controla `mode`/`onModeChange` y persiste donde prefiera.
71
+ * The library's single entry point: resolves the active theme (system or
72
+ * manual override), measures the safe area insets (react-native-safe-area-context,
73
+ * a required peer) and injects icons, insets and default texts into the whole
74
+ * tree. It doesn't persist the mode — if the consumer wants to remember the
75
+ * preference across sessions, it controls `mode`/`onModeChange` and persists
76
+ * wherever it prefers.
48
77
  */
49
78
  function UIProvider({
79
+ mountSafeAreaProvider = true,
80
+ ...props
81
+ }) {
82
+ if (!mountSafeAreaProvider) return /*#__PURE__*/(0, _jsxRuntime.jsx)(MeasuredUIProvider, {
83
+ ...props
84
+ });
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaProvider, {
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MeasuredUIProvider, {
87
+ ...props
88
+ })
89
+ });
90
+ }
91
+ function MeasuredUIProvider({
92
+ insets: override,
93
+ ...rest
94
+ }) {
95
+ const measured = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(UIProviderBase, {
97
+ insets: override ?? measured,
98
+ ...rest
99
+ });
100
+ }
101
+ function UIProviderBase({
50
102
  children,
51
103
  theme = _createTheme.defaultTheme,
52
104
  defaultMode = 'system',
53
105
  mode: controlledMode,
54
106
  onModeChange,
55
107
  icons = _defaultIcons.renderDefaultIcon,
56
- insets = _insets.zeroInsets,
108
+ insets,
57
109
  labels: labelOverrides,
58
110
  allowFontScaling = false,
59
- ModalSafeAreaBoundary = DefaultModalSafeAreaBoundary
111
+ keyboardAvoidance = true
60
112
  }) {
113
+ // Only the root provider shifts the app: a nested one (a modal with its own
114
+ // provider, a test) wraps nothing and doesn't change the layout.
115
+ const isRoot = (0, _react.useContext)(UIContext) === undefined;
116
+ const ModalSafeAreaBoundary = RemeasuringModalSafeAreaBoundary;
61
117
  const systemScheme = (0, _reactNative.useColorScheme)();
62
118
  const [uncontrolledMode, setUncontrolledMode] = (0, _react.useState)(defaultMode);
63
119
  const isControlled = controlledMode !== undefined;
@@ -66,19 +122,6 @@ function UIProvider({
66
122
  if (!isControlled) setUncontrolledMode(next);
67
123
  onModeChange?.(next);
68
124
  }, [isControlled, onModeChange]);
69
-
70
- // Por instancia, no por módulo: dos `<UIProvider>` en el mismo árbol (tests,
71
- // un modal con su propio provider) avisan cada uno si le faltan insets, en
72
- // vez de que el segundo se calle porque el primero ya avisó una vez.
73
- const warnedAboutInsets = (0, _react.useRef)(false);
74
-
75
- // Olvidar `insets` no rompe nada visible al montar: el default de ceros
76
- // recién se nota cuando abrís un Modal `full` (se mete abajo del notch) o un
77
- // BottomSheet (queda pegado a la barra de gestos). El aviso llega antes.
78
- if (__DEV__ && insets === _insets.zeroInsets && !warnedAboutInsets.current) {
79
- warnedAboutInsets.current = true;
80
- console.warn('orn-ui: <UIProvider> sin `insets`, se usan {top:0,bottom:0,left:0,right:0}. ' + 'Los modales y el Screen quedan sin safe area. Pasá `insets={useSafeAreaInsets()}` ' + "o usá <SafeAreaUIProvider> de 'orn-ui/safe-area', que lo cablea solo.");
81
- }
82
125
  const scheme = mode === 'system' ? systemScheme === 'dark' ? 'dark' : 'light' : mode;
83
126
  const resolvedTheme = theme[scheme];
84
127
  const labels = (0, _react.useMemo)(() => labelOverrides ? {
@@ -95,9 +138,19 @@ function UIProvider({
95
138
  allowFontScaling,
96
139
  ModalSafeAreaBoundary
97
140
  }), [resolvedTheme, mode, setMode, icons, insets, labels, allowFontScaling, ModalSafeAreaBoundary]);
141
+ let content = children;
142
+ if (isRoot) {
143
+ content = keyboardAvoidance ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardAvoidance.KeyboardPanArea, {
144
+ margin: resolvedTheme.tokens.spacing.md,
145
+ topLimit: insets.top,
146
+ children: children
147
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardAvoidance.KeyboardHandled, {
148
+ children: children
149
+ });
150
+ }
98
151
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(UIContext.Provider, {
99
152
  value: value,
100
- children: children
153
+ children: content
101
154
  });
102
155
  }
103
156
  function useUIContext() {
@@ -136,12 +189,12 @@ function useAllowFontScaling() {
136
189
  return useUIContext().allowFontScaling;
137
190
  }
138
191
 
139
- /** Interno: lo consumen `Modal`/`BottomSheet` para remedir insets dentro de su propia ventana nativa. */
192
+ /** Internal: consumed by `Modal`/`BottomSheet` to re-measure insets inside their own native window. */
140
193
  function useModalSafeAreaBoundary() {
141
194
  return useUIContext().ModalSafeAreaBoundary;
142
195
  }
143
196
 
144
- /** Re-exportado para que tests/consumidores puedan simular cambios de sistema sin RN real. */
197
+ /** Re-exported so tests/consumers can simulate system changes without real RN. */
145
198
  const __testUtils = exports.__testUtils = {
146
199
  Appearance: _reactNative.Appearance
147
200
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createTheme","_labels","_insets","_defaultIcons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DefaultModalSafeAreaBoundary","children","insets","useInsets","jsx","Fragment","UIContext","createContext","undefined","UIProvider","theme","defaultTheme","defaultMode","mode","controlledMode","onModeChange","icons","renderDefaultIcon","zeroInsets","labels","labelOverrides","allowFontScaling","ModalSafeAreaBoundary","systemScheme","useColorScheme","uncontrolledMode","setUncontrolledMode","useState","isControlled","setMode","useCallback","next","warnedAboutInsets","useRef","__DEV__","current","console","warn","scheme","resolvedTheme","useMemo","defaultLabels","value","Provider","useUIContext","ctx","useContext","Error","useTheme","useColors","colors","useThemeMode","useIcons","useLabels","useAllowFontScaling","useModalSafeAreaBoundary","__testUtils","exports","Appearance"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_createTheme","_labels","_defaultIcons","_KeyboardAvoidance","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","probeStyle","position","top","left","right","bottom","sameInsets","a","b","InsetsProbe","onMeasure","insets","useSafeAreaInsets","useEffect","RemeasuringModalSafeAreaBoundary","children","ambient","useInsets","measured","setMeasured","useState","useCallback","next","prev","jsxs","Fragment","jsx","SafeAreaProvider","style","pointerEvents","UIContext","createContext","undefined","UIProvider","mountSafeAreaProvider","props","MeasuredUIProvider","override","rest","UIProviderBase","theme","defaultTheme","defaultMode","mode","controlledMode","onModeChange","icons","renderDefaultIcon","labels","labelOverrides","allowFontScaling","keyboardAvoidance","isRoot","useContext","ModalSafeAreaBoundary","systemScheme","useColorScheme","uncontrolledMode","setUncontrolledMode","isControlled","setMode","scheme","resolvedTheme","useMemo","defaultLabels","value","content","KeyboardPanArea","margin","tokens","spacing","md","topLimit","KeyboardHandled","Provider","useUIContext","ctx","Error","useTheme","useColors","colors","useThemeMode","useIcons","useLabels","useAllowFontScaling","useModalSafeAreaBoundary","__testUtils","exports","Appearance"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,20 +14,20 @@ exports.rgbToHsl = rgbToHsl;
14
14
  exports.toHex = toHex;
15
15
  exports.toHsl = toHsl;
16
16
  /**
17
- * Utilidades de color sin dependencias, usadas para derivar una familia de
18
- * roles (relleno / encima / tenue / legible) a partir de un solo hex de marca.
17
+ * Dependency-free color utilities, used to derive a family of roles
18
+ * (fill / on-top / soft / readable) from a single brand hex.
19
19
  */
20
20
 
21
- /** Contraste mínimo AA para texto normal. */
21
+ /** Minimum AA contrast for normal text. */
22
22
  const AA_CONTRAST = exports.AA_CONTRAST = 4.5;
23
23
 
24
- /** Roles que necesita un acento del theme, en un esquema concreto. */
24
+ /** Roles a theme accent needs, in a given scheme. */
25
25
 
26
26
  const HEX = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;
27
27
  function hexToRgb(hex) {
28
28
  const match = HEX.exec(hex.trim());
29
29
  if (!match) {
30
- throw new Error(`orn-ui: se esperaba un color hex como "#7c3aed", se recibió "${hex}".`);
30
+ throw new Error(`orn-ui: expected a hex color like "#7c3aed", got "${hex}".`);
31
31
  }
32
32
  const digits = match[1];
33
33
  const full = digits.length === 3 ? digits.replace(/./g, c => c + c) : digits;
@@ -106,7 +106,7 @@ function channelLuminance(value) {
106
106
  return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
107
107
  }
108
108
 
109
- /** Luminancia relativa WCAG de un hex. */
109
+ /** WCAG relative luminance of a hex. */
110
110
  function luminance(hex) {
111
111
  const {
112
112
  r,
@@ -116,7 +116,7 @@ function luminance(hex) {
116
116
  return 0.2126 * channelLuminance(r) + 0.7152 * channelLuminance(g) + 0.0722 * channelLuminance(b);
117
117
  }
118
118
 
119
- /** Ratio de contraste WCAG entre dos hex: 1 (igual) a 21 (blanco sobre negro). */
119
+ /** WCAG contrast ratio between two hexes: 1 (equal) to 21 (white on black). */
120
120
  function contrast(a, b) {
121
121
  const la = luminance(a);
122
122
  const lb = luminance(b);
@@ -124,8 +124,8 @@ function contrast(a, b) {
124
124
  }
125
125
 
126
126
  /**
127
- * Blanco si alcanza el contraste AA —es lo que se espera encima de un relleno
128
- * de color— y si no, el extremo que más contraste dé.
127
+ * White if it reaches AA contrast —which is what you expect on top of a color
128
+ * fill— and otherwise whichever extreme gives the most contrast.
129
129
  */
130
130
  function bestOnColor(background, light, dark) {
131
131
  if (contrast(background, light) >= AA_CONTRAST) return light;
@@ -133,9 +133,9 @@ function bestOnColor(background, light, dark) {
133
133
  }
134
134
 
135
135
  /**
136
- * Mueve la luminosidad del tono hasta alcanzar el contraste pedido contra
137
- * `against`. Si ni el extremo llega —un amarillo puro sobre blanco, por
138
- * ejemplo— devuelve el más contrastado que encontró en el camino.
136
+ * Shifts the hue's lightness until it reaches the requested contrast against
137
+ * `against`. If not even the extreme gets there —pure yellow on white, for
138
+ * example— it returns the most contrasting one found along the way.
139
139
  */
140
140
  function reachContrast(hsl, against, target, direction) {
141
141
  const step = direction === 'darker' ? -0.02 : 0.02;
@@ -157,9 +157,9 @@ function reachContrast(hsl, against, target, direction) {
157
157
  }
158
158
 
159
159
  /**
160
- * Deriva los cuatro roles de un acento a partir de un hex, para un esquema.
161
- * `surface` es el fondo sobre el que tiene que leerse el rol `text`, así que
162
- * cada esquema pasa el suyo.
160
+ * Derives an accent's four roles from a hex, for one scheme.
161
+ * `surface` is the background the `text` role has to be read on, so each
162
+ * scheme passes its own.
163
163
  */
164
164
  function deriveAccent(hex, scheme, surface) {
165
165
  const hsl = toHsl(hex);
@@ -180,8 +180,8 @@ function deriveAccent(hex, scheme, surface) {
180
180
  };
181
181
  }
182
182
 
183
- // En oscuro el acento sube de luminosidad y lo que va encima baja: un
184
- // #004cef sobre #1e1e1e no se distingue del fondo.
183
+ // In dark the accent goes up in lightness and what sits on top goes down: a
184
+ // #004cef over #1e1e1e can't be told apart from the background.
185
185
  const base = toHex({
186
186
  ...hsl,
187
187
  l: 0.72
@@ -1 +1 @@
1
- {"version":3,"names":["AA_CONTRAST","exports","HEX","hexToRgb","hex","match","exec","trim","Error","digits","full","length","replace","c","r","parseInt","slice","g","b","toHexPair","value","Math","round","clamp","toString","padStart","rgbToHex","min","max","rgbToHsl","rn","gn","bn","delta","l","h","s","abs","hslToRgb","hp","x","r1","g1","b1","m","toHsl","toHex","hsl","channelLuminance","luminance","contrast","a","la","lb","bestOnColor","background","light","dark","reachContrast","against","target","direction","step","best","bestRatio","candidate","ratio","deriveAccent","scheme","surface","base","on","soft","text"],"sourceRoot":"../../../src","sources":["theme/colors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AA_CONTRAST","exports","HEX","hexToRgb","hex","match","exec","trim","Error","digits","full","length","replace","c","r","parseInt","slice","g","b","toHexPair","value","Math","round","clamp","toString","padStart","rgbToHex","min","max","rgbToHsl","rn","gn","bn","delta","l","h","s","abs","hslToRgb","hp","x","r1","g1","b1","m","toHsl","toHex","hsl","channelLuminance","luminance","contrast","a","la","lb","bestOnColor","background","light","dark","reachContrast","against","target","direction","step","best","bestRatio","candidate","ratio","deriveAccent","scheme","surface","base","on","soft","text"],"sourceRoot":"../../../src","sources":["theme/colors.ts"],"mappings":"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","ignoreList":[]}