@crewlethq/ui 0.2.0 → 0.3.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 (497) hide show
  1. package/README.md +1714 -14
  2. package/dist/Accordion/Accordion.d.ts +54 -0
  3. package/dist/Accordion/index.d.ts +4 -0
  4. package/dist/Accordion/index.js +6 -0
  5. package/dist/Accordion-ZI2WLD5C.css +87 -0
  6. package/dist/AddPill/AddPill.d.ts +114 -0
  7. package/dist/AddPill/index.d.ts +3 -0
  8. package/dist/AddPill/index.js +3 -0
  9. package/dist/AddPill-DFWXYLIQ.css +434 -0
  10. package/dist/Announcer/Announcer.d.ts +15 -0
  11. package/dist/Announcer/index.d.ts +2 -0
  12. package/dist/Announcer/index.js +3 -0
  13. package/dist/AppShell/AppShell.d.ts +193 -0
  14. package/dist/AppShell/index.d.ts +3 -0
  15. package/dist/AppShell/index.js +6 -0
  16. package/dist/AppShell-NVE6LHNI.css +395 -0
  17. package/dist/Avatar/Avatar.d.ts +104 -0
  18. package/dist/Avatar/index.d.ts +3 -0
  19. package/dist/Avatar/index.js +2 -0
  20. package/dist/Avatar-P2KRQM2B.css +156 -0
  21. package/dist/BrandLockup/BrandLockup.d.ts +41 -0
  22. package/dist/BrandLockup/index.d.ts +3 -0
  23. package/dist/BrandLockup/index.js +2 -0
  24. package/dist/BrandLockup-6ISDEHPJ.css +108 -0
  25. package/dist/Button/Button.d.ts +88 -0
  26. package/dist/Button/index.d.ts +3 -0
  27. package/dist/Button/index.js +3 -0
  28. package/dist/Button-D4J6B4MA.css +302 -0
  29. package/dist/CalendarGrid/CalendarGrid.d.ts +87 -0
  30. package/dist/CalendarGrid/index.d.ts +3 -0
  31. package/dist/CalendarGrid/index.js +2 -0
  32. package/dist/CalendarGrid-V6TQ5QKS.css +128 -0
  33. package/dist/Callout/Callout.d.ts +47 -0
  34. package/dist/Callout/index.d.ts +3 -0
  35. package/dist/Callout/index.js +2 -0
  36. package/dist/Callout-S7QDWHDL.css +111 -0
  37. package/dist/Canvas/Canvas.d.ts +234 -0
  38. package/dist/Canvas/geometry.d.ts +249 -0
  39. package/dist/Canvas/index.d.ts +5 -0
  40. package/dist/Canvas/index.js +8 -0
  41. package/dist/Canvas/layerNode.d.ts +20 -0
  42. package/dist/Canvas-Q6JETCWR.css +315 -0
  43. package/dist/Card/Card.d.ts +142 -0
  44. package/dist/Card/headerSlot.d.ts +65 -0
  45. package/dist/Card/index.d.ts +5 -0
  46. package/dist/Card/index.js +6 -0
  47. package/dist/Card-AHX3Q2JD.css +428 -0
  48. package/dist/Charts/ActivityStrip.d.ts +45 -0
  49. package/dist/Charts/BarList.d.ts +51 -0
  50. package/dist/Charts/Legend.d.ts +32 -0
  51. package/dist/Charts/StackedBar.d.ts +38 -0
  52. package/dist/Charts/TimeSeries.d.ts +92 -0
  53. package/dist/Charts/dataColor.d.ts +20 -0
  54. package/dist/Charts/index.d.ts +12 -0
  55. package/dist/Charts/index.js +3 -0
  56. package/dist/Charts-D7G2BSXH.css +277 -0
  57. package/dist/Checkbox/Checkbox.d.ts +45 -0
  58. package/dist/Checkbox/index.d.ts +3 -0
  59. package/dist/Checkbox/index.js +2 -0
  60. package/dist/Checkbox-VGW26YLQ.css +111 -0
  61. package/dist/CodeBlock/CodeBlock.d.ts +60 -0
  62. package/dist/CodeBlock/index.d.ts +3 -0
  63. package/dist/CodeBlock/index.js +7 -0
  64. package/dist/CodeBlock-U2W6NNVC.css +153 -0
  65. package/dist/Combobox/Combobox.d.ts +89 -0
  66. package/dist/Combobox/index.d.ts +3 -0
  67. package/dist/Combobox/index.js +8 -0
  68. package/dist/Combobox-4FUVYIE7.css +80 -0
  69. package/dist/CommandPalette/CommandPalette.d.ts +77 -0
  70. package/dist/CommandPalette/index.d.ts +3 -0
  71. package/dist/CommandPalette/index.js +11 -0
  72. package/dist/CommandPalette-CSJDUCQA.css +115 -0
  73. package/dist/Container/Container.d.ts +17 -0
  74. package/dist/Container/index.d.ts +3 -0
  75. package/dist/Container/index.js +2 -0
  76. package/dist/Container-3TSKMGNI.css +52 -0
  77. package/dist/Copyable/CopyButton.d.ts +54 -0
  78. package/dist/Copyable/Copyable.d.ts +34 -0
  79. package/dist/Copyable/index.d.ts +5 -0
  80. package/dist/Copyable/index.js +6 -0
  81. package/dist/Copyable-5PNRFOLS.css +125 -0
  82. package/dist/Count/Count.d.ts +24 -0
  83. package/dist/Count/index.d.ts +3 -0
  84. package/dist/Count/index.js +3 -0
  85. package/dist/Count-ZVCJ6VPD.css +20 -0
  86. package/dist/DataTable/CopyableCell.d.ts +12 -0
  87. package/dist/DataTable/DataTable.d.ts +615 -0
  88. package/dist/DataTable/RowActionsMenu.d.ts +7 -0
  89. package/dist/DataTable/index.d.ts +7 -0
  90. package/dist/DataTable/index.js +14 -0
  91. package/dist/DataTable-ITNACQ2X.css +2020 -0
  92. package/dist/DataView/DataView.d.ts +109 -0
  93. package/dist/DataView/DataViewToolbar.d.ts +87 -0
  94. package/dist/DataView/FilterAxisBar.d.ts +103 -0
  95. package/dist/DataView/columns.d.ts +35 -0
  96. package/dist/DataView/filters.d.ts +184 -0
  97. package/dist/DataView/index.d.ts +11 -0
  98. package/dist/DataView/index.js +25 -0
  99. package/dist/DataView-256YF32J.css +441 -0
  100. package/dist/DateTimePicker/DateTimePicker.d.ts +91 -0
  101. package/dist/DateTimePicker/index.d.ts +3 -0
  102. package/dist/DateTimePicker/index.js +9 -0
  103. package/dist/DateTimePicker-22VNXRWC.css +199 -0
  104. package/dist/DescriptionList/DescriptionList.d.ts +36 -0
  105. package/dist/DescriptionList/index.d.ts +3 -0
  106. package/dist/DescriptionList/index.js +2 -0
  107. package/dist/DescriptionList-YYY3V3O6.css +59 -0
  108. package/dist/DiffList/DiffList.d.ts +47 -0
  109. package/dist/DiffList/index.d.ts +3 -0
  110. package/dist/DiffList/index.js +3 -0
  111. package/dist/DiffList-3EX64AAE.css +94 -0
  112. package/dist/Disclosure/Disclosure.d.ts +56 -0
  113. package/dist/Disclosure/anatomy.d.ts +43 -0
  114. package/dist/Disclosure/index.d.ts +5 -0
  115. package/dist/Disclosure/index.js +6 -0
  116. package/dist/Disclosure-VKBJJIZ7.css +176 -0
  117. package/dist/EmptyState/EmptyState.d.ts +39 -0
  118. package/dist/EmptyState/index.d.ts +3 -0
  119. package/dist/EmptyState/index.js +3 -0
  120. package/dist/EmptyState-C6HRBGT7.css +73 -0
  121. package/dist/EmptyValue/EmptyValue.d.ts +31 -0
  122. package/dist/EmptyValue/index.d.ts +3 -0
  123. package/dist/EmptyValue/index.js +3 -0
  124. package/dist/EmptyValue-4B6ODXHT.css +12 -0
  125. package/dist/EntityChip/EntityChip.d.ts +40 -0
  126. package/dist/EntityChip/index.d.ts +3 -0
  127. package/dist/EntityChip/index.js +3 -0
  128. package/dist/EntityChip-LUCPZBBG.css +64 -0
  129. package/dist/ErrorBoundary/ErrorBoundary.d.ts +58 -0
  130. package/dist/ErrorBoundary/index.d.ts +3 -0
  131. package/dist/ErrorBoundary/index.js +4 -0
  132. package/dist/ErrorBoundary-ME36CQTA.css +59 -0
  133. package/dist/Eyebrow/Eyebrow.d.ts +18 -0
  134. package/dist/Eyebrow/index.d.ts +3 -0
  135. package/dist/Eyebrow/index.js +2 -0
  136. package/dist/Eyebrow-5NREGHQH.css +46 -0
  137. package/dist/FilterChip/FilterChip.d.ts +68 -0
  138. package/dist/FilterChip/index.d.ts +3 -0
  139. package/dist/FilterChip/index.js +3 -0
  140. package/dist/FilterChip-GTGLLOXE.css +107 -0
  141. package/dist/Fullscreen/index.d.ts +2 -0
  142. package/dist/Fullscreen/index.js +1 -0
  143. package/dist/Fullscreen/useFullscreen.d.ts +32 -0
  144. package/dist/IconButton/IconButton.d.ts +45 -0
  145. package/dist/IconButton/index.d.ts +3 -0
  146. package/dist/IconButton/index.js +3 -0
  147. package/dist/IconButton-VQGNMJDI.css +158 -0
  148. package/dist/ImageUpload/ImageUpload.d.ts +37 -0
  149. package/dist/ImageUpload/index.d.ts +3 -0
  150. package/dist/ImageUpload/index.js +3 -0
  151. package/dist/ImageUpload-HKFIZR6D.css +193 -0
  152. package/dist/InlineCode/InlineCode.d.ts +37 -0
  153. package/dist/InlineCode/index.d.ts +3 -0
  154. package/dist/InlineCode/index.js +2 -0
  155. package/dist/InlineCode-6WSR5COL.css +65 -0
  156. package/dist/Input/FormField.d.ts +61 -0
  157. package/dist/Input/FormRow.d.ts +6 -0
  158. package/dist/Input/FormSection.d.ts +28 -0
  159. package/dist/Input/Input.d.ts +98 -0
  160. package/dist/Input/Label.d.ts +31 -0
  161. package/dist/Input/ReadOnlyField.d.ts +30 -0
  162. package/dist/Input/Textarea.d.ts +16 -0
  163. package/dist/Input/index.d.ts +15 -0
  164. package/dist/Input/index.js +5 -0
  165. package/dist/Input-2PU5CPKK.css +616 -0
  166. package/dist/Kbd/Kbd.d.ts +40 -0
  167. package/dist/Kbd/index.d.ts +3 -0
  168. package/dist/Kbd/index.js +3 -0
  169. package/dist/Kbd-W66MXQI5.css +61 -0
  170. package/dist/Layer/LayerHost.d.ts +23 -0
  171. package/dist/Layer/index.d.ts +7 -0
  172. package/dist/Layer/index.js +3 -0
  173. package/dist/Layer/place.d.ts +63 -0
  174. package/dist/Layer/stack.d.ts +159 -0
  175. package/dist/Layer-NAFSGCFA.css +23 -0
  176. package/dist/Layout/Layout.d.ts +104 -0
  177. package/dist/Layout/index.d.ts +3 -0
  178. package/dist/Layout/index.js +2 -0
  179. package/dist/Layout-2ZCV3IGF.css +171 -0
  180. package/dist/Link/Link.d.ts +45 -0
  181. package/dist/Link/index.d.ts +3 -0
  182. package/dist/Link/index.js +3 -0
  183. package/dist/Link-6BEFNMN2.css +80 -0
  184. package/dist/List/List.d.ts +73 -0
  185. package/dist/List/index.d.ts +3 -0
  186. package/dist/List/index.js +3 -0
  187. package/dist/List-XTHESXLR.css +161 -0
  188. package/dist/ListInput/ListInput.d.ts +68 -0
  189. package/dist/ListInput/index.d.ts +3 -0
  190. package/dist/ListInput/index.js +10 -0
  191. package/dist/ListInput-O7LJKOIG.css +147 -0
  192. package/dist/Listbox/index.d.ts +5 -0
  193. package/dist/Listbox/index.js +2 -0
  194. package/dist/Listbox/useListbox.d.ts +97 -0
  195. package/dist/Listbox/useOptionKeys.d.ts +64 -0
  196. package/dist/Listbox-X2DOTSQA.css +110 -0
  197. package/dist/Menu/Menu.d.ts +118 -0
  198. package/dist/Menu/index.d.ts +3 -0
  199. package/dist/Menu/index.js +7 -0
  200. package/dist/Menu-6DE7I66I.css +222 -0
  201. package/dist/Meter/Meter.d.ts +49 -0
  202. package/dist/Meter/index.d.ts +3 -0
  203. package/dist/Meter/index.js +3 -0
  204. package/dist/Meter-SKOOXQBC.css +87 -0
  205. package/dist/Modal/ConfirmModal.d.ts +74 -0
  206. package/dist/Modal/Modal.d.ts +154 -0
  207. package/dist/Modal/index.d.ts +5 -0
  208. package/dist/Modal/index.js +8 -0
  209. package/dist/Modal-XYQJ4BL6.css +484 -0
  210. package/dist/NewItemsNotice/NewItemsNotice.d.ts +28 -0
  211. package/dist/NewItemsNotice/index.d.ts +3 -0
  212. package/dist/NewItemsNotice/index.js +4 -0
  213. package/dist/NewItemsNotice-T4DSSPVV.css +60 -0
  214. package/dist/OrgLabel/OrgLabel.d.ts +117 -0
  215. package/dist/OrgLabel/index.d.ts +3 -0
  216. package/dist/OrgLabel/index.js +2 -0
  217. package/dist/OrgLabel-D7U6QJZD.css +293 -0
  218. package/dist/OrgNode/OrgNode.d.ts +103 -0
  219. package/dist/OrgNode/index.d.ts +3 -0
  220. package/dist/OrgNode/index.js +3 -0
  221. package/dist/OrgNode-BT7T2Q2X.css +214 -0
  222. package/dist/OrgTable/OrgTable.d.ts +113 -0
  223. package/dist/OrgTable/index.d.ts +3 -0
  224. package/dist/OrgTable/index.js +11 -0
  225. package/dist/OrgTable-VWMFC3TB.css +360 -0
  226. package/dist/PageHeader/PageHeader.d.ts +35 -0
  227. package/dist/PageHeader/index.d.ts +3 -0
  228. package/dist/PageHeader/index.js +3 -0
  229. package/dist/PageHeader-6EYWQXRE.css +88 -0
  230. package/dist/Popover/Popover.d.ts +91 -0
  231. package/dist/Popover/index.d.ts +3 -0
  232. package/dist/Popover/index.js +4 -0
  233. package/dist/Popover-WJGCF3ZQ.css +185 -0
  234. package/dist/PricingCard/PricingCard.d.ts +56 -0
  235. package/dist/PricingCard/index.d.ts +3 -0
  236. package/dist/PricingCard/index.js +4 -0
  237. package/dist/PricingCard-JFI7RYXP.css +278 -0
  238. package/dist/Prose/Prose.d.ts +33 -0
  239. package/dist/Prose/index.d.ts +3 -0
  240. package/dist/Prose/index.js +2 -0
  241. package/dist/Prose-BTXNFT2Q.css +99 -0
  242. package/dist/RelativeTime/RelativeTime.d.ts +31 -0
  243. package/dist/RelativeTime/clock.d.ts +9 -0
  244. package/dist/RelativeTime/format.d.ts +38 -0
  245. package/dist/RelativeTime/index.d.ts +6 -0
  246. package/dist/RelativeTime/index.js +4 -0
  247. package/dist/RelativeTime-EBAQPGO2.css +10 -0
  248. package/dist/SearchTrigger/SearchTrigger.d.ts +29 -0
  249. package/dist/SearchTrigger/index.d.ts +3 -0
  250. package/dist/SearchTrigger/index.js +2 -0
  251. package/dist/SearchTrigger-QXOYAUUY.css +79 -0
  252. package/dist/Section/Section.d.ts +41 -0
  253. package/dist/Section/index.d.ts +3 -0
  254. package/dist/Section/index.js +3 -0
  255. package/dist/Section-QRUPRIQ2.css +127 -0
  256. package/dist/SegmentedControl/SegmentedControl.d.ts +68 -0
  257. package/dist/SegmentedControl/index.d.ts +4 -0
  258. package/dist/SegmentedControl/index.js +5 -0
  259. package/dist/SegmentedControl-X3BI3XU4.css +68 -0
  260. package/dist/Select/Select.d.ts +138 -0
  261. package/dist/Select/index.d.ts +3 -0
  262. package/dist/Select/index.js +5 -0
  263. package/dist/Select-2X77FSWR.css +350 -0
  264. package/dist/Shortcut/index.d.ts +2 -0
  265. package/dist/Shortcut/index.js +4 -0
  266. package/dist/Shortcut/useShortcut.d.ts +68 -0
  267. package/dist/SidebarNav/SidebarNav.d.ts +117 -0
  268. package/dist/SidebarNav/index.d.ts +3 -0
  269. package/dist/SidebarNav/index.js +3 -0
  270. package/dist/SidebarNav-QGSFKZYA.css +319 -0
  271. package/dist/Skeleton/Skeleton.d.ts +50 -0
  272. package/dist/Skeleton/index.d.ts +3 -0
  273. package/dist/Skeleton/index.js +3 -0
  274. package/dist/Skeleton-V735HRGM.css +421 -0
  275. package/dist/StatCard/StatCard.d.ts +56 -0
  276. package/dist/StatCard/index.d.ts +3 -0
  277. package/dist/StatCard/index.js +3 -0
  278. package/dist/StatCard-KYPKZUWX.css +111 -0
  279. package/dist/StatGroup/StatGroup.d.ts +20 -0
  280. package/dist/StatGroup/index.d.ts +3 -0
  281. package/dist/StatGroup/index.js +2 -0
  282. package/dist/StatGroup-TGB6AEKM.css +80 -0
  283. package/dist/StatusDot/StatusDot.d.ts +25 -0
  284. package/dist/StatusDot/index.d.ts +3 -0
  285. package/dist/StatusDot/index.js +2 -0
  286. package/dist/StatusDot-HA2L2FSX.css +84 -0
  287. package/dist/Switch/Switch.d.ts +38 -0
  288. package/dist/Switch/index.d.ts +3 -0
  289. package/dist/Switch/index.js +2 -0
  290. package/dist/Switch-U4OWK4CL.css +169 -0
  291. package/dist/Table/Table.d.ts +51 -0
  292. package/dist/Table/index.d.ts +3 -0
  293. package/dist/Table/index.js +3 -0
  294. package/dist/Table-MDOLVUAW.css +159 -0
  295. package/dist/Tabs/Tabs.d.ts +97 -0
  296. package/dist/Tabs/index.d.ts +3 -0
  297. package/dist/Tabs/index.js +4 -0
  298. package/dist/Tabs/roving.d.ts +36 -0
  299. package/dist/Tabs-VLICJFVB.css +275 -0
  300. package/dist/Tag/Tag.d.ts +107 -0
  301. package/dist/Tag/index.d.ts +3 -0
  302. package/dist/Tag/index.js +3 -0
  303. package/dist/Tag-VNZEYLB6.css +406 -0
  304. package/dist/TagGroup/TagGroup.d.ts +41 -0
  305. package/dist/TagGroup/index.d.ts +3 -0
  306. package/dist/TagGroup/index.js +4 -0
  307. package/dist/TagGroup-APC2EFH4.css +75 -0
  308. package/dist/TagsInput/TagsInput.d.ts +112 -0
  309. package/dist/TagsInput/index.d.ts +3 -0
  310. package/dist/TagsInput/index.js +10 -0
  311. package/dist/TagsInput-W4P36PRJ.css +168 -0
  312. package/dist/Text/Text.d.ts +67 -0
  313. package/dist/Text/index.d.ts +3 -0
  314. package/dist/Text/index.js +2 -0
  315. package/dist/Text-XIPYYZX2.css +154 -0
  316. package/dist/ThemeSwitcher/ThemeSwitcher.d.ts +47 -0
  317. package/dist/ThemeSwitcher/index.d.ts +4 -0
  318. package/dist/ThemeSwitcher/index.js +6 -0
  319. package/dist/ThemeSwitcher/preferences.d.ts +51 -0
  320. package/dist/TimeWindowPicker/TimeWindowPicker.d.ts +231 -0
  321. package/dist/TimeWindowPicker/index.d.ts +3 -0
  322. package/dist/TimeWindowPicker/index.js +13 -0
  323. package/dist/TimeWindowPicker/mask.d.ts +82 -0
  324. package/dist/TimeWindowPicker-7I7KWCMU.css +403 -0
  325. package/dist/Timeline/Timeline.d.ts +51 -0
  326. package/dist/Timeline/index.d.ts +3 -0
  327. package/dist/Timeline/index.js +3 -0
  328. package/dist/Timeline-27SYKOFX.css +144 -0
  329. package/dist/Toaster/Toaster.d.ts +108 -0
  330. package/dist/Toaster/index.d.ts +3 -0
  331. package/dist/Toaster/index.js +5 -0
  332. package/dist/Toaster-NVDCEIP5.css +306 -0
  333. package/dist/Toolbar/Toolbar.d.ts +62 -0
  334. package/dist/Toolbar/index.d.ts +3 -0
  335. package/dist/Toolbar/index.js +4 -0
  336. package/dist/Toolbar-IP6LXN45.css +48 -0
  337. package/dist/Tooltip/Tooltip.d.ts +51 -0
  338. package/dist/Tooltip/index.d.ts +3 -0
  339. package/dist/Tooltip/index.js +4 -0
  340. package/dist/Tooltip-LKQF7CE4.css +71 -0
  341. package/dist/Tree/index.d.ts +8 -0
  342. package/dist/Tree/index.js +1 -0
  343. package/dist/Tree/layout.d.ts +160 -0
  344. package/dist/Tree/model.d.ts +110 -0
  345. package/dist/Tree/useMeasuredSizes.d.ts +61 -0
  346. package/dist/Tree/useTreeState.d.ts +89 -0
  347. package/dist/TreeCanvas/TreeCanvas.d.ts +384 -0
  348. package/dist/TreeCanvas/index.d.ts +3 -0
  349. package/dist/TreeCanvas/index.js +10 -0
  350. package/dist/TreeCanvas/motion.d.ts +59 -0
  351. package/dist/TreeCanvas-WBNQPHC7.css +1098 -0
  352. package/dist/TreeGrid/TreeGrid.d.ts +142 -0
  353. package/dist/TreeGrid/index.d.ts +3 -0
  354. package/dist/TreeGrid/index.js +8 -0
  355. package/dist/TreeGrid-NSW7VMOX.css +132 -0
  356. package/dist/VisuallyHidden/VisuallyHidden.d.ts +23 -0
  357. package/dist/VisuallyHidden/index.d.ts +3 -0
  358. package/dist/VisuallyHidden/index.js +2 -0
  359. package/dist/VisuallyHidden-L552H7OA.css +21 -0
  360. package/dist/chunk-22O7LAW2.js +41 -0
  361. package/dist/chunk-23DHIMJA.js +38 -0
  362. package/dist/chunk-2EOKFKHX.js +263 -0
  363. package/dist/chunk-2PRH365R.js +74 -0
  364. package/dist/chunk-2ZQMA2WB.js +57 -0
  365. package/dist/chunk-3CZ7XAVY.js +139 -0
  366. package/dist/chunk-3EYF6HKB.js +135 -0
  367. package/dist/chunk-3ZP55QZE.js +40 -0
  368. package/dist/chunk-53DVJCVW.js +14 -0
  369. package/dist/chunk-5C5YMZQU.js +51 -0
  370. package/dist/chunk-5EKIWVOR.js +132 -0
  371. package/dist/chunk-5IMACPJS.js +495 -0
  372. package/dist/chunk-5KPQ6D7N.js +54 -0
  373. package/dist/chunk-5SDBMKUO.js +297 -0
  374. package/dist/chunk-5WS6L6FA.js +114 -0
  375. package/dist/chunk-7EM5T4ME.js +39 -0
  376. package/dist/chunk-7FZ53WDJ.js +163 -0
  377. package/dist/chunk-7HPRF5XN.js +525 -0
  378. package/dist/chunk-7RPGY3JE.js +43 -0
  379. package/dist/chunk-A2UXBCLO.js +48 -0
  380. package/dist/chunk-ARMRX2YV.js +96 -0
  381. package/dist/chunk-AV2DXAEL.js +27 -0
  382. package/dist/chunk-BHHIIK3M.js +17 -0
  383. package/dist/chunk-BZFWDIV6.js +9 -0
  384. package/dist/chunk-BZYDZBAN.js +123 -0
  385. package/dist/chunk-CMEE37QJ.js +628 -0
  386. package/dist/chunk-D3OADIM6.js +112 -0
  387. package/dist/chunk-DD5BBGBE.js +162 -0
  388. package/dist/chunk-EHMQQHYR.js +1652 -0
  389. package/dist/chunk-EN6K2IFA.js +256 -0
  390. package/dist/chunk-EPOOQZYA.js +118 -0
  391. package/dist/chunk-ESCO4XYW.js +144 -0
  392. package/dist/chunk-EUCC37WY.js +14 -0
  393. package/dist/chunk-EV6IMYJ6.js +62 -0
  394. package/dist/chunk-F27EPQ7D.js +68 -0
  395. package/dist/chunk-F4PJZ4ED.js +245 -0
  396. package/dist/chunk-F6OE5FH3.js +49 -0
  397. package/dist/chunk-FBZAKNSX.js +263 -0
  398. package/dist/chunk-FEFTGVMF.js +46 -0
  399. package/dist/chunk-G2QFRTJ2.js +823 -0
  400. package/dist/chunk-GHYY2WPF.js +907 -0
  401. package/dist/chunk-GTOUGQQK.js +147 -0
  402. package/dist/chunk-GUIF6Q6N.js +143 -0
  403. package/dist/chunk-GXQ3B46I.js +216 -0
  404. package/dist/chunk-H4FBTAYS.js +130 -0
  405. package/dist/chunk-HOXGBLEY.js +37 -0
  406. package/dist/chunk-HQNHV7D6.js +54 -0
  407. package/dist/chunk-HTDFCRJZ.js +92 -0
  408. package/dist/chunk-HZ5XZNPS.js +98 -0
  409. package/dist/chunk-IAJLHVUA.js +28 -0
  410. package/dist/chunk-IJ7QXNIJ.js +1 -0
  411. package/dist/chunk-ITHXJHBB.js +280 -0
  412. package/dist/chunk-JCSA3XVH.js +32 -0
  413. package/dist/chunk-KLJCCMF3.js +97 -0
  414. package/dist/chunk-LGCPQIOZ.js +49 -0
  415. package/dist/chunk-LWKJQTOM.js +77 -0
  416. package/dist/chunk-MNAXYY3R.js +215 -0
  417. package/dist/chunk-NN62JQLR.js +29 -0
  418. package/dist/chunk-NPZY6YYL.js +251 -0
  419. package/dist/chunk-NTRZGNEX.js +529 -0
  420. package/dist/chunk-O6232G37.js +273 -0
  421. package/dist/chunk-O67VF5MS.js +58 -0
  422. package/dist/chunk-ODEQTPFM.js +6 -0
  423. package/dist/chunk-PNFASD6F.js +98 -0
  424. package/dist/chunk-PQADV6P6.js +19 -0
  425. package/dist/chunk-PZSWF74H.js +15 -0
  426. package/dist/chunk-Q4ZPPART.js +26 -0
  427. package/dist/chunk-QNCVHRZL.js +17 -0
  428. package/dist/chunk-QVE4GJAT.js +15 -0
  429. package/dist/chunk-QYOFACSP.js +36 -0
  430. package/dist/chunk-RA2ULG6H.js +29 -0
  431. package/dist/chunk-RDGD7Z7I.js +350 -0
  432. package/dist/chunk-RK4XPHVG.js +16 -0
  433. package/dist/chunk-RSAQOKH3.js +38 -0
  434. package/dist/chunk-S2XHHEW4.js +84 -0
  435. package/dist/chunk-S4GZWSKR.js +137 -0
  436. package/dist/chunk-SFZOKW2G.js +52 -0
  437. package/dist/chunk-T7FKOJKW.js +221 -0
  438. package/dist/chunk-UG46QBLT.js +325 -0
  439. package/dist/chunk-UOGSZKLT.js +134 -0
  440. package/dist/chunk-V2XMNLMS.js +52 -0
  441. package/dist/chunk-V663QU4R.js +51 -0
  442. package/dist/chunk-W4ENKCXJ.js +40 -0
  443. package/dist/chunk-W5J7R5EB.js +107 -0
  444. package/dist/chunk-WNI2WSJF.js +27 -0
  445. package/dist/chunk-XDTYBF2F.js +36 -0
  446. package/dist/chunk-XN4JBAN3.js +32 -0
  447. package/dist/chunk-XV6WRMBC.js +211 -0
  448. package/dist/chunk-YLYOWZ4V.js +33 -0
  449. package/dist/chunk-YMWONFSI.js +170 -0
  450. package/dist/chunk-ZCR6YGQ4.js +1 -0
  451. package/dist/generated/index.d.ts +83 -0
  452. package/dist/generated/index.js +91 -0
  453. package/dist/index.d.ts +1 -1217
  454. package/dist/index.js +91 -4518
  455. package/dist/styles.css +14841 -4274
  456. package/dist/utils/cx.d.ts +10 -0
  457. package/dist/utils/headingLevel.d.ts +16 -0
  458. package/dist/utils/index.d.ts +6 -0
  459. package/dist/utils/index.js +4 -0
  460. package/dist/utils/tone.d.ts +25 -0
  461. package/dist/utils/useClipboard.d.ts +30 -0
  462. package/package.json +18 -10
  463. package/scripts/bundle-css.mjs +25 -0
  464. package/scripts/check-css-literals.mjs +166 -0
  465. package/scripts/check-css-variables.mjs +184 -0
  466. package/scripts/check-css.mjs +27 -0
  467. package/scripts/css-source.mjs +67 -0
  468. package/scripts/write-barrel.mjs +60 -0
  469. package/dist/Accordion-NIMJQIOI.css +0 -88
  470. package/dist/AppShell-ZW3NSFBP.css +0 -51
  471. package/dist/Avatar-V6NG6Q45.css +0 -67
  472. package/dist/Button-XGCTXXYP.css +0 -174
  473. package/dist/Callout-LEGDIMAM.css +0 -52
  474. package/dist/Card-BOZGBML7.css +0 -86
  475. package/dist/Checkbox-OCUICIIZ.css +0 -58
  476. package/dist/CodeBlock-IEMBNIQC.css +0 -90
  477. package/dist/Container-LTKBA2FW.css +0 -21
  478. package/dist/Copyable-IB57OTHZ.css +0 -123
  479. package/dist/DataTable-3GALZUW2.css +0 -1593
  480. package/dist/DateTimePicker-NMSSGVPK.css +0 -312
  481. package/dist/Eyebrow-AVBORAS2.css +0 -30
  482. package/dist/IconButton-GB4PJDG2.css +0 -82
  483. package/dist/ImageUpload-3HQDF2KC.css +0 -158
  484. package/dist/Input-ZHUTN7CU.css +0 -210
  485. package/dist/Kbd-Q77CDZY7.css +0 -23
  486. package/dist/Modal-FJVG66S4.css +0 -138
  487. package/dist/Popover-FUFULUE2.css +0 -123
  488. package/dist/PricingCard-NKYV3JHA.css +0 -238
  489. package/dist/Section-665ZIPG6.css +0 -20
  490. package/dist/Select-GPRF7PRB.css +0 -294
  491. package/dist/Skeleton-3WEFLRDN.css +0 -378
  492. package/dist/StatCard-RTJIVTRB.css +0 -50
  493. package/dist/Table-AR3TRY2E.css +0 -89
  494. package/dist/Tabs-XZ4JIH3E.css +0 -153
  495. package/dist/Tag-R5QDJLYJ.css +0 -163
  496. package/dist/TimeWindowPicker-L3G5Q7UT.css +0 -629
  497. package/dist/Toaster-2O65VOR4.css +0 -264
