@crewlethq/ui 0.10.0 → 0.11.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 (80) hide show
  1. package/README.md +17 -1
  2. package/dist/Accordion/index.js +3 -3
  3. package/dist/AppShell/index.js +2 -2
  4. package/dist/AvatarPicker/AvatarPicker.d.ts +32 -0
  5. package/dist/AvatarPicker/index.d.ts +3 -0
  6. package/dist/AvatarPicker/index.js +14 -0
  7. package/dist/AvatarPicker-PREY36MG.css +54 -0
  8. package/dist/Canvas/index.js +3 -3
  9. package/dist/Card/index.js +2 -2
  10. package/dist/CharacterPicker/index.js +2 -1
  11. package/dist/CodeBlock/index.js +3 -3
  12. package/dist/Combobox/index.js +3 -3
  13. package/dist/CommandPalette/index.js +6 -6
  14. package/dist/Copyable/index.js +2 -2
  15. package/dist/DataTable/index.js +6 -6
  16. package/dist/DataView/index.js +11 -11
  17. package/dist/DateTimePicker/index.js +4 -4
  18. package/dist/Disclosure/index.js +3 -3
  19. package/dist/FactList/FactList.d.ts +33 -0
  20. package/dist/FactList/index.d.ts +3 -0
  21. package/dist/FactList/index.js +6 -0
  22. package/dist/FactList-G2H73NFR.css +57 -0
  23. package/dist/HuePicker/index.js +4 -3
  24. package/dist/Input/FormField.d.ts +8 -1
  25. package/dist/Input/index.js +1 -1
  26. package/dist/{Input-DRFNI26F.css → Input-RAKNQJCV.css} +7 -0
  27. package/dist/ListInput/ListInput.d.ts +3 -1
  28. package/dist/ListInput/index.js +3 -3
  29. package/dist/Menu/index.js +3 -3
  30. package/dist/Modal/index.js +3 -3
  31. package/dist/OrgTable/index.js +5 -5
  32. package/dist/SegmentedControl/index.js +3 -3
  33. package/dist/Tabs/Tabs.d.ts +18 -0
  34. package/dist/Tabs/index.d.ts +1 -1
  35. package/dist/Tabs/index.js +1 -1
  36. package/dist/{Tabs-BWFQSWY3.css → Tabs-5I5Q5KKM.css} +33 -0
  37. package/dist/TagsInput/index.js +2 -2
  38. package/dist/ThemeSwitcher/index.js +4 -4
  39. package/dist/TimeWindowPicker/index.js +5 -5
  40. package/dist/TreeCanvas/index.js +4 -4
  41. package/dist/TreeGrid/index.js +2 -2
  42. package/dist/chunk-3L5NHASN.js +1 -0
  43. package/dist/{chunk-L7THQMFB.js → chunk-5WEVLIB6.js} +1 -1
  44. package/dist/{chunk-IGWPZZIB.js → chunk-6SDGRKQ7.js} +2 -2
  45. package/dist/{chunk-EUT7VBQG.js → chunk-CIOKUMVC.js} +6 -6
  46. package/dist/{chunk-LPHHDCN3.js → chunk-EBBAAQDY.js} +1 -1
  47. package/dist/{chunk-UYK72NOS.js → chunk-ELZKOVEC.js} +1 -1
  48. package/dist/chunk-EXHQ2QVW.js +1 -0
  49. package/dist/{chunk-ZGX2DP7F.js → chunk-FTEJPHBI.js} +8 -2
  50. package/dist/{chunk-RIAZM6L3.js → chunk-G2AVKPSL.js} +1 -1
  51. package/dist/{chunk-IZHN5I3H.js → chunk-HLBRPES3.js} +4 -4
  52. package/dist/chunk-HV6IZFBK.js +64 -0
  53. package/dist/{chunk-HEOVQZL7.js → chunk-JHQUT4WJ.js} +6 -2
  54. package/dist/{chunk-26TXVHN2.js → chunk-K5Q2DK3P.js} +1 -2
  55. package/dist/{chunk-MORLKUGM.js → chunk-KGTQ5CVD.js} +1 -1
  56. package/dist/{chunk-6HXH57BL.js → chunk-LZP7FGT7.js} +4 -2
  57. package/dist/{chunk-CVB7O3SZ.js → chunk-R4ZJB5YX.js} +4 -4
  58. package/dist/{chunk-MICH6QSJ.js → chunk-S4RCG44T.js} +1 -1
  59. package/dist/{chunk-UI6HWAWE.js → chunk-UAQIUSSK.js} +1 -1
  60. package/dist/chunk-URYDN2KA.js +25 -0
  61. package/dist/{chunk-X6K6OZ47.js → chunk-WEIINZPA.js} +1 -1
  62. package/dist/{chunk-UO5UK7V2.js → chunk-YXMCUKFI.js} +0 -1
  63. package/dist/{chunk-7FFDJQ23.js → chunk-ZMJHK7DR.js} +1 -1
  64. package/dist/generated/index.d.ts +2 -0
  65. package/dist/generated/index.js +53 -49
  66. package/dist/index.js +53 -49
  67. package/dist/styles.css +159 -2
  68. package/dist/utils/index.js +1 -1
  69. package/package.json +3 -3
  70. package/dist/{chunk-VE6LD3KM.js → chunk-2PZBIHRV.js} +2 -2
  71. package/dist/{chunk-MPXI6FM6.js → chunk-7JGWSOLM.js} +1 -1
  72. package/dist/{chunk-OVLJEVQS.js → chunk-7LD6P32I.js} +1 -1
  73. package/dist/{chunk-CEOXFO3E.js → chunk-EG6NYWVK.js} +1 -1
  74. package/dist/{chunk-FZVJDJFN.js → chunk-ENJUPIND.js} +1 -1
  75. package/dist/{chunk-5I56UXBJ.js → chunk-JCNUQ3US.js} +2 -2
  76. package/dist/{chunk-SX2DFTQV.js → chunk-MCPKHYMC.js} +1 -1
  77. package/dist/{chunk-YPTC4TX5.js → chunk-PQLMLG5K.js} +0 -0
  78. package/dist/{chunk-BTHX2FS3.js → chunk-TEEJSTFG.js} +2 -2
  79. package/dist/{chunk-LSB3EHBW.js → chunk-TFH6SYWB.js} +2 -2
  80. package/dist/{chunk-26SCUACK.js → chunk-YACKC3K2.js} +1 -1
