@webority/mobile-ui 0.0.38 → 0.1.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 (954) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Accordion/Accordion.js +1 -343
  3. package/lib/commonjs/components/Accordion/index.js +1 -26
  4. package/lib/commonjs/components/AmountSlider/AmountSlider.js +1 -209
  5. package/lib/commonjs/components/AmountSlider/index.js +1 -20
  6. package/lib/commonjs/components/AnimatePresence/AnimatePresence.js +1 -71
  7. package/lib/commonjs/components/AnimatePresence/index.js +1 -13
  8. package/lib/commonjs/components/AppBar/AppBar.js +1 -358
  9. package/lib/commonjs/components/AppBar/index.js +1 -20
  10. package/lib/commonjs/components/AppIcon/AppIcon.js +1 -155
  11. package/lib/commonjs/components/AppIcon/catalog/bold/a.g.js +1 -84
  12. package/lib/commonjs/components/AppIcon/catalog/bold/b.g.js +1 -89
  13. package/lib/commonjs/components/AppIcon/catalog/bold/c.g.js +1 -118
  14. package/lib/commonjs/components/AppIcon/catalog/bold/d.g.js +1 -68
  15. package/lib/commonjs/components/AppIcon/catalog/bold/e.g.js +1 -46
  16. package/lib/commonjs/components/AppIcon/catalog/bold/f.g.js +1 -52
  17. package/lib/commonjs/components/AppIcon/catalog/bold/g.g.js +1 -54
  18. package/lib/commonjs/components/AppIcon/catalog/bold/h.g.js +1 -52
  19. package/lib/commonjs/components/AppIcon/catalog/bold/i.g.js +1 -31
  20. package/lib/commonjs/components/AppIcon/catalog/bold/j.g.js +1 -18
  21. package/lib/commonjs/components/AppIcon/catalog/bold/k.g.js +1 -20
  22. package/lib/commonjs/components/AppIcon/catalog/bold/l.g.js +1 -52
  23. package/lib/commonjs/components/AppIcon/catalog/bold/m.g.js +1 -105
  24. package/lib/commonjs/components/AppIcon/catalog/bold/n.g.js +1 -34
  25. package/lib/commonjs/components/AppIcon/catalog/bold/o.g.js +1 -21
  26. package/lib/commonjs/components/AppIcon/catalog/bold/p.g.js +1 -60
  27. package/lib/commonjs/components/AppIcon/catalog/bold/q.g.js +1 -22
  28. package/lib/commonjs/components/AppIcon/catalog/bold/r.g.js +1 -59
  29. package/lib/commonjs/components/AppIcon/catalog/bold/s.g.js +1 -113
  30. package/lib/commonjs/components/AppIcon/catalog/bold/t.g.js +1 -74
  31. package/lib/commonjs/components/AppIcon/catalog/bold/u.g.js +1 -28
  32. package/lib/commonjs/components/AppIcon/catalog/bold/v.g.js +1 -40
  33. package/lib/commonjs/components/AppIcon/catalog/bold/w.g.js +1 -41
  34. package/lib/commonjs/components/AppIcon/catalog/bold/x.g.js +1 -18
  35. package/lib/commonjs/components/AppIcon/catalog/bold/y.g.js +1 -16
  36. package/lib/commonjs/components/AppIcon/catalog/bold/z.g.js +1 -17
  37. package/lib/commonjs/components/AppIcon/catalog/broken/a.g.js +1 -84
  38. package/lib/commonjs/components/AppIcon/catalog/broken/b.g.js +1 -89
  39. package/lib/commonjs/components/AppIcon/catalog/broken/c.g.js +1 -118
  40. package/lib/commonjs/components/AppIcon/catalog/broken/d.g.js +1 -68
  41. package/lib/commonjs/components/AppIcon/catalog/broken/e.g.js +1 -46
  42. package/lib/commonjs/components/AppIcon/catalog/broken/f.g.js +1 -52
  43. package/lib/commonjs/components/AppIcon/catalog/broken/g.g.js +1 -54
  44. package/lib/commonjs/components/AppIcon/catalog/broken/h.g.js +1 -52
  45. package/lib/commonjs/components/AppIcon/catalog/broken/i.g.js +1 -31
  46. package/lib/commonjs/components/AppIcon/catalog/broken/j.g.js +1 -18
  47. package/lib/commonjs/components/AppIcon/catalog/broken/k.g.js +1 -20
  48. package/lib/commonjs/components/AppIcon/catalog/broken/l.g.js +1 -52
  49. package/lib/commonjs/components/AppIcon/catalog/broken/m.g.js +1 -105
  50. package/lib/commonjs/components/AppIcon/catalog/broken/n.g.js +1 -34
  51. package/lib/commonjs/components/AppIcon/catalog/broken/o.g.js +1 -21
  52. package/lib/commonjs/components/AppIcon/catalog/broken/p.g.js +1 -60
  53. package/lib/commonjs/components/AppIcon/catalog/broken/q.g.js +1 -22
  54. package/lib/commonjs/components/AppIcon/catalog/broken/r.g.js +1 -59
  55. package/lib/commonjs/components/AppIcon/catalog/broken/s.g.js +1 -113
  56. package/lib/commonjs/components/AppIcon/catalog/broken/t.g.js +1 -74
  57. package/lib/commonjs/components/AppIcon/catalog/broken/u.g.js +1 -28
  58. package/lib/commonjs/components/AppIcon/catalog/broken/v.g.js +1 -40
  59. package/lib/commonjs/components/AppIcon/catalog/broken/w.g.js +1 -41
  60. package/lib/commonjs/components/AppIcon/catalog/broken/x.g.js +1 -18
  61. package/lib/commonjs/components/AppIcon/catalog/broken/y.g.js +1 -16
  62. package/lib/commonjs/components/AppIcon/catalog/broken/z.g.js +1 -17
  63. package/lib/commonjs/components/AppIcon/catalog/bulk/a.g.js +1 -84
  64. package/lib/commonjs/components/AppIcon/catalog/bulk/b.g.js +1 -89
  65. package/lib/commonjs/components/AppIcon/catalog/bulk/c.g.js +1 -118
  66. package/lib/commonjs/components/AppIcon/catalog/bulk/d.g.js +1 -68
  67. package/lib/commonjs/components/AppIcon/catalog/bulk/e.g.js +1 -46
  68. package/lib/commonjs/components/AppIcon/catalog/bulk/f.g.js +1 -52
  69. package/lib/commonjs/components/AppIcon/catalog/bulk/g.g.js +1 -54
  70. package/lib/commonjs/components/AppIcon/catalog/bulk/h.g.js +1 -52
  71. package/lib/commonjs/components/AppIcon/catalog/bulk/i.g.js +1 -31
  72. package/lib/commonjs/components/AppIcon/catalog/bulk/j.g.js +1 -18
  73. package/lib/commonjs/components/AppIcon/catalog/bulk/k.g.js +1 -20
  74. package/lib/commonjs/components/AppIcon/catalog/bulk/l.g.js +1 -52
  75. package/lib/commonjs/components/AppIcon/catalog/bulk/m.g.js +1 -105
  76. package/lib/commonjs/components/AppIcon/catalog/bulk/n.g.js +1 -34
  77. package/lib/commonjs/components/AppIcon/catalog/bulk/o.g.js +1 -21
  78. package/lib/commonjs/components/AppIcon/catalog/bulk/p.g.js +1 -60
  79. package/lib/commonjs/components/AppIcon/catalog/bulk/q.g.js +1 -22
  80. package/lib/commonjs/components/AppIcon/catalog/bulk/r.g.js +1 -59
  81. package/lib/commonjs/components/AppIcon/catalog/bulk/s.g.js +1 -113
  82. package/lib/commonjs/components/AppIcon/catalog/bulk/t.g.js +1 -74
  83. package/lib/commonjs/components/AppIcon/catalog/bulk/u.g.js +1 -28
  84. package/lib/commonjs/components/AppIcon/catalog/bulk/v.g.js +1 -40
  85. package/lib/commonjs/components/AppIcon/catalog/bulk/w.g.js +1 -41
  86. package/lib/commonjs/components/AppIcon/catalog/bulk/x.g.js +1 -18
  87. package/lib/commonjs/components/AppIcon/catalog/bulk/y.g.js +1 -16
  88. package/lib/commonjs/components/AppIcon/catalog/bulk/z.g.js +1 -17
  89. package/lib/commonjs/components/AppIcon/catalog/linear/a.g.js +1 -84
  90. package/lib/commonjs/components/AppIcon/catalog/linear/b.g.js +1 -89
  91. package/lib/commonjs/components/AppIcon/catalog/linear/c.g.js +1 -118
  92. package/lib/commonjs/components/AppIcon/catalog/linear/d.g.js +1 -68
  93. package/lib/commonjs/components/AppIcon/catalog/linear/e.g.js +1 -46
  94. package/lib/commonjs/components/AppIcon/catalog/linear/f.g.js +1 -52
  95. package/lib/commonjs/components/AppIcon/catalog/linear/g.g.js +1 -54
  96. package/lib/commonjs/components/AppIcon/catalog/linear/h.g.js +1 -52
  97. package/lib/commonjs/components/AppIcon/catalog/linear/i.g.js +1 -31
  98. package/lib/commonjs/components/AppIcon/catalog/linear/j.g.js +1 -18
  99. package/lib/commonjs/components/AppIcon/catalog/linear/k.g.js +1 -20
  100. package/lib/commonjs/components/AppIcon/catalog/linear/l.g.js +1 -52
  101. package/lib/commonjs/components/AppIcon/catalog/linear/m.g.js +1 -105
  102. package/lib/commonjs/components/AppIcon/catalog/linear/n.g.js +1 -34
  103. package/lib/commonjs/components/AppIcon/catalog/linear/o.g.js +1 -21
  104. package/lib/commonjs/components/AppIcon/catalog/linear/p.g.js +1 -60
  105. package/lib/commonjs/components/AppIcon/catalog/linear/q.g.js +1 -22
  106. package/lib/commonjs/components/AppIcon/catalog/linear/r.g.js +1 -59
  107. package/lib/commonjs/components/AppIcon/catalog/linear/s.g.js +1 -113
  108. package/lib/commonjs/components/AppIcon/catalog/linear/t.g.js +1 -74
  109. package/lib/commonjs/components/AppIcon/catalog/linear/u.g.js +1 -28
  110. package/lib/commonjs/components/AppIcon/catalog/linear/v.g.js +1 -40
  111. package/lib/commonjs/components/AppIcon/catalog/linear/w.g.js +1 -41
  112. package/lib/commonjs/components/AppIcon/catalog/linear/x.g.js +1 -18
  113. package/lib/commonjs/components/AppIcon/catalog/linear/y.g.js +1 -16
  114. package/lib/commonjs/components/AppIcon/catalog/linear/z.g.js +1 -17
  115. package/lib/commonjs/components/AppIcon/catalog/outline/a.g.js +1 -84
  116. package/lib/commonjs/components/AppIcon/catalog/outline/b.g.js +1 -89
  117. package/lib/commonjs/components/AppIcon/catalog/outline/c.g.js +1 -118
  118. package/lib/commonjs/components/AppIcon/catalog/outline/d.g.js +1 -68
  119. package/lib/commonjs/components/AppIcon/catalog/outline/e.g.js +1 -46
  120. package/lib/commonjs/components/AppIcon/catalog/outline/f.g.js +1 -52
  121. package/lib/commonjs/components/AppIcon/catalog/outline/g.g.js +1 -54
  122. package/lib/commonjs/components/AppIcon/catalog/outline/h.g.js +1 -52
  123. package/lib/commonjs/components/AppIcon/catalog/outline/i.g.js +1 -31
  124. package/lib/commonjs/components/AppIcon/catalog/outline/j.g.js +1 -18
  125. package/lib/commonjs/components/AppIcon/catalog/outline/k.g.js +1 -20
  126. package/lib/commonjs/components/AppIcon/catalog/outline/l.g.js +1 -52
  127. package/lib/commonjs/components/AppIcon/catalog/outline/m.g.js +1 -105
  128. package/lib/commonjs/components/AppIcon/catalog/outline/n.g.js +1 -34
  129. package/lib/commonjs/components/AppIcon/catalog/outline/o.g.js +1 -21
  130. package/lib/commonjs/components/AppIcon/catalog/outline/p.g.js +1 -60
  131. package/lib/commonjs/components/AppIcon/catalog/outline/q.g.js +1 -22
  132. package/lib/commonjs/components/AppIcon/catalog/outline/r.g.js +1 -59
  133. package/lib/commonjs/components/AppIcon/catalog/outline/s.g.js +1 -113
  134. package/lib/commonjs/components/AppIcon/catalog/outline/t.g.js +1 -74
  135. package/lib/commonjs/components/AppIcon/catalog/outline/u.g.js +1 -28
  136. package/lib/commonjs/components/AppIcon/catalog/outline/v.g.js +1 -40
  137. package/lib/commonjs/components/AppIcon/catalog/outline/w.g.js +1 -41
  138. package/lib/commonjs/components/AppIcon/catalog/outline/x.g.js +1 -18
  139. package/lib/commonjs/components/AppIcon/catalog/outline/y.g.js +1 -16
  140. package/lib/commonjs/components/AppIcon/catalog/outline/z.g.js +1 -17
  141. package/lib/commonjs/components/AppIcon/catalog/twotone/a.g.js +1 -84
  142. package/lib/commonjs/components/AppIcon/catalog/twotone/b.g.js +1 -89
  143. package/lib/commonjs/components/AppIcon/catalog/twotone/c.g.js +1 -118
  144. package/lib/commonjs/components/AppIcon/catalog/twotone/d.g.js +1 -68
  145. package/lib/commonjs/components/AppIcon/catalog/twotone/e.g.js +1 -46
  146. package/lib/commonjs/components/AppIcon/catalog/twotone/f.g.js +1 -52
  147. package/lib/commonjs/components/AppIcon/catalog/twotone/g.g.js +1 -54
  148. package/lib/commonjs/components/AppIcon/catalog/twotone/h.g.js +1 -52
  149. package/lib/commonjs/components/AppIcon/catalog/twotone/i.g.js +1 -31
  150. package/lib/commonjs/components/AppIcon/catalog/twotone/j.g.js +1 -18
  151. package/lib/commonjs/components/AppIcon/catalog/twotone/k.g.js +1 -20
  152. package/lib/commonjs/components/AppIcon/catalog/twotone/l.g.js +1 -52
  153. package/lib/commonjs/components/AppIcon/catalog/twotone/m.g.js +1 -105
  154. package/lib/commonjs/components/AppIcon/catalog/twotone/n.g.js +1 -34
  155. package/lib/commonjs/components/AppIcon/catalog/twotone/o.g.js +1 -21
  156. package/lib/commonjs/components/AppIcon/catalog/twotone/p.g.js +1 -60
  157. package/lib/commonjs/components/AppIcon/catalog/twotone/q.g.js +1 -22
  158. package/lib/commonjs/components/AppIcon/catalog/twotone/r.g.js +1 -59
  159. package/lib/commonjs/components/AppIcon/catalog/twotone/s.g.js +1 -113
  160. package/lib/commonjs/components/AppIcon/catalog/twotone/t.g.js +1 -74
  161. package/lib/commonjs/components/AppIcon/catalog/twotone/u.g.js +1 -28
  162. package/lib/commonjs/components/AppIcon/catalog/twotone/v.g.js +1 -40
  163. package/lib/commonjs/components/AppIcon/catalog/twotone/w.g.js +1 -41
  164. package/lib/commonjs/components/AppIcon/catalog/twotone/x.g.js +1 -18
  165. package/lib/commonjs/components/AppIcon/catalog/twotone/y.g.js +1 -16
  166. package/lib/commonjs/components/AppIcon/catalog/twotone/z.g.js +1 -17
  167. package/lib/commonjs/components/AppIcon/catalog.g.js +1 -187
  168. package/lib/commonjs/components/AppIcon/defaultIcons.js +1 -83
  169. package/lib/commonjs/components/AppIcon/glyphs.g.js +1 -160
  170. package/lib/commonjs/components/AppIcon/index.js +1 -64
  171. package/lib/commonjs/components/AppIcon/slotIcon.js +1 -67
  172. package/lib/commonjs/components/AppIcon/variants.g.js +1 -741
  173. package/lib/commonjs/components/AsyncBlock/AsyncBlock.js +1 -87
  174. package/lib/commonjs/components/AsyncBlock/index.js +1 -20
  175. package/lib/commonjs/components/AuthedImage/AuthedImage.js +1 -230
  176. package/lib/commonjs/components/AuthedImage/authedImageCache.js +1 -246
  177. package/lib/commonjs/components/AuthedImage/index.js +1 -45
  178. package/lib/commonjs/components/Autocomplete/Autocomplete.js +1 -227
  179. package/lib/commonjs/components/Autocomplete/index.js +1 -13
  180. package/lib/commonjs/components/Avatar/Avatar.js +1 -502
  181. package/lib/commonjs/components/Avatar/index.js +1 -32
  182. package/lib/commonjs/components/Badge/Badge.js +1 -298
  183. package/lib/commonjs/components/Badge/index.js +1 -20
  184. package/lib/commonjs/components/Banner/Banner.js +1 -401
  185. package/lib/commonjs/components/Banner/index.js +1 -20
  186. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -893
  187. package/lib/commonjs/components/BottomNavigation/index.js +1 -20
  188. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -732
  189. package/lib/commonjs/components/BottomSheet/index.js +1 -26
  190. package/lib/commonjs/components/Box/Box.js +1 -226
  191. package/lib/commonjs/components/Box/index.js +1 -37
  192. package/lib/commonjs/components/Button/Button.js +1 -561
  193. package/lib/commonjs/components/Button/index.js +1 -20
  194. package/lib/commonjs/components/Card/Card.js +1 -407
  195. package/lib/commonjs/components/Card/index.js +1 -20
  196. package/lib/commonjs/components/Carousel/Carousel.js +1 -587
  197. package/lib/commonjs/components/Carousel/index.js +1 -20
  198. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -187
  199. package/lib/commonjs/components/Checkbox/index.js +1 -20
  200. package/lib/commonjs/components/Chip/Chip.js +1 -358
  201. package/lib/commonjs/components/Chip/index.js +1 -20
  202. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -336
  203. package/lib/commonjs/components/ChoiceGroup/index.js +1 -20
  204. package/lib/commonjs/components/Confetti/Confetti.js +1 -382
  205. package/lib/commonjs/components/Confetti/index.js +1 -13
  206. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1054
  207. package/lib/commonjs/components/DatePicker/index.js +1 -20
  208. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -794
  209. package/lib/commonjs/components/DateRangePicker/index.js +1 -20
  210. package/lib/commonjs/components/DecimalInput/DecimalInput.js +1 -0
  211. package/lib/commonjs/components/DecimalInput/index.js +1 -0
  212. package/lib/commonjs/components/Descriptions/Descriptions.js +1 -107
  213. package/lib/commonjs/components/Descriptions/index.js +1 -20
  214. package/lib/commonjs/components/Dialog/Dialog.js +1 -248
  215. package/lib/commonjs/components/Dialog/index.js +1 -20
  216. package/lib/commonjs/components/Divider/Divider.js +1 -117
  217. package/lib/commonjs/components/Divider/index.js +1 -20
  218. package/lib/commonjs/components/Drawer/Drawer.js +1 -382
  219. package/lib/commonjs/components/Drawer/index.js +1 -20
  220. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -236
  221. package/lib/commonjs/components/EmptyState/index.js +1 -20
  222. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -136
  223. package/lib/commonjs/components/ErrorBoundary/index.js +1 -27
  224. package/lib/commonjs/components/ErrorBoundary/useErrorHandler.js +1 -24
  225. package/lib/commonjs/components/ErrorBoundary/withErrorBoundary.js +1 -28
  226. package/lib/commonjs/components/FieldBase/Chevron.js +1 -75
  227. package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -0
  228. package/lib/commonjs/components/FieldBase/FieldBase.js +1 -804
  229. package/lib/commonjs/components/FieldBase/index.js +1 -75
  230. package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -181
  231. package/lib/commonjs/components/FilePicker/FilePicker.js +1 -797
  232. package/lib/commonjs/components/FilePicker/index.js +1 -26
  233. package/lib/commonjs/components/FileViewer/FileViewer.js +1 -259
  234. package/lib/commonjs/components/FileViewer/index.js +1 -13
  235. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -696
  236. package/lib/commonjs/components/FloatingActionButton/index.js +1 -26
  237. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -90
  238. package/lib/commonjs/components/ForceUpdateDialog/index.js +1 -20
  239. package/lib/commonjs/components/FormField/FormField.js +1 -170
  240. package/lib/commonjs/components/FormField/index.js +1 -20
  241. package/lib/commonjs/components/IconBadge/IconBadge.js +1 -0
  242. package/lib/commonjs/components/IconBadge/index.js +1 -0
  243. package/lib/commonjs/components/IconButton/IconButton.js +1 -198
  244. package/lib/commonjs/components/IconButton/index.js +1 -13
  245. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -594
  246. package/lib/commonjs/components/ImageGallery/index.js +1 -20
  247. package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -190
  248. package/lib/commonjs/components/InlineSelect/index.js +1 -20
  249. package/lib/commonjs/components/Input/Input.js +1 -591
  250. package/lib/commonjs/components/Input/index.js +1 -20
  251. package/lib/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -168
  252. package/lib/commonjs/components/KeyboardAwareScrollView/index.js +1 -13
  253. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -135
  254. package/lib/commonjs/components/KeyboardToolbar/index.js +1 -13
  255. package/lib/commonjs/components/ListItem/ListItem.js +1 -344
  256. package/lib/commonjs/components/ListItem/index.js +1 -20
  257. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -203
  258. package/lib/commonjs/components/LoaderOverlay/index.js +1 -25
  259. package/lib/commonjs/components/Markdown/Markdown.js +1 -276
  260. package/lib/commonjs/components/Markdown/index.js +1 -13
  261. package/lib/commonjs/components/Markdown/parse.js +1 -229
  262. package/lib/commonjs/components/Modal/Modal.js +1 -376
  263. package/lib/commonjs/components/Modal/index.js +1 -26
  264. package/lib/commonjs/components/Notation/Notation.js +1 -0
  265. package/lib/commonjs/components/Notation/index.js +1 -0
  266. package/lib/commonjs/components/NumberInput/NumberInput.js +1 -386
  267. package/lib/commonjs/components/NumberInput/index.js +1 -20
  268. package/lib/commonjs/components/OTPInput/OTPInput.js +1 -448
  269. package/lib/commonjs/components/OTPInput/index.js +1 -20
  270. package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -718
  271. package/lib/commonjs/components/OptionSheet/index.js +1 -0
  272. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -574
  273. package/lib/commonjs/components/PhoneNumberInput/index.js +1 -32
  274. package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +1 -150
  275. package/lib/commonjs/components/PickerTrigger/index.js +1 -20
  276. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -214
  277. package/lib/commonjs/components/ProfileCompletion/index.js +1 -20
  278. package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -531
  279. package/lib/commonjs/components/ProfilePicker/index.js +1 -20
  280. package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -202
  281. package/lib/commonjs/components/ProgressBar/index.js +1 -20
  282. package/lib/commonjs/components/ProgressRing/ProgressRing.js +1 -191
  283. package/lib/commonjs/components/ProgressRing/index.js +1 -20
  284. package/lib/commonjs/components/Radio/Radio.js +1 -127
  285. package/lib/commonjs/components/Radio/RadioDot.js +1 -108
  286. package/lib/commonjs/components/Radio/RadioGroup.js +1 -50
  287. package/lib/commonjs/components/Radio/index.js +1 -46
  288. package/lib/commonjs/components/Rating/Rating.js +1 -338
  289. package/lib/commonjs/components/Rating/index.js +1 -20
  290. package/lib/commonjs/components/Repeater/Repeater.js +1 -166
  291. package/lib/commonjs/components/Repeater/index.js +1 -20
  292. package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -314
  293. package/lib/commonjs/components/RichTextEditor/index.js +1 -20
  294. package/lib/commonjs/components/RichTextEditor/markdownActions.js +1 -213
  295. package/lib/commonjs/components/SearchBar/SearchBar.js +1 -244
  296. package/lib/commonjs/components/SearchBar/index.js +1 -20
  297. package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -0
  298. package/lib/commonjs/components/SectionHeader/index.js +1 -0
  299. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -320
  300. package/lib/commonjs/components/SegmentedControl/index.js +1 -20
  301. package/lib/commonjs/components/Select/Select.js +1 -277
  302. package/lib/commonjs/components/Select/index.js +1 -20
  303. package/lib/commonjs/components/Skeleton/Skeleton.js +1 -285
  304. package/lib/commonjs/components/Skeleton/SkeletonClock.js +1 -118
  305. package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -309
  306. package/lib/commonjs/components/Skeleton/SkeletonList.js +1 -92
  307. package/lib/commonjs/components/Skeleton/SkeletonProvider.js +1 -114
  308. package/lib/commonjs/components/Skeleton/SkeletonSkip.js +1 -37
  309. package/lib/commonjs/components/Skeleton/index.js +1 -85
  310. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -262
  311. package/lib/commonjs/components/SlideToConfirm/index.js +1 -13
  312. package/lib/commonjs/components/Slider/Slider.js +1 -809
  313. package/lib/commonjs/components/Slider/index.js +1 -20
  314. package/lib/commonjs/components/Slider/valueText.js +1 -266
  315. package/lib/commonjs/components/SliderField/SliderField.js +1 -360
  316. package/lib/commonjs/components/SliderField/index.js +1 -20
  317. package/lib/commonjs/components/Spinner/Spinner.js +1 -203
  318. package/lib/commonjs/components/Spinner/index.js +1 -20
  319. package/lib/commonjs/components/SquircleFill/SquircleFill.js +1 -116
  320. package/lib/commonjs/components/StatTile/StatTile.js +1 -0
  321. package/lib/commonjs/components/StatTile/index.js +1 -0
  322. package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -233
  323. package/lib/commonjs/components/StatusBadge/index.js +1 -20
  324. package/lib/commonjs/components/Stepper/Stepper.js +1 -779
  325. package/lib/commonjs/components/Stepper/index.js +1 -20
  326. package/lib/commonjs/components/Swipeable/Swipeable.js +1 -383
  327. package/lib/commonjs/components/Swipeable/index.js +1 -20
  328. package/lib/commonjs/components/Switch/Switch.js +1 -233
  329. package/lib/commonjs/components/Switch/index.js +1 -20
  330. package/lib/commonjs/components/Tabs/Tabs.js +1 -428
  331. package/lib/commonjs/components/Tabs/index.js +1 -20
  332. package/lib/commonjs/components/TagInput/TagInput.js +1 -185
  333. package/lib/commonjs/components/TagInput/index.js +1 -20
  334. package/lib/commonjs/components/Text/Text.js +1 -146
  335. package/lib/commonjs/components/Text/index.js +1 -13
  336. package/lib/commonjs/components/TimePicker/TimePicker.js +1 -732
  337. package/lib/commonjs/components/TimePicker/index.js +1 -20
  338. package/lib/commonjs/components/Timeline/Timeline.js +1 -263
  339. package/lib/commonjs/components/Timeline/index.js +1 -20
  340. package/lib/commonjs/components/Toast/Toast.js +1 -326
  341. package/lib/commonjs/components/Toast/ToastProvider.js +1 -200
  342. package/lib/commonjs/components/Toast/index.js +1 -39
  343. package/lib/commonjs/components/Tooltip/Tooltip.js +1 -412
  344. package/lib/commonjs/components/Tooltip/index.js +1 -20
  345. package/lib/commonjs/components/Tour/Tour.js +1 -342
  346. package/lib/commonjs/components/Tour/index.js +1 -20
  347. package/lib/commonjs/components/ZoomableImage/ZoomableImage.js +1 -204
  348. package/lib/commonjs/components/ZoomableImage/index.js +1 -13
  349. package/lib/commonjs/components/index.js +1 -748
  350. package/lib/commonjs/form/FormContext.js +1 -52
  351. package/lib/commonjs/form/HookFormField.js +1 -0
  352. package/lib/commonjs/form/equal.js +1 -56
  353. package/lib/commonjs/form/index.js +1 -81
  354. package/lib/commonjs/form/path.js +1 -91
  355. package/lib/commonjs/form/rules.js +1 -73
  356. package/lib/commonjs/form/types.js +1 -2
  357. package/lib/commonjs/form/useField.js +1 -66
  358. package/lib/commonjs/form/useForm.js +1 -379
  359. package/lib/commonjs/form/useFormCompletion.js +1 -73
  360. package/lib/commonjs/form/useHookFormField.js +1 -0
  361. package/lib/commonjs/hooks/index.js +1 -85
  362. package/lib/commonjs/hooks/useControllableState.js +1 -32
  363. package/lib/commonjs/hooks/useDebounce.js +1 -17
  364. package/lib/commonjs/hooks/useDragToDismiss.js +1 -142
  365. package/lib/commonjs/hooks/useFlickGuard.js +1 -60
  366. package/lib/commonjs/hooks/usePressAnimation.js +1 -130
  367. package/lib/commonjs/hooks/useReducedMotion.js +1 -33
  368. package/lib/commonjs/hooks/useToggle.js +1 -22
  369. package/lib/commonjs/index.js +1 -468
  370. package/lib/commonjs/initUI.js +1 -24
  371. package/lib/commonjs/network/NetworkStatusBanner.js +1 -89
  372. package/lib/commonjs/network/index.js +1 -13
  373. package/lib/commonjs/specs/NativePdfRasterizer.js +1 -9
  374. package/lib/commonjs/theme/Gradient.js +1 -59
  375. package/lib/commonjs/theme/ThemeContext.js +1 -101
  376. package/lib/commonjs/theme/animatedValue.js +1 -69
  377. package/lib/commonjs/theme/index.js +1 -149
  378. package/lib/commonjs/theme/merge.js +1 -30
  379. package/lib/commonjs/theme/textStyle.js +1 -39
  380. package/lib/commonjs/theme/tokens.js +1 -706
  381. package/lib/commonjs/theme/types.js +1 -6
  382. package/lib/commonjs/utils/color.js +1 -58
  383. package/lib/commonjs/utils/corners.js +1 -22
  384. package/lib/commonjs/utils/dimensions.js +1 -37
  385. package/lib/commonjs/utils/feedback.js +1 -76
  386. package/lib/commonjs/utils/hapticUtils.js +1 -94
  387. package/lib/commonjs/utils/hashString.js +1 -22
  388. package/lib/commonjs/utils/index.js +1 -178
  389. package/lib/commonjs/utils/mergeRefs.js +1 -24
  390. package/lib/commonjs/utils/responsive.js +1 -104
  391. package/lib/commonjs/utils/shadows.js +1 -61
  392. package/lib/commonjs/utils/spacing.js +1 -86
  393. package/lib/commonjs/utils/squircle.js +1 -158
  394. package/lib/commonjs/utils/warnUnknownProps.js +1 -46
  395. package/lib/module/components/Accordion/Accordion.js +1 -337
  396. package/lib/module/components/Accordion/index.js +1 -4
  397. package/lib/module/components/AmountSlider/AmountSlider.js +1 -205
  398. package/lib/module/components/AmountSlider/index.js +1 -4
  399. package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -65
  400. package/lib/module/components/AnimatePresence/index.js +1 -4
  401. package/lib/module/components/AppBar/AppBar.js +1 -354
  402. package/lib/module/components/AppBar/index.js +1 -4
  403. package/lib/module/components/AppIcon/AppIcon.js +1 -136
  404. package/lib/module/components/AppIcon/catalog/bold/a.g.js +1 -80
  405. package/lib/module/components/AppIcon/catalog/bold/b.g.js +1 -85
  406. package/lib/module/components/AppIcon/catalog/bold/c.g.js +1 -114
  407. package/lib/module/components/AppIcon/catalog/bold/d.g.js +1 -64
  408. package/lib/module/components/AppIcon/catalog/bold/e.g.js +1 -42
  409. package/lib/module/components/AppIcon/catalog/bold/f.g.js +1 -48
  410. package/lib/module/components/AppIcon/catalog/bold/g.g.js +1 -50
  411. package/lib/module/components/AppIcon/catalog/bold/h.g.js +1 -48
  412. package/lib/module/components/AppIcon/catalog/bold/i.g.js +1 -27
  413. package/lib/module/components/AppIcon/catalog/bold/j.g.js +1 -14
  414. package/lib/module/components/AppIcon/catalog/bold/k.g.js +1 -16
  415. package/lib/module/components/AppIcon/catalog/bold/l.g.js +1 -48
  416. package/lib/module/components/AppIcon/catalog/bold/m.g.js +1 -101
  417. package/lib/module/components/AppIcon/catalog/bold/n.g.js +1 -30
  418. package/lib/module/components/AppIcon/catalog/bold/o.g.js +1 -17
  419. package/lib/module/components/AppIcon/catalog/bold/p.g.js +1 -56
  420. package/lib/module/components/AppIcon/catalog/bold/q.g.js +1 -18
  421. package/lib/module/components/AppIcon/catalog/bold/r.g.js +1 -55
  422. package/lib/module/components/AppIcon/catalog/bold/s.g.js +1 -109
  423. package/lib/module/components/AppIcon/catalog/bold/t.g.js +1 -70
  424. package/lib/module/components/AppIcon/catalog/bold/u.g.js +1 -24
  425. package/lib/module/components/AppIcon/catalog/bold/v.g.js +1 -36
  426. package/lib/module/components/AppIcon/catalog/bold/w.g.js +1 -37
  427. package/lib/module/components/AppIcon/catalog/bold/x.g.js +1 -14
  428. package/lib/module/components/AppIcon/catalog/bold/y.g.js +1 -12
  429. package/lib/module/components/AppIcon/catalog/bold/z.g.js +1 -13
  430. package/lib/module/components/AppIcon/catalog/broken/a.g.js +1 -80
  431. package/lib/module/components/AppIcon/catalog/broken/b.g.js +1 -85
  432. package/lib/module/components/AppIcon/catalog/broken/c.g.js +1 -114
  433. package/lib/module/components/AppIcon/catalog/broken/d.g.js +1 -64
  434. package/lib/module/components/AppIcon/catalog/broken/e.g.js +1 -42
  435. package/lib/module/components/AppIcon/catalog/broken/f.g.js +1 -48
  436. package/lib/module/components/AppIcon/catalog/broken/g.g.js +1 -50
  437. package/lib/module/components/AppIcon/catalog/broken/h.g.js +1 -48
  438. package/lib/module/components/AppIcon/catalog/broken/i.g.js +1 -27
  439. package/lib/module/components/AppIcon/catalog/broken/j.g.js +1 -14
  440. package/lib/module/components/AppIcon/catalog/broken/k.g.js +1 -16
  441. package/lib/module/components/AppIcon/catalog/broken/l.g.js +1 -48
  442. package/lib/module/components/AppIcon/catalog/broken/m.g.js +1 -101
  443. package/lib/module/components/AppIcon/catalog/broken/n.g.js +1 -30
  444. package/lib/module/components/AppIcon/catalog/broken/o.g.js +1 -17
  445. package/lib/module/components/AppIcon/catalog/broken/p.g.js +1 -56
  446. package/lib/module/components/AppIcon/catalog/broken/q.g.js +1 -18
  447. package/lib/module/components/AppIcon/catalog/broken/r.g.js +1 -55
  448. package/lib/module/components/AppIcon/catalog/broken/s.g.js +1 -109
  449. package/lib/module/components/AppIcon/catalog/broken/t.g.js +1 -70
  450. package/lib/module/components/AppIcon/catalog/broken/u.g.js +1 -24
  451. package/lib/module/components/AppIcon/catalog/broken/v.g.js +1 -36
  452. package/lib/module/components/AppIcon/catalog/broken/w.g.js +1 -37
  453. package/lib/module/components/AppIcon/catalog/broken/x.g.js +1 -14
  454. package/lib/module/components/AppIcon/catalog/broken/y.g.js +1 -12
  455. package/lib/module/components/AppIcon/catalog/broken/z.g.js +1 -13
  456. package/lib/module/components/AppIcon/catalog/bulk/a.g.js +1 -80
  457. package/lib/module/components/AppIcon/catalog/bulk/b.g.js +1 -85
  458. package/lib/module/components/AppIcon/catalog/bulk/c.g.js +1 -114
  459. package/lib/module/components/AppIcon/catalog/bulk/d.g.js +1 -64
  460. package/lib/module/components/AppIcon/catalog/bulk/e.g.js +1 -42
  461. package/lib/module/components/AppIcon/catalog/bulk/f.g.js +1 -48
  462. package/lib/module/components/AppIcon/catalog/bulk/g.g.js +1 -50
  463. package/lib/module/components/AppIcon/catalog/bulk/h.g.js +1 -48
  464. package/lib/module/components/AppIcon/catalog/bulk/i.g.js +1 -27
  465. package/lib/module/components/AppIcon/catalog/bulk/j.g.js +1 -14
  466. package/lib/module/components/AppIcon/catalog/bulk/k.g.js +1 -16
  467. package/lib/module/components/AppIcon/catalog/bulk/l.g.js +1 -48
  468. package/lib/module/components/AppIcon/catalog/bulk/m.g.js +1 -101
  469. package/lib/module/components/AppIcon/catalog/bulk/n.g.js +1 -30
  470. package/lib/module/components/AppIcon/catalog/bulk/o.g.js +1 -17
  471. package/lib/module/components/AppIcon/catalog/bulk/p.g.js +1 -56
  472. package/lib/module/components/AppIcon/catalog/bulk/q.g.js +1 -18
  473. package/lib/module/components/AppIcon/catalog/bulk/r.g.js +1 -55
  474. package/lib/module/components/AppIcon/catalog/bulk/s.g.js +1 -109
  475. package/lib/module/components/AppIcon/catalog/bulk/t.g.js +1 -70
  476. package/lib/module/components/AppIcon/catalog/bulk/u.g.js +1 -24
  477. package/lib/module/components/AppIcon/catalog/bulk/v.g.js +1 -36
  478. package/lib/module/components/AppIcon/catalog/bulk/w.g.js +1 -37
  479. package/lib/module/components/AppIcon/catalog/bulk/x.g.js +1 -14
  480. package/lib/module/components/AppIcon/catalog/bulk/y.g.js +1 -12
  481. package/lib/module/components/AppIcon/catalog/bulk/z.g.js +1 -13
  482. package/lib/module/components/AppIcon/catalog/linear/a.g.js +1 -80
  483. package/lib/module/components/AppIcon/catalog/linear/b.g.js +1 -85
  484. package/lib/module/components/AppIcon/catalog/linear/c.g.js +1 -114
  485. package/lib/module/components/AppIcon/catalog/linear/d.g.js +1 -64
  486. package/lib/module/components/AppIcon/catalog/linear/e.g.js +1 -42
  487. package/lib/module/components/AppIcon/catalog/linear/f.g.js +1 -48
  488. package/lib/module/components/AppIcon/catalog/linear/g.g.js +1 -50
  489. package/lib/module/components/AppIcon/catalog/linear/h.g.js +1 -48
  490. package/lib/module/components/AppIcon/catalog/linear/i.g.js +1 -27
  491. package/lib/module/components/AppIcon/catalog/linear/j.g.js +1 -14
  492. package/lib/module/components/AppIcon/catalog/linear/k.g.js +1 -16
  493. package/lib/module/components/AppIcon/catalog/linear/l.g.js +1 -48
  494. package/lib/module/components/AppIcon/catalog/linear/m.g.js +1 -101
  495. package/lib/module/components/AppIcon/catalog/linear/n.g.js +1 -30
  496. package/lib/module/components/AppIcon/catalog/linear/o.g.js +1 -17
  497. package/lib/module/components/AppIcon/catalog/linear/p.g.js +1 -56
  498. package/lib/module/components/AppIcon/catalog/linear/q.g.js +1 -18
  499. package/lib/module/components/AppIcon/catalog/linear/r.g.js +1 -55
  500. package/lib/module/components/AppIcon/catalog/linear/s.g.js +1 -109
  501. package/lib/module/components/AppIcon/catalog/linear/t.g.js +1 -70
  502. package/lib/module/components/AppIcon/catalog/linear/u.g.js +1 -24
  503. package/lib/module/components/AppIcon/catalog/linear/v.g.js +1 -36
  504. package/lib/module/components/AppIcon/catalog/linear/w.g.js +1 -37
  505. package/lib/module/components/AppIcon/catalog/linear/x.g.js +1 -14
  506. package/lib/module/components/AppIcon/catalog/linear/y.g.js +1 -12
  507. package/lib/module/components/AppIcon/catalog/linear/z.g.js +1 -13
  508. package/lib/module/components/AppIcon/catalog/outline/a.g.js +1 -80
  509. package/lib/module/components/AppIcon/catalog/outline/b.g.js +1 -85
  510. package/lib/module/components/AppIcon/catalog/outline/c.g.js +1 -114
  511. package/lib/module/components/AppIcon/catalog/outline/d.g.js +1 -64
  512. package/lib/module/components/AppIcon/catalog/outline/e.g.js +1 -42
  513. package/lib/module/components/AppIcon/catalog/outline/f.g.js +1 -48
  514. package/lib/module/components/AppIcon/catalog/outline/g.g.js +1 -50
  515. package/lib/module/components/AppIcon/catalog/outline/h.g.js +1 -48
  516. package/lib/module/components/AppIcon/catalog/outline/i.g.js +1 -27
  517. package/lib/module/components/AppIcon/catalog/outline/j.g.js +1 -14
  518. package/lib/module/components/AppIcon/catalog/outline/k.g.js +1 -16
  519. package/lib/module/components/AppIcon/catalog/outline/l.g.js +1 -48
  520. package/lib/module/components/AppIcon/catalog/outline/m.g.js +1 -101
  521. package/lib/module/components/AppIcon/catalog/outline/n.g.js +1 -30
  522. package/lib/module/components/AppIcon/catalog/outline/o.g.js +1 -17
  523. package/lib/module/components/AppIcon/catalog/outline/p.g.js +1 -56
  524. package/lib/module/components/AppIcon/catalog/outline/q.g.js +1 -18
  525. package/lib/module/components/AppIcon/catalog/outline/r.g.js +1 -55
  526. package/lib/module/components/AppIcon/catalog/outline/s.g.js +1 -109
  527. package/lib/module/components/AppIcon/catalog/outline/t.g.js +1 -70
  528. package/lib/module/components/AppIcon/catalog/outline/u.g.js +1 -24
  529. package/lib/module/components/AppIcon/catalog/outline/v.g.js +1 -36
  530. package/lib/module/components/AppIcon/catalog/outline/w.g.js +1 -37
  531. package/lib/module/components/AppIcon/catalog/outline/x.g.js +1 -14
  532. package/lib/module/components/AppIcon/catalog/outline/y.g.js +1 -12
  533. package/lib/module/components/AppIcon/catalog/outline/z.g.js +1 -13
  534. package/lib/module/components/AppIcon/catalog/twotone/a.g.js +1 -80
  535. package/lib/module/components/AppIcon/catalog/twotone/b.g.js +1 -85
  536. package/lib/module/components/AppIcon/catalog/twotone/c.g.js +1 -114
  537. package/lib/module/components/AppIcon/catalog/twotone/d.g.js +1 -64
  538. package/lib/module/components/AppIcon/catalog/twotone/e.g.js +1 -42
  539. package/lib/module/components/AppIcon/catalog/twotone/f.g.js +1 -48
  540. package/lib/module/components/AppIcon/catalog/twotone/g.g.js +1 -50
  541. package/lib/module/components/AppIcon/catalog/twotone/h.g.js +1 -48
  542. package/lib/module/components/AppIcon/catalog/twotone/i.g.js +1 -27
  543. package/lib/module/components/AppIcon/catalog/twotone/j.g.js +1 -14
  544. package/lib/module/components/AppIcon/catalog/twotone/k.g.js +1 -16
  545. package/lib/module/components/AppIcon/catalog/twotone/l.g.js +1 -48
  546. package/lib/module/components/AppIcon/catalog/twotone/m.g.js +1 -101
  547. package/lib/module/components/AppIcon/catalog/twotone/n.g.js +1 -30
  548. package/lib/module/components/AppIcon/catalog/twotone/o.g.js +1 -17
  549. package/lib/module/components/AppIcon/catalog/twotone/p.g.js +1 -56
  550. package/lib/module/components/AppIcon/catalog/twotone/q.g.js +1 -18
  551. package/lib/module/components/AppIcon/catalog/twotone/r.g.js +1 -55
  552. package/lib/module/components/AppIcon/catalog/twotone/s.g.js +1 -109
  553. package/lib/module/components/AppIcon/catalog/twotone/t.g.js +1 -70
  554. package/lib/module/components/AppIcon/catalog/twotone/u.g.js +1 -24
  555. package/lib/module/components/AppIcon/catalog/twotone/v.g.js +1 -36
  556. package/lib/module/components/AppIcon/catalog/twotone/w.g.js +1 -37
  557. package/lib/module/components/AppIcon/catalog/twotone/x.g.js +1 -14
  558. package/lib/module/components/AppIcon/catalog/twotone/y.g.js +1 -12
  559. package/lib/module/components/AppIcon/catalog/twotone/z.g.js +1 -13
  560. package/lib/module/components/AppIcon/catalog.g.js +1 -183
  561. package/lib/module/components/AppIcon/defaultIcons.js +1 -79
  562. package/lib/module/components/AppIcon/glyphs.g.js +1 -156
  563. package/lib/module/components/AppIcon/index.js +1 -6
  564. package/lib/module/components/AppIcon/slotIcon.js +1 -62
  565. package/lib/module/components/AppIcon/variants.g.js +1 -737
  566. package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -81
  567. package/lib/module/components/AsyncBlock/index.js +1 -4
  568. package/lib/module/components/AuthedImage/AuthedImage.js +1 -226
  569. package/lib/module/components/AuthedImage/authedImageCache.js +1 -232
  570. package/lib/module/components/AuthedImage/index.js +1 -5
  571. package/lib/module/components/Autocomplete/Autocomplete.js +1 -222
  572. package/lib/module/components/Autocomplete/index.js +1 -4
  573. package/lib/module/components/Avatar/Avatar.js +1 -496
  574. package/lib/module/components/Avatar/index.js +1 -4
  575. package/lib/module/components/Badge/Badge.js +1 -294
  576. package/lib/module/components/Badge/index.js +1 -4
  577. package/lib/module/components/Banner/Banner.js +1 -397
  578. package/lib/module/components/Banner/index.js +1 -4
  579. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -889
  580. package/lib/module/components/BottomNavigation/index.js +1 -4
  581. package/lib/module/components/BottomSheet/BottomSheet.js +1 -727
  582. package/lib/module/components/BottomSheet/index.js +1 -4
  583. package/lib/module/components/Box/Box.js +1 -220
  584. package/lib/module/components/Box/index.js +1 -4
  585. package/lib/module/components/Button/Button.js +1 -557
  586. package/lib/module/components/Button/index.js +1 -4
  587. package/lib/module/components/Card/Card.js +1 -403
  588. package/lib/module/components/Card/index.js +1 -4
  589. package/lib/module/components/Carousel/Carousel.js +1 -583
  590. package/lib/module/components/Carousel/index.js +1 -4
  591. package/lib/module/components/Checkbox/Checkbox.js +1 -184
  592. package/lib/module/components/Checkbox/index.js +1 -4
  593. package/lib/module/components/Chip/Chip.js +1 -354
  594. package/lib/module/components/Chip/index.js +1 -4
  595. package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -332
  596. package/lib/module/components/ChoiceGroup/index.js +1 -4
  597. package/lib/module/components/Confetti/Confetti.js +1 -377
  598. package/lib/module/components/Confetti/index.js +1 -4
  599. package/lib/module/components/DatePicker/DatePicker.js +1 -1049
  600. package/lib/module/components/DatePicker/index.js +1 -4
  601. package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -791
  602. package/lib/module/components/DateRangePicker/index.js +1 -4
  603. package/lib/module/components/DecimalInput/DecimalInput.js +1 -0
  604. package/lib/module/components/DecimalInput/index.js +1 -0
  605. package/lib/module/components/Descriptions/Descriptions.js +1 -101
  606. package/lib/module/components/Descriptions/index.js +1 -4
  607. package/lib/module/components/Dialog/Dialog.js +1 -243
  608. package/lib/module/components/Dialog/index.js +1 -4
  609. package/lib/module/components/Divider/Divider.js +1 -114
  610. package/lib/module/components/Divider/index.js +1 -4
  611. package/lib/module/components/Drawer/Drawer.js +1 -378
  612. package/lib/module/components/Drawer/index.js +1 -4
  613. package/lib/module/components/EmptyState/EmptyState.js +1 -232
  614. package/lib/module/components/EmptyState/index.js +1 -4
  615. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -130
  616. package/lib/module/components/ErrorBoundary/index.js +1 -6
  617. package/lib/module/components/ErrorBoundary/useErrorHandler.js +1 -20
  618. package/lib/module/components/ErrorBoundary/withErrorBoundary.js +1 -23
  619. package/lib/module/components/FieldBase/Chevron.js +1 -69
  620. package/lib/module/components/FieldBase/ChoiceText.js +1 -0
  621. package/lib/module/components/FieldBase/FieldBase.js +1 -790
  622. package/lib/module/components/FieldBase/index.js +1 -5
  623. package/lib/module/components/FieldBase/useFloatingLabel.js +1 -177
  624. package/lib/module/components/FilePicker/FilePicker.js +1 -791
  625. package/lib/module/components/FilePicker/index.js +1 -4
  626. package/lib/module/components/FileViewer/FileViewer.js +1 -253
  627. package/lib/module/components/FileViewer/index.js +1 -4
  628. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -691
  629. package/lib/module/components/FloatingActionButton/index.js +1 -4
  630. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -84
  631. package/lib/module/components/ForceUpdateDialog/index.js +1 -4
  632. package/lib/module/components/FormField/FormField.js +1 -166
  633. package/lib/module/components/FormField/index.js +1 -4
  634. package/lib/module/components/IconBadge/IconBadge.js +1 -0
  635. package/lib/module/components/IconBadge/index.js +1 -0
  636. package/lib/module/components/IconButton/IconButton.js +1 -194
  637. package/lib/module/components/IconButton/index.js +1 -4
  638. package/lib/module/components/ImageGallery/ImageGallery.js +1 -589
  639. package/lib/module/components/ImageGallery/index.js +1 -4
  640. package/lib/module/components/InlineSelect/InlineSelect.js +1 -186
  641. package/lib/module/components/InlineSelect/index.js +1 -4
  642. package/lib/module/components/Input/Input.js +1 -587
  643. package/lib/module/components/Input/index.js +1 -4
  644. package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -164
  645. package/lib/module/components/KeyboardAwareScrollView/index.js +1 -4
  646. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -130
  647. package/lib/module/components/KeyboardToolbar/index.js +1 -4
  648. package/lib/module/components/ListItem/ListItem.js +1 -340
  649. package/lib/module/components/ListItem/index.js +1 -4
  650. package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -196
  651. package/lib/module/components/LoaderOverlay/index.js +1 -4
  652. package/lib/module/components/Markdown/Markdown.js +1 -270
  653. package/lib/module/components/Markdown/index.js +1 -4
  654. package/lib/module/components/Markdown/parse.js +1 -223
  655. package/lib/module/components/Modal/Modal.js +1 -372
  656. package/lib/module/components/Modal/index.js +1 -4
  657. package/lib/module/components/Notation/Notation.js +1 -0
  658. package/lib/module/components/Notation/index.js +1 -0
  659. package/lib/module/components/NumberInput/NumberInput.js +1 -382
  660. package/lib/module/components/NumberInput/index.js +1 -4
  661. package/lib/module/components/OTPInput/OTPInput.js +1 -445
  662. package/lib/module/components/OTPInput/index.js +1 -4
  663. package/lib/module/components/OptionSheet/OptionSheet.js +1 -714
  664. package/lib/module/components/OptionSheet/index.js +1 -0
  665. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -569
  666. package/lib/module/components/PhoneNumberInput/index.js +1 -4
  667. package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -146
  668. package/lib/module/components/PickerTrigger/index.js +1 -4
  669. package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -211
  670. package/lib/module/components/ProfileCompletion/index.js +1 -4
  671. package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -526
  672. package/lib/module/components/ProfilePicker/index.js +1 -4
  673. package/lib/module/components/ProgressBar/ProgressBar.js +1 -199
  674. package/lib/module/components/ProgressBar/index.js +1 -4
  675. package/lib/module/components/ProgressRing/ProgressRing.js +1 -187
  676. package/lib/module/components/ProgressRing/index.js +1 -4
  677. package/lib/module/components/Radio/Radio.js +1 -123
  678. package/lib/module/components/Radio/RadioDot.js +1 -102
  679. package/lib/module/components/Radio/RadioGroup.js +1 -45
  680. package/lib/module/components/Radio/index.js +1 -6
  681. package/lib/module/components/Rating/Rating.js +1 -334
  682. package/lib/module/components/Rating/index.js +1 -4
  683. package/lib/module/components/Repeater/Repeater.js +1 -162
  684. package/lib/module/components/Repeater/index.js +1 -4
  685. package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -309
  686. package/lib/module/components/RichTextEditor/index.js +1 -5
  687. package/lib/module/components/RichTextEditor/markdownActions.js +1 -207
  688. package/lib/module/components/SearchBar/SearchBar.js +1 -241
  689. package/lib/module/components/SearchBar/index.js +1 -4
  690. package/lib/module/components/SectionHeader/SectionHeader.js +1 -0
  691. package/lib/module/components/SectionHeader/index.js +1 -0
  692. package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -317
  693. package/lib/module/components/SegmentedControl/index.js +1 -4
  694. package/lib/module/components/Select/Select.js +1 -273
  695. package/lib/module/components/Select/index.js +1 -4
  696. package/lib/module/components/Skeleton/Skeleton.js +1 -278
  697. package/lib/module/components/Skeleton/SkeletonClock.js +1 -111
  698. package/lib/module/components/Skeleton/SkeletonContent.js +1 -304
  699. package/lib/module/components/Skeleton/SkeletonList.js +1 -87
  700. package/lib/module/components/Skeleton/SkeletonProvider.js +1 -106
  701. package/lib/module/components/Skeleton/SkeletonSkip.js +1 -31
  702. package/lib/module/components/Skeleton/index.js +1 -9
  703. package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -258
  704. package/lib/module/components/SlideToConfirm/index.js +1 -4
  705. package/lib/module/components/Slider/Slider.js +1 -805
  706. package/lib/module/components/Slider/index.js +1 -4
  707. package/lib/module/components/Slider/valueText.js +1 -258
  708. package/lib/module/components/SliderField/SliderField.js +1 -357
  709. package/lib/module/components/SliderField/index.js +1 -4
  710. package/lib/module/components/Spinner/Spinner.js +1 -199
  711. package/lib/module/components/Spinner/index.js +1 -4
  712. package/lib/module/components/SquircleFill/SquircleFill.js +1 -110
  713. package/lib/module/components/StatTile/StatTile.js +1 -0
  714. package/lib/module/components/StatTile/index.js +1 -0
  715. package/lib/module/components/StatusBadge/StatusBadge.js +1 -229
  716. package/lib/module/components/StatusBadge/index.js +1 -4
  717. package/lib/module/components/Stepper/Stepper.js +1 -775
  718. package/lib/module/components/Stepper/index.js +1 -4
  719. package/lib/module/components/Swipeable/Swipeable.js +1 -378
  720. package/lib/module/components/Swipeable/index.js +1 -4
  721. package/lib/module/components/Switch/Switch.js +1 -230
  722. package/lib/module/components/Switch/index.js +1 -4
  723. package/lib/module/components/Tabs/Tabs.js +1 -425
  724. package/lib/module/components/Tabs/index.js +1 -4
  725. package/lib/module/components/TagInput/TagInput.js +1 -181
  726. package/lib/module/components/TagInput/index.js +1 -4
  727. package/lib/module/components/Text/Text.js +1 -142
  728. package/lib/module/components/Text/index.js +1 -4
  729. package/lib/module/components/TimePicker/TimePicker.js +1 -726
  730. package/lib/module/components/TimePicker/index.js +1 -4
  731. package/lib/module/components/Timeline/Timeline.js +1 -257
  732. package/lib/module/components/Timeline/index.js +1 -4
  733. package/lib/module/components/Toast/Toast.js +1 -321
  734. package/lib/module/components/Toast/ToastProvider.js +1 -192
  735. package/lib/module/components/Toast/index.js +1 -5
  736. package/lib/module/components/Tooltip/Tooltip.js +1 -407
  737. package/lib/module/components/Tooltip/index.js +1 -4
  738. package/lib/module/components/Tour/Tour.js +1 -338
  739. package/lib/module/components/Tour/index.js +1 -4
  740. package/lib/module/components/ZoomableImage/ZoomableImage.js +1 -198
  741. package/lib/module/components/ZoomableImage/index.js +1 -4
  742. package/lib/module/components/index.js +1 -79
  743. package/lib/module/form/FormContext.js +1 -44
  744. package/lib/module/form/HookFormField.js +1 -0
  745. package/lib/module/form/equal.js +1 -51
  746. package/lib/module/form/index.js +1 -17
  747. package/lib/module/form/path.js +1 -84
  748. package/lib/module/form/rules.js +1 -59
  749. package/lib/module/form/types.js +0 -2
  750. package/lib/module/form/useField.js +1 -61
  751. package/lib/module/form/useForm.js +1 -375
  752. package/lib/module/form/useFormCompletion.js +1 -67
  753. package/lib/module/form/useHookFormField.js +1 -0
  754. package/lib/module/hooks/index.js +1 -10
  755. package/lib/module/hooks/useControllableState.js +1 -28
  756. package/lib/module/hooks/useDebounce.js +1 -12
  757. package/lib/module/hooks/useDragToDismiss.js +1 -137
  758. package/lib/module/hooks/useFlickGuard.js +1 -55
  759. package/lib/module/hooks/usePressAnimation.js +1 -126
  760. package/lib/module/hooks/useReducedMotion.js +1 -29
  761. package/lib/module/hooks/useToggle.js +1 -17
  762. package/lib/module/index.js +1 -18
  763. package/lib/module/initUI.js +1 -19
  764. package/lib/module/network/NetworkStatusBanner.js +1 -83
  765. package/lib/module/network/index.js +1 -4
  766. package/lib/module/specs/NativePdfRasterizer.js +1 -5
  767. package/lib/module/theme/Gradient.js +1 -52
  768. package/lib/module/theme/ThemeContext.js +1 -93
  769. package/lib/module/theme/animatedValue.js +1 -64
  770. package/lib/module/theme/index.js +1 -67
  771. package/lib/module/theme/merge.js +1 -25
  772. package/lib/module/theme/textStyle.js +1 -34
  773. package/lib/module/theme/tokens.js +1 -702
  774. package/lib/module/theme/types.js +1 -4
  775. package/lib/module/utils/color.js +1 -52
  776. package/lib/module/utils/corners.js +1 -18
  777. package/lib/module/utils/dimensions.js +1 -4
  778. package/lib/module/utils/feedback.js +1 -70
  779. package/lib/module/utils/hapticUtils.js +1 -86
  780. package/lib/module/utils/hashString.js +1 -17
  781. package/lib/module/utils/index.js +1 -13
  782. package/lib/module/utils/mergeRefs.js +1 -19
  783. package/lib/module/utils/responsive.js +1 -97
  784. package/lib/module/utils/shadows.js +1 -54
  785. package/lib/module/utils/spacing.js +1 -82
  786. package/lib/module/utils/squircle.js +1 -151
  787. package/lib/module/utils/warnUnknownProps.js +1 -42
  788. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +42 -1
  789. package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +15 -2
  790. package/lib/typescript/commonjs/components/AppIcon/catalog.g.d.ts +1 -1
  791. package/lib/typescript/commonjs/components/AppIcon/glyphs.g.d.ts +62 -0
  792. package/lib/typescript/commonjs/components/AppIcon/index.d.ts +2 -2
  793. package/lib/typescript/commonjs/components/AppIcon/slotIcon.d.ts +9 -5
  794. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.d.ts +17 -1
  795. package/lib/typescript/commonjs/components/AsyncBlock/index.d.ts +1 -1
  796. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.d.ts +17 -2
  797. package/lib/typescript/commonjs/components/AuthedImage/authedImageCache.d.ts +15 -3
  798. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +8 -5
  799. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +28 -1
  800. package/lib/typescript/commonjs/components/Banner/index.d.ts +1 -1
  801. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +44 -2
  802. package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +1 -1
  803. package/lib/typescript/commonjs/components/Button/Button.d.ts +6 -0
  804. package/lib/typescript/commonjs/components/Card/Card.d.ts +31 -1
  805. package/lib/typescript/commonjs/components/Card/index.d.ts +1 -1
  806. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +22 -4
  807. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +19 -1
  808. package/lib/typescript/commonjs/components/Chip/index.d.ts +1 -1
  809. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +31 -7
  810. package/lib/typescript/commonjs/components/ChoiceGroup/index.d.ts +1 -1
  811. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.d.ts +56 -0
  812. package/lib/typescript/commonjs/components/DecimalInput/index.d.ts +3 -0
  813. package/lib/typescript/commonjs/components/Descriptions/Descriptions.d.ts +15 -2
  814. package/lib/typescript/commonjs/components/Descriptions/index.d.ts +1 -1
  815. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +6 -2
  816. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +6 -0
  817. package/lib/typescript/commonjs/components/FieldBase/ChoiceText.d.ts +24 -0
  818. package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +24 -4
  819. package/lib/typescript/commonjs/components/FieldBase/index.d.ts +1 -1
  820. package/lib/typescript/commonjs/components/FieldBase/useFloatingLabel.d.ts +3 -1
  821. package/lib/typescript/commonjs/components/FormField/FormField.d.ts +15 -5
  822. package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +30 -0
  823. package/lib/typescript/commonjs/components/IconBadge/index.d.ts +3 -0
  824. package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +15 -8
  825. package/lib/typescript/commonjs/components/Input/Input.d.ts +33 -3
  826. package/lib/typescript/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +19 -22
  827. package/lib/typescript/commonjs/components/KeyboardAwareScrollView/index.d.ts +1 -1
  828. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.d.ts +15 -10
  829. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +39 -2
  830. package/lib/typescript/commonjs/components/ListItem/index.d.ts +1 -1
  831. package/lib/typescript/commonjs/components/Notation/Notation.d.ts +27 -0
  832. package/lib/typescript/commonjs/components/Notation/index.d.ts +3 -0
  833. package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +11 -3
  834. package/lib/typescript/commonjs/components/OTPInput/OTPInput.d.ts +6 -0
  835. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +11 -1
  836. package/lib/typescript/commonjs/components/OptionSheet/index.d.ts +3 -0
  837. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.d.ts +43 -7
  838. package/lib/typescript/commonjs/components/PhoneNumberInput/index.d.ts +2 -2
  839. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +8 -6
  840. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +3 -3
  841. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +5 -0
  842. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +4 -0
  843. package/lib/typescript/commonjs/components/Repeater/Repeater.d.ts +15 -1
  844. package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +2 -0
  845. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.d.ts +18 -0
  846. package/lib/typescript/commonjs/components/SectionHeader/index.d.ts +3 -0
  847. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +7 -0
  848. package/lib/typescript/commonjs/components/Select/Select.d.ts +32 -2
  849. package/lib/typescript/commonjs/components/Slider/valueText.d.ts +3 -0
  850. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +31 -0
  851. package/lib/typescript/commonjs/components/StatTile/index.d.ts +3 -0
  852. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +7 -0
  853. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +19 -0
  854. package/lib/typescript/commonjs/components/Switch/index.d.ts +1 -1
  855. package/lib/typescript/commonjs/components/Text/Text.d.ts +8 -3
  856. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +6 -0
  857. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +24 -1
  858. package/lib/typescript/commonjs/components/Toast/index.d.ts +2 -2
  859. package/lib/typescript/commonjs/components/index.d.ts +26 -14
  860. package/lib/typescript/commonjs/form/FormContext.d.ts +10 -1
  861. package/lib/typescript/commonjs/form/HookFormField.d.ts +44 -0
  862. package/lib/typescript/commonjs/form/index.d.ts +4 -0
  863. package/lib/typescript/commonjs/form/useField.d.ts +6 -0
  864. package/lib/typescript/commonjs/form/useForm.d.ts +4 -0
  865. package/lib/typescript/commonjs/form/useHookFormField.d.ts +32 -0
  866. package/lib/typescript/commonjs/index.d.ts +5 -5
  867. package/lib/typescript/commonjs/network/NetworkStatusBanner.d.ts +6 -0
  868. package/lib/typescript/commonjs/theme/ThemeContext.d.ts +8 -0
  869. package/lib/typescript/commonjs/theme/index.d.ts +1 -1
  870. package/lib/typescript/commonjs/theme/types.d.ts +40 -1
  871. package/lib/typescript/module/components/AppBar/AppBar.d.ts +42 -1
  872. package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +15 -2
  873. package/lib/typescript/module/components/AppIcon/catalog.g.d.ts +1 -1
  874. package/lib/typescript/module/components/AppIcon/glyphs.g.d.ts +62 -0
  875. package/lib/typescript/module/components/AppIcon/index.d.ts +2 -2
  876. package/lib/typescript/module/components/AppIcon/slotIcon.d.ts +9 -5
  877. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.d.ts +17 -1
  878. package/lib/typescript/module/components/AsyncBlock/index.d.ts +1 -1
  879. package/lib/typescript/module/components/AuthedImage/AuthedImage.d.ts +17 -2
  880. package/lib/typescript/module/components/AuthedImage/authedImageCache.d.ts +15 -3
  881. package/lib/typescript/module/components/Avatar/Avatar.d.ts +8 -5
  882. package/lib/typescript/module/components/Banner/Banner.d.ts +28 -1
  883. package/lib/typescript/module/components/Banner/index.d.ts +1 -1
  884. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +44 -2
  885. package/lib/typescript/module/components/BottomSheet/index.d.ts +1 -1
  886. package/lib/typescript/module/components/Button/Button.d.ts +6 -0
  887. package/lib/typescript/module/components/Card/Card.d.ts +31 -1
  888. package/lib/typescript/module/components/Card/index.d.ts +1 -1
  889. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +22 -4
  890. package/lib/typescript/module/components/Chip/Chip.d.ts +19 -1
  891. package/lib/typescript/module/components/Chip/index.d.ts +1 -1
  892. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +31 -7
  893. package/lib/typescript/module/components/ChoiceGroup/index.d.ts +1 -1
  894. package/lib/typescript/module/components/DecimalInput/DecimalInput.d.ts +56 -0
  895. package/lib/typescript/module/components/DecimalInput/index.d.ts +3 -0
  896. package/lib/typescript/module/components/Descriptions/Descriptions.d.ts +15 -2
  897. package/lib/typescript/module/components/Descriptions/index.d.ts +1 -1
  898. package/lib/typescript/module/components/Dialog/Dialog.d.ts +6 -2
  899. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +6 -0
  900. package/lib/typescript/module/components/FieldBase/ChoiceText.d.ts +24 -0
  901. package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +24 -4
  902. package/lib/typescript/module/components/FieldBase/index.d.ts +1 -1
  903. package/lib/typescript/module/components/FieldBase/useFloatingLabel.d.ts +3 -1
  904. package/lib/typescript/module/components/FormField/FormField.d.ts +15 -5
  905. package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +30 -0
  906. package/lib/typescript/module/components/IconBadge/index.d.ts +3 -0
  907. package/lib/typescript/module/components/IconButton/IconButton.d.ts +15 -8
  908. package/lib/typescript/module/components/Input/Input.d.ts +33 -3
  909. package/lib/typescript/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +19 -22
  910. package/lib/typescript/module/components/KeyboardAwareScrollView/index.d.ts +1 -1
  911. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.d.ts +15 -10
  912. package/lib/typescript/module/components/ListItem/ListItem.d.ts +39 -2
  913. package/lib/typescript/module/components/ListItem/index.d.ts +1 -1
  914. package/lib/typescript/module/components/Notation/Notation.d.ts +27 -0
  915. package/lib/typescript/module/components/Notation/index.d.ts +3 -0
  916. package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +11 -3
  917. package/lib/typescript/module/components/OTPInput/OTPInput.d.ts +6 -0
  918. package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +11 -1
  919. package/lib/typescript/module/components/OptionSheet/index.d.ts +3 -0
  920. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.d.ts +43 -7
  921. package/lib/typescript/module/components/PhoneNumberInput/index.d.ts +2 -2
  922. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +8 -6
  923. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +3 -3
  924. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +5 -0
  925. package/lib/typescript/module/components/Radio/Radio.d.ts +4 -0
  926. package/lib/typescript/module/components/Repeater/Repeater.d.ts +15 -1
  927. package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +2 -0
  928. package/lib/typescript/module/components/SectionHeader/SectionHeader.d.ts +18 -0
  929. package/lib/typescript/module/components/SectionHeader/index.d.ts +3 -0
  930. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +7 -0
  931. package/lib/typescript/module/components/Select/Select.d.ts +32 -2
  932. package/lib/typescript/module/components/Slider/valueText.d.ts +3 -0
  933. package/lib/typescript/module/components/StatTile/StatTile.d.ts +31 -0
  934. package/lib/typescript/module/components/StatTile/index.d.ts +3 -0
  935. package/lib/typescript/module/components/Stepper/Stepper.d.ts +7 -0
  936. package/lib/typescript/module/components/Switch/Switch.d.ts +19 -0
  937. package/lib/typescript/module/components/Switch/index.d.ts +1 -1
  938. package/lib/typescript/module/components/Text/Text.d.ts +8 -3
  939. package/lib/typescript/module/components/Toast/Toast.d.ts +6 -0
  940. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +24 -1
  941. package/lib/typescript/module/components/Toast/index.d.ts +2 -2
  942. package/lib/typescript/module/components/index.d.ts +26 -14
  943. package/lib/typescript/module/form/FormContext.d.ts +10 -1
  944. package/lib/typescript/module/form/HookFormField.d.ts +44 -0
  945. package/lib/typescript/module/form/index.d.ts +4 -0
  946. package/lib/typescript/module/form/useField.d.ts +6 -0
  947. package/lib/typescript/module/form/useForm.d.ts +4 -0
  948. package/lib/typescript/module/form/useHookFormField.d.ts +32 -0
  949. package/lib/typescript/module/index.d.ts +5 -5
  950. package/lib/typescript/module/network/NetworkStatusBanner.d.ts +6 -0
  951. package/lib/typescript/module/theme/ThemeContext.d.ts +8 -0
  952. package/lib/typescript/module/theme/index.d.ts +1 -1
  953. package/lib/typescript/module/theme/types.d.ts +40 -1
  954. package/package.json +15 -5