@@ -0,0 +1,168 @@
1
+ /*
2
+ * TagsInput: several values in one field.
3
+ *
4
+ * THE CHIPS SIT ABOVE THE FIELD, not inside it. Inline, a chosen value shares
5
+ * a box with the text somebody is typing, so the field's width is whatever
6
+ * the choices left of it, a long value pushes the caret off the end, and the
7
+ * Move controls an ordered chain needs have nowhere to go. Above, the box
8
+ * stays the same width whatever is in it and the chips are one list a screen
9
+ * reader can walk.
10
+ */
11
+
12
+ .crewlet-tags-input {
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: var(--spacing-2);
16
+ width: 100%;
17
+ }
18
+
19
+ .crewlet-tags-input__chips {
20
+ list-style: none;
21
+ margin: 0;
22
+ padding: 0;
23
+ display: flex;
24
+ flex-wrap: wrap;
25
+ gap: var(--spacing-2);
26
+ }
27
+
28
+ .crewlet-tags-input__chip {
29
+ display: inline-flex;
30
+ align-items: center;
31
+ gap: var(--spacing-1);
32
+ }
33
+
34
+ .crewlet-tags-input__field {
35
+ position: relative;
36
+ width: 100%;
37
+ }
38
+
39
+ .crewlet-tags-input__box {
40
+ width: 100%;
41
+ box-sizing: border-box;
42
+ min-height: var(--size-control-md);
43
+ /* The side inset only, as every box in this register: the control's own
44
+ height is what makes the row, so a field, a button and a select in one
45
+ line are one height. */
46
+ padding: 0 var(--spacing-3);
47
+ font-family: inherit;
48
+ font-size: var(--font-size-compact);
49
+ line-height: var(--font-line-height-normal);
50
+ color: var(--color-text-primary);
51
+ background-color: var(--color-surface-subtle);
52
+ border: 1px solid var(--color-border-control);
53
+ border-radius: var(--radius-md);
54
+ outline: none;
55
+ /* The boundary is the only thing that moves. The ring is an outline, which
56
+ takes no transition, and nothing else here paints a shadow. */
57
+ transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
58
+ }
59
+
60
+ .crewlet-tags-input__box::placeholder {
61
+ color: var(--color-text-tertiary);
62
+ opacity: 1;
63
+ }
64
+
65
+ /*
66
+ * ONE RING, and the same one every field in this package draws: an outline
67
+ * over the boundary, inset so a scroller cannot clip it. See Input.css for
68
+ * why it is not the border plus --shadow-focus it used to be.
69
+ *
70
+ * It is on the box rather than on a frame because the box IS the field here.
71
+ * The chips above it are each their own target with their own rings, which is
72
+ * the whole reason they sit above the field instead of inside it.
73
+ */
74
+ .crewlet-tags-input__box:focus-visible {
75
+ outline: 2px solid var(--color-focus);
76
+ outline-offset: var(--size-focus-ring-inset-offset);
77
+ }
78
+
79
+ .crewlet-tags-input.is-disabled {
80
+ opacity: 0.6;
81
+ }
82
+
83
+ .crewlet-tags-input.is-disabled .crewlet-tags-input__box {
84
+ cursor: not-allowed;
85
+ }
86
+
87
+ /*
88
+ * The offered list, anchored inside the field's own box. In the flow it would
89
+ * push every field under it down the form as somebody types.
90
+ */
91
+ .crewlet-tags-input__list {
92
+ /* Six rows and a scroll, as every list this package offers from a field. */
93
+ --crewlet-tags-list-max-height: 12rem;
94
+
95
+ position: absolute;
96
+ top: calc(100% + var(--spacing-1));
97
+ left: 0;
98
+ right: 0;
99
+ max-height: var(--crewlet-tags-list-max-height);
100
+ overflow-y: auto;
101
+ overscroll-behavior: contain;
102
+ padding: var(--spacing-1);
103
+ /* The product's own panel surface, hairline and corner: a list offered from
104
+ a field is another panel over the form, not a heavier kind of thing. */
105
+ background: var(--color-surface-subtle);
106
+ border: 1px solid var(--color-border-default);
107
+ border-radius: var(--radius-md);
108
+ box-shadow: var(--shadow-md);
109
+ z-index: var(--z-index-dropdown);
110
+ }
111
+
112
+ /*
113
+ * TWO CLASSES, so the list's own bound wins whatever order the stylesheets
114
+ * are bundled in: the row it draws with carries the shared listbox class,
115
+ * which sets a max-height and a pad of its own at equal weight.
116
+ */
117
+ .crewlet-tags-input__list.crewlet-listbox {
118
+ max-height: var(--crewlet-tags-list-max-height);
119
+ padding: var(--spacing-1);
120
+ }
121
+
122
+ /*
123
+ * WHAT IS CHOSEN AND WHERE THE READER IS ARE TWO DIFFERENT FACTS, and in a
124
+ * list where several rows are chosen at once they are both on screen the
125
+ * whole time: the chosen rows carry the tick in the accent ink, and the row
126
+ * the arrows or the pointer are on carries the hover tint.
127
+ *
128
+ * Scoped to the list rather than written on the row class, because the shared
129
+ * listbox register paints [aria-selected] itself and the stylesheets are
130
+ * bundled in hash order: a rule of equal weight would win or lose by the name
131
+ * of a build artefact.
132
+ */
133
+ .crewlet-tags-input__list .crewlet-listbox__option,
134
+ .crewlet-tags-input__list .crewlet-listbox__option[aria-selected='true'] {
135
+ border-radius: var(--radius-xs);
136
+ background: transparent;
137
+ color: var(--color-text-primary);
138
+ }
139
+
140
+ .crewlet-tags-input__list .crewlet-listbox__option.is-highlight,
141
+ .crewlet-tags-input__list .crewlet-listbox__option:hover {
142
+ background: var(--color-surface-hover);
143
+ color: var(--color-text-primary);
144
+ }
145
+
146
+ /* The tick column, which holds its width whether or not a row is chosen, so
147
+ the labels line up down the list. */
148
+ .crewlet-tags-input__option-tick {
149
+ display: inline-flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ flex: none;
153
+ width: 16px;
154
+ height: 16px;
155
+ color: var(--color-brand-accent-ink);
156
+ }
157
+
158
+ .crewlet-tags-input__option-label {
159
+ overflow: hidden;
160
+ text-overflow: ellipsis;
161
+ white-space: nowrap;
162
+ }
163
+
164
+ @media (prefers-reduced-motion: reduce) {
165
+ .crewlet-tags-input__box {
166
+ transition: none;
167
+ }
168
+ }
@@ -0,0 +1,67 @@
1
+ import type { ElementType, HTMLAttributes } from 'react';
2
+ /**
3
+ * The register a piece of text is set in, named for WHAT IT IS rather than
4
+ * for how big it is. A scale change is then one edit in the stylesheet rather
5
+ * than a search for every place that spelled a number.
6
+ */
7
+ export type TextVariant =
8
+ /** Body copy, 14px. The default, and the only one that needs no thought. */
9
+ 'body'
10
+ /** A value inside a dense row or table cell, 13px. */
11
+ | 'cell'
12
+ /** Metadata under or beside a value, 12px, on the tertiary step. */
13
+ | 'caption'
14
+ /** The micro register: 11px, uppercase, tracked out, on the tertiary step. */
15
+ | 'label'
16
+ /** A panel or section title. */
17
+ | 'heading'
18
+ /** The sentence that introduces a screen. */
19
+ | 'lead'
20
+ /** A page title. */
21
+ | 'display'
22
+ /** A single measured number, the size a stat card sets it at. */
23
+ | 'stat';
24
+ /**
25
+ * Which ink. There is deliberately no decoration step here: the decoration
26
+ * ink is measured into the 2.8 to 4.5:1 band on purpose, so it carries a
27
+ * mark and never a word. Anything a reader has to make out is tertiary or
28
+ * above, and the package's own stylesheet check refuses the alternative.
29
+ */
30
+ export type TextTone = 'primary' | 'secondary' | 'tertiary';
31
+ /** Which measure a block of text is bounded to. */
32
+ export type TextMeasure = 'normal' | 'narrow';
33
+ export interface TextProps extends HTMLAttributes<HTMLElement> {
34
+ /** The element to draw. A span by default, so Text nests inside a sentence. */
35
+ as?: ElementType | undefined;
36
+ variant?: TextVariant | undefined;
37
+ /** Overrides the ink the variant sets. */
38
+ tone?: TextTone | undefined;
39
+ /** The mono face, with ligatures off: an id, a path, a config key. */
40
+ mono?: boolean | undefined;
41
+ /**
42
+ * Tabular figures. A number that ticks up otherwise re-flows the text beside
43
+ * it on every push, because the proportional digits have different widths.
44
+ */
45
+ numeric?: boolean | undefined;
46
+ /** One line, cut with an ellipsis. */
47
+ truncate?: boolean | undefined;
48
+ /** Two or three lines, then an ellipsis. */
49
+ clamp?: 2 | 3 | undefined;
50
+ /** Bounds the line length, for anything a reader reads rather than scans. */
51
+ measure?: TextMeasure | undefined;
52
+ }
53
+ /**
54
+ * Text set in one of the system's registers.
55
+ *
56
+ * WHY A COMPONENT RATHER THAN A CLASS. The registers were a set of utility
57
+ * classes, and a utility class is a thing a screen has to remember to spell:
58
+ * a caption-sized LINK styled with the caption class took the caption's muted
59
+ * ink, which won over the anchor rule, so four real navigations rendered as
60
+ * dim static micro-text a reader could only find by hovering. A typed prop
61
+ * cannot be forgotten, and a link is a different component (see `Link`).
62
+ *
63
+ * `variant` sets the size, the weight, the tracking and the ink together,
64
+ * because those four move as one. `tone` overrides only the ink, for the case
65
+ * where the same register carries a quieter fact.
66
+ */
67
+ export declare function Text({ as: Tag, variant, tone, mono, numeric, truncate, clamp, measure, className, children, ...rest }: TextProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './Text.css';
2
+ export { Text } from './Text.js';
3
+ export type { TextProps, TextVariant, TextTone, TextMeasure } from './Text.js';
@@ -0,0 +1,2 @@
1
+ export { Text } from '../chunk-23DHIMJA.js';
2
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,154 @@
1
+ /*
2
+ * The type registers, one rule each.
3
+ *
4
+ * Every register states its size, its weight, its tracking and its ink
5
+ * together, because those move as one: a caption is not "body, smaller", it is
6
+ * a different job. The ink a register sets is its default, and the tone
7
+ * modifiers below override it, so they are declared after.
8
+ */
9
+
10
+ .crewlet-text {
11
+ min-width: 0;
12
+ }
13
+
14
+ .crewlet-text--display {
15
+ font-family: var(--font-family-display);
16
+ font-size: var(--font-size-3xl);
17
+ font-weight: var(--font-weight-semibold);
18
+ letter-spacing: var(--font-letter-spacing-tight);
19
+ line-height: var(--font-line-height-tight);
20
+ font-variant-numeric: tabular-nums;
21
+ color: var(--color-text-primary);
22
+ }
23
+
24
+ .crewlet-text--stat {
25
+ font-size: var(--font-size-2xl);
26
+ font-weight: var(--font-weight-semibold);
27
+ letter-spacing: var(--font-letter-spacing-tight);
28
+ line-height: var(--font-line-height-tight);
29
+ font-variant-numeric: tabular-nums;
30
+ color: var(--color-text-primary);
31
+ }
32
+
33
+ .crewlet-text--heading {
34
+ font-family: var(--font-family-display);
35
+ font-size: var(--font-size-lg);
36
+ font-weight: var(--font-weight-semibold);
37
+ /* The tight step, which is the one every heading in the product is set on.
38
+ Two tracking values across two heading registers is how a card title and
39
+ the section title above it stop looking like one family. */
40
+ letter-spacing: var(--font-letter-spacing-tight);
41
+ line-height: var(--font-line-height-snug);
42
+ color: var(--color-text-primary);
43
+ }
44
+
45
+ .crewlet-text--lead {
46
+ font-size: var(--font-size-md);
47
+ font-weight: var(--font-weight-medium);
48
+ line-height: var(--font-line-height-normal);
49
+ color: var(--color-text-primary);
50
+ }
51
+
52
+ .crewlet-text--body {
53
+ font-size: var(--font-size-sm);
54
+ line-height: var(--font-line-height-normal);
55
+ color: var(--color-text-primary);
56
+ }
57
+
58
+ .crewlet-text--cell {
59
+ font-size: var(--font-size-compact);
60
+ line-height: var(--font-line-height-snug);
61
+ color: var(--color-text-primary);
62
+ }
63
+
64
+ /*
65
+ * Metadata: the tertiary step rather than the decoration one. A caption is
66
+ * read, not glanced at, so it carries the 4.5:1 ink.
67
+ */
68
+ .crewlet-text--caption {
69
+ font-size: var(--font-size-xs);
70
+ line-height: var(--font-line-height-snug);
71
+ color: var(--color-text-tertiary);
72
+ }
73
+
74
+ /*
75
+ * THE one micro-label register, declared once and never overridden. The system
76
+ * this replaces declared it once and then redeclared it in six selectors with
77
+ * six different tracking values.
78
+ */
79
+ .crewlet-text--label {
80
+ font-size: var(--font-size-2xs);
81
+ font-weight: var(--font-weight-medium);
82
+ letter-spacing: var(--font-letter-spacing-wide);
83
+ line-height: var(--font-line-height-snug);
84
+ text-transform: uppercase;
85
+ color: var(--color-text-tertiary);
86
+ }
87
+
88
+ .crewlet-text--tone-primary {
89
+ color: var(--color-text-primary);
90
+ }
91
+
92
+ .crewlet-text--tone-secondary {
93
+ color: var(--color-text-secondary);
94
+ }
95
+
96
+ .crewlet-text--tone-tertiary {
97
+ color: var(--color-text-tertiary);
98
+ }
99
+
100
+ .crewlet-text--mono {
101
+ font-family: var(--font-family-mono);
102
+ /*
103
+ * An identifier is read character by character, so a ligature that joins two
104
+ * of them into one drawing is a drawing of something the reader did not
105
+ * type.
106
+ */
107
+ font-variant-ligatures: none;
108
+ font-variant-numeric: tabular-nums;
109
+ }
110
+
111
+ .crewlet-text--numeric {
112
+ font-variant-numeric: tabular-nums;
113
+ font-feature-settings: 'tnum' 1;
114
+ }
115
+
116
+ .crewlet-text--truncate {
117
+ display: inline-block;
118
+ max-width: 100%;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ vertical-align: bottom;
123
+ }
124
+
125
+ .crewlet-text--clamp-2,
126
+ .crewlet-text--clamp-3 {
127
+ display: -webkit-box;
128
+ -webkit-box-orient: vertical;
129
+ overflow: hidden;
130
+ }
131
+
132
+ .crewlet-text--clamp-2 {
133
+ -webkit-line-clamp: 2;
134
+ line-clamp: 2;
135
+ }
136
+
137
+ .crewlet-text--clamp-3 {
138
+ -webkit-line-clamp: 3;
139
+ line-clamp: 3;
140
+ }
141
+
142
+ /*
143
+ * A measure is a maximum, never a width: a bounded block still shrinks with
144
+ * the column it sits in.
145
+ */
146
+ .crewlet-text--measure-normal {
147
+ display: block;
148
+ max-width: var(--size-measure);
149
+ }
150
+
151
+ .crewlet-text--measure-narrow {
152
+ display: block;
153
+ max-width: var(--size-measure-narrow);
154
+ }
@@ -0,0 +1,47 @@
1
+ export interface ThemeSwitcherProps {
2
+ /** Where the choice is kept. */
3
+ storageKey?: string;
4
+ /** Names the group. */
5
+ label?: string;
6
+ /** What each choice is called out loud. The glyphs say nothing on their own. */
7
+ lightLabel?: string;
8
+ systemLabel?: string;
9
+ darkLabel?: string;
10
+ size?: 'sm' | 'md';
11
+ className?: string;
12
+ }
13
+ /**
14
+ * Light, the system's, or dark.
15
+ *
16
+ * A SETTING, so it is a radio group and the arrows change it as they move: a
17
+ * choice that is not in the URL and pushes no history entry costs nothing to
18
+ * change on every keypress. The engine drew this row as TABS, so a screen
19
+ * reader announced three tabs and went looking for the panels they opened.
20
+ *
21
+ * EACH OPTION IS A WORD, not a picture of one. The glyphs are the whole of
22
+ * what is drawn, so without a spoken name the row is three unnamed buttons.
23
+ */
24
+ export declare function ThemeSwitcher({ storageKey, label, lightLabel, systemLabel, darkLabel, size, className, }: ThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
25
+ export interface DensitySwitcherProps {
26
+ storageKey?: string;
27
+ label?: string;
28
+ /** What each choice is called out loud. */
29
+ compactLabel?: string;
30
+ normalLabel?: string;
31
+ comfortableLabel?: string;
32
+ /** What each choice is drawn as. One letter, which is a picture of a size. */
33
+ compactMark?: string;
34
+ normalMark?: string;
35
+ comfortableMark?: string;
36
+ size?: 'sm' | 'md';
37
+ className?: string;
38
+ }
39
+ /**
40
+ * How much room the interface gives itself.
41
+ *
42
+ * THE LETTERS ARE A PICTURE AND THE WORDS ARE THE NAME. Drawn as S, M and L
43
+ * with nothing else, a screen reader read out three letters, which name
44
+ * nothing: a reader was offered "S" and left to guess. The mark stays, and
45
+ * each option is called Compact, Normal or Comfortable.
46
+ */
47
+ export declare function DensitySwitcher({ storageKey, label, compactLabel, normalLabel, comfortableLabel, compactMark, normalMark, comfortableMark, size, className, }: DensitySwitcherProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { DensitySwitcher, ThemeSwitcher } from './ThemeSwitcher.js';
2
+ export type { DensitySwitcherProps, ThemeSwitcherProps } from './ThemeSwitcher.js';
3
+ export { applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference, } from './preferences.js';
4
+ export type { DensityPreference, PreferenceOptions, StoredPreferences, ThemePreference, } from './preferences.js';
@@ -0,0 +1,6 @@
1
+ export { DensitySwitcher, ThemeSwitcher, applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference } from '../chunk-GUIF6Q6N.js';
2
+ import '../chunk-ARMRX2YV.js';
3
+ import '../chunk-YMWONFSI.js';
4
+ import '../chunk-BHHIIK3M.js';
5
+ import '../chunk-BZFWDIV6.js';
6
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,51 @@
1
+ /** What a reader can ask the palette to be. `system` follows the platform. */
2
+ export type ThemePreference = 'system' | 'light' | 'dark';
3
+ /** How much room the interface gives itself. `normal` is the unscaled step. */
4
+ export type DensityPreference = 'normal' | 'compact' | 'comfortable';
5
+ /**
6
+ * Puts the theme on the root element.
7
+ *
8
+ * `system` REMOVES the attribute rather than writing a third value, because
9
+ * the stylesheet's own default is the system's: a document with no attribute
10
+ * is light, or dark where the platform asks for dark. A `data-theme="system"`
11
+ * would match neither selector and paint the light palette on a reader who
12
+ * asked for dark.
13
+ */
14
+ export declare function applyTheme(theme: ThemePreference): void;
15
+ /** Puts the density on the root element. `normal` removes the attribute. */
16
+ export declare function applyDensity(density: DensityPreference): void;
17
+ export interface PreferenceOptions {
18
+ /** Where the choice is kept. An application picks its own name. */
19
+ storageKey: string;
20
+ }
21
+ /**
22
+ * The reader's theme, kept on the root element and in storage.
23
+ *
24
+ * WHY IT IS A HOOK RATHER THAN A CONTEXT. Nothing renders differently by
25
+ * theme: the palette is CSS custom properties on the root, so the only state
26
+ * is which attribute is set, and a context would make every component that
27
+ * reads it re-render for a change none of them draw.
28
+ */
29
+ export declare function useThemePreference({ storageKey, }: PreferenceOptions): [ThemePreference, (next: ThemePreference) => void];
30
+ /** The reader's density, kept on the root element and in storage. */
31
+ export declare function useDensityPreference({ storageKey, }: PreferenceOptions): [DensityPreference, (next: DensityPreference) => void];
32
+ export interface StoredPreferences {
33
+ themeKey?: string | undefined;
34
+ densityKey?: string | undefined;
35
+ }
36
+ /**
37
+ * Puts the stored preferences on the root element before the first render.
38
+ *
39
+ * WHY IT IS EXPORTED RATHER THAN DONE IN AN EFFECT. An effect runs after the
40
+ * first paint, so a reader who chose dark sees one frame of light on every
41
+ * load. The usual answer is a small inline script in the document head, and a
42
+ * strict Content-Security-Policy refuses one: this is the same work, called
43
+ * from the module bundle at its top level, which the policy already allows.
44
+ *
45
+ * It returns what it applied, so a caller can seed its own state from the
46
+ * same read rather than making a second one.
47
+ */
48
+ export declare function applyStoredPreferences({ themeKey, densityKey }: StoredPreferences): {
49
+ theme: ThemePreference;
50
+ density: DensityPreference;
51
+ };