@flamingo-stack/openframe-frontend-core 0.0.712 → 0.0.714

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/{chunk-FCAVAEHF.js → chunk-2LZ3IYGT.js} +701 -620
  2. package/dist/{chunk-G3OMVCID.js → chunk-4GFAKUHF.js} +1 -1
  3. package/dist/{chunk-7NSU5EQD.cjs → chunk-5MMCYJAJ.cjs} +11 -11
  4. package/dist/{chunk-3SEEGNRE.js → chunk-AQI74KC7.js} +3 -3
  5. package/dist/{chunk-5Y72YQEK.js → chunk-BIFUUH4K.js} +3 -3
  6. package/dist/{chunk-OPYODNV2.js → chunk-DI5VLY3G.js} +1 -1
  7. package/dist/{chunk-OBZJICEA.cjs → chunk-E25A235W.cjs} +3 -3
  8. package/dist/{chunk-BXSRTBLU.cjs → chunk-EORJFB2Z.cjs} +2 -2
  9. package/dist/{chunk-T3CLXR43.cjs → chunk-GXHWSAV6.cjs} +15 -15
  10. package/dist/{chunk-EFNKS5W4.js → chunk-JHSPIDV5.js} +1 -1
  11. package/dist/{chunk-4UYKNOZG.js → chunk-KSEOIICU.js} +2 -2
  12. package/dist/{chunk-JGCFRTND.cjs → chunk-LTLHCAZY.cjs} +4 -4
  13. package/dist/{chunk-5SDELRH3.js → chunk-OQVGA3YE.js} +1 -1
  14. package/dist/{chunk-7HNYYNKE.js → chunk-QW7KTWLB.js} +2 -2
  15. package/dist/{chunk-CSCJU6YC.cjs → chunk-S66W6HNZ.cjs} +10 -10
  16. package/dist/{chunk-WWJG4GVG.cjs → chunk-U4WCFIYB.cjs} +22 -22
  17. package/dist/{chunk-RBYVFPER.js → chunk-VBDGMXZO.js} +1 -1
  18. package/dist/{chunk-N67XG5GY.js → chunk-VKIRTB7K.js} +1 -1
  19. package/dist/{chunk-3UAJLO5U.cjs → chunk-W4CS6UJS.cjs} +3 -3
  20. package/dist/{chunk-Z5SWJW5Q.cjs → chunk-WEEZSGFD.cjs} +23 -23
  21. package/dist/{chunk-UT3ODMBU.cjs → chunk-XFFIUXVI.cjs} +2 -2
  22. package/dist/{chunk-L6ZQGWCX.cjs → chunk-ZSJ6WWFH.cjs} +191 -110
  23. package/dist/{cloud-tenants-KZUZGD4A.cjs → cloud-tenants-MI7APZJD.cjs} +2 -2
  24. package/dist/{cloud-tenants-OGLVVQ7X.js → cloud-tenants-NSEVWC26.js} +1 -1
  25. package/dist/components/case-studies/index.cjs +10 -10
  26. package/dist/components/case-studies/index.js +2 -2
  27. package/dist/components/contact/index.cjs +3 -3
  28. package/dist/components/contact/index.js +2 -2
  29. package/dist/components/docs/index.cjs +5 -5
  30. package/dist/components/docs/index.js +4 -4
  31. package/dist/components/embeds/index.cjs +3 -3
  32. package/dist/components/embeds/index.js +2 -2
  33. package/dist/components/faq/index.cjs +3 -3
  34. package/dist/components/faq/index.js +2 -2
  35. package/dist/components/features/approval-level.d.ts +53 -0
  36. package/dist/components/features/approval-level.d.ts.map +1 -0
  37. package/dist/components/features/index.cjs +10 -2
  38. package/dist/components/features/index.d.ts +1 -0
  39. package/dist/components/features/index.d.ts.map +1 -1
  40. package/dist/components/features/index.js +9 -1
  41. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  42. package/dist/components/help-center-pages/index.cjs +39 -39
  43. package/dist/components/help-center-pages/index.js +10 -10
  44. package/dist/components/index.cjs +26 -18
  45. package/dist/components/index.js +16 -8
  46. package/dist/components/meeting-scheduler/index.cjs +11 -11
  47. package/dist/components/meeting-scheduler/index.js +1 -1
  48. package/dist/components/navigation/index.cjs +3 -3
  49. package/dist/components/navigation/index.js +2 -2
  50. package/dist/components/onboarding-guides/index.cjs +4 -4
  51. package/dist/components/onboarding-guides/index.js +3 -3
  52. package/dist/components/product-demo/index.cjs +6 -6
  53. package/dist/components/product-demo/index.js +6 -6
  54. package/dist/components/tickets/index.cjs +5 -5
  55. package/dist/components/tickets/index.js +4 -4
  56. package/dist/components/ui/index.cjs +2 -2
  57. package/dist/components/ui/index.js +1 -1
  58. package/dist/{devices-YGYJIXQY.cjs → devices-6NMK4EXV.cjs} +3 -3
  59. package/dist/{devices-LBMG42K6.js → devices-W3VKQEVZ.js} +1 -1
  60. package/dist/index.cjs +11 -3
  61. package/dist/index.js +10 -2
  62. package/dist/{knowledge-KTCVJIWN.cjs → knowledge-GDMGHFEC.cjs} +2 -2
  63. package/dist/{knowledge-H5BIWJVI.js → knowledge-YWCB7HNC.js} +1 -1
  64. package/dist/{logs-RVCC2UQW.cjs → logs-7QDRV3GN.cjs} +10 -10
  65. package/dist/{logs-DB5Z7M5Q.js → logs-E742S5A2.js} +1 -1
  66. package/dist/{policies-HV4IQCBV.cjs → policies-BEVF6AEM.cjs} +6 -6
  67. package/dist/{policies-EWUULFBR.js → policies-XTPAKRHI.js} +1 -1
  68. package/dist/{software-update-6PXKRKBT.js → software-update-FXWIEKSW.js} +1 -1
  69. package/dist/{software-update-D4OVSWSG.cjs → software-update-KPHX4XQ7.cjs} +6 -6
  70. package/package.json +1 -1
  71. package/src/components/features/approval-level.tsx +153 -0
  72. package/src/components/features/index.ts +1 -0
  73. package/src/components/features/policy-configuration-panel.tsx +3 -12
@@ -314,6 +314,8 @@ var _chunkLLSUVPQCcjs = require('./chunk-LLSUVPQC.cjs');
314
314
 
315
315
 
316
316
 
317
+
318
+
317
319
 
318
320
 
319
321
 
@@ -25354,23 +25356,98 @@ function ViewToggle({
25354
25356
  );
25355
25357
  }
25356
25358
 
