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
@@ -3,7 +3,7 @@
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { useReduceMotion } from '../atoms/Transition';
5
5
 
6
- /** Una página del scroll. Los clones del modo infinito repiten el `real` de un vecino. */
6
+ /** A page of the scroll. The infinite mode's clones repeat a neighbor's `real`. */
7
7
 
8
8
  export function clampIndex(value, total) {
9
9
  if (total === 0) return 0;
@@ -14,13 +14,15 @@ export function clampIndex(value, total) {
14
14
 
15
15
  /**
16
16
  * useSlides
17
- * Todo lo que en `Slides` no se ve: qué página está encuadrada, cuándo mover el
18
- * scroll, cómo se mapean los clones del modo infinito a índices reales, y el
19
- * reloj del avance automático.
17
+ * Everything in `Slides` that isn't visible: which page is framed, when to
18
+ * move the scroll, how the infinite mode's clones map to real indexes, and the
19
+ * autoplay clock.
20
20
  *
21
- * Trabaja sólo con índices, nunca con los ítems: así no necesita el genérico
22
- * `T` del componente, y el UI resuelve `pages[i].real` contra su propio `data`.
21
+ * It works only with indexes, never with the items: that way it doesn't need
22
+ * the component's generic `T`, and the UI resolves `pages[i].real` against its own `data`.
23
23
  */
24
+ /** Points a finger has to move the slides for the drag to count as a swipe. */
25
+ const DRAG_SLOP = 10;
24
26
  export function useSlides({
25
27
  total,
26
28
  orientation,
@@ -33,8 +35,8 @@ export function useSlides({
33
35
  }) {
34
36
  const motionReduced = useReduceMotion();
35
37
  const isHorizontal = orientation === 'horizontal';
36
- // Un solo elemento no tiene a dónde ciclar: quedaría deslizable entre tres
37
- // copias de lo mismo.
38
+ // A single element has nowhere to cycle to: it would be swipeable between
39
+ // three copies of the same thing.
38
40
  const isLoop = loop && total > 1;
39
41
  const [uncontrolled, setUncontrolled] = useState(() => clampIndex(defaultIndex, total));
40
42
  const active = clampIndex(index ?? uncontrolled, total);
@@ -47,11 +49,18 @@ export function useSlides({
47
49
  });
48
50
  const pageSize = isHorizontal ? size.width : size.height;
49
51
  const scrollRef = useRef(null);
50
- /** Página realmente visible (índice dentro de `pages`, clones incluidos). */
52
+ /** The page actually visible (index within `pages`, clones included). */
51
53
  const offsetPageRef = useRef(isLoop ? 1 : 0);
52
54
  const didInitRef = useRef(false);
53
55
  const lastPageSizeRef = useRef(0);
54
56
  const draggingRef = useRef(false);
57
+ /**
58
+ * Page an animated `scrollTo` was sent to and hasn't reached yet. On iOS a
59
+ * touch (tapping another indicator) stops that animation midway: the
60
+ * scroll then ends on the wrong page, and committing it undid the tap.
61
+ */
62
+ const pendingPageRef = useRef(null);
63
+ const dragStartRef = useRef(0);
55
64
  const pages = useMemo(() => {
56
65
  const real = Array.from({
57
66
  length: total
@@ -83,19 +92,20 @@ export function useSlides({
83
92
  onIndexChange?.(next);
84
93
  }, [index, onIndexChange]);
85
94
 
86
- // Sólo actúa cuando el índice y la página visible discrepan: un cambio que
87
- // vino del propio gesto no dispara un segundo scroll encima del que frenó.
95
+ // Only acts when the index and the visible page disagree: a change that
96
+ // came from the gesture itself doesn't fire a second scroll on top of the one that stopped.
88
97
  useEffect(() => {
89
98
  if (pageSize === 0 || total === 0) return;
90
99
  const target = isLoop ? active + 1 : active;
91
100
  const resized = lastPageSizeRef.current !== pageSize;
92
101
  if (offsetPageRef.current === target && didInitRef.current && !resized) return;
93
- // Ni el primer posicionamiento ni el reacomodo por rotación son un cambio
94
- // de slide: animarlos sería un deslizamiento que nadie pidió.
102
+ // Neither the first positioning nor the rearrangement on rotation is a
103
+ // slide change: animating them would be a slide nobody asked for.
95
104
  const animated = didInitRef.current && !resized;
96
105
  didInitRef.current = true;
97
106
  lastPageSizeRef.current = pageSize;
98
107
  offsetPageRef.current = target;
108
+ pendingPageRef.current = animated ? target : null;
99
109
  scrollToPage(target, animated);
100
110
  }, [active, isLoop, pageSize, scrollToPage, total]);
101
111
  const onLayout = useCallback(event => {
@@ -115,6 +125,16 @@ export function useSlides({
115
125
  contentOffset
116
126
  } = event.nativeEvent;
117
127
  const page = Math.round((isHorizontal ? contentOffset.x : contentOffset.y) / pageSize);
128
+ // A scrollTo still on its way: if it stopped short (a touch interrupted
129
+ // it), finish the trip instead of committing where it stopped.
130
+ const pending = pendingPageRef.current;
131
+ if (pending !== null) {
132
+ if (page !== pending) {
133
+ scrollToPage(pending, true);
134
+ return;
135
+ }
136
+ pendingPageRef.current = null;
137
+ }
118
138
  if (isLoop) {
119
139
  if (page === 0) {
120
140
  offsetPageRef.current = total;
@@ -135,14 +155,25 @@ export function useSlides({
135
155
  offsetPageRef.current = page;
136
156
  goTo(clampIndex(page, total));
137
157
  }, [goTo, isHorizontal, isLoop, pageSize, scrollToPage, total]);
138
- const onScrollBeginDrag = useCallback(() => {
158
+ const onScrollBeginDrag = useCallback(event => {
139
159
  draggingRef.current = true;
140
- }, []);
141
- const onScrollEndDrag = useCallback(() => {
142
- // Un arrastre corto puede soltarse sin inercia y no emitir
143
- // momentumScrollEnd: sin esto el autoPlay quedaría pausado para siempre.
160
+ const {
161
+ contentOffset
162
+ } = event.nativeEvent;
163
+ dragStartRef.current = isHorizontal ? contentOffset.x : contentOffset.y;
164
+ }, [isHorizontal]);
165
+ const onScrollEndDrag = useCallback(event => {
166
+ // A short drag can be released without momentum and not emit
167
+ // momentumScrollEnd: without this autoPlay would stay paused forever.
144
168
  draggingRef.current = false;
145
- }, []);
169
+ // A finger that really moved the slides takes over from a pending
170
+ // scrollTo; a tap (no movement) doesn't.
171
+ const {
172
+ contentOffset
173
+ } = event.nativeEvent;
174
+ const moved = Math.abs((isHorizontal ? contentOffset.x : contentOffset.y) - dragStartRef.current);
175
+ if (moved > DRAG_SLOP) pendingPageRef.current = null;
176
+ }, [isHorizontal]);
146
177
  const toggleAutoPlay = useCallback(() => setAutoPlayPaused(paused => !paused), []);
147
178
  useEffect(() => {
148
179
  if (!autoPlay || autoPlayPaused || motionReduced || total < 2 || pageSize === 0) return;
@@ -154,9 +185,10 @@ export function useSlides({
154
185
  return;
155
186
  }
156
187
  if (!isLoop) return;
157
- // Última en modo infinito: avanza al clon de la primera en vez de
158
- // rebobinar; el salto al original lo cierra momentumScrollEnd.
188
+ // Last one in infinite mode: advances to the clone of the first instead
189
+ // of rewinding; momentumScrollEnd completes the jump to the original.
159
190
  offsetPageRef.current = total + 1;
191
+ pendingPageRef.current = total + 1;
160
192
  scrollToPage(total + 1, true);
161
193
  }, interval);
162
194
  return () => clearInterval(timer);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useReduceMotion","clampIndex","value","total","useSlides","orientation","loop","autoPlay","interval","index","defaultIndex","onIndexChange","motionReduced","isHorizontal","isLoop","uncontrolled","setUncontrolled","active","activeRef","current","autoPlayPaused","setAutoPlayPaused","size","setSize","width","height","pageSize","scrollRef","offsetPageRef","didInitRef","lastPageSizeRef","draggingRef","pages","real","Array","from","length","_","i","clone","scrollToPage","page","animated","offset","scrollTo","x","y","goTo","next","target","resized","onLayout","event","nativeEvent","layout","prev","onMomentumScrollEnd","contentOffset","Math","round","onScrollBeginDrag","onScrollEndDrag","toggleAutoPlay","paused","timer","setInterval","clearInterval"],"sourceRoot":"../../../src","sources":["organisms/useSlides.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useReduceMotion","clampIndex","value","total","DRAG_SLOP","useSlides","orientation","loop","autoPlay","interval","index","defaultIndex","onIndexChange","motionReduced","isHorizontal","isLoop","uncontrolled","setUncontrolled","active","activeRef","current","autoPlayPaused","setAutoPlayPaused","size","setSize","width","height","pageSize","scrollRef","offsetPageRef","didInitRef","lastPageSizeRef","draggingRef","pendingPageRef","dragStartRef","pages","real","Array","from","length","_","i","clone","scrollToPage","page","animated","offset","scrollTo","x","y","goTo","next","target","resized","onLayout","event","nativeEvent","layout","prev","onMomentumScrollEnd","contentOffset","Math","round","pending","onScrollBeginDrag","onScrollEndDrag","moved","abs","toggleAutoPlay","paused","timer","setInterval","clearInterval"],"sourceRoot":"../../../src","sources":["organisms/useSlides.ts"],"mappings":"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","ignoreList":[]}
@@ -1,68 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useState } from 'react';
4
- import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context';
5
- import { UIProvider, useInsets } from '../theme/UIProvider';
6
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
- const probeStyle = {
8
- position: 'absolute',
9
- top: 0,
10
- left: 0,
11
- right: 0,
12
- bottom: 0
13
- };
14
- function sameInsets(a, b) {
15
- return a.top === b.top && a.right === b.right && a.bottom === b.bottom && a.left === b.left;
16
- }
17
- function InsetsProbe({
18
- onMeasure
19
- }) {
20
- const insets = useSafeAreaInsets();
21
- useEffect(() => {
22
- onMeasure(insets);
23
- }, [insets, onMeasure]);
24
- return null;
25
- }
26
- function RemeasuringModalSafeAreaBoundary({
27
- children
28
- }) {
29
- const ambient = useInsets();
30
- const [measured, setMeasured] = useState(null);
31
- const onMeasure = React.useCallback(next => setMeasured(prev => prev && sameInsets(prev, next) ? prev : next), []);
32
- return /*#__PURE__*/_jsxs(_Fragment, {
33
- children: [/*#__PURE__*/_jsx(SafeAreaProvider, {
34
- style: probeStyle,
35
- pointerEvents: "none",
36
- children: /*#__PURE__*/_jsx(InsetsProbe, {
37
- onMeasure: onMeasure
38
- })
39
- }), children(measured ?? ambient)]
40
- });
41
- }
42
- function Measured({
43
- insets: override,
44
- children,
45
- ...rest
46
- }) {
47
- const measured = useSafeAreaInsets();
48
- return /*#__PURE__*/_jsx(UIProvider, {
49
- insets: override ?? measured,
50
- ModalSafeAreaBoundary: RemeasuringModalSafeAreaBoundary,
51
- ...rest,
52
- children: children
53
- });
54
- }
55
- export function SafeAreaUIProvider({
56
- mountSafeAreaProvider = true,
57
- ...props
58
- }) {
59
- if (!mountSafeAreaProvider) return /*#__PURE__*/_jsx(Measured, {
60
- ...props
61
- });
62
- return /*#__PURE__*/_jsx(SafeAreaProvider, {
63
- children: /*#__PURE__*/_jsx(Measured, {
64
- ...props
65
- })
66
- });
67
- }
3
+ import { UIProvider } from '../theme/UIProvider';
4
+
5
+ /**
6
+ * @deprecated Use `UIProvider` from 'orn-ui': it now measures the safe area
7
+ * insets itself (react-native-safe-area-context is a required peer). This
8
+ * alias stays for one minor version so existing imports keep working.
9
+ */
10
+
11
+ /** @deprecated Use `UIProvider` from 'orn-ui' — same component. */
12
+ export const SafeAreaUIProvider = UIProvider;
68
13
  //# sourceMappingURL=SafeAreaUIProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","SafeAreaProvider","useSafeAreaInsets","UIProvider","useInsets","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","probeStyle","position","top","left","right","bottom","sameInsets","a","b","InsetsProbe","onMeasure","insets","RemeasuringModalSafeAreaBoundary","children","ambient","measured","setMeasured","useCallback","next","prev","style","pointerEvents","Measured","override","rest","ModalSafeAreaBoundary","SafeAreaUIProvider","mountSafeAreaProvider","props"],"sourceRoot":"../../../src","sources":["safe-area/SafeAreaUIProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAAgC;AACpF,SACEC,UAAU,EACVC,SAAS,QAGJ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ7B,MAAMC,UAAqB,GAAG;EAAEC,QAAQ,EAAE,UAAU;EAAEC,GAAG,EAAE,CAAC;EAAEC,IAAI,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,MAAM,EAAE;AAAE,CAAC;AAE5F,SAASC,UAAUA,CAACC,CAAa,EAAEC,CAAa,EAAE;EAChD,OAAOD,CAAC,CAACL,GAAG,KAAKM,CAAC,CAACN,GAAG,IAAIK,CAAC,CAACH,KAAK,KAAKI,CAAC,CAACJ,KAAK,IAAIG,CAAC,CAACF,MAAM,KAAKG,CAAC,CAACH,MAAM,IAAIE,CAAC,CAACJ,IAAI,KAAKK,CAAC,CAACL,IAAI;AAC7F;AAEA,SAASM,WAAWA,CAAC;EAAEC;AAAuD,CAAC,EAAE;EAC/E,MAAMC,MAAM,GAAGpB,iBAAiB,CAAC,CAAC;EAClCH,SAAS,CAAC,MAAM;IACdsB,SAAS,CAACC,MAAM,CAAC;EACnB,CAAC,EAAE,CAACA,MAAM,EAAED,SAAS,CAAC,CAAC;EACvB,OAAO,IAAI;AACb;AAEA,SAASE,gCAAgCA,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClF,MAAMC,OAAO,GAAGrB,SAAS,CAAC,CAAC;EAC3B,MAAM,CAACsB,QAAQ,EAAEC,WAAW,CAAC,GAAG3B,QAAQ,CAAoB,IAAI,CAAC;EACjE,MAAMqB,SAAS,GAAGvB,KAAK,CAAC8B,WAAW,CAChCC,IAAgB,IAAKF,WAAW,CAAEG,IAAI,IAAMA,IAAI,IAAIb,UAAU,CAACa,IAAI,EAAED,IAAI,CAAC,GAAGC,IAAI,GAAGD,IAAK,CAAC,EAC3F,EACF,CAAC;EAED,oBACEnB,KAAA,CAAAF,SAAA;IAAAgB,QAAA,gBACElB,IAAA,CAACL,gBAAgB;MAAC8B,KAAK,EAAEpB,UAAW;MAACqB,aAAa,EAAC,MAAM;MAAAR,QAAA,eACvDlB,IAAA,CAACc,WAAW;QAACC,SAAS,EAAEA;MAAU,CAAE;IAAC,CACrB,CAAC,EAClBG,QAAQ,CAACE,QAAQ,IAAID,OAAO,CAAC;EAAA,CAC9B,CAAC;AAEP;AAEA,SAASQ,QAAQA,CAAC;EAAEX,MAAM,EAAEY,QAAQ;EAAEV,QAAQ;EAAE,GAAGW;AAA8B,CAAC,EAAE;EAClF,MAAMT,QAAQ,GAAGxB,iBAAiB,CAAC,CAAC;EACpC,oBACEI,IAAA,CAACH,UAAU;IACTmB,MAAM,EAAEY,QAAQ,IAAIR,QAAS;IAC7BU,qBAAqB,EAAEb,gCAAiC;IAAA,GACpDY,IAAI;IAAAX,QAAA,EAEPA;EAAQ,CACC,CAAC;AAEjB;AAEA,OAAO,SAASa,kBAAkBA,CAAC;EACjCC,qBAAqB,GAAG,IAAI;EAC5B,GAAGC;AACoB,CAAC,EAAE;EAC1B,IAAI,CAACD,qBAAqB,EAAE,oBAAOhC,IAAA,CAAC2B,QAAQ;IAAA,GAAKM;EAAK,CAAG,CAAC;EAC1D,oBACEjC,IAAA,CAACL,gBAAgB;IAAAuB,QAAA,eACflB,IAAA,CAAC2B,QAAQ;MAAA,GAAKM;IAAK,CAAG;EAAC,CACP,CAAC;AAEvB","ignoreList":[]}
1
+ {"version":3,"names":["UIProvider","SafeAreaUIProvider"],"sourceRoot":"../../../src","sources":["safe-area/SafeAreaUIProvider.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAA8B,qBAAqB;;AAEtE;AACA;AACA;AACA;AACA;;AAGA;AACA,OAAO,MAAMC,kBAAkB,GAAGD,UAAU","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
+ // Deprecated subpath: UIProvider measures the insets itself now.
3
4
  export { SafeAreaUIProvider } from './SafeAreaUIProvider';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SafeAreaUIProvider"],"sourceRoot":"../../../src","sources":["safe-area/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["SafeAreaUIProvider"],"sourceRoot":"../../../src","sources":["safe-area/index.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,QAAQ,sBAAsB","ignoreList":[]}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ import React, { createContext, useContext, useEffect, useMemo, useRef } from 'react';
4
+ import { Animated, Easing, Keyboard, Platform, StyleSheet, View } from 'react-native';
5
+ import { useReduceMotion } from './useReduceMotion';
6
+
7
+ /** A focused field the host has to keep in view. */
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const KeyboardHostContext = /*#__PURE__*/createContext(null);
10
+
11
+ /** The active host, or null if a container already handles the keyboard (or it is off). */
12
+ export function useKeyboardHost() {
13
+ return useContext(KeyboardHostContext);
14
+ }
15
+
16
+ /**
17
+ * For containers that already keep the focused field visible on their own:
18
+ * a Modal or BottomSheet (its own native window, which the root's shift
19
+ * doesn't move) or a ScrollView with `automaticallyAdjustKeyboardInsets`.
20
+ * Inside, Inputs ask nothing of the host and the keyboard isn't compensated
21
+ * twice.
22
+ */
23
+ export function KeyboardHandled({
24
+ children
25
+ }) {
26
+ return /*#__PURE__*/_jsx(KeyboardHostContext.Provider, {
27
+ value: null,
28
+ children: children
29
+ });
30
+ }
31
+
32
+ /** Duration when the keyboard event doesn't carry one (Android). */
33
+ const FALLBACK_DURATION = 250;
34
+
35
+ /**
36
+ * Vertical shift (≤ 0) so the whole field sits above the keyboard, with
37
+ * `margin` of room, without its top edge going past `topLimit`.
38
+ * `fieldY` is the position measured with the `current` shift applied.
39
+ * If the field is already visible, it moves back toward 0: it never rises more than needed.
40
+ */
41
+ export function computeKeyboardOffset({
42
+ fieldY,
43
+ fieldHeight,
44
+ keyboardTop,
45
+ current,
46
+ margin,
47
+ topLimit
48
+ }) {
49
+ const base = fieldY - current;
50
+ let target = Math.min(0, keyboardTop - margin - (base + fieldHeight));
51
+ // A field taller than the available gap: seeing where you type (its top
52
+ // part) takes priority over its error.
53
+ target = Math.max(target, topLimit - base);
54
+ return Math.min(0, target);
55
+ }
56
+
57
+ /**
58
+ * An area that shifts so the focused Input inside it sits above the
59
+ * keyboard (transform on the native thread; it returns to 0 on close). It is
60
+ * Android's `adjustPan`, the same on both platforms.
61
+ *
62
+ * - The root UIProvider mounts one around the whole app: the fallback, so
63
+ * an Input is visible even when it isn't inside a Screen.
64
+ * - Screen mounts another around its content, with `clip`: only the content
65
+ * moves and the header (`header` prop) and the tab bar stay still, as in a
66
+ * native app. The Input registers with the nearest area, so inside a
67
+ * Screen the root doesn't move.
68
+ *
69
+ * With `clip`, whatever rises is clipped at the area's top edge and the field
70
+ * never goes above that edge (it stays under the header).
71
+ */
72
+ export function KeyboardPanArea({
73
+ margin,
74
+ topLimit,
75
+ clip = false,
76
+ children
77
+ }) {
78
+ const areaRef = useRef(null);
79
+ const pan = useRef(new Animated.Value(0)).current;
80
+ const offset = useRef(0);
81
+ const field = useRef(null);
82
+ const keyboardTop = useRef(null);
83
+ const reduceMotion = useReduceMotion();
84
+ const config = useRef({
85
+ margin,
86
+ topLimit,
87
+ reduceMotion,
88
+ clip
89
+ });
90
+ config.current = {
91
+ margin,
92
+ topLimit,
93
+ reduceMotion,
94
+ clip
95
+ };
96
+ const host = useMemo(() => {
97
+ const animateTo = (to, duration) => {
98
+ if (to === offset.current) return;
99
+ offset.current = to;
100
+ Animated.timing(pan, {
101
+ toValue: to,
102
+ duration: config.current.reduceMotion ? 0 : duration,
103
+ easing: Easing.out(Easing.cubic),
104
+ useNativeDriver: true
105
+ }).start();
106
+ };
107
+ const adjust = async duration => {
108
+ const current = field.current;
109
+ const top = keyboardTop.current;
110
+ if (!current || top === null) return;
111
+ const box = await current.measure();
112
+ // While measuring, focus may have moved to another field or the keyboard closed.
113
+ if (!box || field.current !== current || keyboardTop.current === null) return;
114
+ let limit = config.current.topLimit;
115
+ if (config.current.clip) {
116
+ const areaTop = await measureTop(areaRef.current);
117
+ if (areaTop !== null) limit = Math.max(limit, areaTop);
118
+ }
119
+ animateTo(computeKeyboardOffset({
120
+ fieldY: box.y,
121
+ fieldHeight: box.height,
122
+ keyboardTop: keyboardTop.current,
123
+ current: offset.current,
124
+ margin: config.current.margin,
125
+ topLimit: limit
126
+ }), duration);
127
+ };
128
+ return {
129
+ focus(next) {
130
+ field.current = next;
131
+ // With the keyboard already open (moving from one field to another) it readjusts right away.
132
+ if (keyboardTop.current !== null) void adjust(FALLBACK_DURATION);
133
+ },
134
+ blur(prev) {
135
+ if (field.current === prev) field.current = null;
136
+ },
137
+ // Internal use by the listeners below.
138
+ _show(e) {
139
+ if (!e?.endCoordinates) return;
140
+ keyboardTop.current = e.endCoordinates.screenY;
141
+ const duration = e.duration || FALLBACK_DURATION;
142
+ // Android emits didShow after resizing the window: measure on the
143
+ // next frame, with the layout already settled.
144
+ if (Platform.OS === 'android') requestAnimationFrame(() => void adjust(duration));else void adjust(duration);
145
+ },
146
+ _hide(e) {
147
+ keyboardTop.current = null;
148
+ animateTo(0, e?.duration || FALLBACK_DURATION);
149
+ }
150
+ };
151
+ }, [pan]);
152
+ useEffect(() => {
153
+ const h = host;
154
+ // iOS notifies before animating (will*): the shift follows the keyboard.
155
+ // Android only has did*.
156
+ const subs = Platform.OS === 'ios' ? [Keyboard.addListener('keyboardWillShow', h._show), Keyboard.addListener('keyboardWillChangeFrame', h._show), Keyboard.addListener('keyboardWillHide', h._hide)] : [Keyboard.addListener('keyboardDidShow', h._show), Keyboard.addListener('keyboardDidHide', h._hide)];
157
+ return () => subs.forEach(s => s.remove());
158
+ }, [host]);
159
+ const moving = /*#__PURE__*/_jsx(Animated.View, {
160
+ style: [styles.fill, {
161
+ transform: [{
162
+ translateY: pan
163
+ }]
164
+ }],
165
+ children: children
166
+ });
167
+ return /*#__PURE__*/_jsx(KeyboardHostContext.Provider, {
168
+ value: host,
169
+ children: clip ? /*#__PURE__*/_jsx(View, {
170
+ ref: areaRef,
171
+ style: [styles.fill, styles.clip],
172
+ collapsable: false,
173
+ children: moving
174
+ }) : moving
175
+ });
176
+ }
177
+
178
+ /** If the measurement never comes back (node unmounted), carry on without that limit. */
179
+ const MEASURE_TIMEOUT_MS = 100;
180
+ function measureTop(node) {
181
+ return new Promise(resolve => {
182
+ if (!node) return resolve(null);
183
+ const timer = setTimeout(() => resolve(null), MEASURE_TIMEOUT_MS);
184
+ node.measureInWindow((_x, y) => {
185
+ clearTimeout(timer);
186
+ resolve(y);
187
+ });
188
+ });
189
+ }
190
+ const styles = StyleSheet.create({
191
+ fill: {
192
+ flex: 1
193
+ },
194
+ clip: {
195
+ overflow: 'hidden'
196
+ }
197
+ });
198
+ //# sourceMappingURL=KeyboardAvoidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useMemo","useRef","Animated","Easing","Keyboard","Platform","StyleSheet","View","useReduceMotion","jsx","_jsx","KeyboardHostContext","useKeyboardHost","KeyboardHandled","children","Provider","value","FALLBACK_DURATION","computeKeyboardOffset","fieldY","fieldHeight","keyboardTop","current","margin","topLimit","base","target","Math","min","max","KeyboardPanArea","clip","areaRef","pan","Value","offset","field","reduceMotion","config","host","animateTo","to","duration","timing","toValue","easing","out","cubic","useNativeDriver","start","adjust","top","box","measure","limit","areaTop","measureTop","y","height","focus","next","blur","prev","_show","e","endCoordinates","screenY","OS","requestAnimationFrame","_hide","h","subs","addListener","forEach","s","remove","moving","style","styles","fill","transform","translateY","ref","collapsable","MEASURE_TIMEOUT_MS","node","Promise","resolve","timer","setTimeout","measureInWindow","_x","clearTimeout","create","flex","overflow"],"sourceRoot":"../../../src","sources":["theme/KeyboardAvoidance.tsx"],"mappings":"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","ignoreList":[]}