@crewlethq/ui 0.11.0 → 0.13.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 (165) hide show
  1. package/README.md +76 -5
  2. package/dist/AppShell/index.js +2 -1
  3. package/dist/Avatar/index.js +1 -1
  4. package/dist/{Avatar-QHYOFID3.css → Avatar-BPJ36QZR.css} +1 -1
  5. package/dist/AvatarPicker/index.js +6 -6
  6. package/dist/Breadcrumb/Breadcrumb.d.ts +68 -0
  7. package/dist/Breadcrumb/index.d.ts +3 -0
  8. package/dist/Breadcrumb/index.js +3 -0
  9. package/dist/Breadcrumb-YMWVM3SV.css +193 -0
  10. package/dist/ChoiceButtons/ChoiceButtons.d.ts +43 -0
  11. package/dist/ChoiceButtons/index.d.ts +3 -0
  12. package/dist/ChoiceButtons/index.js +3 -0
  13. package/dist/ChoiceButtons-DJ5EOGUA.css +127 -0
  14. package/dist/ChoiceList/ChoiceList.d.ts +45 -0
  15. package/dist/ChoiceList/index.d.ts +3 -0
  16. package/dist/ChoiceList/index.js +2 -0
  17. package/dist/ChoiceList-2PQJS4DX.css +109 -0
  18. package/dist/Combobox/index.js +2 -2
  19. package/dist/CommandPalette/CommandPalette.d.ts +48 -1
  20. package/dist/CommandPalette/index.js +3 -3
  21. package/dist/{CommandPalette-C5AMKGN2.css → CommandPalette-HBTNKHZQ.css} +55 -2
  22. package/dist/Composer/Composer.d.ts +27 -0
  23. package/dist/Composer/index.d.ts +3 -0
  24. package/dist/Composer/index.js +7 -0
  25. package/dist/Composer-ABGJIAIR.css +88 -0
  26. package/dist/DataTable/index.js +3 -3
  27. package/dist/DataView/index.js +11 -11
  28. package/dist/DateTimePicker/index.js +2 -2
  29. package/dist/Document/Document.d.ts +56 -0
  30. package/dist/Document/index.d.ts +3 -0
  31. package/dist/Document/index.js +2 -0
  32. package/dist/Document-PQGXJHB7.css +288 -0
  33. package/dist/EntityChip/index.js +1 -1
  34. package/dist/Highlight/Highlight.d.ts +45 -0
  35. package/dist/Highlight/index.d.ts +3 -0
  36. package/dist/Highlight/index.js +2 -0
  37. package/dist/Highlight-DXLV2R6L.css +29 -0
  38. package/dist/HuePicker/index.js +3 -3
  39. package/dist/ImageUpload/index.js +2 -2
  40. package/dist/{ImageUpload-L2GE4JUM.css → ImageUpload-NVGMN7DP.css} +9 -6
  41. package/dist/InboxList/InboxList.d.ts +116 -0
  42. package/dist/InboxList/index.d.ts +3 -0
  43. package/dist/InboxList/index.js +5 -0
  44. package/dist/InboxList-YMFWKGGS.css +252 -0
  45. package/dist/KeyChip/KeyChip.d.ts +21 -0
  46. package/dist/KeyChip/index.d.ts +3 -0
  47. package/dist/KeyChip/index.js +2 -0
  48. package/dist/KeyChip-4XJU4BBE.css +30 -0
  49. package/dist/Link/Link.d.ts +17 -2
  50. package/dist/Link/index.js +1 -1
  51. package/dist/{Link-6BEFNMN2.css → Link-WPMVLKLY.css} +36 -1
  52. package/dist/Listbox/index.d.ts +2 -0
  53. package/dist/Listbox/index.js +1 -1
  54. package/dist/Listbox/useHighlightRest.d.ts +35 -0
  55. package/dist/MarkdownEditor/MarkdownEditor.d.ts +93 -0
  56. package/dist/MarkdownEditor/format.d.ts +34 -0
  57. package/dist/MarkdownEditor/index.d.ts +5 -0
  58. package/dist/MarkdownEditor/index.js +12 -0
  59. package/dist/MarkdownEditor-ZLSHTOIZ.css +146 -0
  60. package/dist/Modal/Modal.d.ts +5 -1
  61. package/dist/Modal/index.js +1 -1
  62. package/dist/{Modal-BNT3TDV2.css → Modal-3YJ2GG2T.css} +33 -0
  63. package/dist/OrgLabel/index.js +1 -1
  64. package/dist/OrgNode/index.js +1 -1
  65. package/dist/OrgTable/index.js +5 -5
  66. package/dist/Outline/Outline.d.ts +72 -0
  67. package/dist/Outline/index.d.ts +3 -0
  68. package/dist/Outline/index.js +2 -0
  69. package/dist/Outline-VCXKKU3E.css +78 -0
  70. package/dist/Popover/Popover.d.ts +21 -1
  71. package/dist/Popover/index.js +1 -1
  72. package/dist/ReadingPane/ReadingPane.d.ts +95 -0
  73. package/dist/ReadingPane/index.d.ts +3 -0
  74. package/dist/ReadingPane/index.js +4 -0
  75. package/dist/ReadingPane-5UOLPWY5.css +194 -0
  76. package/dist/SegmentedControl/SegmentedControl.d.ts +9 -1
  77. package/dist/SegmentedControl/index.js +3 -3
  78. package/dist/{SegmentedControl-76HODRBT.css → SegmentedControl-PKBLJVSA.css} +18 -0
  79. package/dist/Select/Select.d.ts +22 -0
  80. package/dist/Select/index.js +2 -2
  81. package/dist/{Select-4ANVLHUY.css → Select-XMZ44RWY.css} +24 -0
  82. package/dist/SidebarNav/index.js +2 -1
  83. package/dist/{SidebarNav-X5NLZNWA.css → SidebarNav-KF66MLOM.css} +4 -19
  84. package/dist/Switcher/Switcher.d.ts +151 -0
  85. package/dist/Switcher/index.d.ts +3 -0
  86. package/dist/Switcher/index.js +16 -0
  87. package/dist/Switcher-B44Q4WF4.css +346 -0
  88. package/dist/Tabs/Tabs.d.ts +7 -1
  89. package/dist/Tabs/index.js +1 -1
  90. package/dist/{Tabs-5I5Q5KKM.css → Tabs-ITJYJFMU.css} +49 -0
  91. package/dist/TagsInput/index.js +2 -2
  92. package/dist/ThemeGallery/ThemeGallery.d.ts +65 -0
  93. package/dist/ThemeGallery/index.d.ts +3 -0
  94. package/dist/ThemeGallery/index.js +6 -0
  95. package/dist/ThemeGallery-NITASULQ.css +93 -0
  96. package/dist/ThemeSwatch/ThemeSwatch.d.ts +71 -0
  97. package/dist/ThemeSwatch/index.d.ts +3 -0
  98. package/dist/ThemeSwatch/index.js +2 -0
  99. package/dist/ThemeSwatch-4DL457ZB.css +256 -0
  100. package/dist/ThemeSwitcher/ThemeSwitcher.d.ts +5 -1
  101. package/dist/ThemeSwitcher/index.js +4 -4
  102. package/dist/ThemeToggle/ThemeToggle.d.ts +1 -1
  103. package/dist/ThemeToggle/index.js +1 -1
  104. package/dist/TimeWindowPicker/index.js +4 -4
  105. package/dist/Toaster/index.js +1 -1
  106. package/dist/{Toaster-NVDCEIP5.css → Toaster-KZ7YE2HA.css} +1 -0
  107. package/dist/Tree/index.d.ts +1 -1
  108. package/dist/Tree/index.js +1 -1
  109. package/dist/Tree/useTreeState.d.ts +37 -7
  110. package/dist/TreeCanvas/index.js +2 -2
  111. package/dist/TreeGrid/TreeGrid.d.ts +22 -2
  112. package/dist/TreeGrid/index.js +2 -2
  113. package/dist/{TreeGrid-NSW7VMOX.css → TreeGrid-FBX3MSJA.css} +19 -0
  114. package/dist/{chunk-EBBAAQDY.js → chunk-26PEPONN.js} +3 -1
  115. package/dist/{chunk-HV6IZFBK.js → chunk-4FFHJBEN.js} +2 -2
  116. package/dist/{chunk-JHQUT4WJ.js → chunk-4LDTQWS7.js} +1 -1
  117. package/dist/{chunk-ELZKOVEC.js → chunk-4Y7WKXAW.js} +1 -1
  118. package/dist/{chunk-MCPKHYMC.js → chunk-6LXMLQUM.js} +17 -4
  119. package/dist/{chunk-3UK4VFSK.js → chunk-6NIZCQUM.js} +1 -1
  120. package/dist/{chunk-ORNOOMVY.js → chunk-6TSZCBID.js} +2 -2
  121. package/dist/{chunk-ZMJHK7DR.js → chunk-75WOCYGC.js} +2 -2
  122. package/dist/chunk-77IEHFY4.js +299 -0
  123. package/dist/chunk-A5YKNRG6.js +94 -0
  124. package/dist/{chunk-HLBRPES3.js → chunk-B2CITO6R.js} +2 -2
  125. package/dist/{chunk-TEEJSTFG.js → chunk-CF6DTETT.js} +1 -1
  126. package/dist/{chunk-LAQK4V3Z.js → chunk-DJMLHCLD.js} +1 -1
  127. package/dist/{chunk-6MU7HNB4.js → chunk-F73MC7EZ.js} +47 -2
  128. package/dist/{chunk-ZPSOF6VL.js → chunk-FBSEJO2C.js} +1 -1
  129. package/dist/chunk-FYTIJM2T.js +40 -0
  130. package/dist/{chunk-7JGWSOLM.js → chunk-GG2QEZO2.js} +1 -1
  131. package/dist/chunk-H6VKCIWV.js +41 -0
  132. package/dist/{chunk-6SDGRKQ7.js → chunk-HKGS67VG.js} +94 -41
  133. package/dist/chunk-IG75YMUN.js +22 -0
  134. package/dist/{chunk-JCNUQ3US.js → chunk-JDPAA2JU.js} +1 -1
  135. package/dist/chunk-KLIEPFEZ.js +95 -0
  136. package/dist/{chunk-7LD6P32I.js → chunk-L3CTFFLZ.js} +2 -18
  137. package/dist/{chunk-UG5ZMAXW.js → chunk-LELD5KPA.js} +1 -1
  138. package/dist/chunk-MNFU2RNT.js +74 -0
  139. package/dist/{chunk-S3BCVWTU.js → chunk-MY374UUD.js} +49 -31
  140. package/dist/{chunk-K5Q2DK3P.js → chunk-NXDEPUVG.js} +1 -1
  141. package/dist/{chunk-PDUZO35I.js → chunk-O2ZDZZS7.js} +15 -6
  142. package/dist/chunk-QBXZLGK2.js +40 -0
  143. package/dist/chunk-QSLIN64M.js +47 -0
  144. package/dist/{chunk-5WEVLIB6.js → chunk-RZ7RGECB.js} +1 -1
  145. package/dist/chunk-S3IENQ3E.js +336 -0
  146. package/dist/{chunk-WEIINZPA.js → chunk-SBRE7IML.js} +6 -2
  147. package/dist/{chunk-IVFJD7WY.js → chunk-UCCC7YVZ.js} +3 -2
  148. package/dist/{chunk-CIOKUMVC.js → chunk-UZPHPW3Z.js} +7 -7
  149. package/dist/chunk-VWNC2L6W.js +110 -0
  150. package/dist/chunk-VYY56AMX.js +2 -0
  151. package/dist/chunk-WI6K5M5X.js +24 -0
  152. package/dist/{chunk-R4ZJB5YX.js → chunk-WY2NLRZN.js} +2 -2
  153. package/dist/{chunk-SEFMO2EV.js → chunk-XFE5W2I4.js} +44 -5
  154. package/dist/chunk-XYCADWZN.js +100 -0
  155. package/dist/chunk-YSJC7AZC.js +62 -0
  156. package/dist/chunk-ZAJHGDAW.js +93 -0
  157. package/dist/generated/index.d.ts +14 -0
  158. package/dist/generated/index.js +65 -50
  159. package/dist/index.js +65 -50
  160. package/dist/styles.css +4456 -1965
  161. package/dist/utils/highlight.d.ts +17 -0
  162. package/dist/utils/useMediaMatch.d.ts +12 -0
  163. package/package.json +3 -3
  164. package/dist/chunk-UAQIUSSK.js +0 -2
  165. /package/dist/{chunk-PQLMLG5K.js → chunk-6AR2T5Y4.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { useListbox, useOptionKeys } from './chunk-6MU7HNB4.js';
1
+ import { useListbox, useOptionKeys, useHighlightRest } from './chunk-F73MC7EZ.js';
2
2
  import { useLayerContainer, viewportBounds, outsideBounds, placePopup, LAYER_GAP, LAYER_REPOSITION_EVENT } from './chunk-7RPGY3JE.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './Select-4ANVLHUY.css';
4
+ import './Select-XMZ44RWY.css';
5
5
  import { forwardRef, useId, useMemo, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
6
6
  import { createPortal } from 'react-dom';
7
7
  import { ChevronDownGlyph, CheckGlyph, SearchGlyph } from '@crewlethq/icons/glyphs';
@@ -32,6 +32,7 @@ var Select = forwardRef(function Select2({
32
32
  renderOption,
33
33
  renderMultiLabel,
34
34
  emptyMessage = "No matches",
35
+ onHighlight,
35
36
  ...native
36
37
  }, ref) {
37
38
  const generatedId = useId();
@@ -89,6 +90,7 @@ var Select = forwardRef(function Select2({
89
90
  renderOption,
90
91
  renderMultiLabel,
91
92
  emptyMessage,
93
+ onHighlight,
92
94
  describedBy: native["aria-describedby"],
93
95
  required: native.required,
94
96
  ariaRequired: native["aria-required"],
@@ -166,6 +168,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
166
168
  renderOption,
167
169
  renderMultiLabel,
168
170
  emptyMessage,
171
+ onHighlight,
169
172
  describedBy,
170
173
  required,
171
174
  ariaRequired,
@@ -274,6 +277,21 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
274
277
  if (spot.top < bounds.top) box.scrollTop -= bounds.top - spot.top;
275
278
  else if (spot.bottom > bounds.bottom) box.scrollTop += spot.bottom - bounds.bottom;
276
279
  }, [listbox.active, flat.length, open]);
280
+ const offeredNow = useRef(flat);
281
+ offeredNow.current = flat;
282
+ const highlight = useHighlightRest(
283
+ onHighlight ? (key) => onHighlight(key === null ? null : offeredNow.current.find((option) => String(option.value) === key) ?? null) : void 0
284
+ );
285
+ const byPointer = useRef(false);
286
+ const resting = open ? flat[listbox.active] : void 0;
287
+ const restingKey = resting ? String(resting.value) : null;
288
+ useEffect(() => {
289
+ const pointer = byPointer.current;
290
+ byPointer.current = false;
291
+ if (restingKey === null) highlight.now(null);
292
+ else if (pointer) highlight.rest(restingKey);
293
+ else highlight.now(restingKey);
294
+ }, [restingKey, highlight]);
277
295
  const position = useCallback(() => {
278
296
  const at = trigger.current;
279
297
  const box = panel.current;
@@ -362,6 +380,18 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
362
380
  const activeId = open && listbox.active >= 0 ? listbox.optionId(listbox.active) : void 0;
363
381
  const comboOnTrigger = !searchable;
364
382
  const requiredForAria = ariaRequired ?? required;
383
+ const optionHandlers = (at) => {
384
+ const handlers = listbox.optionHandlers(at);
385
+ return {
386
+ ...handlers,
387
+ onMouseEnter: () => {
388
+ const option = flat[at];
389
+ if (at === listbox.active && option) highlight.rest(String(option.value));
390
+ else byPointer.current = true;
391
+ handlers.onMouseEnter();
392
+ }
393
+ };
394
+ };
365
395
  let index = -1;
366
396
  const rows = groups.map((group, position2) => {
367
397
  const items = group.items.map((option) => {
@@ -384,13 +414,18 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
384
414
  highlighted && "is-highlight",
385
415
  option.disabled && "is-disabled"
386
416
  ),
387
- ...option.disabled ? {} : listbox.optionHandlers(at),
417
+ ...option.disabled ? {} : optionHandlers(at),
388
418
  children: renderOption ? renderOption(option, { active: highlighted, selected }) : /* @__PURE__ */ jsxs(Fragment, { children: [
389
419
  /* @__PURE__ */ jsx("span", { className: "crewlet-select__option-tick", "aria-hidden": "true", children: selected ? /* @__PURE__ */ jsx(CheckGlyph, { size: "sm" }) : null }),
420
+ option.leading !== void 0 ? /* @__PURE__ */ jsx("span", { className: "crewlet-select__option-leading", "aria-hidden": "true", children: option.leading }) : null,
390
421
  /* @__PURE__ */ jsxs("span", { className: "crewlet-select__option-body", children: [
391
422
  /* @__PURE__ */ jsx("span", { className: "crewlet-select__option-label", children: option.label }),
392
423
  option.description ? /* @__PURE__ */ jsx("span", { className: "crewlet-select__option-desc", children: option.description }) : null
393
- ] })
424
+ ] }),
425
+ option.hint !== void 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
426
+ " ",
427
+ /* @__PURE__ */ jsx("span", { className: "crewlet-listbox__hint", children: option.hint })
428
+ ] }) : null
394
429
  ] })
395
430
  },
396
431
  String(option.value)
@@ -423,6 +458,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
423
458
  ),
424
459
  role: "presentation",
425
460
  onPointerDown: (event) => event.stopPropagation(),
461
+ onMouseLeave: () => highlight.now(null),
426
462
  children: [
427
463
  searchable ? /* @__PURE__ */ jsxs("div", { className: "crewlet-select__search", children: [
428
464
  /* @__PURE__ */ jsx(SearchGlyph, { size: "sm" }),
@@ -504,7 +540,10 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
504
540
  onClick: () => open ? close(false) : setOpen(true),
505
541
  onKeyDown,
506
542
  children: [
507
- renderTrigger ? renderTrigger(single, { open }) : /* @__PURE__ */ jsx("span", { className: cx("crewlet-select__label", !hasValue && "is-placeholder"), children: label }),
543
+ renderTrigger ? renderTrigger(single, { open }) : /* @__PURE__ */ jsxs(Fragment, { children: [
544
+ !multiple && single?.leading !== void 0 ? /* @__PURE__ */ jsx("span", { className: "crewlet-select__leading", "aria-hidden": "true", children: single.leading }) : null,
545
+ /* @__PURE__ */ jsx("span", { className: cx("crewlet-select__label", !hasValue && "is-placeholder"), children: label })
546
+ ] }),
508
547
  /* @__PURE__ */ jsx(ChevronDownGlyph, { className: "crewlet-select__chevron", size: "sm" })
509
548
  ]
510
549
  }
@@ -0,0 +1,100 @@
1
+ import { Eyebrow } from './chunk-RK4XPHVG.js';
2
+ import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
3
+ import { VisuallyHidden } from './chunk-BZFWDIV6.js';
4
+ import { cx } from './chunk-ODEQTPFM.js';
5
+ import './InboxList-YMFWKGGS.css';
6
+ import { useId } from 'react';
7
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+
9
+ function InboxList({ label, className, children, ...rest }) {
10
+ return /* @__PURE__ */ jsx("nav", { ...rest, "aria-label": label, className: cx("crewlet-inbox-list", className), children });
11
+ }
12
+ function InboxGroup({ label, hideLabel = false, headingLevel, className, children, ...rest }) {
13
+ const level = useHeadingLevel();
14
+ const Heading = headingTag(headingLevel ?? level);
15
+ const labelId = useId();
16
+ return /* @__PURE__ */ jsxs("section", { ...rest, "aria-labelledby": labelId, className: cx("crewlet-inbox-list__group", className), children: [
17
+ hideLabel ? /* @__PURE__ */ jsx(VisuallyHidden, { as: Heading, id: labelId, children: label }) : /* @__PURE__ */ jsx(Heading, { id: labelId, className: "crewlet-inbox-list__label", children: /* @__PURE__ */ jsx(Eyebrow, { children: label }) }),
18
+ /* @__PURE__ */ jsx("ul", { className: "crewlet-inbox-list__rows", children })
19
+ ] });
20
+ }
21
+ function InboxRow({
22
+ title,
23
+ qualifier,
24
+ qualifierTone = "default",
25
+ meta,
26
+ leading,
27
+ excerpt,
28
+ aside,
29
+ selected = false,
30
+ unread = false,
31
+ unreadLabel = "Unread",
32
+ actionable = false,
33
+ done = false,
34
+ doneLabel = "Done",
35
+ href,
36
+ onClick,
37
+ className,
38
+ children,
39
+ ...rest
40
+ }) {
41
+ const contents = /* @__PURE__ */ jsxs(Fragment, { children: [
42
+ leading === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
43
+ /* @__PURE__ */ jsx("span", { className: "crewlet-inbox-row__leading", children: leading }),
44
+ " "
45
+ ] }),
46
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-inbox-row__main", children: [
47
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-inbox-row__head", children: [
48
+ /* @__PURE__ */ jsx("span", { className: "crewlet-inbox-row__title", children: title }),
49
+ qualifier === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
50
+ " ",
51
+ /* @__PURE__ */ jsx("span", { className: cx("crewlet-inbox-row__qualifier", qualifierTone === "danger" && "crewlet-inbox-row__qualifier--danger"), children: qualifier })
52
+ ] }),
53
+ meta === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
54
+ " ",
55
+ /* @__PURE__ */ jsx("span", { className: "crewlet-inbox-row__meta", children: meta })
56
+ ] })
57
+ ] }),
58
+ " ",
59
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-inbox-row__text", children: [
60
+ children,
61
+ excerpt === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
62
+ " ",
63
+ /* @__PURE__ */ jsx("span", { className: "crewlet-inbox-row__excerpt", children: excerpt })
64
+ ] })
65
+ ] }),
66
+ unread ? /* @__PURE__ */ jsxs(Fragment, { children: [
67
+ " ",
68
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: unreadLabel })
69
+ ] }) : null,
70
+ done ? /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ " ",
72
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: doneLabel })
73
+ ] }) : null
74
+ ] })
75
+ ] });
76
+ const controlClass = cx(
77
+ "crewlet-inbox-row__control",
78
+ unread && "crewlet-inbox-row__control--unread",
79
+ actionable && "crewlet-inbox-row__control--actionable",
80
+ done && "crewlet-inbox-row__control--done"
81
+ );
82
+ const current = selected ? "true" : void 0;
83
+ const control = href !== void 0 ? /* @__PURE__ */ jsx("a", { className: controlClass, href, "aria-current": current, onClick, children: contents }) : /* @__PURE__ */ jsx("button", { type: "button", className: controlClass, "aria-current": current, onClick, children: contents });
84
+ return /* @__PURE__ */ jsxs("li", { ...rest, className: cx("crewlet-inbox-row", selected && "crewlet-inbox-row--selected", className), children: [
85
+ control,
86
+ aside === void 0 || aside === null || aside === false ? null : /* @__PURE__ */ jsx("div", { className: "crewlet-inbox-row__aside", children: aside })
87
+ ] });
88
+ }
89
+ function InboxMore({ className, children, ...rest }) {
90
+ return /* @__PURE__ */ jsx("div", { ...rest, className: cx("crewlet-inbox-list__more", className), children });
91
+ }
92
+ function InboxToggle({ expanded, className, children, ...rest }) {
93
+ return /* @__PURE__ */ jsx("button", { ...rest, type: "button", "aria-expanded": expanded, className: cx("crewlet-inbox-list__toggle", className), children });
94
+ }
95
+ InboxList.Group = InboxGroup;
96
+ InboxList.Row = InboxRow;
97
+ InboxList.More = InboxMore;
98
+ InboxList.Toggle = InboxToggle;
99
+
100
+ export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle };
@@ -0,0 +1,62 @@
1
+ import { VisuallyHidden } from './chunk-BZFWDIV6.js';
2
+ import { cx } from './chunk-ODEQTPFM.js';
3
+ import './ChoiceButtons-DJ5EOGUA.css';
4
+ import { useId } from 'react';
5
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
+
7
+ function ChoiceButtons({
8
+ label,
9
+ options,
10
+ recommended,
11
+ recommendedLabel = "Recommended",
12
+ onChoose,
13
+ pending,
14
+ disabledReason,
15
+ className,
16
+ ...rest
17
+ }) {
18
+ const reasonId = useId();
19
+ const first = options.find((o) => o.value === recommended);
20
+ const ordered = first ? [first, ...options.filter((o) => o !== first)] : options;
21
+ const busy = pending !== void 0 && pending !== null;
22
+ const inert = busy || disabledReason !== void 0;
23
+ return /* @__PURE__ */ jsxs("div", { ...rest, role: "group", "aria-label": label, className: cx("crewlet-choice-buttons", className), children: [
24
+ ordered.map((option) => {
25
+ const isRecommended = option === first;
26
+ return /* @__PURE__ */ jsxs(
27
+ "button",
28
+ {
29
+ type: "button",
30
+ className: cx("crewlet-choice-buttons__option", isRecommended && "crewlet-choice-buttons__option--recommended"),
31
+ "aria-disabled": inert || void 0,
32
+ "aria-busy": pending === option.value || void 0,
33
+ "aria-describedby": disabledReason === void 0 ? void 0 : reasonId,
34
+ onClick: (event) => {
35
+ if (inert) {
36
+ event.preventDefault();
37
+ return;
38
+ }
39
+ onChoose(option.value);
40
+ },
41
+ children: [
42
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-choice-buttons__text", children: [
43
+ /* @__PURE__ */ jsx("span", { className: "crewlet-choice-buttons__label", children: option.label }),
44
+ option.detail === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
45
+ " ",
46
+ /* @__PURE__ */ jsx("span", { className: "crewlet-choice-buttons__detail", children: option.detail })
47
+ ] })
48
+ ] }),
49
+ isRecommended ? /* @__PURE__ */ jsxs(Fragment, { children: [
50
+ " ",
51
+ /* @__PURE__ */ jsx("span", { className: "crewlet-choice-buttons__note", children: recommendedLabel })
52
+ ] }) : null
53
+ ]
54
+ },
55
+ option.value
56
+ );
57
+ }),
58
+ disabledReason === void 0 ? null : /* @__PURE__ */ jsx(VisuallyHidden, { id: reasonId, children: disabledReason })
59
+ ] });
60
+ }
61
+
62
+ export { ChoiceButtons };
@@ -0,0 +1,93 @@
1
+ import { Eyebrow } from './chunk-RK4XPHVG.js';
2
+ import { useHeadingLevel, HeadingLevelProvider, nextHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
3
+ import { cx } from './chunk-ODEQTPFM.js';
4
+ import './ReadingPane-5UOLPWY5.css';
5
+ import { createContext, useId, useContext } from 'react';
6
+ import { CheckGlyph } from '@crewlethq/icons/glyphs';
7
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+
9
+ var ReadingPaneContext = createContext(null);
10
+ function usePane(part) {
11
+ const pane = useContext(ReadingPaneContext);
12
+ if (pane === null) throw new Error(`${part} must be drawn inside a ReadingPane.`);
13
+ return pane;
14
+ }
15
+ function ReadingPane({ headingLevel, className, children, ...rest }) {
16
+ const titleId = useId();
17
+ const outer = useHeadingLevel();
18
+ const level = headingLevel ?? outer;
19
+ const named = rest["aria-label"] !== void 0 || rest["aria-labelledby"] !== void 0;
20
+ return /* @__PURE__ */ jsx("div", { className: "crewlet-reading-pane", children: /* @__PURE__ */ jsx(
21
+ "article",
22
+ {
23
+ ...rest,
24
+ "aria-labelledby": named ? rest["aria-labelledby"] : titleId,
25
+ className: cx("crewlet-reading-pane__column", className),
26
+ children: /* @__PURE__ */ jsx(ReadingPaneContext.Provider, { value: { titleId, level }, children: /* @__PURE__ */ jsx(HeadingLevelProvider, { level: nextHeadingLevel(level), children }) })
27
+ }
28
+ ) });
29
+ }
30
+ function ReadingPaneByline({ start, leading, note, className, children, ...rest }) {
31
+ return /* @__PURE__ */ jsxs("p", { ...rest, className: cx("crewlet-reading-pane__byline", className), children: [
32
+ start === void 0 ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-reading-pane__start", children: start }),
33
+ leading === void 0 ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-reading-pane__leading", children: leading }),
34
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-reading-pane__by", children: [
35
+ children,
36
+ note === void 0 || note === null || note === false ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
37
+ " ",
38
+ /* @__PURE__ */ jsxs("span", { className: "crewlet-reading-pane__note", children: [
39
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\xB7 " }),
40
+ note
41
+ ] })
42
+ ] })
43
+ ] })
44
+ ] });
45
+ }
46
+ function ReadingPaneTitle({ className, children, ...rest }) {
47
+ const { titleId, level } = usePane("ReadingPane.Title");
48
+ const Heading = headingTag(level);
49
+ return /* @__PURE__ */ jsx(Heading, { id: titleId, ...rest, className: cx("crewlet-reading-pane__title", className), children });
50
+ }
51
+ function ReadingPaneLead({ className, children, ...rest }) {
52
+ return /* @__PURE__ */ jsx("div", { ...rest, className: cx("crewlet-reading-pane__lead", className), children });
53
+ }
54
+ function ReadingPaneQuote({ verbatim = false, className, children, ...rest }) {
55
+ return /* @__PURE__ */ jsx(
56
+ "blockquote",
57
+ {
58
+ ...rest,
59
+ className: cx("crewlet-reading-pane__quote", verbatim && "crewlet-reading-pane__quote--verbatim", className),
60
+ children
61
+ }
62
+ );
63
+ }
64
+ function ReadingPaneReasoning({ title, footer, className, children, ...rest }) {
65
+ return /* @__PURE__ */ jsxs("div", { ...rest, className: cx("crewlet-reading-pane__reasoning", className), children: [
66
+ /* @__PURE__ */ jsx("p", { className: "crewlet-reading-pane__reasoning-title", children: title }),
67
+ /* @__PURE__ */ jsx("div", { className: "crewlet-reading-pane__reasoning-body", children }),
68
+ footer === void 0 || footer === null || footer === false ? null : /* @__PURE__ */ jsx("div", { className: "crewlet-reading-pane__reasoning-footer", children: footer })
69
+ ] });
70
+ }
71
+ function ReadingPaneOutcome({ className, children, ...rest }) {
72
+ return /* @__PURE__ */ jsxs("p", { role: "status", ...rest, className: cx("crewlet-reading-pane__outcome", className), children: [
73
+ /* @__PURE__ */ jsx(CheckGlyph, { size: "sm", className: "crewlet-reading-pane__outcome-mark" }),
74
+ /* @__PURE__ */ jsx("span", { children })
75
+ ] });
76
+ }
77
+ function ReadingPaneSection({ label, className, children, ...rest }) {
78
+ const labelId = useId();
79
+ const Heading = headingTag(useHeadingLevel());
80
+ return /* @__PURE__ */ jsxs("section", { ...rest, "aria-labelledby": labelId, className: cx("crewlet-reading-pane__section", className), children: [
81
+ /* @__PURE__ */ jsx(Heading, { id: labelId, className: "crewlet-reading-pane__section-label", children: /* @__PURE__ */ jsx(Eyebrow, { children: label }) }),
82
+ children
83
+ ] });
84
+ }
85
+ ReadingPane.Byline = ReadingPaneByline;
86
+ ReadingPane.Title = ReadingPaneTitle;
87
+ ReadingPane.Lead = ReadingPaneLead;
88
+ ReadingPane.Quote = ReadingPaneQuote;
89
+ ReadingPane.Reasoning = ReadingPaneReasoning;
90
+ ReadingPane.Outcome = ReadingPaneOutcome;
91
+ ReadingPane.Section = ReadingPaneSection;
92
+
93
+ export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle };
@@ -5,6 +5,7 @@ export * from '../AppShell/index.js';
5
5
  export * from '../Avatar/index.js';