25359
+ // src/components/features/approval-level.tsx
25360
+
25361
+ var APPROVAL_LEVELS = ["ALLOW", "DENY", "ASK_TECHNICIAN", "ASK_USER"];
25362
+ var APPROVAL_LEVEL_META = {
25363
+ ALLOW: {
25364
+ label: "Allow",
25365
+ hint: "Runs on its own. You get a summary after.",
25366
+ Icon: _chunkVX4E6YSBcjs.CheckCircleIcon,
25367
+ toneClassName: "text-ods-success"
25368
+ },
25369
+ ASK_USER: {
25370
+ label: "Ask User",
25371
+ hint: "Asks the person at the computer first.",
25372
+ Icon: _chunkVX4E6YSBcjs.UserIcon,
25373
+ toneClassName: "text-ods-warning"
25374
+ },
25375
+ ASK_TECHNICIAN: {
25376
+ label: "Ask Technician",
25377
+ hint: "Asks a technician first. Nothing runs until they approve.",
25378
+ Icon: _chunkVX4E6YSBcjs.HeadsetIcon,
25379
+ toneClassName: "text-ods-warning"
25380
+ },
25381
+ DENY: { label: "Restrict", hint: "Never runs.", Icon: _chunkVX4E6YSBcjs.BannedIcon, toneClassName: "text-ods-error" }
25382
+ };
25383
+ var ICON_PX = 16;
25384
+ function ApprovalLevelMark({ level, iconOnly = false, className }) {
25385
+ const { label, hint, Icon, toneClassName } = APPROVAL_LEVEL_META[level];
25386
+ const mark = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex items-center gap-[var(--spacing-system-xxs)] text-h6", toneClassName, className), children: [
25387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: ICON_PX, className: "shrink-0", "aria-hidden": true }),
25388
+ iconOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: label }) : label
25389
+ ] });
25390
+ return iconOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4HJRHEXDcjs.TouchFriendlyTooltip, { content: `${label}: ${hint}`, side: "top", children: mark }) : mark;
25391
+ }
25392
+ function ApprovalLevelControl({
25393
+ value,
25394
+ onChange,
25395
+ "aria-labelledby": labelledBy,
25396
+ showLabel = true,
25397
+ disabled = false,
25398
+ className
25399
+ }) {
25400
+ const current = APPROVAL_LEVEL_META[value];
25401
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex shrink-0 items-center gap-[var(--spacing-system-sf)]", className), children: [
25402
+ showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "whitespace-nowrap text-h6", current.toneClassName), children: current.label }),
25403
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFFT56TYBcjs.TooltipProvider, { delayDuration: 150, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25404
+ ToggleGroup,
25405
+ {
25406
+ type: "single",
25407
+ variant: "outline",
25408
+ size: "sm",
25409
+ value,
25410
+ disabled,
25411
+ onValueChange: (next) => {
25412
+ if (next && next !== value) onChange(next);
25413
+ },
25414
+ "aria-labelledby": labelledBy,
25415
+ children: APPROVAL_LEVELS.map((level) => {
25416
+ const { label, hint, Icon, toneClassName } = APPROVAL_LEVEL_META[level];
25417
+ return (
25418
+ // A plain tooltip (hover and keyboard focus): a tap must SELECT the level, and on
25419
+ // touch the name beside the group says what is in force.
25420
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFFT56TYBcjs.Tooltip, { children: [
25421
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFFT56TYBcjs.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25422
+ ToggleGroupItem,
25423
+ {
25424
+ value: level,
25425
+ "aria-label": label,
25426
+ className: _chunk3ATAYP36cjs.cn.call(void 0, "px-2", level === value && toneClassName),
25427
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: ICON_PX, "aria-hidden": true })
25428
+ }
25429
+ ) }),
25430
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFFT56TYBcjs.TooltipContent, { side: "top", className: "max-w-xs", children: [
25431
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: label }),
25432
+ ": ",
25433
+ hint
25434
+ ] })
25435
+ ] }, level)
25436
+ );
25437
+ })
25438
+ }
25439
+ ) })
25440
+ ] });
25441
+ }
25442
+
25357
25443
  // src/components/features/policy-configuration-panel.tsx
25358
25444
 
25359
25445
 
25360
25446
 
25361
- var approvalLevelLabels = {
25362
- ALLOW: "Allow",
25363
- ASK_USER: "Ask User",
25364
- ASK_TECHNICIAN: "Ask Technician",
25365
- DENY: "Restrict"
25366
- };
25367
- var approvalLevelOptions = Object.keys(approvalLevelLabels).map((value) => ({
25368
- value,
25369
- label: approvalLevelLabels[value]
25370
- }));
25447
+ var approvalLevelOptions = APPROVAL_LEVELS.map((value) => ({ value, label: APPROVAL_LEVEL_META[value].label }));
25371
25448
  var POLICY_LEVEL_WIDTH = "w-[180px]";
25372
25449
  var CATEGORY_LEVEL_WIDTH = "w-[256px]";
25373
- var getApprovalLevelLabel = (level) => _nullishCoalesce(approvalLevelLabels[level], () => ( level));
25450
+ var getApprovalLevelLabel = (level) => _nullishCoalesce(_optionalChain([APPROVAL_LEVEL_META, 'access', _519 => _519[level], 'optionalAccess', _520 => _520.label]), () => ( level));
25374
25451
  var ApprovalLevelDropdown = ({ value, onChange, allowClear = false, triggerClassName, contentClassName }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenu, { children: [
25375
25452
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2Y7QZAB2cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25376
25453
  _chunkDFQYAYBHcjs.Button,
@@ -25767,7 +25844,7 @@ var POLICY_STATUS_CONFIG = {
25767
25844
  };
25768
25845
  function missingHostCount(policy) {
25769
25846
  const responded = policy.passing_host_count + policy.failing_host_count;
25770
- return (_nullishCoalesce(_optionalChain([policy, 'access', _519 => _519.hosts_include_any, 'optionalAccess', _520 => _520.length]), () => ( 0))) - responded;
25847
+ return (_nullishCoalesce(_optionalChain([policy, 'access', _521 => _521.hosts_include_any, 'optionalAccess', _522 => _522.length]), () => ( 0))) - responded;
25771
25848
  }
25772
25849
  function getPolicyStatus(policy) {
25773
25850
  const failing = policy.failing_host_count;
@@ -26365,19 +26442,19 @@ function NotificationsProvider({
26365
26442
  }, []);
26366
26443
  const markRead = _react.useCallback.call(void 0, (id) => {
26367
26444
  dispatch({ type: "markRead", id });
26368
- void _optionalChain([actionsRef, 'access', _521 => _521.current, 'optionalAccess', _522 => _522.onMarkRead, 'optionalCall', _523 => _523(id)]);
26445
+ void _optionalChain([actionsRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.onMarkRead, 'optionalCall', _525 => _525(id)]);
26369
26446
  }, []);
26370
26447
  const markAllRead = _react.useCallback.call(void 0, () => {
26371
26448
  dispatch({ type: "markAllRead" });
26372
- void _optionalChain([actionsRef, 'access', _524 => _524.current, 'optionalAccess', _525 => _525.onMarkAllRead, 'optionalCall', _526 => _526()]);
26449
+ void _optionalChain([actionsRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.onMarkAllRead, 'optionalCall', _528 => _528()]);
26373
26450
  }, []);
26374
26451
  const markSettled = _react.useCallback.call(void 0, (id) => {
26375
26452
  dispatch({ type: "markSettled", id });
26376
- void _optionalChain([actionsRef, 'access', _527 => _527.current, 'optionalAccess', _528 => _528.onMarkSettled, 'optionalCall', _529 => _529(id)]);
26453
+ void _optionalChain([actionsRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.onMarkSettled, 'optionalCall', _531 => _531(id)]);
26377
26454
  }, []);
26378
26455
  const remove = _react.useCallback.call(void 0, (id) => {
26379
26456
  dispatch({ type: "remove", id });
26380
- void _optionalChain([actionsRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.onRemove, 'optionalCall', _532 => _532(id)]);
26457
+ void _optionalChain([actionsRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.onRemove, 'optionalCall', _534 => _534(id)]);
26381
26458
  }, []);
26382
26459
  const clear = _react.useCallback.call(void 0, () => dispatch({ type: "clear" }), []);
26383
26460
  const open = _react.useCallback.call(void 0, () => setIsOpen(true), []);
@@ -26386,14 +26463,14 @@ function NotificationsProvider({
26386
26463
  const setShowPopups = _react.useCallback.call(void 0,
26387
26464
  (value2) => {
26388
26465
  setShowPopupsState(value2);
26389
- _optionalChain([onShowPopupsChange, 'optionalCall', _533 => _533(value2)]);
26466
+ _optionalChain([onShowPopupsChange, 'optionalCall', _535 => _535(value2)]);
26390
26467
  },
26391
26468
  [onShowPopupsChange]
26392
26469
  );
26393
26470
  const setShowDesktopPopups = _react.useCallback.call(void 0,
26394
26471
  (value2) => {
26395
26472
  setShowDesktopPopupsState(value2);
26396
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _534 => _534(value2)]);
26473
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _536 => _536(value2)]);
26397
26474
  },
26398
26475
  [onShowDesktopPopupsChange]
26399
26476
  );
@@ -26509,7 +26586,7 @@ var AppLayoutDrawerRoot = ({
26509
26586
  const handleOpenChange = _react.useCallback.call(void 0,
26510
26587
  (next) => {
26511
26588
  if (!isControlled) setInternalOpen(next);
26512
- _optionalChain([onOpenChange, 'optionalCall', _535 => _535(next)]);
26589
+ _optionalChain([onOpenChange, 'optionalCall', _537 => _537(next)]);
26513
26590
  },
26514
26591
  [isControlled, onOpenChange]
26515
26592
  );
@@ -26526,9 +26603,9 @@ var AppLayoutDrawerRoot = ({
26526
26603
  }
26527
26604
  }));
26528
26605
  _react.useEffect.call(void 0, () => {
26529
- if (open) _optionalChain([coordination, 'optionalAccess', _536 => _536.notifyDrawerDidOpen, 'call', _537 => _537(selfHandle)]);
26606
+ if (open) _optionalChain([coordination, 'optionalAccess', _538 => _538.notifyDrawerDidOpen, 'call', _539 => _539(selfHandle)]);
26530
26607
  }, [open, coordination, selfHandle]);
26531
- _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _538 => _538.registerDrawer, 'call', _539 => _539(selfHandle)]), [coordination, selfHandle]);
26608
+ _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _540 => _540.registerDrawer, 'call', _541 => _541(selfHandle)]), [coordination, selfHandle]);
26532
26609
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOpenContext.Provider, { value: open, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Root, { ...rest, open, onOpenChange: handleOpenChange, modal, children }) });
26533
26610
  };
