@crewlethq/ui 0.12.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 (157) hide show
  1. package/README.md +66 -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/Combobox/index.js +2 -2
  15. package/dist/CommandPalette/CommandPalette.d.ts +48 -1
  16. package/dist/CommandPalette/index.js +3 -3
  17. package/dist/{CommandPalette-C5AMKGN2.css → CommandPalette-HBTNKHZQ.css} +55 -2
  18. package/dist/DataTable/index.js +4 -4
  19. package/dist/DataView/index.js +11 -11
  20. package/dist/DateTimePicker/index.js +2 -2
  21. package/dist/Document/Document.d.ts +56 -0
  22. package/dist/Document/index.d.ts +3 -0
  23. package/dist/Document/index.js +2 -0
  24. package/dist/Document-PQGXJHB7.css +288 -0
  25. package/dist/EntityChip/index.js +1 -1
  26. package/dist/Highlight/Highlight.d.ts +45 -0
  27. package/dist/Highlight/index.d.ts +3 -0
  28. package/dist/Highlight/index.js +2 -0
  29. package/dist/Highlight-DXLV2R6L.css +29 -0
  30. package/dist/HuePicker/index.js +3 -3
  31. package/dist/ImageUpload/index.js +2 -2
  32. package/dist/{ImageUpload-L2GE4JUM.css → ImageUpload-NVGMN7DP.css} +9 -6
  33. package/dist/InboxList/InboxList.d.ts +116 -0
  34. package/dist/InboxList/index.d.ts +3 -0
  35. package/dist/InboxList/index.js +5 -0
  36. package/dist/InboxList-YMFWKGGS.css +252 -0
  37. package/dist/KeyChip/KeyChip.d.ts +21 -0
  38. package/dist/KeyChip/index.d.ts +3 -0
  39. package/dist/KeyChip/index.js +2 -0
  40. package/dist/KeyChip-4XJU4BBE.css +30 -0
  41. package/dist/Link/Link.d.ts +17 -2
  42. package/dist/Link/index.js +1 -1
  43. package/dist/{Link-6BEFNMN2.css → Link-WPMVLKLY.css} +36 -1
  44. package/dist/ListInput/index.js +2 -2
  45. package/dist/Listbox/index.d.ts +2 -0
  46. package/dist/Listbox/index.js +1 -1
  47. package/dist/Listbox/useHighlightRest.d.ts +35 -0
  48. package/dist/MarkdownEditor/MarkdownEditor.d.ts +93 -0
  49. package/dist/MarkdownEditor/format.d.ts +34 -0
  50. package/dist/MarkdownEditor/index.d.ts +5 -0
  51. package/dist/MarkdownEditor/index.js +12 -0
  52. package/dist/MarkdownEditor-ZLSHTOIZ.css +146 -0
  53. package/dist/Modal/Modal.d.ts +5 -1
  54. package/dist/Modal/index.js +1 -1
  55. package/dist/{Modal-BNT3TDV2.css → Modal-3YJ2GG2T.css} +33 -0
  56. package/dist/OrgLabel/index.js +1 -1
  57. package/dist/OrgNode/index.js +1 -1
  58. package/dist/OrgTable/index.js +5 -5
  59. package/dist/Outline/Outline.d.ts +72 -0
  60. package/dist/Outline/index.d.ts +3 -0
  61. package/dist/Outline/index.js +2 -0
  62. package/dist/Outline-VCXKKU3E.css +78 -0
  63. package/dist/Popover/Popover.d.ts +21 -1
  64. package/dist/Popover/index.js +1 -1
  65. package/dist/ReadingPane/ReadingPane.d.ts +95 -0
  66. package/dist/ReadingPane/index.d.ts +3 -0
  67. package/dist/ReadingPane/index.js +4 -0
  68. package/dist/ReadingPane-5UOLPWY5.css +194 -0
  69. package/dist/SegmentedControl/SegmentedControl.d.ts +9 -1
  70. package/dist/SegmentedControl/index.js +3 -3
  71. package/dist/{SegmentedControl-76HODRBT.css → SegmentedControl-PKBLJVSA.css} +18 -0
  72. package/dist/Select/Select.d.ts +22 -0
  73. package/dist/Select/index.js +2 -2
  74. package/dist/{Select-4ANVLHUY.css → Select-XMZ44RWY.css} +24 -0
  75. package/dist/SidebarNav/index.js +2 -1
  76. package/dist/{SidebarNav-X5NLZNWA.css → SidebarNav-KF66MLOM.css} +4 -19
  77. package/dist/Switcher/Switcher.d.ts +151 -0
  78. package/dist/Switcher/index.d.ts +3 -0
  79. package/dist/Switcher/index.js +16 -0
  80. package/dist/Switcher-B44Q4WF4.css +346 -0
  81. package/dist/Tabs/Tabs.d.ts +7 -1
  82. package/dist/Tabs/index.js +1 -1
  83. package/dist/{Tabs-5I5Q5KKM.css → Tabs-ITJYJFMU.css} +49 -0
  84. package/dist/TagsInput/index.js +3 -3
  85. package/dist/ThemeGallery/ThemeGallery.d.ts +65 -0
  86. package/dist/ThemeGallery/index.d.ts +3 -0
  87. package/dist/ThemeGallery/index.js +6 -0
  88. package/dist/ThemeGallery-NITASULQ.css +93 -0
  89. package/dist/ThemeSwatch/ThemeSwatch.d.ts +71 -0
  90. package/dist/ThemeSwatch/index.d.ts +3 -0
  91. package/dist/ThemeSwatch/index.js +2 -0
  92. package/dist/ThemeSwatch-4DL457ZB.css +256 -0
  93. package/dist/ThemeSwitcher/ThemeSwitcher.d.ts +5 -1
  94. package/dist/ThemeSwitcher/index.js +4 -4
  95. package/dist/ThemeToggle/ThemeToggle.d.ts +1 -1
  96. package/dist/ThemeToggle/index.js +1 -1
  97. package/dist/TimeWindowPicker/index.js +4 -4
  98. package/dist/Toaster/index.js +1 -1
  99. package/dist/{Toaster-NVDCEIP5.css → Toaster-KZ7YE2HA.css} +1 -0
  100. package/dist/Tree/index.d.ts +1 -1
  101. package/dist/Tree/index.js +1 -1
  102. package/dist/Tree/useTreeState.d.ts +37 -7
  103. package/dist/TreeCanvas/index.js +2 -2
  104. package/dist/TreeGrid/TreeGrid.d.ts +22 -2
  105. package/dist/TreeGrid/index.js +2 -2
  106. package/dist/{TreeGrid-NSW7VMOX.css → TreeGrid-FBX3MSJA.css} +19 -0
  107. package/dist/{chunk-EBBAAQDY.js → chunk-26PEPONN.js} +3 -1
  108. package/dist/{chunk-HV6IZFBK.js → chunk-4FFHJBEN.js} +2 -2
  109. package/dist/{chunk-JHQUT4WJ.js → chunk-4LDTQWS7.js} +1 -1
  110. package/dist/{chunk-GXYNEDNA.js → chunk-4Y7WKXAW.js} +1 -1
  111. package/dist/{chunk-MCPKHYMC.js → chunk-6LXMLQUM.js} +17 -4
  112. package/dist/{chunk-3UK4VFSK.js → chunk-6NIZCQUM.js} +1 -1
  113. package/dist/{chunk-ORNOOMVY.js → chunk-6TSZCBID.js} +2 -2
  114. package/dist/{chunk-ZMJHK7DR.js → chunk-75WOCYGC.js} +2 -2
  115. package/dist/chunk-77IEHFY4.js +299 -0
  116. package/dist/chunk-A5YKNRG6.js +94 -0
  117. package/dist/{chunk-HLBRPES3.js → chunk-B2CITO6R.js} +2 -2
  118. package/dist/{chunk-TEEJSTFG.js → chunk-CF6DTETT.js} +1 -1
  119. package/dist/{chunk-LAQK4V3Z.js → chunk-DJMLHCLD.js} +1 -1
  120. package/dist/{chunk-6MU7HNB4.js → chunk-F73MC7EZ.js} +47 -2
  121. package/dist/{chunk-ZPSOF6VL.js → chunk-FBSEJO2C.js} +1 -1
  122. package/dist/chunk-FYTIJM2T.js +40 -0
  123. package/dist/{chunk-ZHOM65MI.js → chunk-GG2QEZO2.js} +2 -2
  124. package/dist/chunk-H6VKCIWV.js +41 -0
  125. package/dist/{chunk-XV65NTIT.js → chunk-HKGS67VG.js} +94 -41
  126. package/dist/chunk-IG75YMUN.js +22 -0
  127. package/dist/{chunk-JCNUQ3US.js → chunk-JDPAA2JU.js} +1 -1
  128. package/dist/chunk-KLIEPFEZ.js +95 -0
  129. package/dist/{chunk-7LD6P32I.js → chunk-L3CTFFLZ.js} +2 -18
  130. package/dist/{chunk-UG5ZMAXW.js → chunk-LELD5KPA.js} +1 -1
  131. package/dist/chunk-MNFU2RNT.js +74 -0
  132. package/dist/{chunk-S3BCVWTU.js → chunk-MY374UUD.js} +49 -31
  133. package/dist/{chunk-K5Q2DK3P.js → chunk-NXDEPUVG.js} +1 -1
  134. package/dist/{chunk-PDUZO35I.js → chunk-O2ZDZZS7.js} +15 -6
  135. package/dist/{chunk-5WEVLIB6.js → chunk-RZ7RGECB.js} +1 -1
  136. package/dist/chunk-S3IENQ3E.js +336 -0
  137. package/dist/{chunk-WEIINZPA.js → chunk-SBRE7IML.js} +6 -2
  138. package/dist/{chunk-IVFJD7WY.js → chunk-UCCC7YVZ.js} +3 -2
  139. package/dist/{chunk-IINFVK3W.js → chunk-UZPHPW3Z.js} +6 -6
  140. package/dist/chunk-VWNC2L6W.js +110 -0
  141. package/dist/chunk-VYY56AMX.js +2 -0
  142. package/dist/chunk-WI6K5M5X.js +24 -0
  143. package/dist/{chunk-GOUKOXJK.js → chunk-WY2NLRZN.js} +3 -3
  144. package/dist/{chunk-SEFMO2EV.js → chunk-XFE5W2I4.js} +44 -5
  145. package/dist/chunk-XYCADWZN.js +100 -0
  146. package/dist/chunk-YSJC7AZC.js +62 -0
  147. package/dist/chunk-ZAJHGDAW.js +93 -0
  148. package/dist/generated/index.d.ts +12 -0
  149. package/dist/generated/index.js +65 -52
  150. package/dist/index.js +65 -52
  151. package/dist/styles.css +2449 -161
  152. package/dist/utils/highlight.d.ts +17 -0
  153. package/dist/utils/useMediaMatch.d.ts +12 -0
  154. package/package.json +3 -3
  155. package/dist/chunk-UAQIUSSK.js +0 -2
  156. package/dist/{chunk-74OVQWA5.js → chunk-6AR2T5Y4.js} +0 -0
  157. package/dist/{chunk-GARACZAH.js → chunk-LZP7FGT7.js} +1 -1
