@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,60 @@
1
+ // Writes src/generated/index.ts: one re-export line per component folder.
2
+ //
3
+ // WHY IT IS GENERATED. The root barrel is the one file every component folder
4
+ // has to touch, and eight people adding components at once is eight conflicts
5
+ // in it. Generated from the folder list, nobody edits it: a folder with an
6
+ // index.ts is exported, a folder without one is not, and the order is the
7
+ // filesystem's rather than an argument.
8
+ //
9
+ // It runs before tsup, before typecheck and before lint, because all three
10
+ // read src/index.ts, which is nothing but a re-export of this file.
11
+
12
+ import { readdirSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
13
+ import { dirname, join, resolve } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+
16
+ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');
17
+ const sourceRoot = join(packageRoot, 'src');
18
+ const out = join(sourceRoot, 'generated', 'index.ts');
19
+
20
+ /** Every folder directly under src/ that publishes an index.ts. */
21
+ export function componentFolders(root = sourceRoot) {
22
+ return readdirSync(root, { withFileTypes: true })
23
+ .filter((entry) => entry.isDirectory() && entry.name !== 'generated')
24
+ .map((entry) => entry.name)
25
+ .filter((name) => {
26
+ try {
27
+ readdirSync(join(root, name));
28
+ } catch {
29
+ return false;
30
+ }
31
+ return readdirSync(join(root, name)).includes('index.ts');
32
+ })
33
+ .sort();
34
+ }
35
+
36
+ export function barrelSource(folders) {
37
+ return [
38
+ '// Generated by scripts/write-barrel.mjs from the folders under src/. Do not edit.',
39
+ ...folders.map((name) => `export * from '../${name}/index.js';`),
40
+ '',
41
+ ].join('\n');
42
+ }
43
+
44
+ function main() {
45
+ const folders = componentFolders();
46
+ const text = barrelSource(folders);
47
+ mkdirSync(dirname(out), { recursive: true });
48
+ let current = null;
49
+ try {
50
+ current = readFileSync(out, 'utf8');
51
+ } catch {
52
+ // Not written yet, which is every clean checkout.
53
+ }
54
+ // Only when it changed: an unconditional write restarts every watcher
55
+ // looking at src/ on each build.
56
+ if (current !== text) writeFileSync(out, text);
57
+ console.warn(`[ui] barrel exports ${folders.length} component folders`);
58
+ }
59
+
60
+ if (process.argv[1] && import.meta.url === `file://${process.argv[1]}`) main();
@@ -1,88 +0,0 @@
1
- /*
2
- * Accordion, a stacked disclosure list for FAQs and dense settings. One
3
- * hairline rule between items, a chevron that rotates on open, and a panel
4
- * that is fully removed from the a11y tree when collapsed.
5
- */
6
-
7
- .crewlet-accordion {
8
- display: flex;
9
- flex-direction: column;
10
- border-top: 1px solid var(--color-border-default);
11
- }
12
-
13
- .crewlet-accordion__item {
14
- border-bottom: 1px solid var(--color-border-default);
15
- }
16
-
17
- .crewlet-accordion__heading {
18
- margin: 0;
19
- font: inherit;
20
- }
21
-
22
- .crewlet-accordion__trigger {
23
- display: flex;
24
- align-items: center;
25
- justify-content: space-between;
26
- gap: var(--spacing-4);
27
- width: 100%;
28
- padding: var(--spacing-5) 0;
29
- background: none;
30
- border: none;
31
- cursor: pointer;
32
- text-align: left;
33
- color: var(--color-text-primary);
34
- font-family: var(--font-family-display);
35
- font-size: var(--font-size-lg);
36
- font-weight: var(--font-weight-medium);
37
- line-height: var(--font-line-height-snug);
38
- transition: color var(--motion-duration-base) var(--motion-easing-out);
39
- }
40
-
41
- .crewlet-accordion__trigger:hover {
42
- color: var(--color-brand-accent);
43
- }
44
-
45
- .crewlet-accordion__trigger:focus-visible {
46
- outline: none;
47
- box-shadow: var(--shadow-focus);
48
- border-radius: var(--radius-sm);
49
- }
50
-
51
- .crewlet-accordion__item.is-disabled .crewlet-accordion__trigger {
52
- cursor: not-allowed;
53
- color: var(--color-text-muted);
54
- }
55
-
56
- .crewlet-accordion__title {
57
- min-width: 0;
58
- }
59
-
60
- .crewlet-accordion__icon {
61
- flex-shrink: 0;
62
- font-size: 24px;
63
- color: var(--color-text-tertiary);
64
- transition: transform var(--motion-duration-base) var(--motion-easing-out);
65
- }
66
-
67
- .crewlet-accordion__item.is-open .crewlet-accordion__icon {
68
- transform: rotate(180deg);
69
- color: var(--color-brand-accent);
70
- }
71
-
72
- .crewlet-accordion__panel {
73
- color: var(--color-text-secondary);
74
- font-size: var(--font-size-md);
75
- line-height: var(--font-line-height-relaxed, 1.7);
76
- }
77
-
78
- .crewlet-accordion__panel-inner {
79
- padding: 0 0 var(--spacing-5);
80
- max-width: 68ch;
81
- }
82
-
83
- @media (prefers-reduced-motion: reduce) {
84
- .crewlet-accordion__icon,
85
- .crewlet-accordion__trigger {
86
- transition: none;
87
- }
88
- }
@@ -1,51 +0,0 @@
1
- /*
2
- * AppShell, layout shell for console apps.
3
- *
4
- * Passive composition: the sidebar and topbar slots position
5
- * themselves (typically `position: fixed`); AppShell only reserves
6
- * the gutters the fixed elements overlay via margin / padding on
7
- * the content column, so an application can adopt the shell without
8
- * restyling a sidebar or header it already positions itself.
9
- *
10
- * Layout dimensions are exposed as CSS custom properties on the
11
- * root so styles inside slot children can read them.
12
- */
13
-
14
- .crewlet-app-shell {
15
- display: flex;
16
- height: 100vh;
17
- overflow-x: hidden;
18
- overflow-y: visible;
19
- --crewlet-app-shell-sidebar-width: 280px;
20
- --crewlet-app-shell-topbar-height: 64px;
21
- }
22
-
23
- .crewlet-app-shell__column {
24
- flex: 1;
25
- min-width: 0;
26
- display: flex;
27
- flex-direction: column;
28
- margin-left: var(--crewlet-app-shell-sidebar-width);
29
- padding-top: var(--crewlet-app-shell-topbar-height);
30
- height: 100vh;
31
- overflow-x: hidden;
32
- overflow-y: visible;
33
- }
34
-
35
- .crewlet-app-shell__main {
36
- flex: 1;
37
- padding: 40px 0;
38
- overflow-y: auto;
39
- overflow-x: visible;
40
- min-height: 0;
41
- /*
42
- * Reserve space for the vertical scrollbar on every page so the
43
- * tab strip, headers, and content stay anchored at the same x
44
- * position when navigating between a tall page (long form, large
45
- * table) and a short page (a card or two). Without this gutter,
46
- * the scrollbar appears or disappears between routes and shifts
47
- * every element horizontally by the scrollbar's width, which
48
- * reads as the page "jumping" on every navigation.
49
- */
50
- scrollbar-gutter: stable;
51
- }
@@ -1,67 +0,0 @@
1
- /*
2
- * Avatar, round identity badge.
3
- *
4
- * The initials fallback
5
- * uses the defined brand-accent surface and its paired on-brand text token so
6
- * the dark, light, and system themes all keep an accessible contrast ratio.
7
- */
8
-
9
- .crewlet-avatar {
10
- display: inline-flex;
11
- align-items: center;
12
- justify-content: center;
13
- flex-shrink: 0;
14
- overflow: hidden;
15
- object-fit: cover;
16
- font-family: var(--font-family-sans);
17
- font-weight: 600;
18
- line-height: 1;
19
- user-select: none;
20
- }
21
-
22
- /* Shape modifiers. "circle" is the round identity badge; "square" keeps
23
- rounded corners (matching the Card radius) so wide marks such as company
24
- logos are not cropped into a circle. */
25
- .crewlet-avatar--circle {
26
- border-radius: var(--radius-circle, 50%);
27
- }
28
-
29
- .crewlet-avatar--square {
30
- border-radius: var(--radius-lg, 12px);
31
- }
32
-
33
- .crewlet-avatar--image {
34
- display: block;
35
- object-fit: cover;
36
- }
37
-
38
- .crewlet-avatar--fallback {
39
- background: var(--color-brand-accent);
40
- color: var(--color-text-on-brand);
41
- text-transform: uppercase;
42
- }
43
-
44
- /*
45
- * Identity tints. When a colorSeed is supplied, the initials fallback picks
46
- * one of these fixed backgrounds by a stable hash of the seed, so each
47
- * identity keeps a distinct, consistent colour across the product (agent
48
- * rosters, member lists). The palette is chosen for a legible contrast ratio
49
- * against white initials (overridable through --crewlet-avatar-tint-fg),
50
- * and each tint overrides the plain
51
- * brand-accent fallback above. Ordering matters: these rules follow
52
- * .crewlet-avatar--fallback so the tint wins at equal specificity.
53
- */
54
- .crewlet-avatar--tint {
55
- color: var(--crewlet-avatar-tint-fg, #ffffff);
56
- }
57
-
58
- .crewlet-avatar--tint-0 { background: #2563eb; }
59
- .crewlet-avatar--tint-1 { background: #7c3aed; }
60
- .crewlet-avatar--tint-2 { background: #c026d3; }
61
- .crewlet-avatar--tint-3 { background: #db2777; }
62
- .crewlet-avatar--tint-4 { background: #dc2626; }
63
- .crewlet-avatar--tint-5 { background: #ea580c; }
64
- .crewlet-avatar--tint-6 { background: #ca8a04; }
65
- .crewlet-avatar--tint-7 { background: #16a34a; }
66
- .crewlet-avatar--tint-8 { background: #0d9488; }
67
- .crewlet-avatar--tint-9 { background: #0284c7; }
@@ -1,174 +0,0 @@
1
- /*
2
- * Button styles. Colour properties go through the @crewlethq/tokens
3
- * variables so the dark, light and system themes pick up the right
4
- * palette without a per-theme rule here.
5
- *
6
- * Each size fixes a min-height (28, 32 and 44px) so a row of mixed
7
- * buttons, with and without icons, keeps one height. IconButton's
8
- * 28px size matches the small button, so check the IconButton and
9
- * toolbar stories in Storybook when you change a size.
10
- */
11
-
12
- .crewlet-btn {
13
- display: inline-flex;
14
- align-items: center;
15
- justify-content: center;
16
- gap: 6px;
17
- border: 1px solid transparent;
18
- border-radius: 8px;
19
- font-family: var(--font-family-sans);
20
- font-weight: 600;
21
- letter-spacing: -0.005em;
22
- text-decoration: none;
23
- white-space: nowrap;
24
- cursor: pointer;
25
- transition: background 150ms ease, color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
26
- }
27
-
28
- .crewlet-btn:focus-visible {
29
- outline: none;
30
- box-shadow: var(--shadow-focus, 0 0 0 3px rgba(84, 105, 212, 0.32));
31
- }
32
-
33
- .crewlet-btn:disabled {
34
- opacity: 0.4;
35
- cursor: not-allowed;
36
- pointer-events: none;
37
- }
38
-
39
- /* ── Sizes (padding + font + min-height) ─────────────────────────── */
40
- .crewlet-btn--small { padding: 5px 12px; font-size: 12px; min-height: 28px; }
41
- .crewlet-btn--medium { padding: 7px 14px; font-size: 13px; min-height: 32px; }
42
- .crewlet-btn--large { padding: 9px 18px; font-size: 15px; min-height: 44px; }
43
-
44
- /* ── Shape modifiers ────────────────────────────────────────────── */
45
- .crewlet-btn--square { border-radius: 8px; }
46
- .crewlet-btn--pill { border-radius: 100px; gap: 6px; }
47
-
48
- .crewlet-btn--pill.crewlet-btn--small { padding: 6px 16px; }
49
- .crewlet-btn--pill.crewlet-btn--medium { padding: 9px 22px; }
50
- .crewlet-btn--pill.crewlet-btn--large { padding: 11px 28px; }
51
-
52
- /*
53
- * Pill buttons paired with Material Symbols icons read better when
54
- * the icon drops from its default 20px to 16px so "← Back" / "Next →"
55
- * pairs sit as a unit.
56
- */
57
- .crewlet-btn--pill .material-symbols-outlined {
58
- font-size: 16px;
59
- }
60
-
61
- /* ── Primary: solid white CTA, black text (dark theme); flips to
62
- black-on-white in the light theme through the token overrides. ── */
63
- .crewlet-btn--primary {
64
- background: var(--color-brand-primary, #ffffff);
65
- color: var(--color-text-on-brand, #000000);
66
- border-color: var(--color-brand-primary, #ffffff);
67
- }
68
- .crewlet-btn--primary:hover:not(:disabled) {
69
- background: var(--color-brand-primary-hover, rgba(255, 255, 255, 0.9));
70
- border-color: var(--color-brand-primary-hover, rgba(255, 255, 255, 0.9));
71
- }
72
- .crewlet-btn--primary:active:not(:disabled) {
73
- background: var(--color-brand-primary-active, rgba(255, 255, 255, 0.82));
74
- border-color: var(--color-brand-primary-active, rgba(255, 255, 255, 0.82));
75
- }
76
-
77
- /* ── Secondary: ghost with visible border. ──────────────────────── */
78
- .crewlet-btn--secondary {
79
- background: var(--color-surface-subtle);
80
- color: var(--color-text-primary);
81
- border-color: var(--color-border-default);
82
- }
83
- .crewlet-btn--secondary:hover:not(:disabled) {
84
- background: var(--color-surface-elevated, var(--color-surface-subtle));
85
- border-color: var(--color-border-strong);
86
- }
87
-
88
- /* ── Outline: lavender accent. Branded secondary CTA. ───────────── */
89
- .crewlet-btn--outline {
90
- background: transparent;
91
- color: var(--color-brand-accent, #5469d4);
92
- border-color: var(--color-brand-accent, #5469d4);
93
- }
94
- .crewlet-btn--outline:hover:not(:disabled) {
95
- background: var(--color-brand-accent-soft, rgba(84, 105, 212, 0.10));
96
- border-color: var(--color-brand-accent, #5469d4);
97
- }
98
-
99
- /* ── Tertiary: borderless ghost. ─────────────────────────────────── */
100
- .crewlet-btn--tertiary {
101
- background: transparent;
102
- color: var(--color-text-secondary);
103
- border-color: transparent;
104
- }
105
- .crewlet-btn--tertiary:hover:not(:disabled) {
106
- background: var(--color-surface-elevated, var(--color-surface-subtle));
107
- color: var(--color-text-primary);
108
- }
109
-
110
- /* ── Accent: solid brand accent CTA. Used when the page already has
111
- a white "primary" and a branded "yes do this" still belongs on
112
- the surface, for example the action inside a toast. ────────── */
113
- .crewlet-btn--accent {
114
- background: var(--color-brand-accent, #5469d4);
115
- color: #ffffff;
116
- border-color: var(--color-brand-accent, #5469d4);
117
- }
118
- .crewlet-btn--accent:hover:not(:disabled) {
119
- background: var(--color-brand-accent-hover, #6478e0);
120
- border-color: var(--color-brand-accent-hover, #6478e0);
121
- }
122
- .crewlet-btn--accent:active:not(:disabled) {
123
- background: var(--color-brand-accent-active, #4a5cc2);
124
- border-color: var(--color-brand-accent-active, #4a5cc2);
125
- }
126
-
127
- /* ── Danger: solid red for destructive confirmation. ────────────── */
128
- .crewlet-btn--danger {
129
- background: var(--color-feedback-danger, #f43f5e);
130
- color: #ffffff;
131
- border-color: var(--color-feedback-danger, #f43f5e);
132
- }
133
- .crewlet-btn--danger:hover:not(:disabled) {
134
- background: var(--color-feedback-danger-hover, #e11d48);
135
- border-color: var(--color-feedback-danger-hover, #e11d48);
136
- }
137
-
138
- .crewlet-btn__icon { display: inline-flex; align-items: center; }
139
- .crewlet-btn__label { display: inline-flex; align-items: center; }
140
-
141
- /*
142
- * Pending state. The spinner takes the leading icon's place so the
143
- * label neither moves nor changes width when an action starts, which is
144
- * what makes a button feel like it is working rather than replaced.
145
- */
146
- .crewlet-btn__spinner {
147
- display: inline-block;
148
- width: 1em;
149
- height: 1em;
150
- border: 2px solid currentColor;
151
- border-right-color: transparent;
152
- border-radius: 50%;
153
- opacity: 0.7;
154
- animation: crewlet-btn-spin 0.6s linear infinite;
155
- flex: none;
156
- }
157
-
158
- @keyframes crewlet-btn-spin {
159
- to { transform: rotate(360deg); }
160
- }
161
-
162
- /* A disabled button already reads as unavailable; a loading one should
163
- still read as this button, mid-action. */
164
- .crewlet-btn--loading {
165
- cursor: progress;
166
- }
167
-
168
- /* A spinner that cannot spin should not pretend to. The ring still
169
- reads as pending without the motion. */
170
- @media (prefers-reduced-motion: reduce) {
171
- .crewlet-btn__spinner {
172
- animation: none;
173
- }
174
- }
@@ -1,52 +0,0 @@
1
- /*
2
- * Callout, inline status banner. One tinted surface per feedback
3
- * tone, readable on dark surfaces without stealing focus from the
4
- * content it annotates.
5
- */
6
-
7
- .crewlet-callout {
8
- display: flex;
9
- align-items: flex-start;
10
- gap: 10px;
11
- border: 1px solid;
12
- border-radius: 10px;
13
- padding: 12px 16px;
14
- font-size: 13px;
15
- line-height: 1.5;
16
- }
17
-
18
- .crewlet-callout__icon {
19
- display: inline-flex;
20
- margin-top: 1px;
21
- }
22
-
23
- .crewlet-callout__content { min-width: 0; }
24
-
25
- .crewlet-callout__title {
26
- font-weight: 600;
27
- margin-right: 6px;
28
- }
29
-
30
- .crewlet-callout--info {
31
- border-color: color-mix(in srgb, var(--color-feedback-info) 30%, transparent);
32
- background: color-mix(in srgb, var(--color-feedback-info) 9%, transparent);
33
- color: color-mix(in srgb, var(--color-feedback-info) 55%, var(--color-text-primary));
34
- }
35
-
36
- .crewlet-callout--success {
37
- border-color: color-mix(in srgb, var(--color-feedback-success) 32%, transparent);
38
- background: color-mix(in srgb, var(--color-feedback-success) 9%, transparent);
39
- color: color-mix(in srgb, var(--color-feedback-success) 55%, var(--color-text-primary));
40
- }
41
-
42
- .crewlet-callout--warning {
43
- border-color: color-mix(in srgb, var(--color-feedback-warning) 32%, transparent);
44
- background: color-mix(in srgb, var(--color-feedback-warning) 9%, transparent);
45
- color: color-mix(in srgb, var(--color-feedback-warning) 60%, var(--color-text-primary));
46
- }
47
-
48
- .crewlet-callout--danger {
49
- border-color: color-mix(in srgb, var(--color-feedback-danger) 30%, transparent);
50
- background: color-mix(in srgb, var(--color-feedback-danger) 9%, transparent);
51
- color: color-mix(in srgb, var(--color-feedback-danger) 45%, var(--color-text-primary));
52
- }
@@ -1,86 +0,0 @@
1
- /*
2
- * Card, surface primitive with optional Header / Body / Footer slots.
3
- * The 12px radius is shared with PricingCard so a card grid and a plain
4
- * card read as one family on the same page.
5
- *
6
- * Variants: default sits one step above the page on the subtle surface,
7
- * subtle sits flush with the page background behind its border,
8
- * outlined is transparent with a strong border, and elevated lifts off
9
- * the page with the elevated surface and a shadow.
10
- */
11
-
12
- .crewlet-card {
13
- background-color: var(--color-surface-subtle);
14
- border: 1px solid var(--color-border-default);
15
- border-radius: 12px;
16
- color: var(--color-text-primary);
17
- display: flex;
18
- flex-direction: column;
19
- }
20
-
21
- .crewlet-card--default { background-color: var(--color-surface-subtle); }
22
- .crewlet-card--subtle { background-color: var(--color-surface-background); }
23
- .crewlet-card--outlined {
24
- background-color: transparent;
25
- border-color: var(--color-border-strong);
26
- }
27
- .crewlet-card--elevated {
28
- background-color: var(--color-surface-elevated, var(--color-surface-subtle));
29
- box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
30
- }
31
-
32
- .crewlet-card--p-sm { padding: 12px 16px; }
33
- .crewlet-card--p-md { padding: 20px 24px; }
34
- .crewlet-card--p-lg { padding: 24px 28px; }
35
-
36
- .crewlet-card.is-interactive {
37
- cursor: pointer;
38
- transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
39
- }
40
- .crewlet-card.is-interactive:hover {
41
- border-color: var(--color-border-strong);
42
- transform: translateY(-1px);
43
- box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
44
- }
45
- .crewlet-card.is-interactive:focus-visible {
46
- outline: none;
47
- box-shadow: var(--shadow-focus, 0 0 0 3px rgba(84, 105, 212, 0.32));
48
- }
49
-
50
- .crewlet-card__header {
51
- display: flex;
52
- align-items: center;
53
- justify-content: space-between;
54
- gap: 16px;
55
- margin-bottom: 16px;
56
- }
57
-
58
- .crewlet-card__body {
59
- display: flex;
60
- flex-direction: column;
61
- gap: 12px;
62
- min-height: 0;
63
- }
64
-
65
- .crewlet-card__footer {
66
- display: flex;
67
- justify-content: flex-end;
68
- gap: 8px;
69
- margin-top: 16px;
70
- padding-top: 16px;
71
- border-top: 1px solid var(--color-border-default);
72
- }
73
-
74
- .crewlet-card__title {
75
- font-size: 15px;
76
- font-weight: 600;
77
- color: var(--color-text-primary);
78
- margin: 0;
79
- }
80
-
81
- .crewlet-card__description {
82
- font-size: 13px;
83
- color: var(--color-text-secondary);
84
- margin: 0;
85
- line-height: 1.5;
86
- }
@@ -1,58 +0,0 @@
1
- /*
2
- * Checkbox, a box and its label as one target.
3
- *
4
- * The label is part of the control rather than text beside it, so the
5
- * whole thing is clickable and the description is announced with it.
6
- */
7
-
8
- .crewlet-checkbox {
9
- display: flex;
10
- align-items: flex-start;
11
- gap: 10px;
12
- }
13
-
14
- .crewlet-checkbox__control {
15
- /* Aligns the box with the first line of the label rather than the
16
- block, which drifts as soon as a description wraps. */
17
- margin: 2px 0 0;
18
- width: 16px;
19
- height: 16px;
20
- flex: 0 0 auto;
21
- accent-color: var(--color-brand-primary);
22
- cursor: pointer;
23
- }
24
-
25
- .crewlet-checkbox--danger .crewlet-checkbox__control {
26
- accent-color: var(--color-feedback-danger);
27
- }
28
-
29
- .crewlet-checkbox__text {
30
- display: flex;
31
- flex-direction: column;
32
- gap: 2px;
33
- cursor: pointer;
34
- user-select: none;
35
- }
36
-
37
- .crewlet-checkbox__label {
38
- font-size: 14px;
39
- line-height: 1.4;
40
- color: var(--color-text-primary);
41
- }
42
-
43
- .crewlet-checkbox__description {
44
- font-size: 13px;
45
- line-height: 1.45;
46
- color: var(--color-text-secondary);
47
- }
48
-
49
- .crewlet-checkbox.is-disabled .crewlet-checkbox__control,
50
- .crewlet-checkbox.is-disabled .crewlet-checkbox__text {
51
- cursor: not-allowed;
52
- opacity: 0.6;
53
- }
54
-
55
- .crewlet-checkbox__control:focus-visible {
56
- outline: 2px solid var(--color-brand-primary);
57
- outline-offset: 2px;
58
- }