26534
26611
  AppLayoutDrawerRoot.displayName = "AppLayoutDrawer";
@@ -26750,10 +26827,10 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26750
26827
  ),
26751
26828
  style,
26752
26829
  onInteractOutside: (event) => {
26753
- _optionalChain([onInteractOutside, 'optionalCall', _540 => _540(event)]);
26830
+ _optionalChain([onInteractOutside, 'optionalCall', _542 => _542(event)]);
26754
26831
  if (event.defaultPrevented) return;
26755
26832
  const target = event.target;
26756
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _541 => _541.contains, 'call', _542 => _542(target)]);
26833
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _543 => _543.contains, 'call', _544 => _544(target)]);
26757
26834
  if (!isInsideContainer) {
26758
26835
  event.preventDefault();
26759
26836
  return;
@@ -26869,7 +26946,7 @@ function NotificationTile({
26869
26946
  if (!counting) return void 0;
26870
26947
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
26871
26948
  const timer = window.setTimeout(() => {
26872
- _optionalChain([onSettle, 'optionalCall', _543 => _543(id)]);
26949
+ _optionalChain([onSettle, 'optionalCall', _545 => _545(id)]);
26873
26950
  }, remaining);
26874
26951
  return () => window.clearTimeout(timer);
26875
26952
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -26920,7 +26997,7 @@ function NotificationTile({
26920
26997
  active: isLive,
26921
26998
  label: "Dismiss notification",
26922
26999
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.XmarkIcon, { size: 16 }),
26923
- onClick: () => _optionalChain([onSettle, 'optionalCall', _544 => _544(id)])
27000
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _546 => _546(id)])
26924
27001
  },
26925
27002
  {
26926
27003
  active: !isLive,
@@ -27118,7 +27195,7 @@ function DrawerScrollList({
27118
27195
  if (!sentinel || !root) return void 0;
27119
27196
  const observer = new IntersectionObserver(
27120
27197
  (entries) => {
27121
- if (_optionalChain([entries, 'access', _545 => _545[0], 'optionalAccess', _546 => _546.isIntersecting])) _optionalChain([loadMoreRef, 'access', _547 => _547.current, 'optionalCall', _548 => _548()]);
27198
+ if (_optionalChain([entries, 'access', _547 => _547[0], 'optionalAccess', _548 => _548.isIntersecting])) _optionalChain([loadMoreRef, 'access', _549 => _549.current, 'optionalCall', _550 => _550()]);
27122
27199
  },
27123
27200
  { root, rootMargin: loadMoreRootMargin }
27124
27201
  );
@@ -27133,7 +27210,7 @@ function DrawerScrollList({
27133
27210
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
27134
27211
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27135
27212
  unreadNotifications.map((n) => {
27136
- const custom = _optionalChain([renderTile, 'optionalCall', _549 => _549(n, { onComplete, onSettle, liveDurationMs })]);
27213
+ const custom = _optionalChain([renderTile, 'optionalCall', _551 => _551(n, { onComplete, onSettle, liveDurationMs })]);
27137
27214
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
27138
27215
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27139
27216
  NotificationTile,
@@ -27253,7 +27330,7 @@ function NotificationPopups({
27253
27330
  }) {
27254
27331
  const ctx = useOptionalNotifications();
27255
27332
  const [now, setNow] = _react.useState.call(void 0, () => Date.now());
27256
- const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _550 => _550.notifications, 'access', _551 => _551.some, 'call', _552 => _552((n) => !n.read && !n.settled)]));
27333
+ const hasAgeingNotifications = Boolean(_optionalChain([ctx, 'optionalAccess', _552 => _552.notifications, 'access', _553 => _553.some, 'call', _554 => _554((n) => !n.read && !n.settled)]));
27257
27334
  _react.useEffect.call(void 0, () => {
27258
27335
  if (!hasAgeingNotifications) return void 0;
27259
27336
  const id = setInterval(() => setNow(Date.now()), 500);
@@ -27296,7 +27373,7 @@ function NotificationPopups({
27296
27373
  className
27297
27374
  ),
27298
27375
  children: live.map((n) => {
27299
- const custom = _optionalChain([renderTile, 'optionalCall', _553 => _553(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
27376
+ const custom = _optionalChain([renderTile, 'optionalCall', _555 => _555(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
27300
27377
  if (custom) {
27301
27378
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
27302
27379
  }
@@ -27343,21 +27420,21 @@ function isApprovalNotificationType(type) {
27343
27420
  return typeof type === "string" && APPROVAL_REQUEST_TYPES.has(type);
27344
27421
  }
27345
27422
  function isApprovalNotification(notification) {
27346
- return isApprovalNotificationType(_optionalChain([notification, 'access', _554 => _554.meta, 'optionalAccess', _555 => _555.notificationType]));
27423
+ return isApprovalNotificationType(_optionalChain([notification, 'access', _556 => _556.meta, 'optionalAccess', _557 => _557.notificationType]));
27347
27424
  }
27348
27425
  function getApprovalMeta(notification) {
27349
27426
  if (!isApprovalNotification(notification)) return null;
27350
27427
  const meta = notification.meta;
27351
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _556 => _556.approvalRequestId]);
27352
- const toolCalls = _optionalChain([meta, 'optionalAccess', _557 => _557.toolCalls]);
27428
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _558 => _558.approvalRequestId]);
27429
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _559 => _559.toolCalls]);
27353
27430
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
27354
27431
  return {
27355
27432
  approvalRequestId,
27356
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _558 => _558.dialogId]), () => ( null)),
27357
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _559 => _559.ticketId]), () => ( null)),
27358
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _560 => _560.approvalType]), () => ( null)),
27359
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _561 => _561.resolution]), () => ( null)),
27360
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _562 => _562.resolvedByName]), () => ( null)),
27433
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _560 => _560.dialogId]), () => ( null)),
27434
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _561 => _561.ticketId]), () => ( null)),
27435
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _562 => _562.approvalType]), () => ( null)),
27436
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _563 => _563.resolution]), () => ( null)),
27437
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _564 => _564.resolvedByName]), () => ( null)),
27361
27438
  toolCalls
27362
27439
  };
27363
27440
  }
@@ -27413,7 +27490,7 @@ function ApprovalRequestNotificationTile({
27413
27490
  const [processing, setProcessing] = _react.useState.call(void 0, false);
27414
27491
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
27415
27492
  const approval = getApprovalMeta(notification);
27416
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _563 => _563.resolution]));
27493
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _565 => _565.resolution]));
27417
27494
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
27418
27495
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
27419
27496
  const { innerRef, containerStyle } = _chunkKT3U3ZRPcjs.useCollapsible.call(void 0, { expanded });
@@ -27750,7 +27827,7 @@ function TimeTrackerPanel({
27750
27827
  error: showFieldError ? "Required if no notes added" : void 0,
27751
27828
  disableClientFilter: !!onTicketSearch,
27752
27829
  onInputChange: (value, reason) => {
27753
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _564 => _564(value)]);
27830
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _566 => _566(value)]);
27754
27831
  }
27755
27832
  }
27756
27833
  ),
@@ -27765,7 +27842,7 @@ function TimeTrackerPanel({
27765
27842
  disabled: customerLocked,
27766
27843
  disableClientFilter: !!onCustomerSearch,
27767
27844
  onInputChange: (value, reason) => {
27768
- if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _565 => _565(value)]);
27845
+ if (reason === "input") _optionalChain([onCustomerSearch, 'optionalCall', _567 => _567(value)]);
27769
27846
  },
27770
27847
  startAdornment: customerStartAdornment,
27771
27848
  renderOption: renderCustomerOption
@@ -27867,7 +27944,7 @@ function LastEntryRow({ entry, onClick }) {
27867
27944
  {
27868
27945
  variant: "outline",
27869
27946
  size: "icon",
27870
- onClick: () => _optionalChain([onClick, 'optionalCall', _566 => _566(entry)]),
27947
+ onClick: () => _optionalChain([onClick, 'optionalCall', _568 => _568(entry)]),
27871
27948
  disabled: !onClick,
27872
27949
  "aria-label": `Open entry: ${entry.title}`,
27873
27950
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -27951,28 +28028,28 @@ function HeaderButton({
27951
28028
  function TimeTrackerHeaderButton({ className, disabled }) {
27952
28029
  const ctx = useOptionalTimeTracker();
27953
28030
  const elapsedLabel = useTrackerClock({
27954
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _567 => _567.status]), () => ( "ready")),
27955
- runningSince: _optionalChain([ctx, 'optionalAccess', _568 => _568.runningSince]),
27956
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _569 => _569.accumulatedMs])
28031
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _569 => _569.status]), () => ( "ready")),
28032
+ runningSince: _optionalChain([ctx, 'optionalAccess', _570 => _570.runningSince]),
28033
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _571 => _571.accumulatedMs])
27957
28034
  });