@@ -337,3 +337,36 @@
337
337
  transition: none;
338
338
  }
339
339
  }
340
+
341
+ /* ── markers ──────────────────────────────────────────────────────────────
342
+ What needs the reader behind a tab: a danger count for problems, a 6px
343
+ dot for a warning or an unsaved change. One per tab, the most urgent. */
344
+ .crewlet-tabs__marker {
345
+ display: inline-flex;
346
+ align-items: center;
347
+ justify-content: center;
348
+ flex: none;
349
+ }
350
+ .crewlet-tabs__marker--danger {
351
+ min-width: 16px;
352
+ height: 16px;
353
+ padding: 0 var(--spacing-1);
354
+ border-radius: var(--radius-circle);
355
+ background: var(--color-feedback-danger-soft);
356
+ color: var(--color-feedback-danger-ink);
357
+ font-family: var(--font-family-mono);
358
+ font-size: var(--font-size-2xs);
359
+ line-height: 1;
360
+ }
361
+ .crewlet-tabs__marker--warning,
362
+ .crewlet-tabs__marker--changed {
363
+ width: 6px;
364
+ height: 6px;
365
+ border-radius: var(--radius-circle);
366
+ }
367
+ .crewlet-tabs__marker--warning {
368
+ background: var(--color-feedback-warning);
369
+ }
370
+ .crewlet-tabs__marker--changed {
371
+ background: var(--color-brand-accent);
372
+ }
@@ -1,10 +1,10 @@
1
- export { TagsInput } from '../chunk-MPXI6FM6.js';
1
+ export { TagsInput } from '../chunk-7JGWSOLM.js';
2
2
  import '../chunk-LOECRMHA.js';
3
3
  import '../chunk-WIATRXEJ.js';
4
4
  import '../chunk-6MU7HNB4.js';
5
+ import '../chunk-4FQT6ZAY.js';
5
6
  import '../chunk-RSAQOKH3.js';
6
7
  import '../chunk-7RPGY3JE.js';
7
8
  import '../chunk-R25RGPUB.js';
8
- import '../chunk-4FQT6ZAY.js';
9
9
  import '../chunk-BZFWDIV6.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,8 @@
