@crewlethq/ui 0.41.1 → 0.43.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 (136) hide show
  1. package/README.md +22 -2
  2. package/dist/AgentHandoffPanel/index.js +5 -5
  3. package/dist/AppShell/index.js +3 -3
  4. package/dist/{AppShell-3R4ZU4ND.css → AppShell-TSACKAU7.css} +28 -10
  5. package/dist/ArrangeFrame/index.js +2 -2
  6. package/dist/ArrangeList/index.js +5 -5
  7. package/dist/ArtifactBar/index.js +5 -5
  8. package/dist/ArtifactPanel/index.js +2 -2
  9. package/dist/AvatarPicker/index.js +8 -8
  10. package/dist/Canvas/index.js +2 -2
  11. package/dist/CanvasBoard/index.js +4 -4
  12. package/dist/CanvasToolbar/index.js +3 -3
  13. package/dist/CharacterPicker/index.js +2 -2
  14. package/dist/Checkbox/index.js +3 -3
  15. package/dist/CodeBlock/index.js +3 -3
  16. package/dist/Combobox/index.js +3 -3
  17. package/dist/CommandPalette/index.js +4 -4
  18. package/dist/CommentThread/index.js +4 -4
  19. package/dist/Composer/index.js +3 -3
  20. package/dist/ConfirmField/index.js +3 -3
  21. package/dist/Copyable/index.js +2 -2
  22. package/dist/DataTable/index.js +6 -6
  23. package/dist/DataView/index.js +9 -9
  24. package/dist/DatasetSource/index.js +1 -1
  25. package/dist/DateTimePicker/index.js +3 -3
  26. package/dist/DirectoryList/DirectoryList.d.ts +55 -0
  27. package/dist/DirectoryList/index.d.ts +3 -0
  28. package/dist/DirectoryList/index.js +3 -0
  29. package/dist/DirectoryList-EESYMH2U.css +126 -0
  30. package/dist/DocTabsEditor/index.js +5 -5
  31. package/dist/{Editor-IRDQ3JDZ.js → Editor-AMO2B54T.js} +4 -4
  32. package/dist/HuePicker/index.js +5 -5
  33. package/dist/IconButton/IconButton.d.ts +25 -1
  34. package/dist/IconButton/index.d.ts +2 -2
  35. package/dist/IconButton/index.js +1 -1
  36. package/dist/{IconButton-VYWP6SGW.css → IconButton-K24JQHLF.css} +21 -0
  37. package/dist/Input/index.js +2 -2
  38. package/dist/LinkInterstitial/index.js +3 -3
  39. package/dist/ListDetail/ListDetail.d.ts +27 -0
  40. package/dist/ListDetail/index.d.ts +3 -0
  41. package/dist/ListDetail/index.js +2 -0
  42. package/dist/ListDetail-ALKU5VJW.css +53 -0
  43. package/dist/ListInput/index.js +4 -4
  44. package/dist/MarkdownEditor/index.js +5 -5
  45. package/dist/Menu/index.js +2 -2
  46. package/dist/MergeConflicts/index.js +5 -5
  47. package/dist/Modal/index.js +2 -2
  48. package/dist/ObjectHeader/ObjectHeader.d.ts +7 -1
  49. package/dist/ObjectHeader/index.js +1 -1
  50. package/dist/{ObjectHeader-ZOS22FKX.css → ObjectHeader-DNQWRGUK.css} +50 -0
  51. package/dist/OrgTable/index.js +3 -3
  52. package/dist/PeopleRail/index.js +2 -2
  53. package/dist/PinTile/index.js +2 -2
  54. package/dist/PresenterView/index.js +3 -3
  55. package/dist/PrincipalPicker/index.js +4 -4
  56. package/dist/PropertyList/index.js +2 -2
  57. package/dist/RichEditor/index.js +1 -1
  58. package/dist/SegmentedControl/index.js +4 -4
  59. package/dist/ShareDialog/index.js +4 -4
  60. package/dist/SheetColumnEditor/index.js +8 -8
  61. package/dist/SheetGrid/index.js +7 -7
  62. package/dist/SlideFilmstrip/index.js +4 -4
  63. package/dist/SlideNav/index.js +2 -2
  64. package/dist/Switcher/index.js +6 -6
  65. package/dist/TableCells/index.js +1 -1
  66. package/dist/Tabs/index.js +3 -3
  67. package/dist/TagsInput/index.js +3 -3
  68. package/dist/ThemeSwitcher/index.js +5 -5
  69. package/dist/ThemeToggle/index.js +2 -2
  70. package/dist/TimeWindowPicker/index.js +4 -4
  71. package/dist/TreeCanvas/index.js +3 -3
  72. package/dist/TreeGrid/index.js +2 -2
  73. package/dist/VersionCompare/index.js +5 -5
  74. package/dist/{chunk-GPWJCP3U.js → chunk-3RCHEFIL.js} +1 -1
  75. package/dist/{chunk-5BUOMF6N.js → chunk-3YTNYF2E.js} +1 -1
  76. package/dist/{chunk-D2OL3ZSS.js → chunk-4DIKLY53.js} +1 -1
  77. package/dist/{chunk-UVBHK6IU.js → chunk-524GGA67.js} +4 -4
  78. package/dist/{chunk-NURXCBCW.js → chunk-5AHDGYKN.js} +3 -3
  79. package/dist/{chunk-C7OKDYBH.js → chunk-626CB5X6.js} +3 -3
  80. package/dist/{chunk-XGBUUQDU.js → chunk-6MAQ2SVP.js} +2 -2
  81. package/dist/{chunk-ISA2O2BK.js → chunk-7CXGSS7D.js} +1 -1
  82. package/dist/{chunk-W46LPU4R.js → chunk-7SHAFLEX.js} +1 -1
  83. package/dist/{chunk-B5UHX5UC.js → chunk-7WNJLNFD.js} +2 -2
  84. package/dist/{chunk-SEC2GR2V.js → chunk-A4GFEMVI.js} +1 -1
  85. package/dist/{chunk-MMPKN7WV.js → chunk-AGNZIT3Z.js} +2 -2
  86. package/dist/{chunk-4OK4DX3V.js → chunk-BF5WV7NM.js} +1 -1
  87. package/dist/{chunk-3TXY3PJZ.js → chunk-BO7Q6JP6.js} +2 -2
  88. package/dist/{chunk-KNHUBHFX.js → chunk-BVFMLSE3.js} +3 -3
  89. package/dist/{chunk-EX22Q5SH.js → chunk-DL5ERIFF.js} +3 -3
  90. package/dist/{chunk-UXYEOWG5.js → chunk-E6HXFFWO.js} +1 -1
  91. package/dist/{chunk-2PEXZ7L4.js → chunk-ENHLVF6Q.js} +1 -1
  92. package/dist/{chunk-AXS6MBNH.js → chunk-EY7LACIR.js} +1 -1
  93. package/dist/{chunk-PEUGPAKH.js → chunk-FG243QHY.js} +1 -1
  94. package/dist/{chunk-GFYQKMQZ.js → chunk-FV6H7H5I.js} +5 -5
  95. package/dist/{chunk-IAGYPTEJ.js → chunk-FYINAYAJ.js} +1 -1
  96. package/dist/{chunk-FXBGEANQ.js → chunk-GI3S6RMM.js} +4 -4
  97. package/dist/{chunk-ZMWXE4GT.js → chunk-GPIRKHGS.js} +2 -2
  98. package/dist/{chunk-ODOJJGXH.js → chunk-HFQBMEEH.js} +18 -2
  99. package/dist/{chunk-JSWOXRRE.js → chunk-IUQQGIHL.js} +1 -1
  100. package/dist/{chunk-BH52LIY6.js → chunk-IVAR7NRW.js} +2 -2
  101. package/dist/{chunk-PFZOFAQ6.js → chunk-JF3TJUBU.js} +1 -1
  102. package/dist/{chunk-T6MXORP5.js → chunk-JGCDFMXN.js} +1 -1
  103. package/dist/{chunk-X4IXXLWM.js → chunk-KA75QPFM.js} +1 -1
  104. package/dist/{chunk-4FQT6ZAY.js → chunk-LACA4JGC.js} +23 -2
  105. package/dist/{chunk-WMXAX6VA.js → chunk-LKBZV5IT.js} +1 -1
  106. package/dist/{chunk-KWWP3D7M.js → chunk-LSRQJDGR.js} +1 -1
  107. package/dist/{chunk-FBW3Q2OY.js → chunk-MCOC3KQA.js} +1 -1
  108. package/dist/{chunk-EAEJ7CDM.js → chunk-MVGCZ655.js} +1 -1
  109. package/dist/{chunk-Y5BD4MTE.js → chunk-NBDN5JZV.js} +1 -1
  110. package/dist/{chunk-H6CEFQTR.js → chunk-NCM73C34.js} +5 -5
  111. package/dist/{chunk-6MIXD6IW.js → chunk-OJCVVCAZ.js} +1 -1
  112. package/dist/{chunk-3KYVFG47.js → chunk-ON2E46DX.js} +1 -1
  113. package/dist/{chunk-3PR65I3H.js → chunk-OVHJTOKW.js} +4 -4
  114. package/dist/{chunk-D6FEHY5G.js → chunk-PCI7ZJ6Z.js} +1 -1
  115. package/dist/{chunk-A44YHLCQ.js → chunk-PLLYOPS4.js} +2 -2
  116. package/dist/{chunk-NP2C4Y4E.js → chunk-PM3JVNRY.js} +1 -1
  117. package/dist/{chunk-BA32AVKS.js → chunk-QOP7QYUW.js} +1 -1
  118. package/dist/chunk-R5RCGD7N.js +12 -0
  119. package/dist/{chunk-6VOS2GMB.js → chunk-RRO7UEYU.js} +1 -1
  120. package/dist/chunk-SJ6DMG4R.js +39 -0
  121. package/dist/{chunk-DAERKOOG.js → chunk-TVV7XSO5.js} +1 -1
  122. package/dist/{chunk-N3TFYBN3.js → chunk-UAGDFEBG.js} +1 -1
  123. package/dist/{chunk-RFFXB3PR.js → chunk-UFXLNC2N.js} +2 -2
  124. package/dist/{chunk-2VOHUGUA.js → chunk-UO5VJHWP.js} +3 -3
  125. package/dist/{chunk-SYBYFQTY.js → chunk-W53CWWX3.js} +3 -3
  126. package/dist/{chunk-HQAGGQWJ.js → chunk-X6IJ7DAX.js} +3 -3
  127. package/dist/{chunk-CFGGE3HO.js → chunk-XP7EXNKF.js} +2 -2
  128. package/dist/{chunk-WYYCPV46.js → chunk-Z5WMCBHR.js} +3 -3
  129. package/dist/{chunk-TYONQSOK.js → chunk-ZI5G5RS7.js} +1 -1
  130. package/dist/generated/index.d.ts +2 -0
  131. package/dist/generated/index.js +93 -91
  132. package/dist/index.js +93 -91
  133. package/dist/styles.css +287 -13
  134. package/package.json +3 -3
  135. package/dist/{chunk-S3QTFUJX.js → chunk-VXCT6L3F.js} +0 -0
  136. package/dist/{chunk-SNQRGH4A.js → chunk-VZICPYGR.js} +1 -1
