@12-apps/ui 6.17.0 → 6.18.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 (732) hide show
  1. package/NATIVE.md +94 -0
  2. package/components-catalog.md +23 -0
  3. package/components-guidelines.md +16 -1
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
  5. package/dist/_internal/components/data-display/CardKit/CardKebab.js +10 -4
  6. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -4
  7. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +10 -4
  8. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +9 -4
  9. package/dist/_internal/components/data-display/Carousel/Carousel.js +11 -6
  10. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +8 -3
  11. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +8 -3
  12. package/dist/_internal/components/data-display/Chart/Chart.js +11 -6
  13. package/dist/_internal/components/data-display/Chart/SpecChart.js +12 -7
  14. package/dist/_internal/components/data-display/Chart/chart-context.js +9 -4
  15. package/dist/_internal/components/data-display/Chart/chart-internals.js +8 -3
  16. package/dist/_internal/components/data-display/Chart/chart-renderers.js +10 -5
  17. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +1 -1
  18. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +8 -2
  19. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +50 -43
  20. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +70 -63
  21. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +12 -5
  22. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +16 -9
  23. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +16 -9
  24. package/dist/_internal/components/data-display/DataViews/base-card.js +8 -2
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +10 -4
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +9 -3
  27. package/dist/_internal/components/data-display/DataViews/base-list-card.js +13 -7
  28. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +10 -10
  29. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +8 -2
  30. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +11 -5
  31. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +15 -8
  32. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +8 -2
  33. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +12 -5
  34. package/dist/_internal/components/data-display/DataViews/data-views-export.js +12 -5
  35. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
  36. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +16 -9
  37. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +10 -4
  38. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +47 -40
  39. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +8 -2
  40. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +24 -17
  41. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +8 -2
  42. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +13 -6
  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 +12 -5
  45. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +19 -12
  46. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +21 -14
  47. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +18 -11
  48. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +12 -5
  49. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +8 -2
  50. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +12 -6
  51. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  52. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +8 -2
  53. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  54. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +3 -3
  55. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +8 -3
  56. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  57. package/dist/_internal/components/data-display/Sheet/Sheet.js +12 -7
  58. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +8 -3
  59. package/dist/_internal/components/data-display/index.js +68 -61
  60. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +10 -4
  61. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  62. package/dist/_internal/components/feedback/index.js +27 -21
  63. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  64. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  65. package/dist/_internal/components/form/Button/Button.base.js +1 -0
  66. package/dist/_internal/components/form/Button/Button.base.js.map +1 -0
  67. package/dist/_internal/components/form/Button/Button.helpers.js +1 -1
  68. package/dist/_internal/components/form/Button/Button.js +9 -3
  69. package/dist/_internal/components/form/Button/Button.metrics.js +47 -0
  70. package/dist/_internal/components/form/Button/Button.metrics.js.map +1 -0
  71. package/dist/_internal/components/form/Button/Button.styles.js +6 -1
  72. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  73. package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
  74. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  75. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  76. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  77. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  78. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  79. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  80. package/dist/_internal/components/form/CepField/CepField.js +4 -4
  81. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +1 -1
  82. package/dist/_internal/components/form/Command/Command.js +9 -4
  83. package/dist/_internal/components/form/Command/Command.styles.js +8 -3
  84. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +2 -2
  85. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +9 -9
  86. package/dist/_internal/components/form/Form/Form.js +1 -1
  87. package/dist/_internal/components/form/Input/Input.js +2 -2
  88. package/dist/_internal/components/form/Label/Label.js +9 -4
  89. package/dist/_internal/components/form/Label/Label.styles.js +8 -3
  90. package/dist/_internal/components/form/Menubar/Menubar.item.js +9 -4
  91. package/dist/_internal/components/form/Menubar/Menubar.js +12 -7
  92. package/dist/_internal/components/form/Menubar/Menubar.styles.js +8 -3
  93. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +10 -5
  94. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  95. package/dist/_internal/components/form/index.js +95 -88
  96. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  97. package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
  98. package/dist/_internal/components/form/total-form/Fields/SelectField.js +2 -2
  99. package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
  100. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +2 -2
  101. package/dist/_internal/components/form/total-form/Fields/index.js +24 -24
  102. package/dist/_internal/components/form/total-form/FormContainer.js +2 -2
  103. package/dist/_internal/components/form/total-form/SubmitButton.js +10 -4
  104. package/dist/_internal/components/index.js +261 -253
  105. package/dist/_internal/components/layout/Box/Box.base.js +8 -0
  106. package/dist/_internal/components/layout/Box/Box.base.js.map +1 -0
  107. package/dist/_internal/components/layout/Box/Box.js +22 -0
  108. package/dist/_internal/components/layout/Box/Box.js.map +1 -0
  109. package/dist/_internal/components/layout/Box/Box.types.js +8 -0
  110. package/dist/_internal/components/layout/Box/Box.types.js.map +1 -0
  111. package/dist/_internal/components/layout/Box/box-layout.js +11 -0
  112. package/dist/_internal/components/layout/Box/box-layout.js.map +1 -0
  113. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +2 -2
  114. package/dist/_internal/components/layout/Stack/Stack.base.js +1 -0
  115. package/dist/_internal/components/layout/Stack/Stack.base.js.map +1 -0
  116. package/dist/_internal/components/layout/Stack/Stack.js +22 -0
  117. package/dist/_internal/components/layout/Stack/Stack.js.map +1 -0
  118. package/dist/_internal/components/layout/Stack/Stack.types.js +1 -0
  119. package/dist/_internal/components/layout/Stack/Stack.types.js.map +1 -0
  120. package/dist/_internal/components/layout/Stack/with-dividers.js +8 -0
  121. package/dist/_internal/components/layout/Stack/with-dividers.js.map +1 -0
  122. package/dist/_internal/components/layout/index.js +19 -19
  123. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +18 -11
  124. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +8 -3
  125. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
  126. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  127. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
  128. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  129. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
  130. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  131. package/dist/_internal/components/navigation/index.js +38 -31
  132. package/dist/_internal/components/typography/Heading/Heading.js +4 -3
  133. package/dist/_internal/components/typography/Heading/Heading.styles.js +3 -2
  134. package/dist/_internal/components/typography/Text/Text.base.js +1 -0
  135. package/dist/_internal/components/typography/Text/Text.base.js.map +1 -0
  136. package/dist/_internal/components/typography/Text/Text.js +7 -1
  137. package/dist/_internal/components/typography/Text/Text.metrics.js +34 -0
  138. package/dist/_internal/components/typography/Text/Text.metrics.js.map +1 -0
  139. package/dist/_internal/components/typography/index.js +13 -7
  140. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  141. package/dist/_internal/components/utility/index.js +26 -26
  142. package/dist/_internal/icons/Icon.js +21 -0
  143. package/dist/_internal/icons/Icon.js.map +1 -0
  144. package/dist/_internal/icons/Icon.types.js +10 -0
  145. package/dist/_internal/icons/Icon.types.js.map +1 -0
  146. package/dist/_internal/icons/icon-color.js +10 -0
  147. package/dist/_internal/icons/icon-color.js.map +1 -0
  148. package/dist/_internal/icons/paths.generated.js +10 -0
  149. package/dist/_internal/icons/paths.generated.js.map +1 -0
  150. package/dist/_internal/platform/test-id.js +12 -0
  151. package/dist/_internal/platform/test-id.js.map +1 -0
  152. package/dist/_internal/provider/UiProvider.js +17 -0
  153. package/dist/_internal/provider/UiProvider.js.map +1 -0
  154. package/dist/_internal/provider/UiProvider.types.js +8 -0
  155. package/dist/_internal/provider/UiProvider.types.js.map +1 -0
  156. package/dist/_internal/provider/mui-bridge.js +17 -0
  157. package/dist/_internal/provider/mui-bridge.js.map +1 -0
  158. package/dist/_internal/provider/ui-theme-context.js +9 -0
  159. package/dist/_internal/provider/ui-theme-context.js.map +1 -0
  160. package/dist/_internal/provider/use-ui-theme.js +16 -0
  161. package/dist/_internal/provider/use-ui-theme.js.map +1 -0
  162. package/dist/_internal/social-login-button/social-login-button.js +15 -8
  163. package/dist/_internal/tokens/color.js +26 -0
  164. package/dist/_internal/tokens/color.js.map +1 -0
  165. package/dist/_internal/tokens/css-units.js +10 -0
  166. package/dist/_internal/tokens/css-units.js.map +1 -0
  167. package/dist/_internal/tokens/heading-scale.js +10 -0
  168. package/dist/_internal/tokens/heading-scale.js.map +1 -0
  169. package/dist/_internal/tokens/theme.js +33 -0
  170. package/dist/_internal/tokens/theme.js.map +1 -0
  171. package/dist/_internal/tokens/typography.js +5 -3
  172. package/dist/_internal/tokens/vocabulary.js +22 -0
  173. package/dist/_internal/tokens/vocabulary.js.map +1 -0
  174. package/dist/_internal/user-avatar/user-avatar.js +12 -5
  175. package/dist/charts.js +12 -7
  176. package/dist/{chunk-IAQFQNBL.js → chunk-24BUCMQA.js} +15 -9
  177. package/dist/chunk-24BUCMQA.js.map +1 -0
  178. package/dist/{chunk-GFBNUWT5.js → chunk-2EKALM6P.js} +6 -6
  179. package/dist/{chunk-VRHBJXZ7.js → chunk-2PCOC3PT.js} +62 -42
  180. package/dist/chunk-2PCOC3PT.js.map +1 -0
  181. package/dist/{chunk-ISW5K72V.js → chunk-2ZRZTGWP.js} +5 -5
  182. package/dist/{chunk-3ORFVLI3.js → chunk-37YPZHAG.js} +2 -2
  183. package/dist/{chunk-EB4BTKKY.js → chunk-3AFUWDYS.js} +4 -4
  184. package/dist/{chunk-HR7YTBR7.js → chunk-3AOOI2NR.js} +4 -4
  185. package/dist/{chunk-PKJKA4CU.js → chunk-3ZFORMNT.js} +4 -4
  186. package/dist/{chunk-PLK7UGO6.js → chunk-4EJSUL62.js} +3 -3
  187. package/dist/{chunk-WMALDOF5.js → chunk-4G3FGCWX.js} +4 -4
  188. package/dist/chunk-4GGH6ZQ7.js +14 -0
  189. package/dist/chunk-4GGH6ZQ7.js.map +1 -0
  190. package/dist/{chunk-2PPWKCMW.js → chunk-4N4ENTF7.js} +2 -2
  191. package/dist/{chunk-6CBYPMYQ.js → chunk-4R2CDZOQ.js} +4 -4
  192. package/dist/{chunk-FJHNNSD3.js → chunk-4WK2RTVY.js} +5 -5
  193. package/dist/{chunk-6U7NA74A.js → chunk-5HOJSVQH.js} +2 -2
  194. package/dist/{chunk-2XGM5PDA.js → chunk-624TFFLJ.js} +5 -3
  195. package/dist/{chunk-2XGM5PDA.js.map → chunk-624TFFLJ.js.map} +1 -1
  196. package/dist/{chunk-QETBO7EC.js → chunk-67LDIJQZ.js} +2 -2
  197. package/dist/chunk-6JAIFIPW.js +111 -0
  198. package/dist/chunk-6JAIFIPW.js.map +1 -0
  199. package/dist/{chunk-X4X4CVWJ.js → chunk-6JZE4IIN.js} +2 -2
  200. package/dist/{chunk-LUWATXU4.js → chunk-74KMXBG3.js} +10 -10
  201. package/dist/{chunk-ZDWU52DJ.js → chunk-7AR2R7TV.js} +4 -4
  202. package/dist/{chunk-B6IURHSZ.js → chunk-7DNQHMDO.js} +4 -4
  203. package/dist/{chunk-G7CFUI4I.js → chunk-7EESF76V.js} +2 -2
  204. package/dist/chunk-7JXLGOM2.js +25 -0
  205. package/dist/chunk-7JXLGOM2.js.map +1 -0
  206. package/dist/{chunk-AX7UFG2U.js → chunk-7RZ4WOQW.js} +3 -3
  207. package/dist/chunk-7V6ZRQYW.js +90 -0
  208. package/dist/chunk-7V6ZRQYW.js.map +1 -0
  209. package/dist/chunk-7ZPUN7TV.js +29 -0
  210. package/dist/chunk-7ZPUN7TV.js.map +1 -0
  211. package/dist/chunk-AG66JBNH.js +21 -0
  212. package/dist/chunk-AG66JBNH.js.map +1 -0
  213. package/dist/{chunk-WFX5GASM.js → chunk-B7BZAIHL.js} +2 -2
  214. package/dist/{chunk-RX6DWIIW.js → chunk-BILE3A7F.js} +3 -3
  215. package/dist/{chunk-XSKVBGCZ.js → chunk-BLBOYCOV.js} +6 -6
  216. package/dist/{chunk-4Y65Q3CR.js → chunk-C52BELLW.js} +3 -3
  217. package/dist/{chunk-QCIWROKG.js → chunk-CGQI4XE5.js} +5 -3
  218. package/dist/{chunk-QCIWROKG.js.map → chunk-CGQI4XE5.js.map} +1 -1
  219. package/dist/{chunk-RP3W6IQO.js → chunk-CPNSVIIB.js} +5 -5
  220. package/dist/{chunk-T4SM36XC.js → chunk-D7FJ2GAD.js} +2 -2
  221. package/dist/{chunk-SCGVB7DS.js → chunk-DOADQW7I.js} +2 -2
  222. package/dist/{chunk-RIAIJTEW.js → chunk-DOMEYGTN.js} +2 -2
  223. package/dist/{chunk-7HPPUO2A.js → chunk-DQHC5P64.js} +3 -3
  224. package/dist/{chunk-W2UTDN4T.js → chunk-DWZ7FLA7.js} +4 -4
  225. package/dist/{chunk-24LW52EU.js → chunk-DX527XPL.js} +2 -2
  226. package/dist/{chunk-OK5BHFZE.js → chunk-E6OILRUU.js} +2 -2
  227. package/dist/{chunk-A4YWFX5C.js → chunk-ENNW5SKT.js} +2 -2
  228. package/dist/{chunk-BPYPUEM5.js → chunk-EPNCYUQ7.js} +5 -5
  229. package/dist/{chunk-MUAVYVDJ.js → chunk-EW7ZNSWU.js} +5 -5
  230. package/dist/{chunk-DWUMMMLR.js → chunk-FOMK3WPG.js} +2 -2
  231. package/dist/{chunk-RQ4EQ5FJ.js → chunk-FP4R47TM.js} +2 -2
  232. package/dist/{chunk-7CA6GVBO.js → chunk-FZXKH2ZT.js} +3 -7
  233. package/dist/chunk-FZXKH2ZT.js.map +1 -0
  234. package/dist/{chunk-SHQWIDD5.js → chunk-GJQYM3PM.js} +4 -4
  235. package/dist/{chunk-WEH5TCPE.js → chunk-GSTRPZS4.js} +8 -8
  236. package/dist/chunk-H2EQVMU3.js +49 -0
  237. package/dist/chunk-H2EQVMU3.js.map +1 -0
  238. package/dist/{chunk-WC3W36AM.js → chunk-HOJL2GKW.js} +4 -4
  239. package/dist/{chunk-PMFW55F5.js → chunk-HSAH5QUQ.js} +5 -5
  240. package/dist/{chunk-A3KY6NUA.js → chunk-IH4CX43Q.js} +2 -2
  241. package/dist/{chunk-HEDOL2RV.js → chunk-IJIT5HQP.js} +3 -3
  242. package/dist/{chunk-VZO7VREP.js → chunk-IPPTOL53.js} +2 -2
  243. package/dist/chunk-IPPTOL53.js.map +1 -0
  244. package/dist/{chunk-VR5HDUBK.js → chunk-IPS55KWK.js} +2 -2
  245. package/dist/chunk-ITGG5OKP.js +86 -0
  246. package/dist/chunk-ITGG5OKP.js.map +1 -0
  247. package/dist/{chunk-ELYLG4F7.js → chunk-J54WH74M.js} +4 -4
  248. package/dist/chunk-J6UFAMIC.js +19 -0
  249. package/dist/chunk-J6UFAMIC.js.map +1 -0
  250. package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
  251. package/dist/{chunk-NYUGX76C.js → chunk-JT6TERQL.js} +20 -17
  252. package/dist/chunk-JT6TERQL.js.map +1 -0
  253. package/dist/chunk-KLREH4X6.js +16 -0
  254. package/dist/chunk-KLREH4X6.js.map +1 -0
  255. package/dist/{chunk-EY4LPLIR.js → chunk-KQ74QU55.js} +3 -3
  256. package/dist/{chunk-XULTDO56.js → chunk-KT6HWAEN.js} +2 -2
  257. package/dist/{chunk-COSJTD6Z.js → chunk-KZSKI2R3.js} +2 -2
  258. package/dist/{chunk-DQIQKIEA.js → chunk-L5ZZJ4XE.js} +3 -3
  259. package/dist/{chunk-SFAP5EH5.js → chunk-LUMF63BM.js} +4 -4
  260. package/dist/{chunk-LIQHOLDQ.js → chunk-LYMAMKJT.js} +2 -2
  261. package/dist/{chunk-6RFL7HGI.js → chunk-LZRURORY.js} +4 -4
  262. package/dist/{chunk-KXNWDXR7.js → chunk-M2K7BPHX.js} +2 -2
  263. package/dist/{chunk-WLDK74RR.js → chunk-MSUSZLRE.js} +2 -2
  264. package/dist/{chunk-EE2LBAJH.js → chunk-MUVJD26L.js} +10 -10
  265. package/dist/{chunk-VVXRIPV5.js → chunk-MY5VNNSP.js} +9 -9
  266. package/dist/{chunk-JPDKRGYI.js → chunk-MZQTHSLN.js} +3 -3
  267. package/dist/{chunk-FF55LRSV.js → chunk-NETZMGQP.js} +2 -2
  268. package/dist/{chunk-3QGRQNTP.js → chunk-NFAKRI4S.js} +6 -6
  269. package/dist/{chunk-KSF7TLXH.js → chunk-NHSMLVNC.js} +6 -6
  270. package/dist/chunk-NQN5Z36J.js +182 -0
  271. package/dist/chunk-NQN5Z36J.js.map +1 -0
  272. package/dist/{chunk-HQJ75HHI.js → chunk-NYLXHOMR.js} +2 -2
  273. package/dist/chunk-OCUVKI63.js +35 -0
  274. package/dist/chunk-OCUVKI63.js.map +1 -0
  275. package/dist/{chunk-CXA6UNFF.js → chunk-OH3YGJT5.js} +7 -7
  276. package/dist/{chunk-45N6LXUU.js → chunk-OI3HOI74.js} +2 -2
  277. package/dist/{chunk-REMK55JI.js → chunk-OLZTGVBT.js} +4 -4
  278. package/dist/{chunk-M3RIC6JI.js → chunk-OQXOYHIV.js} +4 -4
  279. package/dist/{chunk-3LO5JWTC.js → chunk-P5YYVDAD.js} +3 -3
  280. package/dist/{chunk-6TYSEAAT.js → chunk-PC5FFEIY.js} +4 -4
  281. package/dist/{chunk-SLYZMJEL.js → chunk-PHCSPHDH.js} +3 -3
  282. package/dist/{chunk-TCAB2ERD.js → chunk-PNYXXLPU.js} +2 -2
  283. package/dist/chunk-PT6TCWIW.js +13 -0
  284. package/dist/chunk-PT6TCWIW.js.map +1 -0
  285. package/dist/{chunk-IPE5FFFD.js → chunk-PUBPZOQJ.js} +2 -2
  286. package/dist/chunk-QLWBQQW7.js +18 -0
  287. package/dist/chunk-QLWBQQW7.js.map +1 -0
  288. package/dist/{chunk-6HNEEJES.js → chunk-QRX5BYUQ.js} +4 -4
  289. package/dist/chunk-QWBQVQRG.js +18 -0
  290. package/dist/chunk-QWBQVQRG.js.map +1 -0
  291. package/dist/{chunk-5QXSPLWU.js → chunk-R6SSXEK2.js} +2 -2
  292. package/dist/chunk-RLC46NIW.js +47 -0
  293. package/dist/chunk-RLC46NIW.js.map +1 -0
  294. package/dist/{chunk-NR3J7VQL.js → chunk-RNCQ5KHQ.js} +2 -2
  295. package/dist/chunk-RTSK5OZT.js +15 -0
  296. package/dist/chunk-RTSK5OZT.js.map +1 -0
  297. package/dist/{chunk-7FOOLP5H.js → chunk-RXSGHPCR.js} +4 -4
  298. package/dist/{chunk-Z56IO7OV.js → chunk-RXVPUW7V.js} +2 -2
  299. package/dist/{chunk-5SYD23V4.js → chunk-SKZHOWTS.js} +4 -4
  300. package/dist/{chunk-FWL2N2KH.js → chunk-SX3V2DLV.js} +2 -2
  301. package/dist/{chunk-AUYC5K5K.js → chunk-TAMIZE4Q.js} +1 -1
  302. package/dist/chunk-TAMIZE4Q.js.map +1 -0
  303. package/dist/{chunk-3GOX75ZM.js → chunk-TF4TPLF2.js} +2 -2
  304. package/dist/{chunk-3DQP6OPC.js → chunk-THBT56JE.js} +2 -2
  305. package/dist/{chunk-DGMR3IMM.js → chunk-U7RULTSH.js} +3 -3
  306. package/dist/{chunk-RRX6ZTNX.js → chunk-UEJQQVP2.js} +4 -4
  307. package/dist/{chunk-O3OU2PPT.js → chunk-UQHJQ26Y.js} +2 -2
  308. package/dist/chunk-V3PLFYKO.js +34 -0
  309. package/dist/chunk-V3PLFYKO.js.map +1 -0
  310. package/dist/chunk-V5IOLAIS.js +22 -0
  311. package/dist/chunk-V5IOLAIS.js.map +1 -0
  312. package/dist/{chunk-WR6F6J43.js → chunk-V662PA6T.js} +6 -6
  313. package/dist/{chunk-VJKRJYZL.js → chunk-VEFDL77X.js} +2 -2
  314. package/dist/{chunk-GT7C6TSM.js → chunk-VNEEXUWA.js} +3 -3
  315. package/dist/{chunk-N34YHFZW.js → chunk-W2YNUUVJ.js} +2 -2
  316. package/dist/{chunk-N4WANJI3.js → chunk-WBVHRLIS.js} +4 -4
  317. package/dist/{chunk-MHFJBNDP.js → chunk-WO52KYSU.js} +8 -8
  318. package/dist/{chunk-ENK4XGKF.js → chunk-WUPVHIMD.js} +2 -2
  319. package/dist/{chunk-KNNBIXWJ.js → chunk-WX7VWW3W.js} +3 -3
  320. package/dist/{chunk-TUAIPMU7.js → chunk-X5BHPSAC.js} +5 -5
  321. package/dist/chunk-X5D3PTWI.js +58 -0
  322. package/dist/chunk-X5D3PTWI.js.map +1 -0
  323. package/dist/{chunk-TPUIIZN2.js → chunk-XKMFIH27.js} +12 -12
  324. package/dist/{chunk-T53L42XW.js → chunk-XSJWN3WH.js} +7 -7
  325. package/dist/{chunk-AVU6KU27.js → chunk-XXDXW6TX.js} +2 -2
  326. package/dist/chunk-XZTRZ3HO.js +7 -0
  327. package/dist/chunk-XZTRZ3HO.js.map +1 -0
  328. package/dist/chunk-YMRI5QKG.js +134 -0
  329. package/dist/chunk-YMRI5QKG.js.map +1 -0
  330. package/dist/{chunk-45OIUWGO.js → chunk-YNQGXSDD.js} +5 -5
  331. package/dist/{chunk-5VVM2PPV.js → chunk-ZEBJT5JZ.js} +3 -3
  332. package/dist/{chunk-DJORMYOV.js → chunk-ZU3SWR4I.js} +2 -2
  333. package/dist/data-display/AsyncStateContainer.js +3 -3
  334. package/dist/data-display/CardKit.js +14 -8
  335. package/dist/data-display/Carousel.js +11 -6
  336. package/dist/data-display/Chart.js +12 -7
  337. package/dist/data-display/DataGrid.js +1 -1
  338. package/dist/data-display/DataViews.js +78 -71
  339. package/dist/data-display/DescriptionItem.js +8 -2
  340. package/dist/data-display/InteractiveTooltip.js +2 -2
  341. package/dist/data-display/Lightbox.js +3 -3
  342. package/dist/data-display/Sheet.js +12 -7
  343. package/dist/en-US.js +8 -8
  344. package/dist/feedback/ConfirmAction.js +12 -6
  345. package/dist/feedback/TutorialOverlay.js +2 -2
  346. package/dist/form/AddressAutocomplete.js +6 -6
  347. package/dist/form/Button.js +9 -3
  348. package/dist/form/Calendar.js +6 -6
  349. package/dist/form/CategorySelect.js +11 -11
  350. package/dist/form/CepField.js +4 -4
  351. package/dist/form/CodeEditor.js +1 -1
  352. package/dist/form/Command.js +9 -4
  353. package/dist/form/CreatableSelect.js +2 -2
  354. package/dist/form/DateRangePicker.js +9 -9
  355. package/dist/form/Form.js +1 -1
  356. package/dist/form/Input.js +2 -2
  357. package/dist/form/Label.js +9 -4
  358. package/dist/form/Menubar.js +12 -7
  359. package/dist/form/RichTextEditor.js +2 -2
  360. package/dist/form/total-form.js +38 -32
  361. package/dist/icons.js +31 -0
  362. package/dist/icons.js.map +1 -0
  363. package/dist/layout/Box.js +23 -0
  364. package/dist/layout/Box.js.map +1 -0
  365. package/dist/layout/SettingsLayout.js +2 -2
  366. package/dist/layout/Stack.js +22 -0
  367. package/dist/layout/Stack.js.map +1 -0
  368. package/dist/locales.js +25 -25
  369. package/dist/native/chunks/chunk-5WLOVHKK.js +29 -0
  370. package/dist/native/chunks/chunk-5WLOVHKK.js.map +1 -0
  371. package/dist/native/chunks/chunk-L2UUNK2M.js +316 -0
  372. package/dist/native/chunks/chunk-L2UUNK2M.js.map +1 -0
  373. package/dist/native/chunks/chunk-M4DTJDWU.js +18 -0
  374. package/dist/native/chunks/chunk-M4DTJDWU.js.map +1 -0
  375. package/dist/native/chunks/chunk-QZ233LRH.js +136 -0
  376. package/dist/native/chunks/chunk-QZ233LRH.js.map +1 -0
  377. package/dist/native/chunks/chunk-VGBKUL6D.js +21 -0
  378. package/dist/native/chunks/chunk-VGBKUL6D.js.map +1 -0
  379. package/dist/native/form/Button.js +321 -0
  380. package/dist/native/form/Button.js.map +1 -0
  381. package/dist/native/icons.js +108 -0
  382. package/dist/native/icons.js.map +1 -0
  383. package/dist/native/layout/Box.js +12 -0
  384. package/dist/native/layout/Box.js.map +1 -0
  385. package/dist/native/layout/Stack.js +30 -0
  386. package/dist/native/layout/Stack.js.map +1 -0
  387. package/dist/native/provider.js +26 -0
  388. package/dist/native/provider.js.map +1 -0
  389. package/dist/native/tokens.js +65 -0
  390. package/dist/native/tokens.js.map +1 -0
  391. package/dist/native/typography/Text.js +131 -0
  392. package/dist/native/typography/Text.js.map +1 -0
  393. package/dist/navigation/AppHeader.js +19 -12
  394. package/dist/navigation/CommandPalette.js +3 -3
  395. package/dist/navigation/NavigationMenu.js +5 -5
  396. package/dist/navigation/Pagination.js +2 -2
  397. package/dist/provider.js +26 -0
  398. package/dist/provider.js.map +1 -0
  399. package/dist/pt-BR.js +8 -8
  400. package/dist/social-login-button.js +15 -8
  401. package/dist/tokens.js +59 -6
  402. package/dist/types/components/form/Button/Button.base.d.ts +65 -0
  403. package/dist/types/components/form/Button/Button.base.d.ts.map +1 -0
  404. package/dist/types/components/form/Button/Button.d.ts.map +1 -1
  405. package/dist/types/components/form/Button/Button.helpers.d.ts +7 -3
  406. package/dist/types/components/form/Button/Button.helpers.d.ts.map +1 -1
  407. package/dist/types/components/form/Button/Button.metrics.d.ts +52 -0
  408. package/dist/types/components/form/Button/Button.metrics.d.ts.map +1 -0
  409. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  410. package/dist/types/components/form/Button/Button.types.d.ts +3 -46
  411. package/dist/types/components/form/Button/Button.types.d.ts.map +1 -1
  412. package/dist/types/components/form/Button/index.d.ts +1 -1
  413. package/dist/types/components/form/Button/index.d.ts.map +1 -1
  414. package/dist/types/components/form/Form/Form.d.ts.map +1 -1
  415. package/dist/types/components/layout/Box/Box.base.d.ts +60 -0
  416. package/dist/types/components/layout/Box/Box.base.d.ts.map +1 -0
  417. package/dist/types/components/layout/Box/Box.d.ts +10 -0
  418. package/dist/types/components/layout/Box/Box.d.ts.map +1 -0
  419. package/dist/types/components/layout/Box/Box.types.d.ts +11 -0
  420. package/dist/types/components/layout/Box/Box.types.d.ts.map +1 -0
  421. package/dist/types/components/layout/Box/box-layout.d.ts +42 -0
  422. package/dist/types/components/layout/Box/box-layout.d.ts.map +1 -0
  423. package/dist/types/components/layout/Box/index.d.ts +5 -0
  424. package/dist/types/components/layout/Box/index.d.ts.map +1 -0
  425. package/dist/types/components/layout/Stack/Stack.base.d.ts +13 -0
  426. package/dist/types/components/layout/Stack/Stack.base.d.ts.map +1 -0
  427. package/dist/types/components/layout/Stack/Stack.d.ts +4 -0
  428. package/dist/types/components/layout/Stack/Stack.d.ts.map +1 -0
  429. package/dist/types/components/layout/Stack/Stack.types.d.ts +5 -0
  430. package/dist/types/components/layout/Stack/Stack.types.d.ts.map +1 -0
  431. package/dist/types/components/layout/Stack/index.d.ts +3 -0
  432. package/dist/types/components/layout/Stack/index.d.ts.map +1 -0
  433. package/dist/types/components/layout/Stack/with-dividers.d.ts +4 -0
  434. package/dist/types/components/layout/Stack/with-dividers.d.ts.map +1 -0
  435. package/dist/types/components/typography/Text/Text.base.d.ts +23 -0
  436. package/dist/types/components/typography/Text/Text.base.d.ts.map +1 -0
  437. package/dist/types/components/typography/Text/Text.d.ts.map +1 -1
  438. package/dist/types/components/typography/Text/Text.metrics.d.ts +29 -0
  439. package/dist/types/components/typography/Text/Text.metrics.d.ts.map +1 -0
  440. package/dist/types/components/typography/Text/Text.types.d.ts +3 -11
  441. package/dist/types/components/typography/Text/Text.types.d.ts.map +1 -1
  442. package/dist/types/components/typography/Text/index.d.ts +1 -1
  443. package/dist/types/components/typography/Text/index.d.ts.map +1 -1
  444. package/dist/types/icons/Icon.d.ts +13 -0
  445. package/dist/types/icons/Icon.d.ts.map +1 -0
  446. package/dist/types/icons/Icon.types.d.ts +30 -0
  447. package/dist/types/icons/Icon.types.d.ts.map +1 -0
  448. package/dist/types/icons/icon-color.d.ts +10 -0
  449. package/dist/types/icons/icon-color.d.ts.map +1 -0
  450. package/dist/types/icons/index.d.ts +6 -0
  451. package/dist/types/icons/index.d.ts.map +1 -0
  452. package/dist/types/icons/paths.generated.d.ts +43 -0
  453. package/dist/types/icons/paths.generated.d.ts.map +1 -0
  454. package/dist/types/platform/test-id.d.ts +21 -0
  455. package/dist/types/platform/test-id.d.ts.map +1 -0
  456. package/dist/types/provider/UiProvider.d.ts +15 -0
  457. package/dist/types/provider/UiProvider.d.ts.map +1 -0
  458. package/dist/types/provider/UiProvider.types.d.ts +17 -0
  459. package/dist/types/provider/UiProvider.types.d.ts.map +1 -0
  460. package/dist/types/provider/index.d.ts +5 -0
  461. package/dist/types/provider/index.d.ts.map +1 -0
  462. package/dist/types/provider/mui-bridge.d.ts +7 -0
  463. package/dist/types/provider/mui-bridge.d.ts.map +1 -0
  464. package/dist/types/provider/ui-theme-context.d.ts +12 -0
  465. package/dist/types/provider/ui-theme-context.d.ts.map +1 -0
  466. package/dist/types/provider/use-ui-theme.d.ts +11 -0
  467. package/dist/types/provider/use-ui-theme.d.ts.map +1 -0
  468. package/dist/types/tokens/color.d.ts +44 -0
  469. package/dist/types/tokens/color.d.ts.map +1 -0
  470. package/dist/types/tokens/css-units.d.ts +14 -0
  471. package/dist/types/tokens/css-units.d.ts.map +1 -0
  472. package/dist/types/tokens/heading-scale.d.ts +65 -0
  473. package/dist/types/tokens/heading-scale.d.ts.map +1 -0
  474. package/dist/types/tokens/scales.d.ts +9 -114
  475. package/dist/types/tokens/scales.d.ts.map +1 -1
  476. package/dist/types/tokens/theme.d.ts +166 -0
  477. package/dist/types/tokens/theme.d.ts.map +1 -0
  478. package/dist/types/tokens/typography.d.ts +6 -62
  479. package/dist/types/tokens/typography.d.ts.map +1 -1
  480. package/dist/types/tokens/vocabulary.d.ts +117 -0
  481. package/dist/types/tokens/vocabulary.d.ts.map +1 -0
  482. package/dist/types-native/components/form/Button/Button.base.d.ts +65 -0
  483. package/dist/types-native/components/form/Button/Button.base.d.ts.map +1 -0
  484. package/dist/types-native/components/form/Button/Button.helpers.d.ts +10 -0
  485. package/dist/types-native/components/form/Button/Button.helpers.d.ts.map +1 -0
  486. package/dist/types-native/components/form/Button/Button.metrics.d.ts +52 -0
  487. package/dist/types-native/components/form/Button/Button.metrics.d.ts.map +1 -0
  488. package/dist/types-native/components/form/Button/Button.native.d.ts +10 -0
  489. package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -0
  490. package/dist/types-native/components/form/Button/Button.types.native.d.ts +17 -0
  491. package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -0
  492. package/dist/types-native/components/form/Button/index.native.d.ts +3 -0
  493. package/dist/types-native/components/form/Button/index.native.d.ts.map +1 -0
  494. package/dist/types-native/components/layout/Box/Box.base.d.ts +60 -0
  495. package/dist/types-native/components/layout/Box/Box.base.d.ts.map +1 -0
  496. package/dist/types-native/components/layout/Box/Box.native.d.ts +7 -0
  497. package/dist/types-native/components/layout/Box/Box.native.d.ts.map +1 -0
  498. package/dist/types-native/components/layout/Box/Box.types.native.d.ts +9 -0
  499. package/dist/types-native/components/layout/Box/Box.types.native.d.ts.map +1 -0
  500. package/dist/types-native/components/layout/Box/box-layout.d.ts +42 -0
  501. package/dist/types-native/components/layout/Box/box-layout.d.ts.map +1 -0
  502. package/dist/types-native/components/layout/Box/index.native.d.ts +5 -0
  503. package/dist/types-native/components/layout/Box/index.native.d.ts.map +1 -0
  504. package/dist/types-native/components/layout/Stack/Stack.base.d.ts +13 -0
  505. package/dist/types-native/components/layout/Stack/Stack.base.d.ts.map +1 -0
  506. package/dist/types-native/components/layout/Stack/Stack.native.d.ts +4 -0
  507. package/dist/types-native/components/layout/Stack/Stack.native.d.ts.map +1 -0
  508. package/dist/types-native/components/layout/Stack/Stack.types.native.d.ts +5 -0
  509. package/dist/types-native/components/layout/Stack/Stack.types.native.d.ts.map +1 -0
  510. package/dist/types-native/components/layout/Stack/index.native.d.ts +3 -0
  511. package/dist/types-native/components/layout/Stack/index.native.d.ts.map +1 -0
  512. package/dist/types-native/components/layout/Stack/with-dividers.d.ts +4 -0
  513. package/dist/types-native/components/layout/Stack/with-dividers.d.ts.map +1 -0
  514. package/dist/types-native/components/typography/Text/Text.base.d.ts +23 -0
  515. package/dist/types-native/components/typography/Text/Text.base.d.ts.map +1 -0
  516. package/dist/types-native/components/typography/Text/Text.metrics.d.ts +29 -0
  517. package/dist/types-native/components/typography/Text/Text.metrics.d.ts.map +1 -0
  518. package/dist/types-native/components/typography/Text/Text.native.d.ts +25 -0
  519. package/dist/types-native/components/typography/Text/Text.native.d.ts.map +1 -0
  520. package/dist/types-native/components/typography/Text/Text.types.native.d.ts +8 -0
  521. package/dist/types-native/components/typography/Text/Text.types.native.d.ts.map +1 -0
  522. package/dist/types-native/components/typography/Text/index.native.d.ts +3 -0
  523. package/dist/types-native/components/typography/Text/index.native.d.ts.map +1 -0
  524. package/dist/types-native/icons/Icon.native.d.ts +15 -0
  525. package/dist/types-native/icons/Icon.native.d.ts.map +1 -0
  526. package/dist/types-native/icons/Icon.types.d.ts +30 -0
  527. package/dist/types-native/icons/Icon.types.d.ts.map +1 -0
  528. package/dist/types-native/icons/icon-color.d.ts +10 -0
  529. package/dist/types-native/icons/icon-color.d.ts.map +1 -0
  530. package/dist/types-native/icons/index.native.d.ts +6 -0
  531. package/dist/types-native/icons/index.native.d.ts.map +1 -0
  532. package/dist/types-native/icons/paths.generated.d.ts +43 -0
  533. package/dist/types-native/icons/paths.generated.d.ts.map +1 -0
  534. package/dist/types-native/platform/test-id.d.ts +21 -0
  535. package/dist/types-native/platform/test-id.d.ts.map +1 -0
  536. package/dist/types-native/provider/UiProvider.native.d.ts +8 -0
  537. package/dist/types-native/provider/UiProvider.native.d.ts.map +1 -0
  538. package/dist/types-native/provider/UiProvider.types.d.ts +17 -0
  539. package/dist/types-native/provider/UiProvider.types.d.ts.map +1 -0
  540. package/dist/types-native/provider/index.native.d.ts +4 -0
  541. package/dist/types-native/provider/index.native.d.ts.map +1 -0
  542. package/dist/types-native/provider/ui-theme-context.d.ts +12 -0
  543. package/dist/types-native/provider/ui-theme-context.d.ts.map +1 -0
  544. package/dist/types-native/provider/use-ui-theme.native.d.ts +4 -0
  545. package/dist/types-native/provider/use-ui-theme.native.d.ts.map +1 -0
  546. package/dist/types-native/tokens/color.d.ts +44 -0
  547. package/dist/types-native/tokens/color.d.ts.map +1 -0
  548. package/dist/types-native/tokens/css-units.d.ts +14 -0
  549. package/dist/types-native/tokens/css-units.d.ts.map +1 -0
  550. package/dist/types-native/tokens/heading-scale.d.ts +65 -0
  551. package/dist/types-native/tokens/heading-scale.d.ts.map +1 -0
  552. package/dist/types-native/tokens/index.native.d.ts +10 -0
  553. package/dist/types-native/tokens/index.native.d.ts.map +1 -0
  554. package/dist/types-native/tokens/theme.d.ts +166 -0
  555. package/dist/types-native/tokens/theme.d.ts.map +1 -0
  556. package/dist/types-native/tokens/vocabulary.d.ts +117 -0
  557. package/dist/types-native/tokens/vocabulary.d.ts.map +1 -0
  558. package/dist/typography/Heading.js +4 -3
  559. package/dist/typography/Text.js +7 -1
  560. package/dist/user-avatar.js +12 -5
  561. package/dist/utility/InstallPrompt.js +2 -2
  562. package/package.json +79 -7
  563. package/src/components/form/Button/Button.base.ts +80 -0
  564. package/src/components/form/Button/Button.helpers.ts +12 -7
  565. package/src/components/form/Button/Button.metrics.ts +101 -0
  566. package/src/components/form/Button/Button.native.tsx +339 -0
  567. package/src/components/form/Button/Button.styles.ts +16 -16
  568. package/src/components/form/Button/Button.tsx +8 -5
  569. package/src/components/form/Button/Button.types.native.ts +27 -0
  570. package/src/components/form/Button/Button.types.ts +8 -58
  571. package/src/components/form/Button/index.native.ts +2 -0
  572. package/src/components/form/Button/index.ts +1 -1
  573. package/src/components/form/Form/Form.md +46 -1
  574. package/src/components/form/Form/Form.tsx +40 -1
  575. package/src/components/layout/Box/Box.base.ts +69 -0
  576. package/src/components/layout/Box/Box.md +46 -0
  577. package/src/components/layout/Box/Box.native.tsx +22 -0
  578. package/src/components/layout/Box/Box.tsx +56 -0
  579. package/src/components/layout/Box/Box.types.native.ts +21 -0
  580. package/src/components/layout/Box/Box.types.ts +22 -0
  581. package/src/components/layout/Box/box-layout.ts +144 -0
  582. package/src/components/layout/Box/index.native.ts +14 -0
  583. package/src/components/layout/Box/index.ts +14 -0
  584. package/src/components/layout/Stack/Stack.base.ts +14 -0
  585. package/src/components/layout/Stack/Stack.md +19 -0
  586. package/src/components/layout/Stack/Stack.native.tsx +16 -0
  587. package/src/components/layout/Stack/Stack.tsx +15 -0
  588. package/src/components/layout/Stack/Stack.types.native.ts +6 -0
  589. package/src/components/layout/Stack/Stack.types.ts +6 -0
  590. package/src/components/layout/Stack/index.native.ts +2 -0
  591. package/src/components/layout/Stack/index.ts +2 -0
  592. package/src/components/layout/Stack/with-dividers.ts +15 -0
  593. package/src/components/typography/Text/Text.base.ts +25 -0
  594. package/src/components/typography/Text/Text.metrics.ts +30 -0
  595. package/src/components/typography/Text/Text.native.tsx +149 -0
  596. package/src/components/typography/Text/Text.tsx +45 -27
  597. package/src/components/typography/Text/Text.types.native.ts +11 -0
  598. package/src/components/typography/Text/Text.types.ts +7 -12
  599. package/src/components/typography/Text/index.native.ts +2 -0
  600. package/src/components/typography/Text/index.ts +1 -1
  601. package/src/icons/Icon.md +28 -0
  602. package/src/icons/Icon.native.tsx +44 -0
  603. package/src/icons/Icon.tsx +47 -0
  604. package/src/icons/Icon.types.ts +40 -0
  605. package/src/icons/glyphs.json +39 -0
  606. package/src/icons/icon-color.ts +20 -0
  607. package/src/icons/index.native.ts +5 -0
  608. package/src/icons/index.ts +5 -0
  609. package/src/icons/paths.generated.ts +51 -0
  610. package/src/platform/test-id.ts +34 -0
  611. package/src/provider/UiProvider.native.tsx +13 -0
  612. package/src/provider/UiProvider.tsx +22 -0
  613. package/src/provider/UiProvider.types.ts +20 -0
  614. package/src/provider/index.native.ts +3 -0
  615. package/src/provider/index.ts +4 -0
  616. package/src/provider/mui-bridge.ts +141 -0
  617. package/src/provider/ui-theme-context.ts +13 -0
  618. package/src/provider/use-ui-theme.native.ts +9 -0
  619. package/src/provider/use-ui-theme.ts +18 -0
  620. package/src/tokens/color.ts +163 -0
  621. package/src/tokens/css-units.ts +28 -0
  622. package/src/tokens/heading-scale.ts +87 -0
  623. package/src/tokens/index.native.ts +9 -0
  624. package/src/tokens/scales.ts +11 -186
  625. package/src/tokens/theme.ts +334 -0
  626. package/src/tokens/typography.ts +6 -83
  627. package/src/tokens/vocabulary.ts +189 -0
  628. package/dist/chunk-7CA6GVBO.js.map +0 -1
  629. package/dist/chunk-AUYC5K5K.js.map +0 -1
  630. package/dist/chunk-I6PZVHIT.js +0 -46
  631. package/dist/chunk-I6PZVHIT.js.map +0 -1
  632. package/dist/chunk-IAQFQNBL.js.map +0 -1
  633. package/dist/chunk-NYUGX76C.js.map +0 -1
  634. package/dist/chunk-VRHBJXZ7.js.map +0 -1
  635. package/dist/chunk-VZO7VREP.js.map +0 -1
  636. /package/dist/{chunk-GFBNUWT5.js.map → chunk-2EKALM6P.js.map} +0 -0
  637. /package/dist/{chunk-ISW5K72V.js.map → chunk-2ZRZTGWP.js.map} +0 -0
  638. /package/dist/{chunk-3ORFVLI3.js.map → chunk-37YPZHAG.js.map} +0 -0
  639. /package/dist/{chunk-EB4BTKKY.js.map → chunk-3AFUWDYS.js.map} +0 -0
  640. /package/dist/{chunk-HR7YTBR7.js.map → chunk-3AOOI2NR.js.map} +0 -0
  641. /package/dist/{chunk-PKJKA4CU.js.map → chunk-3ZFORMNT.js.map} +0 -0
  642. /package/dist/{chunk-PLK7UGO6.js.map → chunk-4EJSUL62.js.map} +0 -0
  643. /package/dist/{chunk-WMALDOF5.js.map → chunk-4G3FGCWX.js.map} +0 -0
  644. /package/dist/{chunk-2PPWKCMW.js.map → chunk-4N4ENTF7.js.map} +0 -0
  645. /package/dist/{chunk-6CBYPMYQ.js.map → chunk-4R2CDZOQ.js.map} +0 -0
  646. /package/dist/{chunk-FJHNNSD3.js.map → chunk-4WK2RTVY.js.map} +0 -0
  647. /package/dist/{chunk-6U7NA74A.js.map → chunk-5HOJSVQH.js.map} +0 -0
  648. /package/dist/{chunk-QETBO7EC.js.map → chunk-67LDIJQZ.js.map} +0 -0
  649. /package/dist/{chunk-X4X4CVWJ.js.map → chunk-6JZE4IIN.js.map} +0 -0
  650. /package/dist/{chunk-LUWATXU4.js.map → chunk-74KMXBG3.js.map} +0 -0
  651. /package/dist/{chunk-ZDWU52DJ.js.map → chunk-7AR2R7TV.js.map} +0 -0
  652. /package/dist/{chunk-B6IURHSZ.js.map → chunk-7DNQHMDO.js.map} +0 -0
  653. /package/dist/{chunk-G7CFUI4I.js.map → chunk-7EESF76V.js.map} +0 -0
  654. /package/dist/{chunk-AX7UFG2U.js.map → chunk-7RZ4WOQW.js.map} +0 -0
  655. /package/dist/{chunk-WFX5GASM.js.map → chunk-B7BZAIHL.js.map} +0 -0
  656. /package/dist/{chunk-RX6DWIIW.js.map → chunk-BILE3A7F.js.map} +0 -0
  657. /package/dist/{chunk-XSKVBGCZ.js.map → chunk-BLBOYCOV.js.map} +0 -0
  658. /package/dist/{chunk-4Y65Q3CR.js.map → chunk-C52BELLW.js.map} +0 -0
  659. /package/dist/{chunk-RP3W6IQO.js.map → chunk-CPNSVIIB.js.map} +0 -0
  660. /package/dist/{chunk-T4SM36XC.js.map → chunk-D7FJ2GAD.js.map} +0 -0
  661. /package/dist/{chunk-SCGVB7DS.js.map → chunk-DOADQW7I.js.map} +0 -0
  662. /package/dist/{chunk-RIAIJTEW.js.map → chunk-DOMEYGTN.js.map} +0 -0
  663. /package/dist/{chunk-7HPPUO2A.js.map → chunk-DQHC5P64.js.map} +0 -0
  664. /package/dist/{chunk-W2UTDN4T.js.map → chunk-DWZ7FLA7.js.map} +0 -0
  665. /package/dist/{chunk-24LW52EU.js.map → chunk-DX527XPL.js.map} +0 -0
  666. /package/dist/{chunk-OK5BHFZE.js.map → chunk-E6OILRUU.js.map} +0 -0
  667. /package/dist/{chunk-A4YWFX5C.js.map → chunk-ENNW5SKT.js.map} +0 -0
  668. /package/dist/{chunk-BPYPUEM5.js.map → chunk-EPNCYUQ7.js.map} +0 -0
  669. /package/dist/{chunk-MUAVYVDJ.js.map → chunk-EW7ZNSWU.js.map} +0 -0
  670. /package/dist/{chunk-DWUMMMLR.js.map → chunk-FOMK3WPG.js.map} +0 -0
  671. /package/dist/{chunk-RQ4EQ5FJ.js.map → chunk-FP4R47TM.js.map} +0 -0
  672. /package/dist/{chunk-SHQWIDD5.js.map → chunk-GJQYM3PM.js.map} +0 -0
  673. /package/dist/{chunk-WEH5TCPE.js.map → chunk-GSTRPZS4.js.map} +0 -0
  674. /package/dist/{chunk-WC3W36AM.js.map → chunk-HOJL2GKW.js.map} +0 -0
  675. /package/dist/{chunk-PMFW55F5.js.map → chunk-HSAH5QUQ.js.map} +0 -0
  676. /package/dist/{chunk-A3KY6NUA.js.map → chunk-IH4CX43Q.js.map} +0 -0
  677. /package/dist/{chunk-HEDOL2RV.js.map → chunk-IJIT5HQP.js.map} +0 -0
  678. /package/dist/{chunk-VR5HDUBK.js.map → chunk-IPS55KWK.js.map} +0 -0
  679. /package/dist/{chunk-ELYLG4F7.js.map → chunk-J54WH74M.js.map} +0 -0
  680. /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
  681. /package/dist/{chunk-EY4LPLIR.js.map → chunk-KQ74QU55.js.map} +0 -0
  682. /package/dist/{chunk-XULTDO56.js.map → chunk-KT6HWAEN.js.map} +0 -0
  683. /package/dist/{chunk-COSJTD6Z.js.map → chunk-KZSKI2R3.js.map} +0 -0
  684. /package/dist/{chunk-DQIQKIEA.js.map → chunk-L5ZZJ4XE.js.map} +0 -0
  685. /package/dist/{chunk-SFAP5EH5.js.map → chunk-LUMF63BM.js.map} +0 -0
  686. /package/dist/{chunk-LIQHOLDQ.js.map → chunk-LYMAMKJT.js.map} +0 -0
  687. /package/dist/{chunk-6RFL7HGI.js.map → chunk-LZRURORY.js.map} +0 -0
  688. /package/dist/{chunk-KXNWDXR7.js.map → chunk-M2K7BPHX.js.map} +0 -0
  689. /package/dist/{chunk-WLDK74RR.js.map → chunk-MSUSZLRE.js.map} +0 -0
  690. /package/dist/{chunk-EE2LBAJH.js.map → chunk-MUVJD26L.js.map} +0 -0
  691. /package/dist/{chunk-VVXRIPV5.js.map → chunk-MY5VNNSP.js.map} +0 -0
  692. /package/dist/{chunk-JPDKRGYI.js.map → chunk-MZQTHSLN.js.map} +0 -0
  693. /package/dist/{chunk-FF55LRSV.js.map → chunk-NETZMGQP.js.map} +0 -0
  694. /package/dist/{chunk-3QGRQNTP.js.map → chunk-NFAKRI4S.js.map} +0 -0
  695. /package/dist/{chunk-KSF7TLXH.js.map → chunk-NHSMLVNC.js.map} +0 -0
  696. /package/dist/{chunk-HQJ75HHI.js.map → chunk-NYLXHOMR.js.map} +0 -0
  697. /package/dist/{chunk-CXA6UNFF.js.map → chunk-OH3YGJT5.js.map} +0 -0
  698. /package/dist/{chunk-45N6LXUU.js.map → chunk-OI3HOI74.js.map} +0 -0
  699. /package/dist/{chunk-REMK55JI.js.map → chunk-OLZTGVBT.js.map} +0 -0
  700. /package/dist/{chunk-M3RIC6JI.js.map → chunk-OQXOYHIV.js.map} +0 -0
  701. /package/dist/{chunk-3LO5JWTC.js.map → chunk-P5YYVDAD.js.map} +0 -0
  702. /package/dist/{chunk-6TYSEAAT.js.map → chunk-PC5FFEIY.js.map} +0 -0
  703. /package/dist/{chunk-SLYZMJEL.js.map → chunk-PHCSPHDH.js.map} +0 -0
  704. /package/dist/{chunk-TCAB2ERD.js.map → chunk-PNYXXLPU.js.map} +0 -0
  705. /package/dist/{chunk-IPE5FFFD.js.map → chunk-PUBPZOQJ.js.map} +0 -0
  706. /package/dist/{chunk-6HNEEJES.js.map → chunk-QRX5BYUQ.js.map} +0 -0
  707. /package/dist/{chunk-5QXSPLWU.js.map → chunk-R6SSXEK2.js.map} +0 -0
  708. /package/dist/{chunk-NR3J7VQL.js.map → chunk-RNCQ5KHQ.js.map} +0 -0
  709. /package/dist/{chunk-7FOOLP5H.js.map → chunk-RXSGHPCR.js.map} +0 -0
  710. /package/dist/{chunk-Z56IO7OV.js.map → chunk-RXVPUW7V.js.map} +0 -0
  711. /package/dist/{chunk-5SYD23V4.js.map → chunk-SKZHOWTS.js.map} +0 -0
  712. /package/dist/{chunk-FWL2N2KH.js.map → chunk-SX3V2DLV.js.map} +0 -0
  713. /package/dist/{chunk-3GOX75ZM.js.map → chunk-TF4TPLF2.js.map} +0 -0
  714. /package/dist/{chunk-3DQP6OPC.js.map → chunk-THBT56JE.js.map} +0 -0
  715. /package/dist/{chunk-DGMR3IMM.js.map → chunk-U7RULTSH.js.map} +0 -0
  716. /package/dist/{chunk-RRX6ZTNX.js.map → chunk-UEJQQVP2.js.map} +0 -0
  717. /package/dist/{chunk-O3OU2PPT.js.map → chunk-UQHJQ26Y.js.map} +0 -0
  718. /package/dist/{chunk-WR6F6J43.js.map → chunk-V662PA6T.js.map} +0 -0
  719. /package/dist/{chunk-VJKRJYZL.js.map → chunk-VEFDL77X.js.map} +0 -0
  720. /package/dist/{chunk-GT7C6TSM.js.map → chunk-VNEEXUWA.js.map} +0 -0
  721. /package/dist/{chunk-N34YHFZW.js.map → chunk-W2YNUUVJ.js.map} +0 -0
  722. /package/dist/{chunk-N4WANJI3.js.map → chunk-WBVHRLIS.js.map} +0 -0
  723. /package/dist/{chunk-MHFJBNDP.js.map → chunk-WO52KYSU.js.map} +0 -0
  724. /package/dist/{chunk-ENK4XGKF.js.map → chunk-WUPVHIMD.js.map} +0 -0
  725. /package/dist/{chunk-KNNBIXWJ.js.map → chunk-WX7VWW3W.js.map} +0 -0
  726. /package/dist/{chunk-TUAIPMU7.js.map → chunk-X5BHPSAC.js.map} +0 -0
  727. /package/dist/{chunk-TPUIIZN2.js.map → chunk-XKMFIH27.js.map} +0 -0
  728. /package/dist/{chunk-T53L42XW.js.map → chunk-XSJWN3WH.js.map} +0 -0
  729. /package/dist/{chunk-AVU6KU27.js.map → chunk-XXDXW6TX.js.map} +0 -0
  730. /package/dist/{chunk-45OIUWGO.js.map → chunk-YNQGXSDD.js.map} +0 -0
  731. /package/dist/{chunk-5VVM2PPV.js.map → chunk-ZEBJT5JZ.js.map} +0 -0
  732. /package/dist/{chunk-DJORMYOV.js.map → chunk-ZU3SWR4I.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/color.ts"],"sourcesContent":["/**\n * COLOUR ARITHMETIC WITH NO RENDERER BEHIND IT.\n *\n * Every shade the web components paint comes out of MUI's colour manipulator:\n * `lighten(main, 0.2)` is a palette's `light`, `darken(main, 0.3)` its `dark`,\n * `alpha(main, 0.1)` the hover wash on an outline button. A native component\n * that wants the SAME pixel has to run the SAME arithmetic, and it cannot\n * import it — `@mui/material/styles` drags emotion and the DOM in behind it.\n *\n * So the arithmetic lives here, once, with nothing behind it. It is a faithful\n * port of `@mui/system/colorManipulator` (MIT), down to the truncation:\n * `lighten('#6366F1', 0.2)` is `rgb(130, 132, 243)` on both sides because both\n * TRUNCATE 132.6 rather than round it. A port that rounded would be one pixel\n * of tint away from the web on every button, forever, and nothing would flag it.\n *\n * `color()` space strings are deliberately unsupported: nothing in this package\n * emits one, and a smaller surface is a smaller thing to keep identical.\n */\n\nexport type ColorFormat = 'rgb' | 'rgba' | 'hsl' | 'hsla';\n\nexport interface DecomposedColor {\n type: ColorFormat;\n values: number[];\n}\n\nconst FORMATS: readonly ColorFormat[] = ['rgb', 'rgba', 'hsl', 'hsla'];\n\nconst clamp = (value: number, min = 0, max = 1): number => Math.min(Math.max(min, value), max);\n\n/** `#rgb`, `#rgba`, `#rrggbb` or `#rrggbbaa` to its `rgb()` / `rgba()` string. */\nexport function hexToRgb(color: string): string {\n const hex = color.slice(1);\n const pair = new RegExp(`.{1,${hex.length >= 6 ? 2 : 1}}`, 'g');\n let channels: string[] | null = hex.match(pair);\n if (channels && channels[0]?.length === 1) {\n channels = channels.map((channel) => channel + channel);\n }\n if (!channels) return '';\n\n const parts = channels.map((channel, index) =>\n index < 3 ? parseInt(channel, 16) : Math.round((parseInt(channel, 16) / 255) * 1000) / 1000,\n );\n return `rgb${channels.length === 4 ? 'a' : ''}(${parts.join(', ')})`;\n}\n\n/** Any supported colour string to its type and numeric channels. */\nexport function decomposeColor(color: string): DecomposedColor {\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n const marker = color.indexOf('(');\n const type = color.substring(0, marker) as ColorFormat;\n if (!FORMATS.includes(type)) {\n throw new Error(\n `@12-apps/ui: unsupported colour \"${color}\". Use #nnn, #nnnnnn, rgb(), rgba(), hsl() or hsla().`,\n );\n }\n\n const values = color\n .substring(marker + 1, color.length - 1)\n .split(',')\n .map((value) => parseFloat(value));\n\n return { type, values };\n}\n\n/** The inverse of {@link decomposeColor}, with MUI's channel truncation. */\nexport function recomposeColor({ type, values }: DecomposedColor): string {\n const parts: Array<number | string> = type.startsWith('rgb')\n ? values.map((value, index) => (index < 3 ? Math.trunc(value) : value))\n : [values[0] ?? 0, `${values[1] ?? 0}%`, `${values[2] ?? 0}%`, ...values.slice(3)];\n\n return `${type}(${parts.join(', ')})`;\n}\n\n/** An `hsl()` / `hsla()` string to its `rgb()` / `rgba()` equivalent. */\nexport function hslToRgb(color: string): string {\n const { type, values } = decomposeColor(color);\n const h = values[0] ?? 0;\n const s = (values[1] ?? 0) / 100;\n const l = (values[2] ?? 0) / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n: number, k = (n + h / 30) % 12): number =>\n l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (type === 'hsla') {\n return recomposeColor({ type: 'rgba', values: [...rgb, values[3] ?? 1] });\n }\n return recomposeColor({ type: 'rgb', values: rgb });\n}\n\n/** Relative luminance (WCAG 2.0), to three decimals like MUI. */\nexport function getLuminance(color: string): number {\n const decomposed = decomposeColor(color);\n const channels = decomposed.type.startsWith('hsl')\n ? decomposeColor(hslToRgb(color)).values\n : decomposed.values;\n\n const [r, g, b] = channels.slice(0, 3).map((value) => {\n const c = value / 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n\n return Number((0.2126 * (r ?? 0) + 0.7152 * (g ?? 0) + 0.0722 * (b ?? 0)).toFixed(3));\n}\n\n/** WCAG contrast ratio between two colours, 1 to 21. */\nexport function getContrastRatio(foreground: string, background: string): number {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/** The colour with its alpha channel set to `value` (0 to 1). */\nexport function alpha(color: string, value: number): string {\n const decomposed = decomposeColor(color);\n const type: ColorFormat = decomposed.type.endsWith('a')\n ? decomposed.type\n : (`${decomposed.type}a` as ColorFormat);\n const values = decomposed.values.slice(0, 3);\n values[3] = clamp(value);\n return recomposeColor({ type, values });\n}\n\n/** The colour moved `coefficient` (0 to 1) of the way towards black. */\nexport function darken(color: string, coefficient: number): string {\n const decomposed = decomposeColor(color);\n const amount = clamp(coefficient);\n const values = [...decomposed.values];\n\n if (decomposed.type.startsWith('hsl')) {\n values[2] = (values[2] ?? 0) * (1 - amount);\n } else {\n for (let index = 0; index < 3; index += 1) {\n values[index] = (values[index] ?? 0) * (1 - amount);\n }\n }\n return recomposeColor({ type: decomposed.type, values });\n}\n\n/** The colour moved `coefficient` (0 to 1) of the way towards white. */\nexport function lighten(color: string, coefficient: number): string {\n const decomposed = decomposeColor(color);\n const amount = clamp(coefficient);\n const values = [...decomposed.values];\n\n if (decomposed.type.startsWith('hsl')) {\n values[2] = (values[2] ?? 0) + (100 - (values[2] ?? 0)) * amount;\n } else {\n for (let index = 0; index < 3; index += 1) {\n values[index] = (values[index] ?? 0) + (255 - (values[index] ?? 0)) * amount;\n }\n }\n return recomposeColor({ type: decomposed.type, values });\n}\n\n/** Darken a light colour or lighten a dark one, by `coefficient`. */\nexport function emphasize(color: string, coefficient = 0.15): string {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\n"],"mappings":";AA0BA,IAAM,UAAkC,CAAC,OAAO,QAAQ,OAAO,MAAM;AAErE,IAAM,QAAQ,CAAC,OAAe,MAAM,GAAG,MAAM,MAAc,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,GAAG;AAGtF,SAAS,SAAS,OAAuB;AAC9C,QAAM,MAAM,MAAM,MAAM,CAAC;AACzB,QAAM,OAAO,IAAI,OAAO,OAAO,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG;AAC9D,MAAI,WAA4B,IAAI,MAAM,IAAI;AAC9C,MAAI,YAAY,SAAS,CAAC,GAAG,WAAW,GAAG;AACzC,eAAW,SAAS,IAAI,CAAC,YAAY,UAAU,OAAO;AAAA,EACxD;AACA,MAAI,CAAC,SAAU,QAAO;AAEtB,QAAM,QAAQ,SAAS;AAAA,IAAI,CAAC,SAAS,UACnC,QAAQ,IAAI,SAAS,SAAS,EAAE,IAAI,KAAK,MAAO,SAAS,SAAS,EAAE,IAAI,MAAO,GAAI,IAAI;AAAA,EACzF;AACA,SAAO,MAAM,SAAS,WAAW,IAAI,MAAM,EAAE,IAAI,MAAM,KAAK,IAAI,CAAC;AACnE;AAGO,SAAS,eAAe,OAAgC;AAC7D,MAAI,MAAM,OAAO,CAAC,MAAM,KAAK;AAC3B,WAAO,eAAe,SAAS,KAAK,CAAC;AAAA,EACvC;AAEA,QAAM,SAAS,MAAM,QAAQ,GAAG;AAChC,QAAM,OAAO,MAAM,UAAU,GAAG,MAAM;AACtC,MAAI,CAAC,QAAQ,SAAS,IAAI,GAAG;AAC3B,UAAM,IAAI;AAAA,MACR,oCAAoC,KAAK;AAAA,IAC3C;AAAA,EACF;AAEA,QAAM,SAAS,MACZ,UAAU,SAAS,GAAG,MAAM,SAAS,CAAC,EACtC,MAAM,GAAG,EACT,IAAI,CAAC,UAAU,WAAW,KAAK,CAAC;AAEnC,SAAO,EAAE,MAAM,OAAO;AACxB;AAGO,SAAS,eAAe,EAAE,MAAM,OAAO,GAA4B;AACxE,QAAM,QAAgC,KAAK,WAAW,KAAK,IACvD,OAAO,IAAI,CAAC,OAAO,UAAW,QAAQ,IAAI,KAAK,MAAM,KAAK,IAAI,KAAM,IACpE,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,MAAM,CAAC,CAAC;AAEnF,SAAO,GAAG,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC;AACpC;AAGO,SAAS,SAAS,OAAuB;AAC9C,QAAM,EAAE,MAAM,OAAO,IAAI,eAAe,KAAK;AAC7C,QAAM,IAAI,OAAO,CAAC,KAAK;AACvB,QAAM,KAAK,OAAO,CAAC,KAAK,KAAK;AAC7B,QAAM,KAAK,OAAO,CAAC,KAAK,KAAK;AAC7B,QAAM,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;AAC/B,QAAM,IAAI,CAAC,GAAW,KAAK,IAAI,IAAI,MAAM,OACvC,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AAEhD,QAAM,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC;AACnF,MAAI,SAAS,QAAQ;AACnB,WAAO,eAAe,EAAE,MAAM,QAAQ,QAAQ,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAAA,EAC1E;AACA,SAAO,eAAe,EAAE,MAAM,OAAO,QAAQ,IAAI,CAAC;AACpD;AAGO,SAAS,aAAa,OAAuB;AAClD,QAAM,aAAa,eAAe,KAAK;AACvC,QAAM,WAAW,WAAW,KAAK,WAAW,KAAK,IAC7C,eAAe,SAAS,KAAK,CAAC,EAAE,SAChC,WAAW;AAEf,QAAM,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU;AACpD,UAAM,IAAI,QAAQ;AAClB,WAAO,KAAK,UAAU,IAAI,UAAU,IAAI,SAAS,UAAU;AAAA,EAC7D,CAAC;AAED,SAAO,QAAQ,UAAU,KAAK,KAAK,UAAU,KAAK,KAAK,UAAU,KAAK,IAAI,QAAQ,CAAC,CAAC;AACtF;AAGO,SAAS,iBAAiB,YAAoB,YAA4B;AAC/E,QAAM,OAAO,aAAa,UAAU;AACpC,QAAM,OAAO,aAAa,UAAU;AACpC,UAAQ,KAAK,IAAI,MAAM,IAAI,IAAI,SAAS,KAAK,IAAI,MAAM,IAAI,IAAI;AACjE;AAGO,SAAS,MAAM,OAAe,OAAuB;AAC1D,QAAM,aAAa,eAAe,KAAK;AACvC,QAAM,OAAoB,WAAW,KAAK,SAAS,GAAG,IAClD,WAAW,OACV,GAAG,WAAW,IAAI;AACvB,QAAM,SAAS,WAAW,OAAO,MAAM,GAAG,CAAC;AAC3C,SAAO,CAAC,IAAI,MAAM,KAAK;AACvB,SAAO,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC;AAGO,SAAS,OAAO,OAAe,aAA6B;AACjE,QAAM,aAAa,eAAe,KAAK;AACvC,QAAM,SAAS,MAAM,WAAW;AAChC,QAAM,SAAS,CAAC,GAAG,WAAW,MAAM;AAEpC,MAAI,WAAW,KAAK,WAAW,KAAK,GAAG;AACrC,WAAO,CAAC,KAAK,OAAO,CAAC,KAAK,MAAM,IAAI;AAAA,EACtC,OAAO;AACL,aAAS,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG;AACzC,aAAO,KAAK,KAAK,OAAO,KAAK,KAAK,MAAM,IAAI;AAAA,IAC9C;AAAA,EACF;AACA,SAAO,eAAe,EAAE,MAAM,WAAW,MAAM,OAAO,CAAC;AACzD;AAGO,SAAS,QAAQ,OAAe,aAA6B;AAClE,QAAM,aAAa,eAAe,KAAK;AACvC,QAAM,SAAS,MAAM,WAAW;AAChC,QAAM,SAAS,CAAC,GAAG,WAAW,MAAM;AAEpC,MAAI,WAAW,KAAK,WAAW,KAAK,GAAG;AACrC,WAAO,CAAC,KAAK,OAAO,CAAC,KAAK,MAAM,OAAO,OAAO,CAAC,KAAK,MAAM;AAAA,EAC5D,OAAO;AACL,aAAS,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG;AACzC,aAAO,KAAK,KAAK,OAAO,KAAK,KAAK,MAAM,OAAO,OAAO,KAAK,KAAK,MAAM;AAAA,IACxE;AAAA,EACF;AACA,SAAO,eAAe,EAAE,MAAM,WAAW,MAAM,OAAO,CAAC;AACzD;AAGO,SAAS,UAAU,OAAe,cAAc,MAAc;AACnE,SAAO,aAAa,KAAK,IAAI,MAAM,OAAO,OAAO,WAAW,IAAI,QAAQ,OAAO,WAAW;AAC5F;","names":[]}
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-F52N6ACD.js";
6
6
  import {
7
7
  accentFor
8
- } from "./chunk-I6PZVHIT.js";
8
+ } from "./chunk-V5IOLAIS.js";
9
9
 
10
10
  // src/components/data-display/Sheet/Sheet.styles.ts
11
11
  import { alpha } from "@mui/material/styles/index.js";
@@ -165,4 +165,4 @@ var panelSx = (input) => {
165
165
  export {
166
166
  panelSx
167
167
  };
168
- //# sourceMappingURL=chunk-X4X4CVWJ.js.map
168
+ //# sourceMappingURL=chunk-6JZE4IIN.js.map
@@ -1,32 +1,32 @@
1
- import {
2
- CategoryPanel
3
- } from "./chunk-MHFJBNDP.js";
4
1
  import {
5
2
  CategoryPanelSurface
6
3
  } from "./chunk-LMXWI3DD.js";
7
4
  import {
8
- useCategorySelect
9
- } from "./chunk-2GB5CIN6.js";
5
+ CategoryPanel
6
+ } from "./chunk-WO52KYSU.js";
10
7
  import {
11
8
  useCategoryKeyHandler
12
9
  } from "./chunk-ISH42UC7.js";
13
10
  import {
14
11
  useCategoryCommit
15
12
  } from "./chunk-ZAB65STX.js";
16
- import {
17
- summarizeSelection
18
- } from "./chunk-LR6MSKTT.js";
19
13
  import {
20
14
  CategoryTrigger
21
15
  } from "./chunk-ZBNTFWTG.js";
22
16
  import {
23
17
  METRICS
24
18
  } from "./chunk-FCOEJCUP.js";
19
+ import {
20
+ useCategorySelect
21
+ } from "./chunk-2GB5CIN6.js";
22
+ import {
23
+ summarizeSelection
24
+ } from "./chunk-LR6MSKTT.js";
25
25
  import {
26
26
  FormControl,
27
27
  FormLabel,
28
28
  FormMessage
29
- } from "./chunk-VZO7VREP.js";
29
+ } from "./chunk-IPPTOL53.js";
30
30
 
31
31
  // src/components/form/CategorySelect/CategorySelect.tsx
32
32
  import { useEffect, useMemo, useRef } from "react";
@@ -158,4 +158,4 @@ function CategorySelect(props) {
158
158
  export {
159
159
  CategorySelect
160
160
  };
161
- //# sourceMappingURL=chunk-LUWATXU4.js.map
161
+ //# sourceMappingURL=chunk-74KMXBG3.js.map
@@ -1,11 +1,11 @@
1
+ import {
2
+ renderMenuItem
3
+ } from "./chunk-RXSGHPCR.js";
1
4
  import {
2
5
  CollapseToggle,
3
6
  LogoBar,
4
7
  MenuList
5
8
  } from "./chunk-Q444G5X7.js";
6
- import {
7
- renderMenuItem
8
- } from "./chunk-7FOOLP5H.js";
9
9
  import {
10
10
  slideIn
11
11
  } from "./chunk-FYLCSCMR.js";
@@ -113,4 +113,4 @@ var NavigationStandardBody = ({
113
113
  export {
114
114
  NavigationStandardBody
115
115
  };
116
- //# sourceMappingURL=chunk-ZDWU52DJ.js.map
116
+ //# sourceMappingURL=chunk-7AR2R7TV.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ useCommandPalette
3
+ } from "./chunk-SUZXPDUQ.js";
1
4
  import {
2
5
  PaletteResults
3
6
  } from "./chunk-SQSFMZTF.js";
4
7
  import {
5
8
  ShortcutChip
6
9
  } from "./chunk-5EIW2FZY.js";
7
- import {
8
- useCommandPalette
9
- } from "./chunk-SUZXPDUQ.js";
10
10
 
11
11
  // src/components/navigation/CommandPalette/CommandPalette.tsx
12
12
  import CloseIcon from "@mui/icons-material/Close";
@@ -212,4 +212,4 @@ export {
212
212
  CommandPalette,
213
213
  CommandPalette_default
214
214
  };
215
- //# sourceMappingURL=chunk-B6IURHSZ.js.map
215
+ //# sourceMappingURL=chunk-7DNQHMDO.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-IDHZHOZW.js";
4
4
  import {
5
5
  Button
6
- } from "./chunk-IAQFQNBL.js";
6
+ } from "./chunk-24BUCMQA.js";
7
7
 
8
8
  // src/components/data-display/CardKit/CardKebab.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -25,4 +25,4 @@ function CardKebab({
25
25
  export {
26
26
  CardKebab
27
27
  };
28
- //# sourceMappingURL=chunk-G7CFUI4I.js.map
28
+ //# sourceMappingURL=chunk-7EESF76V.js.map
@@ -0,0 +1,25 @@
1
+ import {
2
+ isUiTheme
3
+ } from "./chunk-XZTRZ3HO.js";
4
+ import {
5
+ muiThemeOptionsFrom
6
+ } from "./chunk-YMRI5QKG.js";
7
+ import {
8
+ createUiTheme
9
+ } from "./chunk-NQN5Z36J.js";
10
+
11
+ // src/provider/UiProvider.tsx
12
+ import { createTheme, ThemeProvider } from "@mui/material/styles/index.js";
13
+ import * as React from "react";
14
+ import { jsx } from "react/jsx-runtime";
15
+ function UiProvider({ theme, children }) {
16
+ const ui = React.useMemo(() => isUiTheme(theme) ? theme : createUiTheme(theme), [theme]);
17
+ const mui = React.useMemo(() => createTheme(muiThemeOptionsFrom(ui)), [ui]);
18
+ return /* @__PURE__ */ jsx(ThemeProvider, { theme: mui, children });
19
+ }
20
+ UiProvider.displayName = "UiProvider";
21
+
22
+ export {
23
+ UiProvider
24
+ };
25
+ //# sourceMappingURL=chunk-7JXLGOM2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/provider/UiProvider.tsx"],"sourcesContent":["import { createTheme, ThemeProvider } from '@mui/material/styles/index.js';\nimport * as React from 'react';\n\nimport { muiThemeOptionsFrom } from './mui-bridge';\nimport { isUiTheme, type UiProviderProps } from './UiProvider.types';\nimport { createUiTheme } from '../tokens/theme';\n\n/**\n * The same provider name on both renderers.\n *\n * On the web it is a MUI `ThemeProvider` fed from a `UiTheme`, for a host that\n * has no MUI theme of its own. A host that already mounts one (every origin app\n * does) needs nothing from this file: the web components read MUI's theme, and\n * `useUiTheme` derives the neutral view from it.\n */\nexport function UiProvider({ theme, children }: UiProviderProps): React.JSX.Element {\n const ui = React.useMemo(() => (isUiTheme(theme) ? theme : createUiTheme(theme)), [theme]);\n const mui = React.useMemo(() => createTheme(muiThemeOptionsFrom(ui)), [ui]);\n return <ThemeProvider theme={mui}>{children}</ThemeProvider>;\n}\n\nUiProvider.displayName = 'UiProvider';\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,aAAa,qBAAqB;AAC3C,YAAY,WAAW;AAiBd;AAHF,SAAS,WAAW,EAAE,OAAO,SAAS,GAAuC;AAClF,QAAM,KAAW,cAAQ,MAAO,UAAU,KAAK,IAAI,QAAQ,cAAc,KAAK,GAAI,CAAC,KAAK,CAAC;AACzF,QAAM,MAAY,cAAQ,MAAM,YAAY,oBAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1E,SAAO,oBAAC,iBAAc,OAAO,KAAM,UAAS;AAC9C;AAEA,WAAW,cAAc;","names":[]}
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-IAQFQNBL.js";
9
+ } from "./chunk-24BUCMQA.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-VRHBJXZ7.js";
12
+ } from "./chunk-2PCOC3PT.js";
13
13
 
14
14
  // src/components/data-display/DataViews/data-views-select-all-strip.tsx
15
15
  import Checkbox from "@mui/material/Checkbox/index.js";
@@ -85,4 +85,4 @@ function SelectAllStrip({
85
85
  export {
86
86
  SelectAllStrip
87
87
  };
88
- //# sourceMappingURL=chunk-AX7UFG2U.js.map
88
+ //# sourceMappingURL=chunk-7RZ4WOQW.js.map
@@ -0,0 +1,90 @@
1
+ import {
2
+ BOX_BASE_KEYS
3
+ } from "./chunk-OCUVKI63.js";
4
+
5
+ // src/components/layout/Box/box-layout.ts
6
+ var ALIGN = {
7
+ start: "flex-start",
8
+ center: "center",
9
+ end: "flex-end",
10
+ stretch: "stretch",
11
+ baseline: "baseline"
12
+ };
13
+ var JUSTIFY = {
14
+ start: "flex-start",
15
+ center: "center",
16
+ end: "flex-end",
17
+ between: "space-between",
18
+ around: "space-around",
19
+ evenly: "space-evenly"
20
+ };
21
+ function background(theme, bg) {
22
+ if (bg === "transparent") return "transparent";
23
+ if (bg === "default" || bg === "paper") return theme.palette.background[bg];
24
+ return theme.palette[bg].main;
25
+ }
26
+ var SIDES = [
27
+ ["paddingTop", ["pt", "py", "p"]],
28
+ ["paddingRight", ["pr", "px", "p"]],
29
+ ["paddingBottom", ["pb", "py", "p"]],
30
+ ["paddingLeft", ["pl", "px", "p"]],
31
+ ["marginTop", ["mt", "my", "m"]],
32
+ ["marginRight", ["mr", "mx", "m"]],
33
+ ["marginBottom", ["mb", "my", "m"]],
34
+ ["marginLeft", ["ml", "mx", "m"]]
35
+ ];
36
+ function spacingLayout(props, theme) {
37
+ const layout = {};
38
+ for (const [key, sources] of SIDES) {
39
+ const units = sources.map((source) => props[source]).find((value) => value !== void 0);
40
+ if (typeof units === "number") layout[key] = theme.spacing(units);
41
+ }
42
+ return layout;
43
+ }
44
+ function flexLayout(props, theme) {
45
+ const layout = {};
46
+ const isFlex = [props.direction, props.align, props.justify, props.gap].some((value) => value !== void 0) || props.wrap === true;
47
+ if (!isFlex) return layout;
48
+ layout.display = "flex";
49
+ layout.flexDirection = props.direction ?? "column";
50
+ if (props.gap !== void 0) layout.gap = theme.spacing(props.gap);
51
+ if (props.align !== void 0) layout.alignItems = ALIGN[props.align];
52
+ if (props.justify !== void 0) layout.justifyContent = JUSTIFY[props.justify];
53
+ if (props.wrap) layout.flexWrap = "wrap";
54
+ return layout;
55
+ }
56
+ function surfaceLayout(props, theme) {
57
+ const layout = {};
58
+ if (props.flex !== void 0) layout.flex = props.flex;
59
+ if (props.bg !== void 0) layout.backgroundColor = background(theme, props.bg);
60
+ if (props.radius !== void 0) layout.borderRadius = theme.radius[props.radius];
61
+ if (props.bordered) {
62
+ layout.borderWidth = 1;
63
+ layout.borderStyle = "solid";
64
+ layout.borderColor = theme.palette.divider;
65
+ }
66
+ if (props.width !== void 0) layout.width = props.width;
67
+ if (props.height !== void 0) layout.height = props.height;
68
+ return layout;
69
+ }
70
+ function resolveBoxLayout(props, theme) {
71
+ return { ...spacingLayout(props, theme), ...flexLayout(props, theme), ...surfaceLayout(props, theme) };
72
+ }
73
+ function splitBoxProps(props) {
74
+ const layout = {};
75
+ const rest = {};
76
+ const own = /* @__PURE__ */ new Set([...BOX_BASE_KEYS, "data-testid"]);
77
+ for (const [key, value] of Object.entries(props)) {
78
+ (own.has(key) ? layout : rest)[key] = value;
79
+ }
80
+ return {
81
+ layout,
82
+ rest
83
+ };
84
+ }
85
+
86
+ export {
87
+ resolveBoxLayout,
88
+ splitBoxProps
89
+ };
90
+ //# sourceMappingURL=chunk-7V6ZRQYW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/Box/box-layout.ts"],"sourcesContent":["import { BOX_BASE_KEYS, type BoxAlign, type BoxBaseProps, type BoxDimension, type BoxJustify } from './Box.base';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/**\n * The resolved style, in React Native's property names.\n *\n * They are also valid CSS-in-JS names, and every number is px on the web and\n * dp on native, so ONE resolver feeds both `Box.tsx` (into `sx`) and\n * `Box.native.tsx` (into `style`). That is the alignment guarantee: there is no\n * second table of numbers for the native side to drift from.\n */\nexport interface BoxLayout {\n display?: 'flex';\n flexDirection?: BoxBaseProps['direction'];\n alignItems?: 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline';\n justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';\n flexWrap?: 'wrap';\n flex?: number;\n gap?: number;\n paddingTop?: number;\n paddingRight?: number;\n paddingBottom?: number;\n paddingLeft?: number;\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n backgroundColor?: string;\n borderRadius?: number;\n borderWidth?: number;\n borderStyle?: 'solid';\n borderColor?: string;\n width?: BoxDimension;\n height?: BoxDimension;\n}\n\nconst ALIGN: Record<BoxAlign, NonNullable<BoxLayout['alignItems']>> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n};\n\nconst JUSTIFY: Record<BoxJustify, NonNullable<BoxLayout['justifyContent']>> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n};\n\nfunction background(theme: UiTheme, bg: NonNullable<BoxBaseProps['bg']>): string {\n if (bg === 'transparent') return 'transparent';\n if (bg === 'default' || bg === 'paper') return theme.palette.background[bg];\n return theme.palette[bg].main;\n}\n\ntype SpacingKey = keyof Pick<\n BoxLayout,\n | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft'\n | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft'\n>;\n\n/**\n * Each side reads the most specific prop that is set: the side, then its axis,\n * then the shorthand — the precedence MUI's `Box` gives `pt`/`py`/`p`.\n */\nconst SIDES: ReadonlyArray<readonly [SpacingKey, ReadonlyArray<keyof BoxBaseProps>]> = [\n ['paddingTop', ['pt', 'py', 'p']],\n ['paddingRight', ['pr', 'px', 'p']],\n ['paddingBottom', ['pb', 'py', 'p']],\n ['paddingLeft', ['pl', 'px', 'p']],\n ['marginTop', ['mt', 'my', 'm']],\n ['marginRight', ['mr', 'mx', 'm']],\n ['marginBottom', ['mb', 'my', 'm']],\n ['marginLeft', ['ml', 'mx', 'm']],\n];\n\nfunction spacingLayout(props: BoxBaseProps, theme: UiTheme): BoxLayout {\n const layout: BoxLayout = {};\n for (const [key, sources] of SIDES) {\n const units = sources.map((source) => props[source]).find((value) => value !== undefined);\n if (typeof units === 'number') layout[key] = theme.spacing(units);\n }\n return layout;\n}\n\n/** A flex container whenever any flex prop is set; a plain box otherwise. */\nfunction flexLayout(props: BoxBaseProps, theme: UiTheme): BoxLayout {\n const layout: BoxLayout = {};\n const isFlex =\n [props.direction, props.align, props.justify, props.gap].some((value) => value !== undefined) ||\n props.wrap === true;\n if (!isFlex) return layout;\n\n layout.display = 'flex';\n layout.flexDirection = props.direction ?? 'column';\n if (props.gap !== undefined) layout.gap = theme.spacing(props.gap);\n if (props.align !== undefined) layout.alignItems = ALIGN[props.align];\n if (props.justify !== undefined) layout.justifyContent = JUSTIFY[props.justify];\n if (props.wrap) layout.flexWrap = 'wrap';\n return layout;\n}\n\nfunction surfaceLayout(props: BoxBaseProps, theme: UiTheme): BoxLayout {\n const layout: BoxLayout = {};\n if (props.flex !== undefined) layout.flex = props.flex;\n if (props.bg !== undefined) layout.backgroundColor = background(theme, props.bg);\n if (props.radius !== undefined) layout.borderRadius = theme.radius[props.radius];\n if (props.bordered) {\n // `borderStyle` spelled out: CSS defaults it to `none`, under which a\n // border-width computes to 0 and nothing paints. React Native's default is\n // `solid`, which is how a box can pass natively and vanish on the web.\n layout.borderWidth = 1;\n layout.borderStyle = 'solid';\n layout.borderColor = theme.palette.divider;\n }\n if (props.width !== undefined) layout.width = props.width;\n if (props.height !== undefined) layout.height = props.height;\n return layout;\n}\n\n/** The style for a box's neutral props. Unset props produce no key at all. */\nexport function resolveBoxLayout(props: BoxBaseProps, theme: UiTheme): BoxLayout {\n return { ...spacingLayout(props, theme), ...flexLayout(props, theme), ...surfaceLayout(props, theme) };\n}\n\n/** The neutral props on one side, everything else — the renderer's own — on the other. */\nexport function splitBoxProps<P extends BoxBaseProps>(\n props: P,\n): { layout: BoxBaseProps; rest: Omit<P, (typeof BOX_BASE_KEYS)[number]> } {\n const layout: Record<string, unknown> = {};\n const rest: Record<string, unknown> = {};\n const own = new Set<string>([...BOX_BASE_KEYS, 'data-testid']);\n for (const [key, value] of Object.entries(props)) {\n (own.has(key) ? layout : rest)[key] = value;\n }\n return {\n layout: layout as BoxBaseProps,\n rest: rest as Omit<P, (typeof BOX_BASE_KEYS)[number]>,\n };\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,29 @@
1
+ // src/tokens/vocabulary.ts
2
+ var SIZE_VALUES = ["xs", "sm", "md", "lg", "xl"];
3
+ var COLOR_VALUES = [
4
+ "primary",
5
+ "secondary",
6
+ "success",
7
+ "warning",
8
+ "info",
9
+ "danger",
10
+ "neutral"
11
+ ];
12
+ var muiSize = (size) => {
13
+ if (size === "xs" || size === "sm") return "small";
14
+ return size === "md" ? "medium" : "large";
15
+ };
16
+ function muiColor(color, neutralAs) {
17
+ if (color === "danger") return "error";
18
+ return color === "neutral" ? neutralAs : color;
19
+ }
20
+ var paletteKey = (color) => color === "danger" ? "error" : color === "neutral" ? "grey" : color;
21
+
22
+ export {
23
+ SIZE_VALUES,
24
+ COLOR_VALUES,
25
+ muiSize,
26
+ muiColor,
27
+ paletteKey
28
+ };
29
+ //# sourceMappingURL=chunk-7ZPUN7TV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/vocabulary.ts"],"sourcesContent":["/**\n * THE TWO VOCABULARIES EVERY COMPONENT SPEAKS.\n *\n * Before this file the package had both halves of every argument at once: 26\n * components sized themselves `xs|sm|md|lg|xl` and four used MUI's\n * `small|medium|large`; 14 coloured themselves `danger|neutral` and 15 used\n * MUI's `error`. Nothing enforced either, because most of these props were\n * spelled out as inline unions and a couple were plain `string`.\n *\n * That is not a tidiness problem. A caller learns the vocabulary from whichever\n * component they used first, and the wrong half is not rejected — it reaches MUI\n * as an unknown value and silently falls back. `Chip` shipped with `color?:\n * string` and MUI's `small|medium`, so `color=\"danger\"` rendered grey and\n * `size=\"sm\"` rendered medium; twelve live call sites were doing exactly that,\n * and every test passed because they all asserted on text.\n *\n * So the vocabulary is declared once, here, and components derive from it.\n *\n * DERIVE, DON'T COPY — AND TAKE THE WHOLE VOCABULARY. Every size prop is\n * `SizeValue` and every colour prop is `ColorValue`, with no `Extract` and no\n * `Exclude`. Handing a component a slice was tried and undone: it is the same\n * fragmentation wearing the canonical type's name, and it leaves a caller having\n * to remember which components accept `xs` and which accept `info`. Where the\n * underlying widget draws fewer steps than five, that is a rendering detail and\n * belongs at the MUI boundary below — not in the prop's type.\n *\n * A component whose size or colour is not this concept at all keeps its own type\n * — `Scrollbar`'s `thin|medium|thick` is a track width, `Sheet`'s `full` is a\n * viewport fraction, `LazyImage`'s size is pixels. Forcing those into the scale\n * would be consistency for its own sake.\n */\n\n/**\n * The house size scale.\n *\n * Abbreviated, because that is what 26 of the 30 components with a real size\n * already used and what every caller has been taught to write.\n *\n * Declared as the array and the type together so the two cannot disagree. The\n * runtime list is what Storybook `argTypes.options` and the demo grids iterate;\n * spelled by hand in each story it drifts, and it had — twelve colour lists\n * omitted `info`, so the control that documents the vocabulary offered a\n * component less than the component accepted.\n */\n/**\n * The type scale is the THIRD vocabulary, and it lives in `./typography.ts`\n * because it is metrics rather than a prop union. Re-exported here so\n * `@12-apps/ui/tokens` stays the one import path for \"what words does this\n * package speak\" — a second entry point is how a vocabulary gets missed.\n */\nexport {\n HEADING_LEVELS,\n HEADING_SCALE,\n type HeadingLevel,\n type HeadingMetrics,\n type HeadingScaleOverrides,\n} from './heading-scale';\n\nexport type SizeValue = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport const SIZE_VALUES = ['xs', 'sm', 'md', 'lg', 'xl'] as const satisfies readonly SizeValue[];\n\n/**\n * The house colour vocabulary.\n *\n * `danger` and `neutral` are OURS; the rest are MUI's own names already. That\n * sentence started life in `Button.tsx`, which is the component most callers\n * meet first and therefore the one that taught the vocabulary — so it is the one\n * the rest of the package follows.\n *\n * Components that hand these to MUI translate at the boundary (`danger` →\n * `error`, `neutral` → `default` or `inherit` depending on what the underlying\n * component calls its unaccented state). The translation must be a real mapping\n * and never a cast: a cast is precisely what let `danger` through untouched and\n * had MUI fall back to grey.\n *\n * Array and type declared together, for the reason given on {@link SIZE_VALUES}.\n */\nexport type ColorValue =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'info'\n | 'danger'\n | 'neutral';\n\nexport const COLOR_VALUES = [\n 'primary',\n 'secondary',\n 'success',\n 'warning',\n 'info',\n 'danger',\n 'neutral',\n] as const satisfies readonly ColorValue[];\n\n/* ── Array and union, pinned to each other ────────────────────────────────── */\n\n/**\n * The arrays above are written out rather than derived, because deriving the\n * union from the array (`(typeof COLOR_VALUES)[number]`) costs the alias its\n * name: TypeScript resolves the indexed access eagerly, and every error in the\n * package stops saying `not assignable to type 'ColorValue'` and starts dumping\n * seven string literals. In a package whose entire purpose is teaching this\n * vocabulary, the name in the error message is worth keeping.\n *\n * Writing both means they could disagree, so both directions are checked here.\n * `satisfies` above catches an entry that is not a member. These catch the other\n * half — a member missing from the array — which `satisfies` cannot see and\n * which is the direction that actually bit: twelve story control lists offered\n * six colours for a vocabulary of seven, so `info` was undocumented everywhere.\n *\n * A gap makes the assignment below fail, and the error names the missing member.\n */\ntype Missing<Union extends string, Listed extends string> = Exclude<Union, Listed>;\n\nconst _allSizesListed: Missing<SizeValue, (typeof SIZE_VALUES)[number]> extends never\n ? true\n : never = true;\n\nconst _allColorsListed: Missing<ColorValue, (typeof COLOR_VALUES)[number]> extends never\n ? true\n : never = true;\n\nvoid _allSizesListed;\nvoid _allColorsListed;\n\n/* ── The MUI boundary ─────────────────────────────────────────────────────── */\n\n/** What MUI calls a size. Three entries against our five. */\nexport type MuiSize = 'small' | 'medium' | 'large';\n\n/**\n * The house scale collapsed onto MUI's three.\n *\n * Five onto three loses information, and it loses it at the ends on purpose:\n * `xs`/`sm` both draw small and `lg`/`xl` both draw large, because MUI has no\n * fourth and fifth step to give them. A component that genuinely needs five\n * distinct sizes styles them itself rather than routing through here — this is\n * for the ones that just forward the prop.\n */\nexport const muiSize = (size: SizeValue): MuiSize => {\n if (size === 'xs' || size === 'sm') return 'small';\n return size === 'md' ? 'medium' : 'large';\n};\n\n/** What MUI calls a semantic colour on most components. */\nexport type MuiColor = 'primary' | 'secondary' | 'success' | 'warning' | 'info' | 'error';\n\n/**\n * The house vocabulary translated for MUI, with the caller naming its neutral.\n *\n * `neutral` is the awkward one: MUI spells the unaccented state `default` on a\n * chip, `inherit` on a button and an icon button, and `grey` in the palette. So\n * the caller passes the word its own MUI component uses rather than this\n * pretending there is one answer.\n *\n * A MAPPING, NEVER A CAST. The cast is what let `danger` reach MUI untouched and\n * silently fall back to grey.\n */\nexport function muiColor<N extends string>(color: ColorValue, neutralAs: N): MuiColor | N {\n if (color === 'danger') return 'error';\n return color === 'neutral' ? neutralAs : color;\n}\n\n/**\n * The house vocabulary as a `theme.palette` key.\n *\n * Separate from {@link muiColor} because the palette has no `default` and no\n * `inherit` — an unaccented colour there is `grey`.\n */\nexport type PaletteKey = MuiColor | 'grey';\n\nexport const paletteKey = (color: ColorValue): PaletteKey =>\n color === 'danger' ? 'error' : color === 'neutral' ? 'grey' : color;\n\n/**\n * A `ColorValue` resolved to a four-stop accent from the theme.\n *\n * `paletteKey` is not enough on its own for anything that reads `.main`: MUI's\n * palette has no neutral `PaletteColor`, and `palette.grey` is a 50–900 ramp\n * with no `main`, `light`, `dark` or `contrastText` on it at all. So `neutral`\n * is resolved from the ramp here, once, instead of every component discovering\n * the same hole and branching around it.\n *\n * Typed against the theme structurally so this file does not drag in MUI's\n * `Theme` and become a dependency of everything that imports a token.\n */\n"],"mappings":";AA4DO,IAAM,cAAc,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AA2BjD,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA+CO,IAAM,UAAU,CAAC,SAA6B;AACnD,MAAI,SAAS,QAAQ,SAAS,KAAM,QAAO;AAC3C,SAAO,SAAS,OAAO,WAAW;AACpC;AAgBO,SAAS,SAA2B,OAAmB,WAA4B;AACxF,MAAI,UAAU,SAAU,QAAO;AAC/B,SAAO,UAAU,YAAY,YAAY;AAC3C;AAUO,IAAM,aAAa,CAAC,UACzB,UAAU,WAAW,UAAU,UAAU,YAAY,SAAS;","names":[]}
@@ -0,0 +1,21 @@
1
+ // src/tokens/css-units.ts
2
+ var ROOT_PX = 16;
3
+ function cssLengthToPx(value, fallback) {
4
+ if (typeof value === "number") return value;
5
+ if (value === void 0) return fallback;
6
+ const parsed = Number.parseFloat(value);
7
+ if (Number.isNaN(parsed)) return fallback;
8
+ return value.endsWith("rem") || value.endsWith("em") ? parsed * ROOT_PX : parsed;
9
+ }
10
+ function cssTrackingToEm(value) {
11
+ if (value === void 0) return void 0;
12
+ const parsed = Number.parseFloat(value);
13
+ if (Number.isNaN(parsed)) return void 0;
14
+ return value.endsWith("px") ? parsed / ROOT_PX : parsed;
15
+ }
16
+
17
+ export {
18
+ cssLengthToPx,
19
+ cssTrackingToEm
20
+ };
21
+ //# sourceMappingURL=chunk-AG66JBNH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tokens/css-units.ts"],"sourcesContent":["/**\n * THE ONE READER OF CSS LENGTHS.\n *\n * `HEADING_SCALE` and a host's MUI overrides speak CSS — `'2rem'`, `'-0.02em'`\n * — and both `tokens/theme.ts` and `provider/mui-bridge.ts` need them as\n * numbers. Two private parsers drifted (one multiplied `em` by 16, one did\n * not), so there is one, here, with the rule spelled out: a length becomes px\n * against a 16px root, a tracking value becomes em.\n */\n\nconst ROOT_PX = 16;\n\n/** `'1.5rem'` → 24, `'1.5em'` → 24, `'20px'` → 20, `20` → 20, unparseable → `fallback`. */\nexport function cssLengthToPx(value: string | number | undefined, fallback: number): number {\n if (typeof value === 'number') return value;\n if (value === undefined) return fallback;\n const parsed = Number.parseFloat(value);\n if (Number.isNaN(parsed)) return fallback;\n return value.endsWith('rem') || value.endsWith('em') ? parsed * ROOT_PX : parsed;\n}\n\n/** `'-0.02em'` → -0.02, `'0.5px'` → 0.5 / 16, `undefined` → `undefined` (\"normal\"). */\nexport function cssTrackingToEm(value: string | undefined): number | undefined {\n if (value === undefined) return undefined;\n const parsed = Number.parseFloat(value);\n if (Number.isNaN(parsed)) return undefined;\n return value.endsWith('px') ? parsed / ROOT_PX : parsed;\n}\n"],"mappings":";AAUA,IAAM,UAAU;AAGT,SAAS,cAAc,OAAoC,UAA0B;AAC1F,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,UAAU,OAAW,QAAO;AAChC,QAAM,SAAS,OAAO,WAAW,KAAK;AACtC,MAAI,OAAO,MAAM,MAAM,EAAG,QAAO;AACjC,SAAO,MAAM,SAAS,KAAK,KAAK,MAAM,SAAS,IAAI,IAAI,SAAS,UAAU;AAC5E;AAGO,SAAS,gBAAgB,OAA+C;AAC7E,MAAI,UAAU,OAAW,QAAO;AAChC,QAAM,SAAS,OAAO,WAAW,KAAK;AACtC,MAAI,OAAO,MAAM,MAAM,EAAG,QAAO;AACjC,SAAO,MAAM,SAAS,IAAI,IAAI,SAAS,UAAU;AACnD;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  CepField
6
- } from "./chunk-RX6DWIIW.js";
6
+ } from "./chunk-BILE3A7F.js";
7
7
 
8
8
  // src/components/form/total-form/Fields/CepField.tsx
9
9
  import { useCallback, useMemo, useRef } from "react";
@@ -80,4 +80,4 @@ function CepField2({
80
80
  export {
81
81
  CepField2 as CepField
82
82
  };
83
- //# sourceMappingURL=chunk-WFX5GASM.js.map
83
+ //# sourceMappingURL=chunk-B7BZAIHL.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Input
3
- } from "./chunk-M3RIC6JI.js";
3
+ } from "./chunk-OQXOYHIV.js";
4
4
  import {
5
5
  FormControl,
6
6
  FormLabel,
7
7
  FormMessage
8
- } from "./chunk-VZO7VREP.js";
8
+ } from "./chunk-IPPTOL53.js";
9
9
 