@@ -1,893 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.BottomNavigation = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
10
- var _index = require("../../theme/index.js");
11
- var _index2 = require("../../utils/index.js");
12
- var _corners = require("../../utils/corners.js");
13
- var _shadows = require("../../utils/shadows.js");
14
- var _index3 = require("../AppIcon/index.js");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- 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); }
17
- /**
18
- * Visual style of the bar.
19
- *
20
- * - `pill`: a soft tinted pill slides behind the active icon (default).
21
- * - `underline`: a line slides under (or over) the active tab cell.
22
- * - `floating`: the bar is a detached capsule, lifted off the bottom as well
23
- * as the sides; the pill slides inside it.
24
- * - `bubble`: the active icon lifts into a filled circle that pokes above
25
- * the bar; the circle slides between tabs.
26
- * - `expand`: the active tab widens into a pill showing icon and label side
27
- * by side; the other tabs collapse to icons.
28
- * - `solid`: the whole bar is brand-coloured; the active tab sits in a light
29
- * pill with inverted inks.
30
- * - `tile`: a detached capsule like `floating`, but the tinted pill takes
31
- * the whole active tab, icon and label together, up to 96 wide; inactive
32
- * tabs keep the primary text ink instead of the muted one.
33
- */
34
-
35
- /**
36
- * Corner radius of the bar surface in pixels, or `full`: half the surface's
37
- * own height, so the bar's ends are round whatever the bar's height comes to.
38
- */
39
-
40
- /**
41
- * Corner radius of the active tab's background: `auto` follows the bar's
42
- * radius, a number sets its own in pixels. Every value is capped at half the
43
- * background's own height, so a large number reads as fully round.
44
- */
45
-
46
- /** Shadow under the bar surface: a theme shadow level, or `none`. */
47
-
48
- /** What a tab knows about itself when it draws its icon. */
49
-
50
- /**
51
- * A tab icon speaks the library's slot language: an AppIcon name
52
- * (`icon: 'home'`), `{ name, variant }`, a render function that gets
53
- * `{ color, size, focused, disabled }`, or any node drawn as is. A bare name
54
- * with no `activeIcon` is drawn in the `bold` style while the tab is active.
55
- */
56
-
57
- /**
58
- * A button in the middle of the bar that is not a tab: pressing it runs its
59
- * own handler and leaves the active tab alone (a "new loan" or "scan" button).
60
- * It takes one cell in the middle of the row, so the tabs split around it,
61
- * the extra one going left when the count is odd.
62
- */
63
-
64
- const DEFAULT_ICON_SIZE = 18;
65
- /** Air the icon wrap adds around the icon, 2 a side. */
66
- const ICON_WRAP_AIR = 4;
67
- /** How much taller the active pill is than the icon wrap, 4 a side. */
68
- const PILL_AIR = 8;
69
- /**
70
- * The icon pill never grows past this, however wide its cell: a two-tab bar
71
- * keeps a pill the size of the icon it highlights (Material's indicator is
72
- * 64 wide too). The theme's `pillMaxWidth` overrides it.
73
- */
74
- const DEFAULT_PILL_MAX_WIDTH = 64;
75
- /** The tile's background never grows past this either; room for icon and label, not half a bar. */
76
- const TILE_MAX_WIDTH = 96;
77
- const DEFAULT_PILL_INSET = 16;
78
- const DEFAULT_UNDERLINE_HEIGHT = 3;
79
- const DEFAULT_FLOATING_MARGIN = 16;
80
- const DEFAULT_FLOATING_RADIUS = 28;
81
- const DEFAULT_BUBBLE_SIZE = 48;
82
- const DEFAULT_BUBBLE_LIFT = 14;
83
- const DEFAULT_CENTER_SIZE = 48;
84
- const DEFAULT_CENTER_ICON_SIZE = 24;
85
- /** Key of the centre cell; a tab key cannot collide with it in practice. */
86
- const CENTER_KEY = '__webority_center_action__';
87
- const TAB_PADDING_VERTICAL = 6;
88
- /** Air between the bar's edges and the tab row. The row is inset by it. */
89
- const BAR_PADDING_HORIZONTAL = 4;
90
- /** Bar padding above the tab row; the padding below matches it unless the safe-area inset is larger. */
91
- const BAR_PADDING_TOP = 6;
92
- const BAR_PADDING_TOP_BUBBLE = 8;
93
- /** Air between the floating capsule's edges and the tab row, above and below. */
94
- const FLOATING_BAR_PADDING_VERTICAL = 6;
95
- /** Air between the floating capsule's edges and the tab row, at the sides. */
96
- const FLOATING_BAR_PADDING_HORIZONTAL = 8;
97
- /**
98
- * How much wider the expanded tab is than a collapsed one (`expand` variant).
99
- * The pill inside hugs its icon and label, so whatever the cell has beyond
100
- * that shows as empty space beside the pill; 1.5 keeps that to about 13px a
101
- * side on a four-tab phone bar while a label like "Settings" still fits.
102
- */
103
- const EXPANDED_FLEX = 1.5;
104
- /** Ink opacity of inactive tabs on the `solid` bar. */
105
- const SOLID_INACTIVE_OPACITY = 0.7;
106
- /** Air between a `tile` pill and the edges of its tab cell. */
107
- const TILE_INSET = 2;
108
- /** Gap between icon and label inside a `tile` pill, tighter than the default so the pair reads as one block. */
109
- const TILE_LABEL_GAP = 2;
110
- const formatBadge = value => {
111
- if (value === null || value === undefined || value === false) {
112
- return null;
113
- }
114
- if (value === true || value === '·') {
115
- return {
116
- text: '',
117
- isDot: true
118
- };
119
- }
120
- if (typeof value === 'number') {
121
- if (value <= 0) {
122
- return null;
123
- }
124
- return {
125
- text: value > 99 ? '99+' : String(value),
126
- isDot: false
127
- };
128
- }
129
- if (typeof value === 'string') {
130
- if (value.length === 0) {
131
- return null;
132
- }
133
- return {
134
- text: value,
135
- isDot: false
136
- };
137
- }
138
- return null;
139
- };
140
- const badgeAccessibilitySuffix = value => {
141
- if (value === null || value === undefined || value === false) {
142
- return '';
143
- }
144
- if (typeof value === 'number') {
145
- return value > 0 ? `, ${value} unread` : '';
146
- }
147
- if (value === true || value === '·') {
148
- return ', new updates';
149
- }
150
- if (typeof value === 'string' && value.length > 0) {
151
- return `, ${value}`;
152
- }
153
- return '';
154
- };
155
- const BottomNavigation = exports.BottomNavigation = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
156
- const {
157
- tabs,
158
- centerAction,
159
- activeTab,
160
- onChange,
161
- haptic = 'selection',
162
- showLabels = true,
163
- variant = 'pill',
164
- indicatorPosition = 'bottom',
165
- radius,
166
- indicatorRadius: indicatorRadiusProp = 'auto',
167
- elevation,
168
- iconSize: iconSizeProp,
169
- marginHorizontal: marginHorizontalProp,
170
- marginVertical: marginVerticalProp,
171
- paddingHorizontal: paddingHorizontalProp,
172
- paddingVertical: paddingVerticalProp,
173
- border,
174
- style,
175
- indicatorStyle,
176
- labelStyle,
177
- testID
178
- } = props;
179
- const theme = (0, _index.useTheme)();
180
- const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
181
- const styles = (0, _react.useMemo)(() => buildStyles(theme), [theme]);
182
- const tokens = theme.components.bottomNavigation;
183
- const iconSize = iconSizeProp ?? tokens?.iconSize ?? DEFAULT_ICON_SIZE;
184
- // The pill hugs the icon: 4px taller than the wrap on each side, so a
185
- // smaller icon gets a smaller pill (30 at 18, 36 at 24).
186
- const pillHeight = tokens?.pillHeight ?? iconSize + ICON_WRAP_AIR + PILL_AIR;
187
- const pillMaxWidth = tokens?.pillMaxWidth ?? DEFAULT_PILL_MAX_WIDTH;
188
- const pillInset = tokens?.pillInset ?? DEFAULT_PILL_INSET;
189
- const sideMargin = tokens?.floatingMargin ?? DEFAULT_FLOATING_MARGIN;
190
- const floatingRadius = tokens?.floatingRadius ?? DEFAULT_FLOATING_RADIUS;
191
- const bubbleSize = tokens?.bubbleSize ?? DEFAULT_BUBBLE_SIZE;
192
- const bubbleLift = tokens?.bubbleLift ?? DEFAULT_BUBBLE_LIFT;
193
- const isTile = variant === 'tile';
194
- // `tile` shares the floating capsule; only its pill and inks differ.
195
- const isFloating = variant === 'floating' || isTile;
196
- const isBubble = variant === 'bubble';
197
- const isExpand = variant === 'expand';
198
- const isSolid = variant === 'solid';
199
- const drawsPill = variant === 'pill' || isFloating || isSolid;
200
- const activeIndex = Math.max(0, tabs.findIndex(tab => tab.key === activeTab));
201
- const [rowWidth, setRowWidth] = _react.default.useState(0);
202
- const [rowHeight, setRowHeight] = _react.default.useState(0);
203
- // Derived on every render, never stored: the row's onLayout fires only
204
- // when the row's own size changes, and a change in the NUMBER of tabs
205
- // leaves that size alone. A stored `width / tabs.length` therefore went
206
- // stale the moment a tab was added or removed and the indicator sat
207
- // under the wrong tab.
208
- // A centre action takes a cell of its own, so the tabs split around it and
209
- // tabs before `centerSplit` sit in their own cell and the rest one cell
210
- // further right; the extra tab of an odd count goes left.
211
- const centerSplit = centerAction ? Math.ceil(tabs.length / 2) : tabs.length;
212
- const cellCount = tabs.length + (centerAction ? 1 : 0);
213
- // With a `gap` the centre cell hugs the button, with the gap as a margin on
214
- // each side, and the tabs share what is left; without one it is a cell as
215
- // wide as a tab's. `centerStep` is how far the button pushes the tabs past
216
- // it to the right.
217
- const [centerBox, setCenterBox] = _react.default.useState({
218
- width: 0,
219
- height: 0
220
- });
221
- const centerSize = centerAction?.size ?? DEFAULT_CENTER_SIZE;
222
- const hugsCenter = centerAction?.gap !== undefined;
223
- const centerGap = Math.max(0, centerAction?.gap ?? 0);
224
- const centerSpan = hugsCenter ? (centerBox.width || centerSize) + centerGap * 2 : 0;
225
- const tabWidth = hugsCenter ? tabs.length > 0 ? Math.max(0, rowWidth - centerSpan) / tabs.length : 0 : cellCount > 0 ? rowWidth / cellCount : 0;
226
- const centerStep = hugsCenter ? centerSpan : tabWidth;
227
-
228
- // Single Animated.Value holds the active tab INDEX; the pixel offset is an
229
- // interpolation over the measured tab width, rebuilt when the width changes.
230
- // Keeping the value in index units means a width change (a variant switch
231
- // re-lays the row out) is a plain re-render, never an animation on a view
232
- // that was mounted a moment ago: Android left such a view at its mount-time
233
- // transform, one cell short.
234
- const indicatorIndex = (0, _react.useRef)((0, _index.createAnimatedValue)(activeIndex)).current;
235
- const iconScales = (0, _react.useRef)({});
236
- // Per-tab 0..1 "is active" progress: lifts the bubble icon and widens the
237
- // expanded tab. JS-driven on purpose: flex is layout, which the native
238
- // driver cannot animate, and a native value attached to views that remount
239
- // when the variant switches (floating has a different root) throws from
240
- // Animated's makeNative cascade.
241
- const progressValues = (0, _react.useRef)({});
242
-
243
- // Ensure each tab has persistent animated values
244
- tabs.forEach(tab => {
245
- if (!iconScales.current[tab.key]) {
246
- iconScales.current[tab.key] = new _reactNative.Animated.Value(1);
247
- }
248
- if (!progressValues.current[tab.key]) {
249
- progressValues.current[tab.key] = (0, _index.createAnimatedValue)(tab.key === activeTab ? 1 : 0);
250
- }
251
- });
252
-
253
- // Pill width is intrinsic; we compute its rendered offset to keep it
254
- // centered within each tab cell. The offset is applied to the pill itself
255
- // (NOT folded into the shared indicatorTranslateX) so the underline indicator
256
- // — which spans the full tab cell — stays aligned with the tab boundary
257
- // instead of being shifted by the pill-centering math.
258
- // Every highlight is capped and centred so a wide cell does not stretch it:
259
- // the tile at 96 with room for icon and label, the icon pill at 64.
260
- const pillWidth = tabWidth > 0 ? isTile ? Math.min(tabWidth - TILE_INSET * 2, TILE_MAX_WIDTH) : Math.min(tabWidth - pillInset, pillMaxWidth) : 0;
261
- const pillOffset = tabWidth > 0 ? (tabWidth - pillWidth) / 2 : 0;
262
- const bubbleOffset = tabWidth > 0 ? (tabWidth - bubbleSize) / 2 : 0;
263
- const hasLabel = tab => showLabels && tab.showLabel !== false && tab.label.trim().length > 0;
264
-
265
- // The bubble is centred on where the lifted icon lands. A labelled tab's
266
- // icon wrap sits `tab.paddingVertical` below the row; an icon-only tab
267
- // centres its icon in the row, so the row's measured height decides.
268
- const activeTabConfig = tabs[activeIndex];
269
- const activeIconCentre = activeTabConfig && !hasLabel(activeTabConfig) && rowHeight > 0 ? rowHeight / 2 : TAB_PADDING_VERTICAL + (iconSize + ICON_WRAP_AIR) / 2;
270
- const bubbleTop = activeIconCentre - bubbleLift - bubbleSize / 2;
271
- const tileHeight = Math.max(0, rowHeight - TILE_INSET * 2);
272
- const pillTop = isTile ? TILE_INSET : activeIconCentre - pillHeight / 2;
273
-
274
- // Slide the indicator to the active tab. Pill and bubble modes apply their
275
- // centering offset via a static `left` style below; underline mode uses the
276
- // offset directly. A width change swaps the interpolation, which the native
277
- // driver re-attaches as a fresh node on the next render.
278
- const settledIndex = (0, _react.useRef)(activeIndex);
279
- (0, _react.useEffect)(() => {
280
- if (settledIndex.current === activeIndex) {
281
- return;
282
- }
283
- settledIndex.current = activeIndex;
284
- // Native-driven: the value only feeds transforms, and the tree keeps one
285
- // shape across variants, so nothing it is attached to remounts. Off the
286
- // JS thread, the slide no longer competes with the tab-change render.
287
- const anim = _reactNative.Animated.spring(indicatorIndex, {
288
- toValue: activeIndex,
289
- tension: 120,
290
- friction: 14,
291
- useNativeDriver: true
292
- });
293
- anim.start();
294
- return () => anim.stop();
295
- }, [activeIndex, indicatorIndex]);
296
-
297
- // One stop per tab, at the left edge of the cell it sits in, so a slide
298
- // across the centre action jumps its cell rather than landing on it.
299
- const lastIndex = Math.max(1, tabs.length - 1);
300
- const indicatorTranslateX = (0, _react.useMemo)(() => {
301
- const inputRange = [];
302
- const outputRange = [];
303
- for (let i = 0; i <= lastIndex; i++) {
304
- inputRange.push(i);
305
- outputRange.push(i < centerSplit ? i * tabWidth : i * tabWidth + centerStep);
306
- }
307
- return indicatorIndex.interpolate({
308
- inputRange,
309
- outputRange
310
- });
311
- }, [indicatorIndex, lastIndex, centerSplit, tabWidth, centerStep]);
312
-
313
- // Per-tab progress: the newly active tab springs to 1, the others to 0.
314
- // Keyed on the tab keys, not the array, so a parent that rebuilds `tabs`
315
- // every render does not restart the springs mid-flight. Only `bubble` and
316
- // `expand` read these values; the other variants just keep them current so
317
- // a runtime variant switch starts from the right place.
318
- const tabKeys = tabs.map(tab => tab.key).join(' ');
319
- const animatesProgress = isBubble || isExpand;
320
- (0, _react.useEffect)(() => {
321
- const anims = tabKeys.split(' ').flatMap(key => {
322
- const to = key === activeTab ? 1 : 0;
323
- const progress = progressValues.current[key];
324
- if (!progress) {
325
- return [];
326
- }
327
- if (!animatesProgress) {
328
- progress.setValue(to);
329
- return [];
330
- }
331
- return [_reactNative.Animated.spring(progress, {
332
- toValue: to,
333
- tension: 140,
334
- friction: 13,
335
- useNativeDriver: false
336
- })];
337
- });
338
- if (anims.length === 0) {
339
- return;
340
- }
341
- const group = _reactNative.Animated.parallel(anims);
342
- group.start();
343
- return () => group.stop();
344
- }, [activeTab, tabKeys, animatesProgress]);
345
- const handleLayout = e => {
346
- const {
347
- width,
348
- height
349
- } = e.nativeEvent.layout;
350
- setRowWidth(width);
351
- setRowHeight(height);
352
- };
353
-
354
- // The press pop every tab icon gets, and the centre action's icon too: a
355
- // quick grow, then a spring back to rest.
356
- const popIcon = scale => {
357
- _reactNative.Animated.sequence([_reactNative.Animated.timing(scale, {
358
- toValue: 1.15,
359
- duration: 120,
360
- useNativeDriver: true
361
- }), _reactNative.Animated.spring(scale, {
362
- toValue: 1,
363
- tension: 200,
364
- friction: 8,
365
- useNativeDriver: true
366
- })]).start();
367
- };
368
- const centerScale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
369
- const handlePress = tab => {
370
- if (tab.key !== activeTab && haptic !== false) {
371
- (0, _index2.triggerHaptic)(haptic);
372
- }
373
- const scale = iconScales.current[tab.key];
374
- if (scale) {
375
- popIcon(scale);
376
- }
377
- onChange(tab.key);
378
- };
379
- const handleCenterPress = () => {
380
- if (!centerAction) {
381
- return;
382
- }
383
- const centerHaptic = centerAction.haptic ?? haptic;
384
- if (centerHaptic !== false) {
385
- (0, _index2.triggerHaptic)(centerHaptic);
386
- }
387
- popIcon(centerScale);
388
- centerAction.onPress();
389
- };
390
- const {
391
- colors
392
- } = theme;
393
- const barBackground = isSolid ? colors.primary : colors.background.elevated;
394
- const activeInk = isSolid ? colors.onPrimary : colors.primary;
395
- const inactiveInk = isSolid ? colors.onPrimary : isTile ? colors.text.primary : colors.text.tertiary;
396
- const pillBackground = isSolid ? colors.onPrimary : colors.primaryMuted;
397
- // The active icon sits on the pill (solid) or in the bubble, so it takes the
398
- // ink that reads on that fill rather than on the bar.
399
- const activeIconInk = isSolid ? colors.primary : isBubble ? colors.onPrimary : activeInk;
400
-
401
- // Below the tabs: the same air as above them, unless the safe-area inset
402
- // is larger (the labels then sit just above the home indicator). A bar
403
- // lifted off the bottom by a margin puts the inset into that lift instead,
404
- // the way the capsules always have.
405
- const marginHorizontal = marginHorizontalProp ?? sideMargin;
406
- const marginVertical = marginVerticalProp ?? (isFloating ? sideMargin : 0);
407
- const lifted = marginVertical > 0;
408
- const paddingTop = paddingVerticalProp ?? (isFloating ? FLOATING_BAR_PADDING_VERTICAL : isBubble ? BAR_PADDING_TOP_BUBBLE : BAR_PADDING_TOP);
409
- const innerPaddingHorizontal = paddingHorizontalProp ?? (isFloating ? FLOATING_BAR_PADDING_HORIZONTAL : BAR_PADDING_HORIZONTAL);
410
- const paddingBottom = lifted ? paddingTop : Math.max(paddingTop, insets.bottom);
411
- const liftBottom = lifted ? Math.max(marginVertical, insets.bottom) : 0;
412
-
413
- // One prop for "how round is the white surface", whichever view is holding
414
- // it: the docked bar, or the floating variant's detached capsule.
415
- // The tile capsule is round-ended so it stays concentric with its pill.
416
- //
417
- // `full` is half the surface's own height, never `theme.radius.full`: the
418
- // bar pads itself by its radius (below), so 9999 would leave the row no
419
- // width, and Android drops an oversized radius to square corners. The
420
- // surface is the measured row plus the padding the bar itself puts around
421
- // it; padding added through `style` is not counted. Until the row is
422
- // measured the bar keeps its 4px padding and lets the platform clamp the
423
- // full radius, so the first measured row is full width and the layout
424
- // settles in one more pass.
425
- const wantsFullRadius = radius === 'full';
426
- const surfaceHeight = isFloating ? rowHeight + paddingTop * 2 + _reactNative.StyleSheet.hairlineWidth * 2 : rowHeight + paddingTop + paddingBottom;
427
- const barRadius = wantsFullRadius ? rowHeight > 0 ? surfaceHeight / 2 : theme.radius.full : radius ?? tokens?.borderRadius ?? (isTile ? theme.radius.full : isFloating ? floatingRadius : 0);
428
- // The active background's radius, never more than half its own height (a
429
- // larger radius drops to square corners on Android). `auto` matches the bar
430
- // once an app rounds it and otherwise stays fully round, the look it has
431
- // always had; a number is the background's own.
432
- // `round` is each background's own fully round value.
433
- const barRadiusSet = radius !== undefined || tokens?.borderRadius !== undefined;
434
- const activeBgRadius = (height, round) => {
435
- if (typeof indicatorRadiusProp === 'number') {
436
- return Math.max(0, Math.min(indicatorRadiusProp, height / 2));
437
- }
438
- if (indicatorRadiusProp === 'auto' && barRadiusSet) {
439
- return Math.min(barRadius, height / 2);
440
- }
441
- return round;
442
- };
443
- // A rounded bar has no flat edge under its corners, and the underline sits on
444
- // that edge: hold the tab row out of the corners entirely rather than cutting
445
- // the line short on the two end tabs, which read as broken next to the others.
446
- // Inset by the radius and the row's own span IS the bar's flat band, so every
447
- // tab keeps a full-width line. Only the underline needs it: every other
448
- // indicator lives inside its tab cell, so those variants keep the bar's own
449
- // 4px and give the whole width to the tabs.
450
- const barPaddingHorizontal = variant === 'underline' ? Math.max(innerPaddingHorizontal, wantsFullRadius && rowHeight === 0 ? 0 : barRadius) : innerPaddingHorizontal;
451
- // Nothing is drawn around the surface unless asked: no shadow and no
452
- // border by default on any variant, so what an app sees is what it set.
453
- const elevationLevel = elevation ?? 'none';
454
- // A `boxShadow` where the platform draws one, as the Card does: Android's
455
- // `elevation` is a flat grey that cannot match iOS, and the legacy props
456
- // are ignored there. Android below API 28 keeps the token's `elevation`.
457
- const shadowToken = theme.shadows[elevationLevel];
458
- const barShadow = elevationLevel === 'none' ? null : (0, _shadows.supportsBoxShadow)() ? {
459
- boxShadow: (0, _shadows.toBoxShadow)(shadowToken)
460
- } : shadowToken;
461
- // A hairline outline on all four sides, on any variant, only when asked.
462
- // Every edge of the docked bar is set by name, never through the
463
- // `borderWidth` shorthand: Android resets a dropped `borderTopWidth` to
464
- // zero instead of falling back to the shorthand, and the top line vanishes.
465
- const hairline = border ? _reactNative.StyleSheet.hairlineWidth : 0;
466
- const borderColor = isSolid ? colors.primary : colors.border.primary;
467
-
468
- // The centre action is centred on the row and raised by `lift`. Whatever of
469
- // it pokes above the bar surface is added to the root's top padding, so the
470
- // raised part stays inside the component's own box: a touch outside a
471
- // parent's bounds is not something to rely on across both platforms, and a
472
- // screen laid out under the bar should not be covered by it either.
473
- const centerLift = centerAction?.lift ?? 0;
474
- const rowTopInSurface = paddingTop + hairline;
475
- const centerOverhang = centerAction && rowHeight > 0 ? Math.max(0, (centerBox.height || centerSize) / 2 + centerLift - rowHeight / 2 - rowTopInSurface) : 0;
476
- const centerNode = centerAction ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
477
- style: [styles.centerCell, hugsCenter ? {
478
- flex: 0,
479
- marginHorizontal: centerGap
480
- } : null],
481
- pointerEvents: "box-none",
482
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
483
- onPress: handleCenterPress,
484
- onLayout: e => {
485
- const {
486
- width,
487
- height
488
- } = e.nativeEvent.layout;
489
- setCenterBox(prev => prev.width === width && prev.height === height ? prev : {
490
- width,
491
- height
492
- });
493
- },
494
- accessibilityRole: "button",
495
- accessibilityLabel: centerAction.label,
496
- hitSlop: {
497
- top: 6,
498
- bottom: 6,
499
- left: 6,
500
- right: 6
501
- }
502
- // A relative `top`, not a transform, like the bubble's lift: the box
503
- // moves with it for layout and hit-testing alike.
504
- ,
505
- style: ({
506
- pressed
507
- }) => [{
508
- top: -centerLift
509
- }, pressed ? {
510
- opacity: 0.85
511
- } : null],
512
- testID: centerAction.testID ?? (testID ? `${testID}-center` : undefined),
513
- children: centerAction.content ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
514
- style: {
515
- transform: [{
516
- scale: centerScale
517
- }]
518
- },
519
- children: centerAction.content
520
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
521
- style: [styles.centerCircle, {
522
- width: centerSize,
523
- height: centerSize,
524
- borderRadius: centerSize / 2,
525
- ..._corners.smoothCorners,
526
- backgroundColor: centerAction.color ?? colors.primary
527
- }],
528
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
529
- style: {
530
- transform: [{
531
- scale: centerScale
532
- }]
533
- },
534
- children: (0, _index3.renderSlotIcon)(centerAction.icon ?? 'add', {
535
- color: centerAction.iconColor ?? colors.onPrimary,
536
- size: centerAction.iconSize ?? DEFAULT_CENTER_ICON_SIZE,
537
- disabled: false
538
- })
539
- })
540
- })
541
- })
542
- }, CENTER_KEY) : null;
543
- // The centre cell goes between the two halves of the tabs.
544
- const withCenter = nodes => centerNode ? [...nodes.slice(0, centerSplit), centerNode, ...nodes.slice(centerSplit)] : nodes;
545
- const tabRow = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
546
- style: styles.tabRow,
547
- onLayout: handleLayout,
548
- children: [drawsPill && pillWidth > 0 && (!isTile || tileHeight > 0) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
549
- pointerEvents: "none",
550
- style: [styles.pill, {
551
- width: pillWidth,
552
- height: isTile ? tileHeight : pillHeight,
553
- left: pillOffset,
554
- top: pillTop,
555
- backgroundColor: pillBackground,
556
- // Half the height, not `radius.full`, for the tile: its pill is
557
- // tall, and an oversized radius drops to square corners on Android.
558
- borderRadius: isTile ? activeBgRadius(tileHeight, tileHeight / 2) : activeBgRadius(pillHeight, theme.radius.full),
559
- ..._corners.smoothCorners,
560
- transform: [{
561
- translateX: indicatorTranslateX
562
- }]
563
- }, indicatorStyle]
564
- }) : null, isBubble && tabWidth > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
565
- pointerEvents: "none",
566
- style: [styles.bubble, theme.shadows.md, {
567
- width: bubbleSize,
568
- height: bubbleSize,
569
- borderRadius: bubbleSize / 2,
570
- ..._corners.smoothCorners,
571
- left: bubbleOffset,
572
- top: bubbleTop,
573
- backgroundColor: colors.primary,
574
- borderColor: colors.background.elevated,
575
- transform: [{
576
- translateX: indicatorTranslateX
577
- }]
578
- }, indicatorStyle]
579
- }) : null, withCenter(tabs.map(tab => {
580
- const isActive = tab.key === activeTab;
581
- const color = isActive ? activeInk : inactiveInk;
582
- const iconColor = isActive ? activeIconInk : inactiveInk;
583
- const activeFallback = typeof tab.icon === 'string' ? {
584
- name: tab.icon,
585
- variant: 'bold'
586
- } : tab.icon;
587
- const tabIcon = isActive ? tab.activeIcon ?? activeFallback : tab.icon;
588
- const scale = iconScales.current[tab.key];
589
- const progress = progressValues.current[tab.key];
590
- const badge = formatBadge(tab.badge ?? null);
591
- const a11ySuffix = badgeAccessibilitySuffix(tab.badge ?? null);
592
- const inkOpacity = isSolid && !isActive ? SOLID_INACTIVE_OPACITY : 1;
593
- // The badge ring matches whatever the icon sits on.
594
- const badgeBorder = isBubble && isActive || isSolid ? colors.primary : colors.background.elevated;
595
- const labelled = hasLabel(tab);
596
- const showLabel = labelled && (!isExpand || isActive);
597
- const iconWrap = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
598
- style: [styles.iconWrap, {
599
- width: iconSize + ICON_WRAP_AIR,
600
- height: iconSize + ICON_WRAP_AIR,
601
- opacity: inkOpacity,
602
- transform: [{
603
- scale
604
- }]
605
- }],
606
- children: [(0, _index3.renderSlotIcon)(tabIcon, {
607
- color: iconColor,
608
- size: iconSize,
609
- focused: isActive,
610
- disabled: false
611
- }), badge ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
612
- style: [badge.isDot ? styles.badgeDot : styles.badgePill, {
613
- backgroundColor: colors.error,
614
- borderColor: badgeBorder
615
- }],
616
- children: badge.isDot ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
617
- style: [styles.badgeText, {
618
- color: colors.text.inverse
619
- }],
620
- numberOfLines: 1,
621
- children: badge.text
622
- })
623
- }) : null]
624
- });
625
- // The lift lives on its own node: `scale` runs on the native driver
626
- // and `progress` on the JS driver, and one node cannot mix the two.
627
- // It is a relative `top`, not a transform: on Android a transform on
628
- // this wrapper was ignored for a tab whose label is empty.
629
- const iconNode = isBubble ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
630
- style: {
631
- top: progress.interpolate({
632
- inputRange: [0, 1],
633
- outputRange: [0, -bubbleLift]
634
- })
635
- },
636
- children: iconWrap
637
- }) : iconWrap;
638
- const labelNode = showLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.Text, {
639
- numberOfLines: 1,
640
- style: [styles.label, isExpand ? styles.labelInline : null, {
641
- color,
642
- opacity: isExpand ? progress : inkOpacity,
643
- fontWeight: isActive ? theme.typography.fontWeight.semibold : theme.typography.fontWeight.normal
644
- }, labelStyle],
645
- children: tab.label
646
- }) : null;
647
- const pressable = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
648
- onPress: () => handlePress(tab),
649
- accessibilityRole: "tab",
650
- accessibilityState: {
651
- selected: isActive
652
- },
653
- accessibilityLabel: `${tab.label}${a11ySuffix}`,
654
- accessibilityHint: `Switches to ${tab.label}`,
655
- hitSlop: {
656
- top: 6,
657
- bottom: 6,
658
- left: 6,
659
- right: 6
660
- },
661
- style: ({
662
- pressed
663
- }) => [styles.tab, isTile ? styles.tabTile : null, pressed ? {
664
- opacity: 0.85
665
- } : null],
666
- testID: testID ? `${testID}-tab-${tab.key}` : undefined,
667
- children: isExpand ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
668
- style: [styles.expandPill, {
669
- height: pillHeight,
670
- paddingHorizontal: isActive && labelled ? theme.spacing.md : Math.max(0, (pillHeight - (iconSize + ICON_WRAP_AIR)) / 2)
671
- }],
672
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
673
- pointerEvents: "none",
674
- style: [styles.expandFill, {
675
- // Half the height, not `radius.full`: Android drops an
676
- // oversized radius to square corners while the cell's
677
- // flex is being animated.
678
- borderRadius: activeBgRadius(pillHeight, pillHeight / 2),
679
- ..._corners.smoothCorners,
680
- backgroundColor: isActive ? colors.primaryMuted : 'transparent'
681
- }, isActive ? indicatorStyle : null]
682
- }), iconNode, labelNode]
683
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
684
- children: [iconNode, labelNode]
685
- })
686
- }, tab.key);
687
- if (!isExpand) {
688
- return pressable;
689
- }
690
- // The active cell grows so the pill has room for its label; flex is
691
- // layout, hence the JS-driven value.
692
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
693
- style: {
694
- // An icon-only tab has nothing to make room for, so it stays a plain cell.
695
- flex: progress.interpolate({
696
- inputRange: [0, 1],
697
- outputRange: [1, labelled ? EXPANDED_FLEX : 1]
698
- })
699
- },
700
- children: pressable
701
- }, tab.key);
702
- })), variant === 'underline' && tabWidth > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
703
- pointerEvents: "none",
704
- style: [styles.underline, indicatorPosition === 'top' ? styles.underlineTop : styles.underlineBottom,
705
- // On the padding's outer edge, which is the bar's own edge.
706
- indicatorPosition === 'top' ? {
707
- top: -paddingTop
708
- } : {
709
- bottom: -paddingTop
710
- }, {
711
- width: tabWidth,
712
- height: tokens?.underlineHeight ?? DEFAULT_UNDERLINE_HEIGHT,
713
- backgroundColor: colors.primary,
714
- transform: [{
715
- translateX: indicatorTranslateX
716
- }]
717
- }, indicatorStyle]
718
- }) : null]
719
- });
720
-
721
- // One tree shape for every variant: root → bar → row. React then keeps the
722
- // row (and its onLayout) on a variant switch instead of re-purposing the
723
- // capsule view as the row, which left `tabWidth` at the old width.
724
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
725
- ref: ref,
726
- testID: testID,
727
- accessibilityRole: "tablist"
728
- // Every variant keeps its margin at the sides, so a docked bar sits in
729
- // from the screen edges like the capsules do; a vertical margin lifts
730
- // it off the bottom the same way.
731
- ,
732
- style: [styles.outer, {
733
- paddingHorizontal: marginHorizontal,
734
- paddingTop: Math.max(marginVertical, centerOverhang),
735
- paddingBottom: liftBottom
736
- }, style],
737
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
738
- style: [isFloating ? styles.floatingBar : styles.dockedBar, barShadow, {
739
- backgroundColor: barBackground,
740
- borderColor,
741
- borderRadius: barRadius,
742
- ..._corners.smoothCorners
743
- }, isFloating ? {
744
- borderWidth: hairline,
745
- paddingHorizontal: innerPaddingHorizontal,
746
- paddingVertical: paddingTop
747
- } : {
748
- // Named per edge, never the shorthand (see `hairline`).
749
- borderTopWidth: hairline,
750
- borderBottomWidth: hairline,
751
- borderLeftWidth: hairline,
752
- borderRightWidth: hairline,
753
- paddingHorizontal: barPaddingHorizontal,
754
- paddingTop,
755
- paddingBottom
756
- }],
757
- children: tabRow
758
- })
759
- });
760
- });
761
- BottomNavigation.displayName = 'BottomNavigation';
762
- const buildStyles = theme => _reactNative.StyleSheet.create({
763
- outer: {
764
- backgroundColor: 'transparent'
765
- },
766
- dockedBar: {
767
- paddingHorizontal: BAR_PADDING_HORIZONTAL
768
- },
769
- floatingBar: {
770
- paddingVertical: FLOATING_BAR_PADDING_VERTICAL,
771
- paddingHorizontal: FLOATING_BAR_PADDING_HORIZONTAL
772
- },
773
- tabRow: {
774
- flexDirection: 'row',
775
- alignItems: 'stretch',
776
- position: 'relative'
777
- },
778
- tab: {
779
- flex: 1,
780
- minHeight: 44,
781
- alignItems: 'center',
782
- justifyContent: 'center',
783
- paddingVertical: TAB_PADDING_VERTICAL,
784
- // The pill ends 4px under the icon wrap, so the label's box starts where
785
- // the pill ends; the text's own leading is the air, tuned by eye on the
786
- // phone with the 18px icon.
787
- gap: 4
788
- },
789
- tabTile: {
790
- paddingVertical: TAB_PADDING_VERTICAL + TILE_INSET,
791
- gap: TILE_LABEL_GAP
792
- },
793
- centerCell: {
794
- flex: 1,
795
- minHeight: 44,
796
- alignItems: 'center',
797
- justifyContent: 'center'
798
- },
799
- centerCircle: {
800
- alignItems: 'center',
801
- justifyContent: 'center'
802
- },
803
- iconWrap: {
804
- alignItems: 'center',
805
- justifyContent: 'center',
806
- position: 'relative'
807
- },
808
- label: {
809
- fontSize: theme.typography.fontSize.xs,
810
- lineHeight: theme.typography.fontSize.xs * theme.typography.lineHeight.tight,
811
- textAlign: 'center',
812
- // Android pads text above its ascenders by default, which reads as a
813
- // wider gap under the icon than iOS shows.
814
- includeFontPadding: false
815
- },
816
- labelInline: {
817
- fontSize: theme.typography.fontSize.sm,
818
- lineHeight: theme.typography.fontSize.sm * theme.typography.lineHeight.tight,
819
- flexShrink: 1,
820
- includeFontPadding: false
821
- },
822
- expandPill: {
823
- flexDirection: 'row',
824
- alignItems: 'center',
825
- justifyContent: 'center',
826
- gap: theme.spacing.xs
827
- },
828
- expandFill: {
829
- position: 'absolute',
830
- top: 0,
831
- right: 0,
832
- bottom: 0,
833
- left: 0,
834
- overflow: 'hidden'
835
- },
836
- pill: {
837
- position: 'absolute',
838
- left: 0
839
- },
840
- bubble: {
841
- position: 'absolute',
842
- left: 0,
843
- borderWidth: 3
844
- },
845
- underline: {
846
- position: 'absolute',
847
- left: 0,
848
- height: DEFAULT_UNDERLINE_HEIGHT
849
- },
850
- underlineBottom: {
851
- borderTopLeftRadius: 2,
852
- borderTopRightRadius: 2,
853
- ..._corners.smoothCorners
854
- },
855
- underlineTop: {
856
- borderBottomLeftRadius: 2,
857
- borderBottomRightRadius: 2,
858
- ..._corners.smoothCorners
859
- },
860
- badgePill: {
861
- position: 'absolute',
862
- top: -4,
863
- right: -8,
864
- minWidth: 18,
865
- height: 18,
866
- borderRadius: 9,
867
- ..._corners.smoothCorners,
868
- paddingHorizontal: 4,
869
- paddingVertical: 2,
870
- alignItems: 'center',
871
- justifyContent: 'center',
872
- borderWidth: 1.5
873
- },
874
- badgeDot: {
875
- position: 'absolute',
876
- top: -2,
877
- right: -2,
878
- width: 10,
879
- height: 10,
880
- borderRadius: 5,
881
- ..._corners.smoothCorners,
882
- borderWidth: 1.5
883
- },
884
- badgeText: {
885
- fontSize: 10,
886
- fontWeight: '700',
887
- lineHeight: 12,
888
- textAlign: 'center',
889
- includeFontPadding: false
890
- }
891
- });
892
- var _default = exports.default = BottomNavigation;
893
- //# sourceMappingURL=BottomNavigation.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BottomNavigation=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_shadows=require("../../utils/shadows.js"),_index3=require("../AppIcon/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,a,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(n=t?r:i){if(n.has(e))return n.get(e);n.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?n(o,t,a):o[t]=e[t]);return o})(e,t)}const DEFAULT_ICON_SIZE=18,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_PILL_INSET=16,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_FLOATING_MARGIN=16,DEFAULT_FLOATING_RADIUS=28,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",TAB_PADDING_VERTICAL=6,BAR_PADDING_HORIZONTAL=4,BAR_PADDING_TOP=6,BAR_PADDING_TOP_BUBBLE=8,FLOATING_BAR_PADDING_VERTICAL=6,FLOATING_BAR_PADDING_HORIZONTAL=8,EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,TILE_LABEL_GAP=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=exports.BottomNavigation=(0,_react.forwardRef)((e,t)=>{const{tabs:i,centerAction:r,activeTab:n,onChange:a,haptic:o="selection",showLabels:l=!0,variant:s="pill",indicatorPosition:d="bottom",radius:c,indicatorRadius:u="auto",elevation:h,iconSize:p,marginHorizontal:_,marginVertical:g,paddingHorizontal:m,paddingVertical:b,border:f,style:y,indicatorStyle:x,labelStyle:v,testID:R}=e,N=(0,_index.useTheme)(),A=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),I=(0,_react.useMemo)(()=>buildStyles(N),[N]),j=N.components.bottomNavigation,w=p??j?.iconSize??18,E=j?.pillHeight??w+4+8,T=j?.pillMaxWidth??64,D=j?.pillInset??16,L=j?.floatingMargin??16,S=j?.floatingRadius??28,C=j?.bubbleSize??48,B=j?.bubbleLift??14,P="tile"===s,V="floating"===s||P,k="bubble"===s,M="expand"===s,H="solid"===s,W="pill"===s||V||H,z=Math.max(0,i.findIndex(e=>e.key===n)),[F,O]=_react.default.useState(0),[U,q]=_react.default.useState(0),G=r?Math.ceil(i.length/2):i.length,$=i.length+(r?1:0),[X,Z]=_react.default.useState({width:0,height:0}),Y=r?.size??48,K=void 0!==r?.gap,J=Math.max(0,r?.gap??0),Q=K?(X.width||Y)+2*J:0,ee=K?i.length>0?Math.max(0,F-Q)/i.length:0:$>0?F/$:0,te=K?Q:ee,ie=(0,_react.useRef)((0,_index.createAnimatedValue)(z)).current,re=(0,_react.useRef)({}),ne=(0,_react.useRef)({});i.forEach(e=>{re.current[e.key]||(re.current[e.key]=new _reactNative.Animated.Value(1)),ne.current[e.key]||(ne.current[e.key]=(0,_index.createAnimatedValue)(e.key===n?1:0))});const ae=ee>0?P?Math.min(ee-4,96):Math.min(ee-D,T):0,oe=ee>0?(ee-ae)/2:0,le=ee>0?(ee-C)/2:0,hasLabel=e=>l&&!1!==e.showLabel&&e.label.trim().length>0,se=i[z],de=se&&!hasLabel(se)&&U>0?U/2:6+(w+4)/2,ce=de-B-C/2,ue=Math.max(0,U-4),he=P?2:de-E/2,pe=(0,_react.useRef)(z);(0,_react.useEffect)(()=>{if(pe.current===z)return;pe.current=z;const e=_reactNative.Animated.spring(ie,{toValue:z,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[z,ie]);const _e=Math.max(1,i.length-1),ge=(0,_react.useMemo)(()=>{const e=[],t=[];for(let i=0;i<=_e;i++)e.push(i),t.push(i<G?i*ee:i*ee+te);return ie.interpolate({inputRange:e,outputRange:t})},[ie,_e,G,ee,te]),me=i.map(e=>e.key).join(" "),be=k||M;(0,_react.useEffect)(()=>{const e=me.split(" ").flatMap(e=>{const t=e===n?1:0,i=ne.current[e];return i?be?[_reactNative.Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=_reactNative.Animated.parallel(e);return t.start(),()=>t.stop()},[n,me,be]);const popIcon=e=>{_reactNative.Animated.sequence([_reactNative.Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),_reactNative.Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},fe=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,{colors:ye}=N,xe=H?ye.primary:ye.background.elevated,ve=H?ye.onPrimary:ye.primary,Re=H?ye.onPrimary:P?ye.text.primary:ye.text.tertiary,Ne=H?ye.onPrimary:ye.primaryMuted,Ae=H?ye.primary:k?ye.onPrimary:ve,Ie=_??L,je=g??(V?L:0),we=je>0,Ee=b??(V?6:k?8:6),Te=m??(V?8:4),De=we?Ee:Math.max(Ee,A.bottom),Le=we?Math.max(je,A.bottom):0,Se="full"===c,Ce=V?U+2*Ee+2*_reactNative.StyleSheet.hairlineWidth:U+Ee+De,Be=Se?U>0?Ce/2:N.radius.full:c??j?.borderRadius??(P?N.radius.full:V?S:0),Pe=void 0!==c||void 0!==j?.borderRadius,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Pe?Math.min(Be,e/2):t,Ve="underline"===s?Math.max(Te,Se&&0===U?0:Be):Te,ke=h??"none",Me=N.shadows[ke],He="none"===ke?null:(0,_shadows.supportsBoxShadow)()?{boxShadow:(0,_shadows.toBoxShadow)(Me)}:Me,We=f?_reactNative.StyleSheet.hairlineWidth:0,ze=H?ye.primary:ye.border.primary,Fe=r?.lift??0,Oe=Ee+We,Ue=r&&U>0?Math.max(0,(X.height||Y)/2+Fe-U/2-Oe):0,qe=r?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[I.centerCell,K?{flex:0,marginHorizontal:J}:null],pointerEvents:"box-none",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>{if(!r)return;const e=r.haptic??o;!1!==e&&(0,_index2.triggerHaptic)(e),popIcon(fe),r.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;Z(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:r.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-Fe},e?{opacity:.85}:null],testID:r.testID??(R?`${R}-center`:void 0),children:r.content?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:fe}]},children:r.content}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[I.centerCircle,{width:Y,height:Y,borderRadius:Y/2,..._corners.smoothCorners,backgroundColor:r.color??ye.primary}],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:fe}]},children:(0,_index3.renderSlotIcon)(r.icon??"add",{color:r.iconColor??ye.onPrimary,size:r.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,Ge=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:I.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;O(t),q(i)},children:[W&&ae>0&&(!P||ue>0)?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[I.pill,{width:ae,height:P?ue:E,left:oe,top:he,backgroundColor:Ne,borderRadius:P?activeBgRadius(ue,ue/2):activeBgRadius(E,N.radius.full),..._corners.smoothCorners,transform:[{translateX:ge}]},x]}):null,k&&ee>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[I.bubble,N.shadows.md,{width:C,height:C,borderRadius:C/2,..._corners.smoothCorners,left:le,top:ce,backgroundColor:ye.primary,borderColor:ye.background.elevated,transform:[{translateX:ge}]},x]}):null,($e=i.map(e=>{const t=e.key===n,i=t?ve:Re,r=t?Ae:Re,l="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,s=t?e.activeIcon??l:e.icon,d=re.current[e.key],c=ne.current[e.key],u=formatBadge(e.badge??null),h=badgeAccessibilitySuffix(e.badge??null),p=H&&!t?.7:1,_=k&&t||H?ye.primary:ye.background.elevated,g=hasLabel(e),m=g&&(!M||t),b=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[I.iconWrap,{width:w+4,height:w+4,opacity:p,transform:[{scale:d}]}],children:[(0,_index3.renderSlotIcon)(s,{color:r,size:w,focused:t,disabled:!1}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.isDot?I.badgeDot:I.badgePill,{backgroundColor:ye.error,borderColor:_}],children:u.isDot?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[I.badgeText,{color:ye.onError}],numberOfLines:1,children:u.text})}):null]}),f=k?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{top:c.interpolate({inputRange:[0,1],outputRange:[0,-B]})},children:b}):b,y=m?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{numberOfLines:1,style:[I.label,M?I.labelInline:null,{color:i,opacity:M?c:p,fontWeight:t?N.typography.fontWeight.semibold:N.typography.fontWeight.normal},v],children:e.label}):null,A=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>(e=>{e.key!==n&&!1!==o&&(0,_index2.triggerHaptic)(o);const t=re.current[e.key];t&&popIcon(t),a(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},accessibilityLabel:`${e.label}${h}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[I.tab,P?I.tabTile:null,e?{opacity:.85}:null],testID:R?`${R}-tab-${e.key}`:void 0,children:M?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[I.expandPill,{height:E,paddingHorizontal:t&&g?N.spacing.md:Math.max(0,(E-(w+4))/2)}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[I.expandFill,{borderRadius:activeBgRadius(E,E/2),..._corners.smoothCorners,backgroundColor:t?ye.primaryMuted:"transparent"},t?x:null]}),f,y]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f,y]})},e.key);return M?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{flex:c.interpolate({inputRange:[0,1],outputRange:[1,g?1.5:1]})},children:A},e.key):A}),qe?[...$e.slice(0,G),qe,...$e.slice(G)]:$e),"underline"===s&&ee>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[I.underline,"top"===d?I.underlineTop:I.underlineBottom,"top"===d?{top:-Ee}:{bottom:-Ee},{width:ee,height:j?.underlineHeight??3,backgroundColor:ye.primary,transform:[{translateX:ge}]},x]}):null]});var $e;return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,testID:R,accessibilityRole:"tablist",style:[I.outer,{paddingHorizontal:Ie,paddingTop:Math.max(je,Ue),paddingBottom:Le},y],children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[V?I.floatingBar:I.dockedBar,He,{backgroundColor:xe,borderColor:ze,borderRadius:Be,..._corners.smoothCorners},V?{borderWidth:We,paddingHorizontal:Te,paddingVertical:Ee}:{borderTopWidth:We,borderBottomWidth:We,borderLeftWidth:We,borderRightWidth:We,paddingHorizontal:Ve,paddingTop:Ee,paddingBottom:De}],children:Ge})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>_reactNative.StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:4},floatingBar:{paddingVertical:6,paddingHorizontal:8},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:6,gap:4},tabTile:{paddingVertical:8,gap:2},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.typography.fontSize.xs,lineHeight:e.typography.fontSize.xs*e.typography.lineHeight.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.typography.fontSize.sm,lineHeight:e.typography.fontSize.sm*e.typography.lineHeight.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.spacing.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:2,borderTopRightRadius:2,..._corners.smoothCorners},underlineTop:{borderBottomLeftRadius:2,borderBottomRightRadius:2,..._corners.smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:9,..._corners.smoothCorners,paddingHorizontal:4,paddingVertical:2,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:5,..._corners.smoothCorners,borderWidth:1.5},badgeText:{fontSize:10,fontWeight:"700",lineHeight:12,textAlign:"center",includeFontPadding:!1}});var _default=exports.default=BottomNavigation;