27958
28035
  const layoutContainer = useAppLayoutDrawerContainer();
27959
28036
  const coordination = useAppLayoutDrawerCoordination();
27960
- const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _570 => _570.isOpen]), () => ( false));
28037
+ const isOpen = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _572 => _572.isOpen]), () => ( false));
27961
28038
  const isOpenRef = _react.useRef.call(void 0, isOpen);
27962
- const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _571 => _571.close]));
28039
+ const closeRef = _react.useRef.call(void 0, _optionalChain([ctx, 'optionalAccess', _573 => _573.close]));
27963
28040
  _react.useEffect.call(void 0, () => {
27964
28041
  isOpenRef.current = isOpen;
27965
- closeRef.current = _optionalChain([ctx, 'optionalAccess', _572 => _572.close]);
28042
+ closeRef.current = _optionalChain([ctx, 'optionalAccess', _574 => _574.close]);
27966
28043
  });
27967
28044
  const [selfHandle] = _react.useState.call(void 0, () => ({
27968
28045
  close: () => {
27969
- if (isOpenRef.current) _optionalChain([closeRef, 'access', _573 => _573.current, 'optionalCall', _574 => _574()]);
28046
+ if (isOpenRef.current) _optionalChain([closeRef, 'access', _575 => _575.current, 'optionalCall', _576 => _576()]);
27970
28047
  }
27971
28048
  }));
27972
28049
  _react.useEffect.call(void 0, () => {
27973
- if (isOpen) _optionalChain([coordination, 'optionalAccess', _575 => _575.notifyDrawerDidOpen, 'call', _576 => _576(selfHandle)]);
28050
+ if (isOpen) _optionalChain([coordination, 'optionalAccess', _577 => _577.notifyDrawerDidOpen, 'call', _578 => _578(selfHandle)]);
27974
28051
  }, [isOpen, coordination, selfHandle]);
27975
- _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _577 => _577.registerDrawer, 'call', _578 => _578(selfHandle)]), [coordination, selfHandle]);
28052
+ _react.useEffect.call(void 0, () => _optionalChain([coordination, 'optionalAccess', _579 => _579.registerDrawer, 'call', _580 => _580(selfHandle)]), [coordination, selfHandle]);
27976
28053
  if (!ctx) return null;
27977
28054
  const { open, close, status } = ctx;
27978
28055
  const isPaused = status === "paused";
@@ -28050,12 +28127,12 @@ function formatLastOnline(lastSeen) {
28050
28127
 
28051
28128
  // src/components/features/devices/device-name.ts
28052
28129
  function getDeviceName(device) {
28053
- return _optionalChain([device, 'optionalAccess', _579 => _579.nickname]) || _optionalChain([device, 'optionalAccess', _580 => _580.displayName]) || _optionalChain([device, 'optionalAccess', _581 => _581.hostname]) || "";
28130
+ return _optionalChain([device, 'optionalAccess', _581 => _581.nickname]) || _optionalChain([device, 'optionalAccess', _582 => _582.displayName]) || _optionalChain([device, 'optionalAccess', _583 => _583.hostname]) || "";
28054
28131
  }
28055
28132
  function matchesDeviceName(device, search = "") {
28056
28133
  const needle = search.trim().toLowerCase();
28057
28134
  if (!needle) return true;
28058
- return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess', _582 => _582.hostname]), () => ( ""))).toLowerCase().includes(needle);
28135
+ return getDeviceName(device).toLowerCase().includes(needle) || (_nullishCoalesce(_optionalChain([device, 'optionalAccess', _584 => _584.hostname]), () => ( ""))).toLowerCase().includes(needle);
28059
28136
  }
28060
28137
 
28061
28138
  // src/components/features/devices/devices-view-config.tsx
@@ -28248,7 +28325,7 @@ var HIDDEN_DEVICE_STATUSES = [DEVICE_STATUS.ARCHIVED, DEVICE_STATUS.DELETED];
28248
28325
 
28249
28326
  var DEFAULT_CLASS_NAME = "w-6 h-6 text-ods-text-secondary";
28250
28327
  function renderDeviceTypeIcon(type, className = DEFAULT_CLASS_NAME) {
28251
- switch (_optionalChain([type, 'optionalAccess', _583 => _583.toLowerCase, 'call', _584 => _584()])) {
28328
+ switch (_optionalChain([type, 'optionalAccess', _585 => _585.toLowerCase, 'call', _586 => _586()])) {
28252
28329
  case "desktop":
28253
28330
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRDW5JAMEcjs.MonitorIcon, { className });
28254
28331
  case "laptop":
@@ -28390,7 +28467,7 @@ function getDeviceActionsColumn(renderRowActions) {
28390
28467
  }
28391
28468
  function OpenDeviceButton({ device }) {
28392
28469
  const { getDeviceHref } = useDevicesViewConfig();
28393
- const href = _optionalChain([getDeviceHref, 'optionalCall', _585 => _585(device)]);
28470
+ const href = _optionalChain([getDeviceHref, 'optionalCall', _587 => _587(device)]);
28394
28471
  const open = (event) => {
28395
28472
  event.preventDefault();
28396
28473
  if (href) window.open(href, "_blank", "noopener,noreferrer");
@@ -28481,10 +28558,10 @@ function OrganizationCell({ device }) {
28481
28558
  ] });
28482
28559
  }
28483
28560
  function buildDeviceFilterOptions(deviceFilters) {
28484
- const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _586 => _586.statuses]), () => ( []))).filter((s) => DEFAULT_VISIBLE_STATUSES.includes(s.value)).map((s) => ({ id: s.value, label: getDeviceStatusConfig(s.value).label, value: s.value, count: s.count }));
28485
- const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _587 => _587.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28561
+ const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _588 => _588.statuses]), () => ( []))).filter((s) => DEFAULT_VISIBLE_STATUSES.includes(s.value)).map((s) => ({ id: s.value, label: getDeviceStatusConfig(s.value).label, value: s.value, count: s.count }));
28562
+ const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _589 => _589.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28486
28563
  const organization = uniqueById(
28487
- (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _588 => _588.organizationIds]), () => ( []))).map((org) => ({
28564
+ (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _590 => _590.organizationIds]), () => ( []))).map((org) => ({
28488
28565
  id: org.value,
28489
28566
  label: org.label,
28490
28567
  value: org.value,
@@ -28578,7 +28655,7 @@ function isCompleteTag(tag) {
28578
28655
  const i = tag.indexOf(":");
28579
28656
  return i > 0 && i < tag.length - 1;
28580
28657
  }
28581
- var scrollMainToTop = () => _optionalChain([document, 'access', _589 => _589.querySelector, 'call', _590 => _590("main"), 'optionalAccess', _591 => _591.scrollTo, 'call', _592 => _592({ top: 0, behavior: "instant" })]);
28658
+ var scrollMainToTop = () => _optionalChain([document, 'access', _591 => _591.querySelector, 'call', _592 => _592("main"), 'optionalAccess', _593 => _593.scrollTo, 'call', _594 => _594({ top: 0, behavior: "instant" })]);
28582
28659
  function useTagFilterModal({
28583
28660
  tags,
28584
28661
  deviceFilters,
@@ -28600,7 +28677,7 @@ function useTagFilterModal({
28600
28677
  }));
28601
28678
  }, [columns, isMdUp]);
28602
28679
  const tagFilterKeys = _react.useMemo.call(void 0, () => {
28603
- if (!_optionalChain([deviceFilters, 'optionalAccess', _593 => _593.tagKeys])) return [];
28680
+ if (!_optionalChain([deviceFilters, 'optionalAccess', _595 => _595.tagKeys])) return [];
28604
28681
  const grouped = /* @__PURE__ */ new Map();
28605
28682
  for (const tag of deviceFilters.tagKeys) {
28606
28683
  if (tag.key === "null") continue;
@@ -28768,7 +28845,7 @@ function DeviceSelector({
28768
28845
  const clientToggleDevice = _react.useCallback.call(void 0,
28769
28846
  (device) => {
28770
28847
  if (disabled) return;
28771
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _594 => _594(device)])) return;
28848
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _596 => _596(device)])) return;
28772
28849
  const key = getDeviceKey(device);
28773
28850
  if (key === void 0) return;
28774
28851
  const current = selectedIdsRef.current;
@@ -28793,7 +28870,7 @@ function DeviceSelector({
28793
28870
  return;
28794
28871
  }
28795
28872
  if (disabled) return;
28796
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _595 => _595(device)])) return;
28873
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _597 => _597(device)])) return;
28797
28874
  if (server.activeTab === "selected") {
28798
28875
  server.onRemove(device);
28799
28876
  return;
@@ -28854,7 +28931,7 @@ function DeviceSelector({
28854
28931
  const base = addAllBehavior === "replace" ? /* @__PURE__ */ new Set() : new Set(selectedIds);
28855
28932
  for (const d of client.filteredDevices) {
28856
28933
  if (!matchesVisibleFilters(d)) continue;
28857
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _596 => _596(d)])) continue;
28934
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _598 => _598(d)])) continue;
28858
28935
  const key = getDeviceKey(d);