6
6
  export * from '../AvatarPicker/index.js';
7
7
  export * from '../BrandLockup/index.js';
8
+ export * from '../Breadcrumb/index.js';
8
9
  export * from '../Button/index.js';
9
10
  export * from '../CalendarGrid/index.js';
10
11
  export * from '../Callout/index.js';
@@ -13,9 +14,12 @@ export * from '../Card/index.js';
13
14
  export * from '../CharacterPicker/index.js';
14
15
  export * from '../Charts/index.js';
15
16
  export * from '../Checkbox/index.js';
17
+ export * from '../ChoiceButtons/index.js';
18
+ export * from '../ChoiceList/index.js';
16
19
  export * from '../CodeBlock/index.js';
17
20
  export * from '../Combobox/index.js';
18
21
  export * from '../CommandPalette/index.js';
22
+ export * from '../Composer/index.js';
19
23
  export * from '../Container/index.js';
20
24
  export * from '../Copyable/index.js';
21
25
  export * from '../Count/index.js';
@@ -25,6 +29,7 @@ export * from '../DateTimePicker/index.js';
25
29
  export * from '../DescriptionList/index.js';
26
30
  export * from '../DiffList/index.js';
27
31
  export * from '../Disclosure/index.js';
32
+ export * from '../Document/index.js';
28
33
  export * from '../EmptyState/index.js';