@@ -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,6 +14,7 @@ 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';
16
18
  export * from '../ChoiceList/index.js';
17
19
  export * from '../CodeBlock/index.js';
18
20
  export * from '../Combobox/index.js';
@@ -27,6 +29,7 @@ export * from '../DateTimePicker/index.js';
27
29
  export * from '../DescriptionList/index.js';
28
30
  export * from '../DiffList/index.js';
29
31
  export * from '../Disclosure/index.js';
32
+ export * from '../Document/index.js';
30
33
  export * from '../EmptyState/index.js';
31
34
  export * from '../EmptyValue/index.js';
32
35
  export * from '../EntityChip/index.js';
@@ -35,18 +38,22 @@ export * from '../Eyebrow/index.js';
35
38
  export * from '../FactList/index.js';
36
39
  export * from '../FilterChip/index.js';
37
40
  export * from '../Fullscreen/index.js';
41
+ export * from '../Highlight/index.js';
38
42
  export * from '../HuePicker/index.js';
39
43
  export * from '../IconButton/index.js';
40
44
  export * from '../ImageUpload/index.js';
45
+ export * from '../InboxList/index.js';
41
46
  export * from '../InlineCode/index.js';
42
47
  export * from '../Input/index.js';
43
48
  export * from '../Kbd/index.js';
