@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,199 @@
1
+ /*
2
+ * DateTimePicker: a Select-shaped trigger over a calendar dialog.
3
+ *
4
+ * The trigger borrows the Select's geometry so a date box and a picker line
5
+ * up in the same toolbar; the panel holds the shared CalendarGrid, so the
6
+ * month looks and behaves the same here as in every other picker.
7
+ */
8
+
9
+ .crewlet-datetime {
10
+ width: 100%;
11
+ display: inline-flex;
12
+ align-items: center;
13
+ gap: var(--spacing-2);
14
+ min-height: var(--size-control-md);
15
+ /* The side inset only: the control's own height is what makes the row, so a
16
+ date box, the select beside it and the button beside that are one
17
+ height. */
18
+ padding: 0 var(--spacing-2) 0 var(--spacing-3);
19
+ background: var(--color-surface-subtle);
20
+ border: 1px solid var(--color-border-control);
21
+ border-radius: var(--radius-md);
22
+ color: var(--color-text-primary);
23
+ font-family: inherit;
24
+ font-size: var(--font-size-compact);
25
+ text-align: left;
26
+ cursor: pointer;
27
+ transition: border-color var(--motion-duration-fast) var(--motion-easing-default);
28
+ }
29
+
30
+ .crewlet-datetime--sm {
31
+ min-height: var(--size-control-sm);
32
+ padding: 0 var(--spacing-2);
33
+ font-size: var(--font-size-xs);
34
+ }
35
+
36
+ .crewlet-datetime:hover:not(:disabled) {
37
+ border-color: var(--color-border-hover);
38
+ }
39
+
40
+ /*
41
+ * Focus and open are drawn alike, and the ring is an OUTLINE: forced-colors
42
+ * mode drops every box-shadow and keeps outlines, so a ring drawn as a shadow
43
+ * disappears for exactly the readers who most need one.
44
+ */
45
+ .crewlet-datetime:focus-visible,
46
+ .crewlet-datetime.is-open {
47
+ outline: 2px solid var(--color-focus);
48
+ outline-offset: 2px;
49
+ border-color: var(--color-focus);
50
+ }
51
+
52
+ .crewlet-datetime.is-disabled,
53
+ .crewlet-datetime:disabled {
54
+ opacity: 0.55;
55
+ cursor: not-allowed;
56
+ }
57
+
58
+ /* Both glyphs are DECORATION and take the decoration step: the calendar says
59
+ a second time what the value beside it already reads as a date, and the
60
+ chevron what the control's own role already says. */
61
+ svg.crewlet-datetime__icon,
62
+ svg.crewlet-datetime__chevron {
63
+ color: var(--color-text-muted);
64
+ flex-shrink: 0;
65
+ }
66
+
67
+ .crewlet-datetime__label {
68
+ flex: 1;
69
+ min-width: 0;
70
+ overflow: hidden;
71
+ text-overflow: ellipsis;
72
+ white-space: nowrap;
73
+ }
74
+
75
+ .crewlet-datetime__label.is-placeholder {
76
+ color: var(--color-text-tertiary);
77
+ }
78
+
79
+ /* ─── The panel ──────────────────────────────────────────────── */
80
+
81
+ .crewlet-datetime__popover {
82
+ --crewlet-datetime-panel-min-width: 288px;
83
+
84
+ padding: 0;
85
+ /*
86
+ * The shared popover rule caps its height and scrolls what overflows, which
87
+ * put the time row under the fold. A calendar is one fixed-size thing: it is
88
+ * shown whole or it is not shown.
89
+ */
90
+ overflow: visible;
91
+ min-width: var(--crewlet-datetime-panel-min-width);
92
+ max-width: none;
93
+ max-height: none;
94
+ }
95
+
96
+ /*
97
+ * The width belongs to the PANEL, not to the overlay around it: drawn inline
98
+ * inside somebody else's popover (a filter chip's editor), the panel is the
99
+ * only element there is, and a calendar squeezed into a narrower host is a
100
+ * calendar with its weeks wrapped.
101
+ */
102
+ .crewlet-datetime__panel {
103
+ --crewlet-datetime-panel-min-width: 288px;
104
+
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: var(--spacing-2);
108
+ padding: var(--spacing-3);
109
+ min-width: var(--crewlet-datetime-panel-min-width);
110
+ }
111
+
112
+ .crewlet-datetime__nav {
113
+ display: flex;
114
+ align-items: center;
115
+ gap: var(--spacing-1);
116
+ }
117
+
118
+ .crewlet-datetime__title {
119
+ flex: 1;
120
+ text-align: center;
121
+ font-size: var(--font-size-compact);
122
+ font-weight: var(--font-weight-semibold);
123
+ color: var(--color-text-primary);
124
+ }
125
+
126
+ .crewlet-datetime__time {
127
+ display: flex;
128
+ align-items: center;
129
+ gap: var(--spacing-1);
130
+ padding-top: var(--spacing-2);
131
+ border-top: 1px solid var(--color-border-default);
132
+ }
133
+
134
+ .crewlet-datetime__time-label {
135
+ flex: 1;
136
+ font-size: var(--font-size-xs);
137
+ color: var(--color-text-tertiary);
138
+ }
139
+
140
+ .crewlet-datetime__time-sep {
141
+ color: var(--color-text-tertiary);
142
+ }
143
+
144
+ .crewlet-datetime__time-input {
145
+ --crewlet-datetime-time-width: 44px;
146
+
147
+ width: var(--crewlet-datetime-time-width);
148
+ min-height: var(--size-control-sm);
149
+ padding: 0 var(--spacing-1);
150
+ text-align: center;
151
+ font-family: var(--font-family-mono);
152
+ font-size: var(--font-size-compact);
153
+ font-variant-numeric: tabular-nums;
154
+ color: var(--color-text-primary);
155
+ background: var(--color-surface-subtle);
156
+ border: 1px solid var(--color-border-control);
157
+ /* A box is a box: the corner every field in the package wears. */
158
+ border-radius: var(--radius-md);
159
+ outline: none;
160
+ /* The native spinner is the platform's, not the theme's, and it halves the
161
+ room a two-digit value has. The arrow keys still step the value. */
162
+ appearance: textfield;
163
+ -moz-appearance: textfield;
164
+ }
165
+
166
+ .crewlet-datetime__time-input::-webkit-outer-spin-button,
167
+ .crewlet-datetime__time-input::-webkit-inner-spin-button {
168
+ -webkit-appearance: none;
169
+ margin: 0;
170
+ }
171
+
172
+ .crewlet-datetime__time-input:focus-visible {
173
+ outline: 2px solid var(--color-focus);
174
+ outline-offset: 2px;
175
+ border-color: var(--color-focus);
176
+ }
177
+
178
+ .crewlet-datetime__footer {
179
+ display: flex;
180
+ align-items: center;
181
+ justify-content: space-between;
182
+ gap: var(--spacing-2);
183
+ padding-top: var(--spacing-2);
184
+ border-top: 1px solid var(--color-border-default);
185
+ }
186
+
187
+ /* Now and Clear are both about the VALUE, so they sit together at the far end
188
+ from Done, which is about the panel. */
189
+ .crewlet-datetime__shortcuts {
190
+ display: flex;
191
+ align-items: center;
192
+ gap: var(--spacing-1);
193
+ }
194
+
195
+ @media (prefers-reduced-motion: reduce) {
196
+ .crewlet-datetime {
197
+ transition: none;
198
+ }
199
+ }
@@ -0,0 +1,36 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ /** One pair, as a tuple: the term and what it is. */
3
+ export type DescriptionListEntry = readonly [term: ReactNode, detail: ReactNode];
4
+ export interface DescriptionListProps extends HTMLAttributes<HTMLDListElement> {
5
+ /** Tightens the rhythm for a panel that carries a dozen pairs. */
6
+ dense?: boolean | undefined;
7
+ /**
8
+ * The pairs. Given as tuples so a caller can build them from a record
9
+ * without inventing a key for each one; `DescriptionList.Item` children are
10
+ * the other form, for a pair whose detail is a component.
11
+ */
12
+ items?: readonly DescriptionListEntry[] | undefined;
13
+ }
14
+ /**
15
+ * Metadata: a term and what it is, several times over.
16
+ *
17
+ * NOT A LAYOUT. It is a `dl`, so a screen reader announces "3 items" and pairs
18
+ * each term with its own detail, and a reader can move between them as a list.
19
+ * That promise is the reason to reach for it, and the reason not to: a panel
20
+ * with two columns of unrelated content is a grid, not a description list, and
21
+ * spelling it as one tells a reader something untrue about what they are
22
+ * looking at.
23
+ *
24
+ * Each pair is wrapped in a `div`, which HTML allows inside a `dl` and which
25
+ * is what lets one pair be one grid row.
26
+ */
27
+ export declare function DescriptionList({ dense, items, className, children, ...rest }: DescriptionListProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace DescriptionList {
29
+ var Item: typeof DescriptionListItem;
30
+ }
31
+ export interface DescriptionListItemProps extends HTMLAttributes<HTMLDivElement> {
32
+ /** What the value is called. */
33
+ term: ReactNode;
34
+ }
35
+ /** One term and its detail. */
36
+ export declare function DescriptionListItem({ term, className, children, ...rest }: DescriptionListItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './DescriptionList.css';
2
+ export { DescriptionList, DescriptionListItem } from './DescriptionList.js';
3
+ export type { DescriptionListProps, DescriptionListItemProps, DescriptionListEntry, } from './DescriptionList.js';
@@ -0,0 +1,2 @@
1
+ export { DescriptionList, DescriptionListItem } from '../chunk-XN4JBAN3.js';
2
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Metadata pairs on one grid.
3
+ *
4
+ * The term track is `minmax(120px, max-content)`: wide enough that short terms
5
+ * line up with each other, and free to grow for a long one rather than
6
+ * wrapping it into two lines beside a one-word value.
7
+ */
8
+
9
+ .crewlet-description-list {
10
+ display: grid;
11
+ grid-template-columns: minmax(120px, max-content) 1fr;
12
+ gap: var(--spacing-2) var(--spacing-4);
13
+ margin: 0;
14
+ font-size: var(--font-size-compact);
15
+ align-items: baseline;
16
+ }
17
+
18
+ /*
19
+ * A pair is one grid row. `display: contents` is what puts the term and the
20
+ * detail on the list's OWN tracks: wrapped in a div that participates in the
21
+ * grid, every pair would be one cell and nothing would line up.
22
+ */
23
+ .crewlet-description-list__pair {
24
+ display: contents;
25
+ }
26
+
27
+ .crewlet-description-list__term {
28
+ color: var(--color-text-tertiary);
29
+ font-size: var(--font-size-xs);
30
+ }
31
+
32
+ .crewlet-description-list__detail {
33
+ margin: 0;
34
+ min-width: 0;
35
+ color: var(--color-text-primary);
36
+ /* An id, a path or a URL is one unbreakable word to a line breaker, and this
37
+ is where those are shown. */
38
+ overflow-wrap: anywhere;
39
+ }
40
+
41
+ .crewlet-description-list--dense {
42
+ gap: var(--spacing-1) var(--spacing-3);
43
+ }
44
+
45
+ /*
46
+ * Narrow: the term over its detail. Two columns at this width leave a value
47
+ * column too narrow for the values it carries, which is worse than a taller
48
+ * list.
49
+ */
50
+ @media (max-width: 480px) {
51
+ .crewlet-description-list {
52
+ grid-template-columns: 1fr;
53
+ gap: var(--spacing-1);
54
+ }
55
+
56
+ .crewlet-description-list__detail {
57
+ margin-bottom: var(--spacing-2);
58
+ }
59
+ }
@@ -0,0 +1,47 @@
1
+ import type { ReactNode } from 'react';
2
+ /** What happened to one path between two documents. */
3
+ export type DiffKind = 'added' | 'removed' | 'changed';
4
+ export interface DiffRow {
5
+ kind: DiffKind;
6
+ /** Where in the document, such as `roles.planner.model`. */
7
+ path: ReactNode;
8
+ /** What was there. Read for a removal, and for the left half of a change. */
9
+ from?: ReactNode;
10
+ /** What is there now. Read for an addition, and for the right half. */
11
+ to?: ReactNode;
12
+ }
13
+ export interface DiffListLabels {
14
+ added: string;
15
+ removed: string;
16
+ changed: string;
17
+ /** Joins the two halves of a change, where the arrow is drawn. */
18
+ to: string;
19
+ }
20
+ export declare const DIFF_LIST_LABELS: DiffListLabels;
21
+ export interface DiffListProps {
22
+ rows: DiffRow[];
23
+ /** What an empty diff says. Two identical documents are a fact, not a gap. */
24
+ emptyMessage?: ReactNode;
25
+ labels?: Partial<DiffListLabels>;
26
+ className?: string;
27
+ }
28
+ /**
29
+ * The difference between two documents, one path per row.
30
+ *
31
+ * COLOUR IS NEVER THE ONLY SIGNAL, and a diff is where that rule is easiest
32
+ * to break: green, red and amber rows read perfectly until somebody cannot
33
+ * tell them apart, which is one reader in twelve. Every row therefore carries
34
+ * its glyph AND its word, the word is in the accessibility tree rather than
35
+ * in a title, and the tint behind it is the third carrier rather than the
36
+ * first.
37
+ *
38
+ * AND THE ARROW IS NOT THE WORD EITHER. A change reads "from this to that";
39
+ * drawn, that is a glyph between two values, and a screen reader is given the
40
+ * word "to" in its place, because an arrow is announced as anything from
41
+ * "right arrow" to nothing at all.
42
+ *
43
+ * Monospace, because what a row holds is a path and two values out of a
44
+ * configuration document, where an aligned column of characters is the whole
45
+ * point and a proportional face makes two nearly-identical values look alike.
46
+ */
47
+ export declare function DiffList({ rows, emptyMessage, labels: overrides, className }: DiffListProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './DiffList.css';
2
+ export { DiffList, DIFF_LIST_LABELS } from './DiffList.js';
3
+ export type { DiffKind, DiffListLabels, DiffListProps, DiffRow } from './DiffList.js';
@@ -0,0 +1,3 @@
1
+ export { DIFF_LIST_LABELS, DiffList } from '../chunk-HQNHV7D6.js';
2
+ import '../chunk-BZFWDIV6.js';
3
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,94 @@
1
+ /* DiffList: one path per row, with its mark, its word and its tint.
2
+
3
+ The tint is the soft step of the state the row is in and the text is the
4
+ matching ink step, which is the pairing the palette suite measures: a fill
5
+ is never text and an ink step is never a background. */
6
+ /*
7
+ * HALF A STEP, between the rows and inside them. A diff row is a LINE OF A
8
+ * DOCUMENT rather than an item in a list: at the full 4px step a fifty-line
9
+ * diff gained two hundred pixels of nothing, and the tint that groups the
10
+ * added lines together stopped reading as a block. It is written as half the
11
+ * smallest step rather than as 2px so it still scales with the density
12
+ * setting, which is the whole reason the scale exists.
13
+ */
14
+ .crewlet-diff-list {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: calc(var(--spacing-1) / 2);
18
+ margin: 0;
19
+ padding: 0;
20
+ list-style: none;
21
+ }
22
+
23
+ .crewlet-diff-list__row {
24
+ display: grid;
25
+ grid-template-columns: auto minmax(0, 200px) minmax(0, 1fr);
26
+ align-items: baseline;
27
+ gap: var(--spacing-2);
28
+ padding: calc(var(--spacing-1) / 2) var(--spacing-2);
29
+ border-radius: var(--radius-xs);
30
+ font-family: var(--font-family-mono);
31
+ font-size: var(--font-size-2xs);
32
+ }
33
+
34
+ /* THE SERVER'S OWN WORDS: a change is added, removed or changed. The rules
35
+ this replaces read add, remove and replace, which no answer has ever
36
+ carried, so every diff row rendered untinted. */
37
+ .crewlet-diff-list__row--added {
38
+ background: var(--color-feedback-success-soft);
39
+ color: var(--color-feedback-success-ink);
40
+ }
41
+
42
+ .crewlet-diff-list__row--removed {
43
+ background: var(--color-feedback-danger-soft);
44
+ color: var(--color-feedback-danger-ink);
45
+ }
46
+
47
+ .crewlet-diff-list__row--changed {
48
+ background: var(--color-feedback-warning-soft);
49
+ color: var(--color-feedback-warning-ink);
50
+ }
51
+
52
+ .crewlet-diff-list__mark {
53
+ display: inline-flex;
54
+ align-items: center;
55
+ /* The glyph carries the row's own ink, so the mark and its words read as
56
+ one thing rather than as a grey icon beside coloured text. */
57
+ color: inherit;
58
+ }
59
+
60
+ .crewlet-diff-list__path,
61
+ .crewlet-diff-list__value {
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ white-space: nowrap;
65
+ }
66
+
67
+ .crewlet-diff-list__value {
68
+ display: flex;
69
+ align-items: center;
70
+ gap: var(--spacing-1);
71
+ min-width: 0;
72
+ }
73
+
74
+ /* THE OLD VALUE IS NOT DIMMED. It read at 0.75 opacity, which took the ink
75
+ this file pairs with its tint down to between 3.28:1 and 4.24:1 in light,
76
+ under the 4.5:1 the pairing exists to clear, and the value being replaced
77
+ is exactly the one a reader checks the new one against. The arrow, the word
78
+ "to" and the order are what say which half is which. */
79
+ .crewlet-diff-list__from,
80
+ .crewlet-diff-list__to {
81
+ overflow: hidden;
82
+ text-overflow: ellipsis;
83
+ white-space: nowrap;
84
+ }
85
+
86
+ .crewlet-diff-list__arrow {
87
+ flex: none;
88
+ }
89
+
90
+ .crewlet-diff-list__empty {
91
+ margin: 0;
92
+ font-size: var(--font-size-compact);
93
+ color: var(--color-text-tertiary);
94
+ }
@@ -0,0 +1,56 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type DisclosureHeadingLevel } from './anatomy.js';
3
+ export type DisclosureVariant =
4
+ /** A section of the page that happens to be folded. */
5
+ 'default'
6
+ /**
7
+ * An ASIDE: what was considered rather than what was decided. A rule down
8
+ * its edge lets a reader skip the whole block by its shape rather than by
9
+ * reading it.
10
+ */
11
+ | 'aside';
12
+ export type DisclosureSize = 'default' | 'compact';
13
+ export interface DisclosureProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'onToggle'> {
14
+ /** The always-visible words. */
15
+ title: ReactNode;
16
+ /** A fact inside the trigger: a duration, a model, a status word. */
17
+ meta?: ReactNode;
18
+ /** How many of something the section holds. */
19
+ count?: number | string | undefined;
20
+ /** Sets the title in the mono face. */
21
+ mono?: boolean | undefined;
22
+ /** Controls beside the trigger, outside the button. */
23
+ actions?: ReactNode;
24
+ /** Controlled open state. */
25
+ open?: boolean | undefined;
26
+ /** Uncontrolled initial state. */
27
+ defaultOpen?: boolean | undefined;
28
+ onOpenChange?: ((open: boolean) => void) | undefined;
29
+ /**
30
+ * Mount the children only while open. For a section whose content is
31
+ * expensive: a syntax-highlighted record, a chart, a request nobody has
32
+ * asked for. Closed again, the children unmount and their state goes with
33
+ * them, which is the trade.
34
+ */
35
+ lazy?: boolean | undefined;
36
+ variant?: DisclosureVariant | undefined;
37
+ size?: DisclosureSize | undefined;
38
+ /**
39
+ * The heading the trigger is wrapped in. Defaults to the level the
40
+ * surrounding surface declares, so the same section is an `h3` on a page
41
+ * under an `h2` and an `h2` inside a dialog. `none` leaves the button
42
+ * unwrapped, for a disclosure that is not a section of anything.
43
+ */
44
+ headingLevel?: DisclosureHeadingLevel | undefined;
45
+ children?: ReactNode;
46
+ }
47
+ /**
48
+ * A labelled section the reader opens.
49
+ *
50
+ * NOT A BARE `details`. That element draws the platform's own marker instead
51
+ * of the chevron every other expander here uses, takes none of the hover,
52
+ * inset or type of this one, and cannot carry a count, a fact or a set of
53
+ * controls outside its summary. Two expanders that behave the same and look
54
+ * different is the specific thing a component library exists to stop.
55
+ */
56
+ export declare function Disclosure({ title, meta, count, mono, actions, open: controlledOpen, defaultOpen, onOpenChange, lazy, variant, size, headingLevel, className, children, ...rest }: DisclosureProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ import type { KeyboardEventHandler, ReactNode } from 'react';
2
+ import { type HeadingLevel } from '../utils/headingLevel.js';
3
+ /** The level a disclosure's trigger is wrapped in, or no heading at all. */
4
+ export type DisclosureHeadingLevel = HeadingLevel | 'none';
5
+ export interface DisclosureAnatomyProps {
6
+ open: boolean;
7
+ onToggle: () => void;
8
+ /** The always-visible words. */
9
+ title: ReactNode;
10
+ /**
11
+ * A fact that belongs to the section, INSIDE the trigger: a duration, a
12
+ * model name. Text only, because it is part of the button's own name.
13
+ */
14
+ meta?: ReactNode;
15
+ /** How many of something the section holds. */
16
+ count?: number | string | undefined;
17
+ /** Sets the title in the mono face: a tool name, a config path. */
18
+ mono?: boolean | undefined;
19
+ /**
20
+ * Controls that belong to the section, rendered BESIDE the trigger and
21
+ * outside it. A button nested inside a button is not a thing, and pressing a
22
+ * copy control must not also collapse the thing it just copied.
23
+ */
24
+ actions?: ReactNode;
25
+ disabled?: boolean | undefined;
26
+ headingLevel: DisclosureHeadingLevel;
27
+ triggerId: string;
28
+ panelId: string;
29
+ /** The owning component's own class on the button, so its look can differ. */
30
+ triggerClassName?: string | undefined;
31
+ onKeyDown?: KeyboardEventHandler<HTMLButtonElement> | undefined;
32
+ }
33
+ /**
34
+ * The bar every disclosure in this package is built from: a chevron, the
35
+ * section's words, an optional fact and count inside the button, and the
36
+ * section's own controls outside it.
37
+ *
38
+ * ONE IMPLEMENTATION, because `Accordion.Item` and `Disclosure` are the same
39
+ * control with different state models: one belongs to a stack that opens one
40
+ * item at a time, the other stands alone. Written twice, the two came to
41
+ * disagree about where the actions go, which is the half that matters.
42
+ */
43
+ export declare function DisclosureAnatomy({ open, onToggle, title, meta, count, mono, actions, disabled, headingLevel, triggerId, panelId, triggerClassName, onKeyDown, }: DisclosureAnatomyProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import './Disclosure.css';
2
+ export { Disclosure } from './Disclosure.js';
3
+ export type { DisclosureProps, DisclosureVariant, DisclosureSize } from './Disclosure.js';
4
+ export { DisclosureAnatomy } from './anatomy.js';
5
+ export type { DisclosureAnatomyProps, DisclosureHeadingLevel } from './anatomy.js';
@@ -0,0 +1,6 @@
1
+ export { Disclosure } from '../chunk-LWKJQTOM.js';
2
+ export { DisclosureAnatomy } from '../chunk-5KPQ6D7N.js';
3
+ import '../chunk-BHHIIK3M.js';
4
+ import '../chunk-PQADV6P6.js';
5
+ import '../chunk-BZFWDIV6.js';
6
+ import '../chunk-ODEQTPFM.js';