29
34
  export * from '../EmptyValue/index.js';
30
35
  export * from '../EntityChip/index.js';
@@ -33,18 +38,22 @@ export * from '../Eyebrow/index.js';
33
38
  export * from '../FactList/index.js';
34
39
  export * from '../FilterChip/index.js';
35
40
  export * from '../Fullscreen/index.js';
41
+ export * from '../Highlight/index.js';
36
42
  export * from '../HuePicker/index.js';
37
43
  export * from '../IconButton/index.js';
38
44
  export * from '../ImageUpload/index.js';
45
+ export * from '../InboxList/index.js';
39
46
  export * from '../InlineCode/index.js';
40
47
  export * from '../Input/index.js';
41
48
  export * from '../Kbd/index.js';
49
+ export * from '../KeyChip/index.js';
42
50
  export * from '../Layer/index.js';
43
51
  export * from '../Layout/index.js';
44
52
  export * from '../Link/index.js';
45
53
  export * from '../List/index.js';
46
54
  export * from '../ListInput/index.js';
47
55
  export * from '../Listbox/index.js';
56
+ export * from '../MarkdownEditor/index.js';
48
57
  export * from '../Menu/index.js';
49
58
  export * from '../Meter/index.js';
50
59
  export * from '../Modal/index.js';
@@ -52,10 +61,12 @@ export * from '../NewItemsNotice/index.js';
52
61
  export * from '../OrgLabel/index.js';