28859
28936
  if (key !== void 0) {
28860
28937
  base.add(key);
@@ -28883,7 +28960,7 @@ function DeviceSelector({
28883
28960
  const orgKey = _nullishCoalesce(d.organizationId, () => ( d.organization));
28884
28961
  if (orgKey) {
28885
28962
  const existing = orgCounts.get(orgKey);
28886
- orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _597 => _597.count]), () => ( 0))) + 1 });
28963
+ orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _599 => _599.count]), () => ( 0))) + 1 });
28887
28964
  }
28888
28965
  for (const tag of _nullishCoalesce(d.tags, () => ( []))) {
28889
28966
  const vc = _nullishCoalesce(tagSeen.get(tag.key), () => ( /* @__PURE__ */ new Map()));
@@ -28906,18 +28983,18 @@ function DeviceSelector({
28906
28983
  filteredCount: devices.length
28907
28984
  };
28908
28985
  }, [devices]);
28909
- const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _598 => _598.filterOptions]), () => ( clientDeviceFilters));
28910
- const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _599 => _599.filterOptions]));
28986
+ const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _600 => _600.filterOptions]), () => ( clientDeviceFilters));
28987
+ const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _601 => _601.filterOptions]));
28911
28988
  const filterColumns = _react.useMemo.call(void 0, () => {
28912
28989
  const columns2 = getDeviceFilterColumns(deviceFilters);
28913
28990
  if (serverFaceted) return columns2;
28914
28991
  return columns2.map((column) => ({
28915
28992
  ...column,
28916
- filterOptions: _optionalChain([column, 'access', _600 => _600.filterOptions, 'optionalAccess', _601 => _601.map, 'call', _602 => _602(({ count: _count, ...option }) => option)])
28993
+ filterOptions: _optionalChain([column, 'access', _602 => _602.filterOptions, 'optionalAccess', _603 => _603.map, 'call', _604 => _604(({ count: _count, ...option }) => option)])
28917
28994
  }));
28918
28995
  }, [deviceFilters, serverFaceted]);
28919
28996
  const statusFilterOptions = _react.useMemo.call(void 0, () => {
28920
- const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _603 => _603.find, 'call', _604 => _604((column) => column.key === "status"), 'optionalAccess', _605 => _605.filterOptions]), () => ( []));
28997
+ const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _605 => _605.find, 'call', _606 => _606((column) => column.key === "status"), 'optionalAccess', _607 => _607.filterOptions]), () => ( []));
28921
28998
  return [...options].sort((a, b) => {
28922
28999
  if (a.value === DEVICE_STATUS.ARCHIVED) return 1;
28923
29000
  if (b.value === DEVICE_STATUS.ARCHIVED) return -1;
@@ -28925,15 +29002,15 @@ function DeviceSelector({
28925
29002
  });
28926
29003
  }, [filterColumns]);
28927
29004
  const orgFilterOptions = _react.useMemo.call(void 0,
28928
- () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _606 => _606.find, 'call', _607 => _607((column) => column.key === "organization"), 'optionalAccess', _608 => _608.filterOptions]), () => ( [])),
29005
+ () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _608 => _608.find, 'call', _609 => _609((column) => column.key === "organization"), 'optionalAccess', _610 => _610.filterOptions]), () => ( [])),
28929
29006
  [filterColumns]
28930
29007
  );
28931
29008
  const handleSetParams = _react.useCallback.call(void 0,
28932
29009
  (params) => {
28933
29010
  setColumnFilters([
28934
- ..._optionalChain([params, 'access', _609 => _609.statuses, 'optionalAccess', _610 => _610.length]) ? [{ id: "status", value: params.statuses }] : [],
28935
- ..._optionalChain([params, 'access', _611 => _611.osTypes, 'optionalAccess', _612 => _612.length]) ? [{ id: "os", value: params.osTypes }] : [],
28936
- ..._optionalChain([params, 'access', _613 => _613.organizationIds, 'optionalAccess', _614 => _614.length]) ? [{ id: "organization", value: params.organizationIds }] : []
29011
+ ..._optionalChain([params, 'access', _611 => _611.statuses, 'optionalAccess', _612 => _612.length]) ? [{ id: "status", value: params.statuses }] : [],
29012
+ ..._optionalChain([params, 'access', _613 => _613.osTypes, 'optionalAccess', _614 => _614.length]) ? [{ id: "os", value: params.osTypes }] : [],
29013
+ ..._optionalChain([params, 'access', _615 => _615.organizationIds, 'optionalAccess', _616 => _616.length]) ? [{ id: "organization", value: params.organizationIds }] : []
28937
29014
  ]);
28938
29015
  setSelectedTags(_nullishCoalesce(params.tags, () => ( [])));
28939
29016
  },
@@ -28957,9 +29034,9 @@ function DeviceSelector({
28957
29034
  const tagOptions = _react.useMemo.call(void 0, () => selectedTags.map((t) => ({ label: t, value: t })), [selectedTags]);
28958
29035
  const tableFilters = _react.useMemo.call(void 0,
28959
29036
  () => ({
28960
- status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _615 => _615.find, 'call', _616 => _616((f) => f.id === "status"), 'optionalAccess', _617 => _617.value]), () => ( [])),
28961
- os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _618 => _618.find, 'call', _619 => _619((f) => f.id === "os"), 'optionalAccess', _620 => _620.value]), () => ( [])),
28962
- organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _621 => _621.find, 'call', _622 => _622((f) => f.id === "organization"), 'optionalAccess', _623 => _623.value]), () => ( []))
29037
+ status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _617 => _617.find, 'call', _618 => _618((f) => f.id === "status"), 'optionalAccess', _619 => _619.value]), () => ( [])),
29038
+ os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _620 => _620.find, 'call', _621 => _621((f) => f.id === "os"), 'optionalAccess', _622 => _622.value]), () => ( [])),
29039
+ organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _623 => _623.find, 'call', _624 => _624((f) => f.id === "organization"), 'optionalAccess', _625 => _625.value]), () => ( []))
28963
29040
  }),
28964
29041
  [columnFilters]
28965
29042
  );
@@ -29042,7 +29119,7 @@ function DeviceSelector({
29042
29119
  id: "actions",
29043
29120
  cell: ({ row }) => {
29044
29121
  const device = row.original;
29045
- const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _624 => _624(device)]);
29122
+ const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _626 => _626(device)]);
29046
29123
  if (disabledReason) {
29047
29124
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex w-full items-center justify-end gap-2", children: [
29048
29125
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-pre-line text-right text-ods-text-secondary text-h6 content-max-md:hidden", children: disabledReason }),
@@ -29173,7 +29250,7 @@ function DeviceSelector({
29173
29250
  showHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29174
29251
  DataTable.Header,
29175
29252
  {
29176
- rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _625 => _625.totalCount]))) })))
29253
+ rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _627 => _627.totalCount]))) })))
29177
29254
  }
29178
29255
  ),
