@kismet-ux/constellation 1.9.0 → 1.11.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 (406) hide show
  1. package/dist/brand/Logo/logo.css +4 -1
  2. package/dist/form/Checkbox/checkbox.css +48 -34
  3. package/dist/form/Checkbox/checkbox.d.ts +5 -0
  4. package/dist/form/Checkbox/checkbox.d.ts.map +1 -1
  5. package/dist/form/Checkbox/checkbox.js +6 -55
  6. package/dist/form/Checkbox/checkbox.js.map +1 -1
  7. package/dist/form/Checkbox/checkbox.module.scss.js +1 -1
  8. package/dist/form/Combobox/combobox.css +35 -0
  9. package/dist/form/Combobox/combobox.d.ts +41 -0
  10. package/dist/form/Combobox/combobox.d.ts.map +1 -0
  11. package/dist/form/Combobox/combobox.js +152 -0
  12. package/dist/form/Combobox/combobox.js.map +1 -0
  13. package/dist/form/Combobox/combobox.module.scss.js +6 -0
  14. package/dist/form/Combobox/combobox.module.scss.js.map +1 -0
  15. package/dist/form/Combobox/index.d.ts +2 -0
  16. package/dist/form/Combobox/index.d.ts.map +1 -0
  17. package/dist/form/DatePicker/date-picker.d.ts.map +1 -1
  18. package/dist/form/DatePicker/date-picker.js +5 -53
  19. package/dist/form/DatePicker/date-picker.js.map +1 -1
  20. package/dist/form/Input/input.css +12 -0
  21. package/dist/form/Input/input.d.ts +1 -1
  22. package/dist/form/Input/input.d.ts.map +1 -1
  23. package/dist/form/Input/input.js +23 -3
  24. package/dist/form/Input/input.js.map +1 -1
  25. package/dist/form/Select/select.css +46 -2
  26. package/dist/form/Select/select.d.ts +31 -3
  27. package/dist/form/Select/select.d.ts.map +1 -1
  28. package/dist/form/Select/select.js +35 -21
  29. package/dist/form/Select/select.js.map +1 -1
  30. package/dist/form/Select/select.module.scss.js +2 -2
  31. package/dist/form/index.d.ts +1 -0
  32. package/dist/form/index.d.ts.map +1 -1
  33. package/dist/form.d.ts +1 -1
  34. package/dist/form.js +2 -1
  35. package/dist/form.js.map +1 -1
  36. package/dist/hooks/index.d.ts +1 -0
  37. package/dist/hooks/index.d.ts.map +1 -1
  38. package/dist/hooks/layout/index.d.ts +1 -0
  39. package/dist/hooks/layout/index.d.ts.map +1 -1
  40. package/dist/hooks/layout/use-flip.d.ts +37 -0
  41. package/dist/hooks/layout/use-flip.d.ts.map +1 -0
  42. package/dist/hooks/layout/use-flip.js +128 -0
  43. package/dist/hooks/layout/use-flip.js.map +1 -0
  44. package/dist/hooks/use-motion.d.ts +30 -0
  45. package/dist/hooks/use-motion.d.ts.map +1 -0
  46. package/dist/hooks/use-motion.js +93 -0
  47. package/dist/hooks/use-motion.js.map +1 -0
  48. package/dist/index-2nHZOukj.d.ts +200 -0
  49. package/dist/index-3Ui8TAHy.d.ts +200 -0
  50. package/dist/index-59JuNTZm.d.ts +537 -0
  51. package/dist/index-5QXWn0de.d.ts +200 -0
  52. package/dist/index-98ozinMf.d.ts +498 -0
  53. package/dist/index-Ah3YQTri.d.ts +566 -0
  54. package/dist/index-As2iBOIu.d.ts +527 -0
  55. package/dist/index-B1Vw0zoR.d.ts +566 -0
  56. package/dist/index-B25sLBMr.d.ts +498 -0
  57. package/dist/index-B4B8aA9X.d.ts +272 -0
  58. package/dist/index-B97hn7Xp.d.ts +514 -0
  59. package/dist/index-B9B7JjTb.d.ts +204 -0
  60. package/dist/index-BFWt_pYt.d.ts +566 -0
  61. package/dist/index-BFZp_Pu6.d.ts +566 -0
  62. package/dist/index-BGL4DvKQ.d.ts +293 -0
  63. package/dist/index-BGP_J4I2.d.ts +498 -0
  64. package/dist/index-BHhoIUD_.d.ts +354 -0
  65. package/dist/index-BI0iaWmp.d.ts +222 -0
  66. package/dist/index-BMSRpHb6.d.ts +273 -0
  67. package/dist/index-BRQWKmfq.d.ts +566 -0
  68. package/dist/index-BTARYt96.d.ts +537 -0
  69. package/dist/index-BTrpuZdU.d.ts +566 -0
  70. package/dist/index-BWTwKQsp.d.ts +354 -0
  71. package/dist/index-B_05Skyi.d.ts +566 -0
  72. package/dist/index-BcQqBGNu.d.ts +200 -0
  73. package/dist/index-Be23E9xD.d.ts +298 -0
  74. package/dist/index-Bf44Z8ak.d.ts +514 -0
  75. package/dist/index-Bg42sKjg.d.ts +498 -0
  76. package/dist/index-Bg_0OPMx.d.ts +566 -0
  77. package/dist/index-BgjRk9l7.d.ts +537 -0
  78. package/dist/index-BhLEMn3N.d.ts +537 -0
  79. package/dist/index-BiqECuUj.d.ts +204 -0
  80. package/dist/index-BjUQiAs1.d.ts +130 -0
  81. package/dist/index-BlKqvax0.d.ts +204 -0
  82. package/dist/index-Bnb0JFqx.d.ts +514 -0
  83. package/dist/index-BpSD6t7A.d.ts +566 -0
  84. package/dist/index-BpxKwrv_.d.ts +537 -0
  85. package/dist/index-Brh7JZAQ.d.ts +514 -0
  86. package/dist/index-C-n7hM4G.d.ts +354 -0
  87. package/dist/index-C0wKb28S.d.ts +514 -0
  88. package/dist/index-C129uthr.d.ts +566 -0
  89. package/dist/index-C1ef0QtQ.d.ts +204 -0
  90. package/dist/index-C4BACHGE.d.ts +272 -0
  91. package/dist/index-C5JU8WTE.d.ts +514 -0
  92. package/dist/index-C63UYi-T.d.ts +195 -0
  93. package/dist/index-C8LoYkC7.d.ts +250 -0
  94. package/dist/index-C9-ECLyr.d.ts +566 -0
  95. package/dist/index-C9B1F-mr.d.ts +293 -0
  96. package/dist/index-CAVmbwa8.d.ts +514 -0
  97. package/dist/index-CBz-v5eM.d.ts +184 -0
  98. package/dist/index-CCpdo0n4.d.ts +130 -0
  99. package/dist/index-CDC_ZncW.d.ts +566 -0
  100. package/dist/index-CFQj-KtR.d.ts +184 -0
  101. package/dist/index-CFaxW5hv.d.ts +184 -0
  102. package/dist/index-CG9DKbG9.d.ts +498 -0
  103. package/dist/index-CGhG7YeI.d.ts +354 -0
  104. package/dist/index-CHC6kRbR.d.ts +537 -0
  105. package/dist/index-CH_q-5fk.d.ts +537 -0
  106. package/dist/index-CIK_SmBm.d.ts +200 -0
  107. package/dist/index-CJ1KPFOf.d.ts +537 -0
  108. package/dist/index-CJ5FEGRG.d.ts +537 -0
  109. package/dist/index-CKX2VNKk.d.ts +240 -0
  110. package/dist/index-CL7kYZ90.d.ts +231 -0
  111. package/dist/index-CNl03fCW.d.ts +498 -0
  112. package/dist/index-CO8Jq0pz.d.ts +298 -0
  113. package/dist/index-CQ-aS-rp.d.ts +566 -0
  114. package/dist/index-CQjzBv4q.d.ts +537 -0
  115. package/dist/index-CRVO4SlF.d.ts +537 -0
  116. package/dist/index-CSQFy2xe.d.ts +195 -0
  117. package/dist/index-CWM2ewRz.d.ts +566 -0
  118. package/dist/index-CY6Xq36O.d.ts +204 -0
  119. package/dist/index-CYGOs6JT.d.ts +273 -0
  120. package/dist/index-CYPFkjfk.d.ts +204 -0
  121. package/dist/index-C_hJJ1fH.d.ts +527 -0
  122. package/dist/index-CcM-XHTL.d.ts +273 -0
  123. package/dist/index-CdGF_eEO.d.ts +514 -0
  124. package/dist/index-CdJTE9Lh.d.ts +566 -0
  125. package/dist/index-CdOt-pqR.d.ts +537 -0
  126. package/dist/index-CgeR_2Gi.d.ts +220 -0
  127. package/dist/index-CjUoZbDi.d.ts +354 -0
  128. package/dist/index-CjV6KsFc.d.ts +263 -0
  129. package/dist/index-Ck8LtgBW.d.ts +557 -0
  130. package/dist/index-Cknm9FUU.d.ts +299 -0
  131. package/dist/index-Clv3CnXv.d.ts +184 -0
  132. package/dist/index-Cm4wnJ29.d.ts +514 -0
  133. package/dist/index-Cmz3q-CI.d.ts +273 -0
  134. package/dist/index-CnMBzCft.d.ts +514 -0
  135. package/dist/index-CnVW0FnZ.d.ts +272 -0
  136. package/dist/index-CpIHT-uo.d.ts +231 -0
  137. package/dist/index-CtBEDM0b.d.ts +514 -0
  138. package/dist/index-CtVSiQeY.d.ts +130 -0
  139. package/dist/index-Cu107rOs.d.ts +293 -0
  140. package/dist/index-CxyTd3Ag.d.ts +354 -0
  141. package/dist/index-CywSNvOU.d.ts +200 -0
  142. package/dist/index-CzJL7Lro.d.ts +566 -0
  143. package/dist/index-CzJnKY3r.d.ts +272 -0
  144. package/dist/index-D-R9eOxe.d.ts +354 -0
  145. package/dist/index-D-hdgIbs.d.ts +273 -0
  146. package/dist/index-D-slQ9w4.d.ts +537 -0
  147. package/dist/index-D0jdNDaH.d.ts +204 -0
  148. package/dist/index-D1ir--Li.d.ts +566 -0
  149. package/dist/index-D29_-MCZ.d.ts +354 -0
  150. package/dist/index-D2glATpo.d.ts +273 -0
  151. package/dist/index-D6ATtbor.d.ts +298 -0
  152. package/dist/index-D6HktSlo.d.ts +514 -0
  153. package/dist/index-DB4UBCvy.d.ts +537 -0
  154. package/dist/index-DBd0PU9y.d.ts +222 -0
  155. package/dist/index-DE2Nm-iT.d.ts +354 -0
  156. package/dist/index-DEeJuuvm.d.ts +231 -0
  157. package/dist/index-DHhzBSfL.d.ts +498 -0
  158. package/dist/index-DKpWNCb6.d.ts +204 -0
  159. package/dist/index-DMewi97i.d.ts +566 -0
  160. package/dist/index-DN0gtpck.d.ts +354 -0
  161. package/dist/index-DO23vZ-R.d.ts +514 -0
  162. package/dist/index-DTb2-z6E.d.ts +130 -0
  163. package/dist/index-DV-CN7c0.d.ts +231 -0
  164. package/dist/index-DWgCs62z.d.ts +566 -0
  165. package/dist/index-D_6Qu6ia.d.ts +200 -0
  166. package/dist/index-D_vn8O-I.d.ts +293 -0
  167. package/dist/index-Daq4m4Rf.d.ts +514 -0
  168. package/dist/index-Db6cXpr6.d.ts +537 -0
  169. package/dist/index-DbZ1s2E-.d.ts +514 -0
  170. package/dist/index-DbevJPuY.d.ts +354 -0
  171. package/dist/index-DepmPwP7.d.ts +537 -0
  172. package/dist/index-DfnTWQCz.d.ts +514 -0
  173. package/dist/index-Dfu8WhiS.d.ts +273 -0
  174. package/dist/index-DggMYd7c.d.ts +298 -0
  175. package/dist/index-DhS2nQjt.d.ts +200 -0
  176. package/dist/index-Dn3bC8Ki.d.ts +222 -0
  177. package/dist/index-Dn9bGZvU.d.ts +195 -0
  178. package/dist/index-DnDt7A4Y.d.ts +354 -0
  179. package/dist/index-DpdYKBP2.d.ts +498 -0
  180. package/dist/index-DunP9qIK.d.ts +537 -0
  181. package/dist/index-DxO6-qt5.d.ts +498 -0
  182. package/dist/index-ESQ8WM_8.d.ts +130 -0
  183. package/dist/index-GVz409cm.d.ts +222 -0
  184. package/dist/index-HAx-aLZ0.d.ts +273 -0
  185. package/dist/index-Iuzs6nt9.d.ts +498 -0
  186. package/dist/index-LnEpnlTq.d.ts +566 -0
  187. package/dist/index-Mm1i2OdU.d.ts +537 -0
  188. package/dist/index-P0oxVi77.d.ts +537 -0
  189. package/dist/index-Q5JuPFoN.d.ts +293 -0
  190. package/dist/index-RJviLtvo.d.ts +566 -0
  191. package/dist/index-SnQCbfte.d.ts +498 -0
  192. package/dist/index-Th9It0ZT.d.ts +354 -0
  193. package/dist/index-UHHmyQM5.d.ts +272 -0
  194. package/dist/index-VyGmJYQZ.d.ts +537 -0
  195. package/dist/index-WYH70le_.d.ts +195 -0
  196. package/dist/index-Wj9RYtTX.d.ts +273 -0
  197. package/dist/index-Y-wMZeUG.d.ts +298 -0
  198. package/dist/index-Zo2rSdXz.d.ts +273 -0
  199. package/dist/index-ZwpWgV4n.d.ts +272 -0
  200. package/dist/index-_oZ4knIl.d.ts +272 -0
  201. package/dist/index-an222nAK.d.ts +354 -0
  202. package/dist/index-daV0QTe0.d.ts +537 -0
  203. package/dist/index-eGZu2HLC.d.ts +231 -0
  204. package/dist/index-eswPA0Un.d.ts +204 -0
  205. package/dist/index-gf6-wf_1.d.ts +566 -0
  206. package/dist/index-hdVr9Wrv.d.ts +566 -0
  207. package/dist/index-iygiXYw2.d.ts +537 -0
  208. package/dist/index-jR29ZGLD.d.ts +514 -0
  209. package/dist/index-kHgI28TP.d.ts +272 -0
  210. package/dist/index-lY4_UCOs.d.ts +566 -0
  211. package/dist/index-miXK87yJ.d.ts +231 -0
  212. package/dist/index-mwbGtZkk.d.ts +273 -0
  213. package/dist/index-ru2DFXcm.d.ts +195 -0
  214. package/dist/index-uj1ll_u-.d.ts +204 -0
  215. package/dist/index-vfq-aH7U.d.ts +537 -0
  216. package/dist/index-xqUz9XjP.d.ts +537 -0
  217. package/dist/index.css +74 -18
  218. package/dist/index.d.ts +121 -13
  219. package/dist/index.js +34 -28
  220. package/dist/index.js.map +1 -1
  221. package/dist/internal/use-scroll-lock.d.ts +15 -0
  222. package/dist/internal/use-scroll-lock.d.ts.map +1 -1
  223. package/dist/internal/use-scroll-lock.js +26 -8
  224. package/dist/internal/use-scroll-lock.js.map +1 -1
  225. package/dist/layout/AppContent/app-content.css +1 -1
  226. package/dist/layout/AppContentBands/app-content-bands.css +21 -0
  227. package/dist/layout/AppContentBands/app-content-bands.d.ts +26 -0
  228. package/dist/layout/AppContentBands/app-content-bands.d.ts.map +1 -0
  229. package/dist/layout/AppContentBands/app-content-bands.js +65 -0
  230. package/dist/layout/AppContentBands/app-content-bands.js.map +1 -0
  231. package/dist/layout/AppContentBands/app-content-bands.module.scss.js +6 -0
  232. package/dist/layout/AppContentBands/app-content-bands.module.scss.js.map +1 -0
  233. package/dist/layout/AppContentBands/index.d.ts +2 -0
  234. package/dist/layout/AppContentBands/index.d.ts.map +1 -0
  235. package/dist/layout/AppContentFooter/app-content-footer.css +9 -0
  236. package/dist/layout/AppContentFooter/app-content-footer.d.ts +38 -0
  237. package/dist/layout/AppContentFooter/app-content-footer.d.ts.map +1 -0
  238. package/dist/layout/AppContentFooter/app-content-footer.js +42 -0
  239. package/dist/layout/AppContentFooter/app-content-footer.js.map +1 -0
  240. package/dist/layout/AppContentFooter/app-content-footer.module.scss.js +6 -0
  241. package/dist/layout/AppContentFooter/app-content-footer.module.scss.js.map +1 -0
  242. package/dist/layout/AppContentFooter/index.d.ts +2 -0
  243. package/dist/layout/AppContentFooter/index.d.ts.map +1 -0
  244. package/dist/layout/AppContentMain/app-content-main.css +6 -0
  245. package/dist/layout/AppContentMain/app-content-main.d.ts +37 -0
  246. package/dist/layout/AppContentMain/app-content-main.d.ts.map +1 -0
  247. package/dist/layout/AppContentMain/app-content-main.js +41 -0
  248. package/dist/layout/AppContentMain/app-content-main.js.map +1 -0
  249. package/dist/layout/AppContentMain/app-content-main.module.scss.js +6 -0
  250. package/dist/layout/AppContentMain/app-content-main.module.scss.js.map +1 -0
  251. package/dist/layout/AppContentMain/index.d.ts +2 -0
  252. package/dist/layout/AppContentMain/index.d.ts.map +1 -0
  253. package/dist/layout/AppFooter/app-footer.js +1 -1
  254. package/dist/layout/AppSidebar/app-sidebar.js +1 -1
  255. package/dist/layout/AppSidebarHeader/app-sidebar-header.css +2 -3
  256. package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts +10 -2
  257. package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts.map +1 -1
  258. package/dist/layout/AppSidebarHeader/app-sidebar-header.js +12 -32
  259. package/dist/layout/AppSidebarHeader/app-sidebar-header.js.map +1 -1
  260. package/dist/layout/Collapse/collapse.css +4 -1
  261. package/dist/layout/Column/column.css +6 -0
  262. package/dist/layout/Column/column.d.ts.map +1 -1
  263. package/dist/layout/Column/column.js +3 -1
  264. package/dist/layout/Column/column.js.map +1 -1
  265. package/dist/layout/Column/column.module.scss.js +1 -1
  266. package/dist/layout/Container/container.css +42 -0
  267. package/dist/layout/Container/container.d.ts.map +1 -1
  268. package/dist/layout/Container/container.js +37 -9
  269. package/dist/layout/Container/container.js.map +1 -1
  270. package/dist/layout/Container/container.module.scss.js +1 -1
  271. package/dist/layout/Grid/grid.css +28 -0
  272. package/dist/layout/Grid/grid.d.ts.map +1 -1
  273. package/dist/layout/Grid/grid.js +40 -4
  274. package/dist/layout/Grid/grid.js.map +1 -1
  275. package/dist/layout/Grid/grid.module.scss.js +1 -1
  276. package/dist/layout/Row/row.css +42 -0
  277. package/dist/layout/Row/row.d.ts.map +1 -1
  278. package/dist/layout/Row/row.js +5 -3
  279. package/dist/layout/Row/row.js.map +1 -1
  280. package/dist/layout/Row/row.module.scss.js +1 -1
  281. package/dist/layout/Sidebar/sidebar.css +4 -2
  282. package/dist/layout/Sidebar/sidebar.js +1 -1
  283. package/dist/layout/index.d.ts +2 -0
  284. package/dist/layout/index.d.ts.map +1 -1
  285. package/dist/layout.d.ts +3 -3
  286. package/dist/layout.js +2 -0
  287. package/dist/layout.js.map +1 -1
  288. package/dist/navigation/DropdownMenu/dropdown-menu.d.ts.map +1 -1
  289. package/dist/navigation/DropdownMenu/dropdown-menu.js +1 -1
  290. package/dist/navigation/DropdownMenu/dropdown-menu.js.map +1 -1
  291. package/dist/navigation/NavUser/nav-user.js +2 -2
  292. package/dist/navigation/Sheet/sheet.css +40 -6
  293. package/dist/navigation/Sheet/sheet.d.ts +22 -0
  294. package/dist/navigation/Sheet/sheet.d.ts.map +1 -1
  295. package/dist/navigation/Sheet/sheet.js +5 -30
  296. package/dist/navigation/Sheet/sheet.js.map +1 -1
  297. package/dist/navigation/Sheet/sheet.module.scss.js +1 -1
  298. package/dist/navigation.d.ts +22 -0
  299. package/dist/row-CuhTBQhK.d.ts +21 -0
  300. package/dist/settings/AppearanceDropdown/appearance-dropdown.js +1 -1
  301. package/dist/settings/AppearanceTabs/appearance-tabs.js +2 -27
  302. package/dist/settings/AppearanceTabs/appearance-tabs.js.map +1 -1
  303. package/dist/tokens.css +59 -17
  304. package/dist/tooltip-1qYeAGE9.d.ts +45 -0
  305. package/dist/tooltip-3IOkYFQ-.d.ts +45 -0
  306. package/dist/tooltip-540OmbEG.d.ts +46 -0
  307. package/dist/tooltip-91Nq_Hl8.d.ts +46 -0
  308. package/dist/tooltip-B56sWYK0.d.ts +46 -0
  309. package/dist/tooltip-BIrIF-4z.d.ts +45 -0
  310. package/dist/tooltip-BOipKW5l.d.ts +46 -0
  311. package/dist/tooltip-BPC0RH8i.d.ts +46 -0
  312. package/dist/tooltip-BST1BOCn.d.ts +45 -0
  313. package/dist/tooltip-BhuxNQwX.d.ts +45 -0
  314. package/dist/tooltip-BpAJwi3K.d.ts +46 -0
  315. package/dist/tooltip-C0LBu2Iu.d.ts +45 -0
  316. package/dist/tooltip-C1ZwALiG.d.ts +45 -0
  317. package/dist/tooltip-C55-HA0w.d.ts +45 -0
  318. package/dist/tooltip-CHn6WuDv.d.ts +46 -0
  319. package/dist/tooltip-CNjH7zKO.d.ts +45 -0
  320. package/dist/tooltip-CSBby1OT.d.ts +45 -0
  321. package/dist/tooltip-CXFRzR0L.d.ts +45 -0
  322. package/dist/tooltip-ChpsbkOU.d.ts +46 -0
  323. package/dist/tooltip-CspTy2ZW.d.ts +46 -0
  324. package/dist/tooltip-CvComAZD.d.ts +46 -0
  325. package/dist/tooltip-D19vhhRn.d.ts +45 -0
  326. package/dist/tooltip-D32S1g-7.d.ts +46 -0
  327. package/dist/tooltip-DAvBN683.d.ts +45 -0
  328. package/dist/tooltip-DQz4_i4m.d.ts +45 -0
  329. package/dist/tooltip-DVYPUAb1.d.ts +46 -0
  330. package/dist/tooltip-DXoSckt9.d.ts +46 -0
  331. package/dist/tooltip-Dtoq3bn_.d.ts +46 -0
  332. package/dist/tooltip-DxO_DWMO.d.ts +46 -0
  333. package/dist/tooltip-DxdGb3dX.d.ts +45 -0
  334. package/dist/tooltip-DzAzC0d7.d.ts +45 -0
  335. package/dist/tooltip-Lk4RpuSh.d.ts +45 -0
  336. package/dist/tooltip-ReFyHDhU.d.ts +45 -0
  337. package/dist/tooltip-_wdlSYAb.d.ts +46 -0
  338. package/dist/tooltip-nKcM19C9.d.ts +45 -0
  339. package/dist/types/layout/container.d.ts +28 -1
  340. package/dist/types/layout/container.d.ts.map +1 -1
  341. package/dist/types/layout/grid.d.ts +42 -0
  342. package/dist/types/layout/grid.d.ts.map +1 -1
  343. package/dist/types/layout/row.d.ts +7 -0
  344. package/dist/types/layout/row.d.ts.map +1 -1
  345. package/dist/typography/Typography/typography-variants.d.ts +3 -0
  346. package/dist/typography/Typography/typography-variants.d.ts.map +1 -1
  347. package/dist/typography/Typography/typography-variants.js +25 -0
  348. package/dist/typography/Typography/typography-variants.js.map +1 -1
  349. package/dist/typography/Typography/typography.css +105 -41
  350. package/dist/typography/Typography/typography.d.ts +20 -0
  351. package/dist/typography/Typography/typography.d.ts.map +1 -1
  352. package/dist/typography/Typography/typography.js +11 -2
  353. package/dist/typography/Typography/typography.js.map +1 -1
  354. package/dist/typography/Typography/typography.module.scss.js +1 -1
  355. package/dist/typography-CTGVc_Gg.d.ts +41 -0
  356. package/dist/typography.d.ts +2 -2
  357. package/dist/ui/Alert/alert-provider.d.ts.map +1 -1
  358. package/dist/ui/Alert/alert-provider.js +1 -1
  359. package/dist/ui/Alert/alert-provider.js.map +1 -1
  360. package/dist/ui/Button/button-variants.d.ts +1 -0
  361. package/dist/ui/Button/button-variants.d.ts.map +1 -1
  362. package/dist/ui/Button/button-variants.js +3 -0
  363. package/dist/ui/Button/button-variants.js.map +1 -1
  364. package/dist/ui/Button/button.css +68 -14
  365. package/dist/ui/Button/button.d.ts.map +1 -1
  366. package/dist/ui/Button/button.js +2 -2
  367. package/dist/ui/Button/button.js.map +1 -1
  368. package/dist/ui/Button/button.module.scss.js +1 -1
  369. package/dist/ui/Chip/chip.css +32 -11
  370. package/dist/ui/Chip/chip.d.ts +16 -0
  371. package/dist/ui/Chip/chip.d.ts.map +1 -1
  372. package/dist/ui/Chip/chip.js +4 -2
  373. package/dist/ui/Chip/chip.js.map +1 -1
  374. package/dist/ui/CodeBlock/code-block.css +8 -3
  375. package/dist/ui/Dialog/dialog.css +70 -0
  376. package/dist/ui/Dialog/dialog.d.ts +45 -2
  377. package/dist/ui/Dialog/dialog.d.ts.map +1 -1
  378. package/dist/ui/Dialog/dialog.js +256 -7
  379. package/dist/ui/Dialog/dialog.js.map +1 -1
  380. package/dist/ui/Dialog/dialog.module.scss.js +1 -1
  381. package/dist/ui/Icon/icon.css +14 -7
  382. package/dist/ui/ProgressBar/progress-bar.css +10 -3
  383. package/dist/ui/StatCard/stat-card.css +13 -0
  384. package/dist/ui/StatCard/stat-card.d.ts +9 -0
  385. package/dist/ui/StatCard/stat-card.d.ts.map +1 -1
  386. package/dist/ui/StatCard/stat-card.js +2 -2
  387. package/dist/ui/StatCard/stat-card.js.map +1 -1
  388. package/dist/ui/StatusDot/status-dot.css +4 -1
  389. package/dist/ui/StepProgress/step-progress.css +12 -4
  390. package/dist/ui/Switch/switch.css +6 -2
  391. package/dist/ui/Tooltip/tooltip.d.ts.map +1 -1
  392. package/dist/ui/Tooltip/tooltip.js +1 -1
  393. package/dist/ui/Tooltip/tooltip.js.map +1 -1
  394. package/dist/ui.d.ts +3 -3
  395. package/dist/user/UserInfo/user-info.js +1 -1
  396. package/dist/utils/index.d.ts +1 -0
  397. package/dist/utils/index.d.ts.map +1 -1
  398. package/dist/utils/portal.d.ts +34 -0
  399. package/dist/utils/portal.d.ts.map +1 -0
  400. package/dist/utils/portal.js +40 -0
  401. package/dist/utils/portal.js.map +1 -0
  402. package/dist/utils.d.ts +35 -1
  403. package/dist/utils.js +1 -0
  404. package/dist/utils.js.map +1 -1
  405. package/package.json +3 -2
  406. package/src/styles/_mixins.scss +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"typography-variants.d.ts","sourceRoot":"","sources":["../../../src/typography/Typography/typography-variants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;8EAoE7B,CAAC"}