53
62
  export * from '../OrgNode/index.js';
54
63
  export * from '../OrgTable/index.js';
64
+ export * from '../Outline/index.js';
55
65
  export * from '../PageHeader/index.js';
56
66
  export * from '../Popover/index.js';
57
67
  export * from '../PricingCard/index.js';
58
68
  export * from '../Prose/index.js';
69
+ export * from '../ReadingPane/index.js';
59
70
  export * from '../RelativeTime/index.js';
60
71
  export * from '../SearchTrigger/index.js';
61
72
  export * from '../Section/index.js';
@@ -70,12 +81,15 @@ export * from '../StatGroup/index.js';
70
81
  export * from '../StatusDot/index.js';
71
82
  export * from '../Stepper/index.js';
72
83
  export * from '../Switch/index.js';
84
+ export * from '../Switcher/index.js';
73
85
  export * from '../Table/index.js';
74
86
  export * from '../Tabs/index.js';
75
87
  export * from '../Tag/index.js';
76
88
  export * from '../TagGroup/index.js';
77
89
  export * from '../TagsInput/index.js';
78
90
  export * from '../Text/index.js';
91
+ export * from '../ThemeGallery/index.js';
92
+ export * from '../ThemeSwatch/index.js';
79
93
  export * from '../ThemeSwitcher/index.js';