29179
29256
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29264,7 +29341,7 @@ function DeviceSelectorSkeleton(props) {
29264
29341
  // src/components/features/devices/device-selector/narrowing.ts
29265
29342
  var EMPTY_NARROWING = { columnFilters: [], tags: [] };
29266
29343
  function narrowingToFilter(narrowing) {
29267
- const column = (id) => _optionalChain([narrowing, 'access', _626 => _626.columnFilters, 'access', _627 => _627.find, 'call', _628 => _628((f) => f.id === id), 'optionalAccess', _629 => _629.value]);
29344
+ const column = (id) => _optionalChain([narrowing, 'access', _628 => _628.columnFilters, 'access', _629 => _629.find, 'call', _630 => _630((f) => f.id === id), 'optionalAccess', _631 => _631.value]);
29268
29345
  const tagPairs = narrowing.tags.flatMap((t) => {
29269
29346
  const i = t.indexOf(":");
29270
29347
  return i > 0 ? [{ key: t.slice(0, i), value: t.slice(i + 1) }] : [];
@@ -29273,9 +29350,9 @@ function narrowingToFilter(narrowing) {
29273
29350
  const statuses = column("status");
29274
29351
  const osTypes = column("os");
29275
29352
  const organizationIds = column("organization");
29276
- if (_optionalChain([statuses, 'optionalAccess', _630 => _630.length])) filter.statuses = statuses;
29277
- if (_optionalChain([osTypes, 'optionalAccess', _631 => _631.length])) filter.osTypes = osTypes;
29278
- if (_optionalChain([organizationIds, 'optionalAccess', _632 => _632.length])) filter.organizationIds = organizationIds;
29353
+ if (_optionalChain([statuses, 'optionalAccess', _632 => _632.length])) filter.statuses = statuses;
29354
+ if (_optionalChain([osTypes, 'optionalAccess', _633 => _633.length])) filter.osTypes = osTypes;
29355
+ if (_optionalChain([organizationIds, 'optionalAccess', _634 => _634.length])) filter.organizationIds = organizationIds;
29279
29356
  if (tagPairs.length) {
29280
29357
  filter.tagKeys = tagPairs.map((t) => t.key);
29281
29358
  filter.tagValues = tagPairs.map((t) => t.value);
@@ -29296,7 +29373,7 @@ function DevicesGrid({
29296
29373
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
29297
29374
  const { getDeviceHref } = useDevicesViewConfig();
29298
29375
  const handleDeviceClick = (device) => {
29299
- const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _633 => _633(device)]) : void 0;
29376
+ const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _635 => _635(device)]) : void 0;
29300
29377
  if (href) router.push(href);
29301
29378
  };
29302
29379
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: isLoading && devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceCardSkeletonGrid, { count: 12 }) : devices.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-64 items-center justify-center rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyMessage }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -29459,7 +29536,7 @@ function DevicesList({
29459
29536
  const onColumnFiltersChange = _react.useCallback.call(void 0,
29460
29537
  (updater) => {
29461
29538
  const next = typeof updater === "function" ? updater(columnFilters) : updater;
29462
- const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _634 => _634.find, 'call', _635 => _635((f) => f.id === id), 'optionalAccess', _636 => _636.value]), () => ( []));
29539
+ const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _636 => _636.find, 'call', _637 => _637((f) => f.id === id), 'optionalAccess', _638 => _638.value]), () => ( []));
29463
29540
  patch({ statuses: pick("status"), osTypes: pick("os"), organizationIds: pick("organization") });
29464
29541
  },
29465
29542
  [columnFilters, patch]
@@ -29679,7 +29756,7 @@ function DevicesPanelView({
29679
29756
  onLoadMore = noop,
29680
29757
  gridSentinelRef
29681
29758
  }) {
29682
- const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _637 => _637.includes, 'call', _638 => _638(column.key)]))));
29759
+ const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _639 => _639.includes, 'call', _640 => _640(column.key)]))));
29683
29760
  const list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29684
29761
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevicesFilterToolbar, { ...toolbar, isLoading: loading }),
29685
29762
  viewMode === "table" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29744,7 +29821,7 @@ function DevicesPanelView({
29744
29821
  _chunkHETQETPVcjs.TabSelector,
29745
29822
  {
29746
29823
  value: viewMode,
29747
- onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _639 => _639(value)]),
29824
+ onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _641 => _641(value)]),
29748
29825
  items: DEVICE_VIEW_MODE_ITEMS,
29749
29826
  disabled: loading
29750
29827
  }
@@ -29965,9 +30042,9 @@ function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSe
29965
30042
  value: row.pkg,
29966
30043
  onChange: (pkg) => onChange({ ...row, pkg })
29967
30044
  }) }),
29968
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _640 => _640.pkg, 'optionalAccess', _641 => _641.description]), label: "Description" }),
30045
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _642 => _642.pkg, 'optionalAccess', _643 => _643.description]), label: "Description" }),
29969
30046
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-end gap-[var(--spacing-system-lf)]", children: [
29970
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _642 => _642.pkg, 'optionalAccess', _643 => _643.version]), label: "Current Version" }),
30047
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _644 => _644.pkg, 'optionalAccess', _645 => _645.version]), label: "Current Version" }),
29971
30048
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29972
30049
  _chunkDFQYAYBHcjs.Button,
