@12-apps/ui 6.18.0 → 6.19.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 (710) hide show
  1. package/NATIVE.md +10 -2
  2. package/components-catalog.md +8 -4
  3. package/dist/_internal/components/data-display/Alert/Alert.base.js +1 -0
  4. package/dist/_internal/components/data-display/Alert/Alert.base.js.map +1 -0
  5. package/dist/_internal/components/data-display/Alert/Alert.helpers.js +16 -0
  6. package/dist/_internal/components/data-display/Alert/Alert.helpers.js.map +1 -0
  7. package/dist/_internal/components/data-display/Alert/Alert.js +9 -2
  8. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +78 -0
  9. package/dist/_internal/components/data-display/Alert/Alert.metrics.js.map +1 -0
  10. package/dist/_internal/components/data-display/Alert/Alert.styles.js +7 -1
  11. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +12 -5
  12. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  13. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  14. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +10 -3
  15. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -8
  16. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +4 -4
  17. package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
  18. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  19. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  20. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  21. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  22. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
  23. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +38 -38
  24. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +53 -51
  25. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  26. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +5 -5
  27. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +5 -5
  28. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  29. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +1 -1
  30. package/dist/_internal/components/data-display/DataViews/base-list-card.js +5 -5
  31. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +10 -10
  32. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
  33. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
  34. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
  35. package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
  36. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +11 -11
  37. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +9 -9
  38. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  39. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +35 -35
  40. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +15 -15
  41. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +1 -1
  42. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +4 -4
  43. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  44. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
  45. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +9 -9
  46. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +14 -12
  47. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +8 -8
  48. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
  49. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
  50. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
  51. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  52. package/dist/_internal/components/data-display/EmptyState/EmptyState.base.js +1 -0
  53. package/dist/_internal/components/data-display/EmptyState/EmptyState.base.js.map +1 -0
  54. package/dist/_internal/components/data-display/EmptyState/EmptyState.helpers.js +10 -0
  55. package/dist/_internal/components/data-display/EmptyState/EmptyState.helpers.js.map +1 -0
  56. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +4 -1
  57. package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js +44 -0
  58. package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js.map +1 -0
  59. package/dist/_internal/components/data-display/ErrorState/ErrorState.base.js +1 -0
  60. package/dist/_internal/components/data-display/ErrorState/ErrorState.base.js.map +1 -0
  61. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +3 -1
  62. package/dist/_internal/components/data-display/ErrorState/ErrorState.metrics.js +32 -0
  63. package/dist/_internal/components/data-display/ErrorState/ErrorState.metrics.js.map +1 -0
  64. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  65. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
  66. package/dist/_internal/components/data-display/LoadingState/LoadingState.base.js +1 -0
  67. package/dist/_internal/components/data-display/LoadingState/LoadingState.base.js.map +1 -0
  68. package/dist/_internal/components/data-display/LoadingState/LoadingState.helpers.js +6 -2
  69. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +6 -2
  70. package/dist/_internal/components/data-display/LoadingState/LoadingState.metrics.js +34 -0
  71. package/dist/_internal/components/data-display/LoadingState/LoadingState.metrics.js.map +1 -0
  72. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  73. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +4 -4
  74. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +5 -2
  75. package/dist/_internal/components/data-display/Sheet/Sheet.js +2 -2
  76. package/dist/_internal/components/data-display/Table/Table.js +3 -3
  77. package/dist/_internal/components/data-display/index.js +52 -46
  78. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  79. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  80. package/dist/_internal/components/feedback/index.js +8 -8
  81. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  82. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +9 -9
  83. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
  84. package/dist/_internal/components/form/Button/Button.js +2 -2
  85. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  86. package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
  87. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  88. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  89. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  90. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  91. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  92. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +8 -8
  93. package/dist/_internal/components/form/CepField/CepField.js +3 -3
  94. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +1 -1
  95. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +9 -9
  96. package/dist/_internal/components/form/Input/Input.js +2 -2
  97. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  98. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  99. package/dist/_internal/components/form/index.js +28 -28
  100. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +9 -9
  101. package/dist/_internal/components/form/total-form/Fields/CepField.js +4 -4
  102. package/dist/_internal/components/form/total-form/Fields/TextField.js +3 -3
  103. package/dist/_internal/components/form/total-form/Fields/index.js +19 -19
  104. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  105. package/dist/_internal/components/index.js +111 -101
  106. package/dist/_internal/components/layout/Container/Container.base.js +1 -0
  107. package/dist/_internal/components/layout/Container/Container.base.js.map +1 -0
  108. package/dist/_internal/components/layout/Container/Container.js +3 -1
  109. package/dist/_internal/components/layout/Container/Container.metrics.js +26 -0
  110. package/dist/_internal/components/layout/Container/Container.metrics.js.map +1 -0
  111. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
  112. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  113. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
  114. package/dist/_internal/components/layout/Spacer/Spacer.base.js +1 -0
  115. package/dist/_internal/components/layout/Spacer/Spacer.base.js.map +1 -0
  116. package/dist/_internal/components/layout/Spacer/Spacer.js +3 -1
  117. package/dist/_internal/components/layout/Spacer/Spacer.metrics.js +18 -0
  118. package/dist/_internal/components/layout/Spacer/Spacer.metrics.js.map +1 -0
  119. package/dist/_internal/components/layout/index.js +10 -7
  120. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +5 -5
  121. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +2 -2
  122. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  123. package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
  124. package/dist/_internal/components/navigation/index.js +14 -14
  125. package/dist/_internal/components/typography/Heading/Heading.base.js +1 -0
  126. package/dist/_internal/components/typography/Heading/Heading.base.js.map +1 -0
  127. package/dist/_internal/components/typography/Heading/Heading.js +7 -2
  128. package/dist/_internal/components/typography/Heading/Heading.metrics.js +32 -0
  129. package/dist/_internal/components/typography/Heading/Heading.metrics.js.map +1 -0
  130. package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -1
  131. package/dist/_internal/components/typography/Paragraph/Paragraph.base.js +1 -0
  132. package/dist/_internal/components/typography/Paragraph/Paragraph.base.js.map +1 -0
  133. package/dist/_internal/components/typography/Paragraph/Paragraph.js +7 -1
  134. package/dist/_internal/components/typography/Paragraph/Paragraph.metrics.js +24 -0
  135. package/dist/_internal/components/typography/Paragraph/Paragraph.metrics.js.map +1 -0
  136. package/dist/_internal/components/typography/index.js +5 -3
  137. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +1 -1
  138. package/dist/_internal/components/utility/index.js +1 -1
  139. package/dist/_internal/platform/aria.js +11 -0
  140. package/dist/_internal/platform/aria.js.map +1 -0
  141. package/dist/_internal/platform/text-children.js +37 -0
  142. package/dist/_internal/platform/text-children.js.map +1 -0
  143. package/dist/_internal/social-login-button/social-login-button.js +6 -5
  144. package/dist/_internal/tokens/mui-type.js +25 -0
  145. package/dist/_internal/tokens/mui-type.js.map +1 -0
  146. package/dist/_internal/user-avatar/user-avatar.js +3 -3
  147. package/dist/charts.js +13 -13
  148. package/dist/chunk-3N6EK6K5.js +57 -0
  149. package/dist/chunk-3N6EK6K5.js.map +1 -0
  150. package/dist/{chunk-77GA5YHQ.js → chunk-43NEBUV3.js} +2 -2
  151. package/dist/{chunk-4WK2RTVY.js → chunk-4FRZDSRD.js} +3 -3
  152. package/dist/{chunk-2EKALM6P.js → chunk-4SXZSSVV.js} +3 -3
  153. package/dist/{chunk-SKZHOWTS.js → chunk-5SYD23V4.js} +4 -4
  154. package/dist/chunk-6D5WEZ2L.js +219 -0
  155. package/dist/chunk-6D5WEZ2L.js.map +1 -0
  156. package/dist/{chunk-7RZ4WOQW.js → chunk-6DXYCXH4.js} +2 -2
  157. package/dist/{chunk-IJIT5HQP.js → chunk-72UYVJBQ.js} +2 -2
  158. package/dist/{chunk-KVN3K4J3.js → chunk-7DFEKTT7.js} +12 -16
  159. package/dist/chunk-7DFEKTT7.js.map +1 -0
  160. package/dist/{chunk-VNEEXUWA.js → chunk-7WL24VNI.js} +4 -4
  161. package/dist/{chunk-J54WH74M.js → chunk-AP4FLCLA.js} +4 -4
  162. package/dist/chunk-B2Y3BABA.js +136 -0
  163. package/dist/chunk-B2Y3BABA.js.map +1 -0
  164. package/dist/{chunk-IE7ISTLQ.js → chunk-B443IIQG.js} +4 -4
  165. package/dist/{chunk-EPNCYUQ7.js → chunk-BPYPUEM5.js} +5 -5
  166. package/dist/{chunk-V662PA6T.js → chunk-BUDXR3EV.js} +5 -5
  167. package/dist/{chunk-EW7ZNSWU.js → chunk-BVZVH3ZN.js} +6 -6
  168. package/dist/{chunk-U7RULTSH.js → chunk-C6XESZ3R.js} +6 -6
  169. package/dist/{chunk-WUPVHIMD.js → chunk-CLNTJM3F.js} +2 -2
  170. package/dist/{chunk-YNQGXSDD.js → chunk-CRNQVWIT.js} +7 -7
  171. package/dist/{chunk-7EESF76V.js → chunk-DLFOEXUP.js} +2 -2
  172. package/dist/{chunk-6YLAVHV4.js → chunk-DTKMBI7B.js} +4 -4
  173. package/dist/{chunk-BBC4KT5G.js → chunk-DZN3JF5E.js} +4 -4
  174. package/dist/{chunk-5ERH4OIK.js → chunk-E27Y7FF2.js} +92 -76
  175. package/dist/chunk-E27Y7FF2.js.map +1 -0
  176. package/dist/{chunk-P5YYVDAD.js → chunk-E5ZHW4I5.js} +4 -4
  177. package/dist/{chunk-OH3YGJT5.js → chunk-EMNGIYH6.js} +5 -5
  178. package/dist/{chunk-UQHJQ26Y.js → chunk-ES2RN7YV.js} +2 -2
  179. package/dist/{chunk-EGRFMPGD.js → chunk-EXJBPKGW.js} +4 -4
  180. package/dist/{chunk-BILE3A7F.js → chunk-FWCUELBU.js} +2 -2
  181. package/dist/{chunk-4R2CDZOQ.js → chunk-GBFGZJB5.js} +4 -4
  182. package/dist/{chunk-67LDIJQZ.js → chunk-GCJLMX63.js} +2 -2
  183. package/dist/{chunk-BLBOYCOV.js → chunk-HKV4MQ2W.js} +5 -5
  184. package/dist/{chunk-L5ZZJ4XE.js → chunk-HKZHEK3Z.js} +2 -2
  185. package/dist/{chunk-IPS55KWK.js → chunk-HP2ODXNA.js} +2 -2
  186. package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
  187. package/dist/{chunk-O6J4CKS5.js → chunk-IIOEQRXX.js} +30 -13
  188. package/dist/chunk-IIOEQRXX.js.map +1 -0
  189. package/dist/{chunk-PUBPZOQJ.js → chunk-IPE5FFFD.js} +2 -2
  190. package/dist/{chunk-C52BELLW.js → chunk-ISSJNFJV.js} +2 -2
  191. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  192. package/dist/{chunk-X24P3ZYW.js → chunk-J4W4TQPC.js} +6 -6
  193. package/dist/chunk-JZT5XP23.js +48 -0
  194. package/dist/chunk-JZT5XP23.js.map +1 -0
  195. package/dist/{chunk-LZRURORY.js → chunk-KADJNWTQ.js} +3 -3
  196. package/dist/{chunk-3AFUWDYS.js → chunk-KKYW3LU7.js} +3 -3
  197. package/dist/{chunk-NHSMLVNC.js → chunk-KSF7TLXH.js} +6 -6
  198. package/dist/{chunk-FP4R47TM.js → chunk-L65LF6LN.js} +2 -2
  199. package/dist/{chunk-FH4VARZ7.js → chunk-L6KEVPXN.js} +7 -7
  200. package/dist/{chunk-X5BHPSAC.js → chunk-LDE4ELB5.js} +7 -7
  201. package/dist/{chunk-NETZMGQP.js → chunk-LIOVN5IM.js} +2 -2
  202. package/dist/{chunk-NBNLGTRB.js → chunk-LLABVZM3.js} +21 -29
  203. package/dist/chunk-LLABVZM3.js.map +1 -0
  204. package/dist/{chunk-OQXOYHIV.js → chunk-M3RIC6JI.js} +4 -4
  205. package/dist/{chunk-MY5VNNSP.js → chunk-MCRIT46W.js} +4 -4
  206. package/dist/{chunk-WO52KYSU.js → chunk-MHFJBNDP.js} +8 -8
  207. package/dist/chunk-MWFSIB6K.js +47 -0
  208. package/dist/chunk-MWFSIB6K.js.map +1 -0
  209. package/dist/chunk-N3QUEBNS.js +32 -0
  210. package/dist/chunk-N3QUEBNS.js.map +1 -0
  211. package/dist/{chunk-WBVHRLIS.js → chunk-N4WANJI3.js} +4 -4
  212. package/dist/chunk-N7MJ6CNC.js +30 -0
  213. package/dist/chunk-N7MJ6CNC.js.map +1 -0
  214. package/dist/{chunk-XKMFIH27.js → chunk-NECUCG2S.js} +14 -14
  215. package/dist/{chunk-IH4CX43Q.js → chunk-NFHS77NE.js} +2 -2
  216. package/dist/{chunk-E67PUPFJ.js → chunk-NQC6H7GY.js} +73 -57
  217. package/dist/chunk-NQC6H7GY.js.map +1 -0
  218. package/dist/{chunk-74KMXBG3.js → chunk-OAXAF4VY.js} +9 -9
  219. package/dist/{chunk-4EJSUL62.js → chunk-OR7UH2ZQ.js} +3 -3
  220. package/dist/{chunk-3ZFORMNT.js → chunk-OZWQNFG6.js} +4 -4
  221. package/dist/{chunk-23FCBIUN.js → chunk-P7FQUGED.js} +8 -8
  222. package/dist/{chunk-PC5FFEIY.js → chunk-PC3ZFERM.js} +2 -2
  223. package/dist/{chunk-XSJWN3WH.js → chunk-PMS3H3OO.js} +10 -10
  224. package/dist/{chunk-CGQI4XE5.js → chunk-PWR7K5OP.js} +16 -16
  225. package/dist/chunk-PWR7K5OP.js.map +1 -0
  226. package/dist/{chunk-KQ74QU55.js → chunk-QJJUTBKZ.js} +2 -2
  227. package/dist/chunk-QKLGH3RZ.js +29 -0
  228. package/dist/chunk-QKLGH3RZ.js.map +1 -0
  229. package/dist/{chunk-VEFDL77X.js → chunk-QZPNQWS2.js} +2 -2
  230. package/dist/{chunk-DWZ7FLA7.js → chunk-RBGOGTT2.js} +4 -4
  231. package/dist/chunk-RKCS6K36.js +48 -0
  232. package/dist/chunk-RKCS6K36.js.map +1 -0
  233. package/dist/{chunk-MZQTHSLN.js → chunk-S7HRED4D.js} +2 -2
  234. package/dist/{chunk-LUMF63BM.js → chunk-SFAP5EH5.js} +4 -4
  235. package/dist/{chunk-ZEBJT5JZ.js → chunk-SG6VULKS.js} +3 -3
  236. package/dist/{chunk-GJQYM3PM.js → chunk-SHQWIDD5.js} +4 -4
  237. package/dist/{chunk-24BUCMQA.js → chunk-SL4NFGOL.js} +4 -4
  238. package/dist/{chunk-PHCSPHDH.js → chunk-SOHDPFOB.js} +2 -2
  239. package/dist/chunk-TLGGVE56.js +37 -0
  240. package/dist/chunk-TLGGVE56.js.map +1 -0
  241. package/dist/{chunk-K2T2CQSZ.js → chunk-UF27D35R.js} +2 -2
  242. package/dist/{chunk-7M5BACFQ.js → chunk-UXQW6ZIN.js} +45 -57
  243. package/dist/chunk-UXQW6ZIN.js.map +1 -0
  244. package/dist/{chunk-A2GGT4OC.js → chunk-V3SBJ3PB.js} +54 -30
  245. package/dist/chunk-V3SBJ3PB.js.map +1 -0
  246. package/dist/chunk-VJK5FBNK.js +46 -0
  247. package/dist/chunk-VJK5FBNK.js.map +1 -0
  248. package/dist/{chunk-B7BZAIHL.js → chunk-VOOPGAQO.js} +2 -2
  249. package/dist/{chunk-GSTRPZS4.js → chunk-WEH5TCPE.js} +8 -8
  250. package/dist/{chunk-MUVJD26L.js → chunk-WPR2HS5B.js} +8 -8
  251. package/dist/{chunk-KT6HWAEN.js → chunk-WZUNBSS7.js} +2 -2
  252. package/dist/{chunk-3JYYPJFD.js → chunk-X2J6MRJW.js} +2 -2
  253. package/dist/{chunk-HEG7JIBM.js → chunk-X5MPHXG5.js} +4 -4
  254. package/dist/{chunk-NFAKRI4S.js → chunk-XELVDPKL.js} +4 -4
  255. package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
  256. package/dist/{chunk-4G3FGCWX.js → chunk-XXJRT6BP.js} +2 -2
  257. package/dist/{chunk-QRX5BYUQ.js → chunk-Y6KPZQPI.js} +4 -4
  258. package/dist/{chunk-KZSKI2R3.js → chunk-YLDS5FOQ.js} +2 -2
  259. package/dist/chunk-YSTHOE66.js +51 -0
  260. package/dist/chunk-YSTHOE66.js.map +1 -0
  261. package/dist/{chunk-NYLXHOMR.js → chunk-Z7JNCB5Q.js} +26 -13
  262. package/dist/chunk-Z7JNCB5Q.js.map +1 -0
  263. package/dist/{chunk-WX7VWW3W.js → chunk-ZBOFBRZC.js} +2 -2
  264. package/dist/{chunk-HSAH5QUQ.js → chunk-ZIOCRSHU.js} +3 -3
  265. package/dist/{chunk-HOJL2GKW.js → chunk-ZOUWHGV3.js} +7 -7
  266. package/dist/{chunk-2ZDTGI5V.js → chunk-ZRFRU545.js} +7 -7
  267. package/dist/data-display/Alert.js +9 -2
  268. package/dist/data-display/AsyncStateContainer.js +12 -5
  269. package/dist/data-display/Badge.js +2 -2
  270. package/dist/data-display/CardKit.js +14 -12
  271. package/dist/data-display/Carousel.js +3 -3
  272. package/dist/data-display/Chart.js +13 -13
  273. package/dist/data-display/DataGrid.js +3 -3
  274. package/dist/data-display/DataViews.js +62 -60
  275. package/dist/data-display/EmptyState.js +4 -1
  276. package/dist/data-display/ErrorState.js +3 -1
  277. package/dist/data-display/HoverCard.js +2 -2
  278. package/dist/data-display/Lightbox.js +6 -6
  279. package/dist/data-display/LoadingState.js +6 -2
  280. package/dist/data-display/MapPreview.js +4 -4
  281. package/dist/data-display/SectionOnboarding.js +5 -2
  282. package/dist/data-display/Sheet.js +2 -2
  283. package/dist/data-display/Table.js +3 -3
  284. package/dist/feedback/ConfirmAction.js +6 -6
  285. package/dist/feedback/TutorialOverlay.js +2 -2
  286. package/dist/form/AddressAutocomplete.js +9 -9
  287. package/dist/form/Button.js +2 -2
  288. package/dist/form/Calendar.js +6 -6
  289. package/dist/form/CategorySelect.js +10 -10
  290. package/dist/form/CepField.js +3 -3
  291. package/dist/form/CodeEditor.js +1 -1
  292. package/dist/form/DateRangePicker.js +9 -9
  293. package/dist/form/Input.js +2 -2
  294. package/dist/form/Menubar.js +2 -2
  295. package/dist/form/RichTextEditor.js +2 -2
  296. package/dist/form/total-form.js +25 -25
  297. package/dist/layout/Container.js +3 -1
  298. package/dist/layout/ContentToolbar.js +3 -3
  299. package/dist/layout/ScrollArea.js +2 -2
  300. package/dist/layout/SettingsLayout.js +6 -6
  301. package/dist/layout/Spacer.js +3 -1
  302. package/dist/native/chunks/chunk-4NK5ZQZ3.js +10 -0
  303. package/dist/native/chunks/chunk-4NK5ZQZ3.js.map +1 -0
  304. package/dist/native/chunks/chunk-5GJ5OG5R.js +36 -0
  305. package/dist/native/chunks/chunk-5GJ5OG5R.js.map +1 -0
  306. package/dist/native/chunks/{chunk-QZ233LRH.js → chunk-EKKNUEA6.js} +2 -2
  307. package/dist/native/chunks/{chunk-L2UUNK2M.js → chunk-P3PL4WBO.js} +2 -1
  308. package/dist/native/chunks/chunk-UKCCYP52.js +318 -0
  309. package/dist/native/chunks/chunk-UKCCYP52.js.map +1 -0
  310. package/dist/native/chunks/chunk-V4DQTC5L.js +24 -0
  311. package/dist/native/chunks/chunk-V4DQTC5L.js.map +1 -0
  312. package/dist/native/chunks/chunk-YQGNMAJN.js +108 -0
  313. package/dist/native/chunks/chunk-YQGNMAJN.js.map +1 -0
  314. package/dist/native/chunks/{chunk-VGBKUL6D.js → chunk-YTHR4Y5P.js} +2 -2
  315. package/dist/native/data-display/Alert.js +372 -0
  316. package/dist/native/data-display/Alert.js.map +1 -0
  317. package/dist/native/data-display/EmptyState.js +293 -0
  318. package/dist/native/data-display/EmptyState.js.map +1 -0
  319. package/dist/native/data-display/ErrorState.js +188 -0
  320. package/dist/native/data-display/ErrorState.js.map +1 -0
  321. package/dist/native/data-display/LoadingState.js +205 -0
  322. package/dist/native/data-display/LoadingState.js.map +1 -0
  323. package/dist/native/form/Button.js +6 -316
  324. package/dist/native/form/Button.js.map +1 -1
  325. package/dist/native/icons.js +10 -99
  326. package/dist/native/icons.js.map +1 -1
  327. package/dist/native/layout/Box.js +3 -3
  328. package/dist/native/layout/Container.js +87 -0
  329. package/dist/native/layout/Container.js.map +1 -0
  330. package/dist/native/layout/Spacer.js +80 -0
  331. package/dist/native/layout/Spacer.js.map +1 -0
  332. package/dist/native/layout/Stack.js +3 -3
  333. package/dist/native/provider.js +2 -2
  334. package/dist/native/tokens.js +1 -1
  335. package/dist/native/typography/Heading.js +110 -0
  336. package/dist/native/typography/Heading.js.map +1 -0
  337. package/dist/native/typography/Paragraph.js +86 -0
  338. package/dist/native/typography/Paragraph.js.map +1 -0
  339. package/dist/native/typography/Text.js +2 -2
  340. package/dist/navigation/AppHeader.js +9 -9
  341. package/dist/navigation/NavigationMenu.js +2 -2
  342. package/dist/navigation/Pagination.js +2 -2
  343. package/dist/navigation/Tabs.js +2 -2
  344. package/dist/social-login-button.js +6 -5
  345. package/dist/types/components/data-display/Alert/Alert.base.d.ts +92 -0
  346. package/dist/types/components/data-display/Alert/Alert.base.d.ts.map +1 -0
  347. package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
  348. package/dist/types/components/data-display/Alert/Alert.helpers.d.ts +23 -0
  349. package/dist/types/components/data-display/Alert/Alert.helpers.d.ts.map +1 -0
  350. package/dist/types/components/data-display/Alert/Alert.metrics.d.ts +181 -0
  351. package/dist/types/components/data-display/Alert/Alert.metrics.d.ts.map +1 -0
  352. package/dist/types/components/data-display/Alert/Alert.styles.d.ts +3 -10
  353. package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
  354. package/dist/types/components/data-display/Alert/Alert.types.d.ts +5 -79
  355. package/dist/types/components/data-display/Alert/Alert.types.d.ts.map +1 -1
  356. package/dist/types/components/data-display/Alert/index.d.ts +1 -1
  357. package/dist/types/components/data-display/Alert/index.d.ts.map +1 -1
  358. package/dist/types/components/data-display/EmptyState/EmptyState.base.d.ts +51 -0
  359. package/dist/types/components/data-display/EmptyState/EmptyState.base.d.ts.map +1 -0
  360. package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
  361. package/dist/types/components/data-display/EmptyState/EmptyState.helpers.d.ts +13 -0
  362. package/dist/types/components/data-display/EmptyState/EmptyState.helpers.d.ts.map +1 -0
  363. package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts +57 -0
  364. package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -0
  365. package/dist/types/components/data-display/EmptyState/EmptyState.types.d.ts +3 -39
  366. package/dist/types/components/data-display/EmptyState/EmptyState.types.d.ts.map +1 -1
  367. package/dist/types/components/data-display/EmptyState/index.d.ts +1 -1
  368. package/dist/types/components/data-display/EmptyState/index.d.ts.map +1 -1
  369. package/dist/types/components/data-display/ErrorState/ErrorState.base.d.ts +43 -0
  370. package/dist/types/components/data-display/ErrorState/ErrorState.base.d.ts.map +1 -0
  371. package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
  372. package/dist/types/components/data-display/ErrorState/ErrorState.metrics.d.ts +37 -0
  373. package/dist/types/components/data-display/ErrorState/ErrorState.metrics.d.ts.map +1 -0
  374. package/dist/types/components/data-display/ErrorState/ErrorState.types.d.ts +3 -32
  375. package/dist/types/components/data-display/ErrorState/ErrorState.types.d.ts.map +1 -1
  376. package/dist/types/components/data-display/ErrorState/index.d.ts +1 -1
  377. package/dist/types/components/data-display/ErrorState/index.d.ts.map +1 -1
  378. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +37 -0
  379. package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -0
  380. package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
  381. package/dist/types/components/data-display/LoadingState/LoadingState.helpers.d.ts +12 -6
  382. package/dist/types/components/data-display/LoadingState/LoadingState.helpers.d.ts.map +1 -1
  383. package/dist/types/components/data-display/LoadingState/LoadingState.metrics.d.ts +43 -0
  384. package/dist/types/components/data-display/LoadingState/LoadingState.metrics.d.ts.map +1 -0
  385. package/dist/types/components/data-display/LoadingState/LoadingState.types.d.ts +3 -27
  386. package/dist/types/components/data-display/LoadingState/LoadingState.types.d.ts.map +1 -1
  387. package/dist/types/components/data-display/LoadingState/index.d.ts +1 -1
  388. package/dist/types/components/data-display/LoadingState/index.d.ts.map +1 -1
  389. package/dist/types/components/layout/Container/Container.base.d.ts +31 -0
  390. package/dist/types/components/layout/Container/Container.base.d.ts.map +1 -0
  391. package/dist/types/components/layout/Container/Container.d.ts.map +1 -1
  392. package/dist/types/components/layout/Container/Container.metrics.d.ts +51 -0
  393. package/dist/types/components/layout/Container/Container.metrics.d.ts.map +1 -0
  394. package/dist/types/components/layout/Container/Container.types.d.ts +4 -8
  395. package/dist/types/components/layout/Container/Container.types.d.ts.map +1 -1
  396. package/dist/types/components/layout/Container/index.d.ts +1 -1
  397. package/dist/types/components/layout/Container/index.d.ts.map +1 -1
  398. package/dist/types/components/layout/Spacer/Spacer.base.d.ts +30 -0
  399. package/dist/types/components/layout/Spacer/Spacer.base.d.ts.map +1 -0
  400. package/dist/types/components/layout/Spacer/Spacer.d.ts.map +1 -1
  401. package/dist/types/components/layout/Spacer/Spacer.metrics.d.ts +36 -0
  402. package/dist/types/components/layout/Spacer/Spacer.metrics.d.ts.map +1 -0
  403. package/dist/types/components/layout/Spacer/Spacer.types.d.ts +4 -9
  404. package/dist/types/components/layout/Spacer/Spacer.types.d.ts.map +1 -1
  405. package/dist/types/components/layout/Spacer/index.d.ts +1 -1
  406. package/dist/types/components/layout/Spacer/index.d.ts.map +1 -1
  407. package/dist/types/components/typography/Heading/Heading.base.d.ts +52 -0
  408. package/dist/types/components/typography/Heading/Heading.base.d.ts.map +1 -0
  409. package/dist/types/components/typography/Heading/Heading.d.ts +9 -6
  410. package/dist/types/components/typography/Heading/Heading.d.ts.map +1 -1
  411. package/dist/types/components/typography/Heading/Heading.metrics.d.ts +52 -0
  412. package/dist/types/components/typography/Heading/Heading.metrics.d.ts.map +1 -0
  413. package/dist/types/components/typography/Heading/Heading.styles.d.ts.map +1 -1
  414. package/dist/types/components/typography/Heading/Heading.types.d.ts +8 -38
  415. package/dist/types/components/typography/Heading/Heading.types.d.ts.map +1 -1
  416. package/dist/types/components/typography/Heading/index.d.ts +1 -1
  417. package/dist/types/components/typography/Heading/index.d.ts.map +1 -1
  418. package/dist/types/components/typography/Paragraph/Paragraph.base.d.ts +23 -0
  419. package/dist/types/components/typography/Paragraph/Paragraph.base.d.ts.map +1 -0
  420. package/dist/types/components/typography/Paragraph/Paragraph.d.ts.map +1 -1
  421. package/dist/types/components/typography/Paragraph/Paragraph.metrics.d.ts +30 -0
  422. package/dist/types/components/typography/Paragraph/Paragraph.metrics.d.ts.map +1 -0
  423. package/dist/types/components/typography/Paragraph/Paragraph.types.d.ts +4 -7
  424. package/dist/types/components/typography/Paragraph/Paragraph.types.d.ts.map +1 -1
  425. package/dist/types/components/typography/Paragraph/index.d.ts +1 -1
  426. package/dist/types/components/typography/Paragraph/index.d.ts.map +1 -1
  427. package/dist/types/platform/aria.d.ts +29 -0
  428. package/dist/types/platform/aria.d.ts.map +1 -0
  429. package/dist/types/platform/text-children.d.ts +6 -0
  430. package/dist/types/platform/text-children.d.ts.map +1 -0
  431. package/dist/types/tokens/mui-type.d.ts +42 -0
  432. package/dist/types/tokens/mui-type.d.ts.map +1 -0
  433. package/dist/types-native/components/data-display/Alert/Alert.base.d.ts +92 -0
  434. package/dist/types-native/components/data-display/Alert/Alert.base.d.ts.map +1 -0
  435. package/dist/types-native/components/data-display/Alert/Alert.helpers.d.ts +23 -0
  436. package/dist/types-native/components/data-display/Alert/Alert.helpers.d.ts.map +1 -0
  437. package/dist/types-native/components/data-display/Alert/Alert.look.native.d.ts +46 -0
  438. package/dist/types-native/components/data-display/Alert/Alert.look.native.d.ts.map +1 -0
  439. package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts +181 -0
  440. package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts.map +1 -0
  441. package/dist/types-native/components/data-display/Alert/Alert.native.d.ts +5 -0
  442. package/dist/types-native/components/data-display/Alert/Alert.native.d.ts.map +1 -0
  443. package/dist/types-native/components/data-display/Alert/Alert.types.native.d.ts +8 -0
  444. package/dist/types-native/components/data-display/Alert/Alert.types.native.d.ts.map +1 -0
  445. package/dist/types-native/components/data-display/Alert/index.native.d.ts +3 -0
  446. package/dist/types-native/components/data-display/Alert/index.native.d.ts.map +1 -0
  447. package/dist/types-native/components/data-display/EmptyState/EmptyState.base.d.ts +51 -0
  448. package/dist/types-native/components/data-display/EmptyState/EmptyState.base.d.ts.map +1 -0
  449. package/dist/types-native/components/data-display/EmptyState/EmptyState.helpers.d.ts +13 -0
  450. package/dist/types-native/components/data-display/EmptyState/EmptyState.helpers.d.ts.map +1 -0
  451. package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts +57 -0
  452. package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -0
  453. package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts +22 -0
  454. package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -0
  455. package/dist/types-native/components/data-display/EmptyState/EmptyState.types.native.d.ts +8 -0
  456. package/dist/types-native/components/data-display/EmptyState/EmptyState.types.native.d.ts.map +1 -0
  457. package/dist/types-native/components/data-display/EmptyState/index.native.d.ts +3 -0
  458. package/dist/types-native/components/data-display/EmptyState/index.native.d.ts.map +1 -0
  459. package/dist/types-native/components/data-display/ErrorState/ErrorState.base.d.ts +43 -0
  460. package/dist/types-native/components/data-display/ErrorState/ErrorState.base.d.ts.map +1 -0
  461. package/dist/types-native/components/data-display/ErrorState/ErrorState.metrics.d.ts +37 -0
  462. package/dist/types-native/components/data-display/ErrorState/ErrorState.metrics.d.ts.map +1 -0
  463. package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts +14 -0
  464. package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -0
  465. package/dist/types-native/components/data-display/ErrorState/ErrorState.types.native.d.ts +8 -0
  466. package/dist/types-native/components/data-display/ErrorState/ErrorState.types.native.d.ts.map +1 -0
  467. package/dist/types-native/components/data-display/ErrorState/index.native.d.ts +3 -0
  468. package/dist/types-native/components/data-display/ErrorState/index.native.d.ts.map +1 -0
  469. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +37 -0
  470. package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -0
  471. package/dist/types-native/components/data-display/LoadingState/LoadingState.helpers.d.ts +27 -0
  472. package/dist/types-native/components/data-display/LoadingState/LoadingState.helpers.d.ts.map +1 -0
  473. package/dist/types-native/components/data-display/LoadingState/LoadingState.metrics.d.ts +43 -0
  474. package/dist/types-native/components/data-display/LoadingState/LoadingState.metrics.d.ts.map +1 -0
  475. package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts +10 -0
  476. package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -0
  477. package/dist/types-native/components/data-display/LoadingState/LoadingState.types.native.d.ts +8 -0
  478. package/dist/types-native/components/data-display/LoadingState/LoadingState.types.native.d.ts.map +1 -0
  479. package/dist/types-native/components/data-display/LoadingState/index.native.d.ts +3 -0
  480. package/dist/types-native/components/data-display/LoadingState/index.native.d.ts.map +1 -0
  481. package/dist/types-native/components/form/Button/Button.native.d.ts +1 -1
  482. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
  483. package/dist/types-native/components/layout/Container/Container.base.d.ts +31 -0
  484. package/dist/types-native/components/layout/Container/Container.base.d.ts.map +1 -0
  485. package/dist/types-native/components/layout/Container/Container.metrics.d.ts +51 -0
  486. package/dist/types-native/components/layout/Container/Container.metrics.d.ts.map +1 -0
  487. package/dist/types-native/components/layout/Container/Container.native.d.ts +30 -0
  488. package/dist/types-native/components/layout/Container/Container.native.d.ts.map +1 -0
  489. package/dist/types-native/components/layout/Container/Container.types.native.d.ts +8 -0
  490. package/dist/types-native/components/layout/Container/Container.types.native.d.ts.map +1 -0
  491. package/dist/types-native/components/layout/Container/index.native.d.ts +3 -0
  492. package/dist/types-native/components/layout/Container/index.native.d.ts.map +1 -0
  493. package/dist/types-native/components/layout/Spacer/Spacer.base.d.ts +30 -0
  494. package/dist/types-native/components/layout/Spacer/Spacer.base.d.ts.map +1 -0
  495. package/dist/types-native/components/layout/Spacer/Spacer.metrics.d.ts +36 -0
  496. package/dist/types-native/components/layout/Spacer/Spacer.metrics.d.ts.map +1 -0
  497. package/dist/types-native/components/layout/Spacer/Spacer.native.d.ts +21 -0
  498. package/dist/types-native/components/layout/Spacer/Spacer.native.d.ts.map +1 -0
  499. package/dist/types-native/components/layout/Spacer/Spacer.types.native.d.ts +8 -0
  500. package/dist/types-native/components/layout/Spacer/Spacer.types.native.d.ts.map +1 -0
  501. package/dist/types-native/components/layout/Spacer/index.native.d.ts +3 -0
  502. package/dist/types-native/components/layout/Spacer/index.native.d.ts.map +1 -0
  503. package/dist/types-native/components/typography/Heading/Heading.base.d.ts +52 -0
  504. package/dist/types-native/components/typography/Heading/Heading.base.d.ts.map +1 -0
  505. package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts +52 -0
  506. package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts.map +1 -0
  507. package/dist/types-native/components/typography/Heading/Heading.native.d.ts +30 -0
  508. package/dist/types-native/components/typography/Heading/Heading.native.d.ts.map +1 -0
  509. package/dist/types-native/components/typography/Heading/Heading.types.native.d.ts +14 -0
  510. package/dist/types-native/components/typography/Heading/Heading.types.native.d.ts.map +1 -0
  511. package/dist/types-native/components/typography/Heading/index.native.d.ts +3 -0
  512. package/dist/types-native/components/typography/Heading/index.native.d.ts.map +1 -0
  513. package/dist/types-native/components/typography/Paragraph/Paragraph.base.d.ts +23 -0
  514. package/dist/types-native/components/typography/Paragraph/Paragraph.base.d.ts.map +1 -0
  515. package/dist/types-native/components/typography/Paragraph/Paragraph.metrics.d.ts +30 -0
  516. package/dist/types-native/components/typography/Paragraph/Paragraph.metrics.d.ts.map +1 -0
  517. package/dist/types-native/components/typography/Paragraph/Paragraph.native.d.ts +23 -0
  518. package/dist/types-native/components/typography/Paragraph/Paragraph.native.d.ts.map +1 -0
  519. package/dist/types-native/components/typography/Paragraph/Paragraph.types.native.d.ts +14 -0
  520. package/dist/types-native/components/typography/Paragraph/Paragraph.types.native.d.ts.map +1 -0
  521. package/dist/types-native/components/typography/Paragraph/index.native.d.ts +3 -0
  522. package/dist/types-native/components/typography/Paragraph/index.native.d.ts.map +1 -0
  523. package/dist/types-native/platform/aria.d.ts +29 -0
  524. package/dist/types-native/platform/aria.d.ts.map +1 -0
  525. package/dist/types-native/platform/text-children.d.ts +6 -0
  526. package/dist/types-native/platform/text-children.d.ts.map +1 -0
  527. package/dist/types-native/tokens/mui-type.d.ts +42 -0
  528. package/dist/types-native/tokens/mui-type.d.ts.map +1 -0
  529. package/dist/typography/Heading.js +7 -2
  530. package/dist/typography/Paragraph.js +7 -1
  531. package/dist/user-avatar.js +3 -3
  532. package/dist/utility/InstallPrompt.js +1 -1
  533. package/package.json +33 -1
  534. package/src/components/data-display/Alert/Alert.base.ts +105 -0
  535. package/src/components/data-display/Alert/Alert.helpers.ts +54 -0
  536. package/src/components/data-display/Alert/Alert.look.native.ts +131 -0
  537. package/src/components/data-display/Alert/Alert.metrics.ts +166 -0
  538. package/src/components/data-display/Alert/Alert.native.tsx +239 -0
  539. package/src/components/data-display/Alert/Alert.styles.tsx +162 -134
  540. package/src/components/data-display/Alert/Alert.tsx +136 -121
  541. package/src/components/data-display/Alert/Alert.types.native.ts +12 -0
  542. package/src/components/data-display/Alert/Alert.types.ts +7 -85
  543. package/src/components/data-display/Alert/NATIVE-NOTES.md +10 -0
  544. package/src/components/data-display/Alert/index.native.ts +2 -0
  545. package/src/components/data-display/Alert/index.ts +1 -1
  546. package/src/components/data-display/EmptyState/EmptyState.base.ts +54 -0
  547. package/src/components/data-display/EmptyState/EmptyState.helpers.ts +66 -0
  548. package/src/components/data-display/EmptyState/EmptyState.metrics.ts +54 -0
  549. package/src/components/data-display/EmptyState/EmptyState.native.tsx +277 -0
  550. package/src/components/data-display/EmptyState/EmptyState.tsx +42 -79
  551. package/src/components/data-display/EmptyState/EmptyState.types.native.ts +16 -0
  552. package/src/components/data-display/EmptyState/EmptyState.types.ts +11 -30
  553. package/src/components/data-display/EmptyState/NATIVE-NOTES.md +7 -0
  554. package/src/components/data-display/EmptyState/index.native.ts +8 -0
  555. package/src/components/data-display/EmptyState/index.ts +7 -1
  556. package/src/components/data-display/ErrorState/ErrorState.base.ts +51 -0
  557. package/src/components/data-display/ErrorState/ErrorState.metrics.ts +44 -0
  558. package/src/components/data-display/ErrorState/ErrorState.native.tsx +193 -0
  559. package/src/components/data-display/ErrorState/ErrorState.tsx +68 -53
  560. package/src/components/data-display/ErrorState/ErrorState.types.native.ts +11 -0
  561. package/src/components/data-display/ErrorState/ErrorState.types.ts +3 -38
  562. package/src/components/data-display/ErrorState/NATIVE-NOTES.md +6 -0
  563. package/src/components/data-display/ErrorState/index.native.ts +2 -0
  564. package/src/components/data-display/ErrorState/index.ts +1 -1
  565. package/src/components/data-display/LoadingState/LoadingState.base.ts +43 -0
  566. package/src/components/data-display/LoadingState/LoadingState.helpers.ts +27 -28
  567. package/src/components/data-display/LoadingState/LoadingState.metrics.ts +67 -0
  568. package/src/components/data-display/LoadingState/LoadingState.native.tsx +175 -0
  569. package/src/components/data-display/LoadingState/LoadingState.tsx +25 -11
  570. package/src/components/data-display/LoadingState/LoadingState.types.native.ts +11 -0
  571. package/src/components/data-display/LoadingState/LoadingState.types.ts +3 -31
  572. package/src/components/data-display/LoadingState/NATIVE-NOTES.md +7 -0
  573. package/src/components/data-display/LoadingState/index.native.ts +7 -0
  574. package/src/components/data-display/LoadingState/index.ts +6 -1
  575. package/src/components/form/Button/Button.native.tsx +2 -18
  576. package/src/components/layout/Container/Container.base.ts +32 -0
  577. package/src/components/layout/Container/Container.md +14 -0
  578. package/src/components/layout/Container/Container.metrics.ts +87 -0
  579. package/src/components/layout/Container/Container.native.tsx +71 -0
  580. package/src/components/layout/Container/Container.tsx +21 -30
  581. package/src/components/layout/Container/Container.types.native.ts +11 -0
  582. package/src/components/layout/Container/Container.types.ts +8 -9
  583. package/src/components/layout/Container/NATIVE-NOTES.md +5 -0
  584. package/src/components/layout/Container/index.native.ts +8 -0
  585. package/src/components/layout/Container/index.ts +7 -1
  586. package/src/components/layout/Spacer/Spacer.base.ts +32 -0
  587. package/src/components/layout/Spacer/Spacer.md +13 -1
  588. package/src/components/layout/Spacer/Spacer.metrics.ts +55 -0
  589. package/src/components/layout/Spacer/Spacer.native.tsx +68 -0
  590. package/src/components/layout/Spacer/Spacer.tsx +11 -41
  591. package/src/components/layout/Spacer/Spacer.types.native.ts +11 -0
  592. package/src/components/layout/Spacer/Spacer.types.ts +5 -9
  593. package/src/components/layout/Spacer/index.native.ts +2 -0
  594. package/src/components/layout/Spacer/index.ts +1 -1
  595. package/src/components/typography/Heading/Heading.base.ts +55 -0
  596. package/src/components/typography/Heading/Heading.md +13 -0
  597. package/src/components/typography/Heading/Heading.metrics.ts +84 -0
  598. package/src/components/typography/Heading/Heading.native.tsx +105 -0
  599. package/src/components/typography/Heading/Heading.styles.ts +19 -21
  600. package/src/components/typography/Heading/Heading.tsx +26 -23
  601. package/src/components/typography/Heading/Heading.types.native.ts +17 -0
  602. package/src/components/typography/Heading/Heading.types.ts +11 -39
  603. package/src/components/typography/Heading/NATIVE-NOTES.md +3 -0
  604. package/src/components/typography/Heading/index.native.ts +2 -0
  605. package/src/components/typography/Heading/index.ts +1 -1
  606. package/src/components/typography/Paragraph/Paragraph.base.ts +25 -0
  607. package/src/components/typography/Paragraph/Paragraph.md +11 -0
  608. package/src/components/typography/Paragraph/Paragraph.metrics.ts +41 -0
  609. package/src/components/typography/Paragraph/Paragraph.native.tsx +100 -0
  610. package/src/components/typography/Paragraph/Paragraph.tsx +53 -30
  611. package/src/components/typography/Paragraph/Paragraph.types.native.ts +17 -0
  612. package/src/components/typography/Paragraph/Paragraph.types.ts +7 -8
  613. package/src/components/typography/Paragraph/index.native.ts +2 -0
  614. package/src/components/typography/Paragraph/index.ts +1 -1
  615. package/src/platform/aria.ts +32 -0
  616. package/src/platform/text-children.tsx +68 -0
  617. package/src/tokens/mui-type.ts +64 -0
  618. package/dist/chunk-5ERH4OIK.js.map +0 -1
  619. package/dist/chunk-7M5BACFQ.js.map +0 -1
  620. package/dist/chunk-A2GGT4OC.js.map +0 -1
  621. package/dist/chunk-C6AZDXEE.js +0 -207
  622. package/dist/chunk-C6AZDXEE.js.map +0 -1
  623. package/dist/chunk-CGQI4XE5.js.map +0 -1
  624. package/dist/chunk-DTO7GKLA.js +0 -65
  625. package/dist/chunk-DTO7GKLA.js.map +0 -1
  626. package/dist/chunk-E67PUPFJ.js.map +0 -1
  627. package/dist/chunk-KVN3K4J3.js.map +0 -1
  628. package/dist/chunk-NBNLGTRB.js.map +0 -1
  629. package/dist/chunk-NYLXHOMR.js.map +0 -1
  630. package/dist/chunk-O6J4CKS5.js.map +0 -1
  631. /package/dist/{chunk-77GA5YHQ.js.map → chunk-43NEBUV3.js.map} +0 -0
  632. /package/dist/{chunk-4WK2RTVY.js.map → chunk-4FRZDSRD.js.map} +0 -0
  633. /package/dist/{chunk-2EKALM6P.js.map → chunk-4SXZSSVV.js.map} +0 -0
  634. /package/dist/{chunk-SKZHOWTS.js.map → chunk-5SYD23V4.js.map} +0 -0
  635. /package/dist/{chunk-7RZ4WOQW.js.map → chunk-6DXYCXH4.js.map} +0 -0
  636. /package/dist/{chunk-IJIT5HQP.js.map → chunk-72UYVJBQ.js.map} +0 -0
  637. /package/dist/{chunk-VNEEXUWA.js.map → chunk-7WL24VNI.js.map} +0 -0
  638. /package/dist/{chunk-J54WH74M.js.map → chunk-AP4FLCLA.js.map} +0 -0
  639. /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
  640. /package/dist/{chunk-EPNCYUQ7.js.map → chunk-BPYPUEM5.js.map} +0 -0
  641. /package/dist/{chunk-V662PA6T.js.map → chunk-BUDXR3EV.js.map} +0 -0
  642. /package/dist/{chunk-EW7ZNSWU.js.map → chunk-BVZVH3ZN.js.map} +0 -0
  643. /package/dist/{chunk-U7RULTSH.js.map → chunk-C6XESZ3R.js.map} +0 -0
  644. /package/dist/{chunk-WUPVHIMD.js.map → chunk-CLNTJM3F.js.map} +0 -0
  645. /package/dist/{chunk-YNQGXSDD.js.map → chunk-CRNQVWIT.js.map} +0 -0
  646. /package/dist/{chunk-7EESF76V.js.map → chunk-DLFOEXUP.js.map} +0 -0
  647. /package/dist/{chunk-6YLAVHV4.js.map → chunk-DTKMBI7B.js.map} +0 -0
  648. /package/dist/{chunk-BBC4KT5G.js.map → chunk-DZN3JF5E.js.map} +0 -0
  649. /package/dist/{chunk-P5YYVDAD.js.map → chunk-E5ZHW4I5.js.map} +0 -0
  650. /package/dist/{chunk-OH3YGJT5.js.map → chunk-EMNGIYH6.js.map} +0 -0
  651. /package/dist/{chunk-UQHJQ26Y.js.map → chunk-ES2RN7YV.js.map} +0 -0
  652. /package/dist/{chunk-EGRFMPGD.js.map → chunk-EXJBPKGW.js.map} +0 -0
  653. /package/dist/{chunk-BILE3A7F.js.map → chunk-FWCUELBU.js.map} +0 -0
  654. /package/dist/{chunk-4R2CDZOQ.js.map → chunk-GBFGZJB5.js.map} +0 -0
  655. /package/dist/{chunk-67LDIJQZ.js.map → chunk-GCJLMX63.js.map} +0 -0
  656. /package/dist/{chunk-BLBOYCOV.js.map → chunk-HKV4MQ2W.js.map} +0 -0
  657. /package/dist/{chunk-L5ZZJ4XE.js.map → chunk-HKZHEK3Z.js.map} +0 -0
  658. /package/dist/{chunk-IPS55KWK.js.map → chunk-HP2ODXNA.js.map} +0 -0
  659. /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
  660. /package/dist/{chunk-PUBPZOQJ.js.map → chunk-IPE5FFFD.js.map} +0 -0
  661. /package/dist/{chunk-C52BELLW.js.map → chunk-ISSJNFJV.js.map} +0 -0
  662. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  663. /package/dist/{chunk-X24P3ZYW.js.map → chunk-J4W4TQPC.js.map} +0 -0
  664. /package/dist/{chunk-LZRURORY.js.map → chunk-KADJNWTQ.js.map} +0 -0
  665. /package/dist/{chunk-3AFUWDYS.js.map → chunk-KKYW3LU7.js.map} +0 -0
  666. /package/dist/{chunk-NHSMLVNC.js.map → chunk-KSF7TLXH.js.map} +0 -0
  667. /package/dist/{chunk-FP4R47TM.js.map → chunk-L65LF6LN.js.map} +0 -0
  668. /package/dist/{chunk-FH4VARZ7.js.map → chunk-L6KEVPXN.js.map} +0 -0
  669. /package/dist/{chunk-X5BHPSAC.js.map → chunk-LDE4ELB5.js.map} +0 -0
  670. /package/dist/{chunk-NETZMGQP.js.map → chunk-LIOVN5IM.js.map} +0 -0
  671. /package/dist/{chunk-OQXOYHIV.js.map → chunk-M3RIC6JI.js.map} +0 -0
  672. /package/dist/{chunk-MY5VNNSP.js.map → chunk-MCRIT46W.js.map} +0 -0
  673. /package/dist/{chunk-WO52KYSU.js.map → chunk-MHFJBNDP.js.map} +0 -0
  674. /package/dist/{chunk-WBVHRLIS.js.map → chunk-N4WANJI3.js.map} +0 -0
  675. /package/dist/{chunk-XKMFIH27.js.map → chunk-NECUCG2S.js.map} +0 -0
  676. /package/dist/{chunk-IH4CX43Q.js.map → chunk-NFHS77NE.js.map} +0 -0
  677. /package/dist/{chunk-74KMXBG3.js.map → chunk-OAXAF4VY.js.map} +0 -0
  678. /package/dist/{chunk-4EJSUL62.js.map → chunk-OR7UH2ZQ.js.map} +0 -0
  679. /package/dist/{chunk-3ZFORMNT.js.map → chunk-OZWQNFG6.js.map} +0 -0
  680. /package/dist/{chunk-23FCBIUN.js.map → chunk-P7FQUGED.js.map} +0 -0
  681. /package/dist/{chunk-PC5FFEIY.js.map → chunk-PC3ZFERM.js.map} +0 -0
  682. /package/dist/{chunk-XSJWN3WH.js.map → chunk-PMS3H3OO.js.map} +0 -0
  683. /package/dist/{chunk-KQ74QU55.js.map → chunk-QJJUTBKZ.js.map} +0 -0
  684. /package/dist/{chunk-VEFDL77X.js.map → chunk-QZPNQWS2.js.map} +0 -0
  685. /package/dist/{chunk-DWZ7FLA7.js.map → chunk-RBGOGTT2.js.map} +0 -0
  686. /package/dist/{chunk-MZQTHSLN.js.map → chunk-S7HRED4D.js.map} +0 -0
  687. /package/dist/{chunk-LUMF63BM.js.map → chunk-SFAP5EH5.js.map} +0 -0
  688. /package/dist/{chunk-ZEBJT5JZ.js.map → chunk-SG6VULKS.js.map} +0 -0
  689. /package/dist/{chunk-GJQYM3PM.js.map → chunk-SHQWIDD5.js.map} +0 -0
  690. /package/dist/{chunk-24BUCMQA.js.map → chunk-SL4NFGOL.js.map} +0 -0
  691. /package/dist/{chunk-PHCSPHDH.js.map → chunk-SOHDPFOB.js.map} +0 -0
  692. /package/dist/{chunk-K2T2CQSZ.js.map → chunk-UF27D35R.js.map} +0 -0
  693. /package/dist/{chunk-B7BZAIHL.js.map → chunk-VOOPGAQO.js.map} +0 -0
  694. /package/dist/{chunk-GSTRPZS4.js.map → chunk-WEH5TCPE.js.map} +0 -0
  695. /package/dist/{chunk-MUVJD26L.js.map → chunk-WPR2HS5B.js.map} +0 -0
  696. /package/dist/{chunk-KT6HWAEN.js.map → chunk-WZUNBSS7.js.map} +0 -0
  697. /package/dist/{chunk-3JYYPJFD.js.map → chunk-X2J6MRJW.js.map} +0 -0
  698. /package/dist/{chunk-HEG7JIBM.js.map → chunk-X5MPHXG5.js.map} +0 -0
  699. /package/dist/{chunk-NFAKRI4S.js.map → chunk-XELVDPKL.js.map} +0 -0
  700. /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
  701. /package/dist/{chunk-4G3FGCWX.js.map → chunk-XXJRT6BP.js.map} +0 -0
  702. /package/dist/{chunk-QRX5BYUQ.js.map → chunk-Y6KPZQPI.js.map} +0 -0
  703. /package/dist/{chunk-KZSKI2R3.js.map → chunk-YLDS5FOQ.js.map} +0 -0
  704. /package/dist/{chunk-WX7VWW3W.js.map → chunk-ZBOFBRZC.js.map} +0 -0
  705. /package/dist/{chunk-HSAH5QUQ.js.map → chunk-ZIOCRSHU.js.map} +0 -0
  706. /package/dist/{chunk-HOJL2GKW.js.map → chunk-ZOUWHGV3.js.map} +0 -0
  707. /package/dist/{chunk-2ZDTGI5V.js.map → chunk-ZRFRU545.js.map} +0 -0
  708. /package/dist/native/chunks/{chunk-QZ233LRH.js.map → chunk-EKKNUEA6.js.map} +0 -0
  709. /package/dist/native/chunks/{chunk-L2UUNK2M.js.map → chunk-P3PL4WBO.js.map} +0 -0
  710. /package/dist/native/chunks/{chunk-VGBKUL6D.js.map → chunk-YTHR4Y5P.js.map} +0 -0