1
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-X6K6OZ47.js';
1
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-WEIINZPA.js';
2
2
  export { applyDensity, applyStoredPreferences, applyTheme, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-K3OWD7BJ.js';
3
- import '../chunk-UI6HWAWE.js';
4
- import '../chunk-LPHHDCN3.js';
5
- import '../chunk-HEOVQZL7.js';
3
+ import '../chunk-UAQIUSSK.js';
4
+ import '../chunk-EBBAAQDY.js';
5
+ import '../chunk-JHQUT4WJ.js';
6
6
  import '../chunk-CBOICT64.js';
7
7
  import '../chunk-BHHIIK3M.js';
8
8
  import '../chunk-BZFWDIV6.js';
@@ -1,13 +1,13 @@
1
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-IZHN5I3H.js';
1
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-HLBRPES3.js';
2
2
  import '../chunk-SEFMO2EV.js';
3
+ import '../chunk-FTEJPHBI.js';
3
4
  import '../chunk-6MU7HNB4.js';
4
- import '../chunk-ZGX2DP7F.js';
5
- import '../chunk-PDUZO35I.js';
6
5
  import '../chunk-GXQ3B46I.js';
6
+ import '../chunk-OG6CL3EB.js';
7
7
  import '../chunk-PQADV6P6.js';
8
+ import '../chunk-4FQT6ZAY.js';
9
+ import '../chunk-PDUZO35I.js';
8
10
  import '../chunk-7RPGY3JE.js';
9
11
  import '../chunk-R25RGPUB.js';
10
- import '../chunk-4FQT6ZAY.js';
11
- import '../chunk-OG6CL3EB.js';
12
12
  import '../chunk-BZFWDIV6.js';
13
13
  import '../chunk-ODEQTPFM.js';
@@ -1,10 +1,10 @@
1
- export { TreeCanvas } from '../chunk-L7THQMFB.js';
1
+ export { TreeCanvas } from '../chunk-5WEVLIB6.js';
2
2
  import '../chunk-S3BCVWTU.js';
3
- import '../chunk-VE6LD3KM.js';
3
+ import '../chunk-2PZBIHRV.js';
4
4
  import '../chunk-53DVJCVW.js';
5
+ import '../chunk-OG6CL3EB.js';
6
+ import '../chunk-4FQT6ZAY.js';
5
7
  import '../chunk-7RPGY3JE.js';
6
8
  import '../chunk-R25RGPUB.js';
7
- import '../chunk-4FQT6ZAY.js';
8
- import '../chunk-OG6CL3EB.js';
9
9
  import '../chunk-BZFWDIV6.js';
10
10
  import '../chunk-ODEQTPFM.js';
@@ -1,8 +1,8 @@
1
- export { TreeGrid } from '../chunk-SX2DFTQV.js';
1
+ export { TreeGrid } from '../chunk-MCPKHYMC.js';
2
2
  import '../chunk-S3BCVWTU.js';
3
3
  import '../chunk-53DVJCVW.js';
4
+ import '../chunk-4FQT6ZAY.js';
4
5
  import '../chunk-7RPGY3JE.js';
5
6
  import '../chunk-R25RGPUB.js';
6
- import '../chunk-4FQT6ZAY.js';
7
7
  import '../chunk-BZFWDIV6.js';
8
8
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1 @@
1
+ import './CharacterPicker-ZEYIKUNQ.css';
@@ -1,5 +1,5 @@
1
1
  import { useTreeState, useMeasuredSizes, layoutForest, treeAncestors, useLayoutAnchor, treeExpandable, layoutConnectors, treeItemAction, treeStep, treePosInSet, treeSetSize, treeLevel, placeGroups } from './chunk-S3BCVWTU.js';
2
- import { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, Canvas } from './chunk-VE6LD3KM.js';
2
+ import { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, Canvas } from './chunk-2PZBIHRV.js';
3
3
  import { focusables } from './chunk-R25RGPUB.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './TreeCanvas-L2XYONWL.css';
@@ -1,7 +1,7 @@
1
1
  import { Kbd } from './chunk-SMBKXWML.js';
2
+ import { Input } from './chunk-FTEJPHBI.js';
2
3
  import { useListbox } from './chunk-6MU7HNB4.js';
3
- import { Input } from './chunk-ZGX2DP7F.js';
4
- import { Modal } from './chunk-BTHX2FS3.js';
4
+ import { Modal } from './chunk-TEEJSTFG.js';
5
5
  import { Count } from './chunk-BHHIIK3M.js';
6
6
  import { isComposing } from './chunk-R25RGPUB.js';
7
7
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
@@ -1,16 +1,16 @@
1
1
  import { Toolbar } from './chunk-PGRPNDWM.js';
2
2
  import { RelativeTime } from './chunk-3CZ7XAVY.js';
3
3
  import { PageHeader } from './chunk-HOXGBLEY.js';
4
+ import { DateTimePicker } from './chunk-JCNUQ3US.js';
4
5
  import { Kbd } from './chunk-SMBKXWML.js';
6
+ import { Input } from './chunk-FTEJPHBI.js';
5
7
  import { useListbox, useOptionKeys } from './chunk-6MU7HNB4.js';
6
- import { Input } from './chunk-ZGX2DP7F.js';
7
- import { DataTable } from './chunk-CVB7O3SZ.js';
8
- import { Menu } from './chunk-LSB3EHBW.js';
9
- import { DateTimePicker } from './chunk-5I56UXBJ.js';
8
+ import { DataTable } from './chunk-R4ZJB5YX.js';
9
+ import { Menu } from './chunk-TFH6SYWB.js';
10
+ import { Button } from './chunk-OG6CL3EB.js';
11
+ import { IconButton } from './chunk-4FQT6ZAY.js';
10
12
  import { Popover } from './chunk-PDUZO35I.js';
11
13
  import { Count } from './chunk-BHHIIK3M.js';
12
- import { IconButton } from './chunk-4FQT6ZAY.js';
13
- import { Button } from './chunk-OG6CL3EB.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 { tabId } from './chunk-HEOVQZL7.js';
1
+ import { tabId } from './chunk-JHQUT4WJ.js';
2
2
  import { useRoving, tabStop } from './chunk-CBOICT64.js';
3
3
  import { Count } from './chunk-BHHIIK3M.js';
4
4
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
@@ -1,5 +1,5 @@
1
+ import { Input } from './chunk-FTEJPHBI.js';
1
2
  import { useListbox } from './chunk-6MU7HNB4.js';
2
- import { Input } from './chunk-ZGX2DP7F.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './Combobox-4FUVYIE7.css';
5
5
  import { forwardRef, useId, useMemo, useRef, useCallback } from 'react';
@@ -0,0 +1 @@
1
+ import './HuePicker-5QIUR6L7.css';
@@ -2,7 +2,7 @@ import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } f
2
2
  import { IconButton } from './chunk-4FQT6ZAY.js';