@@ -1,6 +1,6 @@
1
1
  import { Link } from './chunk-FBSEJO2C.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './ObjectHeader-ZOS22FKX.css';
3
+ import './ObjectHeader-DNQWRGUK.css';
4
4
  import { ArrowUpRightGlyph } from '@crewlethq/icons/glyphs';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6
 
@@ -62,6 +62,7 @@ function FactLine({ facts, className }) {
62
62
  function ObjectHeader({
63
63
  kind,
64
64
  icon,
65
+ mark,
65
66
  identifier,
66
67
  within,
67
68
  title,
@@ -72,7 +73,7 @@ function ObjectHeader({
72
73
  size = "page",
73
74
  className
74
75
  }) {
75
- return /* @__PURE__ */ jsxs("header", { className: cx("crewlet-object-header", `crewlet-object-header--${size}`, className), children: [
76
+ const body = /* @__PURE__ */ jsxs(Fragment, { children: [
76
77
  /* @__PURE__ */ jsxs("div", { className: "crewlet-object-header__eyebrow", children: [
77
78
  icon ? /* @__PURE__ */ jsx("span", { className: "crewlet-object-header__icon", "aria-hidden": "true", children: icon }) : null,
78
79
  /* @__PURE__ */ jsx("span", { children: kind }),
@@ -87,6 +88,21 @@ function ObjectHeader({
87
88
  description ? /* @__PURE__ */ jsx("p", { className: "crewlet-object-header__description", children: description }) : null,
88
89
  facts ? /* @__PURE__ */ jsx(FactLine, { facts }) : null
89
90
  ] });
91
+ return /* @__PURE__ */ jsx(
92
+ "header",
93
+ {
94
+ className: cx(
95
+ "crewlet-object-header",
96
+ `crewlet-object-header--${size}`,
97
+ mark ? "crewlet-object-header--marked" : null,
98
+ className
99
+ ),
100
+ children: mark ? /* @__PURE__ */ jsxs(Fragment, { children: [
101
+ /* @__PURE__ */ jsx("span", { className: "crewlet-object-header__mark", "aria-hidden": "true", children: mark }),
102
+ /* @__PURE__ */ jsx("div", { className: "crewlet-object-header__body", children: body })
103
+ ] }) : body
104
+ }
105
+ );
90
106
  }
91
107
 
92
108
  export { FactLine, ObjectHeader, SetByLine };
@@ -1,5 +1,5 @@
1
1
  import { diffLines, diffStat, collapseDiff, DiffSummary, DiffView } from './chunk-BVWSLXTY.js';
2
- import { SegmentedControl } from './chunk-4OK4DX3V.js';
2
+ import { SegmentedControl } from './chunk-BF5WV7NM.js';
3
3
  import { EmptyState } from './chunk-RA2ULG6H.js';
4
4
  import { useHeadingLevel, headingTag, nextHeadingLevel, HeadingLevelProvider } from './chunk-PQADV6P6.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,9 +1,9 @@
1
1
  import { Tag } from './chunk-KYIAFNU7.js';
2
2
  import { useListbox } from './chunk-7KHM2FZH.js';
3
- import { announce } from './chunk-RSAQOKH3.js';
4
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
- import { IconButton } from './chunk-4FQT6ZAY.js';
4
+ import { IconButton } from './chunk-LACA4JGC.js';
6
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
+ import { announce } from './chunk-RSAQOKH3.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
8
8
  import './TagsInput-CLFHP6I2.css';
9
9
  import { forwardRef, useState, useRef, useId, useImperativeHandle, useEffect, useMemo, useLayoutEffect } from 'react';
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
9
9
  var engine = null;
10
10
  var loading = null;
11
11
  function loadEngine() {
12
- loading ??= import('./Editor-IRDQ3JDZ.js').then(
12
+ loading ??= import('./Editor-AMO2B54T.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -1,4 +1,4 @@
1
- import { SetByLine } from './chunk-ODOJJGXH.js';
1
+ import { SetByLine } from './chunk-HFQBMEEH.js';
2
2
  import { Link } from './chunk-FBSEJO2C.js';
3
3
  import { DescriptionList, DescriptionListItem } from './chunk-MFS6F2P7.js';
4
4
  import { EmptyValue } from './chunk-EUCC37WY.js';
@@ -1,7 +1,7 @@
1
1
  import { StatusDot } from './chunk-WIATRXEJ.js';
2
2
  import { useRoving, tabStop } from './chunk-EGMQURBR.js';
3
3
  import { Count } from './chunk-BHHIIK3M.js';
4
- import { Menu } from './chunk-D6FEHY5G.js';
4
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
5
5
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
6
6
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,6 +1,6 @@
1
1
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './IconButton-VYWP6SGW.css';
3
+ import './IconButton-K24JQHLF.css';
4
4
  import { forwardRef, useId, Children, isValidElement, cloneElement } from 'react';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6
 
@@ -64,5 +64,26 @@ var IconButton = forwardRef(function IconButton2({
64
64
  inert ? /* @__PURE__ */ jsx(VisuallyHidden, { id: reasonId, children: disabledReason }) : null
65
65
  ] });
66
66
  });
67
+ var IconButtonLink = forwardRef(function IconButtonLink2({ label, href, icon, size = "md", variant = "ghost", current = false, className, title, ...rest }, ref) {
68
+ return /* @__PURE__ */ jsx(
69
+ "a",
70
+ {
71
+ ...rest,
72
+ ref,
73
+ href,
74
+ className: cx(
75
+ "crewlet-icon-btn",
76
+ `crewlet-icon-btn--${size}`,
77
+ `crewlet-icon-btn--${variant}`,
78
+ current && "crewlet-icon-btn--current",
79
+ className
80
+ ),
81
+ title: title ?? label,
82
+ "aria-label": label,
83
+ "aria-current": current ? "page" : void 0,
84
+ children: icon
85
+ }
86
+ );
87
+ });
67
88
 
68
- export { IconButton };
89
+ export { IconButton, IconButtonLink };
@@ -1,5 +1,5 @@
1
+ import { IconButton } from './chunk-LACA4JGC.js';
1
2
  import { announce } from './chunk-RSAQOKH3.js';
2
- import { IconButton } from './chunk-4FQT6ZAY.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './ArrangeFrame-QXOQTFAH.css';
5
5
  import { forwardRef, useRef, useCallback, useState, useEffect } from 'react';
@@ -1,5 +1,5 @@
1
1
  import { useThemePreference, useDensityPreference } from './chunk-Z24ZUSTX.js';
2
- import { SegmentedControl } from './chunk-4OK4DX3V.js';
2
+ import { SegmentedControl } from './chunk-BF5WV7NM.js';
3
3
  import { SunGlyph, MonitorGlyph, MoonGlyph } from '@crewlethq/icons/glyphs';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { SlideStage } from './chunk-RMEBFYL7.js';
2
2
  import { useReorder } from './chunk-XJ2QEBMM.js';
3
3
  import { Kbd, isApplePlatform } from './chunk-SMBKXWML.js';
4
- import { Menu } from './chunk-D6FEHY5G.js';
4
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
5
5
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './SlideFilmstrip-PAT7P4OG.css';
@@ -1,5 +1,5 @@
1
1
  import { useListbox } from './chunk-7KHM2FZH.js';
2
- import { Input } from './chunk-TYONQSOK.js';
2
+ import { Input } from './chunk-ZI5G5RS7.js';
3
3
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './HitArea-QUOS6ZDJ.css';
@@ -1,5 +1,5 @@
1
1
  import { HeadingLevelProvider } from './chunk-PQADV6P6.js';
2
- import { IconButton } from './chunk-4FQT6ZAY.js';
2
+ import { IconButton } from './chunk-LACA4JGC.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './ArtifactPanel-KKUUIPEU.css';
5
5
  import { useId, useRef, useLayoutEffect, useEffect } from 'react';
@@ -1,16 +1,16 @@
1
1
  import { PageHeader } from './chunk-HOXGBLEY.js';
2
- import { DateTimePicker } from './chunk-RFFXB3PR.js';
3
- import { DataTable } from './chunk-FXBGEANQ.js';
2
+ import { DataTable } from './chunk-GI3S6RMM.js';
3
+ import { DateTimePicker } from './chunk-UFXLNC2N.js';
4
4
  import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
5
5
  import { Popover } from './chunk-KHJIEPZV.js';
6
6
  import { Toolbar } from './chunk-NR4CPM4T.js';
7
7
  import { RelativeTime } from './chunk-3CZ7XAVY.js';
8
- import { Input } from './chunk-TYONQSOK.js';
8
+ import { Input } from './chunk-ZI5G5RS7.js';
9
9
  import { Kbd } from './chunk-SMBKXWML.js';
10
10
  import { Count } from './chunk-BHHIIK3M.js';
11
- import { Menu } from './chunk-D6FEHY5G.js';
11
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
12
12
  import { Button } from './chunk-OG6CL3EB.js';
13
- import { IconButton } from './chunk-4FQT6ZAY.js';
13
+ import { IconButton } from './chunk-LACA4JGC.js';
14
14
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
15
15
  import { cx } from './chunk-ODEQTPFM.js';
16
16
  import './DataView-N6JX464S.css';
@@ -1,4 +1,4 @@
1
- import { IconButton } from './chunk-4FQT6ZAY.js';
1
+ import { IconButton } from './chunk-LACA4JGC.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './PinTile-IIA25MNZ.css';
4
4
  import { forwardRef } from 'react';
@@ -2,7 +2,7 @@ import { useTreeState, treeExpandable, treeLevel, treePosInSet, treeSetSize, tre
2
2
  import { LayerNodeBridge } from './chunk-LM3ISVJA.js';
3
3
  import { LayerHost, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
4
4
  import { focusables } from './chunk-H5XTJ7GJ.js';
5
- import { IconButton } from './chunk-4FQT6ZAY.js';
5
+ import { IconButton } from './chunk-LACA4JGC.js';
6
6
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
8
8
  import './TreeGrid-UCPV37XB.css';
@@ -1,18 +1,18 @@
1
1
  import { TagGroup } from './chunk-O2EGEONV.js';
2
- import { Tag } from './chunk-KYIAFNU7.js';
3
2
  import { CursorFlag } from './chunk-3BYIWOTV.js';
4
3
  import { presenceHueClass } from './chunk-I6POAB4V.js';
4
+ import { Tag } from './chunk-KYIAFNU7.js';
5
5
  import { ChangeMark } from './chunk-66X5WDKE.js';
6
6
  import { isEmptyValue, displayText, ratingMax, findPerson, findOption, statusTone, editText, textMax, sheetLabels, normalizeValue, sameValue, spokenText, drawnColumns, fitSamples, fittedWidth, columnWidth, SHEET_COLUMN_BOUNDS, sortRows, SHEET_ROW_HEIGHT, cellKey, columnOffsets, SHEET_ROW_NUMBER_WIDTH, rangeOf, presenceByCell, presenceByRow, presenceByColumn, scrollToRow, planClear, visibleRows, cellDescription, nextSort, rowName, inRange, hasPrevious, flagText, toTSV, planPaste, parseTSV, isMod, moveFrom, isTypingKey, editorSide, optionHue, parseText, liveOptions, checkValue } from './chunk-LFSIKGRQ.js';
7
7
  import { presenceLabels } from './chunk-Z7JYG5TF.js';
8
8
  import { Popover } from './chunk-KHJIEPZV.js';
9
+ import { Avatar } from './chunk-PZKHBB7D.js';
9
10
  import { StatusDot } from './chunk-WIATRXEJ.js';
10
11
  import { Tooltip } from './chunk-I33UIUZD.js';
11
- import { Avatar } from './chunk-PZKHBB7D.js';
12
- import { Menu } from './chunk-D6FEHY5G.js';
12
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
13
13
  import { isComposing } from './chunk-H5XTJ7GJ.js';
14
14
  import { Button } from './chunk-OG6CL3EB.js';
15
- import { IconButton } from './chunk-4FQT6ZAY.js';
15
+ import { IconButton } from './chunk-LACA4JGC.js';
16
16
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
17
17
  import { cx } from './chunk-ODEQTPFM.js';
18
18
  import './SheetGrid-XK7T7M34.css';
@@ -1,7 +1,7 @@
1
1
  import { useLayerContainer, viewportBounds, LAYER_GAP, anchorGone, placePopup, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
2
2
  import { usePopupLayer } from './chunk-H5XTJ7GJ.js';
3
3
  import { Button } from './chunk-OG6CL3EB.js';
4
- import { IconButton } from './chunk-4FQT6ZAY.js';
4
+ import { IconButton } from './chunk-LACA4JGC.js';
5
5
  import { returnFocus } from './chunk-NUZHC6MM.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './Menu-KEKAD3BZ.css';
@@ -1,7 +1,7 @@
1
- import { HuePicker } from './chunk-BA32AVKS.js';
1
+ import { HuePicker } from './chunk-QOP7QYUW.js';
2
2
  import { Popover } from './chunk-KHJIEPZV.js';
3
3
  import { NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
4
- import { CharacterPicker } from './chunk-SNQRGH4A.js';
4
+ import { CharacterPicker } from './chunk-VZICPYGR.js';
5
5
  import { Avatar } from './chunk-PZKHBB7D.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './AvatarPicker-PREY36MG.css';
@@ -1,5 +1,5 @@
1
1
  import { useThemePreference, useSystemTheme, resolveTheme } from './chunk-Z24ZUSTX.js';
2
- import { IconButton } from './chunk-4FQT6ZAY.js';
2
+ import { IconButton } from './chunk-LACA4JGC.js';
3
3
  import { SunGlyph, MoonGlyph } from '@crewlethq/icons/glyphs';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
2
- import { SegmentedControl } from './chunk-4OK4DX3V.js';
2
+ import { SegmentedControl } from './chunk-BF5WV7NM.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -0,0 +1,12 @@
1
+ import { cx } from './chunk-ODEQTPFM.js';
2
+ import './ListDetail-ALKU5VJW.css';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ function ListDetail({ list, children, showing = "list", className, ...rest }) {
6
+ return /* @__PURE__ */ jsxs("div", { ...rest, className: cx("crewlet-list-detail", `crewlet-list-detail--showing-${showing}`, className), children: [
7
+ /* @__PURE__ */ jsx("div", { className: "crewlet-list-detail__list", children: list }),
8
+ /* @__PURE__ */ jsx("div", { className: "crewlet-list-detail__detail", children })
9
+ ] });
10
+ }
11
+
12
+ export { ListDetail };
@@ -1,4 +1,4 @@
1
- import { IconButton } from './chunk-4FQT6ZAY.js';
1
+ import { IconButton } from './chunk-LACA4JGC.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './SlideNav-BLFJF6AH.css';
4
4
  import { ChevronLeftGlyph, ChevronRightGlyph } from '@crewlethq/icons/glyphs';
@@ -0,0 +1,39 @@
1
+ import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
2
+ import { cx } from './chunk-ODEQTPFM.js';
3
+ import './DirectoryList-EESYMH2U.css';
4
+ import { useId } from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ function DirectoryList({ label, groups, foot, headingLevel, className }) {
8
+ const level = useHeadingLevel();
9
+ const Heading = headingTag(headingLevel ?? level);
10
+ const base = useId();
11
+ return /* @__PURE__ */ jsxs("nav", { "aria-label": label, className: cx("crewlet-directory", className), children: [
12
+ /* @__PURE__ */ jsx("div", { className: "crewlet-directory__groups", children: groups.map((group) => {
13
+ const headingId = `${base}-${group.key}`;
14
+ return /* @__PURE__ */ jsxs("section", { className: "crewlet-directory__group", "aria-labelledby": headingId, children: [
15
+ /* @__PURE__ */ jsx(Heading, { id: headingId, className: "crewlet-directory__heading", children: group.label }),
16
+ /* @__PURE__ */ jsx("ul", { role: "list", className: "crewlet-directory__items", children: group.items.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
17
+ "a",
18
+ {
19
+ href: item.href,
20
+ onClick: item.onClick,
21
+ "aria-current": item.selected ? "page" : void 0,
22
+ className: cx("crewlet-directory__item", item.selected && "crewlet-directory__item--selected"),
23
+ children: [
24
+ item.mark === void 0 ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-directory__mark", "aria-hidden": "true", children: item.mark }),
25
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-directory__text", children: [
26
+ /* @__PURE__ */ jsx("span", { className: "crewlet-directory__label", children: item.label }),
27
+ item.hint === void 0 ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-directory__hint", children: item.hint })
28
+ ] }),
29
+ item.status === void 0 || item.status === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-directory__status", children: item.status })
30
+ ]
31
+ }
32
+ ) }, item.key)) })
33
+ ] }, group.key);
34
+ }) }),
35
+ foot === void 0 || foot === null ? null : /* @__PURE__ */ jsx("div", { className: "crewlet-directory__foot", children: foot })
36
+ ] });
37
+ }
38
+
39
+ export { DirectoryList };
@@ -3,7 +3,7 @@ import { Tooltip } from './chunk-I33UIUZD.js';
3
3
  import { Kbd } from './chunk-SMBKXWML.js';
4
4
  import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-OMV5W53A.js';
5
5
  import { Button } from './chunk-OG6CL3EB.js';
6
- import { IconButton } from './chunk-4FQT6ZAY.js';
6
+ import { IconButton } from './chunk-LACA4JGC.js';
7
7
  import { returnFocus } from './chunk-NUZHC6MM.js';
8
8
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- import { ConfirmModal } from './chunk-IAGYPTEJ.js';
1
+ import { ConfirmModal } from './chunk-FYINAYAJ.js';
2
2
  import { InlineCode } from './chunk-5CLW2CXT.js';
3
3
  import { Callout } from './chunk-SZZRIHGT.js';
4
4
  import './LinkInterstitial-ET4MSVSV.css';
@@ -1,7 +1,7 @@
1
- import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
2
1
  import { Popover } from './chunk-KHJIEPZV.js';
2
+ import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
3
3
  import { Button } from './chunk-OG6CL3EB.js';
4
- import { IconButton } from './chunk-4FQT6ZAY.js';
4
+ import { IconButton } from './chunk-LACA4JGC.js';
5
5
  import { useFocusModality } from './chunk-NUZHC6MM.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './DateTimePicker-3A7JIIVL.css';
@@ -1,10 +1,10 @@
1
- import { SegmentedControl } from './chunk-4OK4DX3V.js';
1
+ import { SegmentedControl } from './chunk-BF5WV7NM.js';
2
2
  import { Tooltip } from './chunk-I33UIUZD.js';
3
3
  import { ArtifactIcon } from './chunk-ILDNJHRU.js';
4
4
  import { isApplePlatform, Kbd } from './chunk-SMBKXWML.js';
5
- import { Menu } from './chunk-D6FEHY5G.js';
5
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
6
6
  import { Button } from './chunk-OG6CL3EB.js';
7
- import { IconButton } from './chunk-4FQT6ZAY.js';
7
+ import { IconButton } from './chunk-LACA4JGC.js';
8
8
  import { returnFocus } from './chunk-NUZHC6MM.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
10
10
  import './ArtifactKinds-CVD3FCYO.css';
@@ -1,7 +1,7 @@
1
1
  import { useReorder } from './chunk-XJ2QEBMM.js';
2
- import { Input } from './chunk-TYONQSOK.js';
3
- import { Menu } from './chunk-D6FEHY5G.js';
4
- import { IconButton } from './chunk-4FQT6ZAY.js';
2
+ import { Input } from './chunk-ZI5G5RS7.js';
3
+ import { Menu } from './chunk-PCI7ZJ6Z.js';
4
+ import { IconButton } from './chunk-LACA4JGC.js';
5
5
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './DocTabsEditor-4M452LNS.css';
@@ -1,10 +1,10 @@
1
1
  import { Select } from './chunk-XQZ6EWOE.js';
2
- import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
3
2
  import { Popover } from './chunk-KHJIEPZV.js';
4
- import { Input } from './chunk-TYONQSOK.js';
3
+ import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
4
+ import { Input } from './chunk-ZI5G5RS7.js';
5
5
  import { isComposing } from './chunk-H5XTJ7GJ.js';
6
6
  import { Button } from './chunk-OG6CL3EB.js';
7
- import { IconButton } from './chunk-4FQT6ZAY.js';
7
+ import { IconButton } from './chunk-LACA4JGC.js';
8
8
  import { useFocusModality } from './chunk-NUZHC6MM.js';
9
9
  import { cx } from './chunk-ODEQTPFM.js';
10
10
  import './TimeWindowPicker-I3HXC74I.css';
@@ -1,8 +1,8 @@
1
- import { TreeGrid } from './chunk-3KYVFG47.js';
1
+ import { TreeGrid } from './chunk-ON2E46DX.js';
2
2
  import { createTreeModel, treeParent } from './chunk-MY374UUD.js';
3
3
  import { OrgLabel } from './chunk-ONQKKHON.js';
4
4
  import { AddPill } from './chunk-TROLVEZY.js';
5
- import { IconButton } from './chunk-4FQT6ZAY.js';
5
+ import { IconButton } from './chunk-LACA4JGC.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './OrgTable-JZSYTUIK.css';
8
8
  import { useMemo, useRef, useImperativeHandle, useCallback } from 'react';
@@ -1,8 +1,8 @@
1
- import { FormField, Textarea, Input } from './chunk-TYONQSOK.js';
1
+ import { FormField, Textarea, Input } from './chunk-ZI5G5RS7.js';
2
2
  import { Kbd } from './chunk-SMBKXWML.js';
3
- import { announce } from './chunk-RSAQOKH3.js';
4
3
  import { isComposing } from './chunk-H5XTJ7GJ.js';
5
- import { IconButton } from './chunk-4FQT6ZAY.js';
4
+ import { IconButton } from './chunk-LACA4JGC.js';
5
+ import { announce } from './chunk-RSAQOKH3.js';
6
6
  import './ListInput-O7LJKOIG.css';
7
7
  import { useState, useRef, useLayoutEffect } from 'react';
8
8
  import { ArrowUpGlyph, ArrowDownGlyph, XGlyph, PlusGlyph } from '@crewlethq/icons/glyphs';
@@ -1,5 +1,5 @@
1
1
  import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
2
- import { IconButton } from './chunk-4FQT6ZAY.js';
2
+ import { IconButton } from './chunk-LACA4JGC.js';
3
3
  import { useFocusModality } from './chunk-NUZHC6MM.js';
4
4
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
@@ -58,6 +58,7 @@ export * from '../DateTimePicker/index.js';
58
58
  export * from '../DescriptionList/index.js';
59
59
  export * from '../DiffList/index.js';
60
60
  export * from '../DiffView/index.js';
61
+ export * from '../DirectoryList/index.js';
61
62
  export * from '../Disclosure/index.js';
62
63
  export * from '../Divider/index.js';
63
64
  export * from '../DocTabsEditor/index.js';
@@ -93,6 +94,7 @@ export * from '../Layout/index.js';
93
94
  export * from '../Link/index.js';
94
95
  export * from '../LinkInterstitial/index.js';
95
96
  export * from '../List/index.js';
97
+ export * from '../ListDetail/index.js';
96
98
  export * from '../ListInput/index.js';
97
99
  export * from '../Listbox/index.js';
98
100
  export * from '../LiveCursor/index.js';