@@ -0,0 +1,205 @@
1
+ import {
2
+ muiTypeStyle
3
+ } from "../chunks/chunk-V4DQTC5L.js";
4
+ import {
5
+ SIZE_VALUES
6
+ } from "../chunks/chunk-5WLOVHKK.js";
7
+ import {
8
+ resolveTestId,
9
+ withoutTestIdProps
10
+ } from "../chunks/chunk-M4DTJDWU.js";
11
+ import {
12
+ useUiTheme
13
+ } from "../chunks/chunk-YTHR4Y5P.js";
14
+ import {
15
+ alpha
16
+ } from "../chunks/chunk-P3PL4WBO.js";
17
+
18
+ // src/components/data-display/LoadingState/LoadingState.native.tsx
19
+ import * as React from "react";
20
+ import {
21
+ ActivityIndicator,
22
+ Platform,
23
+ StyleSheet,
24
+ Text as RNText,
25
+ View
26
+ } from "react-native";
27
+
28
+ // src/components/data-display/LoadingState/LoadingState.metrics.ts
29
+ var SPINNER_SIZES = {
30
+ xs: 16,
31
+ sm: 24,
32
+ md: 40,
33
+ lg: 56,
34
+ xl: 64
35
+ };
36
+ var MESSAGE_TYPE = {
37
+ xs: "body2",
38
+ sm: "body2",
39
+ md: "body1",
40
+ lg: "h6",
41
+ xl: "h6"
42
+ };
43
+ var SKELETON_ROW_HEIGHT = {
44
+ xs: 14,
45
+ sm: 20,
46
+ md: 28,
47
+ lg: 36,
48
+ xl: 44
49
+ };
50
+ var SPINNER_PADDING_UNITS = 6;
51
+ var SPINNER_MIN_HEIGHT = 200;
52
+ var SPINNER_GAP_UNITS = 2;
53
+ var SKELETON_PADDING_UNITS = 3;
54
+ var SKELETON_ROW_GAP_UNITS = 2;
55
+ var SKELETON_MESSAGE_MARGIN_TOP_UNITS = 2;
56
+ var SKELETON_RADIUS = 4;
57
+ var SKELETON_LAST_ROW_WIDTH = "60%";
58
+ var SKELETON_FULL_ROW_WIDTH = "100%";
59
+ var SKELETON_TINT_ALPHA = 0.13;
60
+ var IOS_LARGE_SPINNER_FROM = 40;
61
+
62
+ // src/components/data-display/LoadingState/LoadingState.helpers.ts
63
+ var SIZE_MAP = Object.fromEntries(
64
+ SIZE_VALUES.map((size) => [size, { spinner: SPINNER_SIZES[size], text: MESSAGE_TYPE[size] }])
65
+ );
66
+ var LOADING_STATE_DEFAULTS = {
67
+ variant: "spinner",
68
+ size: "md",
69
+ skeletonRows: 3
70
+ };
71
+ var definedProps = (props) => Object.fromEntries(
72
+ Object.entries(props).filter(([, value]) => value !== void 0)
73
+ );
74
+ var resolveLoadingStateProps = (props) => ({ ...LOADING_STATE_DEFAULTS, ...definedProps(props) });
75
+ var makeTestIds = (dataTestId) => ({
76
+ base: dataTestId || "loading-state",
77
+ optional: (suffix) => dataTestId ? `${dataTestId}-${suffix}` : void 0,
78
+ named: (suffix) => dataTestId ? `${dataTestId}-${suffix}` : `loading-state-${suffix}`
79
+ });
80
+
81
+ // src/components/data-display/LoadingState/LoadingState.native.tsx
82
+ import { jsx, jsxs } from "react/jsx-runtime";
83
+ function messageStyle(theme, size) {
84
+ return { ...muiTypeStyle(theme, MESSAGE_TYPE[size]), color: theme.palette.text.secondary };
85
+ }
86
+ var skeletonTint = (theme) => alpha(theme.palette.text.primary, SKELETON_TINT_ALPHA);
87
+ function spinnerSize(px) {
88
+ if (Platform.OS !== "ios") return px;
89
+ return px >= IOS_LARGE_SPINNER_FROM ? "large" : "small";
90
+ }
91
+ function LoadingMessage({
92
+ message,
93
+ size,
94
+ testIds,
95
+ style
96
+ }) {
97
+ const theme = useUiTheme();
98
+ if (!message) return null;
99
+ return /* @__PURE__ */ jsx(RNText, { style: [messageStyle(theme, size), style], testID: testIds.named("message"), children: message });
100
+ }
101
+ function SkeletonRows({ size, skeletonRows, testIds }) {
102
+ const theme = useUiTheme();
103
+ const tint = skeletonTint(theme);
104
+ return /* @__PURE__ */ jsx(View, { style: { gap: theme.spacing(SKELETON_ROW_GAP_UNITS) }, children: Array.from({ length: skeletonRows }, (_, index) => /* @__PURE__ */ jsx(
105
+ View,
106
+ {
107
+ "aria-hidden": true,
108
+ testID: testIds.optional(`skeleton-${index}`),
109
+ style: {
110
+ height: SKELETON_ROW_HEIGHT[size],
111
+ // The last row is short, so the block reads as a paragraph of text.
112
+ width: index === skeletonRows - 1 ? SKELETON_LAST_ROW_WIDTH : SKELETON_FULL_ROW_WIDTH,
113
+ borderRadius: SKELETON_RADIUS,
114
+ backgroundColor: tint
115
+ }
116
+ },
117
+ `skeleton-row-${index}`
118
+ )) });
119
+ }
120
+ function SkeletonView({ message, size, skeletonRows, testIds, style, rest }) {
121
+ const theme = useUiTheme();
122
+ return /* @__PURE__ */ jsxs(
123
+ View,
124
+ {
125
+ role: "status",
126
+ "aria-busy": true,
127
+ "aria-label": message || "Loading content",
128
+ testID: testIds.base,
129
+ style: [styles.skeleton, { padding: theme.spacing(SKELETON_PADDING_UNITS) }, style],
130
+ ...rest,
131
+ children: [
132
+ /* @__PURE__ */ jsx(SkeletonRows, { size, skeletonRows, testIds }),
133
+ /* @__PURE__ */ jsx(
134
+ LoadingMessage,
135
+ {
136
+ message,
137
+ size,
138
+ testIds,
139
+ style: { marginTop: theme.spacing(SKELETON_MESSAGE_MARGIN_TOP_UNITS), textAlign: "center" }
140
+ }
141
+ )
142
+ ]
143
+ }
144
+ );
145
+ }
146
+ function SpinnerView({ message, size, testIds, style, rest }) {
147
+ const theme = useUiTheme();
148
+ return /* @__PURE__ */ jsxs(
149
+ View,
150
+ {
151
+ role: "status",
152
+ "aria-busy": true,
153
+ "aria-label": message || "Loading",
154
+ testID: testIds.base,
155
+ style: [
156
+ styles.spinner,
157
+ {
158
+ padding: theme.spacing(SPINNER_PADDING_UNITS),
159
+ minHeight: SPINNER_MIN_HEIGHT,
160
+ gap: theme.spacing(SPINNER_GAP_UNITS)
161
+ },
162
+ style
163
+ ],
164
+ ...rest,
165
+ children: [
166
+ /* @__PURE__ */ jsx(
167
+ ActivityIndicator,
168
+ {
169
+ size: spinnerSize(SPINNER_SIZES[size]),
170
+ color: theme.palette.primary.main,
171
+ testID: testIds.named("spinner")
172
+ }
173
+ ),
174
+ /* @__PURE__ */ jsx(LoadingMessage, { message, size, testIds })
175
+ ]
176
+ }
177
+ );
178
+ }
179
+ var LoadingState = React.memo(function LoadingState2(rawProps) {
180
+ const resolved = resolveLoadingStateProps(rawProps);
181
+ const { variant, message, size, skeletonRows, style, ...others } = resolved;
182
+ const args = {
183
+ message,
184
+ size,
185
+ skeletonRows,
186
+ style,
187
+ testIds: makeTestIds(resolveTestId(others)),
188
+ rest: withoutTestIdProps(others)
189
+ };
190
+ return variant === "skeleton" ? /* @__PURE__ */ jsx(SkeletonView, { ...args }) : /* @__PURE__ */ jsx(SpinnerView, { ...args });
191
+ });
192
+ LoadingState.displayName = "LoadingState";
193
+ var styles = StyleSheet.create({
194
+ skeleton: {
195
+ width: "100%"
196
+ },
197
+ spinner: {
198
+ alignItems: "center",
199
+ justifyContent: "center"
200
+ }
201
+ });
202
+ export {
203
+ LoadingState
204
+ };
205
+ //# sourceMappingURL=LoadingState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/data-display/LoadingState/LoadingState.native.tsx","../../../src/components/data-display/LoadingState/LoadingState.metrics.ts","../../../src/components/data-display/LoadingState/LoadingState.helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n StyleSheet,\n Text as RNText,\n View,\n type StyleProp,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { type LoadingStateTestIds, makeTestIds, resolveLoadingStateProps } from './LoadingState.helpers';\nimport {\n IOS_LARGE_SPINNER_FROM,\n MESSAGE_TYPE,\n SKELETON_FULL_ROW_WIDTH,\n SKELETON_LAST_ROW_WIDTH,\n SKELETON_MESSAGE_MARGIN_TOP_UNITS,\n SKELETON_PADDING_UNITS,\n SKELETON_RADIUS,\n SKELETON_ROW_GAP_UNITS,\n SKELETON_ROW_HEIGHT,\n SKELETON_TINT_ALPHA,\n SPINNER_GAP_UNITS,\n SPINNER_MIN_HEIGHT,\n SPINNER_PADDING_UNITS,\n SPINNER_SIZES,\n} from './LoadingState.metrics';\nimport type { LoadingStateProps, LoadingStateSize } from './LoadingState.types.native';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport { muiTypeStyle } from '../../../tokens/mui-type';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** The message's type: MUI's `body2`/`body1`/`h6` per size, in the muted ink, as the web's `Typography` sets it. */\nexport function messageStyle(theme: UiTheme, size: LoadingStateSize): TextStyle {\n return { ...muiTypeStyle(theme, MESSAGE_TYPE[size]), color: theme.palette.text.secondary };\n}\n\n/** The skeleton rows' tint: the house `Skeleton`'s `medium` intensity. */\nexport const skeletonTint = (theme: UiTheme): string =>\n alpha(theme.palette.text.primary, SKELETON_TINT_ALPHA);\n\n/** iOS has two spinner sizes; everything else takes the px. */\nfunction spinnerSize(px: number): number | 'small' | 'large' {\n if (Platform.OS !== 'ios') return px;\n return px >= IOS_LARGE_SPINNER_FROM ? 'large' : 'small';\n}\n\ninterface ViewArgs {\n message?: string;\n size: LoadingStateSize;\n skeletonRows: number;\n testIds: LoadingStateTestIds;\n style?: StyleProp<ViewStyle>;\n rest: Omit<LoadingStateProps, keyof ViewArgs | 'variant' | 'testID' | 'dataTestId'>;\n}\n\nfunction LoadingMessage({\n message,\n size,\n testIds,\n style,\n}: Pick<ViewArgs, 'message' | 'size' | 'testIds'> & { style?: TextStyle }): React.JSX.Element | null {\n const theme = useUiTheme();\n if (!message) return null;\n return (\n <RNText style={[messageStyle(theme, size), style]} testID={testIds.named('message')}>\n {message}\n </RNText>\n );\n}\n\nfunction SkeletonRows({ size, skeletonRows, testIds }: Pick<ViewArgs, 'size' | 'skeletonRows' | 'testIds'>): React.JSX.Element {\n const theme = useUiTheme();\n const tint = skeletonTint(theme);\n return (\n <View style={{ gap: theme.spacing(SKELETON_ROW_GAP_UNITS) }}>\n {Array.from({ length: skeletonRows }, (_, index) => (\n <View\n key={`skeleton-row-${index}`}\n aria-hidden\n testID={testIds.optional(`skeleton-${index}`)}\n style={{\n height: SKELETON_ROW_HEIGHT[size],\n // The last row is short, so the block reads as a paragraph of text.\n width: index === skeletonRows - 1 ? SKELETON_LAST_ROW_WIDTH : SKELETON_FULL_ROW_WIDTH,\n borderRadius: SKELETON_RADIUS,\n backgroundColor: tint,\n }}\n />\n ))}\n </View>\n );\n}\n\nfunction SkeletonView({ message, size, skeletonRows, testIds, style, rest }: ViewArgs): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <View\n role=\"status\"\n aria-busy\n aria-label={message || 'Loading content'}\n testID={testIds.base}\n style={[styles.skeleton, { padding: theme.spacing(SKELETON_PADDING_UNITS) }, style]}\n {...rest}\n >\n <SkeletonRows size={size} skeletonRows={skeletonRows} testIds={testIds} />\n <LoadingMessage\n message={message}\n size={size}\n testIds={testIds}\n style={{ marginTop: theme.spacing(SKELETON_MESSAGE_MARGIN_TOP_UNITS), textAlign: 'center' }}\n />\n </View>\n );\n}\n\nfunction SpinnerView({ message, size, testIds, style, rest }: ViewArgs): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <View\n role=\"status\"\n aria-busy\n aria-label={message || 'Loading'}\n testID={testIds.base}\n style={[\n styles.spinner,\n {\n padding: theme.spacing(SPINNER_PADDING_UNITS),\n minHeight: SPINNER_MIN_HEIGHT,\n gap: theme.spacing(SPINNER_GAP_UNITS),\n },\n style,\n ]}\n {...rest}\n >\n <ActivityIndicator\n size={spinnerSize(SPINNER_SIZES[size])}\n color={theme.palette.primary.main}\n testID={testIds.named('spinner')}\n />\n <LoadingMessage message={message} size={size} testIds={testIds} />\n </View>\n );\n}\n\nexport const LoadingState: React.FC<LoadingStateProps> = React.memo(function LoadingState(rawProps) {\n const resolved = resolveLoadingStateProps(rawProps);\n const { variant, message, size, skeletonRows, style, ...others } = resolved;\n const args: ViewArgs = {\n message,\n size,\n skeletonRows,\n style,\n testIds: makeTestIds(resolveTestId(others)),\n rest: withoutTestIdProps(others),\n };\n\n return variant === 'skeleton' ? <SkeletonView {...args} /> : <SpinnerView {...args} />;\n});\n\nLoadingState.displayName = 'LoadingState';\n\nconst styles = StyleSheet.create({\n skeleton: {\n width: '100%',\n },\n spinner: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","import type { MuiTypeVariantName } from '../../../tokens/mui-type';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `LoadingState` RENDERERS DRAW WITH.\n *\n * `LoadingState.tsx` (MUI) and `LoadingState.native.tsx` (React Native) read\n * this one table. Spacing is in SPACING UNITS where the web writes\n * `theme.spacing(n)`, so a host with a different unit moves both renderers;\n * everything else is px.\n */\n\n/** MUI's `CircularProgress` diameter per size. */\nexport const SPINNER_SIZES: Record<SizeValue, number> = {\n xs: 16,\n sm: 24,\n md: 40,\n lg: 56,\n xl: 64,\n};\n\n/** The MUI `Typography` variant the message is set in, per size. */\nexport const MESSAGE_TYPE: Record<SizeValue, MuiTypeVariantName> = {\n xs: 'body2',\n sm: 'body2',\n md: 'body1',\n lg: 'h6',\n xl: 'h6',\n};\n\nexport const SKELETON_ROW_HEIGHT: Record<SizeValue, number> = {\n xs: 14,\n sm: 20,\n md: 28,\n lg: 36,\n xl: 44,\n};\n\n/** The spinner view: a centred column, `theme.spacing(6)` of padding, at least 200px tall. */\nexport const SPINNER_PADDING_UNITS = 6;\nexport const SPINNER_MIN_HEIGHT = 200;\n/** Between the spinner and its message. */\nexport const SPINNER_GAP_UNITS = 2;\n\n/** The skeleton view: full width, `theme.spacing(3)` of padding. */\nexport const SKELETON_PADDING_UNITS = 3;\n/** Between rows (MUI `Stack spacing={2}`), and above the message (`mt: 2`). */\nexport const SKELETON_ROW_GAP_UNITS = 2;\nexport const SKELETON_MESSAGE_MARGIN_TOP_UNITS = 2;\nexport const SKELETON_RADIUS = 4;\n/** The last row is short, so the block reads as a paragraph of text. */\nexport const SKELETON_LAST_ROW_WIDTH = '60%';\nexport const SKELETON_FULL_ROW_WIDTH = '100%';\n/**\n * The house `Skeleton`'s `medium` intensity, which this component never\n * overrides: `alpha(text.primary, 0.13)` in light mode, `alpha(#fff, 0.13)`\n * in dark — and dark mode's `text.primary` IS `#fff`, so one expression\n * covers both.\n */\nexport const SKELETON_TINT_ALPHA = 0.13;\n\n/**\n * iOS's `ActivityIndicator` has two sizes, `small` (20pt) and `large`\n * (36pt); a diameter from this threshold up draws `large`. Android and the\n * web take the exact px.\n */\nexport const IOS_LARGE_SPINNER_FROM = 40;\n","import type { LoadingStateBaseProps, LoadingStateSize } from './LoadingState.base';\nimport { MESSAGE_TYPE, SKELETON_ROW_HEIGHT, SPINNER_SIZES } from './LoadingState.metrics';\nimport type { MuiTypeVariantName } from '../../../tokens/mui-type';\nimport { SIZE_VALUES } from '../../../tokens/vocabulary';\n\nexport { SKELETON_ROW_HEIGHT };\n\n// Derived from the shared metrics, not restated: the native `LoadingState`\n// reads the same two tables, so the renderers cannot disagree on a size.\nexport const SIZE_MAP: Record<LoadingStateSize, { spinner: number; text: MuiTypeVariantName }> =\n Object.fromEntries(\n SIZE_VALUES.map((size) => [size, { spinner: SPINNER_SIZES[size], text: MESSAGE_TYPE[size] }]),\n ) as Record<LoadingStateSize, { spinner: number; text: MuiTypeVariantName }>;\n\ntype LoadingStateDefaultedKeys = 'variant' | 'size' | 'skeletonRows';\n\n/**\n * Generic over the renderer's own props: the web and the native `LoadingState`\n * pass different extras through, and both come back out untouched.\n */\ntype ResolvedLoadingStateProps<P extends LoadingStateBaseProps> = P &\n Required<Pick<LoadingStateBaseProps, LoadingStateDefaultedKeys>>;\n\nconst LOADING_STATE_DEFAULTS: Required<Pick<LoadingStateBaseProps, LoadingStateDefaultedKeys>> = {\n variant: 'spinner',\n size: 'md',\n skeletonRows: 3,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = <P extends LoadingStateBaseProps>(props: P): Partial<P> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<P>;\n\nexport const resolveLoadingStateProps = <P extends LoadingStateBaseProps>(\n props: P,\n): ResolvedLoadingStateProps<P> =>\n ({ ...LOADING_STATE_DEFAULTS, ...definedProps(props) }) as ResolvedLoadingStateProps<P>;\n\n/**\n * Test ids come in three flavours here: the container falls back to a bare\n * `loading-state`, the labelled parts to `loading-state-<part>`, and the\n * skeleton rows to nothing at all when the caller supplied no base id.\n */\nexport const makeTestIds = (dataTestId?: string) => ({\n base: dataTestId || 'loading-state',\n optional: (suffix: string): string | undefined =>\n dataTestId ? `${dataTestId}-${suffix}` : undefined,\n named: (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `loading-state-${suffix}`,\n});\n\nexport type LoadingStateTestIds = ReturnType<typeof makeTestIds>;\n"],"mappings":"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","names":["LoadingState"]}
@@ -1,320 +1,10 @@
1
1
  import {
2
- childTestId,
3
- resolveTestId,
4
- withoutTestIdProps
5
- } from "../chunks/chunk-M4DTJDWU.js";
6
- import {
7
- useUiTheme
8
- } from "../chunks/chunk-VGBKUL6D.js";
9
- import {
10
- alpha,
11
- darken,
12
- lighten
13
- } from "../chunks/chunk-L2UUNK2M.js";
14
-
15
- // src/components/form/Button/Button.native.tsx
16
- import * as React from "react";
17
- import {
18
- ActivityIndicator,
19
- Animated,
20
- Easing,
21
- Platform,
22
- Pressable,
23
- StyleSheet,
24
- Text as RNText,
25
- View
26
- } from "react-native";
27
-
28
- // src/components/form/Button/Button.helpers.ts
29
- var BUTTON_DEFAULTS = {
30
- variant: "solid",
31
- color: "primary",
32
- size: "md",
33
- loading: false,
34
- iconPosition: "left",
35
- glow: false,
36
- pulse: false,
37
- ripple: true,
38
- active: false
39
- };
40
- var definedProps = (props) => Object.fromEntries(
41
- Object.entries(props).filter(([, value]) => value !== void 0)
42
- );
43
- var resolveButtonProps = (props) => ({ ...BUTTON_DEFAULTS, ...definedProps(props) });
44
-
45
- // src/components/form/Button/Button.metrics.ts
46
- var BUTTON_SIZES = {
47
- xs: { paddingVertical: 2, paddingHorizontal: 8, fontSize: 12 },
48
- sm: { paddingVertical: 6, paddingHorizontal: 12, fontSize: 14 },
49
- md: { paddingVertical: 8, paddingHorizontal: 16, fontSize: 16 },
50
- lg: { paddingVertical: 10, paddingHorizontal: 20, fontSize: 18 },
51
- xl: { paddingVertical: 12, paddingHorizontal: 24, fontSize: 20 }
52
- };
53
- var ICON_ONLY_PADDING = {
54
- xs: 2,
55
- sm: 5,
56
- md: 7,
57
- lg: 9,
58
- xl: 11
59
- };
60
- var BUTTON_FONT_WEIGHT = 500;
61
- var BUTTON_RADIUS_UNITS = 1;
62
- var BUTTON_ICON_GAP_UNITS = 0.5;
63
- var BUTTON_SPINNER_SIZE = 16;
64
- var BUTTON_LINE_HEIGHT = 1.75;
65
- var BUTTON_WASH_ALPHA = 0.1;
66
- var GLASS_BACKGROUND_ALPHA = 0.1;
67
- var GLASS_BACKGROUND_ALPHA_PRESSED = 0.2;
68
- var GLASS_BORDER_ALPHA = 0.2;
69
- var GLOW_INNER_ALPHA = 0.6;
70
- var GLOW_RADIUS = 20;
71
- var PULSE_ALPHA = 0.3;
72
- var PULSE_DURATION_MS = 2e3;
73
- var PULSE_SPREAD = 15;
74
- function buttonPalette(theme, color) {
75
- if (color === "neutral") {
76
- return {
77
- main: theme.palette.grey[700],
78
- dark: theme.palette.grey[800],
79
- light: theme.palette.grey[500],
80
- contrastText: "#fff"
81
- };
82
- }
83
- return theme.palette[color];
84
- }
85
- var quietInk = (theme, palette) => theme.mode === "dark" ? lighten(palette.main, 0.35) : darken(palette.main, 0.3);
86
- function gradientStops(theme, color, palette) {
87
- switch (color) {
88
- case "primary":
89
- return [theme.palette.primary.main, theme.palette.secondary.main];
90
- case "secondary":
91
- return [theme.palette.secondary.main, theme.palette.primary.main];
92
- case "success":
93
- case "warning":
94
- return [theme.palette[color].light, theme.palette[color].dark];
95
- case "danger":
96
- return [theme.palette.danger.light, theme.palette.danger.dark];
97
- default:
98
- return [palette.main, palette.dark];
99
- }
100
- }
101
-
102
- // src/components/form/Button/Button.native.tsx
103
- import { jsx, jsxs } from "react/jsx-runtime";
104
- var MIN_WIDTH = 64;
105
- function paintFor(theme, variant, color, palette, active) {
106
- const wash = alpha(palette.main, BUTTON_WASH_ALPHA);
107
- switch (variant) {
108
- case "outline":
109
- return {
110
- container: { backgroundColor: "transparent", borderWidth: 1, borderColor: palette.main },
111
- pressed: { backgroundColor: wash, borderColor: palette.dark },
112
- label: { color: palette.main }
113
- };
114
- case "ghost":
115
- return {
116
- container: { backgroundColor: "transparent" },
117
- pressed: { backgroundColor: wash },
118
- label: { color: quietInk(theme, palette) }
119
- };
120
- case "text":
121
- return {
122
- container: { backgroundColor: active ? wash : "transparent" },
123
- pressed: { backgroundColor: wash },
124
- label: { color: quietInk(theme, palette) }
125
- };
126
- case "glass":
127
- return {
128
- container: {
129
- backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA),
130
- borderWidth: 1,
131
- borderColor: alpha(theme.palette.divider, GLASS_BORDER_ALPHA)
132
- },
133
- pressed: { backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA_PRESSED) },
134
- label: { color: palette.main }
135
- };
136
- case "gradient": {
137
- const [from, to] = gradientStops(theme, color, palette);
138
- return {
139
- container: { backgroundColor: from },
140
- pressed: { backgroundColor: to },
141
- label: { color: "#fff" }
142
- };
143
- }
144
- default:
145
- return {
146
- container: { backgroundColor: palette.main },
147
- pressed: { backgroundColor: palette.dark },
148
- label: { color: palette.contrastText || "#fff" }
149
- };
150
- }
151
- }
152
- function disabledPaint(theme, variant) {
153
- const filled = variant === "solid" || variant === "gradient" || variant === "glass";
154
- return {
155
- container: filled ? { backgroundColor: theme.palette.action.disabledBackground, borderWidth: 0 } : variant === "outline" ? { backgroundColor: "transparent", borderWidth: 1, borderColor: theme.palette.action.disabledBackground } : { backgroundColor: "transparent" },
156
- pressed: {},
157
- label: { color: theme.palette.action.disabled }
158
- };
159
- }
160
- function sizeStyle(theme, size, iconOnly, hasIcon) {
161
- const metrics = BUTTON_SIZES[size];
162
- if (iconOnly) {
163
- return { padding: ICON_ONLY_PADDING[size], minWidth: 0 };
164
- }
165
- return {
166
- paddingVertical: metrics.paddingVertical,
167
- paddingHorizontal: metrics.paddingHorizontal,
168
- minWidth: MIN_WIDTH,
169
- gap: hasIcon ? theme.spacing(BUTTON_ICON_GAP_UNITS) : void 0
170
- };
171
- }
172
- function glowStyle(palette) {
173
- return Platform.select({
174
- android: { elevation: 8 },
175
- default: {
176
- shadowColor: palette.main,
177
- shadowOpacity: GLOW_INNER_ALPHA,
178
- shadowRadius: GLOW_RADIUS,
179
- shadowOffset: { width: 0, height: 0 }
180
- }
181
- });
182
- }
183
- function Pulse({ color, radius, testID }) {
184
- const progress = React.useRef(new Animated.Value(0)).current;
185
- React.useEffect(() => {
186
- const loop = Animated.loop(
187
- Animated.timing(progress, {
188
- toValue: 1,
189
- duration: PULSE_DURATION_MS,
190
- easing: Easing.out(Easing.ease),
191
- useNativeDriver: Platform.OS !== "web"
192
- })
193
- );
194
- loop.start();
195
- return () => loop.stop();
196
- }, [progress]);
197
- return /* @__PURE__ */ jsx(
198
- Animated.View,
199
- {
200
- testID,
201
- "aria-hidden": true,
202
- style: [
203
- StyleSheet.absoluteFill,
204
- {
205
- pointerEvents: "none",
206
- borderRadius: radius,
207
- backgroundColor: color,
208
- opacity: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [PULSE_ALPHA, 0, 0] }),
209
- transform: [
210
- { scale: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [1, 1 + PULSE_SPREAD / 40, 1] }) }
211
- ]
212
- }
213
- ]
214
- }
215
- );
216
- }
217
- function renderChildren(children, label) {
218
- return React.Children.map(
219
- children,
220
- (child) => typeof child === "string" || typeof child === "number" ? /* @__PURE__ */ jsx(RNText, { style: label, numberOfLines: 1, children: child }) : child
221
- );
222
- }
223
- function buttonLook(theme, props) {
224
- const { variant, color, size, loading, icon, children, glow, pulse, active, disabled, style } = props;
225
- const palette = buttonPalette(theme, color);
226
- const iconOnly = !loading && icon != null && children == null;
227
- const inactive = Boolean(disabled) || loading;
228
- const paint = inactive ? disabledPaint(theme, variant) : paintFor(theme, variant, color, palette, active);
229
- const radius = theme.spacing(BUTTON_RADIUS_UNITS);
230
- const metrics = BUTTON_SIZES[size];
231
- const overflow = pulse || glow ? "visible" : "hidden";
232
- const sized = sizeStyle(theme, size, iconOnly, icon != null && !loading);
233
- const glowing = glow && !inactive ? glowStyle(palette) : null;
234
- return {
235
- inactive,
236
- palette,
237
- radius,
238
- label: {
239
- fontFamily: theme.typography.fontFamily,
240
- fontSize: metrics.fontSize,
241
- lineHeight: metrics.fontSize * BUTTON_LINE_HEIGHT,
242
- fontWeight: String(BUTTON_FONT_WEIGHT),
243
- textAlign: "center",
244
- ...paint.label
245
- },
246
- container: (state) => [
247
- styles.base,
248
- { borderRadius: radius, overflow },
249
- sized,
250
- paint.container,
251
- state.pressed && !inactive ? paint.pressed : null,
252
- glowing,
253
- style
254
- ]
255
- };
256
- }
257
- function Spinner({ color, testID }) {
258
- return /* @__PURE__ */ jsx(
259
- ActivityIndicator,
260
- {
261
- size: Platform.OS === "ios" ? "small" : BUTTON_SPINNER_SIZE,
262
- color,
263
- testID,
264
- accessibilityLabel: "loading"
265
- }
266
- );
267
- }
268
- var Button = React.forwardRef((rawProps, ref) => {
269
- const resolved = resolveButtonProps(rawProps);
270
- const { loading, icon, iconPosition, pulse, ripple, children, onClick, onPress, ...others } = resolved;
271
- const theme = useUiTheme();
272
- const look = buttonLook(theme, resolved);
273
- const testId = resolveTestId(others, "button");
274
- const idFor = (suffix) => childTestId(others, suffix, "button");
275
- const rest = withoutTestIdProps(others);
276
- const { variant: _v, color: _c, size: _s, glow: _g, active: _a, disabled: _d, style: _st, ...pressable } = rest;
277
- const handlePress = (event) => {
278
- onClick?.(event);
279
- onPress?.(event);
280
- };
281
- const iconNode = !loading && icon ? /* @__PURE__ */ jsx(View, { style: styles.icon, testID: idFor("icon"), children: icon }) : null;
282
- return /* @__PURE__ */ jsxs(
283
- Pressable,
284
- {
285
- ref,
286
- role: "button",
287
- "aria-disabled": look.inactive,
288
- "aria-busy": loading,
289
- disabled: look.inactive,
290
- onPress: handlePress,
291
- android_ripple: ripple && !look.inactive ? { color: alpha(look.palette.main, 0.2), borderless: false } : void 0,
292
- style: look.container,
293
- testID: testId,
294
- ...pressable,
295
- children: [
296
- pulse && !look.inactive ? /* @__PURE__ */ jsx(Pulse, { color: look.palette.main, radius: look.radius, testID: idFor("pulse") }) : null,
297
- iconPosition === "left" ? iconNode : null,
298
- loading ? /* @__PURE__ */ jsx(Spinner, { color: look.label.color, testID: idFor("loading") }) : renderChildren(children, look.label),
299
- iconPosition === "right" ? iconNode : null
300
- ]
301
- }
302
- );
303
- });
304
- Button.displayName = "Button";
305
- var styles = StyleSheet.create({
306
- base: {
307
- flexDirection: "row",
308
- alignItems: "center",
309
- justifyContent: "center",
310
- alignSelf: "flex-start",
311
- position: "relative"
312
- },
313
- icon: {
314
- alignItems: "center",
315
- justifyContent: "center"
316
- }
317
- });
2
+ Button
3
+ } from "../chunks/chunk-UKCCYP52.js";
4
+ import "../chunks/chunk-5GJ5OG5R.js";
5
+ import "../chunks/chunk-M4DTJDWU.js";
6
+ import "../chunks/chunk-YTHR4Y5P.js";
7
+ import "../chunks/chunk-P3PL4WBO.js";
318
8
  export {
319
9
  Button
320
10
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/form/Button/Button.native.tsx","../../../src/components/form/Button/Button.helpers.ts","../../../src/components/form/Button/Button.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Animated,\n Easing,\n Platform,\n Pressable,\n StyleSheet,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type PressableStateCallbackType,\n type StyleProp,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveButtonProps } from './Button.helpers';\nimport {\n BUTTON_FONT_WEIGHT,\n BUTTON_ICON_GAP_UNITS,\n BUTTON_LINE_HEIGHT,\n BUTTON_RADIUS_UNITS,\n BUTTON_SIZES,\n BUTTON_SPINNER_SIZE,\n BUTTON_WASH_ALPHA,\n GLASS_BACKGROUND_ALPHA,\n GLASS_BACKGROUND_ALPHA_PRESSED,\n GLASS_BORDER_ALPHA,\n GLOW_INNER_ALPHA,\n GLOW_RADIUS,\n ICON_ONLY_PADDING,\n PULSE_ALPHA,\n PULSE_DURATION_MS,\n PULSE_SPREAD,\n buttonPalette,\n gradientStops,\n quietInk,\n} from './Button.metrics';\nimport type { ButtonProps, ButtonVariant } from './Button.types.native';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport type { ColorValue, SizeValue } from '../../../tokens/vocabulary';\nimport type { UiPaletteColor, UiTheme } from '../../../tokens/theme';\n\n/** MUI's `min-width` for a button that carries a label. */\nconst MIN_WIDTH = 64;\n\ninterface Paint {\n container: ViewStyle;\n pressed: ViewStyle;\n label: TextStyle;\n}\n\n/**\n * What the web's `VARIANT_STYLES` paint, as three React Native styles: at rest,\n * while pressed (the web's `:hover`, which touch has no equivalent of), and the\n * label. Same palette arithmetic, same alphas.\n *\n * `gradient` is the one honest gap: React Native core has no gradient fill, so\n * it paints the gradient's first stop. A host wanting the real thing adds a\n * gradient library; the parity ledger records this.\n */\nfunction paintFor(\n theme: UiTheme,\n variant: ButtonVariant,\n color: ColorValue,\n palette: UiPaletteColor,\n active: boolean,\n): Paint {\n const wash = alpha(palette.main, BUTTON_WASH_ALPHA);\n switch (variant) {\n case 'outline':\n return {\n container: { backgroundColor: 'transparent', borderWidth: 1, borderColor: palette.main },\n pressed: { backgroundColor: wash, borderColor: palette.dark },\n label: { color: palette.main },\n };\n case 'ghost':\n return {\n container: { backgroundColor: 'transparent' },\n pressed: { backgroundColor: wash },\n label: { color: quietInk(theme, palette) },\n };\n case 'text':\n return {\n container: { backgroundColor: active ? wash : 'transparent' },\n pressed: { backgroundColor: wash },\n label: { color: quietInk(theme, palette) },\n };\n case 'glass':\n return {\n container: {\n backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA),\n borderWidth: 1,\n borderColor: alpha(theme.palette.divider, GLASS_BORDER_ALPHA),\n },\n pressed: { backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA_PRESSED) },\n label: { color: palette.main },\n };\n case 'gradient': {\n const [from, to] = gradientStops(theme, color, palette);\n return {\n container: { backgroundColor: from },\n pressed: { backgroundColor: to },\n label: { color: '#fff' },\n };\n }\n default:\n return {\n container: { backgroundColor: palette.main },\n pressed: { backgroundColor: palette.dark },\n label: { color: palette.contrastText || '#fff' },\n };\n }\n}\n\n/** MUI's disabled treatment per variant family, so a disabled button reads as one on both sides. */\nfunction disabledPaint(theme: UiTheme, variant: ButtonVariant): Paint {\n const filled = variant === 'solid' || variant === 'gradient' || variant === 'glass';\n return {\n container: filled\n ? { backgroundColor: theme.palette.action.disabledBackground, borderWidth: 0 }\n : variant === 'outline'\n ? { backgroundColor: 'transparent', borderWidth: 1, borderColor: theme.palette.action.disabledBackground }\n : { backgroundColor: 'transparent' },\n pressed: {},\n label: { color: theme.palette.action.disabled },\n };\n}\n\nfunction sizeStyle(theme: UiTheme, size: SizeValue, iconOnly: boolean, hasIcon: boolean): ViewStyle {\n const metrics = BUTTON_SIZES[size];\n if (iconOnly) {\n return { padding: ICON_ONLY_PADDING[size], minWidth: 0 };\n }\n return {\n paddingVertical: metrics.paddingVertical,\n paddingHorizontal: metrics.paddingHorizontal,\n minWidth: MIN_WIDTH,\n gap: hasIcon ? theme.spacing(BUTTON_ICON_GAP_UNITS) : undefined,\n };\n}\n\nfunction glowStyle(palette: UiPaletteColor): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: 8 },\n default: {\n shadowColor: palette.main,\n shadowOpacity: GLOW_INNER_ALPHA,\n shadowRadius: GLOW_RADIUS,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/** The web's `::after` pulse ring: a looped scale-and-fade behind the button. */\nfunction Pulse({ color, radius, testID }: { color: string; radius: number; testID: string }): React.JSX.Element {\n const progress = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const loop = Animated.loop(\n Animated.timing(progress, {\n toValue: 1,\n duration: PULSE_DURATION_MS,\n easing: Easing.out(Easing.ease),\n useNativeDriver: Platform.OS !== 'web',\n }),\n );\n loop.start();\n return () => loop.stop();\n }, [progress]);\n\n return (\n <Animated.View\n testID={testID}\n aria-hidden\n style={[\n StyleSheet.absoluteFill,\n {\n pointerEvents: 'none',\n borderRadius: radius,\n backgroundColor: color,\n opacity: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [PULSE_ALPHA, 0, 0] }),\n transform: [\n { scale: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [1, 1 + PULSE_SPREAD / 40, 1] }) },\n ],\n },\n ]}\n />\n );\n}\n\n/**\n * A string or number child is the label and gets the label style; anything\n * else is rendered as given. No test id of its own: the web puts none on the\n * label, and a shared story that counts `/perf-button-/` must count buttons.\n */\nfunction renderChildren(children: React.ReactNode, label: TextStyle): React.ReactNode {\n return React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <RNText style={label} numberOfLines={1}>\n {child}\n </RNText>\n ) : (\n child\n ),\n );\n}\n\ntype ResolvedProps = ReturnType<typeof resolveButtonProps<ButtonProps>>;\n\ninterface ButtonLook {\n inactive: boolean;\n palette: UiPaletteColor;\n radius: number;\n label: TextStyle;\n container: (state: PressableStateCallbackType) => StyleProp<ViewStyle>;\n}\n\n/**\n * Everything the button paints, decided once per render from the resolved\n * props and the theme. Kept out of the component so the component reads as\n * structure — what renders where — and this reads as arithmetic.\n */\nfunction buttonLook(theme: UiTheme, props: ResolvedProps): ButtonLook {\n const { variant, color, size, loading, icon, children, glow, pulse, active, disabled, style } = props;\n const palette = buttonPalette(theme, color);\n const iconOnly = !loading && icon != null && children == null;\n const inactive = Boolean(disabled) || loading;\n const paint = inactive ? disabledPaint(theme, variant) : paintFor(theme, variant, color, palette, active);\n const radius = theme.spacing(BUTTON_RADIUS_UNITS);\n const metrics = BUTTON_SIZES[size];\n // The web button is `overflow: hidden` (its ripple needs it) unless the pulse\n // ring turns it visible; on native the glow's shadow needs it visible too,\n // because a view's own shadow is clipped by its own overflow there.\n const overflow: ViewStyle['overflow'] = pulse || glow ? 'visible' : 'hidden';\n const sized = sizeStyle(theme, size, iconOnly, icon != null && !loading);\n const glowing = glow && !inactive ? glowStyle(palette) : null;\n\n return {\n inactive,\n palette,\n radius,\n label: {\n fontFamily: theme.typography.fontFamily,\n fontSize: metrics.fontSize,\n lineHeight: metrics.fontSize * BUTTON_LINE_HEIGHT,\n fontWeight: String(BUTTON_FONT_WEIGHT) as TextStyle['fontWeight'],\n textAlign: 'center',\n ...paint.label,\n },\n container: (state) => [\n styles.base,\n { borderRadius: radius, overflow },\n sized,\n paint.container,\n state.pressed && !inactive ? paint.pressed : null,\n glowing,\n style,\n ],\n };\n}\n\n/** The spinner that replaces the label while loading; `role` comes from react-native's ActivityIndicator. */\nfunction Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <ActivityIndicator\n size={Platform.OS === 'ios' ? 'small' : BUTTON_SPINNER_SIZE}\n color={color}\n testID={testID}\n accessibilityLabel=\"loading\"\n />\n );\n}\n\nexport const Button = React.forwardRef<View, ButtonProps>((rawProps, ref) => {\n const resolved = resolveButtonProps(rawProps);\n const { loading, icon, iconPosition, pulse, ripple, children, onClick, onPress, ...others } = resolved;\n const theme = useUiTheme();\n const look = buttonLook(theme, resolved);\n\n // The shared stories pass `'data-testid'` as a plain prop; honour it here and\n // keep all three spellings off the element (react-native-web would drop them).\n const testId = resolveTestId(others, 'button');\n const idFor = (suffix: string) => childTestId(others, suffix, 'button');\n const rest = withoutTestIdProps(others);\n // `buttonLook` consumed these; they are not Pressable props.\n const { variant: _v, color: _c, size: _s, glow: _g, active: _a, disabled: _d, style: _st, ...pressable } = rest;\n\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n const iconNode =\n !loading && icon ? (\n <View style={styles.icon} testID={idFor('icon')}>\n {icon}\n </View>\n ) : null;\n\n return (\n <Pressable\n ref={ref}\n role=\"button\"\n aria-disabled={look.inactive}\n aria-busy={loading}\n disabled={look.inactive}\n onPress={handlePress}\n android_ripple={ripple && !look.inactive ? { color: alpha(look.palette.main, 0.2), borderless: false } : undefined}\n style={look.container}\n testID={testId}\n {...pressable}\n >\n {pulse && !look.inactive ? <Pulse color={look.palette.main} radius={look.radius} testID={idFor('pulse')} /> : null}\n {iconPosition === 'left' ? iconNode : null}\n {loading ? <Spinner color={look.label.color as string} testID={idFor('loading')} /> : renderChildren(children, look.label)}\n {iconPosition === 'right' ? iconNode : null}\n </Pressable>\n );\n});\n\nButton.displayName = 'Button';\n\nconst styles = StyleSheet.create({\n base: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n position: 'relative',\n },\n icon: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","import type { ButtonBaseProps } from './Button.base';\n\ntype ButtonDefaultedKeys =\n | 'variant'\n | 'color'\n | 'size'\n | 'loading'\n | 'iconPosition'\n | 'glow'\n | 'pulse'\n | 'ripple'\n | 'active';\n\n/**\n * Generic over the renderer's own props: the web and the native `Button` pass\n * different handler types through, and both come back out untouched.\n */\ntype ResolvedButtonProps<P extends ButtonBaseProps> = P &\n Required<Pick<ButtonBaseProps, ButtonDefaultedKeys>>;\n\nconst BUTTON_DEFAULTS: Required<Pick<ButtonBaseProps, ButtonDefaultedKeys>> = {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n loading: false,\n iconPosition: 'left',\n glow: false,\n pulse: false,\n ripple: true,\n active: false,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = <P extends ButtonBaseProps>(props: P): Partial<P> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<P>;\n\nexport const resolveButtonProps = <P extends ButtonBaseProps>(props: P): ResolvedButtonProps<P> =>\n ({ ...BUTTON_DEFAULTS, ...definedProps(props) }) as ResolvedButtonProps<P>;\n","import { darken, lighten } from '../../../tokens/color';\nimport type { ColorValue, SizeValue } from '../../../tokens/vocabulary';\nimport type { UiPaletteColor, UiTheme } from '../../../tokens/theme';\n\n/**\n * THE NUMBERS BOTH `Button` RENDERERS DRAW WITH.\n *\n * `Button.styles.ts` (web, emotion) and `Button.native.tsx` (React Native)\n * read this one table. The web turns the px into rem and the padding into a\n * shorthand string; native uses the numbers as they are. Neither restates a\n * value, which is what keeps a native `md` button 16px tall of padding and\n * 16px of type exactly like the web one.\n */\nexport interface ButtonSizeMetrics {\n paddingVertical: number;\n paddingHorizontal: number;\n fontSize: number;\n}\n\nexport const BUTTON_SIZES: Record<SizeValue, ButtonSizeMetrics> = {\n xs: { paddingVertical: 2, paddingHorizontal: 8, fontSize: 12 },\n sm: { paddingVertical: 6, paddingHorizontal: 12, fontSize: 14 },\n md: { paddingVertical: 8, paddingHorizontal: 16, fontSize: 16 },\n lg: { paddingVertical: 10, paddingHorizontal: 20, fontSize: 18 },\n xl: { paddingVertical: 12, paddingHorizontal: 24, fontSize: 20 },\n};\n\n/** A button that is only an icon is square: uniform padding, no min-width. */\nexport const ICON_ONLY_PADDING: Record<SizeValue, number> = {\n xs: 2,\n sm: 5,\n md: 7,\n lg: 9,\n xl: 11,\n};\n\nexport const BUTTON_FONT_WEIGHT = 500;\n/** `theme.spacing(1)`. */\nexport const BUTTON_RADIUS_UNITS = 1;\n/** Between the icon and the label: `theme.spacing(0.5)`. */\nexport const BUTTON_ICON_GAP_UNITS = 0.5;\nexport const BUTTON_SPINNER_SIZE = 16;\n/** MUI's `line-height` for button text. */\nexport const BUTTON_LINE_HEIGHT = 1.75;\n\n/** The wash behind an outline, ghost or text button while it is hovered or pressed. */\nexport const BUTTON_WASH_ALPHA = 0.1;\nexport const GLASS_BACKGROUND_ALPHA = 0.1;\nexport const GLASS_BACKGROUND_ALPHA_PRESSED = 0.2;\nexport const GLASS_BORDER_ALPHA = 0.2;\nexport const GLOW_INNER_ALPHA = 0.6;\nexport const GLOW_OUTER_ALPHA = 0.3;\nexport const GLOW_RADIUS = 20;\nexport const PULSE_ALPHA = 0.3;\nexport const PULSE_DURATION_MS = 2000;\nexport const PULSE_SPREAD = 15;\n\n/**\n * `neutral` has no palette slot of its own in MUI, so `Button.styles.ts` has\n * always drawn it from three greys. Same three greys here.\n */\nexport function buttonPalette(theme: UiTheme, color: ColorValue): UiPaletteColor {\n if (color === 'neutral') {\n return {\n main: theme.palette.grey[700],\n dark: theme.palette.grey[800],\n light: theme.palette.grey[500],\n contrastText: '#fff',\n };\n }\n return theme.palette[color];\n}\n\n/**\n * The label colour for `ghost` and `text`: one step darker than `main` in\n * light mode (lighter in dark), because `main` is chosen to sit UNDER white and\n * is not legible AS text on a tinted surface. See the web `quietInk`.\n */\nexport const quietInk = (theme: UiTheme, palette: UiPaletteColor): string =>\n theme.mode === 'dark' ? lighten(palette.main, 0.35) : darken(palette.main, 0.3);\n\n/** Gradients run between two related hues; the named colours pick a specific pair. */\nexport function gradientStops(\n theme: UiTheme,\n color: ColorValue,\n palette: UiPaletteColor,\n): [string, string] {\n switch (color) {\n case 'primary':\n return [theme.palette.primary.main, theme.palette.secondary.main];\n case 'secondary':\n return [theme.palette.secondary.main, theme.palette.primary.main];\n case 'success':\n case 'warning':\n return [theme.palette[color].light, theme.palette[color].dark];\n case 'danger':\n return [theme.palette.danger.light, theme.palette.danger.dark];\n default:\n return [palette.main, palette.dark];\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}