80
94
  export * from '../ThemeToggle/index.js';
81
95
  export * from '../TimeWindowPicker/index.js';
@@ -1,75 +1,90 @@
1
- import '../chunk-PQLMLG5K.js';
2
- export { TreeCanvas } from '../chunk-5WEVLIB6.js';
1
+ import '../chunk-6AR2T5Y4.js';
3
2
  import '../chunk-AER7UDD4.js';
4
- export { ThemeToggle } from '../chunk-ORNOOMVY.js';
5
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-HLBRPES3.js';
6
3
  export { Timeline, TimelineItem } from '../chunk-O67VF5MS.js';
7
- export { ToastProvider, Toaster, useToast } from '../chunk-UG5ZMAXW.js';
8
- export { Switch } from '../chunk-A722MUNR.js';
9
- export { Table } from '../chunk-V2N3BMOT.js';
4
+ export { ToastProvider, Toaster, useToast } from '../chunk-LELD5KPA.js';
5
+ export { TreeCanvas } from '../chunk-RZ7RGECB.js';
10
6
  export { TagGroup } from '../chunk-E6UWRXNM.js';
11
- export { TagsInput } from '../chunk-7JGWSOLM.js';
7
+ export { TagsInput } from '../chunk-GG2QEZO2.js';
12
8
  export { Text } from '../chunk-23DHIMJA.js';
