@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,105 @@
1
+ import * as React from 'react';
2
+ import { Text as RNText, type GestureResponderEvent, type TextStyle } from 'react-native';
3
+
4
+ import type { HeadingWeight } from './Heading.base';
5
+ import {
6
+ HEADING_DEFAULT_COLOR,
7
+ HEADING_DEFAULT_LEVEL,
8
+ HEADING_DEFAULT_WEIGHT,
9
+ HEADING_RANK,
10
+ headingGradientStops,
11
+ headingWeight,
12
+ stepOf,
13
+ } from './Heading.metrics';
14
+ import type { HeadingProps } from './Heading.types.native';
15
+ import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
16
+ import { useUiTheme } from '../../../provider/use-ui-theme.native';
17
+ import type { HeadingLevel } from '../../../tokens/heading-scale';
18
+ import type { UiTheme } from '../../../tokens/theme';
19
+ import type { ColorValue } from '../../../tokens/vocabulary';
20
+
21
+ /** Same mapping as the web `getColorFromTheme`: neutral is body ink, every other colour its slot's main. */
22
+ const inkFor = (theme: UiTheme, color: ColorValue): string =>
23
+ color === 'neutral' ? theme.palette.text.primary : theme.palette[color].main;
24
+
25
+ export interface HeadingStyleArgs {
26
+ /** The step to DRAW — `size ?? level`, already resolved to a name the scale has. */
27
+ size: HeadingLevel;
28
+ color: ColorValue;
29
+ weight: HeadingWeight;
30
+ gradient: boolean;
31
+ }
32
+
33
+ /**
34
+ * The style the web `headingSx` computes, in absolute numbers. The step comes
35
+ * from the theme's heading scale (`HEADING_SCALE` unless the host built its
36
+ * own), and its `lineHeight` ratio and `letterSpacing` em are multiplied out
37
+ * because React Native has neither unit.
38
+ *
39
+ * `gradient` is the one honest gap: React Native has no `background-clip:
40
+ * text` and no gradient fill in core, so the glyphs take the gradient's first
41
+ * stop as a flat colour — the same choice the native `Button` makes.
42
+ */
43
+ export function headingStyle(theme: UiTheme, a: HeadingStyleArgs): TextStyle {
44
+ const step = theme.typography.heading[a.size];
45
+ return {
46
+ fontFamily: theme.typography.fontFamily,
47
+ fontSize: step.fontSize,
48
+ lineHeight: step.fontSize * step.lineHeight,
49
+ letterSpacing: step.letterSpacing === undefined ? undefined : step.letterSpacing * step.fontSize,
50
+ fontWeight: String(headingWeight(a.weight, step.normalWeight)) as TextStyle['fontWeight'],
51
+ color: a.gradient ? headingGradientStops(theme, a.color)[0] : inkFor(theme, a.color),
52
+ };
53
+ }
54
+
55
+ export const Heading = React.forwardRef<RNText, HeadingProps>(
56
+ (
57
+ {
58
+ level = HEADING_DEFAULT_LEVEL,
59
+ size,
60
+ color = HEADING_DEFAULT_COLOR,
61
+ weight = HEADING_DEFAULT_WEIGHT,
62
+ gradient = false,
63
+ children,
64
+ style,
65
+ onClick,
66
+ onPress,
67
+ ...others
68
+ },
69
+ ref,
70
+ ) => {
71
+ const rest = withoutTestIdProps(others);
72
+ const theme = useUiTheme();
73
+ // The rank is `level`'s; the drawn step is `size`'s, falling back to the
74
+ // rank's — the same two derivations the web makes from the same two props.
75
+ const rank = HEADING_RANK[stepOf(level)];
76
+ const step = stepOf(size ?? level);
77
+ const resolved = React.useMemo(
78
+ () => headingStyle(theme, { size: step, color, weight, gradient }),
79
+ [theme, step, color, weight, gradient],
80
+ );
81
+ const handlePress =
82
+ onClick || onPress
83
+ ? (event: GestureResponderEvent): void => {
84
+ onClick?.(event);
85
+ onPress?.(event);
86
+ }
87
+ : undefined;
88
+
89
+ return (
90
+ <RNText
91
+ ref={ref}
92
+ role="heading"
93
+ aria-level={rank}
94
+ style={[resolved, style]}
95
+ testID={resolveTestId(others)}
96
+ onPress={handlePress}
97
+ {...rest}
98
+ >
99
+ {children}
100
+ </RNText>
101
+ );
102
+ },
103
+ );
104
+
105
+ Heading.displayName = 'Heading';
@@ -1,11 +1,16 @@
1
1
  import type { CSSObject, Theme } from '@mui/material/styles/index.js';