10
10
  // src/components/form/CepField/CepField.tsx
11
11
  import { useCallback, useEffect, useRef, useState } from "react";
@@ -122,4 +122,4 @@ export {
122
122
  CepField,
123
123
  CepField_default
124
124
  };
125
- //# sourceMappingURL=chunk-RX6DWIIW.js.map
125
+ //# sourceMappingURL=chunk-BILE3A7F.js.map
@@ -1,13 +1,13 @@
1
+ import {
2
+ resolveAxisConfig,
3
+ resolveBarGeometry
4
+ } from "./chunk-4V532JF6.js";
1
5
  import {
2
6
  getAxisStyles,
3
7
  getDefaultColors,
4
8
  getSizeStyles,
5
9
  resolveSeries
6
- } from "./chunk-AVU6KU27.js";
7
- import {
8
- resolveAxisConfig,
9
- resolveBarGeometry
10
- } from "./chunk-4V532JF6.js";
10
+ } from "./chunk-XXDXW6TX.js";
11
11
 
12
12
  // src/components/data-display/Chart/chart-context.ts
13
13
  function buildChartContext(props, theme) {
@@ -48,4 +48,4 @@ function buildChartContext(props, theme) {
48
48
  export {
49
49
  buildChartContext
50
50
  };
51
- //# sourceMappingURL=chunk-XSKVBGCZ.js.map
51
+ //# sourceMappingURL=chunk-BLBOYCOV.js.map
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-IAQFQNBL.js";
9
+ } from "./chunk-24BUCMQA.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-VRHBJXZ7.js";
12
+ } from "./chunk-2PCOC3PT.js";
13
13
 