13
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-WEIINZPA.js';
9
+ export { ThemeGallery } from '../chunk-KLIEPFEZ.js';
10
+ export { ThemeSwatch } from '../chunk-MNFU2RNT.js';
11
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-SBRE7IML.js';
12
+ export { ThemeToggle } from '../chunk-6TSZCBID.js';
14
13
  export { applyDensity, applyStoredPreferences, applyTheme, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-K3OWD7BJ.js';
15
- export { Select } from '../chunk-SEFMO2EV.js';
14
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-B2CITO6R.js';
15
+ export { StatGroup } from '../chunk-QVAFL2LE.js';
16
+ export { Stepper } from '../chunk-5QWIJSQM.js';
17
+ export { Switch } from '../chunk-A722MUNR.js';
18
+ export { Switcher } from '../chunk-S3IENQ3E.js';
19
+ export { Table } from '../chunk-V2N3BMOT.js';
20
+ export { Section } from '../chunk-A2UXBCLO.js';
21
+ export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
22
+ export { Select } from '../chunk-XFE5W2I4.js';
16
23
  export { matchesShortcut, useShortcut } from '../chunk-2FPENTCF.js';
17
- export { NavGroup, NavItem, SidebarNav } from '../chunk-IVFJD7WY.js';
24
+ export { NavGroup, NavItem, SidebarNav } from '../chunk-UCCC7YVZ.js';
18
25
  export { Skeleton } from '../chunk-W5J7R5EB.js';
19
26
  export { StatCard } from '../chunk-IKB6HFGK.js';
20
- export { StatGroup } from '../chunk-QVAFL2LE.js';
21
- export { Stepper } from '../chunk-5QWIJSQM.js';
27
+ export { Outline, scrollToHeading, useActiveHeading } from '../chunk-A5YKNRG6.js';
22
28
  export { PricingCard } from '../chunk-UCYIRDND.js';
23
29
  export { Tag } from '../chunk-LOECRMHA.js';
24
30
  export { StatusDot } from '../chunk-WIATRXEJ.js';
31
+ export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-ZAJHGDAW.js';
25
32
  export { Prose } from '../chunk-JCSA3XVH.js';
26
33
  export { SearchTrigger } from '../chunk-6DRDCT22.js';
27
- export { Section } from '../chunk-A2UXBCLO.js';
28
- import '../chunk-UAQIUSSK.js';
29
- export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
34
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-77IEHFY4.js';
35
+ import '../chunk-VYY56AMX.js';
30
36
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-4PZ6FJKW.js';
31
37
  export { NewItemsNotice } from '../chunk-PXU6HOZB.js';
32
38
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-IHGKPEEV.js';
33
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-ZMJHK7DR.js';
34
- export { TreeGrid } from '../chunk-MCPKHYMC.js';
35
- export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, layoutConnectors, layoutForest, placeGroups, treeAllExpandable, treeAncestors, treeCollapseOrAscend, treeExpandOrDescend, treeExpandTo, treeExpandable, treeFirst, treeFirstChild, treeItemAction, treeLast, treeLevel, treeNext, treeParent, treePosInSet, treePrevious, treeSetSize, treeStep, treeTypeAhead, treeVisible, typeAheadBuffer, useLayoutAnchor, useMeasuredSizes, useTreeState } from '../chunk-S3BCVWTU.js';
39
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-75WOCYGC.js';
40
+ export { TreeGrid } from '../chunk-6LXMLQUM.js';
41
+ export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, layoutConnectors, layoutForest, placeGroups, treeAllExpandable, treeAncestors, treeCollapseOrAscend, treeExpandOrDescend, treeExpandTo, treeExpandable, treeFirst, treeFirstChild, treeItemAction, treeLast, treeLevel, treeNext, treeParent, treePosInSet, treePrevious, treeSetSize, treeStep, treeTypeAhead, treeVisible, typeAheadBuffer, useLayoutAnchor, useMeasuredSizes, useTreeState } from '../chunk-MY374UUD.js';
36
42
  export { OrgLabel } from '../chunk-6OF2DBKY.js';