2
2
 
3
- import type { HeadingProps } from './Heading.types';
4
- import { HEADING_SCALE, headingMetrics, type HeadingLevel } from '../../../tokens/typography';
3
+ import {
4
+ HEADING_DEFAULT_COLOR,
5
+ HEADING_DEFAULT_WEIGHT,
6
+ NEUTRAL_GRADIENT_STEPS,
7
+ headingGradient,
8
+ headingWeight,
9
+ stepOf,
10
+ } from './Heading.metrics';
11
+ import { headingMetrics } from '../../../tokens/typography';
5
12
  import type { ColorValue } from '../../../tokens/scales';
6
13
 
7
- type Weight = NonNullable<HeadingProps['weight']>;
8
-
9
14
  // Exhaustive over ColorValue, and deliberately without a fallback. The map
10
15
  // happened to hold all seven already, but it was `Record<string, string>` with
11
16
  // `|| text.primary` behind it — so nothing kept it that way, and the eighth
@@ -29,14 +34,6 @@ const getColorFromTheme = (theme: Theme, color: ColorValue): string => {
29
34
  return colorMap[color];
30
35
  };
31
36
 
32
- const WEIGHTS: Record<Weight, number> = {
33
- light: 300,
34
- normal: 400,
35
- medium: 500,
36
- semibold: 600,
37
- bold: 700,
38
- };
39
-
40
37
  /** The two-stop gradient each colour paints its glyphs with. */