3
3
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
- import './Input-DRFNI26F.css';
5
+ import './Input-RAKNQJCV.css';
6
6
  import { forwardRef, useRef, useState, useImperativeHandle, useEffect, useId } from 'react';
7
7
  import { XGlyph } from '@crewlethq/icons/glyphs';
8
8
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -162,6 +162,7 @@ var FormField = ({
162
162
  optional,
163
163
  requiredNews,
164
164
  helper,
165
+ helperOnFocus = false,
165
166
  error,
166
167
  labelAction,
167
168
  as = "div",
@@ -188,7 +189,12 @@ var FormField = ({
188
189
  helper ? /* @__PURE__ */ jsx("div", { id: helperId, className: "crewlet-form-field__helper", children: helper }) : null,
189
190
  error ? /* @__PURE__ */ jsx("div", { id: errorId, className: "crewlet-form-field__error", role: "alert", children: error }) : null
190
191
  ] });
191
- const classes = cx("crewlet-form-field", Boolean(error) && "is-error", className);
192
+ const classes = cx(
193
+ "crewlet-form-field",
194
+ Boolean(error) && "is-error",
195
+ helperOnFocus && helper ? "crewlet-form-field--helper-on-focus" : null,
196
+ className
197
+ );
192
198
  if (as === "fieldset") {
193
199
  return (
194
200
  /*
@@ -1,4 +1,4 @@
1
- import { DisclosureAnatomy } from './chunk-FZVJDJFN.js';
1
+ import { DisclosureAnatomy } from './chunk-ENJUPIND.js';
2
2
  import { useHeadingLevel } from './chunk-PQADV6P6.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './Disclosure-VKBJJIZ7.css';
@@ -1,10 +1,10 @@
1
1
  import { Select } from './chunk-SEFMO2EV.js';
2
- import { Input } from './chunk-ZGX2DP7F.js';
3
- import { Popover } from './chunk-PDUZO35I.js';
2
+ import { Input } from './chunk-FTEJPHBI.js';
4
3
  import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
5
- import { isComposing } from './chunk-R25RGPUB.js';
6
- import { IconButton } from './chunk-4FQT6ZAY.js';
7
4
  import { Button } from './chunk-OG6CL3EB.js';
5
+ import { IconButton } from './chunk-4FQT6ZAY.js';
6
+ import { Popover } from './chunk-PDUZO35I.js';
7
+ import { isComposing } from './chunk-R25RGPUB.js';
8
8
  import { cx } from './chunk-ODEQTPFM.js';
9
9
  import './TimeWindowPicker-GBF4JDFI.css';
10
10
  import { useMemo, useState, useRef, useId, useEffect } from 'react';
@@ -0,0 +1,64 @@
1
+ import { HuePicker } from './chunk-K5Q2DK3P.js';
2
+ import { NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
3
+ import { Popover } from './chunk-PDUZO35I.js';
4
+ import { CharacterPicker } from './chunk-YXMCUKFI.js';
5
+ import { Avatar } from './chunk-HI6Q2UXQ.js';
6
+ import { cx } from './chunk-ODEQTPFM.js';
7
+ import './AvatarPicker-PREY36MG.css';
8
+ import { CREWLET_CHARACTER_GEOMETRY, CREWLET_CHARACTERS } from '@crewlethq/icons/characters';
9
+ import { PencilGlyph } from '@crewlethq/icons/glyphs';
10
+ import { jsx, jsxs } from 'react/jsx-runtime';
11
+
12
+ function AvatarPicker({
13
+ value,
14
+ onChange,
15
+ name,
16
+ size = "lg",
17
+ characters = CREWLET_CHARACTERS,
18
+ disabled = false,
19
+ className
20
+ }) {
21
+ const badge = /* @__PURE__ */ jsx(Avatar, { kind: "agent", name, character: value.character, hue: value.hue, size, decorative: true });
22
+ if (disabled) return /* @__PURE__ */ jsx("span", { className: cx("crewlet-avatar-picker", className), children: badge });
23
+ const now = `${CREWLET_CHARACTER_GEOMETRY[value.character].name} in ${NODE_HUE_NAMES[value.hue]}`;
24
+ return /* @__PURE__ */ jsx(
25
+ Popover,
26
+ {
27
+ label: "Profile icon",
28
+ align: "start",
29
+ className: "crewlet-avatar-picker__panel",
30
+ trigger: (open, toggle) => /* @__PURE__ */ jsxs(
31
+ "button",
32
+ {
33
+ type: "button",
34
+ className: cx("crewlet-avatar-picker", className),
35
+ "aria-label": `Change ${name}'s profile icon, now ${now}`,
36
+ "aria-expanded": open,
37
+ "aria-haspopup": "dialog",
38
+ onClick: toggle,
39
+ children: [
40
+ badge,
41
+ /* @__PURE__ */ jsx("span", { className: "crewlet-avatar-picker__pip", "aria-hidden": "true", children: /* @__PURE__ */ jsx(PencilGlyph, { size: 9 }) })
42
+ ]
43
+ }
44
+ ),
45
+ children: /* @__PURE__ */ jsxs("div", { className: "crewlet-avatar-picker__body", children: [
46
+ /* @__PURE__ */ jsx("span", { className: "crewlet-avatar-picker__label", children: "Character" }),
47
+ /* @__PURE__ */ jsx(
48
+ CharacterPicker,
49
+ {
50
+ label: "Character",
51
+ value: value.character,
52
+ hue: value.hue,
53
+ characters,
54
+ onValueChange: (character) => onChange({ ...value, character })
55
+ }
56
+ ),
57
+ /* @__PURE__ */ jsx("span", { className: "crewlet-avatar-picker__label", children: "Color" }),
58
+ /* @__PURE__ */ jsx(HuePicker, { label: "Color", size: "sm", value: value.hue, onValueChange: (hue) => onChange({ ...value, hue }) })
59
+ ] })
60
+ }
61
+ );
62
+ }
63
+
64
+ export { AvatarPicker };
@@ -1,7 +1,8 @@
1
1
  import { useRoving, tabStop } from './chunk-CBOICT64.js';
2
2
  import { Count } from './chunk-BHHIIK3M.js';
3
+ import { VisuallyHidden } from './chunk-BZFWDIV6.js';
3
4
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './Tabs-BWFQSWY3.css';
5
+ import './Tabs-5I5Q5KKM.css';
5
6
  import React, { useRef, useLayoutEffect } from 'react';
6
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
8
 
@@ -77,7 +78,10 @@ function Tabs({
77
78
  const children = /* @__PURE__ */ jsxs(Fragment, { children: [
78
79
  item.icon ? /* @__PURE__ */ jsx("span", { className: "crewlet-tabs__icon", children: item.icon }) : null,
79
80
  /* @__PURE__ */ jsx("span", { className: "crewlet-tabs__label", children: item.label }),
80
- item.count != null ? /* @__PURE__ */ jsx(Count, { value: item.count }) : null
81
+ item.marker ? item.marker.tone === "danger" ? /* @__PURE__ */ jsxs("span", { className: "crewlet-tabs__marker crewlet-tabs__marker--danger", children: [
82
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: item.marker.count }),
83
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: item.marker.label })
84
+ ] }) : /* @__PURE__ */ jsx("span", { className: `crewlet-tabs__marker crewlet-tabs__marker--${item.marker.tone}`, children: /* @__PURE__ */ jsx(VisuallyHidden, { children: item.marker.label }) }) : item.count != null ? /* @__PURE__ */ jsx(Count, { value: item.count }) : null
81
85
  ] });
