@crewlethq/ui 0.4.2 → 0.4.4

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 (50) hide show
  1. package/dist/Combobox/index.js +3 -3
  2. package/dist/CommandPalette/index.js +3 -3
  3. package/dist/DataTable/index.js +4 -4
  4. package/dist/{DataTable-ITNACQ2X.css → DataTable-37UWTRN6.css} +9 -5
  5. package/dist/DataView/index.js +10 -10
  6. package/dist/DateTimePicker/index.js +2 -2
  7. package/dist/DiffList/index.js +1 -1
  8. package/dist/Input/index.js +1 -1
  9. package/dist/ListInput/index.js +3 -3
  10. package/dist/Listbox/index.js +1 -1
  11. package/dist/Listbox/useListbox.d.ts +14 -0
  12. package/dist/Listbox/useOptionKeys.d.ts +12 -1
  13. package/dist/{Listbox-X2DOTSQA.css → Listbox-ZXYYNN6U.css} +28 -0
  14. package/dist/Menu/index.js +1 -1
  15. package/dist/{Menu-6DE7I66I.css → Menu-BT5PMFJI.css} +15 -0
  16. package/dist/Popover/index.js +1 -1
  17. package/dist/SegmentedControl/index.js +2 -2
  18. package/dist/Select/index.js +2 -2
  19. package/dist/{Select-2X77FSWR.css → Select-E24U5LBC.css} +34 -0
  20. package/dist/Table/index.js +1 -1
  21. package/dist/{Table-MDOLVUAW.css → Table-TGCS4C3F.css} +14 -4
  22. package/dist/Tabs/index.js +1 -1
  23. package/dist/{Tabs-VLICJFVB.css → Tabs-MJ2E3VPK.css} +33 -1
  24. package/dist/TagsInput/index.js +3 -3
  25. package/dist/ThemeSwitcher/index.js +3 -3
  26. package/dist/TimeWindowPicker/index.js +5 -5
  27. package/dist/Tooltip/index.js +1 -1
  28. package/dist/{chunk-XV6WRMBC.js → chunk-5KSRXHOW.js} +3 -0
  29. package/dist/{chunk-BJSKPEZI.js → chunk-6KCO2D5C.js} +2 -2
  30. package/dist/{chunk-6ZFVFA56.js → chunk-7PEFUMQJ.js} +2 -2
  31. package/dist/{chunk-ESCO4XYW.js → chunk-AJNCATWZ.js} +2 -2
  32. package/dist/{chunk-HQNHV7D6.js → chunk-AQTBF4EB.js} +1 -1
  33. package/dist/{chunk-34VGEDVV.js → chunk-CC67MUUO.js} +8 -8
  34. package/dist/{chunk-UG46QBLT.js → chunk-DB2VDLVR.js} +1 -1
  35. package/dist/{chunk-DD5BBGBE.js → chunk-EFSG7HNU.js} +8 -4
  36. package/dist/{chunk-LFJ6UJTI.js → chunk-FSOW3ARP.js} +2 -2
  37. package/dist/{chunk-O6232G37.js → chunk-GKHAKGOF.js} +14 -2
  38. package/dist/{chunk-GTOUGQQK.js → chunk-KIC7BZYJ.js} +8 -6
  39. package/dist/{chunk-OFHBK7RI.js → chunk-KNYYCWMK.js} +31 -11
  40. package/dist/{chunk-UOGSZKLT.js → chunk-MW356IVK.js} +2 -2
  41. package/dist/{chunk-WQX73TWF.js → chunk-PATXSJGR.js} +5 -4
  42. package/dist/{chunk-QEUY3A5P.js → chunk-Q3B66TJM.js} +3 -2
  43. package/dist/{chunk-2HQR4U4D.js → chunk-R66KLW7S.js} +1 -1
  44. package/dist/{chunk-FBZAKNSX.js → chunk-T43A26SD.js} +4 -1
  45. package/dist/{chunk-FEFTGVMF.js → chunk-V2N3BMOT.js} +7 -2
  46. package/dist/{chunk-WOYYD2YR.js → chunk-XJWXPRSK.js} +3 -3
  47. package/dist/generated/index.js +35 -35
  48. package/dist/index.js +35 -35
  49. package/dist/styles.css +139 -16
  50. package/package.json +3 -3
