@dbcdk/react-components 0.0.98 → 0.0.102

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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var React20 = require('react');
3
+ var React19 = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var lucideReact = require('lucide-react');
6
6
  var reactDom = require('react-dom');
@@ -23,7 +23,7 @@ function _interopNamespace(e) {
23
23
  return Object.freeze(n);
24
24
  }
25
25
 
26
- var React20__namespace = /*#__PURE__*/_interopNamespace(React20);
26
+ var React19__namespace = /*#__PURE__*/_interopNamespace(React19);
27
27
 
28
28
  // src/components/stack/Stack.module.css
29
29
  var Stack_default = {
@@ -43,7 +43,7 @@ var Stack_default = {
43
43
  mobileJustifyBetween: "Stack_mobileJustifyBetween",
44
44
  mobileWrap: "Stack_mobileWrap"
45
45
  };
46
- var Stack = React20.forwardRef(function Stack2({
46
+ var Stack = React19.forwardRef(function Stack2({
47
47
  as,
48
48
  direction,
49
49
  gap,
@@ -82,7 +82,7 @@ var Stack = React20.forwardRef(function Stack2({
82
82
  var Tooltip_default = {
83
83
  bubble: "Tooltip_bubble"
84
84
  };
85
- var TooltipContext = React20.createContext(null);
85
+ var TooltipContext = React19.createContext(null);
86
86
  var VIEWPORT_PADDING = 8;
87
87
  var SHOW_DELAY_MS = 500;
88
88
  function clamp(n, min, max) {
@@ -134,9 +134,9 @@ function shallowEqualActive(a, b) {
134
134
  return a.id === b.id && a.open === b.open && a.content === b.content && a.placement === b.placement && a.offset === b.offset && a.triggerEl === b.triggerEl;
135
135
  }
136
136
  function TooltipProvider({ children }) {
137
- const [active, setActive] = React20.useState(null);
138
- const showTimerRef = React20.useRef(null);
139
- const show = React20.useCallback((next) => {
137
+ const [active, setActive] = React19.useState(null);
138
+ const showTimerRef = React19.useRef(null);
139
+ const show = React19.useCallback((next) => {
140
140
  if (showTimerRef.current) clearTimeout(showTimerRef.current);
141
141
  showTimerRef.current = setTimeout(() => {
142
142
  showTimerRef.current = null;
@@ -146,7 +146,7 @@ function TooltipProvider({ children }) {
146
146
  });
147
147
  }, SHOW_DELAY_MS);
148
148
  }, []);
149
- const hide = React20.useCallback((id) => {
149
+ const hide = React19.useCallback((id) => {
150
150
  if (showTimerRef.current) {
151
151
  clearTimeout(showTimerRef.current);
152
152
  showTimerRef.current = null;
@@ -156,34 +156,34 @@ function TooltipProvider({ children }) {
156
156
  return null;
157
157
  });
158
158
  }, []);
159
- const update = React20.useCallback((id, patch) => {
159
+ const update = React19.useCallback((id, patch) => {
160
160
  setActive((curr) => {
161
161
  if (!curr || curr.id !== id) return curr;
162
162
  const proposed = { ...curr, ...patch };
163
163
  return shallowEqualActive(curr, proposed) ? curr : proposed;
164
164
  });
165
165
  }, []);
166
- const value = React20.useMemo(() => ({ show, hide, update, active }), [show, hide, update, active]);
166
+ const value = React19.useMemo(() => ({ show, hide, update, active }), [show, hide, update, active]);
167
167
  return /* @__PURE__ */ jsxRuntime.jsxs(TooltipContext.Provider, { value, children: [
168
168
  children,
169
169
  /* @__PURE__ */ jsxRuntime.jsx(TooltipLayer, {})
170
170
  ] });
171
171
  }
172
172
  function TooltipLayer() {
173
- const ctx = React20.useContext(TooltipContext);
173
+ const ctx = React19.useContext(TooltipContext);
174
174
  const active = ctx == null ? void 0 : ctx.active;
175
- const bubbleRef = React20.useRef(null);
176
- const [mounted, setMounted] = React20.useState(false);
177
- const [open, setOpen] = React20.useState(false);
178
- const [visible, setVisible] = React20.useState(false);
179
- const [placement, setPlacement] = React20.useState("top");
180
- const [pos, setPos] = React20.useState({ top: 0, left: 0 });
181
- const lastPlacementRef = React20.useRef("top");
182
- const lastPosRef = React20.useRef({ top: 0, left: 0 });
183
- const lastActiveIdRef = React20.useRef(null);
184
- const rafRef = React20.useRef(null);
185
- React20.useEffect(() => setMounted(true), []);
186
- const recompute = React20.useCallback(() => {
175
+ const bubbleRef = React19.useRef(null);
176
+ const [mounted, setMounted] = React19.useState(false);
177
+ const [open, setOpen] = React19.useState(false);
178
+ const [visible, setVisible] = React19.useState(false);
179
+ const [placement, setPlacement] = React19.useState("top");
180
+ const [pos, setPos] = React19.useState({ top: 0, left: 0 });
181
+ const lastPlacementRef = React19.useRef("top");
182
+ const lastPosRef = React19.useRef({ top: 0, left: 0 });
183
+ const lastActiveIdRef = React19.useRef(null);
184
+ const rafRef = React19.useRef(null);
185
+ React19.useEffect(() => setMounted(true), []);
186
+ const recompute = React19.useCallback(() => {
187
187
  if (!(active == null ? void 0 : active.open)) return;
188
188
  const trigger = active.triggerEl;
189
189
  const bubble = bubbleRef.current;
@@ -232,13 +232,13 @@ function TooltipLayer() {
232
232
  }
233
233
  if (!visible) setVisible(true);
234
234
  }, [active == null ? void 0 : active.open, active == null ? void 0 : active.triggerEl, active == null ? void 0 : active.placement, active == null ? void 0 : active.offset, visible]);
235
- React20.useEffect(() => {
235
+ React19.useEffect(() => {
236
236
  const nextOpen = !!(active == null ? void 0 : active.open);
237
237
  setOpen((prev) => prev === nextOpen ? prev : nextOpen);
238
238
  if (nextOpen) setVisible(false);
239
239
  if (!nextOpen) lastActiveIdRef.current = null;
240
240
  }, [active == null ? void 0 : active.open]);
241
- React20.useLayoutEffect(() => {
241
+ React19.useLayoutEffect(() => {
242
242
  var _a;
243
243
  const id = (_a = active == null ? void 0 : active.id) != null ? _a : null;
244
244
  if (!id) return;
@@ -255,7 +255,7 @@ function TooltipLayer() {
255
255
  }
256
256
  };
257
257
  }, [active == null ? void 0 : active.id, recompute]);
258
- React20.useLayoutEffect(() => {
258
+ React19.useLayoutEffect(() => {
259
259
  if (!open) return;
260
260
  if (rafRef.current) cancelAnimationFrame(rafRef.current);
261
261
  rafRef.current = requestAnimationFrame(recompute);
@@ -276,7 +276,7 @@ function TooltipLayer() {
276
276
  ro.disconnect();
277
277
  };
278
278
  }, [open, recompute, active == null ? void 0 : active.triggerEl]);
279
- React20.useEffect(() => {
279
+ React19.useEffect(() => {
280
280
  if (!open || !active) return;
281
281
  const onKeyDown = (e) => {
282
282
  if (e.key === "Escape") ctx.hide(active.id);
@@ -308,7 +308,7 @@ function TooltipLayer() {
308
308
 
309
309
  // src/components/overlay/tooltip/useTooltipTrigger.tsx
310
310
  function useTooltipTrigger(options) {
311
- const ctx = React20.useContext(TooltipContext);
311
+ const ctx = React19.useContext(TooltipContext);
312
312
  if (!ctx) throw new Error("useTooltipTrigger must be used within <TooltipProvider>.");
313
313
  const {
314
314
  content,
@@ -321,21 +321,21 @@ function useTooltipTrigger(options) {
321
321
  focusOpenMode = "focus-visible",
322
322
  closeOnPointerDown = true
323
323
  } = options;
324
- const id = React20.useId();
325
- const triggerElRef = React20.useRef(null);
324
+ const id = React19.useId();
325
+ const triggerElRef = React19.useRef(null);
326
326
  const isControlled = open !== void 0;
327
- const [uncontrolledOpen, setUncontrolledOpen] = React20.useState(defaultOpen);
327
+ const [uncontrolledOpen, setUncontrolledOpen] = React19.useState(defaultOpen);
328
328
  const isOpen = isControlled ? !!open : uncontrolledOpen;
329
- const openTimer = React20.useRef(null);
330
- const closeTimer = React20.useRef(null);
329
+ const openTimer = React19.useRef(null);
330
+ const closeTimer = React19.useRef(null);
331
331
  const clearTimers = () => {
332
332
  if (openTimer.current) window.clearTimeout(openTimer.current);
333
333
  if (closeTimer.current) window.clearTimeout(closeTimer.current);
334
334
  openTimer.current = null;
335
335
  closeTimer.current = null;
336
336
  };
337
- const lastSentRef = React20.useRef(null);
338
- const show = React20.useCallback(() => {
337
+ const lastSentRef = React19.useRef(null);
338
+ const show = React19.useCallback(() => {
339
339
  if (!content) return;
340
340
  ctx.show({
341
341
  id,
@@ -346,17 +346,17 @@ function useTooltipTrigger(options) {
346
346
  });
347
347
  lastSentRef.current = { content, placement, offset };
348
348
  }, [ctx, id, content, placement, offset]);
349
- const hide = React20.useCallback(() => {
349
+ const hide = React19.useCallback(() => {
350
350
  ctx.hide(id);
351
351
  }, [ctx, id]);
352
- React20.useEffect(() => {
352
+ React19.useEffect(() => {
353
353
  if (!isOpen) {
354
354
  hide();
355
355
  return;
356
356
  }
357
357
  show();
358
358
  }, [isOpen, show, hide]);
359
- React20.useEffect(() => {
359
+ React19.useEffect(() => {
360
360
  var _a;
361
361
  if (!isOpen) return;
362
362
  if (((_a = ctx.active) == null ? void 0 : _a.id) !== id) return;
@@ -426,7 +426,6 @@ var Button_default = {
426
426
  rounded: "Button_rounded",
427
427
  link: "Button_link",
428
428
  icon: "Button_icon",
429
- xs: "Button_xs",
430
429
  sm: "Button_sm",
431
430
  lg: "Button_lg",
432
431
  fullWidth: "Button_fullWidth",
@@ -437,7 +436,8 @@ var Button_default = {
437
436
  active: "Button_active",
438
437
  success: "Button_success",
439
438
  danger: "Button_danger",
440
- inline: "Button_inline"
439
+ inline: "Button_inline",
440
+ xs: "Button_xs"
441
441
  };
442
442
  function cx(...parts) {
443
443
  return parts.filter(Boolean).join(" ");
@@ -451,7 +451,7 @@ function mergeRefs(...refs) {
451
451
  }
452
452
  };
453
453
  }
454
- var Button = React20__namespace.forwardRef(function Button2({
454
+ var Button = React19__namespace.forwardRef(function Button2({
455
455
  variant = "outlined",
456
456
  shape = "default",
457
457
  size = "md",
@@ -480,8 +480,8 @@ var Button = React20__namespace.forwardRef(function Button2({
480
480
  userClassName
481
481
  );
482
482
  const tooltipEnabled = Boolean(tooltip);
483
- const childRef = isLink && React20__namespace.isValidElement(children) ? (_a = children.ref) != null ? _a : null : null;
484
- const mergedRef = React20__namespace.useMemo(() => mergeRefs(childRef, ref), [childRef, ref]);
483
+ const childRef = isLink && React19__namespace.isValidElement(children) ? (_a = children.ref) != null ? _a : null : null;
484
+ const mergedRef = React19__namespace.useMemo(() => mergeRefs(childRef, ref), [childRef, ref]);
485
485
  const { triggerProps, id: tooltipId } = useTooltipTrigger({
486
486
  content: tooltipEnabled ? tooltip : null,
487
487
  placement: tooltipPlacement,
@@ -498,7 +498,7 @@ var Button = React20__namespace.forwardRef(function Button2({
498
498
  loading && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "flex", opacity: 0.5 }, className: "spin", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LoaderCircle, {}) })
499
499
  ] });
500
500
  let buttonEl;
501
- if (isLink && React20__namespace.isValidElement(children)) {
501
+ if (isLink && React19__namespace.isValidElement(children)) {
502
502
  const childClassName = typeof children.props.className === "string" ? children.props.className : "";
503
503
  const { disabled, onClick, ...linkButtonProps } = buttonProps;
504
504
  const handleClick = (e) => {
@@ -508,7 +508,7 @@ var Button = React20__namespace.forwardRef(function Button2({
508
508
  }
509
509
  onClick == null ? void 0 : onClick(e);
510
510
  };
511
- buttonEl = React20__namespace.cloneElement(children, {
511
+ buttonEl = React19__namespace.cloneElement(children, {
512
512
  ...linkButtonProps,
513
513
  ref: mergedRef,
514
514
  className: cx(childClassName, computedClassName, Button_default.buttonLink),
@@ -691,11 +691,11 @@ function getDeviceSize(width) {
691
691
  return "desktop";
692
692
  }
693
693
  function useDeviceSize() {
694
- const [deviceSize, setDeviceSize] = React20.useState(() => {
694
+ const [deviceSize, setDeviceSize] = React19.useState(() => {
695
695
  if (typeof window === "undefined") return "desktop";
696
696
  return getDeviceSize(window.innerWidth);
697
697
  });
698
- React20.useEffect(() => {
698
+ React19.useEffect(() => {
699
699
  const mediaQueries = [
700
700
  window.matchMedia(`(max-width: ${BREAKPOINTS.tablet - 1}px)`),
701
701
  window.matchMedia(
@@ -804,7 +804,8 @@ function Headline({
804
804
  icon,
805
805
  tone,
806
806
  variant,
807
- allowWrap = true
807
+ allowWrap = true,
808
+ id
808
809
  }) {
809
810
  const Tag = `h${size}`;
810
811
  const containerClassName = [Headline_default.headlineContainer, tone ? Headline_default[`tone-${tone}`] : ""].filter(Boolean).join(" ");
@@ -820,6 +821,7 @@ function Headline({
820
821
  /* @__PURE__ */ jsxRuntime.jsxs(
821
822
  Tag,
822
823
  {
824
+ id,
823
825
  style: {
824
826
  "--font-weight": weight,
825
827
  "--marker-color": severity ? SeverityBgColor[severity] : void 0
@@ -888,7 +890,7 @@ function parseMinWidthPx(minWidth, elForEm) {
888
890
  }
889
891
  return 0;
890
892
  }
891
- var Popover = React20.forwardRef(function Popover2({
893
+ var Popover = React19.forwardRef(function Popover2({
892
894
  trigger: Trigger,
893
895
  children,
894
896
  open,
@@ -908,39 +910,39 @@ var Popover = React20.forwardRef(function Popover2({
908
910
  anchorRef,
909
911
  overlayRef
910
912
  }, ref) {
911
- const internalId = React20.useId();
913
+ const internalId = React19.useId();
912
914
  const resolvedContentId = contentId != null ? contentId : `popover-${internalId}`;
913
915
  const isControlled = open !== void 0;
914
- const [uncontrolledOpen, setUncontrolledOpen] = React20.useState(defaultOpen);
916
+ const [uncontrolledOpen, setUncontrolledOpen] = React19.useState(defaultOpen);
915
917
  const isOpen = isControlled ? !!open : uncontrolledOpen;
916
- const [pos, setPos] = React20.useState({ top: 0, left: 0 });
917
- const [positioned, setPositioned] = React20.useState(false);
918
- const [triggerWidth, setTriggerWidth] = React20.useState(null);
919
- const containerRef = React20.useRef(null);
920
- const contentRef = React20.useRef(null);
921
- const triggerElRef = React20.useRef(null);
922
- const lastCloseReasonRef = React20.useRef("unknown");
923
- const [mounted, setMounted] = React20.useState(false);
924
- React20.useEffect(() => setMounted(true), []);
925
- const setOpen = React20.useCallback(
918
+ const [pos, setPos] = React19.useState({ top: 0, left: 0 });
919
+ const [positioned, setPositioned] = React19.useState(false);
920
+ const [triggerWidth, setTriggerWidth] = React19.useState(null);
921
+ const containerRef = React19.useRef(null);
922
+ const contentRef = React19.useRef(null);
923
+ const triggerElRef = React19.useRef(null);
924
+ const lastCloseReasonRef = React19.useRef("unknown");
925
+ const [mounted, setMounted] = React19.useState(false);
926
+ React19.useEffect(() => setMounted(true), []);
927
+ const setOpen = React19.useCallback(
926
928
  (next) => {
927
929
  if (!isControlled) setUncontrolledOpen(next);
928
930
  onOpenChange == null ? void 0 : onOpenChange(next);
929
931
  },
930
932
  [isControlled, onOpenChange]
931
933
  );
932
- const openPopover = React20.useCallback(() => {
934
+ const openPopover = React19.useCallback(() => {
933
935
  setPositioned(false);
934
936
  setOpen(true);
935
937
  }, [setOpen]);
936
- const closePopover = React20.useCallback(
938
+ const closePopover = React19.useCallback(
937
939
  (reason = "api") => {
938
940
  lastCloseReasonRef.current = reason;
939
941
  setOpen(false);
940
942
  },
941
943
  [setOpen]
942
944
  );
943
- const togglePopover = React20.useCallback(
945
+ const togglePopover = React19.useCallback(
944
946
  (e) => {
945
947
  var _a, _b;
946
948
  triggerElRef.current = (_b = (_a = anchorRef == null ? void 0 : anchorRef.current) != null ? _a : e.currentTarget) != null ? _b : containerRef.current;
@@ -949,7 +951,7 @@ var Popover = React20.forwardRef(function Popover2({
949
951
  },
950
952
  [isOpen, closePopover, openPopover, anchorRef]
951
953
  );
952
- React20.useImperativeHandle(
954
+ React19.useImperativeHandle(
953
955
  ref,
954
956
  () => ({
955
957
  close: () => closePopover("api"),
@@ -958,7 +960,7 @@ var Popover = React20.forwardRef(function Popover2({
958
960
  }),
959
961
  [closePopover, openPopover, isOpen]
960
962
  );
961
- const computeAndSetPosition = React20.useCallback(() => {
963
+ const computeAndSetPosition = React19.useCallback(() => {
962
964
  var _a, _b;
963
965
  const content = contentRef.current;
964
966
  if (!content) return;
@@ -1023,11 +1025,11 @@ var Popover = React20.forwardRef(function Popover2({
1023
1025
  setPos({ top: clampedTop, left: clampedLeft });
1024
1026
  setPositioned(true);
1025
1027
  }, [anchorRef, edgeBuffer, viewportPadding, minWidth, matchTriggerWidth]);
1026
- React20.useLayoutEffect(() => {
1028
+ React19.useLayoutEffect(() => {
1027
1029
  if (!isOpen) return;
1028
1030
  computeAndSetPosition();
1029
1031
  }, [isOpen, computeAndSetPosition]);
1030
- React20.useEffect(() => {
1032
+ React19.useEffect(() => {
1031
1033
  var _a, _b, _c;
1032
1034
  if (!isOpen) return;
1033
1035
  const content = contentRef.current;
@@ -1067,7 +1069,7 @@ var Popover = React20.forwardRef(function Popover2({
1067
1069
  resizeObserver == null ? void 0 : resizeObserver.disconnect();
1068
1070
  };
1069
1071
  }, [isOpen, closePopover, computeAndSetPosition, autoFocusContent, anchorRef]);
1070
- React20.useEffect(() => {
1072
+ React19.useEffect(() => {
1071
1073
  var _a, _b;
1072
1074
  if (isOpen) return;
1073
1075
  if (!returnFocus) return;
@@ -1075,7 +1077,7 @@ var Popover = React20.forwardRef(function Popover2({
1075
1077
  (_b = (_a = triggerElRef.current) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
1076
1078
  }, [isOpen, returnFocus]);
1077
1079
  const icon = isOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "dbc-muted-text", size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "dbc-muted-text", size: 20 });
1078
- const setOverlayRef = React20__namespace.useCallback(
1080
+ const setOverlayRef = React19__namespace.useCallback(
1079
1081
  (node) => {
1080
1082
  assignRef(overlayRef, node);
1081
1083
  },
@@ -1143,10 +1145,10 @@ function NavBar({
1143
1145
  activeLink,
1144
1146
  size
1145
1147
  }) {
1146
- const [mobileOpen, setMobileOpen] = React20.useState(false);
1148
+ const [mobileOpen, setMobileOpen] = React19.useState(false);
1147
1149
  const deviceSize = useDeviceSize();
1148
1150
  const isMobile = deviceSize === "mobile";
1149
- const navRef = React20.useRef(null);
1151
+ const navRef = React19.useRef(null);
1150
1152
  const navLinks = items == null ? void 0 : items.filter((i) => i.enabled !== false).map((item, id) => {
1151
1153
  const { component: Component, label, icon, href, active, external } = item;
1152
1154
  const isActive = activeLink ? href === activeLink : Boolean(active);
@@ -1259,12 +1261,12 @@ function Avatar({
1259
1261
  "--text": SeverityTextColor[color],
1260
1262
  "--size": fullWidth ? "100%" : sizes[size]
1261
1263
  };
1262
- const pathId = React20__namespace.useId();
1264
+ const pathId = React19__namespace.useId();
1263
1265
  const renderImage = () => {
1264
1266
  if (image) {
1265
- if (React20__namespace.isValidElement(image)) {
1267
+ if (React19__namespace.isValidElement(image)) {
1266
1268
  const mergedClass = [image.props.className, Avatar_default.image].filter(Boolean).join(" ");
1267
- return React20__namespace.cloneElement(image, { className: mergedClass });
1269
+ return React19__namespace.cloneElement(image, { className: mergedClass });
1268
1270
  }
1269
1271
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: Avatar_default.imageSlot, children: image });
1270
1272
  }
@@ -1436,9 +1438,9 @@ function Checkbox({
1436
1438
  id,
1437
1439
  "data-cy": dataCy
1438
1440
  }) {
1439
- const [internal, setInternal] = React20.useState(false);
1441
+ const [internal, setInternal] = React19.useState(false);
1440
1442
  const isChecked = controlled != null ? controlled : internal;
1441
- const generatedId = React20.useId();
1443
+ const generatedId = React19.useId();
1442
1444
  const controlId = id != null ? id : `checkbox-${generatedId}`;
1443
1445
  const toggle = (e) => {
1444
1446
  if (disabled) return;
@@ -1527,7 +1529,7 @@ function RadioButton({
1527
1529
  id,
1528
1530
  "data-cy": dataCy
1529
1531
  }) {
1530
- const generatedId = React20.useId();
1532
+ const generatedId = React19.useId();
1531
1533
  const controlId = id != null ? id : `radio-${generatedId}`;
1532
1534
  const isChecked = selectedValue !== void 0 ? selectedValue === value : Boolean(checked);
1533
1535
  const content = /* @__PURE__ */ jsxRuntime.jsxs("span", { className: RadioButtons_default.container, "data-cy": dataCy, children: [
@@ -1587,9 +1589,9 @@ var INTERACTIVE_SELECTOR = 'a:not([disabled]), button:not([disabled]), [tabindex
1587
1589
  function getMenuItems(el) {
1588
1590
  return Array.from(el.querySelectorAll(INTERACTIVE_SELECTOR));
1589
1591
  }
1590
- var MenuBase = React20__namespace.forwardRef(
1592
+ var MenuBase = React19__namespace.forwardRef(
1591
1593
  ({ children, className, itemRole = "menuitem", gap, onKeyDown, ...props }, ref) => {
1592
- const internalRef = React20__namespace.useRef(null);
1594
+ const internalRef = React19__namespace.useRef(null);
1593
1595
  const handleKeyDown = (e) => {
1594
1596
  const ul = internalRef.current;
1595
1597
  if (!ul) return;
@@ -1632,16 +1634,16 @@ var MenuBase = React20__namespace.forwardRef(
1632
1634
  }
1633
1635
  );
1634
1636
  MenuBase.displayName = "Menu";
1635
- var isInteractiveEl = (el) => React20__namespace.isValidElement(el) && (typeof el.type === "string" ? el.type === "a" || el.type === "button" : true);
1637
+ var isInteractiveEl = (el) => React19__namespace.isValidElement(el) && (typeof el.type === "string" ? el.type === "a" || el.type === "button" : true);
1636
1638
  function applyMenuItemPropsToElement(child, opts) {
1637
1639
  var _a, _b, _c, _d;
1638
1640
  const { active, selected, disabled, role, tabIndex = 0, className } = opts;
1639
1641
  const childClass = [Menu_default.item, active ? Menu_default.active : "", selected ? Menu_default.selected : ""].filter(Boolean).join(" ");
1640
- const nextImmediate = React20__namespace.cloneElement(child, {
1642
+ const nextImmediate = React19__namespace.cloneElement(child, {
1641
1643
  className: [child.props.className, Menu_default.interactiveChild, className].filter(Boolean).join(" ")
1642
1644
  });
1643
1645
  if (typeof child.type === "string" && (child.type === "a" || child.type === "button")) {
1644
- return React20__namespace.cloneElement(child, {
1646
+ return React19__namespace.cloneElement(child, {
1645
1647
  role: (_a = child.props.role) != null ? _a : role,
1646
1648
  tabIndex: (_b = child.props.tabIndex) != null ? _b : tabIndex,
1647
1649
  "aria-selected": selected || void 0,
@@ -1650,7 +1652,7 @@ function applyMenuItemPropsToElement(child, opts) {
1650
1652
  ...child.type === "button" ? { disabled } : {}
1651
1653
  });
1652
1654
  }
1653
- return React20__namespace.cloneElement(nextImmediate, {
1655
+ return React19__namespace.cloneElement(nextImmediate, {
1654
1656
  role: (_c = nextImmediate.props.role) != null ? _c : role,
1655
1657
  tabIndex: (_d = nextImmediate.props.tabIndex) != null ? _d : tabIndex,
1656
1658
  "aria-selected": selected || void 0,
@@ -1659,7 +1661,7 @@ function applyMenuItemPropsToElement(child, opts) {
1659
1661
  disabled
1660
1662
  });
1661
1663
  }
1662
- var MenuItem = React20__namespace.forwardRef(
1664
+ var MenuItem = React19__namespace.forwardRef(
1663
1665
  ({ children, active, selected, disabled, className, itemRole, variant, ...liProps }, ref) => {
1664
1666
  const resolvedRole = itemRole != null ? itemRole : "menuitem";
1665
1667
  const isBordered = variant === "bordered";
@@ -1697,7 +1699,7 @@ var MenuItem = React20__namespace.forwardRef(
1697
1699
  }
1698
1700
  );
1699
1701
  MenuItem.displayName = "Menu.Item";
1700
- var MenuCheckItem = React20__namespace.forwardRef(
1702
+ var MenuCheckItem = React19__namespace.forwardRef(
1701
1703
  ({
1702
1704
  label,
1703
1705
  checked,
@@ -1763,7 +1765,7 @@ var MenuCheckItem = React20__namespace.forwardRef(
1763
1765
  }
1764
1766
  );
1765
1767
  MenuCheckItem.displayName = "Menu.CheckItem";
1766
- var MenuRadioItem = React20__namespace.forwardRef(
1768
+ var MenuRadioItem = React19__namespace.forwardRef(
1767
1769
  ({ name, value, checked, disabled, label, onValueChange, className, ...liProps }, ref) => {
1768
1770
  return /* @__PURE__ */ jsxRuntime.jsx(
1769
1771
  "li",
@@ -1803,7 +1805,7 @@ var MenuRadioItem = React20__namespace.forwardRef(
1803
1805
  }
1804
1806
  );
1805
1807
  MenuRadioItem.displayName = "Menu.RadioItem";
1806
- var MenuSeparator = React20__namespace.forwardRef(
1808
+ var MenuSeparator = React19__namespace.forwardRef(
1807
1809
  ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1808
1810
  "li",
1809
1811
  {
@@ -1815,7 +1817,7 @@ var MenuSeparator = React20__namespace.forwardRef(
1815
1817
  )
1816
1818
  );
1817
1819
  MenuSeparator.displayName = "Menu.Separator";
1818
- var MenuHeader = React20__namespace.forwardRef(
1820
+ var MenuHeader = React19__namespace.forwardRef(
1819
1821
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1820
1822
  "li",
1821
1823
  {
@@ -1945,9 +1947,9 @@ function Chip({
1945
1947
  selected = false,
1946
1948
  onClose
1947
1949
  }) {
1948
- const [chipWidth, setChipWidth] = React20.useState(void 0);
1949
- const chipRef = React20.useRef(null);
1950
- React20.useEffect(() => {
1950
+ const [chipWidth, setChipWidth] = React19.useState(void 0);
1951
+ const chipRef = React19.useRef(null);
1952
+ React19.useEffect(() => {
1951
1953
  if (chipRef.current) {
1952
1954
  setChipWidth(`${chipRef.current.offsetWidth}px`);
1953
1955
  }
@@ -2427,8 +2429,8 @@ function getFirstEnabledId(items) {
2427
2429
  }
2428
2430
  function normalizeFromChildren(children) {
2429
2431
  const items = [];
2430
- React20.Children.forEach(children, (child) => {
2431
- if (!React20.isValidElement(child)) return;
2432
+ React19.Children.forEach(children, (child) => {
2433
+ if (!React19.isValidElement(child)) return;
2432
2434
  const t = child.type;
2433
2435
  if ((t == null ? void 0 : t.__TABS_SLOT__) !== "Item") return;
2434
2436
  const props = child.props;
@@ -2458,24 +2460,24 @@ function Tabs({
2458
2460
  loading = false,
2459
2461
  children
2460
2462
  }) {
2461
- const uid = React20.useId();
2462
- const sourceTabs = React20.useMemo(() => {
2463
+ const uid = React19.useId();
2464
+ const sourceTabs = React19.useMemo(() => {
2463
2465
  if (tabs && tabs.length) return tabs;
2464
2466
  return normalizeFromChildren(children);
2465
2467
  }, [tabs, children]);
2466
- const visibleTabs = React20.useMemo(() => sourceTabs.filter((t) => !t.hidden), [sourceTabs]);
2468
+ const visibleTabs = React19.useMemo(() => sourceTabs.filter((t) => !t.hidden), [sourceTabs]);
2467
2469
  const isControlled = value !== void 0;
2468
- const [internalValue, setInternalValue] = React20.useState(() => {
2470
+ const [internalValue, setInternalValue] = React19.useState(() => {
2469
2471
  return defaultValue != null ? defaultValue : getFirstEnabledId(visibleTabs);
2470
2472
  });
2471
2473
  const currentValue = isControlled ? value : internalValue;
2472
- const activeIndex = React20.useMemo(() => {
2474
+ const activeIndex = React19.useMemo(() => {
2473
2475
  if (!visibleTabs.length) return -1;
2474
2476
  const idx = visibleTabs.findIndex((t) => t.id === currentValue);
2475
2477
  return idx >= 0 ? idx : 0;
2476
2478
  }, [visibleTabs, currentValue]);
2477
2479
  const activeTab = activeIndex >= 0 ? visibleTabs[activeIndex] : void 0;
2478
- const setValue = React20.useCallback(
2480
+ const setValue = React19.useCallback(
2479
2481
  (nextId) => {
2480
2482
  const idx = visibleTabs.findIndex((t) => t.id === nextId);
2481
2483
  const tab = idx >= 0 ? visibleTabs[idx] : void 0;
@@ -2485,7 +2487,7 @@ function Tabs({
2485
2487
  },
2486
2488
  [visibleTabs, isControlled, onValueChange]
2487
2489
  );
2488
- React20.useEffect(() => {
2490
+ React19.useEffect(() => {
2489
2491
  if (!visibleTabs.length) return;
2490
2492
  const current = currentValue;
2491
2493
  const stillValid = visibleTabs.some((t) => t.id === current && !t.disabled);
@@ -2494,7 +2496,7 @@ function Tabs({
2494
2496
  if (next === void 0) return;
2495
2497
  setValue(next);
2496
2498
  }, [visibleTabs, currentValue, setValue]);
2497
- const onKeyDownTab = React20.useCallback(
2499
+ const onKeyDownTab = React19.useCallback(
2498
2500
  (e, index) => {
2499
2501
  var _a;
2500
2502
  const enabled = visibleTabs.filter((t) => !t.disabled);
@@ -2531,7 +2533,7 @@ function Tabs({
2531
2533
  "div",
2532
2534
  {
2533
2535
  className: [Tabs_default.headerContainer, disableTopPadding ? Tabs_default.disableTopPadding : ""].filter(Boolean).join(" "),
2534
- children: /* @__PURE__ */ jsxRuntime.jsx(Headline, { disableMargin: true, size: 2, subheader, addition, children: header })
2536
+ children: /* @__PURE__ */ jsxRuntime.jsx(Headline, { disableMargin: true, size: 1, subheader, addition, children: header })
2535
2537
  }
2536
2538
  ) : null,
2537
2539
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Tabs_default.tabs} ${Tabs_default[variant]} ${panelStyle ? Tabs_default.panelStyle : ""}`, children: [
@@ -2587,9 +2589,9 @@ function CollapsibleHeadline({
2587
2589
  weight = 400,
2588
2590
  ...headlineProps
2589
2591
  }) {
2590
- const generatedId = React20.useId();
2592
+ const generatedId = React19.useId();
2591
2593
  const panelId = controls != null ? controls : generatedId;
2592
- const [internalExpanded, setInternalExpanded] = React20.useState(() => {
2594
+ const [internalExpanded, setInternalExpanded] = React19.useState(() => {
2593
2595
  if (!storageKey || typeof window === "undefined") return expanded != null ? expanded : true;
2594
2596
  const stored = localStorage.getItem(storageKey);
2595
2597
  return stored !== null ? stored === "true" : expanded != null ? expanded : true;
@@ -2673,8 +2675,8 @@ function getSlotName(el) {
2673
2675
  function splitSlots(children) {
2674
2676
  const slots = {};
2675
2677
  const rest = [];
2676
- React20.Children.forEach(children, (child) => {
2677
- if (!React20.isValidElement(child)) {
2678
+ React19.Children.forEach(children, (child) => {
2679
+ if (!React19.isValidElement(child)) {
2678
2680
  if (child != null) rest.push(child);
2679
2681
  return;
2680
2682
  }
@@ -2783,12 +2785,12 @@ function Hyperlink(props) {
2783
2785
  inline ? "" : Hyperlink_default.block
2784
2786
  );
2785
2787
  if (asChild) {
2786
- const child = React20__namespace.Children.only(children);
2787
- if (!React20__namespace.isValidElement(child)) {
2788
+ const child = React19__namespace.Children.only(children);
2789
+ if (!React19__namespace.isValidElement(child)) {
2788
2790
  throw new Error("Hyperlink with asChild expects a single valid React element as its child.");
2789
2791
  }
2790
2792
  const childProps = (_a = child.props) != null ? _a : {};
2791
- return React20__namespace.cloneElement(child, {
2793
+ return React19__namespace.cloneElement(child, {
2792
2794
  ...childProps,
2793
2795
  ...rest,
2794
2796
  className: cx2(childProps.className, linkClassName),
@@ -2823,15 +2825,15 @@ function Hyperlink(props) {
2823
2825
  );
2824
2826
  }
2825
2827
 
2826
- // src/components/page-layout/components/layout-footer/LayoutFooter.module.css
2827
- var LayoutFooter_default = {
2828
- footer: "LayoutFooter_footer",
2829
- inner: "LayoutFooter_inner",
2830
- brand: "LayoutFooter_brand",
2831
- logoRow: "LayoutFooter_logoRow",
2832
- meta: "LayoutFooter_meta",
2833
- part: "LayoutFooter_part",
2834
- links: "LayoutFooter_links"};
2828
+ // src/components/page-layout/components/footer/Footer.module.css
2829
+ var Footer_default = {
2830
+ footer: "Footer_footer",
2831
+ inner: "Footer_inner",
2832
+ brand: "Footer_brand",
2833
+ logoRow: "Footer_logoRow",
2834
+ meta: "Footer_meta",
2835
+ part: "Footer_part",
2836
+ links: "Footer_links"};
2835
2837
  var DEFAULT_META_PARTS = [
2836
2838
  "Tempovej 7-11",
2837
2839
  "DK-2750 Ballerup",
@@ -2843,23 +2845,23 @@ var DEFAULT_LINKS = [
2843
2845
  label: "Kundeservice",
2844
2846
  href: "https://kundeservice.dbc.dk",
2845
2847
  external: true
2846
- },
2847
- {
2848
- label: "Cookies",
2849
- href: "/cookies"
2850
2848
  }
2851
2849
  ];
2852
- function LayoutFooter({
2850
+ function Footer({
2853
2851
  links = DEFAULT_LINKS,
2854
2852
  metaParts = DEFAULT_META_PARTS,
2853
+ version,
2855
2854
  extraLinks
2856
2855
  }) {
2857
- return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: LayoutFooter_default.footer, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: LayoutFooter_default.inner, children: [
2858
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: LayoutFooter_default.brand, children: [
2859
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: LayoutFooter_default.logoRow, children: /* @__PURE__ */ jsxRuntime.jsx(Logo, {}) }),
2860
- /* @__PURE__ */ jsxRuntime.jsx("address", { className: LayoutFooter_default.meta, children: metaParts.map((part) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: LayoutFooter_default.part, children: part }, part)) })
2856
+ const displayMetaParts = version && metaParts.length > 0 ? metaParts.map(
2857
+ (part, index) => index === metaParts.length - 1 ? `${part} \xB7 ${version}` : part
2858
+ ) : metaParts;
2859
+ return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: Footer_default.footer, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_default.inner, children: [
2860
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_default.brand, children: [
2861
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_default.logoRow, children: /* @__PURE__ */ jsxRuntime.jsx(Logo, {}) }),
2862
+ /* @__PURE__ */ jsxRuntime.jsx("address", { className: Footer_default.meta, children: displayMetaParts.map((part) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: Footer_default.part, children: part }, part)) })
2861
2863
  ] }),
2862
- /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: LayoutFooter_default.links, "aria-label": "Footer navigation", children: [
2864
+ /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: Footer_default.links, "aria-label": "Footer navigation", children: [
2863
2865
  extraLinks && extraLinks.length > 0 && (extraLinks == null ? void 0 : extraLinks.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: link }, index))),
2864
2866
  links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(
2865
2867
  Hyperlink,
@@ -2937,7 +2939,7 @@ function mergeRefs2(...refs) {
2937
2939
  }
2938
2940
  };
2939
2941
  }
2940
- var Input = React20.forwardRef(function Input2({
2942
+ var Input = React19.forwardRef(function Input2({
2941
2943
  label,
2942
2944
  error,
2943
2945
  helpText,
@@ -2971,10 +2973,10 @@ var Input = React20.forwardRef(function Input2({
2971
2973
  endAdornment,
2972
2974
  ...inputProps
2973
2975
  }, ref) {
2974
- const inputRef = React20.useRef(null);
2975
- const reactId = React20.useId();
2976
+ const inputRef = React19.useRef(null);
2977
+ const reactId = React19.useId();
2976
2978
  const inputId = id != null ? id : `input-${reactId}`;
2977
- React20.useEffect(() => {
2979
+ React19.useEffect(() => {
2978
2980
  var _a;
2979
2981
  if (autoFocus) (_a = inputRef.current) == null ? void 0 : _a.focus();
2980
2982
  }, [autoFocus]);
@@ -3107,7 +3109,7 @@ var SearchBox_default = {
3107
3109
  suggestionCell: "SearchBox_suggestionCell",
3108
3110
  suggestionRowActive: "SearchBox_suggestionRowActive"
3109
3111
  };
3110
- var SearchBox = React20.forwardRef(function SearchBoxInner({
3112
+ var SearchBox = React19.forwardRef(function SearchBoxInner({
3111
3113
  inputWidth,
3112
3114
  maxWidth,
3113
3115
  inputSize,
@@ -3134,24 +3136,24 @@ var SearchBox = React20.forwardRef(function SearchBoxInner({
3134
3136
  ...rest
3135
3137
  }, ref) {
3136
3138
  const isControlled = value !== void 0;
3137
- const [draft, setDraft] = React20.useState(() => isControlled ? String(value != null ? value : "") : "");
3138
- const [searchQuery, setSearchQuery] = React20.useState("");
3139
- const [activeIndex, setActiveIndex] = React20.useState(null);
3140
- const popoverRef = React20.useRef(null);
3141
- const internalInputRef = React20.useRef(null);
3142
- React20.useEffect(() => {
3139
+ const [draft, setDraft] = React19.useState(() => isControlled ? String(value != null ? value : "") : "");
3140
+ const [searchQuery, setSearchQuery] = React19.useState("");
3141
+ const [activeIndex, setActiveIndex] = React19.useState(null);
3142
+ const popoverRef = React19.useRef(null);
3143
+ const internalInputRef = React19.useRef(null);
3144
+ React19.useEffect(() => {
3143
3145
  if (typeof ref === "function") {
3144
3146
  ref(internalInputRef.current);
3145
3147
  } else if (ref) {
3146
3148
  ref.current = internalInputRef.current;
3147
3149
  }
3148
3150
  }, [ref]);
3149
- React20.useEffect(() => {
3151
+ React19.useEffect(() => {
3150
3152
  if (!isControlled) return;
3151
3153
  const next = String(value != null ? value : "");
3152
3154
  if (next !== draft) setDraft(next);
3153
3155
  }, [value]);
3154
- React20.useEffect(() => {
3156
+ React19.useEffect(() => {
3155
3157
  if (!onSearch) return;
3156
3158
  if (!debounce) {
3157
3159
  setSearchQuery(draft);
@@ -3164,7 +3166,7 @@ var SearchBox = React20.forwardRef(function SearchBoxInner({
3164
3166
  }, debounceMs);
3165
3167
  return () => clearTimeout(handler);
3166
3168
  }, [draft, onSearch, debounce, debounceMs]);
3167
- React20.useEffect(() => {
3169
+ React19.useEffect(() => {
3168
3170
  function handleKeyDown(event) {
3169
3171
  var _a;
3170
3172
  if (event.key === "k" && (event.metaKey || event.ctrlKey)) {
@@ -3177,14 +3179,14 @@ var SearchBox = React20.forwardRef(function SearchBoxInner({
3177
3179
  return () => window.removeEventListener("keydown", handleKeyDown);
3178
3180
  }
3179
3181
  }, [enableHotkey]);
3180
- const handleChange = React20__namespace.default.useCallback(
3182
+ const handleChange = React19__namespace.default.useCallback(
3181
3183
  (e) => {
3182
3184
  setDraft(e.target.value);
3183
3185
  onChange == null ? void 0 : onChange(e);
3184
3186
  },
3185
3187
  [onChange]
3186
3188
  );
3187
- const handleSelect = React20__namespace.default.useCallback(
3189
+ const handleSelect = React19__namespace.default.useCallback(
3188
3190
  (item) => {
3189
3191
  onSelect == null ? void 0 : onSelect(item);
3190
3192
  reset();
@@ -3198,16 +3200,16 @@ var SearchBox = React20.forwardRef(function SearchBoxInner({
3198
3200
  setActiveIndex(null);
3199
3201
  (_a = popoverRef.current) == null ? void 0 : _a.close();
3200
3202
  }
3201
- const handleClear = React20__namespace.default.useCallback(() => {
3203
+ const handleClear = React19__namespace.default.useCallback(() => {
3202
3204
  var _a;
3203
3205
  reset();
3204
3206
  onSearch == null ? void 0 : onSearch("");
3205
3207
  (_a = internalInputRef.current) == null ? void 0 : _a.focus();
3206
3208
  }, [onSearch]);
3207
- React20.useEffect(() => {
3209
+ React19.useEffect(() => {
3208
3210
  setActiveIndex(null);
3209
3211
  }, [result]);
3210
- const inputField = React20.useMemo(() => {
3212
+ const inputField = React19.useMemo(() => {
3211
3213
  var _a;
3212
3214
  const inputProps = {
3213
3215
  ...rest,
@@ -3384,8 +3386,8 @@ function applyTheme(id) {
3384
3386
  document.documentElement.dataset.theme = id;
3385
3387
  }
3386
3388
  function useTheme(initialTheme = "system") {
3387
- const [theme, setTheme] = React20.useState(null);
3388
- React20.useEffect(() => {
3389
+ const [theme, setTheme] = React19.useState(null);
3390
+ React19.useEffect(() => {
3389
3391
  const themeFromDataAttributes = getTheme();
3390
3392
  let resolved = isThemeVariant(themeFromDataAttributes) ? themeFromDataAttributes : initialTheme;
3391
3393
  const fromCookie = getCookie(STORAGE_KEY);
@@ -3403,7 +3405,7 @@ function useTheme(initialTheme = "system") {
3403
3405
  setTheme(resolved);
3404
3406
  persistTheme(resolved);
3405
3407
  }, [initialTheme]);
3406
- const switchTheme = React20.useCallback((id) => {
3408
+ const switchTheme = React19.useCallback((id) => {
3407
3409
  applyTheme(id);
3408
3410
  setTheme(id);
3409
3411
  persistTheme(id);
@@ -3449,6 +3451,10 @@ function Panel({
3449
3451
  var Card_default = {
3450
3452
  outerContainer: "Card_outerContainer",
3451
3453
  container: "Card_container",
3454
+ elevationNone: "Card_elevationNone",
3455
+ elevationXs: "Card_elevationXs",
3456
+ elevationSm: "Card_elevationSm",
3457
+ elevationMd: "Card_elevationMd",
3452
3458
  variantDefault: "Card_variantDefault",
3453
3459
  variantSubtle: "Card_variantSubtle",
3454
3460
  sm: "Card_sm",
@@ -3576,6 +3582,7 @@ function CardImpl({
3576
3582
  loading = false,
3577
3583
  variant = "default",
3578
3584
  size = "md",
3585
+ elevation = "sm",
3579
3586
  headerMarker = true,
3580
3587
  headerIcon,
3581
3588
  headerAddition,
@@ -3592,6 +3599,7 @@ function CardImpl({
3592
3599
  width,
3593
3600
  headlineSize = 4
3594
3601
  }) {
3602
+ var _a;
3595
3603
  const outerStyle = width ? {
3596
3604
  ["--width"]: `${width}%`,
3597
3605
  ["--gap-share"]: getGapShare(width)
@@ -3599,6 +3607,7 @@ function CardImpl({
3599
3607
  const mediaStyle = mediaWidth ? { ["--card-media-width"]: `${mediaWidth}px` } : void 0;
3600
3608
  const innerPlacementClass = getInnerPlacementClass(imgPlacement, Card_default);
3601
3609
  const variantClass = getVariantClass(variant, Card_default);
3610
+ const elevationClass = (_a = Card_default[`elevation${elevation.charAt(0).toUpperCase()}${elevation.slice(1)}`]) != null ? _a : Card_default.elevationSm;
3602
3611
  const hasHeader = !!title || !!headerMeta;
3603
3612
  const showSection = !loading && (showSectionDivider || !!sectionTitle);
3604
3613
  const showBody = !loading && !!children;
@@ -3636,7 +3645,7 @@ function CardImpl({
3636
3645
  ] })
3637
3646
  ] });
3638
3647
  const cardContent = link ? /* @__PURE__ */ jsxRuntime.jsx(Hyperlink, { children: link }) : inner;
3639
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.outerContainer} ${Card_default[size]}`, style: outerStyle, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.container} ${variantClass}`, children: cardContent }) });
3648
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.outerContainer} ${Card_default[size]}`, style: outerStyle, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Card_default.container} ${variantClass} ${elevationClass}`, children: cardContent }) });
3640
3649
  }
3641
3650
  var Card = Object.assign(CardImpl, {
3642
3651
  Meta: CardMeta,
@@ -3682,7 +3691,8 @@ var Page_default = {
3682
3691
  disableTopPadding: "Page_disableTopPadding",
3683
3692
  headerMain: "Page_headerMain",
3684
3693
  content: "Page_content",
3685
- disableContentBox: "Page_disableContentBox"
3694
+ contentLoading: "Page_contentLoading",
3695
+ contentBox: "Page_contentBox"
3686
3696
  };
3687
3697
 
3688
3698
  // src/components/breadcrumbs/Breadcrumbs.module.css
@@ -3693,7 +3703,7 @@ function Breadcrumbs({
3693
3703
  items,
3694
3704
  ...navProps
3695
3705
  }) {
3696
- return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: Breadcrumbs_default.breadcrumbs, "aria-label": "breadcrumb", ...navProps, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React20.Fragment, { children: [
3706
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: Breadcrumbs_default.breadcrumbs, "aria-label": "breadcrumb", ...navProps, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React19.Fragment, { children: [
3697
3707
  /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
3698
3708
  item.icon && item.icon,
3699
3709
  item.onClick ? /* @__PURE__ */ jsxRuntime.jsx("button", { onClick: item.onClick, children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.label })
@@ -3709,12 +3719,14 @@ function Page({
3709
3719
  headerAddition,
3710
3720
  breadcrumbs,
3711
3721
  disableContentBox,
3722
+ contentBox = false,
3712
3723
  disableTopPadding = true,
3713
3724
  maxWidth,
3714
3725
  containScrolling = false,
3715
3726
  children,
3716
3727
  loading = false
3717
3728
  }) {
3729
+ const showContentBox = contentBox && !disableContentBox;
3718
3730
  const maxWidthClass = maxWidth ? Page_default[`maxWidth${maxWidth.charAt(0).toUpperCase()}${maxWidth.slice(1)}`] : "";
3719
3731
  const hasHeadline = Boolean(header || subheader || headerAddition);
3720
3732
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3728,7 +3740,7 @@ function Page({
3728
3740
  Headline,
3729
3741
  {
3730
3742
  disableMargin: true,
3731
- size: 2,
3743
+ size: 1,
3732
3744
  severity,
3733
3745
  icon: headerIcon,
3734
3746
  subheader,
@@ -3737,7 +3749,13 @@ function Page({
3737
3749
  }
3738
3750
  ) : null
3739
3751
  ] }) }),
3740
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Page_default.content} ${disableContentBox ? Page_default.disableContentBox : ""}`, children: loading ? /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoader, { type: "squares", rows: 1, columns: 1 }) : children })
3752
+ /* @__PURE__ */ jsxRuntime.jsx(
3753
+ "div",
3754
+ {
3755
+ className: `${Page_default.content} ${loading ? Page_default.contentLoading : ""} ${showContentBox ? Page_default.contentBox : ""}`,
3756
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoader, { type: "squares", rows: 1, columns: 1 }) : children
3757
+ }
3758
+ )
3741
3759
  ]
3742
3760
  }
3743
3761
  );
@@ -3793,18 +3811,18 @@ function Pagination({
3793
3811
  showFirstLast = true,
3794
3812
  showGoToPage = true
3795
3813
  }) {
3796
- const popoverRef = React20.useRef(null);
3797
- const pageSizeRef = React20.useRef(null);
3798
- const formatNumber = React20.useCallback((value) => value.toLocaleString(NUMBER_LOCALE), []);
3799
- const totalPages = React20.useMemo(
3814
+ const popoverRef = React19.useRef(null);
3815
+ const pageSizeRef = React19.useRef(null);
3816
+ const formatNumber = React19.useCallback((value) => value.toLocaleString(NUMBER_LOCALE), []);
3817
+ const totalPages = React19.useMemo(
3800
3818
  () => Math.max(1, Math.ceil(itemsCount / Math.max(1, take))),
3801
3819
  [itemsCount, take]
3802
3820
  );
3803
- const currentPage = React20.useMemo(() => {
3821
+ const currentPage = React19.useMemo(() => {
3804
3822
  const p = Math.floor(skip / Math.max(1, take)) + 1;
3805
3823
  return Math.min(Math.max(1, p), totalPages);
3806
3824
  }, [skip, take, totalPages]);
3807
- const emit = React20.useCallback(
3825
+ const emit = React19.useCallback(
3808
3826
  (page, nextTake = take) => {
3809
3827
  const nextTotalPages = Math.max(1, Math.ceil(itemsCount / Math.max(1, nextTake)));
3810
3828
  const clampedPage = Math.min(Math.max(1, page), nextTotalPages);
@@ -3818,21 +3836,21 @@ function Pagination({
3818
3836
  },
3819
3837
  [onPageChange, take, itemsCount]
3820
3838
  );
3821
- const firstPage = React20.useCallback(() => emit(1), [emit]);
3822
- const lastPage = React20.useCallback(() => emit(totalPages), [emit, totalPages]);
3823
- const prevPage = React20.useCallback(() => emit(currentPage - 1), [emit, currentPage]);
3824
- const nextPage = React20.useCallback(() => emit(currentPage + 1), [emit, currentPage]);
3825
- const goToPage = React20.useCallback((page) => emit(page), [emit]);
3839
+ const firstPage = React19.useCallback(() => emit(1), [emit]);
3840
+ const lastPage = React19.useCallback(() => emit(totalPages), [emit, totalPages]);
3841
+ const prevPage = React19.useCallback(() => emit(currentPage - 1), [emit, currentPage]);
3842
+ const nextPage = React19.useCallback(() => emit(currentPage + 1), [emit, currentPage]);
3843
+ const goToPage = React19.useCallback((page) => emit(page), [emit]);
3826
3844
  const canPrev = currentPage > 1;
3827
3845
  const canNext = currentPage < totalPages;
3828
- const rangeLabel = React20.useMemo(() => {
3846
+ const rangeLabel = React19.useMemo(() => {
3829
3847
  if (itemsCount <= 0) return "0 af 0";
3830
3848
  const first = skip + 1;
3831
3849
  const last = Math.min(skip + take, itemsCount);
3832
3850
  return `${formatNumber(first)}\u2013${formatNumber(last)} af ${formatNumber(itemsCount)}`;
3833
3851
  }, [formatNumber, itemsCount, skip, take]);
3834
- const pages = React20.useMemo(() => Array.from({ length: totalPages }, (_, i) => i + 1), [totalPages]);
3835
- const handlePageSizeChange = React20.useCallback((size) => emit(1, size), [emit]);
3852
+ const pages = React19.useMemo(() => Array.from({ length: totalPages }, (_, i) => i + 1), [totalPages]);
3853
+ const handlePageSizeChange = React19.useCallback((size) => emit(1, size), [emit]);
3836
3854
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Pagination_default.container, children: [
3837
3855
  showFirstLast && /* @__PURE__ */ jsxRuntime.jsx(
3838
3856
  Button,
@@ -3925,11 +3943,11 @@ function Pagination({
3925
3943
  )
3926
3944
  ] });
3927
3945
  }
3928
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React20.useLayoutEffect : React20.useEffect;
3946
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React19.useLayoutEffect : React19.useEffect;
3929
3947
  function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop = false, watchRef } = {}) {
3930
- const [maxHeight, setMaxHeight] = React20.useState(min);
3931
- const raf = React20.useRef(null);
3932
- const measure = React20.useCallback(() => {
3948
+ const [maxHeight, setMaxHeight] = React19.useState(min);
3949
+ const raf = React19.useRef(null);
3950
+ const measure = React19.useCallback(() => {
3933
3951
  if (typeof window === "undefined" || !ref.current) return;
3934
3952
  const el = ref.current;
3935
3953
  const rect = el.getBoundingClientRect();
@@ -3941,7 +3959,7 @@ function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop =
3941
3959
  const next = Math.max(min, Math.floor(window.innerHeight - bottomOffset - top));
3942
3960
  setMaxHeight((prev) => prev === next ? prev : next);
3943
3961
  }, [ref, bottomOffset, min, includeMarginTop]);
3944
- const scheduleMeasure = React20.useCallback(() => {
3962
+ const scheduleMeasure = React19.useCallback(() => {
3945
3963
  if (typeof window === "undefined") return;
3946
3964
  if (raf.current != null) {
3947
3965
  cancelAnimationFrame(raf.current);
@@ -3954,7 +3972,7 @@ function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop =
3954
3972
  useIsomorphicLayoutEffect(() => {
3955
3973
  measure();
3956
3974
  }, [measure]);
3957
- React20.useEffect(() => {
3975
+ React19.useEffect(() => {
3958
3976
  var _a;
3959
3977
  if (typeof window === "undefined" || !ref.current) return;
3960
3978
  const target = ref.current;
@@ -3987,7 +4005,7 @@ function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop =
3987
4005
  }
3988
4006
  };
3989
4007
  }, [ref, watchRef, scheduleMeasure]);
3990
- const style = React20.useMemo(
4008
+ const style = React19.useMemo(
3991
4009
  () => ({
3992
4010
  maxHeight,
3993
4011
  overflow: "auto"
@@ -4172,7 +4190,7 @@ function useTableRowInteractions({
4172
4190
  onRowClick,
4173
4191
  onRowSelect
4174
4192
  }) {
4175
- const handleRowClick = React20.useCallback(
4193
+ const handleRowClick = React19.useCallback(
4176
4194
  (e) => {
4177
4195
  var _a;
4178
4196
  const target = e.target;
@@ -4189,7 +4207,7 @@ function useTableRowInteractions({
4189
4207
  },
4190
4208
  [canSelect, isSelected, onRowClick, onRowSelect, row, rowId]
4191
4209
  );
4192
- const handleRowKeyDown = React20.useCallback(
4210
+ const handleRowKeyDown = React19.useCallback(
4193
4211
  (e) => {
4194
4212
  if (!onRowClick) return;
4195
4213
  if (!shouldToggleOnKey(e.key)) return;
@@ -4306,7 +4324,7 @@ function TableRow({
4306
4324
  columns.map((column) => {
4307
4325
  var _a2, _b, _c, _d;
4308
4326
  const allowWrap = shouldAllowWrap(column.allowWrap, isSelected, viewMode);
4309
- const allowOverflow = column.allowOverflow;
4327
+ column.allowOverflow;
4310
4328
  const cellValue = getCellDisplayValue(row, column);
4311
4329
  return /* @__PURE__ */ jsxRuntime.jsx(
4312
4330
  "td",
@@ -4326,7 +4344,7 @@ function TableRow({
4326
4344
  className: Table_default.cellContent,
4327
4345
  "data-align": (_c = column.align) != null ? _c : "left",
4328
4346
  "data-vertical-align": (_d = column.verticalAlign) != null ? _d : "top",
4329
- children: allowWrap || allowOverflow ? cellValue : /* @__PURE__ */ jsxRuntime.jsx("div", { className: Table_default.cellValueEllipsis, children: cellValue })
4347
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: Table_default.cellValueEllipsis, children: cellValue })
4330
4348
  }
4331
4349
  )
4332
4350
  },
@@ -4561,10 +4579,10 @@ function Table({
4561
4579
  onPageChange,
4562
4580
  ...rest
4563
4581
  }) {
4564
- const visibleColumns = React20.useMemo(() => getVisibleColumns(columns), [columns]);
4565
- const selectionInputName = React20.useId();
4566
- const internalTableRootRef = React20.useRef(null);
4567
- const tableRootRefWrapper = React20.useRef(tableRootRef);
4582
+ const visibleColumns = React19.useMemo(() => getVisibleColumns(columns), [columns]);
4583
+ const selectionInputName = React19.useId();
4584
+ const internalTableRootRef = React19.useRef(null);
4585
+ const tableRootRefWrapper = React19.useRef(tableRootRef);
4568
4586
  const hasSelection = Boolean(selectedRows && onRowSelect);
4569
4587
  const hasPagination = Boolean(onPageChange && (loading || data.length > 0));
4570
4588
  const paginationOffset = hasPagination ? 72 : 0;
@@ -4574,7 +4592,7 @@ function Table({
4574
4592
  });
4575
4593
  const fillViewportActive = fillViewport && containScrolling && maxHeight >= 500;
4576
4594
  const stickyTop = stickyHeader === "app-header" ? "var(--app-header-height, 60px)" : typeof stickyHeader === "number" ? `${stickyHeader}px` : void 0;
4577
- const setTableRootRef = React20.useCallback((node) => {
4595
+ const setTableRootRef = React19.useCallback((node) => {
4578
4596
  internalTableRootRef.current = node;
4579
4597
  if (typeof tableRootRefWrapper.current === "function") {
4580
4598
  tableRootRefWrapper.current(node);
@@ -4582,7 +4600,7 @@ function Table({
4582
4600
  tableRootRefWrapper.current.current = node;
4583
4601
  }
4584
4602
  }, []);
4585
- const handlePageChange = React20.useCallback(
4603
+ const handlePageChange = React19.useCallback(
4586
4604
  (e) => {
4587
4605
  onPageChange == null ? void 0 : onPageChange(e);
4588
4606
  },
@@ -4756,10 +4774,10 @@ var Textarea = function Textarea2({
4756
4774
  ...rest
4757
4775
  }) {
4758
4776
  const HEIGHT_BUFFER_PX = 2;
4759
- const generatedId = React20.useId();
4777
+ const generatedId = React19.useId();
4760
4778
  const textareaId = id != null ? id : `textarea-${generatedId}`;
4761
- const textareaRef = React20.useRef(null);
4762
- const syncHeight = React20.useCallback(
4779
+ const textareaRef = React19.useRef(null);
4780
+ const syncHeight = React19.useCallback(
4763
4781
  (textarea) => {
4764
4782
  if (!adjustHeight) return;
4765
4783
  textarea.style.height = "auto";
@@ -4767,12 +4785,12 @@ var Textarea = function Textarea2({
4767
4785
  },
4768
4786
  [adjustHeight]
4769
4787
  );
4770
- React20.useLayoutEffect(() => {
4788
+ React19.useLayoutEffect(() => {
4771
4789
  const textarea = textareaRef.current;
4772
4790
  if (!textarea) return;
4773
4791
  syncHeight(textarea);
4774
4792
  }, [syncHeight, value, rows]);
4775
- const onInput = React20.useCallback(
4793
+ const onInput = React19.useCallback(
4776
4794
  (e) => {
4777
4795
  const textarea = e.currentTarget;
4778
4796
  syncHeight(textarea);
@@ -4780,7 +4798,7 @@ var Textarea = function Textarea2({
4780
4798
  },
4781
4799
  [inputChanged, syncHeight]
4782
4800
  );
4783
- const inputField = React20.useMemo(
4801
+ const inputField = React19.useMemo(
4784
4802
  () => /* @__PURE__ */ jsxRuntime.jsx(
4785
4803
  "textarea",
4786
4804
  {
@@ -4901,7 +4919,7 @@ var findExpandableParentChain = (targetHref, items) => {
4901
4919
  };
4902
4920
  return (_a = dfs(items, [])) != null ? _a : [];
4903
4921
  };
4904
- var SidebarContext = React20.createContext({
4922
+ var SidebarContext = React19.createContext({
4905
4923
  defaultExpanded: null,
4906
4924
  expandedItems: /* @__PURE__ */ new Set(),
4907
4925
  activeQuery: "",
@@ -4939,20 +4957,20 @@ function SidebarProvider({
4939
4957
  initialCollapsed = false,
4940
4958
  initialSidebarCollapsed
4941
4959
  }) {
4942
- const [defaultExpanded, setDefaultExpanded] = React20.useState(null);
4943
- const [activeQuery, setActiveQuery] = React20.useState(initialQuery != null ? initialQuery : "");
4944
- const [wrapItemText, setWrapItemText] = React20.useState(false);
4945
- const [areItemsCollapsed, setItemsCollapsed] = React20.useState(initialCollapsed);
4946
- const [activeHref, setActiveHref] = React20.useState("");
4947
- const [expandedItems, setExpandedItems] = React20.useState(/* @__PURE__ */ new Set());
4948
- const itemsRef = React20.useRef(items);
4949
- React20.useEffect(() => {
4960
+ const [defaultExpanded, setDefaultExpanded] = React19.useState(null);
4961
+ const [activeQuery, setActiveQuery] = React19.useState(initialQuery != null ? initialQuery : "");
4962
+ const [wrapItemText, setWrapItemText] = React19.useState(false);
4963
+ const [areItemsCollapsed, setItemsCollapsed] = React19.useState(initialCollapsed);
4964
+ const [activeHref, setActiveHref] = React19.useState("");
4965
+ const [expandedItems, setExpandedItems] = React19.useState(/* @__PURE__ */ new Set());
4966
+ const itemsRef = React19.useRef(items);
4967
+ React19.useEffect(() => {
4950
4968
  itemsRef.current = items;
4951
4969
  }, [items]);
4952
- const [isSidebarCollapsed, setSidebarCollapsed] = React20.useState(
4970
+ const [isSidebarCollapsed, setSidebarCollapsed] = React19.useState(
4953
4971
  initialSidebarCollapsed != null ? initialSidebarCollapsed : false
4954
4972
  );
4955
- React20.useEffect(() => {
4973
+ React19.useEffect(() => {
4956
4974
  if (initialSidebarCollapsed !== void 0) return;
4957
4975
  try {
4958
4976
  const stored = window.localStorage.getItem(SIDEBAR_COLLAPSED_STORAGE_KEY);
@@ -4964,10 +4982,10 @@ function SidebarProvider({
4964
4982
  }
4965
4983
  setSidebarCollapsed(getBreakpoint(window.innerWidth) === "small");
4966
4984
  }, []);
4967
- const triggerExpandAll = React20.useCallback(() => setDefaultExpanded(true), []);
4968
- const resetExpandAll = React20.useCallback(() => setDefaultExpanded(null), []);
4969
- const setActiveLink = React20.useCallback((href) => setActiveHref(href), []);
4970
- const expandItem = React20.useCallback((href) => {
4985
+ const triggerExpandAll = React19.useCallback(() => setDefaultExpanded(true), []);
4986
+ const resetExpandAll = React19.useCallback(() => setDefaultExpanded(null), []);
4987
+ const setActiveLink = React19.useCallback((href) => setActiveHref(href), []);
4988
+ const expandItem = React19.useCallback((href) => {
4971
4989
  const h = normalizeHref(href);
4972
4990
  setExpandedItems((prev) => {
4973
4991
  if (prev.has(h)) return prev;
@@ -4976,7 +4994,7 @@ function SidebarProvider({
4976
4994
  return next;
4977
4995
  });
4978
4996
  }, []);
4979
- const collapseItem = React20.useCallback((href) => {
4997
+ const collapseItem = React19.useCallback((href) => {
4980
4998
  const h = normalizeHref(href);
4981
4999
  setExpandedItems((prev) => {
4982
5000
  if (!prev.has(h)) return prev;
@@ -4985,11 +5003,11 @@ function SidebarProvider({
4985
5003
  return next;
4986
5004
  });
4987
5005
  }, []);
4988
- const isExpanded = React20.useCallback(
5006
+ const isExpanded = React19.useCallback(
4989
5007
  (href) => expandedItems.has(normalizeHref(href)),
4990
5008
  [expandedItems]
4991
5009
  );
4992
- React20.useEffect(() => {
5010
+ React19.useEffect(() => {
4993
5011
  if (!activeHref) return;
4994
5012
  const currentItems = itemsRef.current;
4995
5013
  const parents = findExpandableParentChain(activeHref, currentItems);
@@ -5007,7 +5025,7 @@ function SidebarProvider({
5007
5025
  return changed ? next : prev;
5008
5026
  });
5009
5027
  }, [activeHref]);
5010
- const filteredItems = React20.useMemo(() => {
5028
+ const filteredItems = React19.useMemo(() => {
5011
5029
  return activeQuery ? nestedFiltering(items, {
5012
5030
  keys: ["label", "tags"],
5013
5031
  includeParents: true,
@@ -5015,21 +5033,21 @@ function SidebarProvider({
5015
5033
  query: activeQuery
5016
5034
  }) : items;
5017
5035
  }, [items, activeQuery]);
5018
- const persistCollapsed = React20.useCallback((collapsed) => {
5036
+ const persistCollapsed = React19.useCallback((collapsed) => {
5019
5037
  if (typeof window === "undefined") return;
5020
5038
  try {
5021
5039
  window.localStorage.setItem(SIDEBAR_COLLAPSED_STORAGE_KEY, JSON.stringify(collapsed));
5022
5040
  } catch {
5023
5041
  }
5024
5042
  }, []);
5025
- const handleSidebarCollapseChange = React20.useCallback(
5043
+ const handleSidebarCollapseChange = React19.useCallback(
5026
5044
  (collapsed) => {
5027
5045
  setSidebarCollapsed(collapsed);
5028
5046
  persistCollapsed(collapsed);
5029
5047
  },
5030
5048
  [persistCollapsed]
5031
5049
  );
5032
- React20.useEffect(() => {
5050
+ React19.useEffect(() => {
5033
5051
  if (typeof window === "undefined") return;
5034
5052
  let lastBreakpoint = getBreakpoint(window.innerWidth);
5035
5053
  const onResize = () => {
@@ -5041,7 +5059,7 @@ function SidebarProvider({
5041
5059
  window.addEventListener("resize", onResize);
5042
5060
  return () => window.removeEventListener("resize", onResize);
5043
5061
  }, []);
5044
- const value = React20.useMemo(
5062
+ const value = React19.useMemo(
5045
5063
  () => ({
5046
5064
  defaultExpanded: activeQuery ? true : defaultExpanded,
5047
5065
  expandedItems,
@@ -5086,7 +5104,7 @@ function SidebarProvider({
5086
5104
  return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value, children });
5087
5105
  }
5088
5106
  function useSidebar() {
5089
- return React20.useContext(SidebarContext);
5107
+ return React19.useContext(SidebarContext);
5090
5108
  }
5091
5109
 
5092
5110
  // src/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css
@@ -5171,7 +5189,7 @@ function SidebarItemContent({
5171
5189
  const shouldTruncate = truncateLabel && !wrapItemText && !activeQuery;
5172
5190
  const highlightTerms = activeQuery.trim().split(/\s+/).filter(Boolean);
5173
5191
  const renderedLabel = typeof label === "string" && highlightTerms.length > 0 ? getHighlightedSegments(label, highlightTerms).map(
5174
- (segment, index) => segment.matched ? /* @__PURE__ */ jsxRuntime.jsx("mark", { className: "dbc-highlight", children: segment.text }, `${segment.text}-${index}`) : /* @__PURE__ */ jsxRuntime.jsx(React20__namespace.default.Fragment, { children: segment.text }, `${segment.text}-${index}`)
5192
+ (segment, index) => segment.matched ? /* @__PURE__ */ jsxRuntime.jsx("mark", { className: "dbc-highlight", children: segment.text }, `${segment.text}-${index}`) : /* @__PURE__ */ jsxRuntime.jsx(React19__namespace.default.Fragment, { children: segment.text }, `${segment.text}-${index}`)
5175
5193
  ) : label;
5176
5194
  return /* @__PURE__ */ jsxRuntime.jsxs(
5177
5195
  "span",
@@ -5236,21 +5254,21 @@ function ExpandableSidebarItem({
5236
5254
  collapseItem,
5237
5255
  isExpanded
5238
5256
  } = useSidebar();
5239
- const [closing, setClosing] = React20.useState(false);
5257
+ const [closing, setClosing] = React19.useState(false);
5240
5258
  const ready = true;
5241
- const expanded = React20.useMemo(() => isExpanded(href), [href, isExpanded]);
5242
- React20.useEffect(() => {
5259
+ const expanded = React19.useMemo(() => isExpanded(href), [href, isExpanded]);
5260
+ React19.useEffect(() => {
5243
5261
  if (defaultExpanded === null) return;
5244
5262
  if (defaultExpanded) expandItem(href);
5245
5263
  else collapseItem(href);
5246
5264
  }, [defaultExpanded, expandItem, collapseItem, href]);
5247
- const handleAnimationEnd = React20.useCallback(() => {
5265
+ const handleAnimationEnd = React19.useCallback(() => {
5248
5266
  if (closing) {
5249
5267
  collapseItem(href);
5250
5268
  setClosing(false);
5251
5269
  }
5252
5270
  }, [closing, ready, collapseItem, href]);
5253
- const toggleAccordion = React20.useCallback(
5271
+ const toggleAccordion = React19.useCallback(
5254
5272
  (e, onlyExpand = false) => {
5255
5273
  e == null ? void 0 : e.preventDefault();
5256
5274
  e == null ? void 0 : e.stopPropagation();
@@ -5332,7 +5350,7 @@ function ExpandableSidebarItem({
5332
5350
  }
5333
5351
  function SidebarItems({ activeLink }) {
5334
5352
  const { filteredItems, setActiveLink, isSidebarCollapsed } = useSidebar();
5335
- React20.useEffect(() => {
5353
+ React19.useEffect(() => {
5336
5354
  setActiveLink(activeLink != null ? activeLink : "");
5337
5355
  }, [activeLink, setActiveLink]);
5338
5356
  const renderItem = (item, key) => {
@@ -5387,7 +5405,7 @@ var SidenavFiltering = ({
5387
5405
  wrapItemText,
5388
5406
  setWrapItemText
5389
5407
  } = useSidebar();
5390
- const searchBoxRef = React20__namespace.default.useRef(null);
5408
+ const searchBoxRef = React19__namespace.default.useRef(null);
5391
5409
  const handleSearch = (value) => {
5392
5410
  setActiveQuery == null ? void 0 : setActiveQuery(value);
5393
5411
  };
@@ -5512,28 +5530,28 @@ function SidebarContainer({
5512
5530
  storageKey
5513
5531
  }) {
5514
5532
  const { isSidebarCollapsed, handleSidebarCollapseChange } = useSidebar();
5515
- const [sidebarWidth, setSidebarWidth] = React20.useState(defaultWidth);
5516
- const [manualWidth, setManualWidth] = React20.useState(null);
5517
- const [isResizing, setIsResizing] = React20.useState(false);
5518
- const [ariaMaxWidth, setAriaMaxWidth] = React20.useState(void 0);
5519
- const containerRef = React20.useRef(null);
5520
- const draggingRef = React20.useRef(false);
5521
- const pointerIdRef = React20.useRef(null);
5522
- const startXRef = React20.useRef(0);
5523
- const startWidthRef = React20.useRef(0);
5524
- const maxWidthRef = React20.useRef(Infinity);
5525
- const getMaxWidth = React20.useCallback(() => {
5533
+ const [sidebarWidth, setSidebarWidth] = React19.useState(defaultWidth);
5534
+ const [manualWidth, setManualWidth] = React19.useState(null);
5535
+ const [isResizing, setIsResizing] = React19.useState(false);
5536
+ const [ariaMaxWidth, setAriaMaxWidth] = React19.useState(void 0);
5537
+ const containerRef = React19.useRef(null);
5538
+ const draggingRef = React19.useRef(false);
5539
+ const pointerIdRef = React19.useRef(null);
5540
+ const startXRef = React19.useRef(0);
5541
+ const startWidthRef = React19.useRef(0);
5542
+ const maxWidthRef = React19.useRef(Infinity);
5543
+ const getMaxWidth = React19.useCallback(() => {
5526
5544
  const viewportWidth = typeof window !== "undefined" ? window.innerWidth || document.documentElement.clientWidth : Infinity;
5527
5545
  return Math.max(minWidth, viewportWidth - minWidth);
5528
5546
  }, [minWidth]);
5529
- React20.useEffect(() => {
5547
+ React19.useEffect(() => {
5530
5548
  if (!storageKey) return;
5531
5549
  const stored = readStoredWidth(storageKey);
5532
5550
  if (stored === null) return;
5533
5551
  setManualWidth(stored);
5534
5552
  setSidebarWidth(stored);
5535
5553
  }, [storageKey]);
5536
- React20.useEffect(() => {
5554
+ React19.useEffect(() => {
5537
5555
  if (!storageKey) return;
5538
5556
  if (manualWidth === null) {
5539
5557
  removeStoredWidth(storageKey);
@@ -5541,20 +5559,20 @@ function SidebarContainer({
5541
5559
  }
5542
5560
  writeStoredWidth(storageKey, manualWidth);
5543
5561
  }, [manualWidth, storageKey]);
5544
- React20.useEffect(() => {
5562
+ React19.useEffect(() => {
5545
5563
  setAriaMaxWidth(getMaxWidth());
5546
5564
  }, [getMaxWidth]);
5547
- React20.useEffect(() => {
5565
+ React19.useEffect(() => {
5548
5566
  return () => {
5549
5567
  document.body.style.cursor = "";
5550
5568
  document.body.style.userSelect = "";
5551
5569
  };
5552
5570
  }, []);
5553
- const updateWidth = React20.useCallback((nextWidth) => {
5571
+ const updateWidth = React19.useCallback((nextWidth) => {
5554
5572
  setManualWidth(nextWidth);
5555
5573
  setSidebarWidth(nextWidth);
5556
5574
  }, []);
5557
- const onResizePointerDown = React20.useCallback(
5575
+ const onResizePointerDown = React19.useCallback(
5558
5576
  (e) => {
5559
5577
  const maxWidth = getMaxWidth();
5560
5578
  if (maxWidth === null) return;
@@ -5570,7 +5588,7 @@ function SidebarContainer({
5570
5588
  },
5571
5589
  [getMaxWidth, sidebarWidth]
5572
5590
  );
5573
- const onResizePointerMove = React20.useCallback(
5591
+ const onResizePointerMove = React19.useCallback(
5574
5592
  (e) => {
5575
5593
  if (!draggingRef.current) return;
5576
5594
  if (pointerIdRef.current !== null && e.pointerId !== pointerIdRef.current) return;
@@ -5579,7 +5597,7 @@ function SidebarContainer({
5579
5597
  },
5580
5598
  [minWidth, updateWidth]
5581
5599
  );
5582
- const endResizeDrag = React20.useCallback(() => {
5600
+ const endResizeDrag = React19.useCallback(() => {
5583
5601
  if (!draggingRef.current) return;
5584
5602
  draggingRef.current = false;
5585
5603
  pointerIdRef.current = null;
@@ -5587,11 +5605,11 @@ function SidebarContainer({
5587
5605
  document.body.style.cursor = "";
5588
5606
  document.body.style.userSelect = "";
5589
5607
  }, []);
5590
- const resetWidth = React20.useCallback(() => {
5608
+ const resetWidth = React19.useCallback(() => {
5591
5609
  setManualWidth(null);
5592
5610
  setSidebarWidth(clamp2(defaultWidth, minWidth, getMaxWidth()));
5593
5611
  }, [defaultWidth, getMaxWidth, minWidth]);
5594
- const onKeyDown = React20.useCallback(
5612
+ const onKeyDown = React19.useCallback(
5595
5613
  (e) => {
5596
5614
  const maxWidth = getMaxWidth();
5597
5615
  const step = e.shiftKey ? 32 : 8;
@@ -5606,7 +5624,7 @@ function SidebarContainer({
5606
5624
  },
5607
5625
  [getMaxWidth, minWidth, sidebarWidth, updateWidth]
5608
5626
  );
5609
- const containerStyle = React20.useMemo(
5627
+ const containerStyle = React19.useMemo(
5610
5628
  () => ({
5611
5629
  "--sidebar-width": `${sidebarWidth}px`
5612
5630
  }),
@@ -5708,14 +5726,14 @@ function useListNavigation({
5708
5726
  typeaheadTimeoutMs = 500,
5709
5727
  getInitialActiveIndex
5710
5728
  }) {
5711
- const optionRefs = React20.useRef([]);
5712
- const typeaheadRef = React20.useRef("");
5713
- const typeaheadTimeoutRef = React20.useRef(null);
5714
- const normalizedLabels = React20.useMemo(
5729
+ const optionRefs = React19.useRef([]);
5730
+ const typeaheadRef = React19.useRef("");
5731
+ const typeaheadTimeoutRef = React19.useRef(null);
5732
+ const normalizedLabels = React19.useMemo(
5715
5733
  () => options.map((option) => getLabel(option).trim().toLocaleLowerCase()),
5716
5734
  [options, getLabel]
5717
5735
  );
5718
- const getDefaultInitialIndex = React20.useCallback(
5736
+ const getDefaultInitialIndex = React19.useCallback(
5719
5737
  (items) => {
5720
5738
  if (items.length === 0) return -1;
5721
5739
  if (getInitialActiveIndex) {
@@ -5727,65 +5745,65 @@ function useListNavigation({
5727
5745
  },
5728
5746
  [getInitialActiveIndex, searchable]
5729
5747
  );
5730
- const [activeIndex, setActiveIndex] = React20.useState(() => getDefaultInitialIndex(options));
5731
- const clearTypeahead = React20.useCallback(() => {
5748
+ const [activeIndex, setActiveIndex] = React19.useState(() => getDefaultInitialIndex(options));
5749
+ const clearTypeahead = React19.useCallback(() => {
5732
5750
  typeaheadRef.current = "";
5733
5751
  if (typeaheadTimeoutRef.current) {
5734
5752
  clearTimeout(typeaheadTimeoutRef.current);
5735
5753
  typeaheadTimeoutRef.current = null;
5736
5754
  }
5737
5755
  }, []);
5738
- const focusActiveOption = React20.useCallback(() => {
5756
+ const focusActiveOption = React19.useCallback(() => {
5739
5757
  var _a;
5740
5758
  if (activeIndex < 0 || options.length === 0) return;
5741
5759
  (_a = optionRefs.current[activeIndex]) == null ? void 0 : _a.focus();
5742
5760
  }, [activeIndex, options.length]);
5743
- const resetActiveIndex = React20.useCallback(() => {
5761
+ const resetActiveIndex = React19.useCallback(() => {
5744
5762
  setActiveIndex(getDefaultInitialIndex(options));
5745
5763
  }, [getDefaultInitialIndex, options]);
5746
- React20.useEffect(() => {
5764
+ React19.useEffect(() => {
5747
5765
  return () => {
5748
5766
  if (typeaheadTimeoutRef.current) clearTimeout(typeaheadTimeoutRef.current);
5749
5767
  };
5750
5768
  }, []);
5751
- React20.useEffect(() => {
5769
+ React19.useEffect(() => {
5752
5770
  setActiveIndex((current) => {
5753
5771
  if (options.length === 0) return -1;
5754
5772
  if (current < 0) return current;
5755
5773
  return Math.min(current, options.length - 1);
5756
5774
  });
5757
5775
  }, [options]);
5758
- React20.useEffect(() => {
5776
+ React19.useEffect(() => {
5759
5777
  optionRefs.current = optionRefs.current.slice(0, options.length);
5760
5778
  }, [options.length]);
5761
- React20.useEffect(() => {
5779
+ React19.useEffect(() => {
5762
5780
  if (!isOpen || !focusActiveOptionOnOpen) return;
5763
5781
  if (searchable && document.activeElement === (searchInputRef == null ? void 0 : searchInputRef.current)) return;
5764
5782
  focusActiveOption();
5765
5783
  }, [activeIndex, focusActiveOption, focusActiveOptionOnOpen, isOpen, searchable, searchInputRef]);
5766
- const moveNext = React20.useCallback(() => {
5784
+ const moveNext = React19.useCallback(() => {
5767
5785
  if (options.length === 0) return;
5768
5786
  setActiveIndex((index) => {
5769
5787
  if (index < 0) return 0;
5770
5788
  return Math.min(index + 1, options.length - 1);
5771
5789
  });
5772
5790
  }, [options.length]);
5773
- const movePrev = React20.useCallback(() => {
5791
+ const movePrev = React19.useCallback(() => {
5774
5792
  if (options.length === 0) return;
5775
5793
  setActiveIndex((index) => {
5776
5794
  if (index < 0) return options.length - 1;
5777
5795
  return Math.max(index - 1, 0);
5778
5796
  });
5779
5797
  }, [options.length]);
5780
- const moveFirst = React20.useCallback(() => {
5798
+ const moveFirst = React19.useCallback(() => {
5781
5799
  if (options.length === 0) return;
5782
5800
  setActiveIndex(0);
5783
5801
  }, [options.length]);
5784
- const moveLast = React20.useCallback(() => {
5802
+ const moveLast = React19.useCallback(() => {
5785
5803
  if (options.length === 0) return;
5786
5804
  setActiveIndex(options.length - 1);
5787
5805
  }, [options.length]);
5788
- const findTypeaheadMatch = React20.useCallback(
5806
+ const findTypeaheadMatch = React19.useCallback(
5789
5807
  (query, startIndex) => {
5790
5808
  if (!query || options.length === 0) return -1;
5791
5809
  const normalizedQuery = query.trim().toLocaleLowerCase();
@@ -5800,7 +5818,7 @@ function useListNavigation({
5800
5818
  },
5801
5819
  [normalizedLabels, options.length]
5802
5820
  );
5803
- const handleTypeahead = React20.useCallback(
5821
+ const handleTypeahead = React19.useCallback(
5804
5822
  (key) => {
5805
5823
  const nextBuffer = `${typeaheadRef.current}${key.toLocaleLowerCase()}`;
5806
5824
  const repeatedChar = new Set(nextBuffer).size === 1;
@@ -5822,7 +5840,7 @@ function useListNavigation({
5822
5840
  },
5823
5841
  [activeIndex, findTypeaheadMatch, isOpen, onOpenChange, typeaheadTimeoutMs]
5824
5842
  );
5825
- const handleKeyDown = React20.useCallback(
5843
+ const handleKeyDown = React19.useCallback(
5826
5844
  (e) => {
5827
5845
  var _a;
5828
5846
  const isSearchInputTarget = searchable && e.target === (searchInputRef == null ? void 0 : searchInputRef.current);
@@ -5944,12 +5962,12 @@ function MultiSelect({
5944
5962
  searchPlaceholder = "S\xF8g",
5945
5963
  emptyMessage = "Ingen resultater"
5946
5964
  }) {
5947
- const selectedSet = React20.useMemo(() => new Set(selectedValues), [selectedValues]);
5948
- const popoverRef = React20.useRef(null);
5949
- const searchInputRef = React20.useRef(null);
5950
- const [open, setOpen] = React20.useState(false);
5951
- const [searchQuery, setSearchQuery] = React20.useState("");
5952
- const filteredOptions = React20.useMemo(() => {
5965
+ const selectedSet = React19.useMemo(() => new Set(selectedValues), [selectedValues]);
5966
+ const popoverRef = React19.useRef(null);
5967
+ const searchInputRef = React19.useRef(null);
5968
+ const [open, setOpen] = React19.useState(false);
5969
+ const [searchQuery, setSearchQuery] = React19.useState("");
5970
+ const filteredOptions = React19.useMemo(() => {
5953
5971
  const normalizedQuery = searchQuery.trim().toLocaleLowerCase();
5954
5972
  if (!normalizedQuery) return options;
5955
5973
  return options.filter((option) => option.label.toLocaleLowerCase().includes(normalizedQuery));
@@ -5973,7 +5991,7 @@ function MultiSelect({
5973
5991
  return selectedIndex >= 0 ? selectedIndex : 0;
5974
5992
  }
5975
5993
  });
5976
- React20.useEffect(() => {
5994
+ React19.useEffect(() => {
5977
5995
  var _a;
5978
5996
  if (!open || !searchable) return;
5979
5997
  (_a = searchInputRef.current) == null ? void 0 : _a.focus();
@@ -6280,14 +6298,14 @@ function Typeahead({
6280
6298
  enableHotkey = false
6281
6299
  }) {
6282
6300
  var _a, _b;
6283
- const rootRef = React20.useRef(null);
6284
- const triggerWrapperRef = React20.useRef(null);
6285
- const inputRef = React20.useRef(null);
6286
- const popoverContentRef = React20.useRef(null);
6287
- const interactingWithOptionsRef = React20.useRef(false);
6288
- const justClearedRef = React20.useRef(false);
6289
- const locallyClearedRef = React20.useRef(false);
6290
- const listboxId = React20.useId();
6301
+ const rootRef = React19.useRef(null);
6302
+ const triggerWrapperRef = React19.useRef(null);
6303
+ const inputRef = React19.useRef(null);
6304
+ const popoverContentRef = React19.useRef(null);
6305
+ const interactingWithOptionsRef = React19.useRef(false);
6306
+ const justClearedRef = React19.useRef(false);
6307
+ const locallyClearedRef = React19.useRef(false);
6308
+ const listboxId = React19.useId();
6291
6309
  const {
6292
6310
  onFocus: inputPropsOnFocus,
6293
6311
  onBlur: inputPropsOnBlur,
@@ -6298,28 +6316,28 @@ function Typeahead({
6298
6316
  endAdornment: inputPropsEndAdornment,
6299
6317
  ...passthroughInputProps
6300
6318
  } = inputProps != null ? inputProps : {};
6301
- const selectedOption = React20.useMemo(() => {
6319
+ const selectedOption = React19.useMemo(() => {
6302
6320
  var _a2;
6303
6321
  if (mode === "multi") return null;
6304
6322
  return (_a2 = options.find((option) => option.value === selectedValue)) != null ? _a2 : null;
6305
6323
  }, [options, selectedValue, mode]);
6306
- const selectedOptions = React20.useMemo(() => {
6324
+ const selectedOptions = React19.useMemo(() => {
6307
6325
  if (mode !== "multi" || !Array.isArray(selectedValue)) return [];
6308
6326
  return options.filter((option) => selectedValue.includes(option.value));
6309
6327
  }, [options, selectedValue, mode]);
6310
- const [open, setOpen] = React20.useState(false);
6311
- const [inputValue, setInputValue] = React20.useState(
6328
+ const [open, setOpen] = React19.useState(false);
6329
+ const [inputValue, setInputValue] = React19.useState(
6312
6330
  mode === "multi" ? "" : (_a = selectedOption == null ? void 0 : selectedOption.label) != null ? _a : ""
6313
6331
  );
6314
- const [query, setQuery] = React20.useState("");
6315
- const [activeIndex, setActiveIndex] = React20.useState(-1);
6316
- const [hideSelectedHighlight, setHideSelectedHighlight] = React20.useState(false);
6317
- const clearJustClearedAfterEventCycle = React20__namespace.useCallback(() => {
6332
+ const [query, setQuery] = React19.useState("");
6333
+ const [activeIndex, setActiveIndex] = React19.useState(-1);
6334
+ const [hideSelectedHighlight, setHideSelectedHighlight] = React19.useState(false);
6335
+ const clearJustClearedAfterEventCycle = React19__namespace.useCallback(() => {
6318
6336
  requestAnimationFrame(() => {
6319
6337
  justClearedRef.current = false;
6320
6338
  });
6321
6339
  }, []);
6322
- const getSelectedValueChipLabel = React20__namespace.useCallback(
6340
+ const getSelectedValueChipLabel = React19__namespace.useCallback(
6323
6341
  (option) => {
6324
6342
  switch (multiSelectedValueChipContent) {
6325
6343
  case "value":
@@ -6346,7 +6364,7 @@ function Typeahead({
6346
6364
  );
6347
6365
  }
6348
6366
  }
6349
- const commitSelection = React20__namespace.useCallback(
6367
+ const commitSelection = React19__namespace.useCallback(
6350
6368
  (option) => {
6351
6369
  var _a2, _b2;
6352
6370
  locallyClearedRef.current = false;
@@ -6404,12 +6422,12 @@ function Typeahead({
6404
6422
  const usesCountAdornment = mode === "multi" && multiValueDisplayMode === "count" && selectedOptions.length > 0;
6405
6423
  const resolvedInputSize = (_b = inputSize != null ? inputSize : inputProps == null ? void 0 : inputProps.inputSize) != null ? _b : "md";
6406
6424
  const shouldFitContent = fitContent && mode === "single";
6407
- const [fittedWidthPx, setFittedWidthPx] = React20.useState(null);
6408
- const visibleSingleValueText = React20.useMemo(() => {
6425
+ const [fittedWidthPx, setFittedWidthPx] = React19.useState(null);
6426
+ const visibleSingleValueText = React19.useMemo(() => {
6409
6427
  if (!shouldFitContent) return "";
6410
6428
  return inputValue || (selectedOption == null ? void 0 : selectedOption.label) || placeholder || "";
6411
6429
  }, [shouldFitContent, inputValue, selectedOption, placeholder]);
6412
- React20.useLayoutEffect(() => {
6430
+ React19.useLayoutEffect(() => {
6413
6431
  if (!shouldFitContent) return;
6414
6432
  const input = inputRef.current;
6415
6433
  if (!input) return;
@@ -6443,13 +6461,13 @@ function Typeahead({
6443
6461
  inputPropsStartAdornment,
6444
6462
  inputPropsEndAdornment
6445
6463
  ]);
6446
- const measuredRootWidth = React20.useMemo(() => {
6464
+ const measuredRootWidth = React19.useMemo(() => {
6447
6465
  if (!shouldFitContent) return void 0;
6448
6466
  if (fittedWidthPx == null) return minWidth != null ? minWidth : "120px";
6449
6467
  return `${fittedWidthPx}px`;
6450
6468
  }, [shouldFitContent, fittedWidthPx, minWidth]);
6451
6469
  const shouldStretchInput = fullWidth || shouldFitContent;
6452
- React20.useEffect(() => {
6470
+ React19.useEffect(() => {
6453
6471
  if (!enableHotkey) return;
6454
6472
  function handleKeyDown2(event) {
6455
6473
  var _a2;
@@ -6461,7 +6479,7 @@ function Typeahead({
6461
6479
  window.addEventListener("keydown", handleKeyDown2);
6462
6480
  return () => window.removeEventListener("keydown", handleKeyDown2);
6463
6481
  }, [enableHotkey]);
6464
- React20.useEffect(() => {
6482
+ React19.useEffect(() => {
6465
6483
  var _a2;
6466
6484
  if (justClearedRef.current || locallyClearedRef.current) return;
6467
6485
  if (mode === "multi") {
@@ -6471,7 +6489,7 @@ function Typeahead({
6471
6489
  setInputValue((_a2 = selectedOption == null ? void 0 : selectedOption.label) != null ? _a2 : "");
6472
6490
  }
6473
6491
  }, [selectedOption, mode]);
6474
- const getSelectedIndex = React20__namespace.useCallback(
6492
+ const getSelectedIndex = React19__namespace.useCallback(
6475
6493
  (items) => {
6476
6494
  if (items.length === 0) return -1;
6477
6495
  if (locallyClearedRef.current) return 0;
@@ -6485,7 +6503,7 @@ function Typeahead({
6485
6503
  },
6486
6504
  [mode, selectedValue]
6487
6505
  );
6488
- React20.useEffect(() => {
6506
+ React19.useEffect(() => {
6489
6507
  setActiveIndex((current) => {
6490
6508
  if (filteredOptions.length === 0) return -1;
6491
6509
  if (locallyClearedRef.current) return 0;
@@ -6493,13 +6511,13 @@ function Typeahead({
6493
6511
  return Math.min(current, filteredOptions.length - 1);
6494
6512
  });
6495
6513
  }, [filteredOptions, getSelectedIndex]);
6496
- React20.useEffect(() => {
6514
+ React19.useEffect(() => {
6497
6515
  var _a2, _b2;
6498
6516
  if (!open || activeIndex < 0) return;
6499
6517
  const activeEl = (_a2 = document.getElementById(listboxId)) == null ? void 0 : _a2.querySelector(`#${CSS.escape(`${listboxId}-option-${activeIndex}`)}`);
6500
6518
  (_b2 = activeEl == null ? void 0 : activeEl.scrollIntoView) == null ? void 0 : _b2.call(activeEl, { block: "nearest" });
6501
6519
  }, [open, activeIndex, filteredOptions, listboxId]);
6502
- const getFocusableElements = React20__namespace.useCallback(() => {
6520
+ const getFocusableElements = React19__namespace.useCallback(() => {
6503
6521
  const selector = [
6504
6522
  "a[href]",
6505
6523
  "button:not([disabled])",
@@ -6523,12 +6541,12 @@ function Typeahead({
6523
6541
  }
6524
6542
  return focusables;
6525
6543
  }, []);
6526
- const isFocusWithinTypeahead = React20__namespace.useCallback((target) => {
6544
+ const isFocusWithinTypeahead = React19__namespace.useCallback((target) => {
6527
6545
  var _a2, _b2;
6528
6546
  if (!(target instanceof Node)) return false;
6529
6547
  return Boolean(((_a2 = rootRef.current) == null ? void 0 : _a2.contains(target)) || ((_b2 = popoverContentRef.current) == null ? void 0 : _b2.contains(target)));
6530
6548
  }, []);
6531
- const handleTabKeyDown = React20__namespace.useCallback(
6549
+ const handleTabKeyDown = React19__namespace.useCallback(
6532
6550
  (event) => {
6533
6551
  var _a2, _b2, _c;
6534
6552
  if (event.key !== "Tab" || !open) return;
@@ -6602,23 +6620,23 @@ function Typeahead({
6602
6620
  setOpen(false);
6603
6621
  setActiveIndex(-1);
6604
6622
  };
6605
- const openWithAllOptions = React20__namespace.useCallback(() => {
6623
+ const openWithAllOptions = React19__namespace.useCallback(() => {
6606
6624
  if (justClearedRef.current) return;
6607
6625
  setQuery("");
6608
6626
  setOpen(true);
6609
6627
  setActiveIndex(getSelectedIndex(options));
6610
6628
  }, [getSelectedIndex, options]);
6611
- const openWithCurrentFilter = React20__namespace.useCallback(() => {
6629
+ const openWithCurrentFilter = React19__namespace.useCallback(() => {
6612
6630
  if (justClearedRef.current) return;
6613
6631
  setOpen(true);
6614
6632
  setActiveIndex(getSelectedIndex(filteredOptions));
6615
6633
  }, [getSelectedIndex, filteredOptions]);
6616
- const prepareSingleSearchInput = React20__namespace.useCallback(() => {
6634
+ const prepareSingleSearchInput = React19__namespace.useCallback(() => {
6617
6635
  if (mode !== "single" || !selectedOption || justClearedRef.current) return;
6618
6636
  setInputValue("");
6619
6637
  setQuery("");
6620
6638
  }, [mode, selectedOption]);
6621
- const handleOpen = React20__namespace.useCallback(() => {
6639
+ const handleOpen = React19__namespace.useCallback(() => {
6622
6640
  if (justClearedRef.current) return;
6623
6641
  if (mode === "single" && selectedOption && !locallyClearedRef.current) {
6624
6642
  prepareSingleSearchInput();
@@ -6627,7 +6645,7 @@ function Typeahead({
6627
6645
  }
6628
6646
  openWithCurrentFilter();
6629
6647
  }, [mode, selectedOption, prepareSingleSearchInput, openWithAllOptions, openWithCurrentFilter]);
6630
- const handleTriggerMouseDown = React20__namespace.useCallback(
6648
+ const handleTriggerMouseDown = React19__namespace.useCallback(
6631
6649
  (e) => {
6632
6650
  var _a2;
6633
6651
  inputPropsOnMouseDown == null ? void 0 : inputPropsOnMouseDown(e);
@@ -6668,7 +6686,7 @@ function Typeahead({
6668
6686
  filteredOptions
6669
6687
  ]
6670
6688
  );
6671
- const handleChevronMouseDown = React20__namespace.useCallback(
6689
+ const handleChevronMouseDown = React19__namespace.useCallback(
6672
6690
  (e) => {
6673
6691
  var _a2, _b2;
6674
6692
  e.preventDefault();
@@ -7006,9 +7024,9 @@ function OperatorDropdown({
7006
7024
  size = "sm",
7007
7025
  disabled
7008
7026
  }) {
7009
- const popRef = React20.useRef(null);
7010
- const [activeIndex, setActiveIndex] = React20.useState(() => Math.max(0, operators.indexOf(value)));
7011
- React20.useEffect(() => {
7027
+ const popRef = React19.useRef(null);
7028
+ const [activeIndex, setActiveIndex] = React19.useState(() => Math.max(0, operators.indexOf(value)));
7029
+ React19.useEffect(() => {
7012
7030
  setActiveIndex(Math.max(0, operators.indexOf(value)));
7013
7031
  }, [operators, value]);
7014
7032
  const handleSelect = (op) => {
@@ -7074,19 +7092,19 @@ function FilterField({
7074
7092
  ...inputProps
7075
7093
  }) {
7076
7094
  var _a, _b, _c, _d;
7077
- const filterFieldRef = React20.useRef(null);
7078
- const ops = React20.useMemo(() => operators != null ? operators : DEFAULT_TEXT_OPERATORS, [operators]);
7095
+ const filterFieldRef = React19.useRef(null);
7096
+ const ops = React19.useMemo(() => operators != null ? operators : DEFAULT_TEXT_OPERATORS, [operators]);
7079
7097
  const shouldAutoFitTypeahead = control === "select" && single && !width;
7080
- const [selectedOperator, setSelectedOperator] = React20.useState(operator);
7098
+ const [selectedOperator, setSelectedOperator] = React19.useState(operator);
7081
7099
  const active = isFilterActive(value);
7082
- React20.useEffect(() => {
7100
+ React19.useEffect(() => {
7083
7101
  if (ops.includes(operator)) {
7084
7102
  setSelectedOperator(operator);
7085
7103
  }
7086
7104
  }, [operator, ops]);
7087
- const [localValue, setLocalValue] = React20.useState(value != null ? value : "");
7088
- const debounceRef = React20.useRef(null);
7089
- const pendingValueRef = React20.useRef(null);
7105
+ const [localValue, setLocalValue] = React19.useState(value != null ? value : "");
7106
+ const debounceRef = React19.useRef(null);
7107
+ const pendingValueRef = React19.useRef(null);
7090
7108
  const emit = (next) => {
7091
7109
  var _a2, _b2;
7092
7110
  const nextOperator = (_a2 = next.operator) != null ? _a2 : selectedOperator;
@@ -7132,7 +7150,7 @@ function FilterField({
7132
7150
  pendingValueRef.current = control === "input" ? localValue : typeof value === "string" ? value : null;
7133
7151
  emit({ operator: op });
7134
7152
  };
7135
- React20.useEffect(() => {
7153
+ React19.useEffect(() => {
7136
7154
  if (control !== "input") return;
7137
7155
  const incoming = value != null ? value : "";
7138
7156
  const pending = pendingValueRef.current;
@@ -7146,7 +7164,7 @@ function FilterField({
7146
7164
  setLocalValue(incoming);
7147
7165
  }
7148
7166
  }, [value, control, localValue]);
7149
- React20.useEffect(() => {
7167
+ React19.useEffect(() => {
7150
7168
  return () => {
7151
7169
  clearDebounce();
7152
7170
  };
@@ -7267,26 +7285,26 @@ function Select({
7267
7285
  disabled,
7268
7286
  minWidth
7269
7287
  }) {
7270
- const generatedId = React20.useId();
7288
+ const generatedId = React19.useId();
7271
7289
  const controlId = id != null ? id : `select-${generatedId}`;
7272
7290
  const describedById = `${controlId}-desc`;
7273
7291
  const listboxId = `${controlId}-listbox`;
7274
- const popoverRef = React20.useRef(null);
7275
- const optionRefs = React20.useRef([]);
7276
- const typeaheadRef = React20.useRef("");
7277
- const typeaheadTimeoutRef = React20.useRef(null);
7278
- const selectedIndex = React20.useMemo(
7292
+ const popoverRef = React19.useRef(null);
7293
+ const optionRefs = React19.useRef([]);
7294
+ const typeaheadRef = React19.useRef("");
7295
+ const typeaheadTimeoutRef = React19.useRef(null);
7296
+ const selectedIndex = React19.useMemo(
7279
7297
  () => options.findIndex((o) => o.value === selectedValue),
7280
7298
  [options, selectedValue]
7281
7299
  );
7282
- const [activeIndex, setActiveIndex] = React20.useState(selectedIndex >= 0 ? selectedIndex : 0);
7283
- const [open, setOpen] = React20.useState(false);
7284
- React20.useEffect(() => {
7300
+ const [activeIndex, setActiveIndex] = React19.useState(selectedIndex >= 0 ? selectedIndex : 0);
7301
+ const [open, setOpen] = React19.useState(false);
7302
+ React19.useEffect(() => {
7285
7303
  return () => {
7286
7304
  if (typeaheadTimeoutRef.current) clearTimeout(typeaheadTimeoutRef.current);
7287
7305
  };
7288
7306
  }, []);
7289
- React20.useEffect(() => {
7307
+ React19.useEffect(() => {
7290
7308
  var _a;
7291
7309
  if (!open) return;
7292
7310
  (_a = optionRefs.current[activeIndex]) == null ? void 0 : _a.focus();
@@ -7559,6 +7577,14 @@ var SegmentedProgressBar_default = {
7559
7577
  progressCenterLabel: "SegmentedProgressBar_progressCenterLabel",
7560
7578
  emptySegments: "SegmentedProgressBar_emptySegments"
7561
7579
  };
7580
+ var sizeTokenMap = {
7581
+ "2xs": "var(--component-size-2xs)",
7582
+ xxs: "var(--component-size-xxs)",
7583
+ xs: "var(--component-size-xs)",
7584
+ sm: "var(--component-size-sm)",
7585
+ md: "var(--component-size-md)",
7586
+ lg: "var(--component-size-lg)"
7587
+ };
7562
7588
  function SegmentWithTooltip({
7563
7589
  seg,
7564
7590
  index,
@@ -7598,9 +7624,9 @@ var SegmentedProgressBar = ({
7598
7624
  segments,
7599
7625
  total,
7600
7626
  showRemainder = true,
7601
- remainderSeverity = "neutral",
7627
+ remainderSeverity = "missing",
7602
7628
  centerLabel,
7603
- height,
7629
+ size = "sm",
7604
7630
  rounded = true,
7605
7631
  trackColor,
7606
7632
  tooltipPlacement = "top",
@@ -7638,7 +7664,8 @@ var SegmentedProgressBar = ({
7638
7664
  className: SegmentedProgressBar_default.progressBar,
7639
7665
  "data-rounded": rounded ? "true" : "false",
7640
7666
  style: {
7641
- height: height ? `${height}px` : "24px",
7667
+ ["--progress-height"]: sizeTokenMap[size],
7668
+ height: sizeTokenMap[size],
7642
7669
  background: trackColor != null ? trackColor : "var(--color-bg-surface-subtle)"
7643
7670
  },
7644
7671
  children: [
@@ -7880,7 +7907,7 @@ function defaultFormatRange(s, e, opts) {
7880
7907
  return "";
7881
7908
  }
7882
7909
  var cx4 = (...classes) => classes.filter(Boolean).join(" ");
7883
- var DateTimePicker = React20.forwardRef(function DateTimePicker2({
7910
+ var DateTimePicker = React19.forwardRef(function DateTimePicker2({
7884
7911
  mode = "single",
7885
7912
  value,
7886
7913
  onChange,
@@ -7897,12 +7924,12 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
7897
7924
  formatRange = defaultFormatRange,
7898
7925
  onOpenChange
7899
7926
  }, _ref) {
7900
- const popRef = React20.useRef(null);
7927
+ const popRef = React19.useRef(null);
7901
7928
  const onChangeRange = onChange;
7902
7929
  const onChangeIso = onChange;
7903
7930
  const onChangeDateOnly = onChange;
7904
- const todayLocal = React20.useMemo(() => /* @__PURE__ */ new Date(), []);
7905
- const initialAnchor = React20.useMemo(() => {
7931
+ const todayLocal = React19.useMemo(() => /* @__PURE__ */ new Date(), []);
7932
+ const initialAnchor = React19.useMemo(() => {
7906
7933
  if (mode === "single") {
7907
7934
  if (typeof value === "string") {
7908
7935
  const d = enableTime ? localDateFromIso(value) : localDateFromDateOnly(value);
@@ -7917,13 +7944,13 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
7917
7944
  }
7918
7945
  return todayLocal;
7919
7946
  }, [mode, value, enableTime, todayLocal]);
7920
- const [monthAnchor, setMonthAnchor] = React20.useState(initialAnchor);
7921
- React20.useEffect(() => setMonthAnchor(initialAnchor), [initialAnchor]);
7922
- const [timeHH, setTimeHH] = React20.useState(todayLocal.getHours());
7923
- const [timeMM, setTimeMM] = React20.useState(
7947
+ const [monthAnchor, setMonthAnchor] = React19.useState(initialAnchor);
7948
+ React19.useEffect(() => setMonthAnchor(initialAnchor), [initialAnchor]);
7949
+ const [timeHH, setTimeHH] = React19.useState(todayLocal.getHours());
7950
+ const [timeMM, setTimeMM] = React19.useState(
7924
7951
  Math.floor(todayLocal.getMinutes() / timeStep) * timeStep
7925
7952
  );
7926
- React20.useEffect(() => {
7953
+ React19.useEffect(() => {
7927
7954
  if (mode === "single" && enableTime && typeof value === "string") {
7928
7955
  const d = localDateFromIso(value);
7929
7956
  if (!d) return;
@@ -7931,46 +7958,46 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
7931
7958
  setTimeMM(Math.floor(d.getMinutes() / timeStep) * timeStep);
7932
7959
  }
7933
7960
  }, [mode, enableTime, value, timeStep]);
7934
- const [hoverUTC, setHoverUTC] = React20.useState(null);
7935
- const cellsUTC = React20.useMemo(
7961
+ const [hoverUTC, setHoverUTC] = React19.useState(null);
7962
+ const cellsUTC = React19.useMemo(
7936
7963
  () => buildMonthGrid(monthAnchor, weekStartsOn),
7937
7964
  [monthAnchor, weekStartsOn]
7938
7965
  );
7939
- const monthStartUTC = React20.useMemo(
7966
+ const monthStartUTC = React19.useMemo(
7940
7967
  () => startOfMonthUTC(toUTCDateOnlyFromLocal(monthAnchor)),
7941
7968
  [monthAnchor]
7942
7969
  );
7943
- const monthEndUTC = React20.useMemo(
7970
+ const monthEndUTC = React19.useMemo(
7944
7971
  () => endOfMonthUTC(toUTCDateOnlyFromLocal(monthAnchor)),
7945
7972
  [monthAnchor]
7946
7973
  );
7947
- const weekdayFmt = React20.useMemo(() => new Intl.DateTimeFormat(locale, { weekday: "short" }), [locale]);
7948
- const monthFmt = React20.useMemo(
7974
+ const weekdayFmt = React19.useMemo(() => new Intl.DateTimeFormat(locale, { weekday: "short" }), [locale]);
7975
+ const monthFmt = React19.useMemo(
7949
7976
  () => new Intl.DateTimeFormat(locale, { month: "long", year: "numeric" }),
7950
7977
  [locale]
7951
7978
  );
7952
- const selectedUTC_single = React20.useMemo(() => {
7979
+ const selectedUTC_single = React19.useMemo(() => {
7953
7980
  if (mode !== "single") return null;
7954
7981
  if (typeof value !== "string") return null;
7955
7982
  const d = enableTime ? localDateFromIso(value) : localDateFromDateOnly(value);
7956
7983
  if (!d) return null;
7957
7984
  return toUTCDateOnlyFromLocal(d);
7958
7985
  }, [mode, value, enableTime]);
7959
- const selectedUTC_start = React20.useMemo(() => {
7986
+ const selectedUTC_start = React19.useMemo(() => {
7960
7987
  if (mode !== "range") return null;
7961
7988
  const v = value;
7962
7989
  if (!(v == null ? void 0 : v.start)) return null;
7963
7990
  const d = localDateFromDateOnly(v.start);
7964
7991
  return d ? toUTCDateOnlyFromLocal(d) : null;
7965
7992
  }, [mode, value]);
7966
- const selectedUTC_end = React20.useMemo(() => {
7993
+ const selectedUTC_end = React19.useMemo(() => {
7967
7994
  if (mode !== "range") return null;
7968
7995
  const v = value;
7969
7996
  if (!(v == null ? void 0 : v.end)) return null;
7970
7997
  const d = localDateFromDateOnly(v.end);
7971
7998
  return d ? toUTCDateOnlyFromLocal(d) : null;
7972
7999
  }, [mode, value]);
7973
- const isDisabledUTC = React20.useCallback(
8000
+ const isDisabledUTC = React19.useCallback(
7974
8001
  (utcDay) => {
7975
8002
  if (min && utcDay < toUTCDateOnlyFromLocal(min)) return true;
7976
8003
  if (max && utcDay > toUTCDateOnlyFromLocal(max)) return true;
@@ -7978,7 +8005,7 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
7978
8005
  },
7979
8006
  [min, max]
7980
8007
  );
7981
- const selectDay = React20.useCallback(
8008
+ const selectDay = React19.useCallback(
7982
8009
  (utcDay) => {
7983
8010
  var _a, _b;
7984
8011
  if (isDisabledUTC(utcDay)) return;
@@ -8030,8 +8057,8 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
8030
8057
  d.setDate(d.getDate() + n);
8031
8058
  return d;
8032
8059
  }
8033
- const gridRef = React20.useRef(null);
8034
- React20.useEffect(() => {
8060
+ const gridRef = React19.useRef(null);
8061
+ React19.useEffect(() => {
8035
8062
  const el = gridRef.current;
8036
8063
  if (!el) return;
8037
8064
  const onKey = (e) => {
@@ -8083,12 +8110,12 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
8083
8110
  el.addEventListener("keydown", onKey);
8084
8111
  return () => el.removeEventListener("keydown", onKey);
8085
8112
  }, [monthAnchor]);
8086
- const hours = React20.useMemo(() => Array.from({ length: 24 }, (_, i) => i), []);
8087
- const minutes = React20.useMemo(
8113
+ const hours = React19.useMemo(() => Array.from({ length: 24 }, (_, i) => i), []);
8114
+ const minutes = React19.useMemo(
8088
8115
  () => Array.from({ length: Math.floor(60 / (timeStep || 1)) }, (_, i) => i * (timeStep || 1)),
8089
8116
  [timeStep]
8090
8117
  );
8091
- const formatted = React20.useMemo(() => {
8118
+ const formatted = React19.useMemo(() => {
8092
8119
  if (mode === "single") {
8093
8120
  if (typeof value !== "string") return "";
8094
8121
  const d = enableTime ? localDateFromIso(value) : localDateFromDateOnly(value);
@@ -8104,12 +8131,12 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
8104
8131
  if (ee) return `\u2013 ${ee}`;
8105
8132
  return "";
8106
8133
  }, [mode, value, enableTime]);
8107
- const [text, setText] = React20.useState(formatted);
8108
- const [dirty, setDirty] = React20.useState(false);
8109
- React20.useEffect(() => {
8134
+ const [text, setText] = React19.useState(formatted);
8135
+ const [dirty, setDirty] = React19.useState(false);
8136
+ React19.useEffect(() => {
8110
8137
  if (!dirty) setText(formatted);
8111
8138
  }, [formatted, dirty]);
8112
- const commitTypedValue = React20.useCallback(() => {
8139
+ const commitTypedValue = React19.useCallback(() => {
8113
8140
  if (!text.trim()) {
8114
8141
  if (mode === "single") {
8115
8142
  if (enableTime) onChangeIso(null);
@@ -8147,7 +8174,7 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
8147
8174
  setDirty(false);
8148
8175
  }
8149
8176
  }, [text, mode, enableTime, onChangeDateOnly, onChangeIso, onChangeRange]);
8150
- const emitTimeChange = React20.useCallback(
8177
+ const emitTimeChange = React19.useCallback(
8151
8178
  (nextHH, nextMM) => {
8152
8179
  if (mode !== "single" || !enableTime) return;
8153
8180
  if (typeof value !== "string") return;
@@ -8165,7 +8192,7 @@ var DateTimePicker = React20.forwardRef(function DateTimePicker2({
8165
8192
  },
8166
8193
  [mode, enableTime, value, onChangeIso]
8167
8194
  );
8168
- const clear = React20.useCallback(() => {
8195
+ const clear = React19.useCallback(() => {
8169
8196
  if (mode === "single") {
8170
8197
  if (enableTime) onChangeIso(null);
8171
8198
  else onChangeDateOnly(null);
@@ -8415,19 +8442,19 @@ function Modal({
8415
8442
  dataCy,
8416
8443
  width
8417
8444
  }) {
8418
- const titleId = React20.useId();
8419
- const dialogRef = React20.useRef(null);
8420
- const lastActiveElementRef = React20.useRef(null);
8421
- const [mounted, setMounted] = React20.useState(false);
8422
- const onRequestCloseRef = React20.useRef(onRequestClose);
8423
- React20.useEffect(() => {
8445
+ const titleId = React19.useId();
8446
+ const dialogRef = React19.useRef(null);
8447
+ const lastActiveElementRef = React19.useRef(null);
8448
+ const [mounted, setMounted] = React19.useState(false);
8449
+ const onRequestCloseRef = React19.useRef(onRequestClose);
8450
+ React19.useEffect(() => {
8424
8451
  onRequestCloseRef.current = onRequestClose;
8425
8452
  }, [onRequestClose]);
8426
- React20.useEffect(() => {
8453
+ React19.useEffect(() => {
8427
8454
  setMounted(true);
8428
8455
  }, []);
8429
- const wasOpenRef = React20.useRef(false);
8430
- React20.useEffect(() => {
8456
+ const wasOpenRef = React19.useRef(false);
8457
+ React19.useEffect(() => {
8431
8458
  var _a;
8432
8459
  const wasOpen = wasOpenRef.current;
8433
8460
  wasOpenRef.current = isOpen;
@@ -8519,7 +8546,7 @@ function Modal({
8519
8546
  tabIndex: -1,
8520
8547
  children: [
8521
8548
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Modal_default.header, children: [
8522
- header && /* @__PURE__ */ jsxRuntime.jsx(Headline, { severity, size: 3, disableMargin: true, subheader, children: header }),
8549
+ header && /* @__PURE__ */ jsxRuntime.jsx(Headline, { severity, size: 2, disableMargin: true, subheader, children: header }),
8523
8550
  /* @__PURE__ */ jsxRuntime.jsx(
8524
8551
  Button,
8525
8552
  {
@@ -8559,28 +8586,28 @@ function Modal({
8559
8586
  document.body
8560
8587
  );
8561
8588
  }
8562
- var ModalContext = React20.createContext(void 0);
8589
+ var ModalContext = React19.createContext(void 0);
8563
8590
  function ModalProvider({ children }) {
8564
- const [isOpen, setIsOpen] = React20.useState(false);
8565
- const [config, setConfig] = React20.useState(null);
8566
- const [mounted, setMounted] = React20.useState(false);
8567
- React20.useEffect(() => {
8591
+ const [isOpen, setIsOpen] = React19.useState(false);
8592
+ const [config, setConfig] = React19.useState(null);
8593
+ const [mounted, setMounted] = React19.useState(false);
8594
+ React19.useEffect(() => {
8568
8595
  setMounted(true);
8569
8596
  }, []);
8570
- const [isLoading, setIsLoading] = React20.useState(false);
8571
- const markAsLoading = React20.useCallback((loading = true) => setIsLoading(loading), []);
8572
- const pendingResolverRef = React20.useRef(null);
8573
- const resolvePending = React20.useCallback((value) => {
8597
+ const [isLoading, setIsLoading] = React19.useState(false);
8598
+ const markAsLoading = React19.useCallback((loading = true) => setIsLoading(loading), []);
8599
+ const pendingResolverRef = React19.useRef(null);
8600
+ const resolvePending = React19.useCallback((value) => {
8574
8601
  if (pendingResolverRef.current) {
8575
8602
  pendingResolverRef.current(value);
8576
8603
  pendingResolverRef.current = null;
8577
8604
  }
8578
8605
  }, []);
8579
- const closeModal = React20.useCallback(() => {
8606
+ const closeModal = React19.useCallback(() => {
8580
8607
  setIsOpen(false);
8581
8608
  setIsLoading(false);
8582
8609
  }, []);
8583
- const openModal = React20.useCallback(
8610
+ const openModal = React19.useCallback(
8584
8611
  (newConfig) => {
8585
8612
  resolvePending(false);
8586
8613
  setConfig(newConfig);
@@ -8588,13 +8615,13 @@ function ModalProvider({ children }) {
8588
8615
  },
8589
8616
  [resolvePending]
8590
8617
  );
8591
- const handleRequestClose = React20.useCallback(() => {
8618
+ const handleRequestClose = React19.useCallback(() => {
8592
8619
  var _a;
8593
8620
  (_a = config == null ? void 0 : config.onRequestClose) == null ? void 0 : _a.call(config);
8594
8621
  resolvePending(false);
8595
8622
  closeModal();
8596
8623
  }, [config, closeModal, resolvePending]);
8597
- const confirm = React20.useCallback(
8624
+ const confirm = React19.useCallback(
8598
8625
  (confirmConfig) => {
8599
8626
  return new Promise((resolve) => {
8600
8627
  resolvePending(false);
@@ -8642,7 +8669,7 @@ function ModalProvider({ children }) {
8642
8669
  return modalNode;
8643
8670
  }
8644
8671
  function useModal() {
8645
- const ctx = React20.useContext(ModalContext);
8672
+ const ctx = React19.useContext(ModalContext);
8646
8673
  if (!ctx) throw new Error("useModal must be used within a ModalProvider");
8647
8674
  return ctx;
8648
8675
  }
@@ -8721,13 +8748,13 @@ function Toast({
8721
8748
  }
8722
8749
  );
8723
8750
  }
8724
- var ToastContext = React20.createContext(void 0);
8751
+ var ToastContext = React19.createContext(void 0);
8725
8752
  function ToastProvider({
8726
8753
  children,
8727
8754
  defaultDuration: defaultDuration2 = 4e3
8728
8755
  }) {
8729
- const [toasts, setToasts] = React20.useState([]);
8730
- const timeouts = React20.useRef(/* @__PURE__ */ new Map());
8756
+ const [toasts, setToasts] = React19.useState([]);
8757
+ const timeouts = React19.useRef(/* @__PURE__ */ new Map());
8731
8758
  const clearTimeoutForId = (id) => {
8732
8759
  const timeoutId = timeouts.current.get(id);
8733
8760
  if (timeoutId) {
@@ -8735,11 +8762,11 @@ function ToastProvider({
8735
8762
  timeouts.current.delete(id);
8736
8763
  }
8737
8764
  };
8738
- const hideToast = React20.useCallback((id) => {
8765
+ const hideToast = React19.useCallback((id) => {
8739
8766
  clearTimeoutForId(id);
8740
8767
  setToasts((prev) => prev.filter((t) => t.id !== id));
8741
8768
  }, []);
8742
- const scheduleAutoDismiss = React20.useCallback(
8769
+ const scheduleAutoDismiss = React19.useCallback(
8743
8770
  (toast) => {
8744
8771
  var _a;
8745
8772
  const duration = (_a = toast.duration) != null ? _a : defaultDuration2;
@@ -8752,7 +8779,7 @@ function ToastProvider({
8752
8779
  },
8753
8780
  [defaultDuration2, hideToast]
8754
8781
  );
8755
- const showToast = React20.useCallback(
8782
+ const showToast = React19.useCallback(
8756
8783
  (config) => {
8757
8784
  var _a, _b, _c;
8758
8785
  const id = (_c = (_b = config.id) != null ? _b : (_a = crypto.randomUUID) == null ? void 0 : _a.call(crypto)) != null ? _c : `${Date.now()}-${Math.random()}`;
@@ -8763,12 +8790,12 @@ function ToastProvider({
8763
8790
  },
8764
8791
  [scheduleAutoDismiss]
8765
8792
  );
8766
- const clearToasts = React20.useCallback(() => {
8793
+ const clearToasts = React19.useCallback(() => {
8767
8794
  timeouts.current.forEach((timeoutId) => window.clearTimeout(timeoutId));
8768
8795
  timeouts.current.clear();
8769
8796
  setToasts([]);
8770
8797
  }, []);
8771
- React20.useEffect(
8798
+ React19.useEffect(
8772
8799
  () => () => {
8773
8800
  timeouts.current.forEach((timeoutId) => window.clearTimeout(timeoutId));
8774
8801
  timeouts.current.clear();
@@ -8801,14 +8828,14 @@ function ToastProvider({
8801
8828
  ] });
8802
8829
  }
8803
8830
  function useToast() {
8804
- const ctx = React20.useContext(ToastContext);
8831
+ const ctx = React19.useContext(ToastContext);
8805
8832
  if (!ctx) {
8806
8833
  throw new Error("useToast must be used within a ToastProvider");
8807
8834
  }
8808
8835
  return ctx;
8809
8836
  }
8810
8837
  function useOptionalToast() {
8811
- return React20.useContext(ToastContext);
8838
+ return React19.useContext(ToastContext);
8812
8839
  }
8813
8840
 
8814
8841
  // src/components/attribute-chip/AttributeChip.module.css
@@ -8831,7 +8858,7 @@ function AttributeChip({
8831
8858
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: AttributeChip_default.value, children: loading ? "\u2014" : value == null ? void 0 : value.toString() })
8832
8859
  ] });
8833
8860
  }
8834
- var SplitPaneContext = React20__namespace.default.createContext(null);
8861
+ var SplitPaneContext = React19__namespace.default.createContext(null);
8835
8862
  function clamp3(n, min, max) {
8836
8863
  return Math.max(min, Math.min(max, n));
8837
8864
  }
@@ -8858,7 +8885,7 @@ function removeStoredSize(key) {
8858
8885
  }
8859
8886
  }
8860
8887
  function useSplitPaneContext() {
8861
- const ctx = React20__namespace.default.useContext(SplitPaneContext);
8888
+ const ctx = React19__namespace.default.useContext(SplitPaneContext);
8862
8889
  if (!ctx) throw new Error("SplitPane components must be used within <SplitPane />");
8863
8890
  return ctx;
8864
8891
  }
@@ -8870,10 +8897,10 @@ function SplitPaneProvider({
8870
8897
  minSecondarySize,
8871
8898
  storageKey
8872
8899
  }) {
8873
- const containerRef = React20.useRef(null);
8874
- const [primarySize, setPrimarySize] = React20.useState(initialPrimarySize);
8875
- const [manualPrimarySize, setManualPrimarySize] = React20.useState(null);
8876
- const getMaxPrimary = React20.useCallback(() => {
8900
+ const containerRef = React19.useRef(null);
8901
+ const [primarySize, setPrimarySize] = React19.useState(initialPrimarySize);
8902
+ const [manualPrimarySize, setManualPrimarySize] = React19.useState(null);
8903
+ const getMaxPrimary = React19.useCallback(() => {
8877
8904
  const el = containerRef.current;
8878
8905
  if (!el) return null;
8879
8906
  const rect = el.getBoundingClientRect();
@@ -8881,14 +8908,14 @@ function SplitPaneProvider({
8881
8908
  if (!Number.isFinite(total) || total <= 0) return null;
8882
8909
  return Math.max(minPrimarySize, total - minSecondarySize);
8883
8910
  }, [direction, minPrimarySize, minSecondarySize]);
8884
- React20.useEffect(() => {
8911
+ React19.useEffect(() => {
8885
8912
  if (!storageKey) return;
8886
8913
  const stored = readStoredSize(storageKey);
8887
8914
  if (stored === null) return;
8888
8915
  setManualPrimarySize(stored);
8889
8916
  setPrimarySize(stored);
8890
8917
  }, [storageKey]);
8891
- React20.useEffect(() => {
8918
+ React19.useEffect(() => {
8892
8919
  const el = containerRef.current;
8893
8920
  if (!el) return;
8894
8921
  if (typeof ResizeObserver === "undefined") return;
@@ -8903,7 +8930,7 @@ function SplitPaneProvider({
8903
8930
  ro.observe(el);
8904
8931
  return () => ro.disconnect();
8905
8932
  }, [getMaxPrimary, initialPrimarySize, manualPrimarySize]);
8906
- React20.useEffect(() => {
8933
+ React19.useEffect(() => {
8907
8934
  if (!storageKey) return;
8908
8935
  if (manualPrimarySize === null) {
8909
8936
  removeStoredSize(storageKey);
@@ -8911,11 +8938,11 @@ function SplitPaneProvider({
8911
8938
  }
8912
8939
  writeStoredSize(storageKey, manualPrimarySize);
8913
8940
  }, [manualPrimarySize, storageKey]);
8914
- const handleSizeChange = React20.useCallback((newSize) => {
8941
+ const handleSizeChange = React19.useCallback((newSize) => {
8915
8942
  setManualPrimarySize(newSize);
8916
8943
  setPrimarySize(newSize);
8917
8944
  }, []);
8918
- const resetDefault = React20.useCallback(() => {
8945
+ const resetDefault = React19.useCallback(() => {
8919
8946
  setManualPrimarySize(null);
8920
8947
  const maxPrimary = getMaxPrimary();
8921
8948
  if (maxPrimary === null) {
@@ -8924,7 +8951,7 @@ function SplitPaneProvider({
8924
8951
  }
8925
8952
  setPrimarySize(clamp3(initialPrimarySize, minPrimarySize, maxPrimary));
8926
8953
  }, [getMaxPrimary, initialPrimarySize, minPrimarySize]);
8927
- const value = React20.useMemo(
8954
+ const value = React19.useMemo(
8928
8955
  () => ({
8929
8956
  direction,
8930
8957
  primarySize,
@@ -8987,7 +9014,7 @@ function SplitPaneContainer({
8987
9014
  gutterSize
8988
9015
  }) {
8989
9016
  const { direction, primarySize, containerRef } = useSplitPaneContext();
8990
- const style = React20.useMemo(
9017
+ const style = React19.useMemo(
8991
9018
  () => ({
8992
9019
  "--split-pane-primary-size": `${primarySize}px`,
8993
9020
  "--split-pane-gutter": `${gutterSize}px`
@@ -9022,16 +9049,16 @@ function SplitPaneGutter() {
9022
9049
  containerRef,
9023
9050
  resetDefault
9024
9051
  } = useSplitPaneContext();
9025
- const draggingRef = React20.useRef(false);
9026
- const pointerIdRef = React20.useRef(null);
9027
- const startPosRef = React20.useRef(0);
9028
- const startSizeRef = React20.useRef(primarySize);
9029
- const maxPrimaryRef = React20.useRef(Infinity);
9030
- const getClientPos = React20.useCallback(
9052
+ const draggingRef = React19.useRef(false);
9053
+ const pointerIdRef = React19.useRef(null);
9054
+ const startPosRef = React19.useRef(0);
9055
+ const startSizeRef = React19.useRef(primarySize);
9056
+ const maxPrimaryRef = React19.useRef(Infinity);
9057
+ const getClientPos = React19.useCallback(
9031
9058
  (e) => direction === "horizontal" ? e.clientX : e.clientY,
9032
9059
  [direction]
9033
9060
  );
9034
- const computeClamp = React20.useCallback(() => {
9061
+ const computeClamp = React19.useCallback(() => {
9035
9062
  const el = containerRef.current;
9036
9063
  if (!el) return { maxPrimary: Infinity, total: 0 };
9037
9064
  const rect = el.getBoundingClientRect();
@@ -9039,7 +9066,7 @@ function SplitPaneGutter() {
9039
9066
  const maxPrimary2 = Math.max(minPrimarySize, total - minSecondarySize);
9040
9067
  return { maxPrimary: maxPrimary2, total };
9041
9068
  }, [containerRef, direction, minPrimarySize, minSecondarySize]);
9042
- const onPointerDown = React20.useCallback(
9069
+ const onPointerDown = React19.useCallback(
9043
9070
  (e) => {
9044
9071
  const el = containerRef.current;
9045
9072
  if (!el) return;
@@ -9055,7 +9082,7 @@ function SplitPaneGutter() {
9055
9082
  },
9056
9083
  [computeClamp, containerRef, direction, getClientPos, primarySize]
9057
9084
  );
9058
- const onPointerMove = React20.useCallback(
9085
+ const onPointerMove = React19.useCallback(
9059
9086
  (e) => {
9060
9087
  if (!draggingRef.current) return;
9061
9088
  if (pointerIdRef.current !== null && e.pointerId !== pointerIdRef.current) return;
@@ -9066,16 +9093,16 @@ function SplitPaneGutter() {
9066
9093
  },
9067
9094
  [getClientPos, minPrimarySize, setPrimarySize]
9068
9095
  );
9069
- const endDrag = React20.useCallback(() => {
9096
+ const endDrag = React19.useCallback(() => {
9070
9097
  if (!draggingRef.current) return;
9071
9098
  draggingRef.current = false;
9072
9099
  pointerIdRef.current = null;
9073
9100
  document.body.style.cursor = "";
9074
9101
  document.body.style.userSelect = "";
9075
9102
  }, []);
9076
- const onPointerUp = React20.useCallback(() => endDrag(), [endDrag]);
9077
- const onPointerCancel = React20.useCallback(() => endDrag(), [endDrag]);
9078
- const onKeyDown = React20.useCallback(
9103
+ const onPointerUp = React19.useCallback(() => endDrag(), [endDrag]);
9104
+ const onPointerCancel = React19.useCallback(() => endDrag(), [endDrag]);
9105
+ const onKeyDown = React19.useCallback(
9079
9106
  (e) => {
9080
9107
  const { maxPrimary: maxPrimary2 } = computeClamp();
9081
9108
  const step = e.shiftKey ? 32 : 8;
@@ -9129,7 +9156,7 @@ function MetaBar({ items, separator = "\u2022" }) {
9129
9156
  (item) => item.value !== null && item.value !== void 0 && item.value !== ""
9130
9157
  );
9131
9158
  if (visibleItems.length === 0) return null;
9132
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: MetaBar_default.meta, children: visibleItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React20.Fragment, { children: [
9159
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: MetaBar_default.meta, children: visibleItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React19.Fragment, { children: [
9133
9160
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: item.muted === false ? MetaBar_default.itemDefault : MetaBar_default.itemMuted, children: [
9134
9161
  item.label && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
9135
9162
  item.label,
@@ -9180,7 +9207,7 @@ function CopyButton(props) {
9180
9207
  disabled,
9181
9208
  ...rest
9182
9209
  } = props;
9183
- const [copied, setCopied] = React20.useState(false);
9210
+ const [copied, setCopied] = React19.useState(false);
9184
9211
  const toast = useOptionalToast();
9185
9212
  const buttonLabel = children;
9186
9213
  const icon = disableIcon ? null : copied ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, {}) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, {});
@@ -9297,7 +9324,7 @@ function getTextContent(node) {
9297
9324
  if (node == null || typeof node === "boolean") return "";
9298
9325
  if (typeof node === "string" || typeof node === "number") return String(node);
9299
9326
  if (Array.isArray(node)) return node.map(getTextContent).join("");
9300
- if (React20.isValidElement(node)) return getTextContent(node.props.children);
9327
+ if (React19.isValidElement(node)) return getTextContent(node.props.children);
9301
9328
  return "";
9302
9329
  }
9303
9330
  function CodeBlock({
@@ -9311,15 +9338,15 @@ function CodeBlock({
9311
9338
  }) {
9312
9339
  const text = typeof code === "string" ? code : void 0;
9313
9340
  const hasChildren2 = children !== void 0 && children !== null;
9314
- const [isWrapped, setIsWrapped] = React20.useState(wrap);
9315
- const copy = React20.useMemo(
9341
+ const [isWrapped, setIsWrapped] = React19.useState(wrap);
9342
+ const copy = React19.useMemo(
9316
9343
  () => {
9317
9344
  var _a;
9318
9345
  return (_a = copyText != null ? copyText : text) != null ? _a : getTextContent(children);
9319
9346
  },
9320
9347
  [copyText, text, children]
9321
9348
  );
9322
- const lines = React20.useMemo(
9349
+ const lines = React19.useMemo(
9323
9350
  () => smart && !hasChildren2 && typeof text === "string" ? text.split("\n") : null,
9324
9351
  [smart, hasChildren2, text]
9325
9352
  );
@@ -9480,7 +9507,7 @@ function collectInitiallyExpandedNodeIds(value, defaultExpandedDepth, expandAll,
9480
9507
  }
9481
9508
  function HighlightedText({ text, query }) {
9482
9509
  return getHighlightedSegments(text, query).map(
9483
- (segment, index) => segment.matched ? /* @__PURE__ */ jsxRuntime.jsx("mark", { className: "dbc-highlight", children: segment.text }, `${segment.text}-${index}`) : /* @__PURE__ */ jsxRuntime.jsx(React20.Fragment, { children: segment.text }, `${segment.text}-${index}`)
9510
+ (segment, index) => segment.matched ? /* @__PURE__ */ jsxRuntime.jsx("mark", { className: "dbc-highlight", children: segment.text }, `${segment.text}-${index}`) : /* @__PURE__ */ jsxRuntime.jsx(React19.Fragment, { children: segment.text }, `${segment.text}-${index}`)
9484
9511
  );
9485
9512
  }
9486
9513
 
@@ -9630,8 +9657,8 @@ function JsonNode({
9630
9657
  );
9631
9658
  }
9632
9659
  function useClipboardStatus() {
9633
- const [copiedId, setCopiedId] = React20.useState(null);
9634
- React20.useEffect(() => {
9660
+ const [copiedId, setCopiedId] = React19.useState(null);
9661
+ React19.useEffect(() => {
9635
9662
  if (!copiedId) return;
9636
9663
  const timer = window.setTimeout(() => setCopiedId(null), 1400);
9637
9664
  return () => window.clearTimeout(timer);
@@ -9649,18 +9676,18 @@ function JsonViewer({
9649
9676
  className,
9650
9677
  maxHeight
9651
9678
  }) {
9652
- const [queryInput, setQueryInput] = React20.useState("");
9653
- const [query, setQuery] = React20.useState("");
9679
+ const [queryInput, setQueryInput] = React19.useState("");
9680
+ const [query, setQuery] = React19.useState("");
9654
9681
  const normalizedQuery = normalizeSearch(query);
9655
- const inputId = React20.useId();
9682
+ const inputId = React19.useId();
9656
9683
  const { copiedId, setCopiedId } = useClipboardStatus();
9657
- React20.useEffect(() => {
9684
+ React19.useEffect(() => {
9658
9685
  const timeoutId = window.setTimeout(() => {
9659
9686
  setQuery(queryInput);
9660
9687
  }, searchDebounceMs);
9661
9688
  return () => window.clearTimeout(timeoutId);
9662
9689
  }, [queryInput, searchDebounceMs]);
9663
- const safeValue = React20.useMemo(() => {
9690
+ const safeValue = React19.useMemo(() => {
9664
9691
  if (isJsonValue(value)) return value;
9665
9692
  return {
9666
9693
  unsupported: {
@@ -9669,12 +9696,12 @@ function JsonViewer({
9669
9696
  }
9670
9697
  };
9671
9698
  }, [value]);
9672
- const matches = React20.useMemo(
9699
+ const matches = React19.useMemo(
9673
9700
  () => normalizedQuery ? collectSearchMatches(safeValue, normalizedQuery) : /* @__PURE__ */ new Map(),
9674
9701
  [normalizedQuery, safeValue]
9675
9702
  );
9676
- const allExpandableNodeIds = React20.useMemo(() => collectExpandableNodeIds(safeValue), [safeValue]);
9677
- const [expandedNodeIds, setExpandedNodeIds] = React20.useState(
9703
+ const allExpandableNodeIds = React19.useMemo(() => collectExpandableNodeIds(safeValue), [safeValue]);
9704
+ const [expandedNodeIds, setExpandedNodeIds] = React19.useState(
9678
9705
  () => new Set(collectInitiallyExpandedNodeIds(safeValue, defaultExpandedDepth, expandAll))
9679
9706
  );
9680
9707
  const hasResults = normalizedQuery ? matches.size > 0 : true;
@@ -9813,10 +9840,10 @@ function useTimeDuration({
9813
9840
  liveUpdate = false,
9814
9841
  formatDuration = defaultDuration
9815
9842
  }) {
9816
- const [hydrated, setHydrated] = React20.useState(false);
9817
- const [tick, setTick] = React20.useState(0);
9818
- React20.useEffect(() => setHydrated(true), []);
9819
- React20.useEffect(() => {
9843
+ const [hydrated, setHydrated] = React19.useState(false);
9844
+ const [tick, setTick] = React19.useState(0);
9845
+ React19.useEffect(() => setHydrated(true), []);
9846
+ React19.useEffect(() => {
9820
9847
  if (!liveUpdate) return;
9821
9848
  if (end && end.getTime() <= Date.now()) return;
9822
9849
  const timer = setInterval(() => {
@@ -9827,17 +9854,17 @@ function useTimeDuration({
9827
9854
  }, 1e3);
9828
9855
  return () => clearInterval(timer);
9829
9856
  }, [liveUpdate, end]);
9830
- const started = React20.useMemo(() => {
9857
+ const started = React19.useMemo(() => {
9831
9858
  if (!start) return fallback;
9832
9859
  if (!hydrated) return fallback;
9833
9860
  return new Intl.DateTimeFormat("da-DK", dateFormat).format(start);
9834
9861
  }, [start, hydrated, fallback, dateFormat]);
9835
- const ended = React20.useMemo(() => {
9862
+ const ended = React19.useMemo(() => {
9836
9863
  if (!end) return fallback;
9837
9864
  if (!hydrated) return fallback;
9838
9865
  return new Intl.DateTimeFormat("da-DK", dateFormat).format(end);
9839
9866
  }, [end, hydrated, fallback, dateFormat]);
9840
- const duration = React20.useMemo(() => {
9867
+ const duration = React19.useMemo(() => {
9841
9868
  if (!start || !hydrated) return fallback;
9842
9869
  const now = Date.now();
9843
9870
  if (!end) {
@@ -9893,12 +9920,12 @@ function useSorting({
9893
9920
  resetOnDataChange = false
9894
9921
  }) {
9895
9922
  const isControlled = state != null;
9896
- const [uncontrolled, setUncontrolled] = React20.useState(() => ({
9923
+ const [uncontrolled, setUncontrolled] = React19.useState(() => ({
9897
9924
  sortBy,
9898
9925
  sortDirection
9899
9926
  }));
9900
9927
  const sortState = isControlled ? state : uncontrolled;
9901
- const setSort = React20.useCallback(
9928
+ const setSort = React19.useCallback(
9902
9929
  (next) => {
9903
9930
  var _a, _b;
9904
9931
  const normalized = {
@@ -9910,8 +9937,8 @@ function useSorting({
9910
9937
  },
9911
9938
  [isControlled, onStateChange]
9912
9939
  );
9913
- const clearSort = React20.useCallback(() => setSort({ sortBy: null, sortDirection: null }), [setSort]);
9914
- const onSortChange = React20.useCallback(
9940
+ const clearSort = React19.useCallback(() => setSort({ sortBy: null, sortDirection: null }), [setSort]);
9941
+ const onSortChange = React19.useCallback(
9915
9942
  (e) => {
9916
9943
  var _a, _b;
9917
9944
  const nextSortBy = (_a = e.sortBy) != null ? _a : null;
@@ -9931,8 +9958,8 @@ function useSorting({
9931
9958
  },
9932
9959
  [allowUnsort, clearSort, setSort, sortState]
9933
9960
  );
9934
- const didInitRef = React20.useRef(false);
9935
- React20.useEffect(() => {
9961
+ const didInitRef = React19.useRef(false);
9962
+ React19.useEffect(() => {
9936
9963
  if (!resetOnDataChange) return;
9937
9964
  if (!didInitRef.current) {
9938
9965
  didInitRef.current = true;
@@ -9940,7 +9967,7 @@ function useSorting({
9940
9967
  }
9941
9968
  clearSort();
9942
9969
  }, [resetOnDataChange, data]);
9943
- const sortedData = React20.useMemo(() => {
9970
+ const sortedData = React19.useMemo(() => {
9944
9971
  const { sortBy: sb, sortDirection: dir } = sortState;
9945
9972
  if (!sb || !dir) return data;
9946
9973
  const custom = columnComparators[sb];
@@ -9952,7 +9979,7 @@ function useSorting({
9952
9979
  };
9953
9980
  return stableSort(data, cmp);
9954
9981
  }, [data, sortState, columnComparators, nulls]);
9955
- const setSortRef = React20.useRef(setSort);
9982
+ const setSortRef = React19.useRef(setSort);
9956
9983
  setSortRef.current = setSort;
9957
9984
  return {
9958
9985
  sortedData,
@@ -9996,8 +10023,8 @@ function usePagination({
9996
10023
  storageKey
9997
10024
  }) {
9998
10025
  const isControlled = state != null;
9999
- const [hydrated, setHydrated] = React20.useState(() => !storageKey || isControlled);
10000
- const [uncontrolled, setUncontrolled] = React20.useState(() => {
10026
+ const [hydrated, setHydrated] = React19.useState(() => !storageKey || isControlled);
10027
+ const [uncontrolled, setUncontrolled] = React19.useState(() => {
10001
10028
  var _a;
10002
10029
  const initial = normalizePaginationState({
10003
10030
  skip,
@@ -10008,7 +10035,7 @@ function usePagination({
10008
10035
  }
10009
10036
  return (_a = safeParsePaginationState(window.localStorage.getItem(storageKey))) != null ? _a : initial;
10010
10037
  });
10011
- React20.useEffect(() => {
10038
+ React19.useEffect(() => {
10012
10039
  if (typeof window === "undefined") return;
10013
10040
  if (isControlled || !storageKey) {
10014
10041
  setHydrated(true);
@@ -10019,8 +10046,8 @@ function usePagination({
10019
10046
  setUncontrolled(stored != null ? stored : fallback);
10020
10047
  setHydrated(true);
10021
10048
  }, [isControlled, storageKey, skip, take]);
10022
- const didInitRef = React20.useRef(false);
10023
- React20.useEffect(() => {
10049
+ const didInitRef = React19.useRef(false);
10050
+ React19.useEffect(() => {
10024
10051
  if (isControlled) return;
10025
10052
  if (storageKey) return;
10026
10053
  if (!didInitRef.current) {
@@ -10040,7 +10067,7 @@ function usePagination({
10040
10067
  totalCount === 0 ? 0 : Math.floor((totalCount - 1) / safeTake) * safeTake
10041
10068
  );
10042
10069
  const safeSkip = clamp5(Math.max(0, paginationState.skip), 0, maxSkip);
10043
- const setPagination = React20.useCallback(
10070
+ const setPagination = React19.useCallback(
10044
10071
  (next) => {
10045
10072
  const normalized = normalizePaginationState(next);
10046
10073
  if (isControlled) {
@@ -10051,7 +10078,7 @@ function usePagination({
10051
10078
  },
10052
10079
  [isControlled, onStateChange]
10053
10080
  );
10054
- const onPageChange = React20.useCallback(
10081
+ const onPageChange = React19.useCallback(
10055
10082
  (pageEvent) => {
10056
10083
  const nextTake = Math.max(1, pageEvent.take);
10057
10084
  const nextSkip = Math.max(0, (pageEvent.page - 1) * nextTake);
@@ -10059,25 +10086,25 @@ function usePagination({
10059
10086
  },
10060
10087
  [setPagination]
10061
10088
  );
10062
- const resetPage = React20.useCallback(() => {
10089
+ const resetPage = React19.useCallback(() => {
10063
10090
  setPagination({ skip: 0, take: safeTake });
10064
10091
  }, [setPagination, safeTake]);
10065
- React20.useEffect(() => {
10092
+ React19.useEffect(() => {
10066
10093
  if (!resetOnDataChange) return;
10067
10094
  if (!hydrated) return;
10068
10095
  resetPage();
10069
10096
  }, [resetOnDataChange, data, hydrated]);
10070
- const paginatedData = React20.useMemo(() => {
10097
+ const paginatedData = React19.useMemo(() => {
10071
10098
  return data.slice(safeSkip, safeSkip + safeTake);
10072
10099
  }, [data, safeSkip, safeTake]);
10073
- const page = React20.useMemo(() => Math.floor(safeSkip / safeTake) + 1, [safeSkip, safeTake]);
10074
- React20.useEffect(() => {
10100
+ const page = React19.useMemo(() => Math.floor(safeSkip / safeTake) + 1, [safeSkip, safeTake]);
10101
+ React19.useEffect(() => {
10075
10102
  if (isControlled) return;
10076
10103
  if (safeSkip !== paginationState.skip) {
10077
10104
  setUncontrolled((prev) => ({ ...prev, skip: safeSkip }));
10078
10105
  }
10079
10106
  }, [isControlled, safeSkip, paginationState.skip]);
10080
- React20.useEffect(() => {
10107
+ React19.useEffect(() => {
10081
10108
  if (typeof window === "undefined") return;
10082
10109
  if (isControlled || !storageKey) return;
10083
10110
  if (!hydrated) return;
@@ -10123,11 +10150,11 @@ function useTableData({
10123
10150
  state: pagination == null ? void 0 : pagination.state,
10124
10151
  onStateChange: pagination == null ? void 0 : pagination.onStateChange
10125
10152
  });
10126
- React20.useEffect(() => {
10153
+ React19.useEffect(() => {
10127
10154
  if (!resetPageOnSortChange) return;
10128
10155
  p.resetPage();
10129
10156
  }, [resetPageOnSortChange, s.sortState.sortBy, s.sortState.sortDirection]);
10130
- const rows = React20.useMemo(() => p.paginatedData, [p.paginatedData]);
10157
+ const rows = React19.useMemo(() => p.paginatedData, [p.paginatedData]);
10131
10158
  return {
10132
10159
  rows,
10133
10160
  totalCount: s.sortedData.length,
@@ -10175,17 +10202,17 @@ function useTableSelection({
10175
10202
  storage = "session"
10176
10203
  }) {
10177
10204
  const resolvedInitialSelectedIds = initialSelectedIds != null ? initialSelectedIds : EMPTY_IDS;
10178
- const [selectedIds, setSelectedIds] = React20.useState(resolvedInitialSelectedIds);
10179
- const [hydrated, setHydrated] = React20.useState(false);
10180
- const lastWrittenRef = React20.useRef(null);
10181
- const itemsById = React20.useMemo(() => {
10205
+ const [selectedIds, setSelectedIds] = React19.useState(resolvedInitialSelectedIds);
10206
+ const [hydrated, setHydrated] = React19.useState(false);
10207
+ const lastWrittenRef = React19.useRef(null);
10208
+ const itemsById = React19.useMemo(() => {
10182
10209
  const map = /* @__PURE__ */ new Map();
10183
10210
  for (const item of items) {
10184
10211
  map.set(getId(item), item);
10185
10212
  }
10186
10213
  return map;
10187
10214
  }, [items, getId]);
10188
- React20.useEffect(() => {
10215
+ React19.useEffect(() => {
10189
10216
  if (typeof window === "undefined") return;
10190
10217
  const storageApi = storage === "local" ? window.localStorage : window.sessionStorage;
10191
10218
  if (!storageKey) {
@@ -10202,7 +10229,7 @@ function useTableSelection({
10202
10229
  lastWrittenRef.current = serializeIds(next);
10203
10230
  setHydrated(true);
10204
10231
  }, [storage, storageKey, resolvedInitialSelectedIds]);
10205
- React20.useEffect(() => {
10232
+ React19.useEffect(() => {
10206
10233
  if (!pruneToItems) return;
10207
10234
  const visibleIds = new Set(Array.from(itemsById.keys()));
10208
10235
  setSelectedIds((prev) => {
@@ -10215,7 +10242,7 @@ function useTableSelection({
10215
10242
  return areSetsEqual(prev, next) ? prev : next;
10216
10243
  });
10217
10244
  }, [pruneToItems, itemsById]);
10218
- const selectedItemMap = React20.useMemo(() => {
10245
+ const selectedItemMap = React19.useMemo(() => {
10219
10246
  const map = /* @__PURE__ */ new Map();
10220
10247
  for (const id of selectedIds) {
10221
10248
  const item = itemsById.get(id);
@@ -10223,13 +10250,13 @@ function useTableSelection({
10223
10250
  }
10224
10251
  return map;
10225
10252
  }, [selectedIds, itemsById]);
10226
- const selectedItems = React20.useMemo(() => Array.from(selectedItemMap.values()), [selectedItemMap]);
10227
- const allSelected = React20.useMemo(() => {
10253
+ const selectedItems = React19.useMemo(() => Array.from(selectedItemMap.values()), [selectedItemMap]);
10254
+ const allSelected = React19.useMemo(() => {
10228
10255
  if (items.length === 0) return false;
10229
10256
  return items.every((item) => selectedIds.has(getId(item)));
10230
10257
  }, [items, selectedIds, getId]);
10231
- const anySelected = React20.useMemo(() => selectedIds.size > 0, [selectedIds]);
10232
- React20.useEffect(() => {
10258
+ const anySelected = React19.useMemo(() => selectedIds.size > 0, [selectedIds]);
10259
+ React19.useEffect(() => {
10233
10260
  if (!hydrated) return;
10234
10261
  if (typeof window === "undefined") return;
10235
10262
  if (storageKey) {
@@ -10242,7 +10269,7 @@ function useTableSelection({
10242
10269
  }
10243
10270
  onSelectionChange == null ? void 0 : onSelectionChange({ selectedIds, selectedItems });
10244
10271
  }, [hydrated, onSelectionChange, selectedIds, selectedItems, storage, storageKey]);
10245
- const toggleId = React20.useCallback(
10272
+ const toggleId = React19.useCallback(
10246
10273
  (id, selected) => {
10247
10274
  setSelectedIds((prev) => {
10248
10275
  const next = new Set(prev);
@@ -10260,22 +10287,22 @@ function useTableSelection({
10260
10287
  },
10261
10288
  [selectionMode]
10262
10289
  );
10263
- const toggleItem = React20.useCallback(
10290
+ const toggleItem = React19.useCallback(
10264
10291
  (item) => {
10265
10292
  toggleId(getId(item));
10266
10293
  },
10267
10294
  [toggleId, getId]
10268
10295
  );
10269
- const selectOnly = React20.useCallback((id) => {
10296
+ const selectOnly = React19.useCallback((id) => {
10270
10297
  setSelectedIds((prev) => {
10271
10298
  const next = /* @__PURE__ */ new Set([id]);
10272
10299
  return areSetsEqual(prev, next) ? prev : next;
10273
10300
  });
10274
10301
  }, []);
10275
- const clearSelection = React20.useCallback(() => {
10302
+ const clearSelection = React19.useCallback(() => {
10276
10303
  setSelectedIds((prev) => prev.size === 0 ? prev : /* @__PURE__ */ new Set());
10277
10304
  }, []);
10278
- const toggleAll = React20.useCallback(
10305
+ const toggleAll = React19.useCallback(
10279
10306
  (selected) => {
10280
10307
  if (!selected) {
10281
10308
  clearSelection();
@@ -10333,7 +10360,7 @@ function ChipMultiToggle({
10333
10360
  type = "rounded",
10334
10361
  dataCy
10335
10362
  }) {
10336
- const selectedSet = React20__namespace.default.useMemo(() => new Set(selectedValues), [selectedValues]);
10363
+ const selectedSet = React19__namespace.default.useMemo(() => new Set(selectedValues), [selectedValues]);
10337
10364
  const isNoneSelected = allTogglesNone && selectedSet.has(noneValue);
10338
10365
  const isAllSelected = showAllOption && !isNoneSelected && selectedSet.size === 0;
10339
10366
  const toggleValue = (value) => {
@@ -10451,8 +10478,8 @@ function CheckboxGroup({
10451
10478
  "data-cy": dataCy
10452
10479
  }) {
10453
10480
  var _a, _b;
10454
- const selectedSet = React20.useMemo(() => new Set(selectedValues), [selectedValues]);
10455
- const enabledValues = React20.useMemo(
10481
+ const selectedSet = React19.useMemo(() => new Set(selectedValues), [selectedValues]);
10482
+ const enabledValues = React19.useMemo(
10456
10483
  () => options.filter((o) => !(disabled || o.disabled)).map((o) => o.value),
10457
10484
  [options, disabled]
10458
10485
  );
@@ -10583,15 +10610,15 @@ function SidePanel({
10583
10610
  detailsHeaderAddition,
10584
10611
  ...props
10585
10612
  }) {
10586
- const [mounted, setMounted] = React20.useState(false);
10587
- const [shouldRender, setShouldRender] = React20.useState(isOpen);
10588
- const [isActive, setIsActive] = React20.useState(false);
10589
- const panelRef = React20.useRef(null);
10590
- React20.useEffect(() => setMounted(true), []);
10591
- React20.useEffect(() => {
10613
+ const [mounted, setMounted] = React19.useState(false);
10614
+ const [shouldRender, setShouldRender] = React19.useState(isOpen);
10615
+ const [isActive, setIsActive] = React19.useState(false);
10616
+ const panelRef = React19.useRef(null);
10617
+ React19.useEffect(() => setMounted(true), []);
10618
+ React19.useEffect(() => {
10592
10619
  if (isOpen) setShouldRender(true);
10593
10620
  }, [isOpen]);
10594
- React20.useEffect(() => {
10621
+ React19.useEffect(() => {
10595
10622
  if (!isOpen) return;
10596
10623
  const handleKeyDown = (e) => {
10597
10624
  if (e.key === "Escape") {
@@ -10604,7 +10631,7 @@ function SidePanel({
10604
10631
  document.removeEventListener("keydown", handleKeyDown);
10605
10632
  };
10606
10633
  }, [isOpen, onClose]);
10607
- React20.useEffect(() => {
10634
+ React19.useEffect(() => {
10608
10635
  if (!shouldRender) return;
10609
10636
  if (!isOpen) {
10610
10637
  setIsActive(false);
@@ -10613,7 +10640,7 @@ function SidePanel({
10613
10640
  const raf = requestAnimationFrame(() => setIsActive(true));
10614
10641
  return () => cancelAnimationFrame(raf);
10615
10642
  }, [isOpen, shouldRender]);
10616
- React20.useEffect(() => {
10643
+ React19.useEffect(() => {
10617
10644
  if (!shouldRender) return;
10618
10645
  const el = panelRef.current;
10619
10646
  if (!el) return;
@@ -10682,7 +10709,7 @@ function SidePanel({
10682
10709
  /* @__PURE__ */ jsxRuntime.jsx(
10683
10710
  Headline,
10684
10711
  {
10685
- size: 3,
10712
+ size: 2,
10686
10713
  disableMargin: true,
10687
10714
  severity,
10688
10715
  marker: showHeaderMarker,
@@ -10721,7 +10748,7 @@ function SidePanel({
10721
10748
  );
10722
10749
  }
10723
10750
  function useSidePanel(initialOpen = false) {
10724
- const [isOpen, setIsOpen] = React20.useState(initialOpen);
10751
+ const [isOpen, setIsOpen] = React19.useState(initialOpen);
10725
10752
  const openSidePanel = () => setIsOpen(true);
10726
10753
  const closeSidePanel = () => setIsOpen(false);
10727
10754
  return {
@@ -10780,7 +10807,7 @@ function Tooltip({
10780
10807
  delayOpenMs,
10781
10808
  delayCloseMs
10782
10809
  });
10783
- const rootClass = React20.useMemo(
10810
+ const rootClass = React19.useMemo(
10784
10811
  () => ["TooltipContainer", className].filter(Boolean).join(" "),
10785
10812
  [className]
10786
10813
  );
@@ -10804,7 +10831,7 @@ function RadioButtonGroup({
10804
10831
  direction = "column",
10805
10832
  "data-cy": dataCy
10806
10833
  }) {
10807
- const generated = React20.useId();
10834
+ const generated = React19.useId();
10808
10835
  const groupName = name != null ? name : `radio-group-${generated}`;
10809
10836
  const content = /* @__PURE__ */ jsxRuntime.jsx(
10810
10837
  "div",
@@ -10876,22 +10903,22 @@ function IntervalSelect({
10876
10903
  dataCy,
10877
10904
  disabled
10878
10905
  }) {
10879
- const generatedId = React20.useId();
10906
+ const generatedId = React19.useId();
10880
10907
  const controlId = id != null ? id : `interval-select-${generatedId}`;
10881
10908
  const describedById = `${controlId}-desc`;
10882
10909
  const listboxId = `${controlId}-listbox`;
10883
- const popoverRef = React20.useRef(null);
10884
- const optionRefs = React20.useRef([]);
10885
- const selectedIndex = React20.useMemo(
10910
+ const popoverRef = React19.useRef(null);
10911
+ const optionRefs = React19.useRef([]);
10912
+ const selectedIndex = React19.useMemo(
10886
10913
  () => options.findIndex((o) => o.minutesAgo === selectedValue),
10887
10914
  [options, selectedValue]
10888
10915
  );
10889
- const [activeIndex, setActiveIndex] = React20.useState(selectedIndex >= 0 ? selectedIndex : 0);
10890
- React20.useEffect(() => {
10916
+ const [activeIndex, setActiveIndex] = React19.useState(selectedIndex >= 0 ? selectedIndex : 0);
10917
+ React19.useEffect(() => {
10891
10918
  var _a;
10892
10919
  (_a = optionRefs.current[activeIndex]) == null ? void 0 : _a.focus();
10893
10920
  }, [activeIndex]);
10894
- const selected = React20.useMemo(
10921
+ const selected = React19.useMemo(
10895
10922
  () => {
10896
10923
  var _a;
10897
10924
  return (_a = options.find((o) => o.minutesAgo === selectedValue)) != null ? _a : null;
@@ -11042,6 +11069,7 @@ function IntervalSelect({
11042
11069
  // src/components/accordion/Accordion.module.css
11043
11070
  var Accordion_default = {
11044
11071
  container: "Accordion_container",
11072
+ outlined: "Accordion_outlined",
11045
11073
  sm: "Accordion_sm",
11046
11074
  md: "Accordion_md",
11047
11075
  lg: "Accordion_lg"
@@ -11058,13 +11086,14 @@ var AccordionRow_default = {
11058
11086
  panel: "AccordionRow_panel",
11059
11087
  animate: "AccordionRow_animate",
11060
11088
  noAnimate: "AccordionRow_noAnimate",
11061
- content: "AccordionRow_content"
11089
+ content: "AccordionRow_content",
11090
+ item: "AccordionRow_item"
11062
11091
  };
11063
11092
  function useCollapsibleHeight(isOpen, shouldAnimate) {
11064
- const innerRef = React20.useRef(null);
11065
- const [height, setHeight] = React20.useState("0px");
11066
- const prevIsOpenRef = React20.useRef(isOpen);
11067
- React20.useLayoutEffect(() => {
11093
+ const innerRef = React19.useRef(null);
11094
+ const [height, setHeight] = React19.useState("0px");
11095
+ const prevIsOpenRef = React19.useRef(isOpen);
11096
+ React19.useLayoutEffect(() => {
11068
11097
  var _a, _b;
11069
11098
  const el = innerRef.current;
11070
11099
  if (!el) return;
@@ -11101,7 +11130,9 @@ function AccordionRow({
11101
11130
  item,
11102
11131
  isOpen,
11103
11132
  onToggle,
11104
- shouldAnimate = true
11133
+ shouldAnimate = true,
11134
+ headlineSize = 4,
11135
+ variant = "default"
11105
11136
  }) {
11106
11137
  const isDisabled = !!item.disabled;
11107
11138
  const buttonId = `${uid}-acc-btn-${index}`;
@@ -11129,8 +11160,8 @@ function AccordionRow({
11129
11160
  Headline,
11130
11161
  {
11131
11162
  disableMargin: true,
11132
- size: 4,
11133
- weight: 500,
11163
+ size: headlineSize,
11164
+ weight: variant === "outlined" ? 400 : 500,
11134
11165
  severity: item.severity,
11135
11166
  subheader: item.subheader,
11136
11167
  allowWrap: isOpen,
@@ -11169,6 +11200,7 @@ function Accordion({
11169
11200
  items,
11170
11201
  mode = "single",
11171
11202
  size = "md",
11203
+ variant = "default",
11172
11204
  defaultOpenIndex = null,
11173
11205
  defaultOpenIndexes = [],
11174
11206
  openIndex,
@@ -11176,28 +11208,28 @@ function Accordion({
11176
11208
  onOpenIndexChange,
11177
11209
  onOpenIndexesChange
11178
11210
  }) {
11179
- const uid = React20.useId();
11211
+ const uid = React19.useId();
11180
11212
  const isControlled = mode === "single" ? openIndex !== void 0 : openIndexes !== void 0;
11181
- const hasMountedRef = React20.useRef(false);
11182
- React20.useEffect(() => {
11183
- hasMountedRef.current = true;
11213
+ const [hasMounted, setHasMounted] = React19.useState(false);
11214
+ React19.useEffect(() => {
11215
+ setHasMounted(true);
11184
11216
  }, []);
11185
- const [internalSingle, setInternalSingle] = React20.useState(
11217
+ const [internalSingle, setInternalSingle] = React19.useState(
11186
11218
  mode === "single" ? defaultOpenIndex : null
11187
11219
  );
11188
- const [internalMultiple, setInternalMultiple] = React20.useState(() => {
11220
+ const [internalMultiple, setInternalMultiple] = React19.useState(() => {
11189
11221
  if (mode !== "multiple") return [];
11190
11222
  if (defaultOpenIndexes === "all") return items.map((_, i) => i);
11191
11223
  return normalizeMultiple(defaultOpenIndexes);
11192
11224
  });
11193
- const currentOpenIndexes = React20.useMemo(() => {
11225
+ const currentOpenIndexes = React19.useMemo(() => {
11194
11226
  if (mode === "single") {
11195
11227
  const current = isControlled ? openIndex != null ? openIndex : null : internalSingle;
11196
11228
  return current === null ? [] : [current];
11197
11229
  }
11198
11230
  return isControlled ? normalizeMultiple(openIndexes) : internalMultiple;
11199
11231
  }, [mode, isControlled, openIndex, openIndexes, internalSingle, internalMultiple]);
11200
- const openSet = React20.useMemo(() => new Set(currentOpenIndexes), [currentOpenIndexes]);
11232
+ const openSet = React19.useMemo(() => new Set(currentOpenIndexes), [currentOpenIndexes]);
11201
11233
  function commit(nextIndexes) {
11202
11234
  if (mode === "single") {
11203
11235
  const next = nextIndexes.length ? nextIndexes[0] : null;
@@ -11226,18 +11258,26 @@ function Accordion({
11226
11258
  if (isOpen) commit(currentOpenIndexes.filter((i) => i !== index));
11227
11259
  else commit([...currentOpenIndexes, index]);
11228
11260
  }
11229
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Accordion_default.container} ${Accordion_default[size]}`, children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
11230
- AccordionRow,
11261
+ return /* @__PURE__ */ jsxRuntime.jsx(
11262
+ "div",
11231
11263
  {
11232
- uid,
11233
- index: i,
11234
- item,
11235
- isOpen: openSet.has(i),
11236
- onToggle: toggle,
11237
- shouldAnimate: hasMountedRef.current
11238
- },
11239
- i
11240
- )) });
11264
+ className: [Accordion_default.container, Accordion_default[size], variant !== "default" ? Accordion_default[variant] : ""].filter(Boolean).join(" "),
11265
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
11266
+ AccordionRow,
11267
+ {
11268
+ uid,
11269
+ index: i,
11270
+ item,
11271
+ isOpen: openSet.has(i),
11272
+ onToggle: toggle,
11273
+ shouldAnimate: hasMounted,
11274
+ headlineSize: size === "sm" ? 4 : 3,
11275
+ variant
11276
+ },
11277
+ i
11278
+ ))
11279
+ }
11280
+ );
11241
11281
  }
11242
11282
  var EmptyIllustration = () => /* @__PURE__ */ jsxRuntime.jsxs(
11243
11283
  "svg",
@@ -12451,7 +12491,7 @@ function StatePage({
12451
12491
  children,
12452
12492
  actions
12453
12493
  }) {
12454
- const illustration = React20.useMemo(() => {
12494
+ const illustration = React19.useMemo(() => {
12455
12495
  switch (type) {
12456
12496
  case "error":
12457
12497
  return /* @__PURE__ */ jsxRuntime.jsx(ErrorIllustration, {});
@@ -12487,14 +12527,14 @@ function StickyFooterLayout({
12487
12527
  className
12488
12528
  }) {
12489
12529
  const pad = `var(${chromePaddingVar})`;
12490
- const contentColRef = React20.useRef(null);
12491
- const footerOverlayRef = React20.useRef(null);
12492
- const [dock, setDock] = React20.useState({
12530
+ const contentColRef = React19.useRef(null);
12531
+ const footerOverlayRef = React19.useRef(null);
12532
+ const [dock, setDock] = React19.useState({
12493
12533
  left: 0,
12494
12534
  width: typeof maxWidth === "number" ? maxWidth : 550
12495
12535
  });
12496
- const [overlayHeight, setOverlayHeight] = React20.useState(0);
12497
- React20.useLayoutEffect(() => {
12536
+ const [overlayHeight, setOverlayHeight] = React19.useState(0);
12537
+ React19.useLayoutEffect(() => {
12498
12538
  const el = contentColRef.current;
12499
12539
  if (!el) return;
12500
12540
  const measure = () => {
@@ -12510,7 +12550,7 @@ function StickyFooterLayout({
12510
12550
  window.removeEventListener("resize", measure);
12511
12551
  };
12512
12552
  }, []);
12513
- React20.useLayoutEffect(() => {
12553
+ React19.useLayoutEffect(() => {
12514
12554
  const el = footerOverlayRef.current;
12515
12555
  if (!el) return;
12516
12556
  const measure = () => setOverlayHeight(el.getBoundingClientRect().height);
@@ -12738,6 +12778,48 @@ function Alert({
12738
12778
  );
12739
12779
  }
12740
12780
 
12781
+ // src/components/inline-status/InlineStatus.module.css
12782
+ var InlineStatus_default = {
12783
+ container: "InlineStatus_container",
12784
+ fullWidth: "InlineStatus_fullWidth",
12785
+ leading: "InlineStatus_leading",
12786
+ body: "InlineStatus_body",
12787
+ sm: "InlineStatus_sm",
12788
+ md: "InlineStatus_md",
12789
+ neutral: "InlineStatus_neutral",
12790
+ success: "InlineStatus_success",
12791
+ warning: "InlineStatus_warning",
12792
+ error: "InlineStatus_error",
12793
+ info: "InlineStatus_info",
12794
+ brand: "InlineStatus_brand"
12795
+ };
12796
+ function InlineStatus({
12797
+ children,
12798
+ severity = "neutral",
12799
+ customIcon,
12800
+ disableIcon = false,
12801
+ fullWidth = false,
12802
+ size = "sm"
12803
+ }) {
12804
+ const hasLeading = Boolean(customIcon) || !disableIcon;
12805
+ return /* @__PURE__ */ jsxRuntime.jsxs(
12806
+ "div",
12807
+ {
12808
+ className: [
12809
+ InlineStatus_default.container,
12810
+ InlineStatus_default[severity],
12811
+ InlineStatus_default[size],
12812
+ fullWidth ? InlineStatus_default.fullWidth : "",
12813
+ hasLeading ? InlineStatus_default.hasLeading : ""
12814
+ ].filter(Boolean).join(" "),
12815
+ children: [
12816
+ hasLeading ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: InlineStatus_default.leading, children: customIcon != null ? customIcon : /* @__PURE__ */ jsxRuntime.jsx(Icon, { severity }) }) : null,
12817
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: InlineStatus_default.body, children })
12818
+ ]
12819
+ }
12820
+ );
12821
+ }
12822
+
12741
12823
  exports.Accordion = Accordion;
12742
12824
  exports.Alert = Alert;
12743
12825
  exports.AppHeader = AppHeader;
@@ -12761,16 +12843,17 @@ exports.DateTimePicker = DateTimePicker;
12761
12843
  exports.Divider = Divider;
12762
12844
  exports.FadeOverlay = FadeOverlay;
12763
12845
  exports.FilterField = FilterField;
12846
+ exports.Footer = Footer;
12764
12847
  exports.Grid = Grid;
12765
12848
  exports.GridItem = GridItem;
12766
12849
  exports.Headline = Headline;
12767
12850
  exports.Hyperlink = Hyperlink;
12768
12851
  exports.Icon = Icon;
12852
+ exports.InlineStatus = InlineStatus;
12769
12853
  exports.Input = Input;
12770
12854
  exports.InputContainer = InputContainer;
12771
12855
  exports.IntervalSelect = IntervalSelect;
12772
12856
  exports.JsonViewer = JsonViewer;
12773
- exports.LayoutFooter = LayoutFooter;
12774
12857
  exports.Menu = Menu;
12775
12858
  exports.MetaBar = MetaBar;
12776
12859
  exports.Modal = Modal;