14
14
  // src/components/data-display/DataViews/data-views-empty.tsx
15
15
  import FilterAltOffRoundedIcon from "@mui/icons-material/FilterAltOffRounded";
@@ -77,4 +77,4 @@ function DataViewsEmpty({
77
77
  export {
78
78
  DataViewsEmpty
79
79
  };
80
- //# sourceMappingURL=chunk-4Y65Q3CR.js.map
80
+ //# sourceMappingURL=chunk-C52BELLW.js.map
@@ -1,7 +1,9 @@
1
1
  import {
2
- HEADING_SCALE,
3
2
  headingMetrics
4
- } from "./chunk-7CA6GVBO.js";
3
+ } from "./chunk-PT6TCWIW.js";
4
+ import {
5
+ HEADING_SCALE
6
+ } from "./chunk-FZXKH2ZT.js";
5
7
 
6
8
  // src/components/typography/Heading/Heading.styles.ts
7
9
  var getColorFromTheme = (theme, color) => {
@@ -72,4 +74,4 @@ var headingSx = (theme, flags) => {
72
74
  export {
73
75
  headingSx
74
76
  };
75
- //# sourceMappingURL=chunk-QCIWROKG.js.map
77
+ //# sourceMappingURL=chunk-CGQI4XE5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/typography/Heading/Heading.styles.ts"],"sourcesContent":["import type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { HeadingProps } from './Heading.types';\nimport { HEADING_SCALE, headingMetrics, type HeadingLevel } from '../../../tokens/typography';\nimport type { ColorValue } from '../../../tokens/scales';\n\ntype Weight = NonNullable<HeadingProps['weight']>;\n\n// Exhaustive over ColorValue, and deliberately without a fallback. The map\n// happened to hold all seven already, but it was `Record<string, string>` with\n// `|| text.primary` behind it — so nothing kept it that way, and the eighth\n// colour would have rendered as ordinary body text with no complaint. That is\n// the failure this whole vocabulary exists to make impossible; `Text` was\n// tightened the same way and this one was missed.\nconst getColorFromTheme = (theme: Theme, color: ColorValue): string => {\n if (color === 'neutral') {\n return theme.palette.text.primary;\n }\n\n const colorMap: Record<Exclude<ColorValue, 'neutral'>, string> = {\n primary: theme.palette.primary.main,\n secondary: theme.palette.secondary.main,\n success: theme.palette.success.main,\n warning: theme.palette.warning.main,\n info: theme.palette.info.main,\n danger: theme.palette.error.main,\n };\n\n return colorMap[color];\n};\n\nconst WEIGHTS: Record<Weight, number> = {\n light: 300,\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n};\n\n/** The two-stop gradient each colour paints its glyphs with. */\nconst PRIMARY_STOPS = (theme: Theme): [string, string] => [\n theme.palette.primary.main,\n theme.palette.secondary.main,\n];\n\n// Keyed over the whole vocabulary, with no `?? PRIMARY_STOPS` behind it. Two\n// stops were missing — `info` and `neutral` — so a gradient heading in either\n// colour painted the PRIMARY gradient and looked deliberate while ignoring the\n// prop entirely. The fallback is what hid it, so the fallback is gone.\nconst GRADIENT_STOPS: Record<ColorValue, (theme: Theme) => [string, string]> = {\n primary: PRIMARY_STOPS,\n secondary: (theme) => [theme.palette.secondary.main, theme.palette.primary.main],\n success: (theme) => [theme.palette.success.light, theme.palette.success.dark],\n warning: (theme) => [theme.palette.warning.light, theme.palette.warning.dark],\n info: (theme) => [theme.palette.info.light, theme.palette.info.dark],\n danger: (theme) => [theme.palette.error.light, theme.palette.error.dark],\n // The grey ramp has no light/dark pair, and every stop on it is\n // `string | undefined` under `noUncheckedIndexedAccess`.\n neutral: (theme) => [theme.palette.grey[500] ?? '#9e9e9e', theme.palette.grey[900] ?? '#212121'],\n};\n\nconst gradientFor = (theme: Theme, color: ColorValue) => {\n const [from, to] = GRADIENT_STOPS[color](theme);\n return `linear-gradient(135deg, ${from} 0%, ${to} 100%)`;\n};\n\nexport interface HeadingFlags {\n /**\n * The step of the scale to DRAW. Named `customSize` rather than `customLevel`\n * because the rank is no longer what decides it — see `Heading.tsx`, which\n * resolves `size ?? level` before it gets here. This file no longer knows\n * which tag it is styling, and that is the point.\n */\n customSize?: string;\n customColor?: ColorValue;\n customWeight?: string;\n gradient?: boolean;\n}\n\n/** A step name the scale actually has, or `h2` — the documented default. */\nconst stepOf = (value: string | undefined): HeadingLevel =>\n value !== undefined && value in HEADING_SCALE ? (value as HeadingLevel) : 'h2';\n\nexport const headingSx = (theme: Theme, flags: HeadingFlags): CSSObject => {\n const { customSize, customColor = 'neutral', customWeight = 'bold', gradient } = flags;\n // From the THEME, with the package default underneath — never from a table in\n // this file. A host's `createTheme({ typography: { headingScale } })` is what\n // sets the house scale now; see `tokens/typography.ts` for why it is our own\n // key rather than MUI's `typography.h1`.\n const { normalWeight, ...metrics } = headingMetrics(theme, stepOf(customSize));\n\n const base: CSSObject = {\n fontFamily: theme.typography.h1.fontFamily,\n margin: 0,\n transition: 'all 0.2s ease',\n ...metrics,\n fontWeight:\n customWeight === 'normal' ? normalWeight : (WEIGHTS[customWeight as Weight] ?? WEIGHTS.bold),\n };\n\n if (!gradient) {\n return { ...base, color: getColorFromTheme(theme, customColor) };\n }\n\n // The gradient paints the glyphs themselves, so the text must draw no fill of\n // its own for it to show through.\n return {\n ...base,\n background: gradientFor(theme, customColor),\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n MozBackgroundClip: 'text',\n MozTextFillColor: 'transparent',\n };\n};\n"],"mappings":";;;;;;AAcA,IAAM,oBAAoB,CAAC,OAAc,UAA8B;AACrE,MAAI,UAAU,WAAW;AACvB,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC5B;AAEA,QAAM,WAA2D;AAAA,IAC/D,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,WAAW,MAAM,QAAQ,UAAU;AAAA,IACnC,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,MAAM,MAAM,QAAQ,KAAK;AAAA,IACzB,QAAQ,MAAM,QAAQ,MAAM;AAAA,EAC9B;AAEA,SAAO,SAAS,KAAK;AACvB;AAEA,IAAM,UAAkC;AAAA,EACtC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AACR;AAGA,IAAM,gBAAgB,CAAC,UAAmC;AAAA,EACxD,MAAM,QAAQ,QAAQ;AAAA,EACtB,MAAM,QAAQ,UAAU;AAC1B;AAMA,IAAM,iBAAyE;AAAA,EAC7E,SAAS;AAAA,EACT,WAAW,CAAC,UAAU,CAAC,MAAM,QAAQ,UAAU,MAAM,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC/E,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC5E,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC5E,MAAM,CAAC,UAAU,CAAC,MAAM,QAAQ,KAAK,OAAO,MAAM,QAAQ,KAAK,IAAI;AAAA,EACnE,QAAQ,CAAC,UAAU,CAAC,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,MAAM,IAAI;AAAA;AAAA;AAAA,EAGvE,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,KAAK,GAAG,KAAK,WAAW,MAAM,QAAQ,KAAK,GAAG,KAAK,SAAS;AACjG;AAEA,IAAM,cAAc,CAAC,OAAc,UAAsB;AACvD,QAAM,CAAC,MAAM,EAAE,IAAI,eAAe,KAAK,EAAE,KAAK;AAC9C,SAAO,2BAA2B,IAAI,QAAQ,EAAE;AAClD;AAgBA,IAAM,SAAS,CAAC,UACd,UAAU,UAAa,SAAS,gBAAiB,QAAyB;AAErE,IAAM,YAAY,CAAC,OAAc,UAAmC;AACzE,QAAM,EAAE,YAAY,cAAc,WAAW,eAAe,QAAQ,SAAS,IAAI;AAKjF,QAAM,EAAE,cAAc,GAAG,QAAQ,IAAI,eAAe,OAAO,OAAO,UAAU,CAAC;AAE7E,QAAM,OAAkB;AAAA,IACtB,YAAY,MAAM,WAAW,GAAG;AAAA,IAChC,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAG;AAAA,IACH,YACE,iBAAiB,WAAW,eAAgB,QAAQ,YAAsB,KAAK,QAAQ;AAAA,EAC3F;AAEA,MAAI,CAAC,UAAU;AACb,WAAO,EAAE,GAAG,MAAM,OAAO,kBAAkB,OAAO,WAAW,EAAE;AAAA,EACjE;AAIA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY,YAAY,OAAO,WAAW;AAAA,IAC1C,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,EACpB;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/components/typography/Heading/Heading.styles.ts"],"sourcesContent":["import type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { HeadingProps } from './Heading.types';\nimport { HEADING_SCALE, headingMetrics, type HeadingLevel } from '../../../tokens/typography';\nimport type { ColorValue } from '../../../tokens/scales';\n\ntype Weight = NonNullable<HeadingProps['weight']>;\n\n// Exhaustive over ColorValue, and deliberately without a fallback. The map\n// happened to hold all seven already, but it was `Record<string, string>` with\n// `|| text.primary` behind it — so nothing kept it that way, and the eighth\n// colour would have rendered as ordinary body text with no complaint. That is\n// the failure this whole vocabulary exists to make impossible; `Text` was\n// tightened the same way and this one was missed.\nconst getColorFromTheme = (theme: Theme, color: ColorValue): string => {\n if (color === 'neutral') {\n return theme.palette.text.primary;\n }\n\n const colorMap: Record<Exclude<ColorValue, 'neutral'>, string> = {\n primary: theme.palette.primary.main,\n secondary: theme.palette.secondary.main,\n success: theme.palette.success.main,\n warning: theme.palette.warning.main,\n info: theme.palette.info.main,\n danger: theme.palette.error.main,\n };\n\n return colorMap[color];\n};\n\nconst WEIGHTS: Record<Weight, number> = {\n light: 300,\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n};\n\n/** The two-stop gradient each colour paints its glyphs with. */\nconst PRIMARY_STOPS = (theme: Theme): [string, string] => [\n theme.palette.primary.main,\n theme.palette.secondary.main,\n];\n\n// Keyed over the whole vocabulary, with no `?? PRIMARY_STOPS` behind it. Two\n// stops were missing — `info` and `neutral` — so a gradient heading in either\n// colour painted the PRIMARY gradient and looked deliberate while ignoring the\n// prop entirely. The fallback is what hid it, so the fallback is gone.\nconst GRADIENT_STOPS: Record<ColorValue, (theme: Theme) => [string, string]> = {\n primary: PRIMARY_STOPS,\n secondary: (theme) => [theme.palette.secondary.main, theme.palette.primary.main],\n success: (theme) => [theme.palette.success.light, theme.palette.success.dark],\n warning: (theme) => [theme.palette.warning.light, theme.palette.warning.dark],\n info: (theme) => [theme.palette.info.light, theme.palette.info.dark],\n danger: (theme) => [theme.palette.error.light, theme.palette.error.dark],\n // The grey ramp has no light/dark pair, and every stop on it is\n // `string | undefined` under `noUncheckedIndexedAccess`.\n neutral: (theme) => [theme.palette.grey[500] ?? '#9e9e9e', theme.palette.grey[900] ?? '#212121'],\n};\n\nconst gradientFor = (theme: Theme, color: ColorValue) => {\n const [from, to] = GRADIENT_STOPS[color](theme);\n return `linear-gradient(135deg, ${from} 0%, ${to} 100%)`;\n};\n\nexport interface HeadingFlags {\n /**\n * The step of the scale to DRAW. Named `customSize` rather than `customLevel`\n * because the rank is no longer what decides it — see `Heading.tsx`, which\n * resolves `size ?? level` before it gets here. This file no longer knows\n * which tag it is styling, and that is the point.\n */\n customSize?: string;\n customColor?: ColorValue;\n customWeight?: string;\n gradient?: boolean;\n}\n\n/** A step name the scale actually has, or `h2` — the documented default. */\nconst stepOf = (value: string | undefined): HeadingLevel =>\n value !== undefined && value in HEADING_SCALE ? (value as HeadingLevel) : 'h2';\n\nexport const headingSx = (theme: Theme, flags: HeadingFlags): CSSObject => {\n const { customSize, customColor = 'neutral', customWeight = 'bold', gradient } = flags;\n // From the THEME, with the package default underneath — never from a table in\n // this file. A host's `createTheme({ typography: { headingScale } })` is what\n // sets the house scale now; see `tokens/typography.ts` for why it is our own\n // key rather than MUI's `typography.h1`.\n const { normalWeight, ...metrics } = headingMetrics(theme, stepOf(customSize));\n\n const base: CSSObject = {\n fontFamily: theme.typography.h1.fontFamily,\n margin: 0,\n transition: 'all 0.2s ease',\n ...metrics,\n fontWeight:\n customWeight === 'normal' ? normalWeight : (WEIGHTS[customWeight as Weight] ?? WEIGHTS.bold),\n };\n\n if (!gradient) {\n return { ...base, color: getColorFromTheme(theme, customColor) };\n }\n\n // The gradient paints the glyphs themselves, so the text must draw no fill of\n // its own for it to show through.\n return {\n ...base,\n background: gradientFor(theme, customColor),\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n MozBackgroundClip: 'text',\n MozTextFillColor: 'transparent',\n };\n};\n"],"mappings":";;;;;;;;AAcA,IAAM,oBAAoB,CAAC,OAAc,UAA8B;AACrE,MAAI,UAAU,WAAW;AACvB,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC5B;AAEA,QAAM,WAA2D;AAAA,IAC/D,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,WAAW,MAAM,QAAQ,UAAU;AAAA,IACnC,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,SAAS,MAAM,QAAQ,QAAQ;AAAA,IAC/B,MAAM,MAAM,QAAQ,KAAK;AAAA,IACzB,QAAQ,MAAM,QAAQ,MAAM;AAAA,EAC9B;AAEA,SAAO,SAAS,KAAK;AACvB;AAEA,IAAM,UAAkC;AAAA,EACtC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AACR;AAGA,IAAM,gBAAgB,CAAC,UAAmC;AAAA,EACxD,MAAM,QAAQ,QAAQ;AAAA,EACtB,MAAM,QAAQ,UAAU;AAC1B;AAMA,IAAM,iBAAyE;AAAA,EAC7E,SAAS;AAAA,EACT,WAAW,CAAC,UAAU,CAAC,MAAM,QAAQ,UAAU,MAAM,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC/E,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC5E,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,QAAQ,OAAO,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC5E,MAAM,CAAC,UAAU,CAAC,MAAM,QAAQ,KAAK,OAAO,MAAM,QAAQ,KAAK,IAAI;AAAA,EACnE,QAAQ,CAAC,UAAU,CAAC,MAAM,QAAQ,MAAM,OAAO,MAAM,QAAQ,MAAM,IAAI;AAAA;AAAA;AAAA,EAGvE,SAAS,CAAC,UAAU,CAAC,MAAM,QAAQ,KAAK,GAAG,KAAK,WAAW,MAAM,QAAQ,KAAK,GAAG,KAAK,SAAS;AACjG;AAEA,IAAM,cAAc,CAAC,OAAc,UAAsB;AACvD,QAAM,CAAC,MAAM,EAAE,IAAI,eAAe,KAAK,EAAE,KAAK;AAC9C,SAAO,2BAA2B,IAAI,QAAQ,EAAE;AAClD;AAgBA,IAAM,SAAS,CAAC,UACd,UAAU,UAAa,SAAS,gBAAiB,QAAyB;AAErE,IAAM,YAAY,CAAC,OAAc,UAAmC;AACzE,QAAM,EAAE,YAAY,cAAc,WAAW,eAAe,QAAQ,SAAS,IAAI;AAKjF,QAAM,EAAE,cAAc,GAAG,QAAQ,IAAI,eAAe,OAAO,OAAO,UAAU,CAAC;AAE7E,QAAM,OAAkB;AAAA,IACtB,YAAY,MAAM,WAAW,GAAG;AAAA,IAChC,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAG;AAAA,IACH,YACE,iBAAiB,WAAW,eAAgB,QAAQ,YAAsB,KAAK,QAAQ;AAAA,EAC3F;AAEA,MAAI,CAAC,UAAU;AACb,WAAO,EAAE,GAAG,MAAM,OAAO,kBAAkB,OAAO,WAAW,EAAE;AAAA,EACjE;AAIA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY,YAAY,OAAO,WAAW;AAAA,IAC1C,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,EACpB;AACF;","names":[]}
@@ -1,13 +1,13 @@
1
- import {
2
- resolveTooltipProps,
3
- usePinnedTooltip
4
- } from "./chunk-SCRN2RE4.js";
5
1
  import {
6
2
  arrowColor,
7
3
  emphasisStyles,
8
4
  getSizeStyles,
9
5
  variantStyles
10
6
  } from "./chunk-TO2NXDZA.js";
7
+ import {
8
+ resolveTooltipProps,
9
+ usePinnedTooltip
10
+ } from "./chunk-SCRN2RE4.js";
11
11
 
12
12
  // src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx
13
13
  import MuiTooltip from "@mui/material/Tooltip/index.js";
@@ -100,4 +100,4 @@ InteractiveTooltip.displayName = "InteractiveTooltip";
100
100
  export {
101
101
  InteractiveTooltip
102
102
  };
103
- //# sourceMappingURL=chunk-RP3W6IQO.js.map
103
+ //# sourceMappingURL=chunk-CPNSVIIB.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-WEBEOBN5.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-VRHBJXZ7.js";
12
+ } from "./chunk-2PCOC3PT.js";
13
13
 
14
14
  // src/components/data-display/DataViews/save-view-preview.tsx
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -51,4 +51,4 @@ function PreviewBox({ preview, testIdPrefix }) {
51
51
  export {
52
52
  PreviewBox
53
53
  };
54
- //# sourceMappingURL=chunk-T4SM36XC.js.map
54
+ //# sourceMappingURL=chunk-D7FJ2GAD.js.map
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-6DPAWXZ3.js";
18
18
  import {
19
19
  Text
20
- } from "./chunk-VRHBJXZ7.js";
20
+ } from "./chunk-2PCOC3PT.js";
21
21
 
22
22
  // src/components/data-display/DataViews/data-views-display-tabs.tsx
23
23
  import ArrowDownwardRoundedIcon from "@mui/icons-material/ArrowDownwardRounded";
@@ -243,4 +243,4 @@ export {
243
243
  SortTab,
244
244
  DisplayTab
245
245
  };
246
- //# sourceMappingURL=chunk-SCGVB7DS.js.map
246
+ //# sourceMappingURL=chunk-DOADQW7I.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  accentFor
3
- } from "./chunk-I6PZVHIT.js";
3
+ } from "./chunk-V5IOLAIS.js";
4
4
 