29973
30050
  {
@@ -30352,7 +30429,7 @@ function LogsTableView({
30352
30429
  meta: {
30353
30430
  width: LOG_COLUMN_WIDTHS.status,
30354
30431
  filter: {
30355
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _644 => _644.severities, 'access', _645 => _645.map, 'call', _646 => _646((severity) => ({
30432
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _646 => _646.severities, 'access', _647 => _647.map, 'call', _648 => _648((severity) => ({
30356
30433
  id: severity,
30357
30434
  label: severity.charAt(0).toUpperCase() + severity.slice(1).toLowerCase(),
30358
30435
  value: severity
@@ -30376,7 +30453,7 @@ function LogsTableView({
30376
30453
  width: LOG_COLUMN_WIDTHS.tool,
30377
30454
  hideAt: "md",
30378
30455
  filter: {
30379
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _647 => _647.toolTypes, 'access', _648 => _648.map, 'call', _649 => _649((toolType) => ({
30456
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _649 => _649.toolTypes, 'access', _650 => _650.map, 'call', _651 => _651((toolType) => ({
30380
30457
  id: toolType,
30381
30458
  label: _chunkHETQETPVcjs.toToolLabel.call(void 0, toolType),
30382
30459
  value: toolType
@@ -30399,7 +30476,7 @@ function LogsTableView({
30399
30476
  meta: {
30400
30477
  width: LOG_COLUMN_WIDTHS.source,
30401
30478
  hideAt: "md",
30402
- filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _650 => _650.organizations]), () => ( []))] }
30479
+ filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _652 => _652.organizations]), () => ( []))] }
30403
30480
  }
30404
30481
  },
30405
30482
  {
@@ -30411,7 +30488,7 @@ function LogsTableView({
30411
30488
  },
30412
30489
  {
30413
30490
  id: "copy",
30414
- cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall', _651 => _651(row.original)]) }),
30491
+ cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: _optionalChain([renderCopyAction, 'optionalCall', _653 => _653(row.original)]) }),
30415
30492
  enableSorting: false,
30416
30493
  meta: { width: `${LOG_COLUMN_WIDTHS.action} ml-auto`, align: "right" }
30417
30494
  },
@@ -30420,7 +30497,7 @@ function LogsTableView({
30420
30497
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30421
30498
  _chunkDFQYAYBHcjs.Button,
30422
30499
  {
30423
- onClick: () => _optionalChain([onQuickView, 'optionalCall', _652 => _652(row.original)]),
30500
+ onClick: () => _optionalChain([onQuickView, 'optionalCall', _654 => _654(row.original)]),
30424
30501
  variant: "outline",
30425
30502
  size: "icon",
30426
30503
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.EyeIcon, { className: "h-5 w-5" }),
@@ -30448,14 +30525,14 @@ function LogsTableView({
30448
30525
  meta: { width: LOG_COLUMN_WIDTHS.action, hideAt: "md", align: "right" }
30449
30526
  }
30450
30527
  ];
30451
- if (!_optionalChain([hiddenColumns, 'optionalAccess', _653 => _653.length])) return all;
30528
+ if (!_optionalChain([hiddenColumns, 'optionalAccess', _655 => _655.length])) return all;
30452
30529
  return all.filter((column) => !hiddenColumns.includes(columnId(column)));
30453
30530
  }, [facets, getLogHref, organizationLocked, logIdHeader, renderCopyAction, onQuickView, hiddenColumns]);
30454
30531
  const filterGroups = _react.useMemo.call(void 0,
30455
- () => columns.filter((column) => _optionalChain([column, 'access', _654 => _654.meta, 'optionalAccess', _655 => _655.filter, 'optionalAccess', _656 => _656.options])).map((column) => ({
30532
+ () => columns.filter((column) => _optionalChain([column, 'access', _656 => _656.meta, 'optionalAccess', _657 => _657.filter, 'optionalAccess', _658 => _658.options])).map((column) => ({
30456
30533
  id: columnId(column),
30457
30534
  title: typeof column.header === "string" ? column.header : "",
30458
- options: _optionalChain([column, 'access', _657 => _657.meta, 'optionalAccess', _658 => _658.filter, 'optionalAccess', _659 => _659.options]) || []
30535
+ options: _optionalChain([column, 'access', _659 => _659.meta, 'optionalAccess', _660 => _660.filter, 'optionalAccess', _661 => _661.options]) || []
30459
30536
  })),
30460
30537
  [columns]
30461
30538
  );
@@ -30484,14 +30561,14 @@ function LogsTableView({
30484
30561
  onColumnFiltersChange: handleColumnFiltersChange
30485
30562
  });
30486
30563
  const hasActiveFilters = Object.values(filters).some((values) => values.length > 0);
30487
- const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _660 => _660.range]));
30564
+ const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _662 => _662.range]));
30488
30565
  const noRows = !loading && logs.length === 0;
30489
30566
  const showEmptyState = !organizationLocked && !hasQuery && noRows;
30490
30567
  const scoped = deviceScoped || organizationLocked;
30491
30568
  const scopedEmpty = scoped && noRows;
30492
30569
  const hideSearch = showEmptyState || scopedEmpty && !hasQuery;
30493
30570
  _react.useEffect.call(void 0, () => {
30494
- _optionalChain([onHideSearchChange, 'optionalCall', _661 => _661(hideSearch)]);
30571
+ _optionalChain([onHideSearchChange, 'optionalCall', _663 => _663(hideSearch)]);
30495
30572
  }, [hideSearch, onHideSearchChange]);
30496
30573
  if (showEmptyState) {
30497
30574
  const emptyProps = deviceScoped ? { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.ClipboardListIcon, {}), title: EMPTY_TITLE, description: EMPTY_DESCRIPTION } : {
@@ -30925,13 +31002,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
30925
31002
  const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
30926
31003
  const flipTimer = _react.useRef.call(void 0, null);
30927
31004
  const readItems = _react.useCallback.call(void 0,
30928
- () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _662 => _662.current, 'optionalAccess', _663 => _663.querySelectorAll, 'call', _664 => _664(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
31005
+ () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _664 => _664.current, 'optionalAccess', _665 => _665.querySelectorAll, 'call', _666 => _666(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
30929
31006
  []
30930
31007
  );
30931
31008
  const reorder = _react.useCallback.call(void 0,
30932
31009
  (from, to) => {
30933
31010
  if (from === to) return;
30934
- const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _665 => _665.current, 'optionalCall', _666 => _666(from)]), () => ( "Item"));
31011
+ const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _667 => _667.current, 'optionalCall', _668 => _668(from)]), () => ( "Item"));
30935
31012
  setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
30936
31013
  onReorderRef.current(from, to);
30937
31014
  },
@@ -31019,7 +31096,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
31019
31096
  moving.push(item);
31020
31097
  }
31021
31098
  if (moving.length === 0) return;
31022
- void _optionalChain([listRef, 'access', _667 => _667.current, 'optionalAccess', _668 => _668.offsetHeight]);
31099
+ void _optionalChain([listRef, 'access', _669 => _669.current, 'optionalAccess', _670 => _670.offsetHeight]);
31023
31100
  for (const item of moving) {
31024
31101
  item.style.transition = `transform ${DROP_MS}ms ${EASING}`;
31025
31102
  item.style.transform = "";
@@ -31056,8 +31133,8 @@ function SortableMoveButtons({ index, count, label, className }) {
31056
31133
  if (to < 0 || to >= count) return;
31057
31134
  reorder(index, to);
31058
31135
  requestAnimationFrame(() => {
31059
- if (step === -1 && to === 0) _optionalChain([downRef, 'access', _669 => _669.current, 'optionalAccess', _670 => _670.focus, 'call', _671 => _671()]);
31060
- if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _672 => _672.current, 'optionalAccess', _673 => _673.focus, 'call', _674 => _674()]);
31136
+ if (step === -1 && to === 0) _optionalChain([downRef, 'access', _671 => _671.current, 'optionalAccess', _672 => _672.focus, 'call', _673 => _673()]);
31137
+ if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _674 => _674.current, 'optionalAccess', _675 => _675.focus, 'call', _676 => _676()]);
31061
31138
  });
31062
31139
  };
31063
31140
  const subject = _nullishCoalesce(label, () => ( "item"));
@@ -31105,7 +31182,7 @@ function useSortableItem() {
31105
31182
  const [handle, setHandle] = _react.useState.call(void 0, null);
31106
31183
  const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
31107
31184
  const itemRef = _react.useCallback.call(void 0, (node) => {
31108
- _optionalChain([node, 'optionalAccess', _675 => _675.setAttribute, 'call', _676 => _676(SORTABLE_ITEM_ATTRIBUTE, "")]);
31185
+ _optionalChain([node, 'optionalAccess', _677 => _677.setAttribute, 'call', _678 => _678(SORTABLE_ITEM_ATTRIBUTE, "")]);
31109
31186
  setItem(node);
31110
31187
  }, []);
31111
31188
  _react.useEffect.call(void 0, () => {
@@ -31135,7 +31212,7 @@ function useSortableItem() {
31135
31212
  if (from < 0 || to < 0 || to >= items.length) return;
31136
31213
  event.preventDefault();
31137
31214
  reorder(from, to);
31138
- requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _677 => _677.focus, 'call', _678 => _678()]));
31215
+ requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _679 => _679.focus, 'call', _680 => _680()]));
31139
31216
  },
31140
31217
  [inert, readItems, reorder, handle]
31141
31218
  );
@@ -31157,7 +31234,7 @@ function TicketStatusConfigList({
31157
31234
  onReorder,
31158
31235
  getItemLabel,
31159
31236
  className: _chunk3ATAYP36cjs.cn.call(void 0, "flex w-full flex-col gap-[var(--spacing-system-xs)]", className),
31160
- children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _679 => _679(index)]), children: (args) => renderRow(item, args) }, item.id))
31237
+ children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _681 => _681(index)]), children: (args) => renderRow(item, args) }, item.id))
31161
31238
  }
31162
31239
  );
31163
31240
  }
@@ -31286,16 +31363,16 @@ function Example({
31286
31363
  ),
31287
31364
  children: [
31288
31365
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5", children: [
31289
- mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _680 => _680.mark]), () => ( requesterMark))),
31366
+ mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _682 => _682.mark]), () => ( requesterMark))),
31290
31367
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
31291
- who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _681 => _681.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _682 => _682.note]), () => ( labels.requesterNote))),
31368
+ who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _683 => _683.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _684 => _684.note]), () => ( labels.requesterNote))),
31292
31369
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
31293
31370
  ] })
31294
31371
  ] }),
