@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,115 @@
1
+ /*
2
+ * The command palette: a field, a list, and a line of keyboard hints.
3
+ *
4
+ * It is a Modal with its body's padding dropped, so the three bands run edge to
5
+ * edge and the field reads as the surface rather than as a question on a form.
6
+ * The rows are the listbox register (`Listbox.css`), because a result here and
7
+ * a completion in a field are the same thing to a reader and the accent that
8
+ * marks the active row has to mean the same in both.
9
+ *
10
+ * THE TWO OVERRIDES BELOW NAME BOTH CLASSES ON PURPOSE. A single class would
11
+ * tie with the rule it is overriding (`.crewlet-modal--md`,
12
+ * `.crewlet-input--command`), and a tie is broken by the order the stylesheets
13
+ * happen to be concatenated in, which is alphabetical over filenames.
14
+ */
15
+
16
+ .crewlet-modal.crewlet-palette {
17
+ /* Wider than a prompt and shorter than the window: a launcher is read in one
18
+ glance, and a list taller than this is a list nobody scans. */
19
+ --crewlet-modal-width: 620px;
20
+
21
+ max-height: min(60dvh, 520px);
22
+ }
23
+
24
+ /*
25
+ * THE BODY LAYS THE THREE BANDS OUT, and the RESULTS are what scrolls.
26
+ *
27
+ * A Modal's body is a block that scrolls its whole content, which is right for
28
+ * a dialog read top to bottom and wrong here: the field would ride up out of
29
+ * view as the arrows walked the list, and the list, sized to its own content,
30
+ * would never overflow, so the row the listbox brings into view by scrolling
31
+ * that element would have nowhere to go.
32
+ */
33
+ .crewlet-palette .crewlet-modal__body {
34
+ display: flex;
35
+ flex-direction: column;
36
+ overflow: hidden;
37
+ }
38
+
39
+ /*
40
+ * The field, drawn as the surface's own top band: no box of its own, the full
41
+ * height of a large row, and the question asked at the reading size rather
42
+ * than at a control's. It is the first thing on the surface and the only thing
43
+ * with focus, so it is the surface's headline as much as its input.
44
+ */
45
+ .crewlet-input.crewlet-palette__field {
46
+ flex-shrink: 0;
47
+ min-height: var(--size-row-lg);
48
+ padding-inline: var(--spacing-4);
49
+ border: none;
50
+ border-bottom: 1px solid var(--color-border-default);
51
+ border-radius: 0;
52
+ background: transparent;
53
+ }
54
+
55
+ .crewlet-input.crewlet-palette__field .crewlet-input__control {
56
+ font-size: var(--font-size-md);
57
+ }
58
+
59
+ /*
60
+ * THE FOOT IS THE KEYBOARD'S OWN BAND, at the micro register rather than the
61
+ * modal footer's. A modal's foot carries buttons and is sized for them; this
62
+ * one carries a line of keycaps saying what the arrows, Enter and Escape do,
63
+ * and at a dialog's padding that line reads as an action row nobody can press.
64
+ *
65
+ * Both classes are named for the same reason the two rules below are: a single
66
+ * class ties with `.crewlet-modal__footer`, and a tie is broken by the order
67
+ * the stylesheets are concatenated in.
68
+ */
69
+ .crewlet-palette .crewlet-modal__footer {
70
+ gap: var(--spacing-3);
71
+ padding: var(--spacing-2) var(--spacing-3);
72
+ }
73
+
74
+ .crewlet-palette .crewlet-modal__footer-start {
75
+ gap: var(--spacing-3);
76
+ font-size: var(--font-size-2xs);
77
+ }
78
+
79
+ .crewlet-palette__results {
80
+ flex: 1 1 auto;
81
+ min-height: 0;
82
+ overflow-y: auto;
83
+ overscroll-behavior: contain;
84
+ padding: var(--spacing-1);
85
+ }
86
+
87
+ /*
88
+ * The glyph takes the ROW'S colour rather than a quiet step of its own, so the
89
+ * row under the arrows turns accent in one piece. Pinned to the tertiary step
90
+ * it stayed grey inside the highlight, which read as a glyph that had failed
91
+ * to load.
92
+ */
93
+ .crewlet-palette__icon {
94
+ display: inline-flex;
95
+ flex-shrink: 0;
96
+ }
97
+
98
+ .crewlet-palette__label {
99
+ min-width: 0;
100
+ overflow: hidden;
101
+ text-overflow: ellipsis;
102
+ white-space: nowrap;
103
+ }
104
+
105
+ /*
106
+ * An honest empty state: it says which kind of nothing this is, and the
107
+ * component takes the sentence from the caller for that reason.
108
+ */
109
+ .crewlet-palette__empty {
110
+ margin: 0;
111
+ padding: var(--spacing-5) var(--spacing-4);
112
+ color: var(--color-text-tertiary);
113
+ font-size: var(--font-size-compact);
114
+ text-align: center;
115
+ }
@@ -0,0 +1,17 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
3
+ export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * Max content width. sm 720, md 960, lg 1200, xl 1440, and `2xl` the
6
+ * content-max token (1600), which is the widest a console pane goes before
7
+ * a table's rows stop being scannable across. `full` keeps the gutter and
8
+ * drops the measure, for a canvas or a wide grid.
9
+ */
10
+ size?: ContainerSize | undefined;
11
+ }
12
+ /**
13
+ * Container, the centered max-width wrapper that gives every page a
14
+ * consistent measure and horizontal gutter. Pair with Section for the
15
+ * vertical rhythm.
16
+ */
17
+ export declare const Container: ({ size, className, children, ...rest }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './Container.css';
2
+ export { Container } from './Container.js';
3
+ export type { ContainerProps, ContainerSize } from './Container.js';
@@ -0,0 +1,2 @@
1
+ export { Container } from '../chunk-QVE4GJAT.js';
2
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Container, the centred content measure. One max-width scale shared by every
3
+ * surface, so pages line up regardless of who composed them.
4
+ */
5
+
6
+ .crewlet-container {
7
+ width: 100%;
8
+ margin-inline: auto;
9
+ /* The console's own gutter. A wider one leaves a table's first column
10
+ further from the window edge than the rail beside it is. */
11
+ padding-inline: var(--spacing-5);
12
+ }
13
+
14
+ .crewlet-container--sm {
15
+ max-width: 720px;
16
+ }
17
+
18
+ .crewlet-container--md {
19
+ max-width: 960px;
20
+ }
21
+
22
+ .crewlet-container--lg {
23
+ max-width: 1200px;
24
+ }
25
+
26
+ .crewlet-container--xl {
27
+ max-width: 1440px;
28
+ }
29
+
30
+ /*
31
+ * The console width. It reads the content-max token rather than restating the
32
+ * number, because the shell and this container have to agree about where a
33
+ * pane stops or a screen's own header sits at a different width from the
34
+ * screen under it.
35
+ */
36
+ .crewlet-container--2xl {
37
+ max-width: var(--size-content-max);
38
+ }
39
+
40
+ /*
41
+ * No measure, and the gutter kept. A canvas, a wide grid or a table that
42
+ * genuinely wants the viewport still needs its content off the window edge.
43
+ */
44
+ .crewlet-container--full {
45
+ max-width: none;
46
+ }
47
+
48
+ @media (max-width: 480px) {
49
+ .crewlet-container {
50
+ padding-inline: var(--spacing-3);
51
+ }
52
+ }
@@ -0,0 +1,54 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ButtonSize, type ButtonVariant } from '../Button/index.js';
3
+ import { type ClipboardState } from '../utils/useClipboard.js';
4
+ /** What a copy control draws for each state. */
5
+ export declare function copyGlyph(state: ClipboardState): ReactNode;
6
+ export interface CopyStatusProps {
7
+ state: ClipboardState;
8
+ copiedMessage: string;
9
+ failedMessage: string;
10
+ }
11
+ /**
12
+ * What the copy did, said out loud.
13
+ *
14
+ * A SIBLING OF THE CONTROL, NEVER A CHILD. An accessible name is computed
15
+ * from an element's contents, so a live region inside the button named it
16
+ * "Copied copied to the clipboard", the status text becoming part of what the
17
+ * button claimed to be.
18
+ */
19
+ export declare function CopyStatus({ state, copiedMessage, failedMessage }: CopyStatusProps): import("react/jsx-runtime").JSX.Element;
20
+ export interface CopyButtonProps {
21
+ /**
22
+ * The text, or a THUNK that produces it.
23
+ *
24
+ * The thunk is not a convenience. On a live record the thing worth copying
25
+ * is assembled from everything on the screen, and a screen that pushes twice
26
+ * per second would serialize the whole record on every push for a button
27
+ * nobody has pressed. Resolved on the press, it costs nothing until it is
28
+ * asked for.
29
+ */
30
+ text: string | (() => string);
31
+ /** The label at rest. */
32
+ label?: string | undefined;
33
+ /** The label once the text is on the clipboard. */
34
+ copiedLabel?: string | undefined;
35
+ /** The label when the browser refused. */
36
+ failedLabel?: string | undefined;
37
+ /** Read out on success. */
38
+ copiedMessage?: string | undefined;
39
+ /** Read out on failure. */
40
+ failedMessage?: string | undefined;
41
+ size?: ButtonSize | undefined;
42
+ variant?: ButtonVariant | undefined;
43
+ title?: string | undefined;
44
+ className?: string | undefined;
45
+ }
46
+ /**
47
+ * Put text on the clipboard, and SAY WHETHER IT LANDED.
48
+ *
49
+ * The clipboard is invisible: a copy that reached no clipboard clicks exactly
50
+ * like one that did, so the label and the glyph are the only evidence a
51
+ * sighted reader gets and the status region is the only evidence anybody else
52
+ * gets. Both are part of the control, not decoration on it.
53
+ */
54
+ export declare function CopyButton({ text, label, copiedLabel, failedLabel, copiedMessage, failedMessage, size, variant, title, className, }: CopyButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ export type CopyableVariant = 'chip' | 'inline' | 'block';
2
+ export interface CopyableProps {
3
+ /** The value shown, and the text copied. */
4
+ value: string | number | null | undefined;
5
+ /** Shown instead of the value, when the value itself is not what to read. */
6
+ display?: string | undefined;
7
+ variant?: CopyableVariant | undefined;
8
+ monospace?: boolean | undefined;
9
+ truncate?: boolean | undefined;
10
+ truncateLength?: number | undefined;
11
+ /** Names the copy control. */
12
+ ariaLabel?: string | undefined;
13
+ /** The copy control's tooltip. */
14
+ title?: string | undefined;
15
+ /** Read out on success. */
16
+ copiedMessage?: string | undefined;
17
+ /** Read out on failure. */
18
+ failedMessage?: string | undefined;
19
+ className?: string | undefined;
20
+ }
21
+ /**
22
+ * An identifier, with a control that copies it.
23
+ *
24
+ * ONE TAB STOP. The value used to be a `role="button"` span with its own
25
+ * `tabIndex` beside the button that did the same thing, so every id in a table
26
+ * was two stops on the way to the next row, and the first of them was a button
27
+ * that was not one. The value is text now, and the button is the only control.
28
+ *
29
+ * A REFUSAL IS REPORTED. The previous implementation awaited
30
+ * `document.execCommand` and reported success whatever it returned, so on the
31
+ * plain http origin anybody reads a remote dashboard at, the tick appeared and
32
+ * the clipboard was empty.
33
+ */
34
+ export declare const Copyable: ({ value, display, variant, monospace, truncate, truncateLength, ariaLabel, title, copiedMessage, failedMessage, className, }: CopyableProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ import './Copyable.css';
2
+ export { Copyable } from './Copyable.js';
3
+ export type { CopyableProps, CopyableVariant } from './Copyable.js';
4
+ export { CopyButton } from './CopyButton.js';
5
+ export type { CopyButtonProps } from './CopyButton.js';
@@ -0,0 +1,6 @@
1
+ export { CopyButton, Copyable } from '../chunk-D3OADIM6.js';
2
+ import '../chunk-V663QU4R.js';
3
+ import '../chunk-F27EPQ7D.js';
4
+ import '../chunk-BZYDZBAN.js';
5
+ import '../chunk-BZFWDIV6.js';
6
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,125 @@
1
+ /*
2
+ * Copyable: a value and the one control that copies it.
3
+ *
4
+ * Three framings, and they differ only in how the value is drawn:
5
+ *
6
+ * chip A compact pill for a table cell, with head and tail truncation.
7
+ * inline The value inline in a detail row, no chip behind it.
8
+ * block A bordered panel for a full URL or a command.
9
+ *
10
+ * The control is an IconButton in every one of them, and it is the only tab
11
+ * stop: the value is text.
12
+ */
13
+
14
+ .crewlet-copyable {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ gap: var(--spacing-1);
18
+ max-width: 100%;
19
+ vertical-align: middle;
20
+ }
21
+
22
+ .crewlet-copyable__value {
23
+ font-family: var(--font-family-mono);
24
+ font-variant-ligatures: none;
25
+ letter-spacing: var(--font-letter-spacing-snug);
26
+ /* The ink every identifier chip in the system takes. A step quieter made a
27
+ value a reader is about to copy the faintest thing in its own row. */
28
+ color: var(--color-text-secondary);
29
+ white-space: nowrap;
30
+ min-width: 0;
31
+ overflow: hidden;
32
+ text-overflow: ellipsis;
33
+ }
34
+
35
+ /*
36
+ * The control is quiet until the row is reached, and it is REVEALED BY FOCUS
37
+ * as well as by hover: hidden from a keyboard reader, an opacity of 0 is a
38
+ * control that takes a tab stop and shows nothing.
39
+ */
40
+ .crewlet-copyable__button {
41
+ flex: none;
42
+ opacity: 0;
43
+ transition: opacity var(--motion-duration-fast) var(--motion-easing-default);
44
+ }
45
+
46
+ .crewlet-copyable:hover .crewlet-copyable__button,
47
+ .crewlet-copyable__button:focus-visible,
48
+ .crewlet-copyable.is-copied .crewlet-copyable__button,
49
+ .crewlet-copyable.is-failed .crewlet-copyable__button {
50
+ opacity: 1;
51
+ }
52
+
53
+ .crewlet-copyable.is-copied .crewlet-copyable__button {
54
+ color: var(--color-feedback-success-ink);
55
+ }
56
+
57
+ .crewlet-copyable.is-failed .crewlet-copyable__button {
58
+ color: var(--color-feedback-danger-ink);
59
+ }
60
+
61
+ /* ---- chip -------------------------------------------------------------- */
62
+
63
+ .crewlet-copyable--chip .crewlet-copyable__value {
64
+ font-size: var(--font-size-2xs);
65
+ background: var(--color-surface-inset);
66
+ padding: 1px var(--spacing-1);
67
+ border-radius: var(--radius-xs);
68
+ }
69
+
70
+ /* ---- inline ------------------------------------------------------------ */
71
+
72
+ .crewlet-copyable--inline .crewlet-copyable__value {
73
+ font-size: var(--font-size-xs);
74
+ background: transparent;
75
+ padding: 0;
76
+ color: var(--color-text-secondary);
77
+ }
78
+
79
+ /* ---- block ------------------------------------------------------------- */
80
+
81
+ .crewlet-copyable--block {
82
+ display: inline-flex;
83
+ width: 100%;
84
+ max-width: 100%;
85
+ box-sizing: border-box;
86
+ justify-content: space-between;
87
+ gap: var(--spacing-2);
88
+ /* The bordered value surface, which is the one a code block and a field
89
+ take. The elevated step here lifted a one-line value off the card it sits
90
+ on further than the card lifts off the page. */
91
+ background: var(--color-surface-subtle);
92
+ border: 1px solid var(--color-border-default);
93
+ border-radius: var(--radius-md);
94
+ padding: var(--spacing-2) var(--spacing-3);
95
+ }
96
+
97
+ .crewlet-copyable--block .crewlet-copyable__value {
98
+ font-size: var(--font-size-compact);
99
+ color: var(--color-text-primary);
100
+ background: transparent;
101
+ padding: 0;
102
+ white-space: nowrap;
103
+ overflow-x: auto;
104
+ flex: 1;
105
+ }
106
+
107
+ /* A panel's control is always drawn: there is nothing else in the panel. */
108
+ .crewlet-copyable--block .crewlet-copyable__button {
109
+ opacity: 1;
110
+ }
111
+
112
+ /*
113
+ * The mono face for any framing, for a value that is a command rather than an
114
+ * identifier. The value is already mono, so this is what a caller reaches for
115
+ * when `display` has replaced it with prose.
116
+ */
117
+ .crewlet-copyable--monospace .crewlet-copyable__value {
118
+ font-family: var(--font-family-mono);
119
+ }
120
+
121
+ @media (prefers-reduced-motion: reduce) {
122
+ .crewlet-copyable__button {
123
+ transition: none;
124
+ }
125
+ }
@@ -0,0 +1,24 @@
1
+ export interface CountProps {
2
+ /** How many. Rendered as it is given, so a caller decides its own formatting. */
3
+ value: number | string;
4
+ /**
5
+ * What is being counted, read after the number: "3 open incidents". Without
6
+ * one the number is read on its own, which is right beside a heading that
7
+ * already says what it counts.
8
+ */
9
+ label?: string | undefined;
10
+ className?: string | undefined;
11
+ }
12
+ /**
13
+ * How many of something a panel, a tab or a heading is about.
14
+ *
15
+ * IT IS NEVER TINTED, and that is the whole rule. A count coloured by severity
16
+ * is a claim the number cannot support: three of something is not a warning,
17
+ * and a red 3 beside "Failures" says the same thing twice while a red 3 beside
18
+ * "Retries" says something nobody meant. It sits on the inset surface in the
19
+ * tertiary ink, in every context.
20
+ *
21
+ * Tabular figures, so a count that ticks up does not shift the heading beside
22
+ * it, and a minimum width so 1 and 10 draw the same pill.
23
+ */
24
+ export declare function Count({ value, label, className }: CountProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './Count.css';
2
+ export { Count } from './Count.js';
3
+ export type { CountProps } from './Count.js';
@@ -0,0 +1,3 @@
1
+ export { Count } from '../chunk-BHHIIK3M.js';
2
+ import '../chunk-BZFWDIV6.js';
3
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,20 @@
1
+ /*
2
+ * The count pill. One neutral look, deliberately: see the component doc for
3
+ * why a count is never tinted.
4
+ */
5
+
6
+ .crewlet-count {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ min-width: 20px;
11
+ padding: 1px var(--spacing-2);
12
+ border-radius: var(--radius-pill);
13
+ background: var(--color-surface-inset);
14
+ color: var(--color-text-tertiary);
15
+ font-size: var(--font-size-2xs);
16
+ font-weight: var(--font-weight-medium);
17
+ /* A count that ticks up must not shift the heading beside it. */
18
+ font-variant-numeric: tabular-nums;
19
+ line-height: var(--font-line-height-normal);
20
+ }
@@ -0,0 +1,12 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface CopyableCellProps {
3
+ value: string | number | null | undefined;
4
+ children?: ReactNode;
5
+ /** The button's accessible name. */
6
+ ariaLabel?: string;
7
+ /** What the status line says once the value is on the clipboard. */
8
+ copiedLabel?: string;
9
+ /** What it says when the clipboard refused. */
10
+ failedLabel?: string;
11
+ }
12
+ export declare const CopyableCell: ({ value, children, ariaLabel, copiedLabel, failedLabel, }: CopyableCellProps) => import("react/jsx-runtime").JSX.Element;