82
86
  const onSelect = () => {
83
87
  if (item.disabled) return;
@@ -1,7 +1,6 @@
1
1
  import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
2
- import { SegmentedControl } from './chunk-LPHHDCN3.js';
2
+ import { SegmentedControl } from './chunk-EBBAAQDY.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './HuePicker-5QIUR6L7.css';
5
4
  import { jsx } from 'react/jsx-runtime';
6
5
 
7
6
  var optionsFor = (disabled) => NODE_HUES.map((hue) => ({
@@ -1,4 +1,4 @@
1
- import { CopyButton } from './chunk-26SCUACK.js';
1
+ import { CopyButton } from './chunk-YACKC3K2.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './CodeBlock-GYNJ2HI6.css';
4
4
  import { forwardRef, useRef, useState, useLayoutEffect } from 'react';
@@ -1,8 +1,8 @@
1
1
  import { Kbd } from './chunk-SMBKXWML.js';
2
- import { FormField, Textarea, Input } from './chunk-ZGX2DP7F.js';
2
+ import { FormField, Textarea, Input } from './chunk-FTEJPHBI.js';
3
+ import { IconButton } from './chunk-4FQT6ZAY.js';
3
4
  import { announce } from './chunk-RSAQOKH3.js';
4
5
  import { isComposing } from './chunk-R25RGPUB.js';
5
- import { IconButton } from './chunk-4FQT6ZAY.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';
@@ -18,6 +18,7 @@ function ListInput({
18
18
  onChange,
19
19
  multiline = false,
20
20
  helper,
21
+ helperOnFocus,
21
22
  error,
22
23
  placeholder,
23
24
  disabled = false,
@@ -155,6 +156,7 @@ function ListInput({
155
156
  label,
156
157
  optional,
157
158
  helper,
159
+ helperOnFocus,
158
160
  error,
159
161
  className: "crewlet-list-input",
160
162
  labelAction: /* @__PURE__ */ jsx(
@@ -1,11 +1,11 @@
1
- import { Menu } from './chunk-LSB3EHBW.js';
1
+ import { Menu } from './chunk-TFH6SYWB.js';
2
2
  import { EmptyValue } from './chunk-EUCC37WY.js';
3
- import { Modal } from './chunk-BTHX2FS3.js';
3
+ import { Modal } from './chunk-TEEJSTFG.js';
4
+ import { useClipboard } from './chunk-5VNUYO76.js';
5
+ import { Button } from './chunk-OG6CL3EB.js';
4
6
  import { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
5
7
  import { Checkbox } from './chunk-YCTMKKRA.js';
6
- import { useClipboard } from './chunk-5VNUYO76.js';
7
8
  import { IconButton } from './chunk-4FQT6ZAY.js';
8
- import { Button } from './chunk-OG6CL3EB.js';
9
9
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
10
10
  import { cx } from './chunk-ODEQTPFM.js';
11
11
  import './DataTable-WZK3V62B.css';
@@ -1,4 +1,4 @@
1
- import { DisclosureAnatomy } from './chunk-FZVJDJFN.js';
1
+ import { DisclosureAnatomy } from './chunk-ENJUPIND.js';
2
2
  import { useHeadingLevel } from './chunk-PQADV6P6.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
4
  import './Disclosure-VKBJJIZ7.css';
@@ -1,2 +1,2 @@
1
- import './Tabs-BWFQSWY3.css';
1
+ import './Tabs-5I5Q5KKM.css';
2
2
  import './SegmentedControl-76HODRBT.css';
@@ -0,0 +1,25 @@
1
+ import { Tooltip } from './chunk-CQY5NTRS.js';
2
+ import { VisuallyHidden } from './chunk-BZFWDIV6.js';
3
+ import { cx } from './chunk-ODEQTPFM.js';
4
+ import './FactList-G2H73NFR.css';
5
+ import { LockGlyph } from '@crewlethq/icons/glyphs';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ function FactList({ items, label, className }) {
9
+ return /* @__PURE__ */ jsx("dl", { className: cx("crewlet-fact-list", className), "aria-label": label, children: items.map((item) => /* @__PURE__ */ jsx(FactRow, { item }, item.key)) });
10
+ }
11
+ function FactRow({ item }) {
12
+ const row = /* @__PURE__ */ jsxs("div", { className: cx("crewlet-fact-list__row", item.reason ? "is-locked" : null), children: [
13
+ /* @__PURE__ */ jsxs("dt", { className: "crewlet-fact-list__label", children: [
14
+ item.reason ? /* @__PURE__ */ jsx(LockGlyph, { size: "xs", className: "crewlet-fact-list__lock", "aria-hidden": "true" }) : null,
15
+ item.label
16
+ ] }),
17
+ /* @__PURE__ */ jsxs("dd", { className: "crewlet-fact-list__value", children: [
18
+ item.value,
19
+ item.reason ? /* @__PURE__ */ jsx(VisuallyHidden, { children: `, ${item.reason}` }) : null
20
+ ] })
21
+ ] });
22
+ return item.reason ? /* @__PURE__ */ jsx(Tooltip, { content: item.reason, children: row }) : row;
23
+ }
24
+
25
+ export { FactList };
@@ -1,5 +1,5 @@
1
1
  import { useThemePreference, useDensityPreference } from './chunk-K3OWD7BJ.js';
2
- import { SegmentedControl } from './chunk-LPHHDCN3.js';
2
+ import { SegmentedControl } from './chunk-EBBAAQDY.js';
3
3
  import { SunGlyph, MonitorGlyph, MoonGlyph } from '@crewlethq/icons/glyphs';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -1,7 +1,6 @@
1
1
  import { useRoving, tabStop } from './chunk-CBOICT64.js';
2
2
  import { Avatar } from './chunk-HI6Q2UXQ.js';
3
3
  import { cx } from './chunk-ODEQTPFM.js';
4
- import './CharacterPicker-ZEYIKUNQ.css';
5
4
  import { CREWLET_CHARACTERS, CREWLET_CHARACTER_GEOMETRY } from '@crewlethq/icons/characters';
6
5
  import { jsx } from 'react/jsx-runtime';
7
6
 
@@ -1,4 +1,4 @@
1
- import { TreeGrid } from './chunk-SX2DFTQV.js';
1
+ import { TreeGrid } from './chunk-MCPKHYMC.js';
2
2
  import { createTreeModel, treeParent } from './chunk-S3BCVWTU.js';
3
3
  import { OrgLabel } from './chunk-6OF2DBKY.js';
4
4
  import { AddPill } from './chunk-74WGARJE.js';
@@ -3,6 +3,7 @@ export * from '../AddPill/index.js';
3
3
  export * from '../Announcer/index.js';
4
4
  export * from '../AppShell/index.js';
5
5
  export * from '../Avatar/index.js';
6
+ export * from '../AvatarPicker/index.js';
6
7
  export * from '../BrandLockup/index.js';
7
8
  export * from '../Button/index.js';
8
9
  export * from '../CalendarGrid/index.js';
@@ -29,6 +30,7 @@ export * from '../EmptyValue/index.js';
29
30
  export * from '../EntityChip/index.js';
30
31
  export * from '../ErrorBoundary/index.js';
31
32
  export * from '../Eyebrow/index.js';
33
+ export * from '../FactList/index.js';
32
34
  export * from '../FilterChip/index.js';
33
35
  export * from '../Fullscreen/index.js';
34
36
  export * from '../HuePicker/index.js';
@@ -1,101 +1,105 @@
1
- import '../chunk-YPTC4TX5.js';
1
+ import '../chunk-PQLMLG5K.js';
2
+ export { TreeCanvas } from '../chunk-5WEVLIB6.js';
2
3
  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';
3
6
  export { Timeline, TimelineItem } from '../chunk-O67VF5MS.js';
4
7
  export { ToastProvider, Toaster, useToast } from '../chunk-UG5ZMAXW.js';
5
- export { Tooltip } from '../chunk-CQY5NTRS.js';
6
- export { TreeCanvas } from '../chunk-L7THQMFB.js';
8
+ export { Switch } from '../chunk-A722MUNR.js';
9
+ export { Table } from '../chunk-V2N3BMOT.js';
7
10
  export { TagGroup } from '../chunk-E6UWRXNM.js';
8
- export { TagsInput } from '../chunk-MPXI6FM6.js';
11
+ export { TagsInput } from '../chunk-7JGWSOLM.js';
9
12
  export { Text } from '../chunk-23DHIMJA.js';
10
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-X6K6OZ47.js';
11
- export { ThemeToggle } from '../chunk-ORNOOMVY.js';
13
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-WEIINZPA.js';
12
14
  export { applyDensity, applyStoredPreferences, applyTheme, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-K3OWD7BJ.js';
13
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-IZHN5I3H.js';
15
+ export { Select } from '../chunk-SEFMO2EV.js';
16
+ export { matchesShortcut, useShortcut } from '../chunk-2FPENTCF.js';
14
17
  export { NavGroup, NavItem, SidebarNav } from '../chunk-IVFJD7WY.js';
15
18
  export { Skeleton } from '../chunk-W5J7R5EB.js';
16
19
  export { StatCard } from '../chunk-IKB6HFGK.js';
17
20
  export { StatGroup } from '../chunk-QVAFL2LE.js';
18
21
  export { Stepper } from '../chunk-5QWIJSQM.js';
19
- export { Switch } from '../chunk-A722MUNR.js';
20
- export { Table } from '../chunk-V2N3BMOT.js';
22
+ export { PricingCard } from '../chunk-UCYIRDND.js';
23
+ export { Tag } from '../chunk-LOECRMHA.js';
24
+ export { StatusDot } from '../chunk-WIATRXEJ.js';
21
25
  export { Prose } from '../chunk-JCSA3XVH.js';
22
26
  export { SearchTrigger } from '../chunk-6DRDCT22.js';
23
27
  export { Section } from '../chunk-A2UXBCLO.js';
24
- import '../chunk-UI6HWAWE.js';
28
+ import '../chunk-UAQIUSSK.js';
25
29
  export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
26
- export { Select } from '../chunk-SEFMO2EV.js';
27
- export { matchesShortcut, useShortcut } from '../chunk-2FPENTCF.js';
30
+ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-4PZ6FJKW.js';
28
31
  export { NewItemsNotice } from '../chunk-PXU6HOZB.js';
29
32
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-IHGKPEEV.js';
30
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-7FFDJQ23.js';
31
- export { TreeGrid } from '../chunk-SX2DFTQV.js';
33
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-ZMJHK7DR.js';
34
+ export { TreeGrid } from '../chunk-MCPKHYMC.js';
32
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';
33
36
  export { OrgLabel } from '../chunk-6OF2DBKY.js';
34
- export { PricingCard } from '../chunk-UCYIRDND.js';
35
- export { Tag } from '../chunk-LOECRMHA.js';
36
- export { StatusDot } from '../chunk-WIATRXEJ.js';
37
37
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-W4ENKCXJ.js';
38
38
  export { Link } from '../chunk-ZPSOF6VL.js';
39
39
  export { List, ListItem } from '../chunk-DS2C73RJ.js';
40
- export { ListInput } from '../chunk-6HXH57BL.js';
41
- export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-4PZ6FJKW.js';
40
+ export { ListInput } from '../chunk-LZP7FGT7.js';
41
+ export { Eyebrow } from '../chunk-RK4XPHVG.js';
42
+ export { FactList } from '../chunk-URYDN2KA.js';
43
+ export { Tooltip } from '../chunk-CQY5NTRS.js';
42
44
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-5YLON2PW.js';
43
45
  export { useFullscreen } from '../chunk-XDTYBF2F.js';
44
- export { HuePicker } from '../chunk-26TXVHN2.js';
45
- export { NODE_HUES, NODE_HUE_NAMES, isNodeHue } from '../chunk-AYKXMIOR.js';
46
- export { SegmentedControl } from '../chunk-LPHHDCN3.js';
47
- export { TabPanel, Tabs, tabId } from '../chunk-HEOVQZL7.js';
46
+ import '../chunk-EXHQ2QVW.js';
48
47
  export { ImageUpload } from '../chunk-LAQK4V3Z.js';
49
48
  export { InlineCode } from '../chunk-NN62JQLR.js';
50
49
  export { DescriptionList, DescriptionListItem } from '../chunk-XN4JBAN3.js';
51
50
  export { DIFF_LIST_LABELS, DiffList } from '../chunk-LFHCXZO5.js';
52
- export { Disclosure } from '../chunk-MICH6QSJ.js';
51
+ export { Disclosure } from '../chunk-S4RCG44T.js';
53
52
  export { EmptyState } from '../chunk-RA2ULG6H.js';
54
53
  export { EntityChip } from '../chunk-DDTDN5L2.js';
55
54
  export { ErrorBoundary } from '../chunk-XX2VQE55.js';
56
- export { Eyebrow } from '../chunk-RK4XPHVG.js';
57
- export { Combobox } from '../chunk-UYK72NOS.js';
58
- export { CommandPalette } from '../chunk-IGWPZZIB.js';
55
+ export { CodeBlock } from '../chunk-KGTQ5CVD.js';
56
+ export { Combobox } from '../chunk-ELZKOVEC.js';
57
+ export { CommandPalette } from '../chunk-6SDGRKQ7.js';
59
58
  export { Container } from '../chunk-QVE4GJAT.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-EUT7VBQG.js';
59
+ 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
61
  export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-PGRPNDWM.js';
62
62
  export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from '../chunk-3CZ7XAVY.js';
63
63
  export { PageHeader } from '../chunk-HOXGBLEY.js';
64
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-JCNUQ3US.js';
64
65
  export { Kbd, isApplePlatform, keyGlyph } from '../chunk-SMBKXWML.js';
66
+ export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-FTEJPHBI.js';
65
67
  export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from '../chunk-6MU7HNB4.js';
66
- export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-ZGX2DP7F.js';
67
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-CVB7O3SZ.js';
68
- export { Menu } from '../chunk-LSB3EHBW.js';
68
+ export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-R4ZJB5YX.js';
69
+ export { Menu } from '../chunk-TFH6SYWB.js';
69
70
  export { EMPTY_VALUE, EmptyValue } from '../chunk-EUCC37WY.js';
70
- export { ConfirmModal, Modal } from '../chunk-BTHX2FS3.js';
71
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-5I56UXBJ.js';
72
- export { Popover } from '../chunk-PDUZO35I.js';
71
+ export { ConfirmModal, Modal } from '../chunk-TEEJSTFG.js';
72
+ export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
73
73
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-GXQ3B46I.js';
74
74
  export { Callout } from '../chunk-R6FBDTP3.js';
75
- 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-VE6LD3KM.js';
75
+ 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';
76
76
  import '../chunk-53DVJCVW.js';
77
- export { Card } from '../chunk-CEOXFO3E.js';
77
+ export { Button, ButtonLink } from '../chunk-OG6CL3EB.js';
78
+ export { Card } from '../chunk-EG6NYWVK.js';
78
79
  export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
79
- export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-UO5UK7V2.js';
80
- import '../chunk-CBOICT64.js';
80
+ import '../chunk-3L5NHASN.js';
81
81
  export { ActivityStrip, BarList, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, niceScale, useChartHover } from '../chunk-4WNNEDKO.js';
82
82
  export { Checkbox } from '../chunk-YCTMKKRA.js';
83
- export { CodeBlock } from '../chunk-MORLKUGM.js';
84
- export { CopyButton, Copyable } from '../chunk-26SCUACK.js';
85
- export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
86
- export { Accordion, AccordionItem } from '../chunk-RIAZM6L3.js';
87
- export { DisclosureAnatomy } from '../chunk-FZVJDJFN.js';
88
- export { Count } from '../chunk-BHHIIK3M.js';
83
+ export { Accordion, AccordionItem } from '../chunk-G2AVKPSL.js';
84
+ export { DisclosureAnatomy } from '../chunk-ENJUPIND.js';
89
85
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
90
86
  export { ADD_PILL_MS, AddPill } from '../chunk-74WGARJE.js';
87
+ export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-7LD6P32I.js';
88
+ export { IconButton } from '../chunk-4FQT6ZAY.js';
91
89
  export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
92
- export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-OVLJEVQS.js';
90
+ export { AvatarStack, avatarStackLabel } from '../chunk-3UK4VFSK.js';
91
+ export { AvatarPicker } from '../chunk-HV6IZFBK.js';
92
+ export { HuePicker } from '../chunk-K5Q2DK3P.js';
93
+ 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';
97
+ export { CHARACTER_PICKER_COLUMNS, CharacterPicker } from '../chunk-YXMCUKFI.js';
98
+ import '../chunk-CBOICT64.js';
99
+ export { Count } from '../chunk-BHHIIK3M.js';
93
100
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, outsideBounds, placePopup, useLayerContainer, viewportBounds } from '../chunk-7RPGY3JE.js';
94
101
  export { focusables, isComposing, isModalLayerOpen, layerCount, useBodyScrollLock, useModalLayer, usePopupLayer } from '../chunk-R25RGPUB.js';
95
- export { IconButton } from '../chunk-4FQT6ZAY.js';
96
- export { AvatarStack, avatarStackLabel } from '../chunk-3UK4VFSK.js';
102
+ export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
97
103
  export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarPixels, avatarTint, getInitials } from '../chunk-HI6Q2UXQ.js';
98
104
  export { BrandLockup } from '../chunk-7KBNFFM3.js';
99
- export { Button, ButtonLink } from '../chunk-OG6CL3EB.js';
100
- export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
101
105
  export { cx } from '../chunk-ODEQTPFM.js';