43
+ export { Link } from '../chunk-FBSEJO2C.js';
37
44
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-W4ENKCXJ.js';
38
- export { Link } from '../chunk-ZPSOF6VL.js';
39
45
  export { List, ListItem } from '../chunk-DS2C73RJ.js';
40
46
  export { ListInput } from '../chunk-LZP7FGT7.js';
47
+ export { useFullscreen } from '../chunk-XDTYBF2F.js';
48
+ export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
49
+ import '../chunk-EXHQ2QVW.js';
50
+ export { ImageUpload } from '../chunk-DJMLHCLD.js';
51
+ export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from '../chunk-XYCADWZN.js';
52
+ export { InlineCode } from '../chunk-NN62JQLR.js';
53
+ export { Document, DocumentTitle } from '../chunk-WI6K5M5X.js';
54
+ export { EmptyState } from '../chunk-RA2ULG6H.js';
55
+ export { EntityChip } from '../chunk-DDTDN5L2.js';
56
+ export { ErrorBoundary } from '../chunk-XX2VQE55.js';
41
57
  export { Eyebrow } from '../chunk-RK4XPHVG.js';
42
58
  export { FactList } from '../chunk-URYDN2KA.js';
43
59
  export { Tooltip } from '../chunk-CQY5NTRS.js';