@@ -86,8 +86,20 @@ var Textarea = forwardRef(function Textarea2({ error = false, autoResize = false
86
86
  if (!autoResize) return;
87
87
  const el = localRef.current;
88
88
  if (!el) return;
89
- el.style.height = "auto";
90
- el.style.height = `${el.scrollHeight}px`;
89
+ const measure = () => {
90
+ el.style.height = "auto";
91
+ const style = getComputedStyle(el);
92
+ const border = style.boxSizing === "border-box" ? Number.parseFloat(style.borderTopWidth || "0") + Number.parseFloat(style.borderBottomWidth || "0") : 0;
93
+ el.style.height = `${el.scrollHeight + (Number.isFinite(border) ? border : 0)}px`;
94
+ };
95
+ measure();
96
+ el.addEventListener("input", measure);
97
+ const resize = typeof ResizeObserver === "function" ? new ResizeObserver(measure) : null;
98
+ resize?.observe(el);
99
+ return () => {
100
+ el.removeEventListener("input", measure);
101
+ resize?.disconnect();
102
+ };
91
103
  }, [autoResize, value]);
92
104
  const control = /* @__PURE__ */ jsx(
93
105
  "textarea",
@@ -1,5 +1,5 @@
1
1
  import { usePopupLayer, isComposing } from './chunk-ITHXJHBB.js';
2
- import './Listbox-X2DOTSQA.css';
2
+ import './Listbox-ZXYYNN6U.css';
3
3
  import { useState, useRef, useCallback, useEffect } from 'react';
4
4
 
5
5
  function useListbox({
@@ -12,7 +12,7 @@ function useListbox({
12
12
  popup = true
13
13
  }) {
14
14
  const [at, setAt] = useState(0);
15
- const active = count === 0 ? -1 : Math.min(Math.max(at, 0), count - 1);
15
+ const active = count === 0 ? -1 : Math.min(Math.max(at, -1), count - 1);
16
16
  const listId = `${id}-listbox`;
17
17
  const layer = usePopupLayer({ open: open && popup, onDismiss: () => onClose() });
18
18
  const list = useRef(null);
@@ -69,6 +69,7 @@ function useListbox({
69
69
  setActive: setAt,
70
70
  listId,
71
71
  listRef,
72
+ panelRef: layer.panelRef,
72
73
  anchorRef: layer.insideRef,
73
74
  optionId: (index) => `${listId}-${index}`,
74
75
  onKeyDown,
@@ -82,7 +83,7 @@ function useListbox({
82
83
  };
83
84
  }
84
85
  var TYPE_AHEAD_WINDOW = 500;
85
- function useOptionKeys({ listbox, count, disabled, textOf }) {
86
+ function useOptionKeys({ listbox, count, disabled, textOf, ends = true }) {
86
87
  const typed = useRef({ text: "", at: 0 });
87
88
  const { active, setActive } = listbox;
88
89
  const step = useCallback(
@@ -96,7 +97,7 @@ function useOptionKeys({ listbox, count, disabled, textOf }) {
96
97
  },
97
98
  [count, disabled]
98
99
  );
99
- const opening = useCallback((chosen) => chosen >= 0 && !disabled?.(chosen) ? chosen : Math.max(step(0, 1), 0), [disabled, step]);
100
+ const opening = useCallback((chosen) => chosen >= 0 && !disabled?.(chosen) ? chosen : step(0, 1), [disabled, step]);
100
101
  const typeAhead = useCallback(
101
102
  (key) => {
102
103
  if (!textOf) return false;
@@ -118,6 +119,7 @@ function useOptionKeys({ listbox, count, disabled, textOf }) {
118
119
  );
119
120
  const onKeyDown = useCallback(
120
121
  (event) => {
122
+ if (isComposing(event)) return false;
121
123
  if (event.key === "ArrowDown" || event.key === "ArrowUp") {
122
124
  event.preventDefault();
123
125
  const by = event.key === "ArrowDown" ? 1 : -1;
@@ -125,7 +127,7 @@ function useOptionKeys({ listbox, count, disabled, textOf }) {
125
127
  if (next >= 0) setActive(next);
126
128
  return true;
127
129
  }
128
- if (event.key === "Home" || event.key === "End") {
130
+ if (ends && (event.key === "Home" || event.key === "End")) {
129
131
  event.preventDefault();
130
132
  const next = event.key === "Home" ? step(0, 1) : step(count - 1, -1);
131
133
  if (next >= 0) setActive(next);
@@ -139,7 +141,7 @@ function useOptionKeys({ listbox, count, disabled, textOf }) {
139
141
  }
140
142
  return false;
141
143
  },
142
- [active, count, setActive, step, typeAhead]
144
+ [active, count, ends, setActive, step, typeAhead]
143
145
  );
144
146
  return { onKeyDown, step, opening };
145
147
  }
@@ -1,7 +1,7 @@
1
- import { useListbox, useOptionKeys } from './chunk-GTOUGQQK.js';
1
+ import { useListbox, useOptionKeys } from './chunk-KIC7BZYJ.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-2X77FSWR.css';
4
+ import './Select-E24U5LBC.css';
5
5
  import { forwardRef, useId, useMemo, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
6
6
  import { createPortal } from 'react-dom';
7
7
  import { KeyboardArrowDownGlyph, CheckGlyph, SearchGlyph } from '@crewlethq/icons/glyphs';
@@ -77,6 +77,7 @@ var Select = forwardRef(function Select2({
77
77
  className: classes,
78
78
  menuClassName,
79
79
  size,
80
+ width,
80
81
  align,
81
82
  active,
82
83
  error,
@@ -153,6 +154,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
153
154
  className,
154
155
  menuClassName,
155
156
  size,
157
+ width,
156
158
  align,
157
159
  active,
158
160
  error,
@@ -236,6 +238,11 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
236
238
  listbox,
237
239
  count: flat.length,
238
240
  disabled: (index2) => flat[index2]?.disabled === true,
241
+ // AND NEITHER ARE THE ENDS, for the same reason type-ahead is withheld
242
+ // below: with a search box on screen those keys are the caret's, and the
243
+ // query's own start and end are otherwise unreachable — the panel is
244
+ // portalled, so a pointer cannot place the caret either.
245
+ ends: !searchable,
239
246
  ...searchable ? {} : {
240
247
  textOf: (index2) => {
241
248
  const option = flat[index2];
@@ -247,6 +254,11 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
247
254
  if (!open) return;
248
255
  listbox.setActive(keys.opening(flat.findIndex((option) => isChosen(option.value))));
249
256
  }, [open]);
257
+ useEffect(() => {
258
+ if (!open || listbox.active < 0) return;
259
+ if (flat[listbox.active]?.disabled !== true) return;
260
+ listbox.setActive(keys.step(listbox.active, 1));
261
+ }, [open, flat]);
250
262
  useEffect(() => {
251
263
  if (open && searchable) search.current?.focus();
252
264
  }, [open, searchable]);
@@ -269,27 +281,32 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
269
281
  const inHost = container !== document.body;
270
282
  const host = inHost ? container.getBoundingClientRect() : viewportBounds();
271
283
  const rect = at.getBoundingClientRect();
272
- const width = rect.width;
284
+ const matches = width === "full";
285
+ box.style.width = matches ? `${rect.width}px` : "";
286
+ box.style.minWidth = matches ? "" : `${rect.width}px`;
287
+ const own = box.getBoundingClientRect();
273
288
  const local = {
274
- x: (align === "right" ? rect.right - width : rect.left) - (inHost ? host.x : 0),
289
+ x: (align === "right" ? rect.right - own.width : rect.left) - (inHost ? host.x : 0),
275
290
  y: rect.top - (inHost ? host.y : 0),
276
291
  width: rect.width,
277
292
  height: rect.height
278
293
  };
279
294
  const whole = { x: 0, y: 0, width: host.width, height: host.height };
280
295
  if (outsideBounds(local, whole)) {
281
- close(false);
296
+ close(panel.current?.contains(document.activeElement) ?? false);
282
297
  return;
283
298
  }
284
299
  const spot = placePopup(
285
300
  local,
286
- { width, height: box.getBoundingClientRect().height },
301
+ { width: own.width, height: own.height },
287
302
  { x: LAYER_GAP, y: LAYER_GAP, width: host.width - 2 * LAYER_GAP, height: host.height - 2 * LAYER_GAP }
288
303
  );
304
+ const applied = matches ? rect.width : void 0;
305
+ const floor = matches ? void 0 : rect.width;
289
306
  setPlace(
290
- (was) => was && was.left === spot.left && was.top === spot.top && was.width === width ? was : { left: spot.left, top: spot.top, width }
307
+ (was) => was && was.left === spot.left && was.top === spot.top && was.width === applied && was.minWidth === floor ? was : { left: spot.left, top: spot.top, width: applied, minWidth: floor }
291
308
  );
292
- }, [align, close, container]);
309
+ }, [align, close, container, width]);
293
310
  useLayoutEffect(() => {
294
311
  if (!open) {
295
312
  setPlace(null);
@@ -306,6 +323,9 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
306
323
  window.removeEventListener("scroll", onLayout, true);
307
324
  };
308
325
  }, [open, container, position]);
326
+ useLayoutEffect(() => {
327
+ if (open) position();
328
+ }, [open, flat.length, position]);
309
329
  function onKeyDown(event) {
310
330
  if (disabled) return;
311
331
  if (!open) {
@@ -339,7 +359,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
339
359
  hasValue = false;
340
360
  }
341
361
  const listId = listbox.listId;
342
- const activeId = open && flat.length > 0 ? listbox.optionId(listbox.active) : void 0;
362
+ const activeId = open && listbox.active >= 0 ? listbox.optionId(listbox.active) : void 0;
343
363
  const comboOnTrigger = !searchable;
344
364
  const requiredForAria = ariaRequired ?? required;
345
365
  let index = -1;
@@ -388,6 +408,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
388
408
  {
389
409
  ref: (el) => {
390
410
  panel.current = el;
411
+ listbox.panelRef(el);
391
412
  },
392
413
  className: cx(
393
414
  "crewlet-select__menu",
@@ -395,7 +416,7 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
395
416
  container !== null && container !== document.body ? "crewlet-select__menu--in-host" : "crewlet-select__menu--fixed",
396
417
  menuClassName
397
418
  ),
398
- style: place ? { left: place.left, top: place.top, width: place.width } : (
419
+ style: place ? { left: place.left, top: place.top, width: place.width, minWidth: place.minWidth } : (
399
420
  // Laid out but not painted, so its own height can be measured
400
421
  // before it is placed and no reader sees it in a corner first.
401
422
  { visibility: "hidden" }
@@ -430,7 +451,6 @@ var ListboxSelect = forwardRef(function ListboxSelect2({
430
451
  {
431
452
  ref: (el) => {
432
453
  list.current = el;
433
- listbox.listRef(el);
434
454
  },
435
455
  id: listId,
436
456
  className: cx("crewlet-listbox", "crewlet-select__list"),
@@ -1,5 +1,5 @@
1
- import { useListbox } from './chunk-GTOUGQQK.js';
2
- import { Input } from './chunk-O6232G37.js';
1
+ import { useListbox } from './chunk-KIC7BZYJ.js';
2
+ import { Input } from './chunk-GKHAKGOF.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';
@@ -1,14 +1,14 @@
1
- import { Menu } from './chunk-FBZAKNSX.js';
1
+ import { Menu } from './chunk-T43A26SD.js';
2
2
  import { EmptyValue } from './chunk-EUCC37WY.js';
3
- import { Modal } from './chunk-2EOKFKHX.js';
4
- import { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
5
3
  import { Checkbox } from './chunk-2PRH365R.js';
4
+ import { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
6
5
  import { useClipboard } from './chunk-5VNUYO76.js';
6
+ import { Modal } from './chunk-2EOKFKHX.js';
7
7
  import { IconButton } from './chunk-F27EPQ7D.js';
8
8
  import { Button } from './chunk-BZYDZBAN.js';
9
9
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
10
10
  import { cx } from './chunk-ODEQTPFM.js';
11
- import './DataTable-ITNACQ2X.css';
11
+ import './DataTable-37UWTRN6.css';
12
12
  import React, { useState, useCallback, useMemo, useRef, useLayoutEffect, useEffect, useId } from 'react';
13
13
  import { createPortal } from 'react-dom';
14
14
  import { CheckGlyph, ErrorGlyph, ContentCopyGlyph, KeyboardDoubleArrowLeftGlyph, ChevronLeftGlyph, ChevronRightGlyph, KeyboardDoubleArrowRightGlyph, SettingsGlyph, DragIndicatorGlyph, KeyboardArrowUpGlyph, KeyboardArrowDownGlyph, DeleteGlyph, ArrowUpwardGlyph, ArrowDownwardGlyph, UnfoldMoreGlyph, SettingsBackupRestoreGlyph } from '@crewlethq/icons/glyphs';
@@ -551,6 +551,7 @@ var DataTable = ({
551
551
  const el = scrollRef.current;
552
552
  if (!el) return;
553
553
  let lastWidth = el.clientWidth;
554
+ if (typeof ResizeObserver !== "function") return;
554
555
  const observer = new ResizeObserver(() => {
555
556
  const w = el.clientWidth;
556
557
  if (w > 0 && w !== lastWidth) {
@@ -1,6 +1,6 @@
1
1
  import { Count } from './chunk-BHHIIK3M.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './Tabs-VLICJFVB.css';
3
+ import './Tabs-MJ2E3VPK.css';
4
4
  import React, { useRef, useState, useLayoutEffect } from 'react';
5
5
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
6
6
 
@@ -107,10 +107,11 @@ function Tabs({
107
107
  update();
108
108
  reveal(nav);
109
109
  const mutation = new MutationObserver(update);
110
+ const resize = typeof ResizeObserver === "function" ? new ResizeObserver(update) : null;
110
111
  nav.querySelectorAll(".crewlet-tabs__tab").forEach((tab) => {
111
112
  mutation.observe(tab, { attributes: true, attributeFilter: ["class"] });
113
+ resize?.observe(tab);
112
114
  });
113
- const resize = typeof ResizeObserver === "function" ? new ResizeObserver(update) : null;
114
115
  resize?.observe(nav);
115
116
  return () => {
116
117
  mutation.disconnect();
@@ -1,4 +1,4 @@
1
- import { SegmentedControl } from './chunk-6ZFVFA56.js';
1
+ import { SegmentedControl } from './chunk-7PEFUMQJ.js';
2
2
  import { LightModeGlyph, ComputerGlyph, DarkModeGlyph } from '@crewlethq/icons/glyphs';
3
3
  import { useState, useEffect, useCallback } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -3,7 +3,7 @@ import { usePopupLayer } from './chunk-ITHXJHBB.js';
3
3
  import { IconButton } from './chunk-F27EPQ7D.js';
4
4
  import { Button } from './chunk-BZYDZBAN.js';
5
5
  import { cx } from './chunk-ODEQTPFM.js';
6
- import './Menu-6DE7I66I.css';
6
+ import './Menu-BT5PMFJI.css';
7
7
  import { useId, useState, useRef, useCallback, useLayoutEffect, useEffect } from 'react';
8
8
  import { createPortal } from 'react-dom';
9
9
  import { MoreVertGlyph, CheckGlyph } from '@crewlethq/icons/glyphs';
@@ -113,10 +113,13 @@ function Menu({
113
113
  container?.addEventListener(LAYER_REPOSITION_EVENT, onLayout);
114
114
  window.addEventListener("resize", onLayout);
115
115
  window.addEventListener("scroll", onLayout, true);
116
+ const resize = typeof ResizeObserver === "function" ? new ResizeObserver(onLayout) : null;
117
+ if (menu.current) resize?.observe(menu.current);
116
118
  return () => {
117
119
  container?.removeEventListener(LAYER_REPOSITION_EVENT, onLayout);
118
120
  window.removeEventListener("resize", onLayout);
119
121
  window.removeEventListener("scroll", onLayout, true);
122
+ resize?.disconnect();
120
123
  };
121
124
  }, [open, container, position]);
122
125
  useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './Table-MDOLVUAW.css';
3
+ import './Table-TGCS4C3F.css';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var Table = ({
@@ -19,7 +19,12 @@ var Table = ({
19
19
  "div",
20
20
  {
21
21
  className: "crewlet-table__container",
22
- style: maxHeight ? { "--crewlet-table-max-height": maxHeight, "--crewlet-table-overflow-y": "auto" } : void 0,
22
+ style: (
23
+ // Only the height: the stylesheet scrolls both axes unconditionally,
24
+ // because with `overflow-x: auto` declared beside it a `visible`
25
+ // vertical axis was never reachable. See Table.css.
26
+ maxHeight ? { "--crewlet-table-max-height": maxHeight } : void 0
27
+ ),
23
28
  children: /* @__PURE__ */ jsxs("table", { className: "crewlet-table__table", children: [
24
29
  caption != null && (captionHidden ? /* @__PURE__ */ jsx("caption", { children: /* @__PURE__ */ jsx(VisuallyHidden, { children: caption }) }) : /* @__PURE__ */ jsx("caption", { className: "crewlet-table__caption", children: caption })),
25
30
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "crewlet-table__header", children: headers.map((header, index) => (
@@ -1,7 +1,7 @@
1
- import { Select } from './chunk-OFHBK7RI.js';
2
- import { Popover } from './chunk-DD5BBGBE.js';
1
+ import { Select } from './chunk-KNYYCWMK.js';
2
+ import { Popover } from './chunk-EFSG7HNU.js';
3
3
  import { today, shiftMonth, CalendarGrid, compareDays } from './chunk-GXQ3B46I.js';
4
- import { Input } from './chunk-O6232G37.js';
4
+ import { Input } from './chunk-GKHAKGOF.js';
5
5
  import { isComposing } from './chunk-ITHXJHBB.js';
6
6
  import { IconButton } from './chunk-F27EPQ7D.js';
7
7
  import { Button } from './chunk-BZYDZBAN.js';
@@ -1,23 +1,22 @@
1
1
  import '../chunk-ZCR6YGQ4.js';
2
+ export { TreeCanvas } from '../chunk-7HPRF5XN.js';
2
3
  import '../chunk-IJ7QXNIJ.js';
3
4
  export { Text } from '../chunk-23DHIMJA.js';
4
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-WOYYD2YR.js';
5
- export { DensitySwitcher, ThemeSwitcher, applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference } from '../chunk-2HQR4U4D.js';
5
+ export { DensitySwitcher, ThemeSwitcher, applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference } from '../chunk-R66KLW7S.js';
6
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-XJWXPRSK.js';
6
7
  export { Timeline, TimelineItem } from '../chunk-O67VF5MS.js';
7
8
  export { ToastProvider, Toaster, useToast } from '../chunk-NPZY6YYL.js';
8
- export { Tooltip } from '../chunk-XV6WRMBC.js';
9
- export { TreeCanvas } from '../chunk-7HPRF5XN.js';
9
+ export { Tooltip } from '../chunk-5KSRXHOW.js';
10
10
  export { StatGroup } from '../chunk-QNCVHRZL.js';
11
11
  export { Switch } from '../chunk-EV6IMYJ6.js';
12
- export { Table } from '../chunk-FEFTGVMF.js';
12
+ export { Table } from '../chunk-V2N3BMOT.js';
13
13
  export { TagGroup } from '../chunk-V2XMNLMS.js';
14
- export { TagsInput } from '../chunk-BJSKPEZI.js';
15
- export { SearchTrigger } from '../chunk-Q4ZPPART.js';
16
- export { Select } from '../chunk-OFHBK7RI.js';
17
- export { SegmentedControl } from '../chunk-6ZFVFA56.js';
18
- export { TabPanel, Tabs, tabId } from '../chunk-QEUY3A5P.js';
19
- export { matchesShortcut, useShortcut } from '../chunk-F6OE5FH3.js';
14
+ export { TagsInput } from '../chunk-6KCO2D5C.js';
20
15
  export { Section } from '../chunk-A2UXBCLO.js';
16
+ export { SegmentedControl } from '../chunk-7PEFUMQJ.js';
17
+ export { TabPanel, Tabs, tabId } from '../chunk-Q3B66TJM.js';
18
+ export { Select } from '../chunk-KNYYCWMK.js';
19
+ export { matchesShortcut, useShortcut } from '../chunk-F6OE5FH3.js';
21
20
  export { NavGroup, NavItem, SidebarNav } from '../chunk-3EYF6HKB.js';
22
21
  export { Skeleton } from '../chunk-W5J7R5EB.js';
23
22
  export { StatCard } from '../chunk-22O7LAW2.js';
@@ -30,62 +29,63 @@ export { PricingCard } from '../chunk-KLJCCMF3.js';
30
29
  export { Tag } from '../chunk-S2XHHEW4.js';
31
30
  export { StatusDot } from '../chunk-PZSWF74H.js';
32
31
  export { Prose } from '../chunk-JCSA3XVH.js';
33
- export { Link } from '../chunk-2ZQMA2WB.js';
34
- export { ListInput } from '../chunk-LFJ6UJTI.js';
32
+ export { SearchTrigger } from '../chunk-Q4ZPPART.js';
35
33
  export { List, ListItem } from '../chunk-HZ5XZNPS.js';
34
+ export { ListInput } from '../chunk-FSOW3ARP.js';
36
35
  export { Meter, meterTone, progressTone } from '../chunk-YODNNSZL.js';
37
36
  export { NewItemsNotice } from '../chunk-YLYOWZ4V.js';
38
- export { useFullscreen } from '../chunk-XDTYBF2F.js';
39
- export { ImageUpload } from '../chunk-5WS6L6FA.js';
37
+ export { Eyebrow } from '../chunk-RK4XPHVG.js';
40
38
  export { InlineCode } from '../chunk-NN62JQLR.js';
39
+ export { ImageUpload } from '../chunk-5WS6L6FA.js';
41
40
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-W4ENKCXJ.js';
42
- export { DIFF_LIST_LABELS, DiffList } from '../chunk-HQNHV7D6.js';
43
- export { EmptyState } from '../chunk-RA2ULG6H.js';
41
+ export { Link } from '../chunk-2ZQMA2WB.js';
44
42
  export { Disclosure } from '../chunk-LWKJQTOM.js';
43
+ export { EmptyState } from '../chunk-RA2ULG6H.js';
45
44
  export { EntityChip } from '../chunk-QYOFACSP.js';
45
+ export { Combobox } from '../chunk-MW356IVK.js';
46
46
  export { ErrorBoundary } from '../chunk-7EM5T4ME.js';
47
- export { Eyebrow } from '../chunk-RK4XPHVG.js';
48
47
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-ZFATEERP.js';
49
- export { CommandPalette } from '../chunk-ESCO4XYW.js';
48
+ export { useFullscreen } from '../chunk-XDTYBF2F.js';
50
49
  export { Container } from '../chunk-QVE4GJAT.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-34VGEDVV.js';
50
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-CC67MUUO.js';
52
51
  export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-5EKIWVOR.js';
53
- export { PageHeader } from '../chunk-HOXGBLEY.js';
54
52
  export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from '../chunk-3CZ7XAVY.js';
53
+ export { PageHeader } from '../chunk-HOXGBLEY.js';
55
54
  export { Kbd, isApplePlatform, keyGlyph } from '../chunk-SFZOKW2G.js';
56
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-WQX73TWF.js';
57
- export { Menu } from '../chunk-FBZAKNSX.js';
55
+ export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-PATXSJGR.js';
56
+ export { Menu } from '../chunk-T43A26SD.js';
58
57
  export { EMPTY_VALUE, EmptyValue } from '../chunk-EUCC37WY.js';
59
- export { ConfirmModal, Modal } from '../chunk-2EOKFKHX.js';
60
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-UG46QBLT.js';
61
- export { Popover } from '../chunk-DD5BBGBE.js';
58
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-DB2VDLVR.js';
59
+ export { Popover } from '../chunk-EFSG7HNU.js';
62
60
  export { DescriptionList, DescriptionListItem } from '../chunk-XN4JBAN3.js';
61
+ export { DIFF_LIST_LABELS, DiffList } from '../chunk-AQTBF4EB.js';
63
62
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-GXQ3B46I.js';
64
63
  export { Callout } from '../chunk-3ZP55QZE.js';
65
- export { Card } from '../chunk-NDCATSW7.js';
66
- export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
67
- export { ActivityStrip, BarList, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, TimeSeries, dataColor } from '../chunk-F4PJZ4ED.js';
68
- export { Checkbox } from '../chunk-2PRH365R.js';
69
64
  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-CMEE37QJ.js';
70
65
  import '../chunk-53DVJCVW.js';
66
+ export { ActivityStrip, BarList, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, TimeSeries, dataColor } from '../chunk-F4PJZ4ED.js';
67
+ export { Checkbox } from '../chunk-2PRH365R.js';
68
+ export { Card } from '../chunk-NDCATSW7.js';
69
+ export { useCardHeaderSlot } from '../chunk-AV2DXAEL.js';
71
70
  export { CodeBlock } from '../chunk-D35VTV2Z.js';
72
71
  export { CopyButton, Copyable } from '../chunk-3QRYCPXQ.js';
73
72
  export { useClipboard, writeClipboard } from '../chunk-5VNUYO76.js';
74
- export { Combobox } from '../chunk-UOGSZKLT.js';
75
- export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from '../chunk-GTOUGQQK.js';
76
- export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-O6232G37.js';
73
+ export { CommandPalette } from '../chunk-AJNCATWZ.js';
74
+ export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from '../chunk-KIC7BZYJ.js';
75
+ export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from '../chunk-GKHAKGOF.js';
76
+ export { ConfirmModal, Modal } from '../chunk-2EOKFKHX.js';
77
77
  export { Accordion, AccordionItem } from '../chunk-7FZ53WDJ.js';
78
78
  export { DisclosureAnatomy } from '../chunk-5KPQ6D7N.js';
79
79
  export { Count } from '../chunk-BHHIIK3M.js';
80
80
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
81
81
  export { ADD_PILL_MS, AddPill } from '../chunk-S4GZWSKR.js';
82
- export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
83
82
  export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-MNAXYY3R.js';
84
83
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, outsideBounds, placePopup, useLayerContainer, viewportBounds } from '../chunk-7RPGY3JE.js';
85
84
  export { focusables, isComposing, isModalLayerOpen, layerCount, useBodyScrollLock, useModalLayer, usePopupLayer } from '../chunk-ITHXJHBB.js';
86
85
  export { IconButton } from '../chunk-F27EPQ7D.js';
87
- export { BrandLockup } from '../chunk-WNI2WSJF.js';
86
+ export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
88
87
  export { AVATAR_SIZES, Avatar, avatarPixels, avatarSquareCorner, avatarTint, getInitials } from '../chunk-PNFASD6F.js';
88
+ export { BrandLockup } from '../chunk-WNI2WSJF.js';
89
89
  export { Button, ButtonLink } from '../chunk-BZYDZBAN.js';
90
90
  export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
91
91
  export { cx } from '../chunk-ODEQTPFM.js';
package/dist/index.js CHANGED
@@ -1,23 +1,22 @@
1
1
  import './chunk-ZCR6YGQ4.js';
2
+ export { TreeCanvas } from './chunk-7HPRF5XN.js';
2
3
  import './chunk-IJ7QXNIJ.js';
3
4
  export { Text } from './chunk-23DHIMJA.js';
4
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-WOYYD2YR.js';
5
- export { DensitySwitcher, ThemeSwitcher, applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference } from './chunk-2HQR4U4D.js';
5
+ export { DensitySwitcher, ThemeSwitcher, applyDensity, applyStoredPreferences, applyTheme, useDensityPreference, useThemePreference } from './chunk-R66KLW7S.js';
6
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-XJWXPRSK.js';
6
7
  export { Timeline, TimelineItem } from './chunk-O67VF5MS.js';
7
8
  export { ToastProvider, Toaster, useToast } from './chunk-NPZY6YYL.js';
8
- export { Tooltip } from './chunk-XV6WRMBC.js';
9
- export { TreeCanvas } from './chunk-7HPRF5XN.js';
9
+ export { Tooltip } from './chunk-5KSRXHOW.js';
10
10
  export { StatGroup } from './chunk-QNCVHRZL.js';
11
11
  export { Switch } from './chunk-EV6IMYJ6.js';
12
- export { Table } from './chunk-FEFTGVMF.js';
12
+ export { Table } from './chunk-V2N3BMOT.js';
13
13
  export { TagGroup } from './chunk-V2XMNLMS.js';
14
- export { TagsInput } from './chunk-BJSKPEZI.js';
15
- export { SearchTrigger } from './chunk-Q4ZPPART.js';
16
- export { Select } from './chunk-OFHBK7RI.js';
17
- export { SegmentedControl } from './chunk-6ZFVFA56.js';
18
- export { TabPanel, Tabs, tabId } from './chunk-QEUY3A5P.js';
19
- export { matchesShortcut, useShortcut } from './chunk-F6OE5FH3.js';
14
+ export { TagsInput } from './chunk-6KCO2D5C.js';
20
15
  export { Section } from './chunk-A2UXBCLO.js';
16
+ export { SegmentedControl } from './chunk-7PEFUMQJ.js';
17
+ export { TabPanel, Tabs, tabId } from './chunk-Q3B66TJM.js';
18
+ export { Select } from './chunk-KNYYCWMK.js';
19
+ export { matchesShortcut, useShortcut } from './chunk-F6OE5FH3.js';
21
20
  export { NavGroup, NavItem, SidebarNav } from './chunk-3EYF6HKB.js';
22
21
  export { Skeleton } from './chunk-W5J7R5EB.js';
23
22
  export { StatCard } from './chunk-22O7LAW2.js';
@@ -30,62 +29,63 @@ export { PricingCard } from './chunk-KLJCCMF3.js';
30
29
  export { Tag } from './chunk-S2XHHEW4.js';
31
30
  export { StatusDot } from './chunk-PZSWF74H.js';
32
31
  export { Prose } from './chunk-JCSA3XVH.js';
33
- export { Link } from './chunk-2ZQMA2WB.js';
34
- export { ListInput } from './chunk-LFJ6UJTI.js';
32
+ export { SearchTrigger } from './chunk-Q4ZPPART.js';
35
33
  export { List, ListItem } from './chunk-HZ5XZNPS.js';
34
+ export { ListInput } from './chunk-FSOW3ARP.js';
36
35
  export { Meter, meterTone, progressTone } from './chunk-YODNNSZL.js';
37
36
  export { NewItemsNotice } from './chunk-YLYOWZ4V.js';
38
- export { useFullscreen } from './chunk-XDTYBF2F.js';
39
- export { ImageUpload } from './chunk-5WS6L6FA.js';
37
+ export { Eyebrow } from './chunk-RK4XPHVG.js';
40
38
  export { InlineCode } from './chunk-NN62JQLR.js';
39
+ export { ImageUpload } from './chunk-5WS6L6FA.js';
41
40
  export { AutoGrid, Inline, Spacer, Stack } from './chunk-W4ENKCXJ.js';
42
- export { DIFF_LIST_LABELS, DiffList } from './chunk-HQNHV7D6.js';
43
- export { EmptyState } from './chunk-RA2ULG6H.js';
41
+ export { Link } from './chunk-2ZQMA2WB.js';
44
42
  export { Disclosure } from './chunk-LWKJQTOM.js';
43
+ export { EmptyState } from './chunk-RA2ULG6H.js';
45
44
  export { EntityChip } from './chunk-QYOFACSP.js';
45
+ export { Combobox } from './chunk-MW356IVK.js';
46
46
  export { ErrorBoundary } from './chunk-7EM5T4ME.js';
47
- export { Eyebrow } from './chunk-RK4XPHVG.js';
48
47
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from './chunk-ZFATEERP.js';
49
- export { CommandPalette } from './chunk-ESCO4XYW.js';
48
+ export { useFullscreen } from './chunk-XDTYBF2F.js';
50
49
  export { Container } from './chunk-QVE4GJAT.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-34VGEDVV.js';
50
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from './chunk-CC67MUUO.js';
52
51
  export { Toolbar, ToolbarOverflow, ToolbarWide } from './chunk-5EKIWVOR.js';
53
- export { PageHeader } from './chunk-HOXGBLEY.js';
54
52
  export { RelativeTime, currentNow, formatElapsed, formatExact, formatRelative, formatUntil, toISO, toInstant, useNow } from './chunk-3CZ7XAVY.js';
53
+ export { PageHeader } from './chunk-HOXGBLEY.js';
55
54
  export { Kbd, isApplePlatform, keyGlyph } from './chunk-SFZOKW2G.js';
56
- export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from './chunk-WQX73TWF.js';
57
- export { Menu } from './chunk-FBZAKNSX.js';
55
+ export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from './chunk-PATXSJGR.js';
56
+ export { Menu } from './chunk-T43A26SD.js';
58
57
  export { EMPTY_VALUE, EmptyValue } from './chunk-EUCC37WY.js';
59
- export { ConfirmModal, Modal } from './chunk-2EOKFKHX.js';
60
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-UG46QBLT.js';
61
- export { Popover } from './chunk-DD5BBGBE.js';
58
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-DB2VDLVR.js';
59
+ export { Popover } from './chunk-EFSG7HNU.js';
62
60
  export { DescriptionList, DescriptionListItem } from './chunk-XN4JBAN3.js';
61
+ export { DIFF_LIST_LABELS, DiffList } from './chunk-AQTBF4EB.js';
63
62
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from './chunk-GXQ3B46I.js';
64
63
  export { Callout } from './chunk-3ZP55QZE.js';
65
- export { Card } from './chunk-NDCATSW7.js';
66
- export { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
67
- export { ActivityStrip, BarList, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, TimeSeries, dataColor } from './chunk-F4PJZ4ED.js';
68
- export { Checkbox } from './chunk-2PRH365R.js';
69
64
  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-CMEE37QJ.js';
70
65
  import './chunk-53DVJCVW.js';
66
+ export { ActivityStrip, BarList, DATA_COLORS, DATA_COLOR_OTHER, Legend, Sparkline, StackedBar, TimeSeries, dataColor } from './chunk-F4PJZ4ED.js';
67
+ export { Checkbox } from './chunk-2PRH365R.js';
68
+ export { Card } from './chunk-NDCATSW7.js';
69
+ export { useCardHeaderSlot } from './chunk-AV2DXAEL.js';
71
70
  export { CodeBlock } from './chunk-D35VTV2Z.js';
72
71
  export { CopyButton, Copyable } from './chunk-3QRYCPXQ.js';
73
72
  export { useClipboard, writeClipboard } from './chunk-5VNUYO76.js';
74
- export { Combobox } from './chunk-UOGSZKLT.js';
75
- export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from './chunk-GTOUGQQK.js';
76
- export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from './chunk-O6232G37.js';
73
+ export { CommandPalette } from './chunk-AJNCATWZ.js';
74
+ export { TYPE_AHEAD_WINDOW, useListbox, useOptionKeys } from './chunk-KIC7BZYJ.js';
75
+ export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea } from './chunk-GKHAKGOF.js';
76
+ export { ConfirmModal, Modal } from './chunk-2EOKFKHX.js';
77
77
  export { Accordion, AccordionItem } from './chunk-7FZ53WDJ.js';
78
78
  export { DisclosureAnatomy } from './chunk-5KPQ6D7N.js';
79
79
  export { Count } from './chunk-BHHIIK3M.js';
80
80
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from './chunk-PQADV6P6.js';
81
81
  export { ADD_PILL_MS, AddPill } from './chunk-S4GZWSKR.js';
82
- export { Announcer, announce, useAnnouncer } from './chunk-RSAQOKH3.js';
83
82
  export { AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from './chunk-MNAXYY3R.js';
84
83
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, outsideBounds, placePopup, useLayerContainer, viewportBounds } from './chunk-7RPGY3JE.js';
85
84
  export { focusables, isComposing, isModalLayerOpen, layerCount, useBodyScrollLock, useModalLayer, usePopupLayer } from './chunk-ITHXJHBB.js';
86
85
  export { IconButton } from './chunk-F27EPQ7D.js';
87
- export { BrandLockup } from './chunk-WNI2WSJF.js';
86
+ export { Announcer, announce, useAnnouncer } from './chunk-RSAQOKH3.js';
88
87
  export { AVATAR_SIZES, Avatar, avatarPixels, avatarSquareCorner, avatarTint, getInitials } from './chunk-PNFASD6F.js';
88
+ export { BrandLockup } from './chunk-WNI2WSJF.js';
89
89
  export { Button, ButtonLink } from './chunk-BZYDZBAN.js';
90
90
  export { VisuallyHidden } from './chunk-BZFWDIV6.js';
91
91
  export { cx } from './chunk-ODEQTPFM.js';