1
+ {"version":3,"file":"typography-variants.d.ts","sourceRoot":"","sources":["../../../src/typography/Typography/typography-variants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;;;;;;;;8EA6F7B,CAAC"}
@@ -61,6 +61,28 @@ const typographyVariants = cva(s.typography, {
61
61
  gutter: {
62
62
  true: s['gutter'],
63
63
  },
64
+ /*
65
+ * The face, as a pair of booleans rather than a `font` enum: they are
66
+ * mutually exclusive in practice but reading `<Typography mono>` at a call
67
+ * site beats `font={'mono'}`, and it is what the app was already doing with
68
+ * a `.mono` utility class of its own.
69
+ */
70
+ mono: {
71
+ true: s['font-mono'],
72
+ },
73
+ serif: {
74
+ true: s['font-serif'],
75
+ },
76
+ /** A step off the variant's own size; `md` is the variant unchanged. */
77
+ size: {
78
+ '2xs': s['size-2xs'],
79
+ xs: s['size-xs'],
80
+ sm: s['size-sm'],
81
+ md: undefined,
82
+ lg: s['size-lg'],
83
+ xl: s['size-xl'],
84
+ '2xl': s['size-2xl'],
85
+ },
64
86
  },
65
87
  defaultVariants: {
66
88
  variant: 'body1',
@@ -68,6 +90,9 @@ const typographyVariants = cva(s.typography, {
68
90
  align: 'inherit',
69
91
  transform: 'none',
70
92
  gutter: false,
93
+ mono: false,
94
+ serif: false,
95
+ size: 'md',
71
96
  },
72
97
  });
73
98
 
@@ -1 +1 @@
1
- {"version":3,"file":"typography-variants.js","sources":["../../../src/typography/Typography/typography-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './typography.module.scss';\n\nexport const typographyVariants = cva(s.typography, {\n variants: {\n variant: {\n h1: s['h1'],\n h2: s['h2'],\n h3: s['h3'],\n h4: s['h4'],\n h5: s['h5'],\n h6: s['h6'],\n subtitle1: s['subtitle1'],\n subtitle2: s['subtitle2'],\n body1: s['body1'],\n body2: s['body2'],\n overline: s['overline'],\n caption: s['caption'],\n code: s['code'],\n codeBlock: s['code-block'],\n tooltip: s['tooltip'],\n menuPrimary: s['menu-primary'],\n menuPrimaryDense: s['menu-primary-dense'],\n logo: s['logo'],\n tableHeader: s['table-header'],\n tableCell: s['table-cell'],\n tableCellSmall: s['table-cell-small'],\n },\n theme: {\n inherit: undefined,\n muted: s['muted'],\n primary: s['primary'],\n secondary: s['secondary'],\n info: s['info'],\n success: s['success'],\n warning: s['warning'],\n destructive: s['destructive'],\n slate: s['slate'],\n },\n align: {\n inherit: undefined,\n left: s['left'],\n right: s['right'],\n center: s['center'],\n justify: s['justify'],\n },\n transform: {\n none: undefined,\n lowercase: s['lowercase'],\n uppercase: s['uppercase'],\n capitalize: s['capitalize'],\n },\n weight: {\n thin: s['weight-thin'],\n light: s['weight-light'],\n regular: s['weight-regular'],\n medium: s['weight-medium'],\n semibold: s['weight-semibold'],\n bold: s['weight-bold'],\n },\n gutter: {\n true: s['gutter'],\n },\n },\n defaultVariants: {\n variant: 'body1',\n theme: 'inherit',\n align: 'inherit',\n transform: 'none',\n gutter: false,\n },\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typography-variants.js","sources":["../../../src/typography/Typography/typography-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './typography.module.scss';\n\nexport const typographyVariants = cva(s.typography, {\n variants: {\n variant: {\n h1: s['h1'],\n h2: s['h2'],\n h3: s['h3'],\n h4: s['h4'],\n h5: s['h5'],\n h6: s['h6'],\n subtitle1: s['subtitle1'],\n subtitle2: s['subtitle2'],\n body1: s['body1'],\n body2: s['body2'],\n overline: s['overline'],\n caption: s['caption'],\n code: s['code'],\n codeBlock: s['code-block'],\n tooltip: s['tooltip'],\n menuPrimary: s['menu-primary'],\n menuPrimaryDense: s['menu-primary-dense'],\n logo: s['logo'],\n tableHeader: s['table-header'],\n tableCell: s['table-cell'],\n tableCellSmall: s['table-cell-small'],\n },\n theme: {\n inherit: undefined,\n muted: s['muted'],\n primary: s['primary'],\n secondary: s['secondary'],\n info: s['info'],\n success: s['success'],\n warning: s['warning'],\n destructive: s['destructive'],\n slate: s['slate'],\n },\n align: {\n inherit: undefined,\n left: s['left'],\n right: s['right'],\n center: s['center'],\n justify: s['justify'],\n },\n transform: {\n none: undefined,\n lowercase: s['lowercase'],\n uppercase: s['uppercase'],\n capitalize: s['capitalize'],\n },\n weight: {\n thin: s['weight-thin'],\n light: s['weight-light'],\n regular: s['weight-regular'],\n medium: s['weight-medium'],\n semibold: s['weight-semibold'],\n bold: s['weight-bold'],\n },\n gutter: {\n true: s['gutter'],\n },\n /*\n * The face, as a pair of booleans rather than a `font` enum: they are\n * mutually exclusive in practice but reading `<Typography mono>` at a call\n * site beats `font={'mono'}`, and it is what the app was already doing with\n * a `.mono` utility class of its own.\n */\n mono: {\n true: s['font-mono'],\n },\n serif: {\n true: s['font-serif'],\n },\n /** A step off the variant's own size; `md` is the variant unchanged. */\n size: {\n '2xs': s['size-2xs'],\n xs: s['size-xs'],\n sm: s['size-sm'],\n md: undefined,\n lg: s['size-lg'],\n xl: s['size-xl'],\n '2xl': s['size-2xl'],\n },\n },\n defaultVariants: {\n variant: 'body1',\n theme: 'inherit',\n align: 'inherit',\n transform: 'none',\n gutter: false,\n mono: false,\n serif: false,\n size: 'md',\n },\n});\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,26 @@
1
+ @charset "UTF-8";
1
2
  .typography-module_typography__FAx__ {
3
+ /*
4
+ * ONE FACE FOR EVERYTHING, and it is sans.
5
+ *
6
+ * A variant used to carry its own `font-family`, so `h4` and `h6` were serif
7
+ * and nothing but a stylesheet edit could say otherwise. The face is a
8
+ * separate question from what a piece of text IS, so it is a prop now
9
+ * (`mono` / `serif`) and every variant starts from the same place.
10
+ *
11
+ * `code` and `code-block` keep monospace as their DEFAULT — a code block in
12
+ * a proportional face is not a code block — but they set the same variable,
13
+ * so `serif` or the absence of `mono` still overrides them.
14
+ */
2
15
  color: var(--text-primary);
16
+ font-family: var(--typography-font, var(--font-sans)), var(--typography-font-fallback, sans-serif);
17
+ /*
18
+ * Size is the variant's own step MULTIPLIED by a scale, so `size` reads as
19
+ * "relative to whatever this variant normally is" rather than as an absolute
20
+ * that has to know each variant's number. Every variant below sets the step;
21
+ * only the scale is the caller's.
22
+ */
23
+ font-size: calc(var(--typography-font-size, 1rem) * var(--typography-scale, 1));
3
24
  font-weight: 400;
4
25
  line-height: var(--line-height-default);
5
26
  margin: 0;
@@ -7,116 +28,109 @@
7
28
  }
8
29
  .typography-module_typography__FAx__.typography-module_h1__Chrx6 {
9
30
  color: var(--text-heading);
10
- font-family: var(--font-sans), sans-serif;
11
- font-size: 2.75rem;
31
+ --typography-font-size: 2.75rem;
12
32
  line-height: 1.25;
13
33
  }
14
34
  @media (max-width: 768px) {
15
35
  .typography-module_typography__FAx__.typography-module_h1__Chrx6 {
16
- font-size: 2.5rem;
36
+ --typography-font-size: 2.5rem;
17
37
  }
18
38
  }
19
39
  .typography-module_typography__FAx__.typography-module_h2__6Qpwf {
20
40
  color: var(--text-heading);
21
- font-family: var(--font-sans), sans-serif;
22
- font-size: 2.25rem;
41
+ --typography-font-size: 2.25rem;
23
42
  line-height: 1.25;
24
43
  }
25
44
  @media (max-width: 768px) {
26
45
  .typography-module_typography__FAx__.typography-module_h2__6Qpwf {
27
- font-size: 2rem;
46
+ --typography-font-size: 2rem;
28
47
  }
29
48
  }
30
49
  .typography-module_typography__FAx__.typography-module_h3__1eGbP {
31
50
  color: var(--text-heading);
32
- font-family: var(--font-sans), sans-serif;
33
- font-size: 2rem;
51
+ --typography-font-size: 2rem;
34
52
  line-height: 1.25;
35
53
  }
36
54
  @media (max-width: 768px) {
37
55
  .typography-module_typography__FAx__.typography-module_h3__1eGbP {
38
- font-size: 1.85rem;
56
+ --typography-font-size: 1.85rem;
39
57
  }
40
58
  }
41
59
  .typography-module_typography__FAx__.typography-module_h4__TEi6l {
42
60
  color: var(--text-heading);
43
- font-family: var(--font-serif), serif;
44
- font-size: 1.85rem;
61
+ --typography-font-size: 1.85rem;
45
62
  line-height: 1.25;
46
63
  }
47
64
  @media (max-width: 768px) {
48
65
  .typography-module_typography__FAx__.typography-module_h4__TEi6l {
49
- font-size: 1.65rem;
66
+ --typography-font-size: 1.65rem;
50
67
  }
51
68
  }
52
69
  .typography-module_typography__FAx__.typography-module_h5__pY2ZF {
53
70
  color: var(--text-heading);
54
- font-family: var(--font-sans), sans-serif;
55
- font-size: 1.65rem;
71
+ --typography-font-size: 1.65rem;
56
72
  font-weight: 500;
57
73
  line-height: 1.25;
58
74
  }
59
75
  @media (max-width: 768px) {
60
76
  .typography-module_typography__FAx__.typography-module_h5__pY2ZF {
61
- font-size: 1.5rem;
77
+ --typography-font-size: 1.5rem;
62
78
  }
63
79
  }
64
80
  .typography-module_typography__FAx__.typography-module_h6__jzeAZ {
65
81
  color: var(--text-heading);
66
- font-family: var(--font-serif), sans-serif;
67
- font-size: 1.5rem;
82
+ --typography-font-size: 1.5rem;
68
83
  line-height: 1.25;
69
84
  }
70
85
  @media (max-width: 768px) {
71
86
  .typography-module_typography__FAx__.typography-module_h6__jzeAZ {
72
- font-size: 1.35rem;
87
+ --typography-font-size: 1.35rem;
73
88
  }
74
89
  }
75
90
  .typography-module_typography__FAx__.typography-module_subtitle1__kbXoE {
76
- font-size: 1.0625rem;
91
+ --typography-font-size: 1.0625rem;
77
92
  font-weight: 500;
78
93
  }
79
94
  .typography-module_typography__FAx__.typography-module_subtitle2__TesJV {
80
- font-size: 0.875rem;
95
+ --typography-font-size: 0.875rem;
81
96
  font-weight: 500;
82
97
  }
83
98
  .typography-module_typography__FAx__.typography-module_body1__XiHhz {
84
- font-size: 1rem;
99
+ --typography-font-size: 1rem;
85
100
  }
86
101
  .typography-module_typography__FAx__.typography-module_body2__321Bc {
87
102
  color: var(--text-secondary);
88
- font-size: 0.875rem;
103
+ --typography-font-size: 0.875rem;
89
104
  }
90
105
  .typography-module_typography__FAx__.typography-module_overline__NaSU- {
91
- font-family: var(--font-sans), sans-serif;
92
- font-size: 0.875rem;
106
+ --typography-font-size: 0.875rem;
93
107
  letter-spacing: 1px;
94
108
  text-transform: uppercase;
95
109
  }
96
110
  .typography-module_typography__FAx__.typography-module_caption__BAaLD {
97
- font-family: var(--font-sans), sans-serif;
98
- font-size: 0.75rem;
111
+ --typography-font-size: 0.75rem;
99
112
  }
100
113
  .typography-module_typography__FAx__.typography-module_code__MiYWd {
101
114
  background: var(--action-hover);
102
115
  border-radius: 5px;
103
- font-family: var(--font-mono), monospace;
104
- font-size: 0.75rem;
116
+ --typography-font: var(--font-mono);
117
+ --typography-font-fallback: monospace;
118
+ --typography-font-size: 0.75rem;
105
119
  padding: 4px var(--size-1);
106
120
  }
107
121
  .typography-module_typography__FAx__.typography-module_code-block__cdgeP {
108
122
  background: var(--action-hover);
109
123
  border-radius: 8px;
110
- font-family: var(--font-mono), monospace;
111
- font-size: 0.8125rem;
124
+ --typography-font: var(--font-mono);
125
+ --typography-font-fallback: monospace;
126
+ --typography-font-size: 0.8125rem;
112
127
  line-height: 1.5;
113
128
  overflow-x: auto;
114
129
  padding: 1rem 1.25rem;
115
130
  white-space: pre;
116
131
  }
117
132
  .typography-module_typography__FAx__.typography-module_tooltip__ZScRV {
118
- font-family: var(--font-sans), sans-serif;
119
- font-size: 0.75rem;
133
+ --typography-font-size: 0.75rem;
120
134
  font-weight: 200;
121
135
  text-transform: uppercase;
122
136
  }
@@ -124,38 +138,41 @@
124
138
  font-weight: 600;
125
139
  }
126
140
  .typography-module_typography__FAx__.typography-module_menu-primary-dense__j2iGe {
127
- font-size: 0.8125rem;
141
+ --typography-font-size: 0.8125rem;
128
142
  font-weight: 600;
129
143
  }
130
144
  .typography-module_typography__FAx__.typography-module_table-header__ZSldR {
131
- font-size: 0.8rem;
145
+ --typography-font-size: 0.8rem;
132
146
  font-weight: 600;
133
147
  }
134
148
  @media (min-width: 1360px) {
135
149
  .typography-module_typography__FAx__.typography-module_table-header__ZSldR {
136
- font-size: 0.9rem;
150
+ --typography-font-size: 0.9rem;
137
151
  }
138
152
  }
139
153
  .typography-module_typography__FAx__.typography-module_table-cell__pPhMZ {
140
- font-size: 0.8rem;
154
+ --typography-font-size: 0.8rem;
141
155
  }
142
156
  @media (min-width: 1360px) {
143
157
  .typography-module_typography__FAx__.typography-module_table-cell__pPhMZ {
144
- font-size: 0.9rem;
158
+ --typography-font-size: 0.9rem;
145
159
  }
146
160
  }
147
161
  .typography-module_typography__FAx__.typography-module_table-cell-small__G0MyC {
148
- font-size: 0.75rem;
162
+ --typography-font-size: 0.75rem;
149
163
  }
150
164
  @media (min-width: 1360px) {
151
165
  .typography-module_typography__FAx__.typography-module_table-cell-small__G0MyC {
152
- font-size: 0.85rem;
166
+ --typography-font-size: 0.85rem;
153
167
  }
154
168
  }
155
169
  .typography-module_typography__FAx__.typography-module_logo__WhPFQ {
170
+ /* The wordmark keeps its serif — it is a brand mark, not a heading, and
171
+ `serif`/`mono` still override it. */
172
+ --typography-font: var(--font-serif);
173
+ --typography-font-fallback: serif;
156
174
  color: var(--logo-fill);
157
- font-family: var(--font-serif), serif;
158
- font-size: 2.3rem;
175
+ --typography-font-size: 2.3rem;
159
176
  font-weight: 700;
160
177
  margin-top: 0.2rem;
161
178
  }
@@ -224,4 +241,51 @@
224
241
  }
225
242
  .typography-module_typography__FAx__.typography-module_gutter__e_q9F {
226
243
  margin-block-end: var(--size-1);
244
+ }
245
+ .typography-module_typography__FAx__ {
246
+ /*
247
+ * ── The face, and the scale ──────────────────────────────────────────────
248
+ *
249
+ * ⚠️ These sit LAST inside `.typography` on purpose. They and the variant
250
+ * blocks above both resolve to `.typography.x` (0,2,0), so nothing but
251
+ * source order separates them — and the modifier has to win, or `mono` on a
252
+ * `code-block` (or `serif` on a `logo`) would be silently ignored. Same trap
253
+ * convention 22 describes for themes, resolved the other way round: there
254
+ * the base had to lose to the theme, here the variant has to lose to the
255
+ * modifier.
256
+ */
257
+ }
258
+ .typography-module_typography__FAx__.typography-module_font-mono__0eSZl {
259
+ --typography-font: var(--font-mono);
260
+ --typography-font-fallback: monospace;
261
+ }
262
+ .typography-module_typography__FAx__.typography-module_font-serif__YwH_v {
263
+ --typography-font: var(--font-serif);
264
+ --typography-font-fallback: serif;
265
+ }
266
+ .typography-module_typography__FAx__ {
267
+ /*
268
+ * A step off the variant's own size, not an absolute. `md` is the variant
269
+ * unchanged, and the steps either side are the same ratios the rest of the
270
+ * library sizes by. A caller needing something the scale does not have
271
+ * passes a number and gets `--typography-scale` set inline.
272
+ */
273
+ }
274
+ .typography-module_typography__FAx__.typography-module_size-2xs__F-cVc {
275
+ --typography-scale: 0.625;
276
+ }
277
+ .typography-module_typography__FAx__.typography-module_size-xs__1PEmn {
278
+ --typography-scale: 0.75;
279
+ }
280
+ .typography-module_typography__FAx__.typography-module_size-sm__lX5D8 {
281
+ --typography-scale: 0.875;
282
+ }
283
+ .typography-module_typography__FAx__.typography-module_size-lg__AHM4Z {
284
+ --typography-scale: 1.125;
285
+ }
286
+ .typography-module_typography__FAx__.typography-module_size-xl__nDRl0 {
287
+ --typography-scale: 1.25;
288
+ }
289
+ .typography-module_typography__FAx__.typography-module_size-2xl__VnJwl {
290
+ --typography-scale: 1.5;
227
291
  }
@@ -4,6 +4,14 @@ export type TypographyTheme = 'inherit' | 'muted' | 'primary' | 'secondary' | 'i
4
4
  export type TypographyAlign = 'inherit' | 'left' | 'right' | 'center' | 'justify';
5
5
  export type TypographyTransform = 'none' | 'lowercase' | 'uppercase' | 'capitalize';
6
6
  export type TypographyWeight = 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold';
7
+ /**
8
+ * A step off the variant's OWN size, not an absolute.
9
+ *
10
+ * `md` is the variant unchanged; the rest multiply it. That is what lets one
11
+ * value mean the same thing on an `h1` and a `caption` — "a bit smaller than
12
+ * this normally is" — without the caller knowing either number.
13
+ */
14
+ export type TypographySize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
7
15
  type TypographyElement = keyof HTMLElementTagNameMap;
8
16
  export interface TypographyProps extends React.HTMLAttributes<HTMLElement> {
9
17
  variant?: TypographyVariant;
@@ -13,6 +21,18 @@ export interface TypographyProps extends React.HTMLAttributes<HTMLElement> {
13
21
  weight?: TypographyWeight;
14
22
  gutter?: boolean;
15
23
  el?: TypographyElement;
24
+ /** Monospace. Overrides the variant's face, `code` and `code-block` included. */
25
+ mono?: boolean;
26
+ /** Serif. Overrides the variant's face; the headings are all sans now. */
27
+ serif?: boolean;
28
+ /**
29
+ * Size relative to the variant's default — a named step, or a raw multiplier
30
+ * for the case the scale does not cover (`size={1.4}` is 1.4x the variant).
31
+ *
32
+ * A number rides in as `--typography-scale` rather than a class, the same
33
+ * way `Container` takes a length its `measure` scale has no token for.
34
+ */
35
+ size?: TypographySize | number;
16
36
  }
17
37
  declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
18
38
  export { Typography };
@@ -1 +1 @@
1
- {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../../src/typography/Typography/typography.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,WAAW,GACX,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,GACN,WAAW,GACX,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,MAAM,GACN,aAAa,GACb,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,OAAO,GACP,SAAS,GACT,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAC7F,KAAK,iBAAiB,GAAG,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACxE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,iBAAiB,CAAC;CACxB;AA0BD,QAAA,MAAM,UAAU,qFAuCf,CAAC;AAGF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../../src/typography/Typography/typography.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,WAAW,GACX,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,GACN,WAAW,GACX,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,MAAM,GACN,aAAa,GACb,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,OAAO,GACP,SAAS,GACT,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAG9E,KAAK,iBAAiB,GAAG,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACxE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CAChC;AA0BD,QAAA,MAAM,UAAU,qFAuDf,CAAC;AAGF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import cn from 'clsx';
3
3
  import * as React from 'react';
4
4
  import { typographyVariants } from './typography-variants.js';
5
5
 
6
+ const SIZE_STEPS = ['2xs', 'xs', 'sm', 'md', 'lg', 'xl', '2xl'];
6
7
  const variantsMapping = {
7
8
  h1: 'h1',
8
9
  h2: 'h2',
@@ -26,8 +27,11 @@ const variantsMapping = {
26
27
  tableCell: 'p',
27
28
  tableCellSmall: 'p',
28
29
  };
29
- const Typography = React.forwardRef(({ variant = 'body1', theme = 'inherit', align = 'inherit', transform = 'none', weight, gutter = false, el, className, children, ...props }, ref) => {
30
+ const Typography = React.forwardRef(({ variant = 'body1', theme = 'inherit', align = 'inherit', transform = 'none', weight, gutter = false, el, mono = false, serif = false, size, className, children, style, ...props }, ref) => {
30
31
  const Component = (el ?? (variant ? variantsMapping[variant] : 'p'));
32
+ // A named step is a class; anything else is a multiplier set inline.
33
+ const namedSize = typeof size === 'string' && SIZE_STEPS.includes(size);
34
+ const scale = typeof size === 'number' ? size : undefined;
31
35
  return (jsx(Component, { "data-slot": 'typography', ref: ref, className: cn(typographyVariants({
32
36
  variant,
33
37
  theme,
@@ -35,7 +39,12 @@ const Typography = React.forwardRef(({ variant = 'body1', theme = 'inherit', ali
35
39
  transform,
36
40
  weight,
37
41
  gutter,
38
- }), className), ...props, children: children }));
42
+ mono,
43
+ serif,
44
+ size: namedSize ? size : undefined,
45
+ }), className), style: scale !== undefined
46
+ ? { ...style, '--typography-scale': scale }
47
+ : style, ...props, children: children }));
39
48
  });
40
49
  Typography.displayName = 'Typography';
41
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"typography.js","sources":["../../../src/typography/Typography/typography.tsx"],"sourcesContent":["import cn from 'clsx';\nimport * as React from 'react';\nimport { typographyVariants } from './typography-variants';\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'subtitle1'\n | 'subtitle2'\n | 'body1'\n | 'body2'\n | 'overline'\n | 'caption'\n | 'code'\n | 'codeBlock'\n | 'tooltip'\n | 'menuPrimary'\n | 'menuPrimaryDense'\n | 'logo'\n | 'tableHeader'\n | 'tableCell'\n | 'tableCellSmall';\n\nexport type TypographyTheme =\n | 'inherit'\n | 'muted'\n | 'primary'\n | 'secondary'\n | 'info'\n | 'success'\n | 'warning'\n | 'destructive'\n | 'slate';\n\nexport type TypographyAlign = 'inherit' | 'left' | 'right' | 'center' | 'justify';\nexport type TypographyTransform = 'none' | 'lowercase' | 'uppercase' | 'capitalize';\nexport type TypographyWeight = 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold';\ntype TypographyElement = keyof HTMLElementTagNameMap;\n\nexport interface TypographyProps extends React.HTMLAttributes<HTMLElement> {\n variant?: TypographyVariant;\n theme?: TypographyTheme;\n align?: TypographyAlign;\n transform?: TypographyTransform;\n weight?: TypographyWeight;\n gutter?: boolean;\n el?: TypographyElement;\n}\n\nconst variantsMapping: Record<TypographyVariant, TypographyElement> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n overline: 'p',\n caption: 'p',\n code: 'code',\n codeBlock: 'pre',\n tooltip: 'p',\n menuPrimary: 'p',\n menuPrimaryDense: 'p',\n logo: 'p',\n tableHeader: 'p',\n tableCell: 'p',\n tableCellSmall: 'p',\n};\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n (\n {\n variant = 'body1',\n theme = 'inherit',\n align = 'inherit',\n transform = 'none',\n weight,\n gutter = false,\n el,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const Component = (el ?? (variant ? variantsMapping[variant] : 'p')) as 'p';\n\n return (\n <Component\n data-slot={'typography'}\n ref={ref as React.Ref<HTMLParagraphElement>}\n className={cn(\n typographyVariants({\n variant,\n theme,\n align,\n transform,\n weight,\n gutter,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { Typography };\n"],"names":["_jsx"],"mappings":";;;;;AAqDA,MAAM,eAAe,GAAiD;AACpE,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,cAAc,EAAE,GAAG;CACpB;AAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CACE,EACE,OAAO,GAAG,OAAO,EACjB,KAAK,GAAG,SAAS,EACjB,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,MAAM,EAClB,MAAM,EACN,MAAM,GAAG,KAAK,EACd,EAAE,EACF,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,SAAS,IAAI,EAAE,KAAK,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAQ;AAE3E,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,WAAA,EACG,YAAY,EACvB,GAAG,EAAE,GAAsC,EAC3C,SAAS,EAAE,EAAE,CACX,kBAAkB,CAAC;YACjB,OAAO;YACP,KAAK;YACL,KAAK;YACL,SAAS;YACT,MAAM;YACN,MAAM;SACP,CAAC,EACF,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAER,QAAQ,EAAA,CACC;AAEhB,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,YAAY;;"}
1
+ {"version":3,"file":"typography.js","sources":["../../../src/typography/Typography/typography.tsx"],"sourcesContent":["import cn from 'clsx';\nimport * as React from 'react';\nimport { typographyVariants } from './typography-variants';\n\nexport type TypographyVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'subtitle1'\n | 'subtitle2'\n | 'body1'\n | 'body2'\n | 'overline'\n | 'caption'\n | 'code'\n | 'codeBlock'\n | 'tooltip'\n | 'menuPrimary'\n | 'menuPrimaryDense'\n | 'logo'\n | 'tableHeader'\n | 'tableCell'\n | 'tableCellSmall';\n\nexport type TypographyTheme =\n | 'inherit'\n | 'muted'\n | 'primary'\n | 'secondary'\n | 'info'\n | 'success'\n | 'warning'\n | 'destructive'\n | 'slate';\n\nexport type TypographyAlign = 'inherit' | 'left' | 'right' | 'center' | 'justify';\nexport type TypographyTransform = 'none' | 'lowercase' | 'uppercase' | 'capitalize';\nexport type TypographyWeight = 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold';\n\n/**\n * A step off the variant's OWN size, not an absolute.\n *\n * `md` is the variant unchanged; the rest multiply it. That is what lets one\n * value mean the same thing on an `h1` and a `caption` — \"a bit smaller than\n * this normally is\" — without the caller knowing either number.\n */\nexport type TypographySize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nconst SIZE_STEPS = ['2xs', 'xs', 'sm', 'md', 'lg', 'xl', '2xl'] as const;\ntype TypographyElement = keyof HTMLElementTagNameMap;\n\nexport interface TypographyProps extends React.HTMLAttributes<HTMLElement> {\n variant?: TypographyVariant;\n theme?: TypographyTheme;\n align?: TypographyAlign;\n transform?: TypographyTransform;\n weight?: TypographyWeight;\n gutter?: boolean;\n el?: TypographyElement;\n /** Monospace. Overrides the variant's face, `code` and `code-block` included. */\n mono?: boolean;\n /** Serif. Overrides the variant's face; the headings are all sans now. */\n serif?: boolean;\n /**\n * Size relative to the variant's default — a named step, or a raw multiplier\n * for the case the scale does not cover (`size={1.4}` is 1.4x the variant).\n *\n * A number rides in as `--typography-scale` rather than a class, the same\n * way `Container` takes a length its `measure` scale has no token for.\n */\n size?: TypographySize | number;\n}\n\nconst variantsMapping: Record<TypographyVariant, TypographyElement> = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n overline: 'p',\n caption: 'p',\n code: 'code',\n codeBlock: 'pre',\n tooltip: 'p',\n menuPrimary: 'p',\n menuPrimaryDense: 'p',\n logo: 'p',\n tableHeader: 'p',\n tableCell: 'p',\n tableCellSmall: 'p',\n};\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n (\n {\n variant = 'body1',\n theme = 'inherit',\n align = 'inherit',\n transform = 'none',\n weight,\n gutter = false,\n el,\n mono = false,\n serif = false,\n size,\n className,\n children,\n style,\n ...props\n },\n ref,\n ) => {\n const Component = (el ?? (variant ? variantsMapping[variant] : 'p')) as 'p';\n\n // A named step is a class; anything else is a multiplier set inline.\n const namedSize = typeof size === 'string' && (SIZE_STEPS as readonly string[]).includes(size);\n const scale = typeof size === 'number' ? size : undefined;\n\n return (\n <Component\n data-slot={'typography'}\n ref={ref as React.Ref<HTMLParagraphElement>}\n className={cn(\n typographyVariants({\n variant,\n theme,\n align,\n transform,\n weight,\n gutter,\n mono,\n serif,\n size: namedSize ? (size as TypographySize) : undefined,\n }),\n className,\n )}\n style={\n scale !== undefined\n ? ({ ...style, '--typography-scale': scale } as React.CSSProperties)\n : style\n }\n {...props}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { Typography };\n"],"names":["_jsx"],"mappings":";;;;;AAmDA,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAU;AAyBxE,MAAM,eAAe,GAAiD;AACpE,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,gBAAgB,EAAE,GAAG;AACrB,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,cAAc,EAAE,GAAG;CACpB;AAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CACE,EACE,OAAO,GAAG,OAAO,EACjB,KAAK,GAAG,SAAS,EACjB,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,MAAM,EAClB,MAAM,EACN,MAAM,GAAG,KAAK,EACd,EAAE,EACF,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,KAAK,EACb,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,SAAS,IAAI,EAAE,KAAK,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAQ;;AAG3E,IAAA,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAK,UAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC9F,IAAA,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,SAAS;AAEzD,IAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EAAA,WAAA,EACG,YAAY,EACvB,GAAG,EAAE,GAAsC,EAC3C,SAAS,EAAE,EAAE,CACX,kBAAkB,CAAC;YACjB,OAAO;YACP,KAAK;YACL,KAAK;YACL,SAAS;YACT,MAAM;YACN,MAAM;YACN,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,SAAS,GAAI,IAAuB,GAAG,SAAS;SACvD,CAAC,EACF,SAAS,CACV,EACD,KAAK,EACH,KAAK,KAAK;cACL,EAAE,GAAG,KAAK,EAAE,oBAAoB,EAAE,KAAK;cACxC,KAAK,EAAA,GAEP,KAAK,YAER,QAAQ,EAAA,CACC;AAEhB,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,YAAY;;"}
@@ -1,6 +1,6 @@
1
1
  import './typography.css';
2
2
 
3
- var s = {"typography":"typography-module_typography__FAx__","h1":"typography-module_h1__Chrx6","h2":"typography-module_h2__6Qpwf","h3":"typography-module_h3__1eGbP","h4":"typography-module_h4__TEi6l","h5":"typography-module_h5__pY2ZF","h6":"typography-module_h6__jzeAZ","subtitle1":"typography-module_subtitle1__kbXoE","subtitle2":"typography-module_subtitle2__TesJV","body1":"typography-module_body1__XiHhz","body2":"typography-module_body2__321Bc","overline":"typography-module_overline__NaSU-","caption":"typography-module_caption__BAaLD","code":"typography-module_code__MiYWd","code-block":"typography-module_code-block__cdgeP","tooltip":"typography-module_tooltip__ZScRV","menu-primary":"typography-module_menu-primary__-E8w3","menu-primary-dense":"typography-module_menu-primary-dense__j2iGe","table-header":"typography-module_table-header__ZSldR","table-cell":"typography-module_table-cell__pPhMZ","table-cell-small":"typography-module_table-cell-small__G0MyC","logo":"typography-module_logo__WhPFQ","muted":"typography-module_muted__86fkT","primary":"typography-module_primary__w29Q5","secondary":"typography-module_secondary__oA3At","info":"typography-module_info__T5m2h","success":"typography-module_success__D-CK-","warning":"typography-module_warning__Y5Ojo","destructive":"typography-module_destructive__xlJhD","slate":"typography-module_slate__01slW","left":"typography-module_left__OBAX9","right":"typography-module_right__dD0P5","center":"typography-module_center__PHVkR","justify":"typography-module_justify__1GmY-","lowercase":"typography-module_lowercase__82nXx","uppercase":"typography-module_uppercase__k37Ha","capitalize":"typography-module_capitalize__S7n8h","weight-thin":"typography-module_weight-thin__0gd0M","weight-light":"typography-module_weight-light__6axpc","weight-regular":"typography-module_weight-regular__TwXkI","weight-medium":"typography-module_weight-medium__SQQSN","weight-semibold":"typography-module_weight-semibold__LLyOT","weight-bold":"typography-module_weight-bold__nEMc-","gutter":"typography-module_gutter__e_q9F"};
3
+ var s = {"typography":"typography-module_typography__FAx__","h1":"typography-module_h1__Chrx6","h2":"typography-module_h2__6Qpwf","h3":"typography-module_h3__1eGbP","h4":"typography-module_h4__TEi6l","h5":"typography-module_h5__pY2ZF","h6":"typography-module_h6__jzeAZ","subtitle1":"typography-module_subtitle1__kbXoE","subtitle2":"typography-module_subtitle2__TesJV","body1":"typography-module_body1__XiHhz","body2":"typography-module_body2__321Bc","overline":"typography-module_overline__NaSU-","caption":"typography-module_caption__BAaLD","code":"typography-module_code__MiYWd","code-block":"typography-module_code-block__cdgeP","tooltip":"typography-module_tooltip__ZScRV","menu-primary":"typography-module_menu-primary__-E8w3","menu-primary-dense":"typography-module_menu-primary-dense__j2iGe","table-header":"typography-module_table-header__ZSldR","table-cell":"typography-module_table-cell__pPhMZ","table-cell-small":"typography-module_table-cell-small__G0MyC","logo":"typography-module_logo__WhPFQ","muted":"typography-module_muted__86fkT","primary":"typography-module_primary__w29Q5","secondary":"typography-module_secondary__oA3At","info":"typography-module_info__T5m2h","success":"typography-module_success__D-CK-","warning":"typography-module_warning__Y5Ojo","destructive":"typography-module_destructive__xlJhD","slate":"typography-module_slate__01slW","left":"typography-module_left__OBAX9","right":"typography-module_right__dD0P5","center":"typography-module_center__PHVkR","justify":"typography-module_justify__1GmY-","lowercase":"typography-module_lowercase__82nXx","uppercase":"typography-module_uppercase__k37Ha","capitalize":"typography-module_capitalize__S7n8h","weight-thin":"typography-module_weight-thin__0gd0M","weight-light":"typography-module_weight-light__6axpc","weight-regular":"typography-module_weight-regular__TwXkI","weight-medium":"typography-module_weight-medium__SQQSN","weight-semibold":"typography-module_weight-semibold__LLyOT","weight-bold":"typography-module_weight-bold__nEMc-","gutter":"typography-module_gutter__e_q9F","font-mono":"typography-module_font-mono__0eSZl","font-serif":"typography-module_font-serif__YwH_v","size-2xs":"typography-module_size-2xs__F-cVc","size-xs":"typography-module_size-xs__1PEmn","size-sm":"typography-module_size-sm__lX5D8","size-lg":"typography-module_size-lg__AHM4Z","size-xl":"typography-module_size-xl__nDRl0","size-2xl":"typography-module_size-2xl__VnJwl"};
4
4
 
5
5
  export { s as default };
6
6
  //# sourceMappingURL=typography.module.scss.js.map
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+
3
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2' | 'overline' | 'caption' | 'code' | 'codeBlock' | 'tooltip' | 'menuPrimary' | 'menuPrimaryDense' | 'logo' | 'tableHeader' | 'tableCell' | 'tableCellSmall';
4
+ type TypographyTheme = 'inherit' | 'muted' | 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'destructive' | 'slate';
5
+ type TypographyAlign = 'inherit' | 'left' | 'right' | 'center' | 'justify';
6
+ type TypographyTransform = 'none' | 'lowercase' | 'uppercase' | 'capitalize';
7
+ type TypographyWeight = 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold';
8
+ /**
9
+ * A step off the variant's OWN size, not an absolute.
10
+ *
11
+ * `md` is the variant unchanged; the rest multiply it. That is what lets one
12
+ * value mean the same thing on an `h1` and a `caption` — "a bit smaller than
13
+ * this normally is" — without the caller knowing either number.
14
+ */
15
+ type TypographySize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
16
+ type TypographyElement = keyof HTMLElementTagNameMap;
17
+ interface TypographyProps extends React.HTMLAttributes<HTMLElement> {
18
+ variant?: TypographyVariant;
19
+ theme?: TypographyTheme;
20
+ align?: TypographyAlign;
21
+ transform?: TypographyTransform;
22
+ weight?: TypographyWeight;
23
+ gutter?: boolean;
24
+ el?: TypographyElement;
25
+ /** Monospace. Overrides the variant's face, `code` and `code-block` included. */
26
+ mono?: boolean;
27
+ /** Serif. Overrides the variant's face; the headings are all sans now. */
28
+ serif?: boolean;
29
+ /**
30
+ * Size relative to the variant's default — a named step, or a raw multiplier
31
+ * for the case the scale does not cover (`size={1.4}` is 1.4x the variant).
32
+ *
33
+ * A number rides in as `--typography-scale` rather than a class, the same
34
+ * way `Container` takes a length its `measure` scale has no token for.
35
+ */
36
+ size?: TypographySize | number;
37
+ }
38
+ declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
39
+
40
+ export { Typography as T };
41
+ export type { TypographyAlign as a, TypographyProps as b, TypographySize as c, TypographyTheme as d, TypographyTransform as e, TypographyVariant as f, TypographyWeight as g };
@@ -1,7 +1,7 @@
1
1
  import { RowProps } from './index.js';
2
2
  import * as React from 'react';
3
- import { b as TypographyProps } from './typography-DOZHFR5A.js';
4
- export { T as Typography, a as TypographyAlign, c as TypographyTheme, d as TypographyTransform, e as TypographyVariant, f as TypographyWeight } from './typography-DOZHFR5A.js';
3
+ import { b as TypographyProps } from './typography-CTGVc_Gg.js';
4
+ export { T as Typography, a as TypographyAlign, c as TypographySize, d as TypographyTheme, e as TypographyTransform, f as TypographyVariant, g as TypographyWeight } from './typography-CTGVc_Gg.js';
5
5
 
6
6
  type HeadingVariant = 'default' | 'secondary' | 'eyebrow';
7
7
  declare function Heading({ title, description, action, align, icon, className, variant, truncate, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"alert-provider.d.ts","sourceRoot":"","sources":["../../../src/ui/Alert/alert-provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwD/B,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA6CjE;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"alert-provider.d.ts","sourceRoot":"","sources":["../../../src/ui/Alert/alert-provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6D/B,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA6CjE;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -15,7 +15,7 @@ const getId = () => {
15
15
  function AlertViewport({ alerts, onRemove, }) {
16
16
  if (typeof document === 'undefined')
17
17
  return null;
18
- return createPortal(jsx("div", { className: s['alert-stack'], role: 'log', "aria-live": 'polite', children: alerts.map(alert => (jsx("div", { className: s['alert-toast'], "data-visible": 'true', "data-alert-id": alert.id, children: jsxs(Alert, { theme: alert.theme, icon: alert.icon, action: alert.action, onClose: alert.persistent || alert.closable || alert.action
18
+ return createPortal(jsx("div", { "data-constellation-portal": '', className: s['alert-stack'], role: 'log', "aria-live": 'polite', children: alerts.map(alert => (jsx("div", { className: s['alert-toast'], "data-visible": 'true', "data-alert-id": alert.id, children: jsxs(Alert, { theme: alert.theme, icon: alert.icon, action: alert.action, onClose: alert.persistent || alert.closable || alert.action
19
19
  ? () => onRemove(alert.id)
20
20
  : undefined, children: [jsx(AlertTitle, { children: alert.title }), alert.description ? jsx(AlertDescription, { children: alert.description }) : null] }) }, alert.id))) }), document.body);
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alert-provider.js","sources":["../../../src/ui/Alert/alert-provider.tsx"],"sourcesContent":["import { type AlertMessage, type PushAlertInput } from '@constellation/types';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { Alert, AlertDescription, AlertTitle } from './alert';\nimport { AlertContext } from './alert-context';\nimport { consumePersistedAlert } from './alert-persist';\nimport s from './alert.module.scss';\n\nconst getId = () => {\n if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {\n return crypto.randomUUID();\n }\n return Math.random().toString(36).slice(2);\n};\n\ntype InternalAlert = AlertMessage & {\n icon?: React.ReactNode;\n action?: React.ReactNode;\n};\n\nfunction AlertViewport({\n alerts,\n onRemove,\n}: {\n alerts: InternalAlert[];\n onRemove: (id: string) => void;\n}) {\n if (typeof document === 'undefined') return null;\n return createPortal(\n <div className={s['alert-stack']} role={'log'} aria-live={'polite'}>\n {alerts.map(alert => (\n <div\n key={alert.id}\n className={s['alert-toast']}\n data-visible={'true'}\n data-alert-id={alert.id}\n >\n <Alert\n theme={alert.theme}\n icon={alert.icon}\n action={alert.action}\n onClose={\n alert.persistent || alert.closable || alert.action\n ? () => onRemove(alert.id)\n : undefined\n }\n >\n <AlertTitle>{alert.title}</AlertTitle>\n {alert.description ? <AlertDescription>{alert.description}</AlertDescription> : null}\n </Alert>\n </div>\n ))}\n </div>,\n document.body,\n );\n}\n\nfunction AlertProvider({ children }: { children: React.ReactNode }) {\n const [alerts, setAlerts] = React.useState<InternalAlert[]>([]);\n\n const removeAlert = React.useCallback((id: string) => {\n const toastEl = document.querySelector<HTMLDivElement>(`[data-alert-id=\"${id}\"]`);\n if (toastEl) {\n toastEl.dataset.visible = 'false';\n window.setTimeout(() => {\n setAlerts(current => current.filter(alert => alert.id !== id));\n }, 300);\n return;\n }\n setAlerts(current => current.filter(alert => alert.id !== id));\n }, []);\n\n const pushAlert = React.useCallback(\n (input: PushAlertInput) => {\n const id = getId();\n const timeout = input.timeout ?? 5000;\n const { icon, action, ...message } = input;\n const entry: InternalAlert = { id, ...message, icon, action };\n setAlerts(current => [...current, entry]);\n if (!input.persistent && !input.action && timeout > 0) {\n window.setTimeout(() => removeAlert(id), timeout);\n }\n },\n [removeAlert],\n );\n\n const value = React.useMemo(() => ({ pushAlert, removeAlert }), [pushAlert, removeAlert]);\n\n // Pick up any alert that was persisted before a hard reload (e.g. after impersonation).\n React.useEffect(() => {\n const persisted = consumePersistedAlert();\n if (persisted) {\n pushAlert(persisted);\n }\n }, [pushAlert]);\n\n return (\n <AlertContext.Provider value={value}>\n {children}\n <AlertViewport alerts={alerts} onRemove={removeAlert} />\n </AlertContext.Provider>\n );\n}\n\nexport { AlertProvider };\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"alert-provider.js","sources":["../../../src/ui/Alert/alert-provider.tsx"],"sourcesContent":["import { type AlertMessage, type PushAlertInput } from '@constellation/types';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { Alert, AlertDescription, AlertTitle } from './alert';\nimport { AlertContext } from './alert-context';\nimport { consumePersistedAlert } from './alert-persist';\nimport s from './alert.module.scss';\n\nconst getId = () => {\n if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {\n return crypto.randomUUID();\n }\n return Math.random().toString(36).slice(2);\n};\n\ntype InternalAlert = AlertMessage & {\n icon?: React.ReactNode;\n action?: React.ReactNode;\n};\n\nfunction AlertViewport({\n alerts,\n onRemove,\n}: {\n alerts: InternalAlert[];\n onRemove: (id: string) => void;\n}) {\n if (typeof document === 'undefined') return null;\n return createPortal(\n <div\n data-constellation-portal={''}\n className={s['alert-stack']}\n role={'log'}\n aria-live={'polite'}\n >\n {alerts.map(alert => (\n <div\n key={alert.id}\n className={s['alert-toast']}\n data-visible={'true'}\n data-alert-id={alert.id}\n >\n <Alert\n theme={alert.theme}\n icon={alert.icon}\n action={alert.action}\n onClose={\n alert.persistent || alert.closable || alert.action\n ? () => onRemove(alert.id)\n : undefined\n }\n >\n <AlertTitle>{alert.title}</AlertTitle>\n {alert.description ? <AlertDescription>{alert.description}</AlertDescription> : null}\n </Alert>\n </div>\n ))}\n </div>,\n document.body,\n );\n}\n\nfunction AlertProvider({ children }: { children: React.ReactNode }) {\n const [alerts, setAlerts] = React.useState<InternalAlert[]>([]);\n\n const removeAlert = React.useCallback((id: string) => {\n const toastEl = document.querySelector<HTMLDivElement>(`[data-alert-id=\"${id}\"]`);\n if (toastEl) {\n toastEl.dataset.visible = 'false';\n window.setTimeout(() => {\n setAlerts(current => current.filter(alert => alert.id !== id));\n }, 300);\n return;\n }\n setAlerts(current => current.filter(alert => alert.id !== id));\n }, []);\n\n const pushAlert = React.useCallback(\n (input: PushAlertInput) => {\n const id = getId();\n const timeout = input.timeout ?? 5000;\n const { icon, action, ...message } = input;\n const entry: InternalAlert = { id, ...message, icon, action };\n setAlerts(current => [...current, entry]);\n if (!input.persistent && !input.action && timeout > 0) {\n window.setTimeout(() => removeAlert(id), timeout);\n }\n },\n [removeAlert],\n );\n\n const value = React.useMemo(() => ({ pushAlert, removeAlert }), [pushAlert, removeAlert]);\n\n // Pick up any alert that was persisted before a hard reload (e.g. after impersonation).\n React.useEffect(() => {\n const persisted = consumePersistedAlert();\n if (persisted) {\n pushAlert(persisted);\n }\n }, [pushAlert]);\n\n return (\n <AlertContext.Provider value={value}>\n {children}\n <AlertViewport alerts={alerts} onRemove={removeAlert} />\n </AlertContext.Provider>\n );\n}\n\nexport { AlertProvider };\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare const buttonVariants: (props?: ({
3
3
  theme?: "inherit" | "primary" | "secondary" | "destructive" | "warning" | "success" | "info" | "slate" | null | undefined;
4
4
  size?: "sm" | "md" | "lg" | "xs" | null | undefined;
5
5
  iconOnly?: boolean | null | undefined;
6
+ fullWidth?: boolean | null | undefined;
6
7
  rounded?: boolean | "extra" | null | undefined;
7
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
9
  //# sourceMappingURL=button-variants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-variants.d.ts","sourceRoot":"","sources":["../../../src/ui/Button/button-variants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;;;8EAsCzB,CAAC"}
1
+ {"version":3,"file":"button-variants.d.ts","sourceRoot":"","sources":["../../../src/ui/Button/button-variants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;;;;8EAyCzB,CAAC"}
@@ -27,6 +27,9 @@ const buttonVariants = cva(s.button, {
27
27
  iconOnly: {
28
28
  true: s['button--icon-only'],
29
29
  },
30
+ fullWidth: {
31
+ true: s['button--full-width'],
32
+ },
30
33
  rounded: {
31
34
  true: s['button--rounded'],
32
35
  false: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"button-variants.js","sources":["../../../src/ui/Button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './button.module.scss';\n\nexport const buttonVariants = cva(s.button, {\n variants: {\n variant: {\n contained: s['button--contained'],\n outlined: s['button--outlined'],\n ghost: s['button--ghost'],\n },\n theme: {\n primary: s['button--primary'],\n secondary: s['button--secondary'],\n destructive: s['button--destructive'],\n warning: s['button--warning'],\n success: s['button--success'],\n info: s['button--info'],\n slate: s['button--slate'],\n inherit: s['button--inherit'],\n },\n size: {\n xs: s['button--xs'],\n sm: s['button--sm'],\n md: s['button--md'],\n lg: s['button--lg'],\n },\n iconOnly: {\n true: s['button--icon-only'],\n },\n rounded: {\n true: s['button--rounded'],\n false: undefined,\n extra: s['button--extra-rounded'],\n },\n },\n defaultVariants: {\n variant: 'contained',\n theme: 'primary',\n size: 'md',\n rounded: 'extra',\n },\n});\n"],"names":[],"mappings":";;;MAGa,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;AAC1C,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC;AAC/B,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC;AACrC,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;AACvB,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AACzB,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC1B,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;"}
1
+ {"version":3,"file":"button-variants.js","sources":["../../../src/ui/Button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './button.module.scss';\n\nexport const buttonVariants = cva(s.button, {\n variants: {\n variant: {\n contained: s['button--contained'],\n outlined: s['button--outlined'],\n ghost: s['button--ghost'],\n },\n theme: {\n primary: s['button--primary'],\n secondary: s['button--secondary'],\n destructive: s['button--destructive'],\n warning: s['button--warning'],\n success: s['button--success'],\n info: s['button--info'],\n slate: s['button--slate'],\n inherit: s['button--inherit'],\n },\n size: {\n xs: s['button--xs'],\n sm: s['button--sm'],\n md: s['button--md'],\n lg: s['button--lg'],\n },\n iconOnly: {\n true: s['button--icon-only'],\n },\n fullWidth: {\n true: s['button--full-width'],\n },\n rounded: {\n true: s['button--rounded'],\n false: undefined,\n extra: s['button--extra-rounded'],\n },\n },\n defaultVariants: {\n variant: 'contained',\n theme: 'primary',\n size: 'md',\n rounded: 'extra',\n },\n});\n"],"names":[],"mappings":";;;MAGa,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;AAC1C,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC;AAC/B,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC;AACrC,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;AACvB,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AACzB,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC;AAC7B,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC;AAC9B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC1B,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;"}