49
+ export * from '../KeyChip/index.js';
44
50
  export * from '../Layer/index.js';
45
51
  export * from '../Layout/index.js';
46
52
  export * from '../Link/index.js';
47
53
  export * from '../List/index.js';
48
54
  export * from '../ListInput/index.js';
49
55
  export * from '../Listbox/index.js';
56
+ export * from '../MarkdownEditor/index.js';
50
57
  export * from '../Menu/index.js';
51
58
  export * from '../Meter/index.js';
52
59
  export * from '../Modal/index.js';
@@ -54,10 +61,12 @@ export * from '../NewItemsNotice/index.js';
54
61
  export * from '../OrgLabel/index.js';
55
62
  export * from '../OrgNode/index.js';
56
63
  export * from '../OrgTable/index.js';
64
+ export * from '../Outline/index.js';
57
65
  export * from '../PageHeader/index.js';
58
66
  export * from '../Popover/index.js';
59
67
  export * from '../PricingCard/index.js';
60
68
  export * from '../Prose/index.js';
69
+ export * from '../ReadingPane/index.js';
61
70
  export * from '../RelativeTime/index.js';
62
71
  export * from '../SearchTrigger/index.js';
63
72
  export * from '../Section/index.js';
@@ -72,12 +81,15 @@ export * from '../StatGroup/index.js';
72
81
  export * from '../StatusDot/index.js';