44
60
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-5YLON2PW.js';
45
- export { useFullscreen } from '../chunk-XDTYBF2F.js';
46
- import '../chunk-EXHQ2QVW.js';
47
- export { ImageUpload } from '../chunk-LAQK4V3Z.js';
48
- export { InlineCode } from '../chunk-NN62JQLR.js';
61
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-UZPHPW3Z.js';
62
+ export { PageHeader } from '../chunk-HOXGBLEY.js';
63
+ export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from '../chunk-3CZ7XAVY.js';
64
+ export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-PGRPNDWM.js';
65
+ export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-WY2NLRZN.js';
66
+ export { Menu } from '../chunk-TFH6SYWB.js';
67
+ export { EMPTY_VALUE, EmptyValue } from '../chunk-EUCC37WY.js';
68
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-JDPAA2JU.js';
49
69
  export { DescriptionList, DescriptionListItem } from '../chunk-XN4JBAN3.js';
50
70
  export { DIFF_LIST_LABELS, DiffList } from '../chunk-LFHCXZO5.js';
51
71
  export { Disclosure } from '../chunk-S4RCG44T.js';
52
- export { EmptyState } from '../chunk-RA2ULG6H.js';
53
- export { EntityChip } from '../chunk-DDTDN5L2.js';
54
- export { ErrorBoundary } from '../chunk-XX2VQE55.js';
72
+ export { Checkbox } from '../chunk-YCTMKKRA.js';
73
+ export { ChoiceButtons } from '../chunk-YSJC7AZC.js';
74
+ export { ChoiceList } from '../chunk-QBXZLGK2.js';
55
75
  export { CodeBlock } from '../chunk-KGTQ5CVD.js';
56
- export { Combobox } from '../chunk-ELZKOVEC.js';
57
- export { CommandPalette } from '../chunk-6SDGRKQ7.js';
58
- export { Container } from '../chunk-QVE4GJAT.js';
59
76
  export { CopyButton, Copyable } from '../chunk-YACKC3K2.js';
60
- export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-CIOKUMVC.js';
61
- export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-PGRPNDWM.js';
62
- export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from '../chunk-3CZ7XAVY.js';
63
- export { PageHeader } from '../chunk-HOXGBLEY.js';
64
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-JCNUQ3US.js';
77
+ export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
78
+ export { Combobox } from '../chunk-4Y7WKXAW.js';
79
+ export { CommandPalette } from '../chunk-HKGS67VG.js';
80
+ export { ConfirmModal, Modal } from '../chunk-CF6DTETT.js';
81
+ export { HIGHLIGHT_REST_MS, TYPE_AHEAD_WINDOW, useHighlightRest, useListbox, useOptionKeys } from '../chunk-F73MC7EZ.js';
82
+ export { COMPOSER_COUNTER_AT, Composer } from '../chunk-QSLIN64M.js';
65
83
  export { Kbd, isApplePlatform, keyGlyph } from '../chunk-SMBKXWML.js';
66
84
  export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-FTEJPHBI.js';
67
- export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from '../chunk-6MU7HNB4.js';
68
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-R4ZJB5YX.js';
69
- export { Menu } from '../chunk-TFH6SYWB.js';
70
- export { EMPTY_VALUE, EmptyValue } from '../chunk-EUCC37WY.js';
71
- export { ConfirmModal, Modal } from '../chunk-TEEJSTFG.js';
72
- export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
85
+ export { Container } from '../chunk-QVE4GJAT.js';
86
+ export { Breadcrumb } from '../chunk-VWNC2L6W.js';
87
+ export { KeyChip } from '../chunk-FYTIJM2T.js';
73
88
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-GXQ3B46I.js';
74
89
  export { Callout } from '../chunk-R6FBDTP3.js';
75
90
  export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, anchorView, beyondSlop, clampPan, clampZoom, fitView, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from '../chunk-2PZBIHRV.js';
@@ -79,27 +94,27 @@ export { Card } from '../chunk-EG6NYWVK.js';
79
94
  export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
80
95
  import '../chunk-3L5NHASN.js';
81
96
  export { ActivityStrip, BarList, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, niceScale, useChartHover } from '../chunk-4WNNEDKO.js';
82
- export { Checkbox } from '../chunk-YCTMKKRA.js';
83
97
  export { Accordion, AccordionItem } from '../chunk-G2AVKPSL.js';
84
98
  export { DisclosureAnatomy } from '../chunk-ENJUPIND.js';
85
99
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
86
100
  export { ADD_PILL_MS, AddPill } from '../chunk-74WGARJE.js';
87
- export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-7LD6P32I.js';
101
+ export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-L3CTFFLZ.js';
102
+ import '../chunk-IG75YMUN.js';
88
103
  export { IconButton } from '../chunk-4FQT6ZAY.js';
104
+ export { AvatarStack, avatarStackLabel } from '../chunk-6NIZCQUM.js';
89
105
  export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
90
- export { AvatarStack, avatarStackLabel } from '../chunk-3UK4VFSK.js';
91
- export { AvatarPicker } from '../chunk-HV6IZFBK.js';
92
- export { HuePicker } from '../chunk-K5Q2DK3P.js';
106
+ export { AvatarPicker } from '../chunk-4FFHJBEN.js';
107
+ export { HuePicker } from '../chunk-NXDEPUVG.js';
93
108
  export { NODE_HUES, NODE_HUE_NAMES, isNodeHue } from '../chunk-AYKXMIOR.js';
94
- export { SegmentedControl } from '../chunk-EBBAAQDY.js';
95
- export { TabPanel, Tabs, tabId } from '../chunk-JHQUT4WJ.js';
96
- export { Popover } from '../chunk-PDUZO35I.js';
109
+ export { SegmentedControl } from '../chunk-26PEPONN.js';
110
+ export { TabPanel, Tabs, tabId } from '../chunk-4LDTQWS7.js';
111
+ export { Popover } from '../chunk-O2ZDZZS7.js';
97
112
  export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-YXMCUKFI.js';
98
113
  import '../chunk-CBOICT64.js';
99
114
  export { Count } from '../chunk-BHHIIK3M.js';
100
115
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, outsideBounds, placePopup, useLayerContainer, viewportBounds } from '../chunk-7RPGY3JE.js';
101
116
  export { focusables, isComposing, isModalLayerOpen, layerCount, useBodyScrollLock, useModalLayer, usePopupLayer } from '../chunk-R25RGPUB.js';
102
- export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
103
117
  export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarPixels, avatarTint, getInitials } from '../chunk-HI6Q2UXQ.js';
118
+ export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
104
119
  export { BrandLockup } from '../chunk-7KBNFFM3.js';
105
120
  export { cx } from '../chunk-ODEQTPFM.js';