41
38
  const PRIMARY_STOPS = (theme: Theme): [string, string] => [
42
39
  theme.palette.primary.main,
@@ -47,6 +44,9 @@ const PRIMARY_STOPS = (theme: Theme): [string, string] => [
47
44
  // stops were missing — `info` and `neutral` — so a gradient heading in either
48
45
  // colour painted the PRIMARY gradient and looked deliberate while ignoring the
49
46
  // prop entirely. The fallback is what hid it, so the fallback is gone.
47
+ //
48
+ // The MUI-typed twin of `headingGradientStops` in `Heading.metrics.ts`, which
49
+ // the native renderer reads off a `UiTheme`; the pairs are the same.
50
50
  const GRADIENT_STOPS: Record<ColorValue, (theme: Theme) => [string, string]> = {
51
51
  primary: PRIMARY_STOPS,
52
52
  secondary: (theme) => [theme.palette.secondary.main, theme.palette.primary.main],
@@ -56,12 +56,15 @@ const GRADIENT_STOPS: Record<ColorValue, (theme: Theme) => [string, string]> = {
56
56
  danger: (theme) => [theme.palette.error.light, theme.palette.error.dark],
57
57
  // The grey ramp has no light/dark pair, and every stop on it is
58
58
  // `string | undefined` under `noUncheckedIndexedAccess`.
59
- neutral: (theme) => [theme.palette.grey[500] ?? '#9e9e9e', theme.palette.grey[900] ?? '#212121'],
59
+ neutral: (theme) => [
60
+ theme.palette.grey[NEUTRAL_GRADIENT_STEPS.from] ?? '#9e9e9e',
61
+ theme.palette.grey[NEUTRAL_GRADIENT_STEPS.to] ?? '#212121',
62
+ ],
60
63
  };
61
64
 
62
65
  const gradientFor = (theme: Theme, color: ColorValue) => {
63
66
  const [from, to] = GRADIENT_STOPS[color](theme);
64
- return `linear-gradient(135deg, ${from} 0%, ${to} 100%)`;
67
+ return headingGradient(from, to);
65
68
  };
66
69
 
67
70
  export interface HeadingFlags {
@@ -77,12 +80,8 @@ export interface HeadingFlags {
77
80
  gradient?: boolean;
78
81
  }
79
82
 
80
- /** A step name the scale actually has, or `h2` — the documented default. */
81
- const stepOf = (value: string | undefined): HeadingLevel =>
82
- value !== undefined && value in HEADING_SCALE ? (value as HeadingLevel) : 'h2';
83
-
84
83
  export const headingSx = (theme: Theme, flags: HeadingFlags): CSSObject => {
85
- const { customSize, customColor = 'neutral', customWeight = 'bold', gradient } = flags;
84
+ const { customSize, customColor = HEADING_DEFAULT_COLOR, customWeight = HEADING_DEFAULT_WEIGHT, gradient } = flags;
86
85
  // From the THEME, with the package default underneath — never from a table in
87
86
  // this file. A host's `createTheme({ typography: { headingScale } })` is what
88
87
  // sets the house scale now; see `tokens/typography.ts` for why it is our own
@@ -94,8 +93,7 @@ export const headingSx = (theme: Theme, flags: HeadingFlags): CSSObject => {
94
93
  margin: 0,
95
94
  transition: 'all 0.2s ease',
96
95
  ...metrics,
97
- fontWeight:
98
- customWeight === 'normal' ? normalWeight : (WEIGHTS[customWeight as Weight] ?? WEIGHTS.bold),
96
+ fontWeight: headingWeight(customWeight, normalWeight),
99
97
  };
100
98
 
101
99
  if (!gradient) {
@@ -1,9 +1,11 @@
1
1
  import { styled } from '@mui/material/styles/index.js';
2
2
  import React from 'react';
3
3
 
4
+ import { HEADING_DEFAULT_COLOR, HEADING_DEFAULT_LEVEL, HEADING_DEFAULT_WEIGHT, HEADING_RANK, stepOf } from './Heading.metrics';
4
5
  import { headingSx } from './Heading.styles';
5
6
  import type { HeadingFlags } from './Heading.styles';
6
7
  import type { HeadingProps } from './Heading.types';
8
+ import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
7
9
 
8
10
  const styledHeading = () =>
9
11
  styled('h1', {
@@ -26,38 +28,39 @@ const STYLED_BY_TAG = {
26
28
  } as const;
27
29
 
28
30
  /**
29
- * Which tag each level renders. `display` is a size, not a rank, so it uses the
30
- * h1 element — the document still gets one level-one heading rather than an
31
- * unnamed tag outside the outline.
32
- */
33
- const TAG_FOR_LEVEL: Record<string, keyof typeof STYLED_BY_TAG> = {
34
- display: 'h1',
35
- h1: 'h1',
36
- h2: 'h2',
37
- h3: 'h3',
38
- h4: 'h4',
39
- h5: 'h5',
40
- h6: 'h6',
41
- };
42
-
43
- /**
44
- * The rank and the size were ALREADY independent in here — `TAG_FOR_LEVEL[level]`
45
- * and `customLevel={level}` are two separate derivations from one prop. The
46
- * component just never let a caller set them apart, so anyone who needed an
47
- * `h1` at a smaller size had to reach around the component and restyle it.
48
- * `size` is that seam, exposed: it defaults to `level`, so nothing that exists
49
- * renders differently.
31
+ * The rank and the size were ALREADY independent in here — the tag and the
32
+ * `customSize` are two separate derivations from one prop. The component just
33
+ * never let a caller set them apart, so anyone who needed an `h1` at a smaller
34
+ * size had to reach around the component and restyle it. `size` is that seam,
35
+ * exposed: it defaults to `level`, so nothing that exists renders differently.
36
+ *
37
+ * Which tag each level renders is `HEADING_RANK` in the shared metrics (the
38
+ * native `Heading` announces the same number as `aria-level`); `display` is a
39
+ * size, not a rank, so it uses the h1 element.
50
40
  */
51
41
  export const Heading = React.forwardRef<globalThis.HTMLHeadingElement, HeadingProps>(
52
42
  (
53
- { level = 'h2', size, color = 'neutral', weight = 'bold', gradient = false, children, ...props },
43
+ {
44
+ level = HEADING_DEFAULT_LEVEL,
45
+ size,
46
+ color = HEADING_DEFAULT_COLOR,
47
+ weight = HEADING_DEFAULT_WEIGHT,
48
+ gradient = false,
49
+ children,
50
+ ...others
51
+ },
54
52
  ref,
55
53
  ) => {
56
- const Styled = STYLED_BY_TAG[TAG_FOR_LEVEL[level] ?? 'h2'];
54
+ const Styled = STYLED_BY_TAG[`h${HEADING_RANK[stepOf(level)]}`];
55
+ // `testID` and `dataTestId` are the shared contract's spellings; the DOM
56
+ // wants `data-testid`, and must not see the other two as attributes.
57
+ const testId = resolveTestId(others);
58
+ const props = withoutTestIdProps(others);
57
59
 
58
60
  return (
59
61
  <Styled
60
62
  ref={ref}
63
+ data-testid={testId}
61
64
  customSize={size ?? level}
62
65
  customColor={color}
63
66
  customWeight={weight}
@@ -0,0 +1,17 @@
1
+ import type { GestureResponderEvent, StyleProp, TextProps as RNTextProps, TextStyle } from 'react-native';
2
+
3
+ import type { HeadingBaseProps } from './Heading.base';
4
+
5
+ export type { HeadingBaseProps, HeadingLevel, HeadingWeight } from './Heading.base';
6
+
7
+ /**
8
+ * The native `Heading`: the shared contract, plus a react-native `Text`'s own
9
+ * props. `onClick` keeps its web name and `onPress` is accepted too, as on
10
+ * `Button`; both fire.
11
+ */
12
+ export type HeadingProps = HeadingBaseProps &
13
+ Omit<RNTextProps, keyof HeadingBaseProps | 'style' | 'onPress'> & {
14
+ onClick?: (event: GestureResponderEvent) => void;
15
+ onPress?: (event: GestureResponderEvent) => void;
16
+ style?: StyleProp<TextStyle>;
17
+ };
@@ -1,44 +1,16 @@
1
- import type { HeadingLevel } from '../../../tokens/typography';
2
- import type { ColorValue } from '../../../tokens/scales';
3
1
  import type React from 'react';
4
2
 
3
+ import type { HeadingBaseProps } from './Heading.base';
4
+
5
5
  /**
6
- * Re-exported, not re-declared. It was spelled out here AND (as `Level`) inside
7
- * `Heading.styles.ts`, so the union and the metrics table were two lists nothing
8
- * kept in step — the failure `tokens/scales.ts` was written to end.
6
+ * Re-exported, not re-declared. `HeadingLevel` was spelled out here AND (as
7
+ * `Level`) inside `Heading.styles.ts`, so the union and the metrics table were
8
+ * two lists nothing kept in step — the failure `tokens/scales.ts` was written
9
+ * to end.
9
10
  */
10
- export type { HeadingLevel };
11
+ export type { HeadingBaseProps, HeadingLevel, HeadingWeight } from './Heading.base';
11
12
 
12
- export interface HeadingProps extends React.HTMLAttributes<globalThis.HTMLHeadingElement> {
13
- /**
14
- * The heading's RANK — which tag it renders and where it sits in the document
15
- * outline. Not its size; see {@link HeadingProps.size}.
16
- */
17
- level?: HeadingLevel;
18
- /**
19
- * The step of the type scale to DRAW, when it differs from the rank. Defaults
20
- * to `level`, so every call written before this prop existed renders exactly
21
- * as it did.
22
- *
23
- * It exists because `level` used to do three jobs at once — pick the tag, set
24
- * the outline rank, set the font size — with no way to separate them. A page
25
- * title is an `h1` to a screen reader whatever it looks like, and a dense
26
- * screen may not want it drawn at the rank's size. Before this the only way to
27
- * say that was to override the component's CSS from outside, which each
28
- * consuming app ended up doing in its own dialect.
29
- *
30
- * ```tsx
31
- * <Heading level="h1" size="h3">Visão geral</Heading>
32
- * ```
33
- *
34
- * Reach for it when the two genuinely differ for ONE heading. If a whole
35
- * product wants a different scale, set `typography.headingScale` on the theme
36
- * instead — that is the knob for "our headings are smaller", and this is the
37
- * one for "this heading is".
38
- */
39
- size?: HeadingLevel;
40
- color?: ColorValue;
41
- weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
42
- gradient?: boolean;
43
- children: React.ReactNode;
44
- }
13
+ /** The web `Heading`: the shared contract, plus everything an `<h1>`…`<h6>` accepts. */
14
+ export interface HeadingProps
15
+ extends HeadingBaseProps,
16
+ Omit<React.HTMLAttributes<globalThis.HTMLHeadingElement>, 'color' | 'children'> {}
@@ -0,0 +1,3 @@
1
+ # Heading on React Native — known gaps
2
+
3
+ - `gradient` paints the gradient's first stop as a flat colour: React Native has no `background-clip: text` and no gradient fill in core. A host wanting the real thing adds a masked-gradient library.
@@ -0,0 +1,2 @@
1
+ export { Heading, headingStyle } from './Heading.native';
2
+ export type { HeadingBaseProps, HeadingLevel, HeadingProps, HeadingWeight } from './Heading.types.native';
@@ -1,2 +1,2 @@
1
1
  export { Heading } from './Heading';
2
- export type { HeadingLevel,HeadingProps } from './Heading.types';
2
+ export type { HeadingBaseProps, HeadingLevel, HeadingProps, HeadingWeight } from './Heading.types';
@@ -0,0 +1,25 @@
1
+ import type React from 'react';
2
+
3
+ import type { ColorValue, SizeValue } from '../../../tokens/vocabulary';
4
+
5
+ /**
6
+ * THE CONTRACT BOTH `Paragraph` RENDERERS HONOUR — and nothing else.
7
+ *
8
+ * No MUI and no react-native here, on purpose: this file ships in both
9
+ * declaration outputs (`dist/types` and `dist/types-native`), and a native
10
+ * consumer has no `@mui/material` to resolve a type import against. The web
11
+ * adds a `<p>`'s attributes in `Paragraph.types.ts`; the native side adds a
12
+ * react-native `Text`'s props in `Paragraph.types.native.ts`.
13
+ */
14
+ export type ParagraphVariant = 'default' | 'lead' | 'muted' | 'small';
15
+
16
+ export interface ParagraphBaseProps {
17
+ /** `lead` is larger and looser, `muted` faded, `small` a step down — all at the default size. */
18
+ variant?: ParagraphVariant;
19
+ /** Ignored by `muted` and `small`, which always paint the secondary ink. */
20
+ color?: ColorValue;
21
+ size?: SizeValue;
22
+ children: React.ReactNode;
23
+ testID?: string;
24
+ dataTestId?: string;
25
+ }
@@ -62,6 +62,17 @@ A semantic paragraph component with multiple visual variants for different conte
62
62
  </Paragraph>
63
63
  ```
64
64
 
65
+ ## React Native
66
+
67
+ The same import renders natively (`@12-apps/ui/typography/Paragraph` resolves
68
+ to `Paragraph.native.tsx` under Metro): a react-native `Text` styled from the
69
+ same `Paragraph.metrics.ts` the web derives its rem strings from — the same
70
+ five font sizes, the same line-height ratios multiplied out, the `1em` bottom
71
+ margin as an absolute number. `testID`, `dataTestId` and `data-testid` all
72
+ name the element; `onClick` and `onPress` both fire. There is no `<p>` on
73
+ native, so the element carries no paragraph semantics. See
74
+ [NATIVE.md](../../../../NATIVE.md).
75
+
65
76
  ## Accessibility Notes
66
77
 
67
78
  - Uses semantic `<p>` element for proper document structure
@@ -0,0 +1,41 @@
1
+ import type { UiTypeStep } from '../../../tokens/theme';
2
+ import type { SizeValue } from '../../../tokens/vocabulary';
3
+
4
+ /**
5
+ * THE NUMBERS BOTH `Paragraph` RENDERERS DRAW WITH.
6
+ *
7
+ * `Paragraph.tsx` used to hold these as rem strings inside its styled
8
+ * callback, and `Paragraph.native.tsx` would have held them again as numbers.
9
+ * Now there is one table, in px, and the web derives its rem from it (`px()`
10
+ * in the theme). Ratios and `em` values stay relative; the native side
11
+ * multiplies them out because React Native's `lineHeight`, `letterSpacing` and
12
+ * margins are absolute.
13
+ *
14
+ * NOT `TYPE_SIZES`: a paragraph is set looser than `Text`'s body scale (1.6
15
+ * against 1.5 at `md`), because it is read in runs of lines rather than as a
16
+ * label. The font sizes are the same five steps.
17
+ */
18
+ export const PARAGRAPH_SIZES: Record<SizeValue, UiTypeStep> = {
19
+ xs: { fontSize: 12, lineHeight: 1.4 },
20
+ sm: { fontSize: 14, lineHeight: 1.5 },
21
+ md: { fontSize: 16, lineHeight: 1.6 },
22
+ lg: { fontSize: 18, lineHeight: 1.6 },
23
+ xl: { fontSize: 20, lineHeight: 1.7 },
24
+ };
25
+
26
+ export const PARAGRAPH_FONT_WEIGHT = 400;
27
+
28
+ /** `margin: 0 0 1em 0` — one line of its own type below each paragraph. */
29
+ export const PARAGRAPH_MARGIN_BOTTOM_EM = 1;
30
+
31
+ /** The `lead` variant: a step up at the default size, looser leading and tracking. */
32
+ export const LEAD_FONT_SIZE = 18;
33
+ export const LEAD_LINE_HEIGHT = 1.7;
34
+ export const LEAD_LETTER_SPACING_EM = 0.01;
35
+
36
+ /** The `muted` variant: the secondary ink, faded further. */
37
+ export const MUTED_OPACITY = 0.8;
38
+
39
+ /** The `small` variant: a step down at the default size, on the secondary ink. */
40
+ export const SMALL_FONT_SIZE = 14;
41
+ export const SMALL_LINE_HEIGHT = 1.5;
@@ -0,0 +1,100 @@
1
+ import * as React from 'react';
2
+ import { Text as RNText, type GestureResponderEvent, type TextStyle } from 'react-native';
3
+
4
+ import {
5
+ LEAD_FONT_SIZE,
6
+ LEAD_LETTER_SPACING_EM,
7
+ LEAD_LINE_HEIGHT,
8
+ MUTED_OPACITY,
9
+ PARAGRAPH_FONT_WEIGHT,
10
+ PARAGRAPH_MARGIN_BOTTOM_EM,
11
+ PARAGRAPH_SIZES,
12
+ SMALL_FONT_SIZE,
13
+ SMALL_LINE_HEIGHT,
14
+ } from './Paragraph.metrics';
15
+ import type { ParagraphProps, ParagraphVariant } from './Paragraph.types.native';
16
+ import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
17
+ import { useUiTheme } from '../../../provider/use-ui-theme.native';
18
+ import type { UiTheme } from '../../../tokens/theme';
19
+ import type { ColorValue, SizeValue } from '../../../tokens/vocabulary';
20
+
21
+ /** Same mapping as the web `getColorFromTheme`: neutral is body ink, every other colour its slot's main. */
22
+ const inkFor = (theme: UiTheme, color: ColorValue): string =>
23
+ color === 'neutral' ? theme.palette.text.primary : theme.palette[color].main;
24
+
25
+ /** `lead` and `small` step up or down relative to the scale, but only at the default size. */
26
+ const sizeOverride = (size: SizeValue, atDefault: number): number =>
27
+ size === 'md' ? atDefault : PARAGRAPH_SIZES[size].fontSize;
28
+
29
+ /** React Native wants the weight as a string. */
30
+ const WEIGHT = String(PARAGRAPH_FONT_WEIGHT) as TextStyle['fontWeight'];
31
+
32
+ export interface ParagraphStyleArgs {
33
+ variant: ParagraphVariant;
34
+ color: ColorValue;
35
+ size: SizeValue;
36
+ }
37
+
38
+ /**
39
+ * The style the web `Paragraph` computes, in absolute numbers. `lineHeight`,
40
+ * `letterSpacing` and the `1em` bottom margin are multiplied out here because
41
+ * React Native has no ratio or `em` unit — the web keeps them relative and the
42
+ * browser does this step.
43
+ */
44
+ export function paragraphStyle(theme: UiTheme, a: ParagraphStyleArgs): TextStyle {
45
+ const step = PARAGRAPH_SIZES[a.size];
46
+ const metrics = (fontSize: number, lineHeight: number): TextStyle => ({
47
+ fontFamily: theme.typography.fontFamily,
48
+ fontSize,
49
+ lineHeight: fontSize * lineHeight,
50
+ marginBottom: fontSize * PARAGRAPH_MARGIN_BOTTOM_EM,
51
+ fontWeight: WEIGHT,
52
+ });
53
+
54
+ switch (a.variant) {
55
+ case 'lead': {
56
+ const fontSize = sizeOverride(a.size, LEAD_FONT_SIZE);
57
+ return {
58
+ ...metrics(fontSize, LEAD_LINE_HEIGHT),
59
+ color: inkFor(theme, a.color),
60
+ letterSpacing: LEAD_LETTER_SPACING_EM * fontSize,
61
+ };
62
+ }
63
+ case 'muted':
64
+ return {
65
+ ...metrics(step.fontSize, step.lineHeight),
66
+ color: theme.palette.text.secondary,
67
+ opacity: MUTED_OPACITY,
68
+ };
69
+ case 'small':
70
+ return {
71
+ ...metrics(sizeOverride(a.size, SMALL_FONT_SIZE), SMALL_LINE_HEIGHT),
72
+ color: theme.palette.text.secondary,
73
+ };
74
+ default:
75
+ return { ...metrics(step.fontSize, step.lineHeight), color: inkFor(theme, a.color) };
76
+ }
77
+ }
78
+
79
+ export const Paragraph = React.forwardRef<RNText, ParagraphProps>(
80
+ ({ variant = 'default', color = 'neutral', size = 'md', children, style, onClick, onPress, ...others }, ref) => {
81
+ const rest = withoutTestIdProps(others);
82
+ const theme = useUiTheme();
83
+ const resolved = React.useMemo(() => paragraphStyle(theme, { variant, color, size }), [theme, variant, color, size]);
84
+ const handlePress =
85
+ onClick || onPress
86
+ ? (event: GestureResponderEvent): void => {
87
+ onClick?.(event);
88
+ onPress?.(event);
89
+ }
90
+ : undefined;
91
+
92
+ return (
93
+ <RNText ref={ref} style={[resolved, style]} testID={resolveTestId(others)} onPress={handlePress} {...rest}>
94
+ {children}
95
+ </RNText>
96
+ );
97
+ },
98
+ );
99
+
100
+ Paragraph.displayName = 'Paragraph';