73
82
  export * from '../Stepper/index.js';
74
83
  export * from '../Switch/index.js';
84
+ export * from '../Switcher/index.js';
75
85
  export * from '../Table/index.js';
76
86
  export * from '../Tabs/index.js';
77
87
  export * from '../Tag/index.js';
78
88
  export * from '../TagGroup/index.js';
79
89
  export * from '../TagsInput/index.js';
80
90
  export * from '../Text/index.js';
91
+ export * from '../ThemeGallery/index.js';
92
+ export * from '../ThemeSwatch/index.js';
81
93
  export * from '../ThemeSwitcher/index.js';
82
94
  export * from '../ThemeToggle/index.js';
83
95
  export * from '../TimeWindowPicker/index.js';
@@ -1,107 +1,120 @@
1
- import '../chunk-74OVQWA5.js';
2
- export { TreeCanvas } from '../chunk-5WEVLIB6.js';
3
- export { Card } from '../chunk-EG6NYWVK.js';
1
+ import '../chunk-6AR2T5Y4.js';
4
2
  import '../chunk-AER7UDD4.js';
5
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-WEIINZPA.js';
6
- export { ThemeToggle } from '../chunk-ORNOOMVY.js';
7
- export { applyDensity, applyStoredPreferences, applyTheme, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-K3OWD7BJ.js';
8
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-HLBRPES3.js';
9
3
  export { Timeline, TimelineItem } from '../chunk-O67VF5MS.js';
10
- export { ToastProvider, Toaster, useToast } from '../chunk-UG5ZMAXW.js';
4
+ export { ToastProvider, Toaster, useToast } from '../chunk-LELD5KPA.js';
5
+ export { TreeCanvas } from '../chunk-RZ7RGECB.js';
6
+ export { TagGroup } from '../chunk-E6UWRXNM.js';
7
+ export { TagsInput } from '../chunk-GG2QEZO2.js';
8
+ export { Text } from '../chunk-23DHIMJA.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';
13
+ export { applyDensity, applyStoredPreferences, applyTheme, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-K3OWD7BJ.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';
11
16
  export { Stepper } from '../chunk-5QWIJSQM.js';
12
17
  export { Switch } from '../chunk-A722MUNR.js';
18
+ export { Switcher } from '../chunk-S3IENQ3E.js';
13
19
  export { Table } from '../chunk-V2N3BMOT.js';
14
- export { TagGroup } from '../chunk-E6UWRXNM.js';
15
- export { TagsInput } from '../chunk-ZHOM65MI.js';
16
- export { Text } from '../chunk-23DHIMJA.js';
20
+ export { Section } from '../chunk-A2UXBCLO.js';
17
21
  export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
18
- export { Select } from '../chunk-SEFMO2EV.js';
22
+ export { Select } from '../chunk-XFE5W2I4.js';
19
23
  export { matchesShortcut, useShortcut } from '../chunk-2FPENTCF.js';
20
- export { NavGroup, NavItem, SidebarNav } from '../chunk-IVFJD7WY.js';
24
+ export { NavGroup, NavItem, SidebarNav } from '../chunk-UCCC7YVZ.js';
21
25
  export { Skeleton } from '../chunk-W5J7R5EB.js';
22
26
  export { StatCard } from '../chunk-IKB6HFGK.js';
23
- export { StatGroup } from '../chunk-QVAFL2LE.js';
27
+ export { Outline, scrollToHeading, useActiveHeading } from '../chunk-A5YKNRG6.js';
24
28
  export { PricingCard } from '../chunk-UCYIRDND.js';
25
29
  export { Tag } from '../chunk-LOECRMHA.js';
26
30
  export { StatusDot } from '../chunk-WIATRXEJ.js';
31
+ export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-ZAJHGDAW.js';
27
32
  export { Prose } from '../chunk-JCSA3XVH.js';
28
33
  export { SearchTrigger } from '../chunk-6DRDCT22.js';
29
- export { Section } from '../chunk-A2UXBCLO.js';
30
- import '../chunk-UAQIUSSK.js';
34
+ export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-77IEHFY4.js';
35
+ import '../chunk-VYY56AMX.js';
31
36
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-4PZ6FJKW.js';
32
37
  export { NewItemsNotice } from '../chunk-PXU6HOZB.js';
33
38
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-IHGKPEEV.js';
34
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-ZMJHK7DR.js';
35
- export { TreeGrid } from '../chunk-MCPKHYMC.js';
36
- 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';
37
42
  export { OrgLabel } from '../chunk-6OF2DBKY.js';
38
- export { InlineCode } from '../chunk-NN62JQLR.js';
43
+ export { Link } from '../chunk-FBSEJO2C.js';
39
44
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-W4ENKCXJ.js';
40
- export { Link } from '../chunk-ZPSOF6VL.js';
41
45
  export { List, ListItem } from '../chunk-DS2C73RJ.js';
42
- export { ListInput } from '../chunk-GARACZAH.js';
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';
43
56
  export { ErrorBoundary } from '../chunk-XX2VQE55.js';
44
57
  export { Eyebrow } from '../chunk-RK4XPHVG.js';
45
58
  export { FactList } from '../chunk-URYDN2KA.js';
46
59
  export { Tooltip } from '../chunk-CQY5NTRS.js';
47
60
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-5YLON2PW.js';
48
- export { useFullscreen } from '../chunk-XDTYBF2F.js';
49
- import '../chunk-EXHQ2QVW.js';
50
- export { ImageUpload } from '../chunk-LAQK4V3Z.js';
51
- export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-IINFVK3W.js';
52
- export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-PGRPNDWM.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';
53
62
  export { PageHeader } from '../chunk-HOXGBLEY.js';
54
63
  export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from '../chunk-3CZ7XAVY.js';
55
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-JCNUQ3US.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';
56
69
  export { DescriptionList, DescriptionListItem } from '../chunk-XN4JBAN3.js';
57
70
  export { DIFF_LIST_LABELS, DiffList } from '../chunk-LFHCXZO5.js';
58
71
  export { Disclosure } from '../chunk-S4RCG44T.js';
59
- export { EmptyState } from '../chunk-RA2ULG6H.js';
60
- export { EntityChip } from '../chunk-DDTDN5L2.js';
72
+ export { Checkbox } from '../chunk-YCTMKKRA.js';
73
+ export { ChoiceButtons } from '../chunk-YSJC7AZC.js';
74
+ export { ChoiceList } from '../chunk-QBXZLGK2.js';
61
75
  export { CodeBlock } from '../chunk-KGTQ5CVD.js';
62
- export { Combobox } from '../chunk-GXYNEDNA.js';
63
- export { CommandPalette } from '../chunk-XV65NTIT.js';
64
- export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from '../chunk-6MU7HNB4.js';
76
+ export { CopyButton, Copyable } from '../chunk-YACKC3K2.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';
65
82
  export { COMPOSER_COUNTER_AT, Composer } from '../chunk-QSLIN64M.js';
66
83
  export { Kbd, isApplePlatform, keyGlyph } from '../chunk-SMBKXWML.js';
67
84
  export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-FTEJPHBI.js';
68
85
  export { Container } from '../chunk-QVE4GJAT.js';
69
- export { CopyButton, Copyable } from '../chunk-YACKC3K2.js';
70
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-GOUKOXJK.js';
71
- export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
72
- export { Menu } from '../chunk-TFH6SYWB.js';
73
- export { EMPTY_VALUE, EmptyValue } from '../chunk-EUCC37WY.js';
74
- export { ConfirmModal, Modal } from '../chunk-TEEJSTFG.js';
75
- export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
86
+ export { Breadcrumb } from '../chunk-VWNC2L6W.js';
87
+ export { KeyChip } from '../chunk-FYTIJM2T.js';
76
88
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-GXQ3B46I.js';
77
89
  export { Callout } from '../chunk-R6FBDTP3.js';
78
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
91
  import '../chunk-53DVJCVW.js';
80
92
  export { Button, ButtonLink } from '../chunk-OG6CL3EB.js';
93
+ export { Card } from '../chunk-EG6NYWVK.js';
94
+ export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
81
95
  import '../chunk-3L5NHASN.js';
82
96
  export { ActivityStrip, BarList, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, niceScale, useChartHover } from '../chunk-4WNNEDKO.js';
83
- export { Checkbox } from '../chunk-YCTMKKRA.js';
84
- export { ChoiceList } from '../chunk-QBXZLGK2.js';
85
97
  export { Accordion, AccordionItem } from '../chunk-G2AVKPSL.js';
86
98
  export { DisclosureAnatomy } from '../chunk-ENJUPIND.js';
87
99
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
88
100
  export { ADD_PILL_MS, AddPill } from '../chunk-74WGARJE.js';
89
- export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
90
- 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';
91
103
  export { IconButton } from '../chunk-4FQT6ZAY.js';
92
- export { AvatarStack, avatarStackLabel } from '../chunk-3UK4VFSK.js';
93
- export { BrandLockup } from '../chunk-7KBNFFM3.js';
94
- export { AvatarPicker } from '../chunk-HV6IZFBK.js';
95
- export { HuePicker } from '../chunk-K5Q2DK3P.js';
104
+ export { AvatarStack, avatarStackLabel } from '../chunk-6NIZCQUM.js';
105
+ export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
106
+ export { AvatarPicker } from '../chunk-4FFHJBEN.js';
107
+ export { HuePicker } from '../chunk-NXDEPUVG.js';
96
108
  export { NODE_HUES, NODE_HUE_NAMES, isNodeHue } from '../chunk-AYKXMIOR.js';
97
- export { SegmentedControl } from '../chunk-EBBAAQDY.js';
98
- export { TabPanel, Tabs, tabId } from '../chunk-JHQUT4WJ.js';
99
- 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';
100
112
  export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-YXMCUKFI.js';
101
113
  import '../chunk-CBOICT64.js';
102
114
  export { Count } from '../chunk-BHHIIK3M.js';
103
115
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, outsideBounds, placePopup, useLayerContainer, viewportBounds } from '../chunk-7RPGY3JE.js';
104
116
  export { focusables, isComposing, isModalLayerOpen, layerCount, useBodyScrollLock, useModalLayer, usePopupLayer } from '../chunk-R25RGPUB.js';
105
- export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
106
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';
119
+ export { BrandLockup } from '../chunk-7KBNFFM3.js';
107
120
  export { cx } from '../chunk-ODEQTPFM.js';