@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,117 @@
1
+ /**
2
+ * What a node of an org chart and a row of an org table both say.
3
+ *
4
+ * ONE COMPONENT, BECAUSE IT WAS ALWAYS ONE THING. A chart node and a table row
5
+ * state the same four facts about the same organization: a mark for what kind
6
+ * of thing this is, its name, the word under the name saying that kind out
7
+ * loud, and the slot a push arrives in. They were written twice, under two
8
+ * class prefixes, and measured declaration by declaration the two stylesheets
9
+ * agreed on 38 of the 62 declarations they set across the six elements they
10
+ * both draw. Seventeen of the 24 that differed are one difference restated: A
11
+ * CHART NODE IS A BOX AS WIDE AS ITS OWN NAME AND A TABLE ROW IS A LINE IN A
12
+ * COLUMN. So the layout is the parameter and nothing else is. The other seven
13
+ * were the same rule written two ways, which is where both defects lived.
14
+ *
15
+ * WHAT THE LAYOUT DECIDES, and the whole of it:
16
+ * - the name and its caption are CENTRED in a node and RANGED LEFT in a row,
17
+ * because a node is read as a box and a column is read down its leading
18
+ * edge: names centred in a column are a column nobody can scan;
19
+ * - the mark's zone is a large control step in a node and a small one in a
20
+ * row, and the mark inside it takes the step that half-fills or
21
+ * three-quarter-fills whichever zone it is in;
22
+ * - the push slot keeps a FIXED room in a node, because a node is
23
+ * `width: max-content` and a slot that grew with its content would relay
24
+ * the whole chart, and is content-sized in a row, where the grid already
25
+ * decides the column;
26
+ * - the ink comes from whatever publishes it: a chart card publishes its own
27
+ * tone, and the table publishes the row's (`OrgTable.css`).
28
+ *
29
+ * THE NODE LAYOUT RENDERS NO WRAPPER, and cannot. `TreeCanvas`'s `node`
30
+ * appearance makes the element the caller spreads `ctx.item` on the flex row
31
+ * that lays the three zones out, so the zones have to be ITS children: a
32
+ * wrapper of this component's own would leave the chart laying out one box
33
+ * with everything inside it. The row layout does render one, because a table
34
+ * cell has nothing playing that part and because the row's tone has to be
35
+ * carried somewhere. That is why the base rules in `OrgLabel.css` are the
36
+ * NODE's and `--row` overrides them, rather than a neutral base and a modifier
37
+ * each: there is no element in a node layout for a modifier to sit on.
38
+ *
39
+ * TWO ALIASES KEEP THE OLD NAMES. `OrgNodeLabel` and `OrgTableName` are this
40
+ * component with the layout filled in, so no call site changed when the two
41
+ * became one.
42
+ */
43
+ import type { ReactNode } from 'react';
44
+ import type { TreeCardTone } from '../TreeCanvas/index.js';
45
+ /**
46
+ * Which of the two things this label is: a card in a chart, or a line in a
47
+ * grid of them.
48
+ */
49
+ export type OrgLabelLayout = 'node' | 'row';
50
+ /** What both layouts say, in the order they say it. */
51
+ export interface OrgLabelContent {
52
+ /** The mark in the leading zone: a glyph, a brand mark, an image. */
53
+ icon?: ReactNode | undefined;
54
+ /**
55
+ * A ring around that mark.
56
+ *
57
+ * `dashed` is the boundary something standing for somebody outside the
58
+ * system wears, the same mark a dashed card and a dashed row carry. The
59
+ * BOUNDARY says it rather than a hue, so it reads to somebody who cannot
60
+ * separate hues at all.
61
+ */
62
+ iconRing?: 'none' | 'dashed' | undefined;
63
+ /**
64
+ * How big the mark is drawn in its zone, as a proportion of the zone rather
65
+ * than as a size: `md` half-fills it, `lg` fills three quarters.
66
+ *
67
+ * `md` is what a container takes (a company, a unit, a group) and `lg` is
68
+ * for the mark that stands for the THING the chart is about, so a reader
69
+ * tells one from the other at the far end of a chart without reading either
70
+ * caption. The zone itself does not change either way, so this moves
71
+ * nothing: only what is drawn inside it.
72
+ */
73
+ iconSize?: 'md' | 'lg' | undefined;
74
+ /** The name, which takes the width the two fixed zones leave and truncates. */
75
+ name: ReactNode;
76
+ /** What kind of thing this is: "Department", "Human seat", "Crewlet agent". */
77
+ caption?: ReactNode | undefined;
78
+ /**
79
+ * Fixed-size marks riding the caption line, each one a glyph with an
80
+ * accessible name of its own. Anything that would change size belongs in
81
+ * `trailing`, which has a slot kept for it.
82
+ */
83
+ captionMarks?: ReactNode | undefined;
84
+ /**
85
+ * The slot on the name's line for what arrives from a push: a live state, a
86
+ * count.
87
+ *
88
+ * ASKING FOR IT IS WHAT RESERVES THE ROOM, in a node. The slot is a fixed
89
+ * width there, so what a push delivers cannot change the node's measured
90
+ * size; a node that can never carry one passes nothing here and is drawn
91
+ * with no slot at all, which is the console chart's own node.
92
+ */
93
+ trailing?: ReactNode | undefined;
94
+ /**
95
+ * Added to the outermost element this layout HAS: the row's own wrapper, and
96
+ * in a node the text column, which is the outermost element a layout that
97
+ * renders no wrapper can offer.
98
+ */
99
+ className?: string | undefined;
100
+ }
101
+ export interface OrgLabelNodeProps extends OrgLabelContent {
102
+ layout?: 'node' | undefined;
103
+ /**
104
+ * Refused on a node, because a node has no element to carry it. A chart card
105
+ * publishes its own tone to everything inside it (`TreeCanvas.css`), which
106
+ * is where a node's ink comes from; there is nothing here to tone.
107
+ */
108
+ tone?: never | undefined;
109
+ }
110
+ export interface OrgLabelRowProps extends OrgLabelContent {
111
+ layout: 'row';
112
+ /** The row's hue, which its mark and its name are drawn in. */
113
+ tone?: TreeCardTone | undefined;
114
+ }
115
+ export type OrgLabelProps = OrgLabelNodeProps | OrgLabelRowProps;
116
+ /** The mark, the name and the caption of an org chart node or an org table row. */
117
+ export declare function OrgLabel(props: OrgLabelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './OrgLabel.css';
2
+ export { OrgLabel } from './OrgLabel.js';
3
+ export type { OrgLabelContent, OrgLabelLayout, OrgLabelProps, OrgLabelNodeProps, OrgLabelRowProps, } from './OrgLabel.js';
@@ -0,0 +1,2 @@
1
+ export { OrgLabel } from '../chunk-5C5YMZQU.js';
2
+ import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,293 @@
1
+ /*
2
+ * What a node of an org chart and a row of an org table both say
3
+ * (OrgLabel.tsx).
4
+ *
5
+ * THE BASE RULES ARE THE NODE'S, AND `--row` OVERRIDES THEM. Not a neutral
6
+ * base with a modifier each, which is the shape this would take anywhere else:
7
+ * a node layout renders no wrapper at all (the chart lays out the zones
8
+ * itself, so they have to be its own children), so there is no element in a
9
+ * node for a modifier class to sit on. The node is therefore what a rule with
10
+ * no modifier draws, and every `--row` rule below is one of the seventeen
11
+ * declarations the two surfaces genuinely disagreed about.
12
+ *
13
+ * NOTHING HERE CHOOSES A COLOUR FOR A ROW. A node's ink is the chart card's
14
+ * own tone, published to everything inside the card, and read here with the
15
+ * chart's neutral ink as the fallback. A row's is the table's, which is a
16
+ * system of six hues this file knows nothing about: `OrgTable.css` points the
17
+ * row's mark and name at it, beside the rules that produce it.
18
+ *
19
+ * Every measurement is a proportion of the console org chart this package is
20
+ * drawn to match, taken up by the ratio between its 10px name and the smallest
21
+ * name step in this type scale, and then snapped to the token nearest the
22
+ * result.
23
+ */
24
+
25
+ /* ---- The mark's zone ----------------------------------------------------- */
26
+
27
+ /*
28
+ * A FIXED ZONE, so the name beside it starts in the same place on every node
29
+ * and every row. `align-self: stretch` is the node's: the zone is as tall as
30
+ * the card's first rank, which is what centres a mark against a name that has
31
+ * a caption under it.
32
+ */
33
+ .crewlet-org-label__icon {
34
+ display: inline-flex;
35
+ flex: none;
36
+ align-items: center;
37
+ justify-content: center;
38
+ width: var(--size-control-lg);
39
+ align-self: stretch;
40
+ font-size: var(--font-size-xl);
41
+ line-height: 1;
42
+ color: var(--crewlet-tree-canvas-card-accent, var(--color-text-tertiary));
43
+ }
44
+
45
+ /*
46
+ * A MARK THE SIZE OF WHAT IT STANDS FOR. The console chart draws a company and
47
+ * a unit at half its icon zone and an AGENT at three quarters of it, which is
48
+ * what lets a reader tell an agent seat from a unit at the far end of a chart
49
+ * without reading either caption. Drawn at one step for all three, the hue and
50
+ * the caption were carrying that difference alone. The zone does not change,
51
+ * so nothing here moves a node: only what is drawn in it.
52
+ */
53
+ .crewlet-org-label__icon--lg {
54
+ font-size: var(--font-size-3xl);
55
+ }
56
+
57
+ /*
58
+ * THE ZONE IS ONE INK, and the mark in it takes that ink whatever it arrived
59
+ * painted in. A glyph already inherits, but a brand mark or an illustration
60
+ * carries its own fill, and on a toned node that is the one mark on the whole
61
+ * node still drawn in somebody else's colour: a rose node with a purple figure
62
+ * in its corner. Stated as the zone's own rule rather than asked of each
63
+ * caller, because the zone is what decides that a node is drawn in one colour.
64
+ */
65
+ .crewlet-org-label__icon svg,
66
+ .crewlet-org-label__icon svg g,
67
+ .crewlet-org-label__icon svg path {
68
+ /* THE INK AS WELL AS THE FILL, which is what made the rule above true. A
69
+ mark may publish its own hue as a `color` on its own root (the Crewlet
70
+ figure does, from the brand token), and `currentcolor` under that root
71
+ then resolves to THAT: the fill was overridden and landed on exactly the
72
+ purple it started from, on every agent seat of a toned chart. The table
73
+ had the fill alone and therefore the same defect; one rule now answers for
74
+ both surfaces. */
75
+ color: inherit;
76
+ fill: currentColor;
77
+ }
78
+
79
+ /*
80
+ * THE DASHED RING is the boundary something standing for somebody outside the
81
+ * system wears, around the mark rather than instead of it: the card's own edge
82
+ * and the row's own mark carry the same dash, and the two together are what a
83
+ * reader recognises without reading a word.
84
+ */
85
+ .crewlet-org-label__icon--dashed {
86
+ position: relative;
87
+ }
88
+
89
+ .crewlet-org-label__icon--dashed::before {
90
+ content: '';
91
+ position: absolute;
92
+ width: var(--size-target-min);
93
+ height: var(--size-target-min);
94
+ border: 1px dashed var(--color-border-hover);
95
+ border-radius: var(--radius-circle);
96
+ }
97
+
98
+ /* ---- The name and its caption -------------------------------------------- */
99
+
100
+ /*
101
+ * CENTRED IN WHAT THE TWO FIXED ZONES LEAVE. Centred rather than ranged left
102
+ * because the zones are fixed: a name ranged left starts under the mark's
103
+ * right edge and a short one leaves the node looking like a label with an
104
+ * empty half. A ROW ranges left instead, below.
105
+ */
106
+ .crewlet-org-label__text {
107
+ display: flex;
108
+ flex: 1;
109
+ flex-direction: column;
110
+ align-items: center;
111
+ justify-content: center;
112
+ min-width: 0;
113
+ text-align: center;
114
+ }
115
+
116
+ /*
117
+ * ONE LINE, ALWAYS. A name that wrapped would make the node a rank taller,
118
+ * which is a new layout for the whole chart, and would make one row of the
119
+ * table two ranks and push its rhythm off. The name truncates instead.
120
+ */
121
+ .crewlet-org-label__name {
122
+ max-width: 100%;
123
+ overflow: hidden;
124
+ font-size: var(--font-size-compact);
125
+ font-weight: var(--font-weight-medium);
126
+ line-height: var(--font-line-height-tight);
127
+ color: var(--crewlet-tree-canvas-card-ink, var(--color-text-primary));
128
+ text-overflow: ellipsis;
129
+ white-space: nowrap;
130
+ }
131
+
132
+ /*
133
+ * THE CAPTION RECEDES BEHIND THE NAME, and on a toned node or a toned row it
134
+ * recedes in the neutral ink rather than in the hue.
135
+ *
136
+ * TWO REASONS, and either one is enough. It is a WORD, so it is read rather
137
+ * than made out, and the hue's own step measures 4.2:1 on both these grounds:
138
+ * over the floor for a drawing and under it for text. And the one word that
139
+ * names what a thing IS was drawn in two colours across the two surfaces of
140
+ * one page. The smallest step in this scale is 11px against the console
141
+ * chart's 7 on a 10px name, so the caption cannot recede by size here; it
142
+ * recedes by ink.
143
+ */
144
+ .crewlet-org-label__caption {
145
+ display: flex;
146
+ max-width: 100%;
147
+ align-items: center;
148
+ justify-content: center;
149
+ gap: var(--spacing-1);
150
+ min-width: 0;
151
+ font-size: var(--font-size-2xs);
152
+ line-height: var(--font-line-height-tight);
153
+ color: var(--color-text-tertiary);
154
+ }
155
+
156
+ .crewlet-org-label__kind {
157
+ overflow: hidden;
158
+ text-overflow: ellipsis;
159
+ white-space: nowrap;
160
+ }
161
+
162
+ /*
163
+ * THE WIRING MARKS ride the caption as glyphs. Each is named for a reader who
164
+ * cannot see it and titled for one who can, and each keeps its size, so the
165
+ * node is the same height with three of them as with none.
166
+ *
167
+ * EVERY CHILD BUT THE WORD, which is the form the table arrived at and the
168
+ * chart did not: a mark arrives as a bare glyph or as a glyph inside a span
169
+ * that names it, and a rule reaching only the bare one let a named mark shrink
170
+ * with the strip around it. The word is the one child that may shrink, because
171
+ * it is the one that truncates.
172
+ */
173
+ .crewlet-org-label__caption > * {
174
+ flex: none;
175
+ }
176
+
177
+ .crewlet-org-label__caption svg {
178
+ font-size: var(--font-size-xs);
179
+ }
180
+
181
+ .crewlet-org-label__caption > .crewlet-org-label__kind {
182
+ flex: 0 1 auto;
183
+ min-width: 0;
184
+ }
185
+
186
+ /* ---- The slot a push arrives in ------------------------------------------ */
187
+
188
+ /*
189
+ * IT HOLDS ITS ROOM EMPTY, so a live state that changes twice a tool-loop
190
+ * round and a count that leaves while a check is out and comes back with its
191
+ * answer both change a word and never a measured size.
192
+ *
193
+ * A FIXED WIDTH, NOT A FLOOR. A `min-width` of one spacing step was not that
194
+ * promise: a node is `width: max-content`, so a badge arriving made the card
195
+ * 35px wider and relaid the chart, and a state that changed only its word
196
+ * ("idle" to "working") moved the node too. The slot is the same width whether
197
+ * it holds two marks, one or none, and anything wider is clipped inside it
198
+ * rather than pushing the card out. The room is one CONTROL STEP, which two
199
+ * fixed marks and the gap between them fit in (a state's dot and a count), and
200
+ * the slot is that plus its own separation either side.
201
+ *
202
+ * AND IT IS SEPARATED FROM THE NAME. The row this sits in has no gap (the
203
+ * zones either side of the name are fixed and the name is centred between
204
+ * them), so without this the name's box ended exactly where the badge's began.
205
+ */
206
+ .crewlet-org-label__trailing {
207
+ display: inline-flex;
208
+ flex: none;
209
+ align-items: center;
210
+ justify-content: flex-end;
211
+ gap: var(--spacing-1);
212
+ width: calc(var(--size-control-lg) + var(--spacing-2) + var(--spacing-1));
213
+ overflow: hidden;
214
+ padding-right: var(--spacing-1);
215
+ padding-left: var(--spacing-2);
216
+ white-space: nowrap;
217
+ }
218
+
219
+ /* ---- The row layout ------------------------------------------------------ */
220
+
221
+ /*
222
+ * A ROW IS A LINE IN A COLUMN, and every rule from here down is one of the
223
+ * seventeen declarations that follow from that.
224
+ *
225
+ * IT FILLS THE CELL IT IS IN. At `0 1 auto` the group was as wide as its own
226
+ * name, so the text column had nothing to grow into and the slot sat wherever
227
+ * that name ended: two seats' live states never lined up, and the name never
228
+ * truncated because it never ran out of room.
229
+ */
230
+ .crewlet-org-label--row {
231
+ display: flex;
232
+ flex: 1 1 auto;
233
+ align-items: center;
234
+ gap: var(--spacing-2);
235
+ min-width: 0;
236
+ }
237
+
238
+ /*
239
+ * HALF THE NODE'S ZONE, and the mark inside it half-fills or three-quarter-
240
+ * fills that, which is the same proportion the chart draws at its own size.
241
+ * `align-self` goes back to the wrapper's own centring: a row is one rank, so
242
+ * there is no second line for a stretched zone to centre a mark against.
243
+ */
244
+ .crewlet-org-label--row .crewlet-org-label__icon {
245
+ width: var(--size-control-sm);
246
+ align-self: auto;
247
+ font-size: var(--font-size-md);
248
+ }
249
+
250
+ .crewlet-org-label--row .crewlet-org-label__icon--lg {
251
+ font-size: var(--font-size-xl);
252
+ }
253
+
254
+ /*
255
+ * RANGED LEFT, where a node centres. They say the same things about the same
256
+ * thing, but a chart node is a box as wide as its own name, where a column of
257
+ * rows is read down its leading edge: names centred in a column are a column
258
+ * nobody can scan.
259
+ */
260
+ .crewlet-org-label--row .crewlet-org-label__text {
261
+ align-items: stretch;
262
+ justify-content: flex-start;
263
+ text-align: start;
264
+ }
265
+
266
+ .crewlet-org-label--row .crewlet-org-label__caption {
267
+ max-width: none;
268
+ justify-content: flex-start;
269
+ }
270
+
271
+ /*
272
+ * AND THE NAME IS BOUNDED BY THE CELL RATHER THAN BY ITSELF. A node is as wide
273
+ * as its own name up to the chart's ceiling, so the name is capped at the
274
+ * width it was given; a row's column is already a fixed width, and a cap of
275
+ * its own would stop the name using the room the grid handed it.
276
+ */
277
+ .crewlet-org-label--row .crewlet-org-label__name {
278
+ max-width: none;
279
+ }
280
+
281
+ /*
282
+ * THE SLOT IS CONTENT-SIZED IN A ROW. The fixed room above exists because a
283
+ * node is measured and relaid whenever its size changes; a row sits in a grid
284
+ * that has already decided the column, so a slot holding its own width there
285
+ * would be a second, smaller column inside the first.
286
+ */
287
+ .crewlet-org-label--row .crewlet-org-label__trailing {
288
+ justify-content: flex-start;
289
+ width: auto;
290
+ overflow: visible;
291
+ padding-right: 0;
292
+ padding-left: 0;
293
+ }
@@ -0,0 +1,103 @@
1
+ /**
2
+ * What an org chart node carries, beyond what it says.
3
+ *
4
+ * THE CHART DRAWS THE NODE, THIS DRAWS WHAT HANGS OFF IT. `TreeCanvas` owns
5
+ * the node's frame, its zones, the tone it may be tinted with, the actions
6
+ * column and the control under it. What a node SAYS, which is the part a table
7
+ * row says in the same words, is `OrgLabel`: the mark, the name, the caption
8
+ * under it and the slot a push arrives in were written once for each surface
9
+ * and are written once for both now, with `OrgNodeLabel` below the name a
10
+ * chart caller keeps using.
11
+ *
12
+ * WHAT IS LEFT HERE IS WHAT ONLY A NODE HAS. A row of a table has no disclosure
13
+ * on its leading edge, because a grid indents instead, and no strip along its
14
+ * bottom edge stating who leads the unit, because a column already says that
15
+ * on its own. Both are drawn as SIBLINGS of what the chart spreads `ctx.item`
16
+ * on rather than inside it, which is why each is a component rather than a
17
+ * slot: a tree's items hold nothing focusable.
18
+ */
19
+ import type { HTMLAttributes, ReactNode } from 'react';
20
+ import { type OrgLabelContent } from '../OrgLabel/index.js';
21
+ /**
22
+ * What a node says, which is what a ROW of the table beside it says too:
23
+ * `OrgLabel`, with the layout filled in.
24
+ *
25
+ * KEPT AS A NAME OF ITS OWN because a chart node is what a caller of this
26
+ * folder is drawing, and `OrgLabel layout="node"` at every call site would be
27
+ * the parameter repeated rather than a component named after its job. It adds
28
+ * nothing and takes nothing away: the props are the shared ones exactly.
29
+ */
30
+ export type OrgNodeLabelProps = OrgLabelContent;
31
+ /** The icon, name and caption of an org chart node. */
32
+ export declare function OrgNodeLabel(props: OrgNodeLabelProps): import("react/jsx-runtime").JSX.Element;
33
+ export interface OrgNodeDisclosureProps extends HTMLAttributes<HTMLDivElement> {
34
+ /** The control itself, named and carrying `tabIndex={-1}`. */
35
+ children: ReactNode;
36
+ }
37
+ /**
38
+ * The control that opens and closes what hangs under a node, on its LEADING
39
+ * EDGE.
40
+ *
41
+ * NOT ON THE BRANCH, which is the one place it must never be. What hangs under
42
+ * a node is the control that ADDS a child, on the node's own axis, and it is
43
+ * the only thing there: a second control beside it is two controls fighting
44
+ * for one place, and an add pill that splits open covers whatever was next to
45
+ * it. So a chart that can collapse puts the disclosure where every hierarchy a
46
+ * reader has used puts one, at the start of the row, and the branch keeps the
47
+ * add alone.
48
+ *
49
+ * BESIDE THE TREEITEM, NOT INSIDE IT, which is why this is a component of its
50
+ * own rather than a slot on the label. A tree's items hold nothing focusable:
51
+ * a control inside one is a control the tree pattern cannot navigate to and a
52
+ * screen reader reading element by element meets as a stray button. Drawn as
53
+ * part of the label it was inside the element the chart spreads `ctx.item` on,
54
+ * however it was marked. Render it as a SIBLING of that element, exactly where
55
+ * `ctx.actions` goes, and the chart's node appearance places it on the card's
56
+ * boundary from there; it hides itself, as that strip does.
57
+ *
58
+ * IT COSTS A READER NOTHING. Expansion is on the treeitem ITSELF, as
59
+ * `aria-expanded` and the Right and Left arrows, so what is hidden here is a
60
+ * DUPLICATE of something already reachable rather than a way in. Name the
61
+ * control anyway: "Collapse Engineering" is the tooltip a pointer gets.
62
+ *
63
+ * AND A PRESS IN IT BELONGS TO THE NODE. Every other control a chart draws
64
+ * hands its press to the treeitem, so that what holds focus afterwards is
65
+ * always a node a screen reader can announce and the arrows can move from; a
66
+ * disclosure that kept the focus on itself would leave it on an element the
67
+ * tree cannot navigate to and no reader can hear. This takes the chart's own
68
+ * press props and spreads them, which is exactly how the strip under a card
69
+ * takes them: the component owns what cannot be forgotten (the class, the
70
+ * hiding) and the caller passes the one thing only the chart knows, which id
71
+ * this is.
72
+ */
73
+ export declare function OrgNodeDisclosure({ children, className, ...rest }: OrgNodeDisclosureProps): import("react/jsx-runtime").JSX.Element;
74
+ export interface OrgNodeLeadProps {
75
+ /**
76
+ * Nothing is set, so the pill is drawn as the outline of one: a unit with no
77
+ * lead is a fact about the organization and a blank strip says nothing.
78
+ */
79
+ empty?: boolean | undefined;
80
+ /**
81
+ * The clear control, drawn inside the pill's right end.
82
+ *
83
+ * ONE PRESS to say this unit has no lead, which is what the console chart's
84
+ * own X does. It is quiet until the node is reached, like every other
85
+ * control on a node, and it is reached by FOCUS as well as by the pointer:
86
+ * the chart's own reveal rule covers it (`TreeCanvas.css`). Pass a named
87
+ * control, never a bare glyph: "Clear the lead of Engineering" is what a
88
+ * reader who cannot see which node this is hears.
89
+ */
90
+ clear?: ReactNode | undefined;
91
+ children: ReactNode;
92
+ className?: string | undefined;
93
+ }
94
+ /**
95
+ * A unit's lead, along the bottom edge of its node.
96
+ *
97
+ * IT STAYS DRAWN, where the controls that edit the node do not: who leads a
98
+ * unit is a FACT ABOUT THE ORGANIZATION rather than a tool for changing it,
99
+ * and a chart that hid it until the pointer arrived would be a chart you could
100
+ * not read the leads off. Separated from the name above by a hairline, so the
101
+ * node reads as a thing with a lead rather than as two lines of text.
102
+ */
103
+ export declare function OrgNodeLead({ empty, clear, children, className }: OrgNodeLeadProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import './OrgNode.css';
2
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './OrgNode.js';
3
+ export type { OrgNodeDisclosureProps, OrgNodeLabelProps, OrgNodeLeadProps, } from './OrgNode.js';
@@ -0,0 +1,3 @@
1
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-IAJLHVUA.js';
2
+ import '../chunk-5C5YMZQU.js';
3
+ import '../chunk-ODEQTPFM.js';