31295
31372
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
31296
- mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _683 => _683.mark]), () => ( responderMark))),
31373
+ mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _685 => _685.mark]), () => ( responderMark))),
31297
31374
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
31298
- who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _684 => _684.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _685 => _685.note]), () => ( labels.responderNote))),
31375
+ who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _686 => _686.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _687 => _687.note]), () => ( labels.responderNote))),
31299
31376
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
31300
31377
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVX4E6YSBcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
31301
31378
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPPXR22YCcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
@@ -31387,7 +31464,7 @@ function CapabilityExplorer({
31387
31464
  if (next === null) return;
31388
31465
  event.preventDefault();
31389
31466
  onActiveChange(items[next].id);
31390
- _optionalChain([listRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.querySelectorAll, 'call', _688 => _688('[role="tab"]'), 'access', _689 => _689[next], 'optionalAccess', _690 => _690.focus, 'call', _691 => _691()]);
31467
+ _optionalChain([listRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.querySelectorAll, 'call', _690 => _690('[role="tab"]'), 'access', _691 => _691[next], 'optionalAccess', _692 => _692.focus, 'call', _693 => _693()]);
31391
31468
  };
31392
31469
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31393
31470
  "div",
@@ -32096,4 +32173,8 @@ function CapabilityExplorer({
32096
32173
 
32097
32174
 
32098
32175
 
32099
- exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableDragHandle = SortableDragHandle; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;
32176
+
32177
+
32178
+
32179
+
32180
+ exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.HiddenTagsPopup = HiddenTagsPopup; exports.Autocomplete = Autocomplete; exports.timezoneLabel = timezoneLabel; exports.timezoneOptions = timezoneOptions; exports.TimezoneSelect = TimezoneSelect; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.DatePickerCalendar = DatePickerCalendar; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.AssigneeDropdown = AssigneeDropdown; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoDataMessage = NoDataMessage; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.AdminFormDrawer = AdminFormDrawer; exports.PlaybackToggle = PlaybackToggle; exports.AdminFormModal = AdminFormModal; exports.Separator = Separator; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.ClaudeEmbed = ClaudeEmbed; exports.FigmaEmbed = FigmaEmbed; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.MarkdownImage = MarkdownImage; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.MediaCarousel = MediaCarousel; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.AppStoreBadge = AppStoreBadge; exports.GooglePlayBadge = GooglePlayBadge; exports.StoreBadgeLinks = StoreBadgeLinks; exports.StatusIndicator = StatusIndicator; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.benefitCardBorderClass = benefitCardBorderClass; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.DataAttribution = DataAttribution; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.PersonCell = PersonCell; exports.PeopleCell = PeopleCell; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.PasswordInput = PasswordInput; exports.AccountDetailsFields = AccountDetailsFields; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.CompactAuthShell = CompactAuthShell; exports.LabeledDivider = LabeledDivider; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.PolicyLink = PolicyLink; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LegalLinks = LegalLinks; exports.LoginForm = LoginForm; exports.NoAccountNotice = NoAccountNotice; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.SsoJoinForm = SsoJoinForm; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.useMediaIntake = useMediaIntake; exports.MediaUploadArea = MediaUploadArea; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.PushButtonSelector = PushButtonSelector; exports.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.SOCIAL_ICON_COMPONENTS = SOCIAL_ICON_COMPONENTS; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.InlineWalkthroughVideo = InlineWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.VideoSourceSelector = VideoSourceSelector; exports.SubtitlesEditor = SubtitlesEditor; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.APPROVAL_LEVELS = APPROVAL_LEVELS; exports.APPROVAL_LEVEL_META = APPROVAL_LEVEL_META; exports.ApprovalLevelMark = ApprovalLevelMark; exports.ApprovalLevelControl = ApprovalLevelControl; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.DataTableEmpty = DataTableEmpty; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableHeader = DataTableHeader; exports.DATA_TABLE_HEADER_LABEL_CLASS = DATA_TABLE_HEADER_LABEL_CLASS; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.PoliciesTable = PoliciesTable; exports.PolicySummaryCards = PolicySummaryCards; exports.POLICY_STATUS_CONFIG = POLICY_STATUS_CONFIG; exports.getPolicyStatus = getPolicyStatus; exports.getPolicyTableStatus = getPolicyTableStatus; exports.computePolicySummary = computePolicySummary; exports.TENANT_EMPTY_VALUE = TENANT_EMPTY_VALUE; exports.accessStateTag = accessStateTag; exports.providerMark = providerMark; exports.lastReadAt = lastReadAt; exports.formatLastRead = formatLastRead; exports.usersCountLabel = usersCountLabel; exports.TenantAccessCell = TenantAccessCell; exports.TenantCell = TenantCell; exports.TenantCustomerCell = TenantCustomerCell; exports.TENANT_COLUMNS = TENANT_COLUMNS; exports.TENANTS_TABLE_COLUMNS = TENANTS_TABLE_COLUMNS; exports.TenantsTableView = TenantsTableView; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.AppLayoutDrawerContainerContext = AppLayoutDrawerContainerContext; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerCoordinationContext = AppLayoutDrawerCoordinationContext; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.TICKET_APPROVAL_REQUEST_TYPE = TICKET_APPROVAL_REQUEST_TYPE; exports.MINGO_APPROVAL_REQUEST_TYPE = MINGO_APPROVAL_REQUEST_TYPE; exports.isApprovalNotificationType = isApprovalNotificationType; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.formatLastOnline = formatLastOnline; exports.getDeviceName = getDeviceName; exports.matchesDeviceName = matchesDeviceName; exports.DevicesViewConfigProvider = DevicesViewConfigProvider; exports.useDevicesViewConfig = useDevicesViewConfig; exports.useDeviceImageUrl = useDeviceImageUrl; exports.DeviceSelectionModeRadio = DeviceSelectionModeRadio; exports.getDeviceStatusConfig = getDeviceStatusConfig; exports.getDeviceOperatingSystem = getDeviceOperatingSystem; exports.DEVICE_STATUS = DEVICE_STATUS; exports.DEFAULT_VISIBLE_STATUSES = DEFAULT_VISIBLE_STATUSES; exports.DEFAULT_DASHBOARD_STATUSES = DEFAULT_DASHBOARD_STATUSES; exports.DEFAULT_DEVICES_LIST_STATUSES = DEFAULT_DEVICES_LIST_STATUSES; exports.DEVICE_ENRICHMENT_STATUSES = DEVICE_ENRICHMENT_STATUSES; exports.DEVICE_ENRICHMENT_FILTER = DEVICE_ENRICHMENT_FILTER; exports.HIDDEN_DEVICE_STATUSES = HIDDEN_DEVICE_STATUSES; exports.renderDeviceTypeIcon = renderDeviceTypeIcon; exports.DeviceTypeTile = DeviceTypeTile; exports.DeviceTagsFilterButton = DeviceTagsFilterButton; exports.DevicesFilterToolbar = DevicesFilterToolbar; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; exports.DeviceSelectorSkeleton = DeviceSelectorSkeleton; exports.EMPTY_NARROWING = EMPTY_NARROWING; exports.narrowingToFilter = narrowingToFilter; exports.DevicesGrid = DevicesGrid; exports.DevicesGridFilters = DevicesGridFilters; exports.EMPTY_DEVICES_NARROWING = EMPTY_DEVICES_NARROWING; exports.isNarrowed = isNarrowed; exports.DevicesList = DevicesList; exports.DEVICE_VIEW_MODE_ITEMS = DEVICE_VIEW_MODE_ITEMS; exports.buildDevicePanelActions = buildDevicePanelActions; exports.IDLE_DEVICES_TOOLBAR = IDLE_DEVICES_TOOLBAR; exports.DevicesPanelView = DevicesPanelView; exports.PACKAGE_MANAGERS = PACKAGE_MANAGERS; exports.PACKAGE_MANAGER_LABEL = PACKAGE_MANAGER_LABEL; exports.PACKAGE_MANAGER_ICON = PACKAGE_MANAGER_ICON; exports.PACKAGE_MANAGER_OS = PACKAGE_MANAGER_OS; exports.packageManagerLabel = packageManagerLabel; exports.SOFTWARE_SOURCE_LABEL = SOFTWARE_SOURCE_LABEL; exports.PACKAGE_SEARCH_LABEL = PACKAGE_SEARCH_LABEL; exports.PACKAGE_SEARCH_PLACEHOLDER = PACKAGE_SEARCH_PLACEHOLDER; exports.PackageSearchFieldPlaceholder = PackageSearchFieldPlaceholder; exports.SoftwareScheduleFields = SoftwareScheduleFields; exports.SOFTWARE_ACTION_COPY = SOFTWARE_ACTION_COPY; exports.SOFTWARE_ACTION_DETAIL_TITLE = SOFTWARE_ACTION_DETAIL_TITLE; exports.softwareActionCopy = softwareActionCopy; exports.newSoftwareRow = newSoftwareRow; exports.SoftwareRowFields = SoftwareRowFields; exports.SoftwareActionForm = SoftwareActionForm; exports.LogDrawer = LogDrawer; exports.SYSTEM_SOURCE_LABEL = SYSTEM_SOURCE_LABEL; exports.logSourceLabels = logSourceLabels; exports.LogsPageView = LogsPageView; exports.LogCopyIconButton = LogCopyIconButton; exports.LOG_COLUMN_WIDTHS = LOG_COLUMN_WIDTHS; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.LogsTableSkeleton = LogsTableSkeleton; exports.logSeverityVariant = logSeverityVariant; exports.KNOWLEDGE_BASE_ITEM_ICON = KNOWLEDGE_BASE_ITEM_ICON; exports.getKnowledgeBaseOpenColumn = getKnowledgeBaseOpenColumn; exports.getKnowledgeBaseColumns = getKnowledgeBaseColumns; exports.KnowledgeBaseTableBody = KnowledgeBaseTableBody; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketDetailSection = TicketDetailSection; exports.KnowledgeBaseArticleView = KnowledgeBaseArticleView; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableDragHandle = SortableDragHandle; exports.SortableList = SortableList; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.TicketStatusConfigList = TicketStatusConfigList; exports.ConversationCard = ConversationCard; exports.SnapCarouselControlsSkeleton = SnapCarouselControlsSkeleton; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorerSkeleton = CapabilityExplorerSkeleton; exports.CapabilityExplorer = CapabilityExplorer; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.renderTicketStatusOption = renderTicketStatusOption; exports.renderTicketAssigneeOption = renderTicketAssigneeOption; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PhoneFrame = PhoneFrame; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.IconTile = IconTile;