5
5
  // src/components/form/Command/Command.styles.ts
6
6
  import { alpha } from "@mui/material/styles/index.js";
@@ -58,4 +58,4 @@ export {
58
58
  commandSizeStyles,
59
59
  commandPaperStyles
60
60
  };
61
- //# sourceMappingURL=chunk-RIAIJTEW.js.map
61
+ //# sourceMappingURL=chunk-DOMEYGTN.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-LYSSO6WC.js";
4
4
  import {
5
5
  DescriptionItem
6
- } from "./chunk-TCAB2ERD.js";
6
+ } from "./chunk-PNYXXLPU.js";
7
7
  import {
8
8
  default as default2
9
9
  } from "./chunk-6DPAWXZ3.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-VRHBJXZ7.js";
12
+ } from "./chunk-2PCOC3PT.js";
13
13
 
14
14
  // src/components/data-display/DataViews/base-list-card-slots.tsx
15
15
  import { Fragment } from "react";
@@ -222,4 +222,4 @@ export {
222
222
  ListCardActions,
223
223
  ListCardTail
224
224
  };
225
- //# sourceMappingURL=chunk-7HPPUO2A.js.map
225
+ //# sourceMappingURL=chunk-DQHC5P64.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- paginationStyles
3
- } from "./chunk-CZBONNPA.js";
4
1
  import {
5
2
  ItemsPerPageSelect,
6
3
  PageInfo
@@ -10,6 +7,9 @@ import {
10
7
  muiSizeFor,
11
8
  resolvePaginationProps
12
9
  } from "./chunk-Z6TIAVEG.js";
10
+ import {
11
+ paginationStyles
12
+ } from "./chunk-CZBONNPA.js";
13
13
 
14
14
  // src/components/navigation/Pagination/Pagination.tsx
15
15
  import FirstPage from "@mui/icons-material/FirstPage";
@@ -191,4 +191,4 @@ Pagination.displayName = "Pagination";
191
191
  export {
192
192
  Pagination
193
193
  };
194
- //# sourceMappingURL=chunk-W2UTDN4T.js.map
194
+ //# sourceMappingURL=chunk-DWZ7FLA7.js.map