@flamingo-stack/openframe-frontend-core 0.0.841 → 0.0.843

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 (104) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{case-study-card-TK7ZCNLM.cjs → case-study-card-VN3JBNF5.cjs} +3 -3
  3. package/dist/{chunk-RSJYTQEA.cjs → chunk-23DVVS4I.cjs} +104 -104
  4. package/dist/{chunk-IELPVUPR.cjs → chunk-2H5D2PUC.cjs} +23 -23
  5. package/dist/{chunk-275AQ6LC.cjs → chunk-2JZFXGHE.cjs} +4 -4
  6. package/dist/{chunk-DYDQLS2R.cjs → chunk-2WGA2IRN.cjs} +370 -298
  7. package/dist/{chunk-VBH2RCFM.cjs → chunk-3IXW2EKO.cjs} +78 -78
  8. package/dist/{chunk-DGY5KEPY.cjs → chunk-4ASUUB3A.cjs} +83 -83
  9. package/dist/{chunk-WCOSGDGA.cjs → chunk-4R4HAFXI.cjs} +2 -2
  10. package/dist/{chunk-INBFKUZA.cjs → chunk-5CPEMPNP.cjs} +15 -15
  11. package/dist/{chunk-CCRXBFNL.cjs → chunk-6HFTSVVC.cjs} +8 -8
  12. package/dist/{chunk-FHI4I3TQ.cjs → chunk-6M764K5Z.cjs} +12 -12
  13. package/dist/{chunk-SOCCHWDK.cjs → chunk-BHOVF4KP.cjs} +2 -2
  14. package/dist/{chunk-WVNUCKB7.cjs → chunk-CNMXP77I.cjs} +4 -4
  15. package/dist/{chunk-HXTZZE3R.cjs → chunk-DUB2UVYS.cjs} +61 -72
  16. package/dist/{chunk-TD4CC4KV.cjs → chunk-EUEPGHY4.cjs} +6 -6
  17. package/dist/{chunk-Q6WUHYOG.cjs → chunk-HLMA6CDT.cjs} +85 -85
  18. package/dist/{chunk-ZAO5SYBJ.cjs → chunk-MWQOM2EI.cjs} +4 -4
  19. package/dist/{chunk-WI7EXAZT.cjs → chunk-NMLNZCK2.cjs} +2 -2
  20. package/dist/{chunk-GUKFMMDZ.cjs → chunk-OGINOWMT.cjs} +3 -3
  21. package/dist/{chunk-APNONOHY.cjs → chunk-PZNWIJRZ.cjs} +13 -10
  22. package/dist/{chunk-GMK4JGC2.cjs → chunk-QBZ73IK7.cjs} +44 -44
  23. package/dist/{chunk-Z35PL3UR.cjs → chunk-QJRZVIQP.cjs} +34 -34
  24. package/dist/{chunk-SMZWXY4X.cjs → chunk-QKZQ5Q6E.cjs} +6 -1
  25. package/dist/{chunk-MYAPG3FQ.cjs → chunk-QPJUQ5YU.cjs} +21 -21
  26. package/dist/{chunk-JUEAZCD6.cjs → chunk-RSZZTB5T.cjs} +54 -54
  27. package/dist/{chunk-7WKRMJI6.cjs → chunk-SC36S7DJ.cjs} +2 -2
  28. package/dist/{chunk-AT6D7BAZ.cjs → chunk-SOQVKIWM.cjs} +3 -3
  29. package/dist/{chunk-UZPYYHF5.cjs → chunk-SOTTMZ6U.cjs} +19 -19
  30. package/dist/{chunk-E7M54JWW.cjs → chunk-SSSI2RBV.cjs} +14 -14
  31. package/dist/{chunk-EV6BPF47.cjs → chunk-WPMJUYW3.cjs} +143 -143
  32. package/dist/{chunk-FRL2ZN4O.cjs → chunk-XCVH5BCZ.cjs} +6 -6
  33. package/dist/{chunk-JM2XA7VY.cjs → chunk-ZXEWBJUE.cjs} +15 -15
  34. package/dist/{cloud-tenants-PV63RZ73.cjs → cloud-tenants-VPYROTKH.cjs} +11 -11
  35. package/dist/components/case-studies/index.cjs +26 -26
  36. package/dist/components/chat/index.cjs +8 -8
  37. package/dist/components/contact/index.cjs +12 -12
  38. package/dist/components/docs/index.cjs +15 -15
  39. package/dist/components/embeds/index.cjs +12 -12
  40. package/dist/components/faq/index.cjs +13 -13
  41. package/dist/components/features/devices/device-unread-indicator.d.ts +6 -0
  42. package/dist/components/features/devices/device-unread-indicator.d.ts.map +1 -0
  43. package/dist/components/features/devices/device-unread-indicator.js +12 -0
  44. package/dist/components/features/devices/devices-grid.d.ts.map +1 -1
  45. package/dist/components/features/devices/devices-grid.js +5 -1
  46. package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -1
  47. package/dist/components/features/devices/devices-table-columns.js +3 -1
  48. package/dist/components/features/devices/devices-view-config.d.ts +6 -4
  49. package/dist/components/features/devices/devices-view-config.d.ts.map +1 -1
  50. package/dist/components/features/devices/index.d.ts +1 -0
  51. package/dist/components/features/devices/index.d.ts.map +1 -1
  52. package/dist/components/features/devices/index.js +2 -0
  53. package/dist/components/features/devices/types.d.ts +2 -0
  54. package/dist/components/features/devices/types.d.ts.map +1 -1
  55. package/dist/components/features/index.cjs +13 -11
  56. package/dist/components/help-center-pages/index.cjs +105 -105
  57. package/dist/components/index.cjs +73 -65
  58. package/dist/components/meeting-scheduler/index.cjs +50 -50
  59. package/dist/components/navigation/count-pill.d.ts +10 -0
  60. package/dist/components/navigation/count-pill.d.ts.map +1 -0
  61. package/dist/components/navigation/count-pill.js +18 -0
  62. package/dist/components/navigation/index.cjs +20 -14
  63. package/dist/components/navigation/index.d.ts +4 -0
  64. package/dist/components/navigation/index.d.ts.map +1 -1
  65. package/dist/components/navigation/index.js +5 -0
  66. package/dist/components/navigation/navigation-sidebar-grouped.d.ts.map +1 -1
  67. package/dist/components/navigation/navigation-sidebar-grouped.js +1 -12
  68. package/dist/components/navigation/unread-notifications-indicator.d.ts +19 -0
  69. package/dist/components/navigation/unread-notifications-indicator.d.ts.map +1 -0
  70. package/dist/components/navigation/unread-notifications-indicator.js +45 -0
  71. package/dist/components/onboarding-guides/index.cjs +14 -14
  72. package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
  73. package/dist/components/product-demo/fixtures/devices.js +6 -1
  74. package/dist/components/product-demo/index.cjs +20 -20
  75. package/dist/components/related-content/index.cjs +7 -7
  76. package/dist/components/tickets/index.cjs +18 -18
  77. package/dist/components/ui/index.cjs +11 -11
  78. package/dist/{devices-VECG5JNC.cjs → devices-W76BAABE.cjs} +14 -14
  79. package/dist/{embeddable-chat-VRYAQQF6.cjs → embeddable-chat-C6DUH2JL.cjs} +78 -78
  80. package/dist/hooks/index.cjs +4 -4
  81. package/dist/index.cjs +23 -15
  82. package/dist/{knowledge-YJSDJIXT.cjs → knowledge-ILAIWOSY.cjs} +12 -12
  83. package/dist/{logs-42JG3NZ5.cjs → logs-VCPRFJGB.cjs} +18 -18
  84. package/dist/platform-domains.cjs +14 -10
  85. package/dist/platform-domains.d.ts +12 -7
  86. package/dist/platform-domains.d.ts.map +1 -1
  87. package/dist/platform-domains.js +14 -10
  88. package/dist/{policies-D4QNVJ26.cjs → policies-3BNAW4M5.cjs} +15 -15
  89. package/dist/{scripts-4VFYBXBE.cjs → scripts-VFFSJDYV.cjs} +16 -16
  90. package/dist/{software-update-OSDZQ5CP.cjs → software-update-VTBTLCZO.cjs} +16 -16
  91. package/dist/utils/index.cjs +13 -10
  92. package/package.json +1 -1
  93. package/src/components/features/devices/device-unread-indicator.tsx +14 -0
  94. package/src/components/features/devices/devices-grid.tsx +9 -1
  95. package/src/components/features/devices/devices-table-columns.tsx +3 -0
  96. package/src/components/features/devices/devices-view-config.tsx +6 -4
  97. package/src/components/features/devices/index.ts +1 -0
  98. package/src/components/features/devices/types.ts +2 -0
  99. package/src/components/navigation/count-pill.tsx +25 -0
  100. package/src/components/navigation/index.ts +4 -0
  101. package/src/components/navigation/navigation-sidebar-grouped.tsx +1 -14
  102. package/src/components/navigation/unread-notifications-indicator.tsx +69 -0
  103. package/src/components/product-demo/fixtures/devices.ts +7 -0
  104. package/src/platform-domains.ts +28 -20
@@ -36,7 +36,7 @@ var _chunk744JXTDPcjs = require('./chunk-744JXTDP.cjs');
36
36
 
37
37
 
38
38
 
39
- var _chunkWI7EXAZTcjs = require('./chunk-WI7EXAZT.cjs');
39
+ var _chunkNMLNZCK2cjs = require('./chunk-NMLNZCK2.cjs');
40
40
 
41
41
 
42
42
  var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
@@ -52,7 +52,7 @@ var _chunkDEY6XXGOcjs = require('./chunk-DEY6XXGO.cjs');
52
52
 
53
53
 
54
54
 
55
- var _chunkE7M54JWWcjs = require('./chunk-E7M54JWW.cjs');
55
+ var _chunkSSSI2RBVcjs = require('./chunk-SSSI2RBV.cjs');
56
56
 
57
57
 
58
58
 
@@ -101,7 +101,7 @@ var _chunk5SZ4ILU3cjs = require('./chunk-5SZ4ILU3.cjs');
101
101
 
102
102
 
103
103
 
104
- var _chunkDGY5KEPYcjs = require('./chunk-DGY5KEPY.cjs');
104
+ var _chunk4ASUUB3Acjs = require('./chunk-4ASUUB3A.cjs');
105
105
 
106
106
 
107
107
 
@@ -128,7 +128,7 @@ var _chunkOT6P57ZScjs = require('./chunk-OT6P57ZS.cjs');
128
128
 
129
129
 
130
130
 
131
- var _chunkEV6BPF47cjs = require('./chunk-EV6BPF47.cjs');
131
+ var _chunkWPMJUYW3cjs = require('./chunk-WPMJUYW3.cjs');
132
132
 
133
133
 
134
134
 
@@ -463,7 +463,8 @@ var _chunkHLJXCOMAcjs = require('./chunk-HLJXCOMA.cjs');
463
463
 
464
464
 
465
465
 
466
- var _chunkFRL2ZN4Ocjs = require('./chunk-FRL2ZN4O.cjs');
466
+
467
+ var _chunkXCVH5BCZcjs = require('./chunk-XCVH5BCZ.cjs');
467
468
 
468
469
 
469
470
 
@@ -496,7 +497,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
496
497
 
497
498
 
498
499
 
499
- var _chunkRSJYTQEAcjs = require('./chunk-RSJYTQEA.cjs');
500
+ var _chunk23DVVS4Icjs = require('./chunk-23DVVS4I.cjs');
500
501
 
501
502
 
502
503
  var _chunk5GBLXY5Fcjs = require('./chunk-5GBLXY5F.cjs');
@@ -520,7 +521,7 @@ var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
520
521
 
521
522
 
522
523
 
523
- var _chunkTD4CC4KVcjs = require('./chunk-TD4CC4KV.cjs');
524
+ var _chunkEUEPGHY4cjs = require('./chunk-EUEPGHY4.cjs');
524
525
 
525
526
 
526
527
 
@@ -554,7 +555,8 @@ var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
554
555
 
555
556
 
556
557
 
557
- var _chunkAPNONOHYcjs = require('./chunk-APNONOHY.cjs');
558
+
559
+ var _chunkPZNWIJRZcjs = require('./chunk-PZNWIJRZ.cjs');
558
560
 
559
561
 
560
562
 
@@ -716,7 +718,7 @@ function ThemeProvider({ children, ...overrides }) {
716
718
  var useTheme = _nextthemes.useTheme;
717
719
  function useThemeToggle() {
718
720
  const { resolvedTheme, theme, setTheme } = useTheme();
719
- const mounted = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
721
+ const mounted = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
720
722
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
721
723
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
722
724
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -2450,7 +2452,7 @@ function InfoCardValueRow({
2450
2452
  copyAriaLabel,
2451
2453
  loading: loadingProp
2452
2454
  }) {
2453
- const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
2455
+ const { copy, copied } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, );
2454
2456
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
2455
2457
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
2456
2458
  loading && label === void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "h4", className: "w-20" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: ROW_LABEL_CLASS, children: showLabel ? _nullishCoalesce(label, () => ( "")) : "" }),
@@ -4563,14 +4565,14 @@ function AdminFormDrawer({
4563
4565
  else onClose();
4564
4566
  };
4565
4567
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4566
- _chunkWI7EXAZTcjs.Drawer,
4568
+ _chunkNMLNZCK2cjs.Drawer,
4567
4569
  {
4568
4570
  open: isOpen,
4569
4571
  onOpenChange: (open) => {
4570
4572
  if (!open) requestClose();
4571
4573
  },
4572
4574
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4573
- _chunkWI7EXAZTcjs.DrawerContent,
4575
+ _chunkNMLNZCK2cjs.DrawerContent,
4574
4576
  {
4575
4577
  side: "right",
4576
4578
  resizable: true,
@@ -4579,15 +4581,15 @@ function AdminFormDrawer({
4579
4581
  storageKey,
4580
4582
  panelClassName: "max-md:w-[calc(100vw-1rem)]",
4581
4583
  children: [
4582
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWI7EXAZTcjs.DrawerHeader, { children: [
4583
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerTitle, { children: title }),
4584
- subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
4584
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNMLNZCK2cjs.DrawerHeader, { children: [
4585
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerTitle, { children: title }),
4586
+ subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
4585
4587
  ] }),
4586
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4588
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4587
4589
  "form",
4588
4590
  {
4589
4591
  id: formId,
4590
- ..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4592
+ ..._chunk4ASUUB3Acjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4591
4593
  className: "flex flex-col gap-[var(--spacing-system-lf)]",
4592
4594
  onSubmit: (e) => {
4593
4595
  e.preventDefault();
@@ -4694,7 +4696,7 @@ function AdminFormModal({
4694
4696
  "form",
4695
4697
  {
4696
4698
  id: formId,
4697
- ..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4699
+ ..._chunk4ASUUB3Acjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4698
4700
  className: "flex min-h-0 flex-1 flex-col",
4699
4701
  onSubmit: (e) => {
4700
4702
  e.preventDefault();
@@ -6065,7 +6067,7 @@ function EmbedViewerFrame({
6065
6067
  const controllerRef = _react.useRef.call(void 0, null);
6066
6068
  _react.useEffect.call(void 0, () => {
6067
6069
  if (!fullscreenControl) return void 0;
6068
- const controller = new (0, _chunkDGY5KEPYcjs.FullscreenSwitchController)({
6070
+ const controller = new (0, _chunk4ASUUB3Acjs.FullscreenSwitchController)({
6069
6071
  target: () => frameRef.current,
6070
6072
  onFullscreenChange: setIsFullscreen
6071
6073
  });
@@ -6159,7 +6161,7 @@ var KIND_HEADING = {
6159
6161
  design: "Claude Design"
6160
6162
  };
6161
6163
  function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
6162
- const { src: mirrorSrc, status } = _chunkE7M54JWWcjs.useClaudeMirrorSrc.call(void 0, url);
6164
+ const { src: mirrorSrc, status } = _chunkSSSI2RBVcjs.useClaudeMirrorSrc.call(void 0, url);
6163
6165
  const isProbing = status === "probing";
6164
6166
  const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkHLJXCOMAcjs.toClaudeEmbedUrl.call(void 0, url)));
6165
6167
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6692,7 +6694,7 @@ var OGLinkPreview = ({
6692
6694
  type: "website",
6693
6695
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
6694
6696
  } : null)));
6695
- const placeholderImageUrl = _chunkAPNONOHYcjs.useOgPlaceholderUrl.call(void 0, {
6697
+ const placeholderImageUrl = _chunkPZNWIJRZcjs.useOgPlaceholderUrl.call(void 0, {
6696
6698
  title: _optionalChain([effectiveData, 'optionalAccess', _124 => _124.title]),
6697
6699
  siteName: _optionalChain([effectiveData, 'optionalAccess', _125 => _125.siteName]) || domain,
6698
6700
  enabled: enablePlaceholder && !isTile
@@ -6708,7 +6710,7 @@ var OGLinkPreview = ({
6708
6710
  const hasImage = !!resolvedImageUrl;
6709
6711
  const isCuratedImage = _optionalChain([resolvedImage, 'optionalAccess', _129 => _129.source]) === "curated";
6710
6712
  const isPlaceholder = _optionalChain([resolvedImage, 'optionalAccess', _130 => _130.source]) === "placeholder";
6711
- const bgColor = _chunkAPNONOHYcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
6713
+ const bgColor = _chunkPZNWIJRZcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
6712
6714
  const renderSkeleton = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6713
6715
  OGLinkPreviewSkeleton,
6714
6716
  {
@@ -7119,7 +7121,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
7119
7121
  };
7120
7122
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
7121
7123
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7122
- _chunkTD4CC4KVcjs.Video,
7124
+ _chunkEUEPGHY4cjs.Video,
7123
7125
  {
7124
7126
  url: item.src,
7125
7127
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7314,7 +7316,7 @@ var formatTimeAgo = (timestamp) => {
7314
7316
  return `${Math.floor(diffSeconds / 86400)}d ago`;
7315
7317
  };
7316
7318
  function RedditEmbedClient({ url, maxWidth = 700, rel }) {
7317
- const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
7319
+ const postLinkRel = _chunkWPMJUYW3cjs.renderedLinkRel.call(void 0, rel, true);
7318
7320
  const { redditProxyUrl } = useRichMarkdownRuntime();
7319
7321
  const [redditData, setRedditData] = _react.useState.call(void 0, null);
7320
7322
  const [loading, setLoading] = _react.useState.call(void 0, true);
@@ -7646,7 +7648,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
7646
7648
  ] });
7647
7649
  var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
7648
7650
  function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
7649
- const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
7651
+ const postLinkRel = _chunkWPMJUYW3cjs.renderedLinkRel.call(void 0, rel, true);
7650
7652
  const { twitterProxyUrl } = useRichMarkdownRuntime();
7651
7653
  const [tweetData, setTweetData] = _react.useState.call(void 0, null);
7652
7654
  const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
@@ -7848,7 +7850,7 @@ function buildRichEmbedOverrides({
7848
7850
  ogEndpointPath,
7849
7851
  textSizes
7850
7852
  }) {
7851
- const standard = _chunkEV6BPF47cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7853
+ const standard = _chunkWPMJUYW3cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7852
7854
  return {
7853
7855
  // Fence-language embeds (```youtube-embed etc.); everything else
7854
7856
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7858,7 +7860,7 @@ function buildRichEmbedOverrides({
7858
7860
  const language = match ? match[1] : "";
7859
7861
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7860
7862
  if (language === "youtube-embed") {
7861
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url: fenceText() });
7863
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url: fenceText() });
7862
7864
  }
7863
7865
  if (language === "reddit-embed") {
7864
7866
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7899,7 +7901,7 @@ function buildRichEmbedOverrides({
7899
7901
  "data-figma-url": figmaUrl
7900
7902
  } = divProps;
7901
7903
  if (className === "youtube-embed" && videoId) {
7902
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url: videoId });
7904
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url: videoId });
7903
7905
  }
7904
7906
  if (className === "reddit-embed" && postUrl) {
7905
7907
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7984,23 +7986,23 @@ function buildRichEmbedOverrides({
7984
7986
  // rich-markdown runtime (Supabase optimization on the hub, identity
7985
7987
  // elsewhere). Guard against empty `![]()`.
7986
7988
  img: ({ src, alt }) => {
7987
- if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
7989
+ if (!_chunkWPMJUYW3cjs.hasRenderableSrc.call(void 0, src)) return null;
7988
7990
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7989
7991
  },
7990
7992
  // Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
7991
7993
  // facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
7992
7994
  // the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
7993
7995
  iframe: ({ node: _node, src, ...rest }) => {
7994
- if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
7996
+ if (!_chunkWPMJUYW3cjs.hasRenderableSrc.call(void 0, src)) return null;
7995
7997
  const url = src.trim();
7996
- if (_chunkTD4CC4KVcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url });
7998
+ if (_chunkEUEPGHY4cjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url });
7997
7999
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
7998
8000
  },
7999
8001
  // Raw <video> tags in stored content (blog publisher injection) route
8000
8002
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
8001
8003
  video: ({ src, poster, className }) => {
8002
- if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
8003
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
8004
+ if (!_chunkWPMJUYW3cjs.hasRenderableSrc.call(void 0, src)) return null;
8005
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `overflow-hidden ${className || "my-8 w-full rounded-lg"}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
8004
8006
  }
8005
8007
  };
8006
8008
  }
@@ -8108,7 +8110,7 @@ var processShortcodes = (content) => {
8108
8110
  try {
8109
8111
  const urlObj = new URL(url);
8110
8112
  const hostname = urlObj.hostname.toLowerCase();
8111
- const hostIs = (domain) => _chunkRSJYTQEAcjs.hostMatches.call(void 0, hostname, domain);
8113
+ const hostIs = (domain) => _chunk23DVVS4Icjs.hostMatches.call(void 0, hostname, domain);
8112
8114
  const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
8113
8115
  if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
8114
8116
  return match;
@@ -8185,13 +8187,13 @@ var RichMarkdownInner = ({
8185
8187
  },
8186
8188
  [resolveLinkEndpointUrl, resolveSource]
8187
8189
  );
8188
- const textSizes = _react.useMemo.call(void 0, () => _chunkEV6BPF47cjs.resolveTextSizeConfig.call(void 0, "article"), []);
8190
+ const textSizes = _react.useMemo.call(void 0, () => _chunkWPMJUYW3cjs.resolveTextSizeConfig.call(void 0, "article"), []);
8189
8191
  const componentOverrides = _react.useMemo.call(void 0,
8190
8192
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8191
8193
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8192
8194
  );
8193
8195
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8194
- _chunkEV6BPF47cjs.MarkdownEngine,
8196
+ _chunkWPMJUYW3cjs.MarkdownEngine,
8195
8197
  {
8196
8198
  content,
8197
8199
  className,
@@ -8216,7 +8218,7 @@ var RichMarkdownRendererImpl = ({
8216
8218
  className = "",
8217
8219
  sectionIds,
8218
8220
  onInternalLinkClick,
8219
- brokenLinks = _chunkEV6BPF47cjs.NO_BROKEN_LINKS,
8221
+ brokenLinks = _chunkWPMJUYW3cjs.NO_BROKEN_LINKS,
8220
8222
  currentPath,
8221
8223
  resolveSource = "openframe-docs",
8222
8224
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -9561,7 +9563,7 @@ function renderAdvancedPageContainer({
9561
9563
  contentClassName,
9562
9564
  showHeader = true
9563
9565
  }, inScope = false) {
9564
- const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
9566
+ const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
9565
9567
  const subtitleNode = subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: PAGE_CONTAINER_SUBTITLE_CLASS, children: subtitle }) : inScope && subtitle === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerSubtitleSkeleton, {}) : null;
9566
9568
  const getActionsVariant = () => {
9567
9569
  if (actionsVariant) return actionsVariant;
@@ -9721,7 +9723,7 @@ function ListPageLayout({
9721
9723
  }) {
9722
9724
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
9723
9725
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
9724
- const debouncedSearchValue = _chunkFRL2ZN4Ocjs.useDebounce.call(void 0, localSearchValue, 500);
9726
+ const debouncedSearchValue = _chunkXCVH5BCZcjs.useDebounce.call(void 0, localSearchValue, 500);
9725
9727
  const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
9726
9728
  if (syncedSearchValue !== searchValue) {
9727
9729
  setSyncedSearchValue(searchValue);
@@ -9988,7 +9990,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
9988
9990
 
9989
9991
 
9990
9992
  function PlatformBrowseButton({ item }) {
9991
- const linkProps = _chunkEV6BPF47cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9993
+ const linkProps = _chunkWPMJUYW3cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9992
9994
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
9993
9995
  "Browse ",
9994
9996
  item.buttonText
@@ -10507,10 +10509,10 @@ var OSTypeBadge = ({
10507
10509
  if (!osType) {
10508
10510
  return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
10509
10511
  }
10510
- const normalized = _chunkDGY5KEPYcjs.normalizeOSType.call(void 0, osType);
10512
+ const normalized = _chunk4ASUUB3Acjs.normalizeOSType.call(void 0, osType);
10511
10513
  if (!normalized && !labelOnly) return null;
10512
- const label = _chunkDGY5KEPYcjs.getOSLabel.call(void 0, osType);
10513
- const IconComponent = _chunkDGY5KEPYcjs.getOSIcon.call(void 0, osType);
10514
+ const label = _chunk4ASUUB3Acjs.getOSLabel.call(void 0, osType);
10515
+ const IconComponent = _chunk4ASUUB3Acjs.getOSIcon.call(void 0, osType);
10514
10516
  if (iconOnly && IconComponent) {
10515
10517
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk63A4GZMBcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
10516
10518
  }
@@ -10807,7 +10809,7 @@ function ComplianceLogo({
10807
10809
  fallback = null,
10808
10810
  className
10809
10811
  }) {
10810
- const standard = _chunkDGY5KEPYcjs.complianceStandardForName.call(void 0, ...names);
10812
+ const standard = _chunk4ASUUB3Acjs.complianceStandardForName.call(void 0, ...names);
10811
10813
  if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
10812
10814
  const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
10813
10815
  return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10888,7 +10890,7 @@ function FeatureCardGridView({
10888
10890
  if (allCardsHaveNoBorders) {
10889
10891
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
10890
10892
  }
10891
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10893
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10892
10894
  const startIndex = rowIndex * itemsPerRow;
10893
10895
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
10894
10896
  const isLastRow = rowIndex === rows - 1;
@@ -10922,7 +10924,7 @@ function FeatureCardGridView({
10922
10924
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
10923
10925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
10924
10926
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10925
- _chunkTD4CC4KVcjs.StatusBadge,
10927
+ _chunkEUEPGHY4cjs.StatusBadge,
10926
10928
  {
10927
10929
  text: item.badge.text,
10928
10930
  variant: item.badge.variant || "card",
@@ -10931,7 +10933,7 @@ function FeatureCardGridView({
10931
10933
  )
10932
10934
  ] }),
10933
10935
  !item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10934
- _chunkTD4CC4KVcjs.StatusBadge,
10936
+ _chunkEUEPGHY4cjs.StatusBadge,
10935
10937
  {
10936
10938
  text: item.badge.text,
10937
10939
  variant: item.badge.variant || "card",
@@ -11815,7 +11817,7 @@ function ServiceCard({
11815
11817
  function ServiceCardRowItem({ row, loading: loadingProp }) {
11816
11818
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
11817
11819
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
11818
- const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
11820
+ const { copy, copied } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, );
11819
11821
  const { ref: valueRef, isTruncated: valueTruncated } = _chunkCOWMXUHNcjs.useIsTruncated.call(void 0, row.value);
11820
11822
  const actions = _react.useMemo.call(void 0, () => rowActions(row), [row]);
11821
11823
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
@@ -11823,7 +11825,7 @@ function ServiceCardRowItem({ row, loading: loadingProp }) {
11823
11825
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
11824
11826
  const openInNewTab2 = () => {
11825
11827
  if (!row.href) return;
11826
- _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
11828
+ _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
11827
11829
  };
11828
11830
  const labelColumn = loading ? row.label !== void 0 : !!row.label;
11829
11831
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SERVICE_CARD_ROW_CLASS, children: [
@@ -12849,7 +12851,7 @@ function DataTableRowImpl({
12849
12851
  const containerRef = _react.useRef.call(void 0, null);
12850
12852
  const handleClick = _react.useCallback.call(void 0,
12851
12853
  (e) => {
12852
- if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
12854
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
12853
12855
  if (isLinkMode) e.preventDefault();
12854
12856
  return;
12855
12857
  }
@@ -12863,7 +12865,7 @@ function DataTableRowImpl({
12863
12865
  if (!(target instanceof Element) || !_optionalChain([container, 'optionalAccess', _224 => _224.contains, 'call', _225 => _225(target)])) return;
12864
12866
  const nestedLink = target.closest("a");
12865
12867
  if (nestedLink && nestedLink !== container && container.contains(nestedLink)) return;
12866
- if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, target, container) || target.closest(ROW_LINK_CONTROL_SELECTOR)) e.preventDefault();
12868
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, target, container) || target.closest(ROW_LINK_CONTROL_SELECTOR)) e.preventDefault();
12867
12869
  }, []);
12868
12870
  const containerClassName = _chunk63A4GZMBcjs.cn.call(void 0,
12869
12871
  DATA_TABLE_ROW_FRAME_CLASS,
@@ -12993,7 +12995,7 @@ function DataTableBody({
12993
12995
  const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
12994
12996
  if (loading && loadingCells && hasRows) {
12995
12997
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12996
- _chunkEV6BPF47cjs.LoadingFallback,
12998
+ _chunkWPMJUYW3cjs.LoadingFallback,
12997
12999
  {
12998
13000
  label: "Loading results",
12999
13001
  status: loadingRegion && !inScope,
@@ -13342,7 +13344,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13342
13344
  // child of the cell.
13343
13345
  _optionalChain([meta, 'optionalAccess', _244 => _244.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
13344
13346
  filterTrigger,
13345
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13347
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4ASUUB3Acjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13346
13348
  ] }) : filterTrigger
13347
13349
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13348
13350
  "div",
@@ -13367,7 +13369,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13367
13369
  // centred on the row.
13368
13370
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
13369
13371
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13370
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13372
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4ASUUB3Acjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13371
13373
  ] })
13372
13374
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13373
13375
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -13606,7 +13608,7 @@ function PhoneInput({
13606
13608
  placeholder = "Phone Number (optional)",
13607
13609
  onKeyDown
13608
13610
  }) {
13609
- const { priority, others } = _react.useMemo.call(void 0, () => _chunkDGY5KEPYcjs.getCountryPhoneData.call(void 0, ), []);
13611
+ const { priority, others } = _react.useMemo.call(void 0, () => _chunk4ASUUB3Acjs.getCountryPhoneData.call(void 0, ), []);
13610
13612
  const selectedCountry = _react.useMemo.call(void 0,
13611
13613
  () => [...priority, ...others].find((c) => c.code === countryCode),
13612
13614
  [countryCode, priority, others]
@@ -13621,7 +13623,7 @@ function PhoneInput({
13621
13623
  _optionalChain([onValidationChange, 'optionalCall', _261 => _261(false)]);
13622
13624
  return;
13623
13625
  }
13624
- const invalid = !_chunkDGY5KEPYcjs.validatePhoneNumber.call(void 0, phone, countryCode);
13626
+ const invalid = !_chunk4ASUUB3Acjs.validatePhoneNumber.call(void 0, phone, countryCode);
13625
13627
  setIsInvalid(invalid);
13626
13628
  _optionalChain([onValidationChange, 'optionalCall', _262 => _262(invalid)]);
13627
13629
  },
@@ -14059,7 +14061,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
14059
14061
  ),
14060
14062
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
14061
14063
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14062
- _chunkEV6BPF47cjs.TabSelector,
14064
+ _chunkWPMJUYW3cjs.TabSelector,
14063
14065
  {
14064
14066
  label: "Search engines",
14065
14067
  value: choice,
@@ -14116,7 +14118,7 @@ function useMarkdownLinkCommand() {
14116
14118
  buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
14117
14119
  icon: command.icon,
14118
14120
  execute: (state, api) => {
14119
- const existing = _chunkEV6BPF47cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
14121
+ const existing = _chunkWPMJUYW3cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
14120
14122
  setPending(
14121
14123
  existing ? {
14122
14124
  api,
@@ -14147,7 +14149,7 @@ function useMarkdownLinkCommand() {
14147
14149
  initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _292 => _292.initial]), () => ( EMPTY_LINK)),
14148
14150
  editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _293 => _293.editing]), () => ( false)),
14149
14151
  onSubmit: (link) => {
14150
- if (pending) write(pending, _chunkEV6BPF47cjs.formatMarkdownLink.call(void 0, link));
14152
+ if (pending) write(pending, _chunkWPMJUYW3cjs.formatMarkdownLink.call(void 0, link));
14151
14153
  },
14152
14154
  onRemove: () => {
14153
14155
  if (pending) write(pending, pending.initial.text);
@@ -14313,7 +14315,7 @@ function MarkdownEditor({
14313
14315
  setUploadProgress(`Uploading ${file.name}...`);
14314
14316
  try {
14315
14317
  const url = await onUploadFile(file);
14316
- const isImage = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === "image";
14318
+ const isImage = _chunk23DVVS4Icjs.fileMediaType.call(void 0, file) === "image";
14317
14319
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
14318
14320
  insertTextAtCursor(markdown);
14319
14321
  _optionalChain([onFileUploaded, 'optionalCall', _296 => _296(url, file.name)]);
@@ -14443,7 +14445,7 @@ function MarkdownEditor({
14443
14445
  type: "file",
14444
14446
  className: "hidden",
14445
14447
  onChange: handleFileInputChange,
14446
- accept: `${_chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
14448
+ accept: `${_chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
14447
14449
  }
14448
14450
  ),
14449
14451
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorHeightContext.Provider, { value: height, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownEditorFieldSkeleton, { height }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14858,7 +14860,7 @@ function matchesAccept2(file, accept) {
14858
14860
  return patterns.some((pattern) => {
14859
14861
  if (pattern.startsWith(".")) return fileName.endsWith(pattern);
14860
14862
  if (pattern.endsWith("/*"))
14861
- return fileType.startsWith(pattern.slice(0, -1)) || _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
14863
+ return fileType.startsWith(pattern.slice(0, -1)) || _chunk23DVVS4Icjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
14862
14864
  return fileType === pattern;
14863
14865
  });
14864
14866
  }
@@ -14866,7 +14868,7 @@ function ImageUploader({
14866
14868
  value,
14867
14869
  onChange,
14868
14870
  onRemove,
14869
- accept = _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
14871
+ accept = _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT,
14870
14872
  maxSize = DEFAULT_MAX_SIZE,
14871
14873
  label = "Cover Image",
14872
14874
  description = "(Click Here or Drag and Drop)",
@@ -15543,7 +15545,7 @@ function TestResultsTable({ rows, loading: loadingProp }) {
15543
15545
  ] }) }) });
15544
15546
  }
15545
15547
  function TestRunErrorBanner({ error, className }) {
15546
- const { copy } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
15548
+ const { copy } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
15547
15549
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15548
15550
  "div",
15549
15551
  {
@@ -16029,7 +16031,7 @@ function TicketInfoSection({
16029
16031
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16030
16032
  createdAt && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-2 items-center gap-4 border-b border-ods-border bg-ods-bg px-4 py-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell, { value: createdAt, label: "Created" }) }),
16031
16033
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
16032
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.SimpleMarkdownRenderer, { content: description }),
16034
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.SimpleMarkdownRenderer, { content: description }),
16033
16035
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
16034
16036
  tags && tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-w-0 flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
16035
16037
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16504,7 +16506,7 @@ function PhotoWall({
16504
16506
  gap: COLUMN_GAP_PX
16505
16507
  };
16506
16508
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk63A4GZMBcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16507
- _chunkEV6BPF47cjs.MarqueeWall,
16509
+ _chunkWPMJUYW3cjs.MarqueeWall,
16508
16510
  {
16509
16511
  axis: "y",
16510
16512
  reverse: index % 2 === 1,
@@ -17049,7 +17051,7 @@ function LoadingLabel({ label, typical }) {
17049
17051
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: label.split(/(\{\w+\})/).map(
17050
17052
  (part, index) => /^\{\w+\}$/.test(part) ? (
17051
17053
  // biome-ignore lint/suspicious/noArrayIndexKey: the parts of one fixed string never reorder
17052
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.TextHold, { children: typical }, index)
17054
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.TextHold, { children: typical }, index)
17053
17055
  ) : part
17054
17056
  ) });
17055
17057
  }
@@ -17064,7 +17066,7 @@ var TRIAL_TERM_ICONS = {
17064
17066
  };
17065
17067
  var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
17066
17068
  function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
17067
- const labels = _chunkDGY5KEPYcjs.trialLabels.call(void 0, trialDays);
17069
+ const labels = _chunk4ASUUB3Acjs.trialLabels.call(void 0, trialDays);
17068
17070
  return terms.flatMap((term) => {
17069
17071
  const label = labels[term];
17070
17072
  return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
@@ -17373,8 +17375,8 @@ function SnapCarousel({
17373
17375
  }) {
17374
17376
  const trackRef = _react.useRef.call(void 0, null);
17375
17377
  const [index, setIndex] = _react.useState.call(void 0, 0);
17376
- const { ref: viewRef, inView } = _chunkFRL2ZN4Ocjs.useInView.call(void 0, { threshold: 0.5 });
17377
- const auto = _chunkFRL2ZN4Ocjs.useAutoplay.call(void 0, inView);
17378
+ const { ref: viewRef, inView } = _chunkXCVH5BCZcjs.useInView.call(void 0, { threshold: 0.5 });
17379
+ const auto = _chunkXCVH5BCZcjs.useAutoplay.call(void 0, inView);
17378
17380
  const count = items.length;
17379
17381
  const slideStep = _react.useCallback.call(void 0, () => {
17380
17382
  const first = _optionalChain([trackRef, 'access', _349 => _349.current, 'optionalAccess', _350 => _350.firstElementChild]);
@@ -17418,7 +17420,7 @@ function SnapCarousel({
17418
17420
  const goNext = _react.useCallback.call(void 0, () => goTo(index >= count - 1 ? 0 : index + 1), [count, goTo, index]);
17419
17421
  const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
17420
17422
  const playing = auto.playing && canAutoAdvance;
17421
- const ranMs = _chunkE7M54JWWcjs.useResumableTimeout.call(void 0, {
17423
+ const ranMs = _chunkSSSI2RBVcjs.useResumableTimeout.call(void 0, {
17422
17424
  running: playing,
17423
17425
  durationMs: autoAdvanceMs,
17424
17426
  resetKey: index,
@@ -17769,10 +17771,10 @@ function AccountDetailsFields({
17769
17771
  onKeyDown,
17770
17772
  layout = "stacked"
17771
17773
  }) {
17772
- const firstNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _351 => _351.firstName]), firstName);
17773
- const lastNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _352 => _352.lastName]), lastName);
17774
- const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _353 => _353.password]), password);
17775
- const confirmErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _354 => _354.confirmPassword]), confirmPassword);
17774
+ const firstNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _351 => _351.firstName]), firstName);
17775
+ const lastNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _352 => _352.lastName]), lastName);
17776
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _353 => _353.password]), password);
17777
+ const confirmErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _354 => _354.confirmPassword]), confirmPassword);
17776
17778
  const names = [
17777
17779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17778
17780
  _chunkSWF6TNZ3cjs.Input,
@@ -18038,7 +18040,7 @@ function SsoProviderButtons({
18038
18040
  // where a long organization name would otherwise push the label out of a phone-width
18039
18041
  // button. `block` over its inline-flex, because an ellipsis only renders on a block box.
18040
18042
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18041
- _chunkTD4CC4KVcjs.StatusBadge,
18043
+ _chunkEUEPGHY4cjs.StatusBadge,
18042
18044
  {
18043
18045
  text: tag,
18044
18046
  variant: "button",
@@ -18098,7 +18100,7 @@ function CompleteAccountForm({
18098
18100
  ),
18099
18101
  children: [
18100
18102
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18101
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18103
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18102
18104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18103
18105
  ] }),
18104
18106
  (ssoProvidersLoading || ssoProviders && ssoProviders.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18232,9 +18234,9 @@ function CreateOrganizationForm({
18232
18234
  }) {
18233
18235
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
18234
18236
  const fieldsDisabled = disabled || loading;
18235
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _356 => _356.email]), _nullishCoalesce(email, () => ( "")));
18236
- const orgNameErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _357 => _357.organizationName]), organizationName);
18237
- const domainErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _358 => _358.domain]), domain);
18237
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _356 => _356.email]), _nullishCoalesce(email, () => ( "")));
18238
+ const orgNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _357 => _357.organizationName]), organizationName);
18239
+ const domainErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _358 => _358.domain]), domain);
18238
18240
  const handleKeyDown = (event) => {
18239
18241
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18240
18242
  onSubmit();
@@ -18249,7 +18251,7 @@ function CreateOrganizationForm({
18249
18251
  ),
18250
18252
  children: [
18251
18253
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18252
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18254
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18253
18255
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle === null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: CREATE_ORGANIZATION_SUBTITLE_BAR_CLASS }) : subtitle })
18254
18256
  ] }),
18255
18257
  email === void 0 ? null : emailReadOnly && emailReadOnlyLabel === null ? (
@@ -18396,7 +18398,7 @@ function InviteLinkInvalidModal({
18396
18398
  ),
18397
18399
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
18398
18400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
18399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18401
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18400
18402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18401
18403
  _chunkFCZAUK4Dcjs.Button,
18402
18404
  {
@@ -18462,7 +18464,7 @@ function LoginForm({
18462
18464
  }) {
18463
18465
  const fieldDisabled = disabled || loading;
18464
18466
  const providersDisabled = fieldDisabled || ssoDisabled;
18465
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
18467
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
18466
18468
  const handleKeyDown = (event) => {
18467
18469
  if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
18468
18470
  if (onSubmitClick) {
@@ -18480,7 +18482,7 @@ function LoginForm({
18480
18482
  ),
18481
18483
  children: [
18482
18484
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18483
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18485
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18484
18486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18485
18487
  ] }),
18486
18488
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18607,7 +18609,7 @@ function NoAccountNotice({
18607
18609
  ),
18608
18610
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full max-w-[600px] flex-col gap-[var(--spacing-system-l)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xl)]", children: [
18609
18611
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18610
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18612
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18611
18613
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
18612
18614
  ] }),
18613
18615
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
@@ -18640,8 +18642,8 @@ function OpenFrameSsoLoginForm({
18640
18642
  className
18641
18643
  }) {
18642
18644
  const fieldsDisabled = disabled || loading;
18643
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.email]), email);
18644
- const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.password]), password);
18645
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.email]), email);
18646
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.password]), password);
18645
18647
  const handleKeyDown = (event) => {
18646
18648
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18647
18649
  onSubmit();
@@ -18656,7 +18658,7 @@ function OpenFrameSsoLoginForm({
18656
18658
  ),
18657
18659
  children: [
18658
18660
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
18659
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18661
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18660
18662
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18661
18663
  ] }),
18662
18664
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18746,7 +18748,7 @@ function OpenFrameSsoSignUpForm({
18746
18748
  className
18747
18749
  }) {
18748
18750
  const fieldsDisabled = disabled || loading;
18749
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
18751
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
18750
18752
  const handleKeyDown = (event) => {
18751
18753
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18752
18754
  onSubmit();
@@ -18761,7 +18763,7 @@ function OpenFrameSsoSignUpForm({
18761
18763
  ),
18762
18764
  children: [
18763
18765
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
18764
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18766
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18765
18767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18766
18768
  ] }),
18767
18769
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18851,8 +18853,8 @@ function PasswordResetForm({
18851
18853
  className
18852
18854
  }) {
18853
18855
  const fieldsDisabled = disabled || loading;
18854
- const passwordErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.password]), password);
18855
- const confirmErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.confirmPassword]), confirmPassword);
18856
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.password]), password);
18857
+ const confirmErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.confirmPassword]), confirmPassword);
18856
18858
  const handleKeyDown = (event) => {
18857
18859
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18858
18860
  onSubmit();
@@ -18867,7 +18869,7 @@ function PasswordResetForm({
18867
18869
  ),
18868
18870
  children: [
18869
18871
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18870
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18872
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18871
18873
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18872
18874
  ] }),
18873
18875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18988,7 +18990,7 @@ function SsoJoinForm({
18988
18990
  ),
18989
18991
  children: [
18990
18992
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18991
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkRSJYTQEAcjs.accentSentenceMarks.call(void 0, title) }),
18993
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunk23DVVS4Icjs.accentSentenceMarks.call(void 0, title) }),
18992
18994
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18993
18995
  ] }),
18994
18996
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-s)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]", children: [
@@ -19254,7 +19256,7 @@ function ChangelogManager({
19254
19256
  ),
19255
19257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h6", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "italic text-ods-text-secondary text-h6", children: "New entry (click to edit)" }) }),
19256
19258
  tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19257
- _chunkTD4CC4KVcjs.StatusBadge,
19259
+ _chunkEUEPGHY4cjs.StatusBadge,
19258
19260
  {
19259
19261
  variant: "button",
19260
19262
  singleLine: true,
@@ -19593,7 +19595,7 @@ function EntityTagBadgesSkeleton({
19593
19595
  }) {
19594
19596
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, TAG_ROW_CLASS, className), children: [
19595
19597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19596
- _chunkTD4CC4KVcjs.StatusBadge,
19598
+ _chunkEUEPGHY4cjs.StatusBadge,
19597
19599
  {
19598
19600
  loading: true,
19599
19601
  text: "",
@@ -19601,7 +19603,7 @@ function EntityTagBadgesSkeleton({
19601
19603
  className: _chunk63A4GZMBcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS)))
19602
19604
  }
19603
19605
  ) }) }),
19604
- overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.StatusBadge, { loading: true, text: "", variant: "card", className: _chunk63A4GZMBcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
19606
+ overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.StatusBadge, { loading: true, text: "", variant: "card", className: _chunk63A4GZMBcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
19605
19607
  ] });
19606
19608
  }
19607
19609
  function EntityTagBadges({
@@ -19629,7 +19631,7 @@ function EntityTagBadges({
19629
19631
  const label = (tag.name || "").toUpperCase();
19630
19632
  if (basePath && tag.slug) {
19631
19633
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: `${basePath}?tags=${tag.slug}`, className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19632
- _chunkTD4CC4KVcjs.StatusBadge,
19634
+ _chunkEUEPGHY4cjs.StatusBadge,
19633
19635
  {
19634
19636
  text: label,
19635
19637
  variant: "card",
@@ -19637,7 +19639,7 @@ function EntityTagBadges({
19637
19639
  }
19638
19640
  ) }, key);
19639
19641
  }
19640
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
19642
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
19641
19643
  }),
19642
19644
  phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
19643
19645
  phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
@@ -19646,7 +19648,7 @@ function EntityTagBadges({
19646
19648
  ] });
19647
19649
  }
19648
19650
  function OverflowBadge({ count, className }) {
19649
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk63A4GZMBcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
19651
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk63A4GZMBcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
19650
19652
  }
19651
19653
 
19652
19654
  // src/components/features/error-boundary.tsx
@@ -19741,7 +19743,7 @@ var SectionButton = ({
19741
19743
  }
19742
19744
  ),
19743
19745
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19744
- _chunkTD4CC4KVcjs.StatusBadge,
19746
+ _chunkEUEPGHY4cjs.StatusBadge,
19745
19747
  {
19746
19748
  text: section.badge.text,
19747
19749
  variant: section.badge.variant || "button",
@@ -19760,7 +19762,7 @@ var SectionButton = ({
19760
19762
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
19761
19763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
19762
19764
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19763
- _chunkTD4CC4KVcjs.StatusBadge,
19765
+ _chunkEUEPGHY4cjs.StatusBadge,
19764
19766
  {
19765
19767
  text: section.badge.text,
19766
19768
  variant: section.badge.variant || "button",
@@ -20823,15 +20825,15 @@ function useLoading() {
20823
20825
 
20824
20826
 
20825
20827
  function isAlreadyThere(file, existing) {
20826
- const key = _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, file.name);
20828
+ const key = _chunk23DVVS4Icjs.mediaNameKey.call(void 0, file.name);
20827
20829
  if (!key) return false;
20828
20830
  return existing.some(
20829
- (item) => (item.title ? _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, item.media_url) === key : false)
20831
+ (item) => (item.title ? _chunk23DVVS4Icjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunk23DVVS4Icjs.mediaNameKey.call(void 0, item.media_url) === key : false)
20830
20832
  );
20831
20833
  }
20832
20834
  var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
20833
- var isVideoItem = (item) => _chunkRSJYTQEAcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
20834
- var MEDIA_KIND_ACCEPT = { image: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkRSJYTQEAcjs.MEDIA_FILE_ACCEPT };
20835
+ var isVideoItem = (item) => _chunk23DVVS4Icjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
20836
+ var MEDIA_KIND_ACCEPT = { image: _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunk23DVVS4Icjs.MEDIA_FILE_ACCEPT };
20835
20837
  var MEDIA_KIND_COPY = {
20836
20838
  image: { noun: "pictures", refusal: "Not a picture" },
20837
20839
  video: { noun: "videos", refusal: "Not a video" },
@@ -20855,12 +20857,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
20855
20857
  const seen = /* @__PURE__ */ new Set();
20856
20858
  const accepted = [];
20857
20859
  for (const file of files) {
20858
- const mediaType = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file);
20860
+ const mediaType = _chunk23DVVS4Icjs.fileMediaType.call(void 0, file);
20859
20861
  if (!mediaType || kinds !== "both" && mediaType !== kinds) {
20860
20862
  unsupported.push(file.name);
20861
20863
  continue;
20862
20864
  }
20863
- const contentKey = await _chunkRSJYTQEAcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
20865
+ const contentKey = await _chunk23DVVS4Icjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
20864
20866
  if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
20865
20867
  duplicates.push(file.name);
20866
20868
  continue;
@@ -21041,7 +21043,7 @@ function MediaGalleryManager({
21041
21043
  className: _chunk63A4GZMBcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
21042
21044
  children: [
21043
21045
  media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21044
- _chunkTD4CC4KVcjs.Card,
21046
+ _chunkEUEPGHY4cjs.Card,
21045
21047
  {
21046
21048
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
21047
21049
  draggable: true,
@@ -21066,7 +21068,7 @@ function MediaGalleryManager({
21066
21068
  ) }),
21067
21069
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
21068
21070
  // <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
21069
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
21071
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
21070
21072
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21071
21073
  _chunk3V5JWG27cjs.next_image_default,
21072
21074
  {
@@ -21118,7 +21120,7 @@ function MediaGalleryManager({
21118
21120
  },
21119
21121
  _nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
21120
21122
  )),
21121
- pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTD4CC4KVcjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21123
+ pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEUEPGHY4cjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21122
21124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex aspect-video items-center justify-center rounded-lg bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) }),
21123
21125
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
21124
21126
  ] }, `pending-${name}-${index}`))
@@ -21475,7 +21477,7 @@ var MODEL_TOKEN_RATES_COPY = {
21475
21477
  empty: "No token rates are in effect right now."
21476
21478
  };
21477
21479
  function providerMark(providerType, stated, className) {
21478
- const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunkDGY5KEPYcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
21480
+ const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunk4ASUUB3Acjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
21479
21481
  return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
21480
21482
  }
21481
21483
  var PAD_X = "px-[var(--spacing-system-s)]";
@@ -21493,7 +21495,7 @@ var UNIT_LINE_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
21493
21495
  var TABS_ROW_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
21494
21496
  var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
21495
21497
  function useProviderGroup(rates) {
21496
- const groups = _chunkDGY5KEPYcjs.groupTokenRatesByProvider.call(void 0, rates);
21498
+ const groups = _chunk4ASUUB3Acjs.groupTokenRatesByProvider.call(void 0, rates);
21497
21499
  const [picked, setPicked] = _react.useState.call(void 0, null);
21498
21500
  return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
21499
21501
  }
@@ -21504,7 +21506,7 @@ function ProviderTabs({
21504
21506
  className
21505
21507
  }) {
21506
21508
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21507
- _chunkEV6BPF47cjs.TabSelector,
21509
+ _chunkWPMJUYW3cjs.TabSelector,
21508
21510
  {
21509
21511
  variant: "secondary",
21510
21512
  scrollable: true,
@@ -21512,7 +21514,7 @@ function ProviderTabs({
21512
21514
  onValueChange,
21513
21515
  items: groups.map((candidate) => ({
21514
21516
  id: candidate.providerType,
21515
- label: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _435 => _435.rates, 'access', _436 => _436[0], 'optionalAccess', _437 => _437.providerLabel])),
21517
+ label: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _435 => _435.rates, 'access', _436 => _436[0], 'optionalAccess', _437 => _437.providerLabel])),
21516
21518
  icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _438 => _438.rates, 'access', _439 => _439[0], 'optionalAccess', _440 => _440.providerIcon]), "size-full")
21517
21519
  })),
21518
21520
  className
@@ -21589,8 +21591,8 @@ function ModelTokenRatesTable({ rates }) {
21589
21591
  ] }),
21590
21592
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "rowgroup", className: "min-h-0 flex-1 overflow-y-auto", children: group.rates.map((rate) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-loading-item": true, role: "row", className: BODY_ROW_CLASS, children: [
21591
21593
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
21592
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
21593
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
21594
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
21595
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
21594
21596
  ] }, rate.modelName)) })
21595
21597
  ] }),
21596
21598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
@@ -21637,7 +21639,7 @@ function modelOption(rate) {
21637
21639
  return {
21638
21640
  label: rate.displayName || rate.modelName,
21639
21641
  value: rate.modelName,
21640
- description: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
21642
+ description: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
21641
21643
  icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
21642
21644
  };
21643
21645
  }
@@ -21692,8 +21694,8 @@ function ModelTokenExchange({
21692
21694
  const [chosen, setChosen] = _react.useState.call(void 0, null);
21693
21695
  const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _441 => _441.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
21694
21696
  const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
21695
- const tokens = _chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, balance);
21696
- const cost = _chunkDGY5KEPYcjs.tokenCost.call(void 0, balance, tokenPrice);
21697
+ const tokens = _chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, balance);
21698
+ const cost = _chunk4ASUUB3Acjs.tokenCost.call(void 0, balance, tokenPrice);
21697
21699
  const balancePrice = cost === null ? null : _chunkNFNSPLGCcjs.formatPrice.call(void 0, cost);
21698
21700
  const model = rate ? rate.displayName || rate.modelName : "";
21699
21701
  const options = models.map(modelOption);
@@ -21736,7 +21738,7 @@ function ModelTokenExchange({
21736
21738
  variant: preset.tokens === balance ? "accent" : "outline",
21737
21739
  size: "small",
21738
21740
  onClick: () => setChosen(preset.tokens),
21739
- children: copy.buy.preset(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
21741
+ children: copy.buy.preset(_chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
21740
21742
  },
21741
21743
  preset.label
21742
21744
  )) })
@@ -21753,7 +21755,7 @@ function ModelTokenExchange({
21753
21755
  const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _442 => _442.providerType]) === providerType ? rate : null)));
21754
21756
  return {
21755
21757
  id: providerType,
21756
- name: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
21758
+ name: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
21757
21759
  icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _444 => _444.providerIcon]), "size-8 text-ods-text-secondary")
21758
21760
  };
21759
21761
  }),
@@ -21792,7 +21794,7 @@ function ModelTokenExchange({
21792
21794
  {
21793
21795
  size: "plain",
21794
21796
  loading,
21795
- figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
21797
+ figure: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
21796
21798
  words: copy.charge.input
21797
21799
  }
21798
21800
  ),
@@ -21801,7 +21803,7 @@ function ModelTokenExchange({
21801
21803
  {
21802
21804
  size: "plain",
21803
21805
  loading,
21804
- figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
21806
+ figure: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
21805
21807
  words: copy.charge.output
21806
21808
  }
21807
21809
  )
@@ -21813,9 +21815,9 @@ function ModelTokenExchange({
21813
21815
  className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
21814
21816
  children: [
21815
21817
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[2lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
21816
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, _chunkDGY5KEPYcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
21818
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, _chunk4ASUUB3Acjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
21817
21819
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
21818
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, _chunkDGY5KEPYcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
21820
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, _chunk4ASUUB3Acjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
21819
21821
  ]
21820
21822
  }
21821
21823
  )
@@ -22335,14 +22337,14 @@ var ConfidenceBadge = ({
22335
22337
  size = "sm",
22336
22338
  className
22337
22339
  }) => {
22338
- const level = _chunkDGY5KEPYcjs.getConfidenceLevel.call(void 0, confidence);
22340
+ const level = _chunk4ASUUB3Acjs.getConfidenceLevel.call(void 0, confidence);
22339
22341
  if (level === "none") {
22340
22342
  return null;
22341
22343
  }
22342
- const label = _chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence);
22343
- const borderClass = _chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence);
22344
- const textClass = _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence);
22345
- const bgClass = _chunkDGY5KEPYcjs.getConfidenceBgClass.call(void 0, confidence);
22344
+ const label = _chunk4ASUUB3Acjs.getConfidenceLabel.call(void 0, confidence);
22345
+ const borderClass = _chunk4ASUUB3Acjs.getConfidenceBorderClass.call(void 0, confidence);
22346
+ const textClass = _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence);
22347
+ const bgClass = _chunk4ASUUB3Acjs.getConfidenceBgClass.call(void 0, confidence);
22346
22348
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22347
22349
  "span",
22348
22350
  {
@@ -22393,9 +22395,9 @@ function SEOEditorPreview({
22393
22395
  const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
22394
22396
  const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
22395
22397
  const seoTitleLength = (seoTitle || "").length;
22396
- const seoTitleTooLong = seoTitleLength > _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH;
22398
+ const seoTitleTooLong = seoTitleLength > _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH;
22397
22399
  const seoDescriptionLength = (seoDescription || "").length;
22398
- const seoDescriptionTooLong = seoDescriptionLength > _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH;
22400
+ const seoDescriptionTooLong = seoDescriptionLength > _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH;
22399
22401
  const displayTitle = seoTitle.trim() || title || "Untitled";
22400
22402
  const displayDescription = seoDescription.trim() || summary || "No description";
22401
22403
  const hasOgImage = ogImageUrl.trim();
@@ -22420,10 +22422,10 @@ function SEOEditorPreview({
22420
22422
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
22421
22423
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
22422
22424
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22423
- _chunkDGY5KEPYcjs.Field,
22425
+ _chunk4ASUUB3Acjs.Field,
22424
22426
  {
22425
22427
  label: "SEO Title",
22426
- error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH})` : null,
22428
+ error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH})` : null,
22427
22429
  labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
22428
22430
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
22429
22431
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
@@ -22438,7 +22440,7 @@ function SEOEditorPreview({
22438
22440
  children: [
22439
22441
  seoTitleLength,
22440
22442
  "/",
22441
- _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH
22443
+ _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH
22442
22444
  ]
22443
22445
  }
22444
22446
  ),
@@ -22449,7 +22451,7 @@ function SEOEditorPreview({
22449
22451
  value: seoTitle || "",
22450
22452
  onChange: (e) => onSeoTitleChange(e.target.value),
22451
22453
  disabled,
22452
- maxLength: _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH,
22454
+ maxLength: _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH,
22453
22455
  invalid: seoTitleTooLong,
22454
22456
  placeholder: "Enter SEO meta title...",
22455
22457
  className: "border-ods-border bg-ods-bg text-ods-text-primary"
@@ -22460,7 +22462,7 @@ function SEOEditorPreview({
22460
22462
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
22461
22463
  ] }),
22462
22464
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22463
- _chunkDGY5KEPYcjs.Field,
22465
+ _chunk4ASUUB3Acjs.Field,
22464
22466
  {
22465
22467
  label: "SEO Keywords",
22466
22468
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -22492,10 +22494,10 @@ function SEOEditorPreview({
22492
22494
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
22493
22495
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
22494
22496
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22495
- _chunkDGY5KEPYcjs.Field,
22497
+ _chunk4ASUUB3Acjs.Field,
22496
22498
  {
22497
22499
  label: "SEO Description",
22498
- error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
22500
+ error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
22499
22501
  labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
22500
22502
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
22501
22503
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22518,7 +22520,7 @@ function SEOEditorPreview({
22518
22520
  children: [
22519
22521
  seoDescriptionLength,
22520
22522
  "/",
22521
- _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH
22523
+ _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH
22522
22524
  ]
22523
22525
  }
22524
22526
  ),
@@ -22529,7 +22531,7 @@ function SEOEditorPreview({
22529
22531
  value: seoDescription || "",
22530
22532
  onChange: (e) => onSeoDescriptionChange(e.target.value),
22531
22533
  disabled,
22532
- maxLength: _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH,
22534
+ maxLength: _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH,
22533
22535
  invalid: seoDescriptionTooLong,
22534
22536
  placeholder: "Enter SEO meta description...",
22535
22537
  className: _chunk63A4GZMBcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
@@ -22598,7 +22600,7 @@ function SEOEditorPreview({
22598
22600
  {
22599
22601
  ref: setFileInputRef,
22600
22602
  type: "file",
22601
- accept: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
22603
+ accept: _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT,
22602
22604
  onChange: handleImageUpload,
22603
22605
  className: "hidden",
22604
22606
  disabled: disabled || isUploading
@@ -22680,7 +22682,7 @@ function socialIcon(platform) {
22680
22682
  return _nullishCoalesce(_chunkJQCQCE6Ucjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
22681
22683
  }
22682
22684
  function renderSocialIcon(platform) {
22683
- const key = _nullishCoalesce(_chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
22685
+ const key = _nullishCoalesce(_chunk23DVVS4Icjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
22684
22686
  const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
22685
22687
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
22686
22688
  }
@@ -22771,7 +22773,7 @@ function SocialLinksManager({
22771
22773
  };
22772
22774
  const getIcon = (link, platform) => {
22773
22775
  const iconKey = _optionalChain([platform, 'optionalAccess', _460 => _460.icon_name]) || link.platform;
22774
- const key = _chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, iconKey);
22776
+ const key = _chunk23DVVS4Icjs.normalizeSocialPlatform.call(void 0, iconKey);
22775
22777
  if (!key) return null;
22776
22778
  const icon = socialIcon(key);
22777
22779
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
@@ -22907,7 +22909,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
22907
22909
  className: _chunk63A4GZMBcjs.cn.call(void 0, modeClassName, className),
22908
22910
  style: customStyle,
22909
22911
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
22910
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
22912
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
22911
22913
  children
22912
22914
  }
22913
22915
  );
@@ -23235,11 +23237,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
23235
23237
 
23236
23238
  function VideoBitesDisplay({
23237
23239
  bites,
23238
- title = _chunkTD4CC4KVcjs.DEFAULT_VIDEO_BITES_TITLE,
23240
+ title = _chunkEUEPGHY4cjs.DEFAULT_VIDEO_BITES_TITLE,
23239
23241
  filterPublished = true,
23240
23242
  showTitle = true
23241
23243
  }) {
23242
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23244
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23243
23245
  }
23244
23246
 
23245
23247
  // src/components/features/walkthrough-video.tsx
@@ -23268,7 +23270,7 @@ function WalkthroughVideo({
23268
23270
  onOpenChange,
23269
23271
  defaultOpen,
23270
23272
  defaultOpenPaused,
23271
- deepLinkParam = _chunkDGY5KEPYcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
23273
+ deepLinkParam = _chunk4ASUUB3Acjs.WALKTHROUGH_OPEN_QUERY_PARAM,
23272
23274
  autoPlayCard = false,
23273
23275
  label = "Play Demo Video",
23274
23276
  placement,
@@ -23285,7 +23287,7 @@ function WalkthroughVideo({
23285
23287
  const inline = placement === "inline";
23286
23288
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
23287
23289
  const dismissEnabled = dismissal !== false;
23288
- const storageKey = dismissEnabled && dismissal.storageKey || _chunkDGY5KEPYcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
23290
+ const storageKey = dismissEnabled && dismissal.storageKey || _chunk4ASUUB3Acjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
23289
23291
  const dismissalId = _optionalChain([video, 'optionalAccess', _466 => _466.id]) != null ? String(video.id) : "dismissed";
23290
23292
  const [mounted, setMounted] = _react.useState.call(void 0, false);
23291
23293
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
@@ -23297,7 +23299,7 @@ function WalkthroughVideo({
23297
23299
  let delayElapsed = false;
23298
23300
  let interacted = inline;
23299
23301
  const reveal = () => {
23300
- if (dismissEnabled && _chunkDGY5KEPYcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
23302
+ if (dismissEnabled && _chunk4ASUUB3Acjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
23301
23303
  setDismissed(true);
23302
23304
  return;
23303
23305
  }
@@ -23334,7 +23336,7 @@ function WalkthroughVideo({
23334
23336
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
23335
23337
  };
23336
23338
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
23337
- const hydrated = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
23339
+ const hydrated = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
23338
23340
  const previewSuppressed = _react.useMemo.call(void 0, () => {
23339
23341
  if (!hydrated) return false;
23340
23342
  try {
@@ -23584,7 +23586,7 @@ function WalkthroughVideo({
23584
23586
  (e) => {
23585
23587
  e.stopPropagation();
23586
23588
  pausePreviewNow();
23587
- if (dismissEnabled) _chunkDGY5KEPYcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
23589
+ if (dismissEnabled) _chunk4ASUUB3Acjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
23588
23590
  setDismissed(true);
23589
23591
  },
23590
23592
  [dismissEnabled, storageKey, dismissalId, pausePreviewNow]
@@ -23735,7 +23737,7 @@ function WalkthroughVideo({
23735
23737
  },
23736
23738
  children: [
23737
23739
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23738
- _chunkTD4CC4KVcjs.VideoHoverPreviewSurface,
23740
+ _chunkEUEPGHY4cjs.VideoHoverPreviewSurface,
23739
23741
  {
23740
23742
  url: video.mainVideoUrl || "",
23741
23743
  posterUrl: video.posterUrl ? _chunk3V5JWG27cjs.resizedImageUrl.call(void 0, video.posterUrl, _chunkJQCQCE6Ucjs.IMAGE_WIDTHS[0]) : video.posterUrl,
@@ -23759,7 +23761,7 @@ function WalkthroughVideo({
23759
23761
  `card-${embedUrlKey}`
23760
23762
  ) }),
23761
23763
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23762
- _chunkEV6BPF47cjs.CardHitLayer,
23764
+ _chunkWPMJUYW3cjs.CardHitLayer,
23763
23765
  {
23764
23766
  label: video.title ? `${label}: ${video.title}` : label,
23765
23767
  onPointerDown: pausePreviewNow,
@@ -23875,7 +23877,7 @@ function WalkthroughVideo({
23875
23877
  children: [
23876
23878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
23877
23879
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23878
- _chunkTD4CC4KVcjs.Video,
23880
+ _chunkEUEPGHY4cjs.Video,
23879
23881
  {
23880
23882
  kind: video.youtubeUrl ? "youtube" : "file",
23881
23883
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -23931,7 +23933,7 @@ function useWalkthroughVideo(opts) {
23931
23933
  const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
23932
23934
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
23933
23935
  const enabled = enabledGiven && !inScope;
23934
- const captions = _chunkEV6BPF47cjs.useCaptions.call(void 0, );
23936
+ const captions = _chunkWPMJUYW3cjs.useCaptions.call(void 0, );
23935
23937
  const query = _reactquery.useQuery.call(void 0, {
23936
23938
  queryKey: ["walkthrough-video", endpoint],
23937
23939
  enabled,
@@ -24129,7 +24131,7 @@ function VideoSourceSelector({
24129
24131
  }
24130
24132
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24131
24133
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24132
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "file", url: videoUrl }) }),
24134
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "file", url: videoUrl }) }),
24133
24135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24134
24136
  _chunkFCZAUK4Dcjs.Button,
24135
24137
  {
@@ -24655,7 +24657,7 @@ function HighlightVideoSection({
24655
24657
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
24656
24658
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
24657
24659
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
24658
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
24660
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
24659
24661
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24660
24662
  _chunkFCZAUK4Dcjs.Button,
24661
24663
  {
@@ -24682,7 +24684,7 @@ function HighlightConfigSection({
24682
24684
  disabled = false,
24683
24685
  className = ""
24684
24686
  }) {
24685
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24687
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4ASUUB3Acjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24686
24688
  _chunkWCK5T3UDcjs.Select,
24687
24689
  {
24688
24690
  value: targetDurationSeconds.toString(),
@@ -24783,7 +24785,7 @@ var AIStatusIndicator = ({
24783
24785
  }) => {
24784
24786
  const config = statusConfig[status];
24785
24787
  const displayText = message || config.label;
24786
- const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
24788
+ const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunk4ASUUB3Acjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
24787
24789
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
24788
24790
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24789
24791
  _chunkUNFCRSYIcjs.SparklesIcon,
@@ -24791,7 +24793,7 @@ var AIStatusIndicator = ({
24791
24793
  size: 16,
24792
24794
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24793
24795
  status === "loading" && _chunk3TOWCFIKcjs.LIVE_PULSE_CLASS,
24794
- confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24796
+ confidence !== void 0 && status === "success" ? _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24795
24797
  )
24796
24798
  }
24797
24799
  ),
@@ -24800,7 +24802,7 @@ var AIStatusIndicator = ({
24800
24802
  {
24801
24803
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24802
24804
  "text-h6",
24803
- confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24805
+ confidence !== void 0 && status === "success" ? _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24804
24806
  ),
24805
24807
  children: displayText
24806
24808
  }
@@ -24810,8 +24812,8 @@ var AIStatusIndicator = ({
24810
24812
  {
24811
24813
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24812
24814
  "rounded-full border px-2 py-0.5 text-h6",
24813
- _chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence),
24814
- _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence)
24815
+ _chunk4ASUUB3Acjs.getConfidenceBorderClass.call(void 0, confidence),
24816
+ _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence)
24815
24817
  ),
24816
24818
  children: confidenceLabel
24817
24819
  }
@@ -25432,7 +25434,7 @@ function ApprovalLevelView({
25432
25434
  ] });
25433
25435
  }
25434
25436
  function ApprovalLevelSkeleton({ editable = false, showLabel = true, className }) {
25435
- const name = showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: LEVEL_NAME_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.TextHold, { children: LONGEST_LEVEL_LABEL }) }) : null;
25437
+ const name = showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: LEVEL_NAME_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.TextHold, { children: LONGEST_LEVEL_LABEL }) }) : null;
25436
25438
  if (!editable) {
25437
25439
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
25438
25440
  name,
@@ -25691,7 +25693,7 @@ function OpenPolicyButton({ href, name }) {
25691
25693
  return /* @__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,
25692
25694
  _chunkFCZAUK4Dcjs.Button,
25693
25695
  {
25694
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
25696
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
25695
25697
  disabled: loading,
25696
25698
  variant: "outline",
25697
25699
  size: "icon",
@@ -26065,7 +26067,7 @@ function OpenTenantButton({ href, name }) {
26065
26067
  /* @__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,
26066
26068
  _chunkFCZAUK4Dcjs.Button,
26067
26069
  {
26068
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
26070
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
26069
26071
  disabled: loading,
26070
26072
  variant: "outline",
26071
26073
  size: "icon",
@@ -26197,13 +26199,13 @@ function WaitlistForm({
26197
26199
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
26198
26200
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
26199
26201
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
26200
- const { toast } = _chunkE7M54JWWcjs.useToast.call(void 0, );
26201
- const { honeypotInputProps, getSignals, resetSignals } = _chunkE7M54JWWcjs.useHumanitySignals.call(void 0, );
26202
+ const { toast } = _chunkSSSI2RBVcjs.useToast.call(void 0, );
26203
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkSSSI2RBVcjs.useHumanitySignals.call(void 0, );
26202
26204
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26203
- const isClient = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
26205
+ const isClient = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
26204
26206
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26205
26207
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26206
- const rescue = _chunkE7M54JWWcjs.useFormRescue.call(void 0, {
26208
+ const rescue = _chunkSSSI2RBVcjs.useFormRescue.call(void 0, {
26207
26209
  form: rescueForm,
26208
26210
  // The phone is reported as filled only; its value never leaves the form early.
26209
26211
  fieldNames: ["email", "phone"],
@@ -26215,7 +26217,7 @@ function WaitlistForm({
26215
26217
  _react.useEffect.call(void 0, () => {
26216
26218
  rescue.track({ email, phone }, null);
26217
26219
  }, [email, phone, rescue]);
26218
- const isMailDomainGeneric = _chunkDGY5KEPYcjs.hasGenericEmailDomain.call(void 0, email);
26220
+ const isMailDomainGeneric = _chunk4ASUUB3Acjs.hasGenericEmailDomain.call(void 0, email);
26219
26221
  const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
26220
26222
  if (syncedDefaultEmail !== defaultEmail) {
26221
26223
  setSyncedDefaultEmail(defaultEmail);
@@ -26249,7 +26251,7 @@ function WaitlistForm({
26249
26251
  setShowConsentError(true);
26250
26252
  return;
26251
26253
  }
26252
- const finalPhone = phone ? _chunkDGY5KEPYcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
26254
+ const finalPhone = phone ? _chunk4ASUUB3Acjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
26253
26255
  try {
26254
26256
  await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
26255
26257
  rescue.complete();
@@ -26836,7 +26838,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26836
26838
  }, [mobileBreakpoint]);
26837
26839
  const panelRef = _react.useRef.call(void 0, null);
26838
26840
  const available = useContainerExtent(resizable, isHorizontal, portalContainer);
26839
- const { size, setSize, clampSize } = _chunkWI7EXAZTcjs.useResizablePanelSize.call(void 0, {
26841
+ const { size, setSize, clampSize } = _chunkNMLNZCK2cjs.useResizablePanelSize.call(void 0, {
26840
26842
  enabled: resizable,
26841
26843
  minSize,
26842
26844
  maxSize,
@@ -26856,7 +26858,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26856
26858
  "data-state": open ? "open" : "closed",
26857
26859
  className: _chunk63A4GZMBcjs.cn.call(void 0,
26858
26860
  "absolute inset-0 z-[102] outline-none data-[state=closed]:pointer-events-none data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
26859
- _chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
26861
+ _chunkNMLNZCK2cjs.OVERLAY_BACKDROP_CLASS,
26860
26862
  // Persist mode only: hold the fade-out's final (transparent) frame
26861
26863
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
26862
26864
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -26899,7 +26901,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26899
26901
  children: [
26900
26902
  props["aria-label"] ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Title, { className: "sr-only", children: props["aria-label"] }) : null,
26901
26903
  applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26902
- _chunkEV6BPF47cjs.PanelResizeHandle,
26904
+ _chunkWPMJUYW3cjs.PanelResizeHandle,
26903
26905
  {
26904
26906
  variant: "inLayout",
26905
26907
  side: resolvedSide,
@@ -26938,11 +26940,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26938
26940
  }
26939
26941
  );
26940
26942
  AppLayoutDrawerContent.displayName = "AppLayoutDrawerContent";
26941
- var AppLayoutDrawerHeader = _chunkWI7EXAZTcjs.DrawerHeader;
26942
- var AppLayoutDrawerTitle = _chunkWI7EXAZTcjs.DrawerTitle;
26943
- var AppLayoutDrawerDescription = _chunkWI7EXAZTcjs.DrawerDescription;
26944
- var AppLayoutDrawerBody = _chunkWI7EXAZTcjs.DrawerBody;
26945
- var AppLayoutDrawerFooter = _chunkWI7EXAZTcjs.DrawerFooter;
26943
+ var AppLayoutDrawerHeader = _chunkNMLNZCK2cjs.DrawerHeader;
26944
+ var AppLayoutDrawerTitle = _chunkNMLNZCK2cjs.DrawerTitle;
26945
+ var AppLayoutDrawerDescription = _chunkNMLNZCK2cjs.DrawerDescription;
26946
+ var AppLayoutDrawerBody = _chunkNMLNZCK2cjs.DrawerBody;
26947
+ var AppLayoutDrawerFooter = _chunkNMLNZCK2cjs.DrawerFooter;
26946
26948
 
26947
26949
  // src/components/features/notifications/notification-tile.tsx
26948
26950
 
@@ -26961,7 +26963,7 @@ var typeColorByVariant = {
26961
26963
  error: "text-ods-error"
26962
26964
  };
26963
26965
  var progressColorByVariant2 = {
26964
- ..._chunkE7M54JWWcjs.progressColorByVariant,
26966
+ ..._chunkSSSI2RBVcjs.progressColorByVariant,
26965
26967
  default: "bg-ods-accent",
26966
26968
  info: "bg-ods-accent"
26967
26969
  };
@@ -27055,7 +27057,7 @@ function LoadedNotificationTile({
27055
27057
  height: _chunkJQCQCE6Ucjs.IMAGE_FIXED_PX.icon,
27056
27058
  unoptimized: true
27057
27059
  }
27058
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkE7M54JWWcjs.dotColorByVariant[accentVariant]) }))) }),
27060
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkSSSI2RBVcjs.dotColorByVariant[accentVariant]) }))) }),
27059
27061
  type ? lockscreen ? (
27060
27062
  // A phone names the sender in plain words and never cuts them.
27061
27063
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 break-words text-ods-text-secondary text-h6", children: type })
@@ -27233,7 +27235,7 @@ function NotificationDrawer({
27233
27235
  const unreadNotifications = notifications.filter((n) => !n.read);
27234
27236
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27235
27237
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27236
- _chunkWI7EXAZTcjs.DrawerTitle,
27238
+ _chunkNMLNZCK2cjs.DrawerTitle,
27237
27239
  {
27238
27240
  hideClose: !showClose,
27239
27241
  className: "truncate",
@@ -27296,8 +27298,8 @@ function NotificationDrawer({
27296
27298
  }
27297
27299
  ) });
27298
27300
  }
27299
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27300
- _chunkWI7EXAZTcjs.DrawerContent,
27301
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27302
+ _chunkNMLNZCK2cjs.DrawerContent,
27301
27303
  {
27302
27304
  side: "right",
27303
27305
  "aria-describedby": void 0,
@@ -27393,7 +27395,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
27393
27395
  ] });
27394
27396
  }
27395
27397
  function DesktopNotificationsToggleRow({ checked, onChange }) {
27396
- const { supported, permission, request } = _chunkE7M54JWWcjs.useNotificationPermission.call(void 0, );
27398
+ const { supported, permission, request } = _chunkSSSI2RBVcjs.useNotificationPermission.call(void 0, );
27397
27399
  if (!supported) return null;
27398
27400
  const blocked = permission === "denied";
27399
27401
  const handleChange = async (value) => {
@@ -28276,7 +28278,7 @@ function TimeTrackerHeaderButton({
28276
28278
  "data-state": isOpen ? "open" : "closed",
28277
28279
  className: _chunk63A4GZMBcjs.cn.call(void 0,
28278
28280
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
28279
- _chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
28281
+ _chunkNMLNZCK2cjs.OVERLAY_BACKDROP_CLASS,
28280
28282
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
28281
28283
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
28282
28284
  )
@@ -28452,7 +28454,7 @@ function getDeviceStatusConfig(status) {
28452
28454
  }
28453
28455
  }
28454
28456
  function getDeviceOperatingSystem(osType) {
28455
- return _chunkDGY5KEPYcjs.getOSPlatformId.call(void 0, osType);
28457
+ return _chunk4ASUUB3Acjs.getOSPlatformId.call(void 0, osType);
28456
28458
  }
28457
28459
 
28458
28460
  // src/components/features/devices/device-statuses.ts
@@ -28626,6 +28628,68 @@ function DevicesFilterToolbar({
28626
28628
  // src/components/features/devices/devices-table-columns.tsx
28627
28629
 
28628
28630
 
28631
+ // src/components/navigation/count-pill.tsx
28632
+
28633
+ function CountPill({ count, className }) {
28634
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28635
+ "span",
28636
+ {
28637
+ className: _chunk63A4GZMBcjs.cn.call(void 0,
28638
+ "flex h-6 min-w-6 shrink-0 items-center justify-center rounded-md bg-ods-accent px-[var(--spacing-system-xxs)]",
28639
+ className
28640
+ ),
28641
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-on-accent text-h5", children: count > 99 ? "99+" : count })
28642
+ }
28643
+ );
28644
+ }
28645
+
28646
+ // src/components/navigation/unread-notifications-indicator.tsx
28647
+
28648
+ function unreadNotificationsLabel(count) {
28649
+ return `${count} unread ${count === 1 ? "notification" : "notifications"}`;
28650
+ }
28651
+ function UnreadNotificationsIndicator({ count, href, className }) {
28652
+ const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
28653
+ if (count <= 0) return null;
28654
+ const label = unreadNotificationsLabel(count);
28655
+ if (!href) {
28656
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-loading-optional": true, role: "img", "aria-label": label, className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex shrink-0", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountPill, { count }) });
28657
+ }
28658
+ const open = (event) => {
28659
+ event.preventDefault();
28660
+ event.stopPropagation();
28661
+ if (_chunkPZNWIJRZcjs.isModifierClick.call(void 0, event)) _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href });
28662
+ else _chunkXCVH5BCZcjs.executeNavigationImperative.call(void 0, { runtime, href });
28663
+ };
28664
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28665
+ "button",
28666
+ {
28667
+ type: "button",
28668
+ "data-loading-optional": true,
28669
+ "data-no-row-click": true,
28670
+ onClick: open,
28671
+ "aria-label": label,
28672
+ title: label,
28673
+ className: _chunk63A4GZMBcjs.cn.call(void 0,
28674
+ "pointer-events-auto inline-flex shrink-0 rounded-md transition-opacity hover:opacity-80",
28675
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
28676
+ className
28677
+ ),
28678
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CountPill, { count })
28679
+ }
28680
+ );
28681
+ }
28682
+
28683
+ // src/components/features/devices/device-unread-indicator.tsx
28684
+
28685
+ function DeviceUnreadIndicator({ device }) {
28686
+ const { getDeviceNotificationsHref } = useDevicesViewConfig();
28687
+ const count = _nullishCoalesce(device.unreadNotificationCount, () => ( 0));
28688
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnreadNotificationsIndicator, { count, href: count > 0 ? _optionalChain([getDeviceNotificationsHref, 'optionalCall', _602 => _602(device)]) : void 0 });
28689
+ }
28690
+
28691
+ // src/components/features/devices/devices-table-columns.tsx
28692
+
28629
28693
  function formatDateTime(input) {
28630
28694
  const date = _chunkJ2IXYCEHcjs.formatDate.call(void 0, input);
28631
28695
  return date === "\u2014" ? date : `${date} ${_chunkJ2IXYCEHcjs.formatTime.call(void 0, input)}`;
@@ -28649,10 +28713,10 @@ function OpenDeviceButton({ device }) {
28649
28713
  const { getDeviceHref } = useDevicesViewConfig();
28650
28714
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
28651
28715
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
28652
- const href = loading ? void 0 : _optionalChain([getDeviceHref, 'optionalCall', _602 => _602(device)]);
28716
+ const href = loading ? void 0 : _optionalChain([getDeviceHref, 'optionalCall', _603 => _603(device)]);
28653
28717
  const open = (event) => {
28654
28718
  event.preventDefault();
28655
- if (href) _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href });
28719
+ if (href) _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href });
28656
28720
  };
28657
28721
  return /* @__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,
28658
28722
  _chunkFCZAUK4Dcjs.Button,
@@ -28759,10 +28823,10 @@ function DeviceLastSeen({ lastSeen }) {
28759
28823
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "hidden text-ods-text-secondary text-h6 content-md:flex", children: lastSeen ? formatDateTime(lastSeen) : "Never" });
28760
28824
  }
28761
28825
  function buildDeviceFilterOptions(deviceFilters) {
28762
- const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _603 => _603.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 }));
28763
- const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _604 => _604.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28826
+ const status = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _604 => _604.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 }));
28827
+ const os = (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _605 => _605.osTypes]), () => ( []))).map((o) => ({ id: o.value, label: o.value, value: o.value, count: o.count }));
28764
28828
  const organization = uniqueById(
28765
- (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _605 => _605.organizationIds]), () => ( []))).map((org) => ({
28829
+ (_nullishCoalesce(_optionalChain([deviceFilters, 'optionalAccess', _606 => _606.organizationIds]), () => ( []))).map((org) => ({
28766
28830
  id: org.value,
28767
28831
  label: org.label,
28768
28832
  value: org.value,
@@ -28798,7 +28862,8 @@ function getDeviceTableColumns(deviceFilters, filtersPending) {
28798
28862
  const device = row.original;
28799
28863
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative box-border flex h-20 w-full shrink-0 content-stretch items-center justify-start gap-4 py-0", children: [
28800
28864
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceTypeTile, { type: device.type }),
28801
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: getDeviceName(device) }) })
28865
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { children: getDeviceName(device) }) }),
28866
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceUnreadIndicator, { device })
28802
28867
  ] });
28803
28868
  },
28804
28869
  meta: { width: "flex-1 content-md:w-1/4" }
@@ -28856,7 +28921,7 @@ function isCompleteTag(tag) {
28856
28921
  const i = tag.indexOf(":");
28857
28922
  return i > 0 && i < tag.length - 1;
28858
28923
  }
28859
- var scrollMainToTop = () => _optionalChain([document, 'access', _606 => _606.querySelector, 'call', _607 => _607("main"), 'optionalAccess', _608 => _608.scrollTo, 'call', _609 => _609({ top: 0, behavior: "instant" })]);
28924
+ var scrollMainToTop = () => _optionalChain([document, 'access', _607 => _607.querySelector, 'call', _608 => _608("main"), 'optionalAccess', _609 => _609.scrollTo, 'call', _610 => _610({ top: 0, behavior: "instant" })]);
28860
28925
  function useTagFilterModal({
28861
28926
  tags,
28862
28927
  deviceFilters,
@@ -28878,7 +28943,7 @@ function useTagFilterModal({
28878
28943
  }));
28879
28944
  }, [columns, isMdUp]);
28880
28945
  const tagFilterKeys = _react.useMemo.call(void 0, () => {
28881
- if (!_optionalChain([deviceFilters, 'optionalAccess', _610 => _610.tagKeys])) return [];
28946
+ if (!_optionalChain([deviceFilters, 'optionalAccess', _611 => _611.tagKeys])) return [];
28882
28947
  const grouped = /* @__PURE__ */ new Map();
28883
28948
  for (const tag of deviceFilters.tagKeys) {
28884
28949
  if (tag.key === "null") continue;
@@ -29071,7 +29136,7 @@ function DeviceSelector({
29071
29136
  const clientToggleDevice = _react.useCallback.call(void 0,
29072
29137
  (device) => {
29073
29138
  if (disabled) return;
29074
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _611 => _611(device)])) return;
29139
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _612 => _612(device)])) return;
29075
29140
  const key = getDeviceKey(device);
29076
29141
  if (key === void 0) return;
29077
29142
  const current = selectedIdsRef.current;
@@ -29096,7 +29161,7 @@ function DeviceSelector({
29096
29161
  return;
29097
29162
  }
29098
29163
  if (disabled) return;
29099
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _612 => _612(device)])) return;
29164
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _613 => _613(device)])) return;
29100
29165
  if (server.activeTab === "selected") {
29101
29166
  server.onRemove(device);
29102
29167
  return;
@@ -29157,7 +29222,7 @@ function DeviceSelector({
29157
29222
  const base = addAllBehavior === "replace" ? /* @__PURE__ */ new Set() : new Set(selectedIds);
29158
29223
  for (const d of client.filteredDevices) {
29159
29224
  if (!matchesVisibleFilters(d)) continue;
29160
- if (_optionalChain([isDeviceDisabled, 'optionalCall', _613 => _613(d)])) continue;
29225
+ if (_optionalChain([isDeviceDisabled, 'optionalCall', _614 => _614(d)])) continue;
29161
29226
  const key = getDeviceKey(d);
29162
29227
  if (key !== void 0) {
29163
29228
  base.add(key);
@@ -29186,7 +29251,7 @@ function DeviceSelector({
29186
29251
  const orgKey = _nullishCoalesce(d.organizationId, () => ( d.organization));
29187
29252
  if (orgKey) {
29188
29253
  const existing = orgCounts.get(orgKey);
29189
- orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _614 => _614.count]), () => ( 0))) + 1 });
29254
+ orgCounts.set(orgKey, { label: _nullishCoalesce(d.organization, () => ( orgKey)), count: (_nullishCoalesce(_optionalChain([existing, 'optionalAccess', _615 => _615.count]), () => ( 0))) + 1 });
29190
29255
  }
29191
29256
  for (const tag of _nullishCoalesce(d.tags, () => ( []))) {
29192
29257
  const vc = _nullishCoalesce(tagSeen.get(tag.key), () => ( /* @__PURE__ */ new Map()));
@@ -29209,18 +29274,18 @@ function DeviceSelector({
29209
29274
  filteredCount: devices.length
29210
29275
  };
29211
29276
  }, [devices]);
29212
- const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _615 => _615.filterOptions]), () => ( clientDeviceFilters));
29213
- const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _616 => _616.filterOptions]));
29277
+ const deviceFilters = _nullishCoalesce(_optionalChain([server, 'optionalAccess', _616 => _616.filterOptions]), () => ( clientDeviceFilters));
29278
+ const serverFaceted = Boolean(_optionalChain([server, 'optionalAccess', _617 => _617.filterOptions]));
29214
29279
  const filterColumns = _react.useMemo.call(void 0, () => {
29215
29280
  const columns2 = getDeviceFilterColumns(deviceFilters);
29216
29281
  if (serverFaceted) return columns2;
29217
29282
  return columns2.map((column) => ({
29218
29283
  ...column,
29219
- filterOptions: _optionalChain([column, 'access', _617 => _617.filterOptions, 'optionalAccess', _618 => _618.map, 'call', _619 => _619(({ count: _count, ...option }) => option)])
29284
+ filterOptions: _optionalChain([column, 'access', _618 => _618.filterOptions, 'optionalAccess', _619 => _619.map, 'call', _620 => _620(({ count: _count, ...option }) => option)])
29220
29285
  }));
29221
29286
  }, [deviceFilters, serverFaceted]);
29222
29287
  const statusFilterOptions = _react.useMemo.call(void 0, () => {
29223
- const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _620 => _620.find, 'call', _621 => _621((column) => column.key === "status"), 'optionalAccess', _622 => _622.filterOptions]), () => ( []));
29288
+ const options = _nullishCoalesce(_optionalChain([filterColumns, 'access', _621 => _621.find, 'call', _622 => _622((column) => column.key === "status"), 'optionalAccess', _623 => _623.filterOptions]), () => ( []));
29224
29289
  return [...options].sort((a, b) => {
29225
29290
  if (a.value === DEVICE_STATUS.ARCHIVED) return 1;
29226
29291
  if (b.value === DEVICE_STATUS.ARCHIVED) return -1;
@@ -29228,15 +29293,15 @@ function DeviceSelector({
29228
29293
  });
29229
29294
  }, [filterColumns]);
29230
29295
  const orgFilterOptions = _react.useMemo.call(void 0,
29231
- () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _623 => _623.find, 'call', _624 => _624((column) => column.key === "organization"), 'optionalAccess', _625 => _625.filterOptions]), () => ( [])),
29296
+ () => _nullishCoalesce(_optionalChain([filterColumns, 'access', _624 => _624.find, 'call', _625 => _625((column) => column.key === "organization"), 'optionalAccess', _626 => _626.filterOptions]), () => ( [])),
29232
29297
  [filterColumns]
29233
29298
  );
29234
29299
  const handleSetParams = _react.useCallback.call(void 0,
29235
29300
  (params) => {
29236
29301
  setColumnFilters([
29237
- ..._optionalChain([params, 'access', _626 => _626.statuses, 'optionalAccess', _627 => _627.length]) ? [{ id: "status", value: params.statuses }] : [],
29238
- ..._optionalChain([params, 'access', _628 => _628.osTypes, 'optionalAccess', _629 => _629.length]) ? [{ id: "os", value: params.osTypes }] : [],
29239
- ..._optionalChain([params, 'access', _630 => _630.organizationIds, 'optionalAccess', _631 => _631.length]) ? [{ id: "organization", value: params.organizationIds }] : []
29302
+ ..._optionalChain([params, 'access', _627 => _627.statuses, 'optionalAccess', _628 => _628.length]) ? [{ id: "status", value: params.statuses }] : [],
29303
+ ..._optionalChain([params, 'access', _629 => _629.osTypes, 'optionalAccess', _630 => _630.length]) ? [{ id: "os", value: params.osTypes }] : [],
29304
+ ..._optionalChain([params, 'access', _631 => _631.organizationIds, 'optionalAccess', _632 => _632.length]) ? [{ id: "organization", value: params.organizationIds }] : []
29240
29305
  ]);
29241
29306
  setSelectedTags(_nullishCoalesce(params.tags, () => ( [])));
29242
29307
  },
@@ -29260,9 +29325,9 @@ function DeviceSelector({
29260
29325
  const tagOptions = _react.useMemo.call(void 0, () => selectedTags.map((t) => ({ label: t, value: t })), [selectedTags]);
29261
29326
  const tableFilters = _react.useMemo.call(void 0,
29262
29327
  () => ({
29263
- status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _632 => _632.find, 'call', _633 => _633((f) => f.id === "status"), 'optionalAccess', _634 => _634.value]), () => ( [])),
29264
- os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _635 => _635.find, 'call', _636 => _636((f) => f.id === "os"), 'optionalAccess', _637 => _637.value]), () => ( [])),
29265
- organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _638 => _638.find, 'call', _639 => _639((f) => f.id === "organization"), 'optionalAccess', _640 => _640.value]), () => ( []))
29328
+ status: _nullishCoalesce(_optionalChain([columnFilters, 'access', _633 => _633.find, 'call', _634 => _634((f) => f.id === "status"), 'optionalAccess', _635 => _635.value]), () => ( [])),
29329
+ os: _nullishCoalesce(_optionalChain([columnFilters, 'access', _636 => _636.find, 'call', _637 => _637((f) => f.id === "os"), 'optionalAccess', _638 => _638.value]), () => ( [])),
29330
+ organization: _nullishCoalesce(_optionalChain([columnFilters, 'access', _639 => _639.find, 'call', _640 => _640((f) => f.id === "organization"), 'optionalAccess', _641 => _641.value]), () => ( []))
29266
29331
  }),
29267
29332
  [columnFilters]
29268
29333
  );
@@ -29323,7 +29388,7 @@ function DeviceSelector({
29323
29388
  id: "actions",
29324
29389
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InertInScope, { children: (() => {
29325
29390
  const device = row.original;
29326
- const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _641 => _641(device)]);
29391
+ const disabledReason = _optionalChain([isDeviceDisabled, 'optionalCall', _642 => _642(device)]);
29327
29392
  if (disabledReason) {
29328
29393
  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: [
29329
29394
  /* @__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 }),
@@ -29440,7 +29505,7 @@ function DeviceSelector({
29440
29505
  showHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29441
29506
  DataTable.Header,
29442
29507
  {
29443
- rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _642 => _642.totalCount]))), loading })))
29508
+ rightSlot: _nullishCoalesce(bulkAction, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.RowCount, { itemName: "device", totalCount: _nullishCoalesce(totalCount, () => ( _optionalChain([server, 'optionalAccess', _643 => _643.totalCount]))), loading })))
29444
29509
  }
29445
29510
  ),
29446
29511
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29526,7 +29591,7 @@ function DeviceSelector({
29526
29591
  // src/components/features/devices/device-selector/narrowing.ts
29527
29592
  var EMPTY_NARROWING = { columnFilters: [], tags: [] };
29528
29593
  function narrowingToFilter(narrowing) {
29529
- const column = (id) => _optionalChain([narrowing, 'access', _643 => _643.columnFilters, 'access', _644 => _644.find, 'call', _645 => _645((f) => f.id === id), 'optionalAccess', _646 => _646.value]);
29594
+ const column = (id) => _optionalChain([narrowing, 'access', _644 => _644.columnFilters, 'access', _645 => _645.find, 'call', _646 => _646((f) => f.id === id), 'optionalAccess', _647 => _647.value]);
29530
29595
  const tagPairs = narrowing.tags.flatMap((t) => {
29531
29596
  const i = t.indexOf(":");
29532
29597
  return i > 0 ? [{ key: t.slice(0, i), value: t.slice(i + 1) }] : [];
@@ -29535,9 +29600,9 @@ function narrowingToFilter(narrowing) {
29535
29600
  const statuses = column("status");
29536
29601
  const osTypes = column("os");
29537
29602
  const organizationIds = column("organization");
29538
- if (_optionalChain([statuses, 'optionalAccess', _647 => _647.length])) filter.statuses = statuses;
29539
- if (_optionalChain([osTypes, 'optionalAccess', _648 => _648.length])) filter.osTypes = osTypes;
29540
- if (_optionalChain([organizationIds, 'optionalAccess', _649 => _649.length])) filter.organizationIds = organizationIds;
29603
+ if (_optionalChain([statuses, 'optionalAccess', _648 => _648.length])) filter.statuses = statuses;
29604
+ if (_optionalChain([osTypes, 'optionalAccess', _649 => _649.length])) filter.osTypes = osTypes;
29605
+ if (_optionalChain([organizationIds, 'optionalAccess', _650 => _650.length])) filter.organizationIds = organizationIds;
29541
29606
  if (tagPairs.length) {
29542
29607
  filter.tagKeys = tagPairs.map((t) => t.key);
29543
29608
  filter.tagValues = tagPairs.map((t) => t.value);
@@ -29567,7 +29632,7 @@ function DevicesGrid({
29567
29632
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
29568
29633
  const { getDeviceHref } = useDevicesViewConfig();
29569
29634
  const handleDeviceClick = (device) => {
29570
- const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _650 => _650(device)]) : void 0;
29635
+ const href = device.machineId || device.id ? _optionalChain([getDeviceHref, 'optionalCall', _651 => _651(device)]) : void 0;
29571
29636
  if (href) router.push(href);
29572
29637
  };
29573
29638
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: isLoading && devices.length === 0 ? (
@@ -29593,7 +29658,10 @@ function DevicesGrid({
29593
29658
  variant: statusConfig2.variant
29594
29659
  } : void 0,
29595
29660
  onDeviceClick: () => handleDeviceClick(device),
29596
- actions: GRID_CARD_ACTIONS,
29661
+ actions: device.unreadNotificationCount ? {
29662
+ ...GRID_CARD_ACTIONS,
29663
+ detailsButton: { component: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DeviceUnreadIndicator, { device }) }
29664
+ } : GRID_CARD_ACTIONS,
29597
29665
  className: "h-full",
29598
29666
  "data-loading-item": true
29599
29667
  },
@@ -29727,7 +29795,7 @@ function DevicesList({
29727
29795
  const onColumnFiltersChange = _react.useCallback.call(void 0,
29728
29796
  (updater) => {
29729
29797
  const next = typeof updater === "function" ? updater(columnFilters) : updater;
29730
- const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _651 => _651.find, 'call', _652 => _652((f) => f.id === id), 'optionalAccess', _653 => _653.value]), () => ( []));
29798
+ const pick = (id) => _nullishCoalesce(_optionalChain([next, 'access', _652 => _652.find, 'call', _653 => _653((f) => f.id === id), 'optionalAccess', _654 => _654.value]), () => ( []));
29731
29799
  patch({ statuses: pick("status"), osTypes: pick("os"), organizationIds: pick("organization") });
29732
29800
  },
29733
29801
  [columnFilters, patch]
@@ -29771,7 +29839,7 @@ function DevicesList({
29771
29839
  const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
29772
29840
  const narrowed = isNarrowed(narrowing);
29773
29841
  const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
29774
- const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE7M54JWWcjs.useStickyToolbar.call(void 0, );
29842
+ const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkSSSI2RBVcjs.useStickyToolbar.call(void 0, );
29775
29843
  const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
29776
29844
  const actionsColumn = _react.useMemo.call(void 0, () => rowActions2 ? getDeviceActionsColumn(rowActions2) : void 0, [rowActions2]);
29777
29845
  return (
@@ -29941,7 +30009,7 @@ function DevicesPanelView({
29941
30009
  }) {
29942
30010
  const scoped = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
29943
30011
  const loading = scoped || loadingGiven;
29944
- const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _654 => _654.includes, 'call', _655 => _655(column.key)]))));
30012
+ const gridColumns = _nullishCoalesce(filterColumns, () => ( getDeviceFilterColumns(deviceFilters).filter((column) => !_optionalChain([hideFilters, 'optionalAccess', _655 => _655.includes, 'call', _656 => _656(column.key)]))));
29945
30013
  const list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29946
30014
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevicesFilterToolbar, { ...toolbar, isLoading: loading }),
29947
30015
  viewMode === "table" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30006,10 +30074,10 @@ function DevicesPanelView({
30006
30074
  actionsVariant: "icon-buttons",
30007
30075
  className,
30008
30076
  selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30009
- _chunkEV6BPF47cjs.TabSelector,
30077
+ _chunkWPMJUYW3cjs.TabSelector,
30010
30078
  {
30011
30079
  value: viewMode,
30012
- onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _656 => _656(value)]),
30080
+ onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _657 => _657(value)]),
30013
30081
  items: DEVICE_VIEW_MODE_ITEMS,
30014
30082
  disabled: loading
30015
30083
  }
@@ -30230,9 +30298,9 @@ function SoftwareRowFields({ row, removable, onChange, onRemove, renderPackageSe
30230
30298
  value: row.pkg,
30231
30299
  onChange: (pkg) => onChange({ ...row, pkg })
30232
30300
  }) }),
30233
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _657 => _657.pkg, 'optionalAccess', _658 => _658.description]), label: "Description" }),
30301
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _658 => _658.pkg, 'optionalAccess', _659 => _659.description]), label: "Description" }),
30234
30302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-end gap-[var(--spacing-system-lf)]", children: [
30235
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _659 => _659.pkg, 'optionalAccess', _660 => _660.version]), label: "Current Version" }),
30303
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([row, 'access', _660 => _660.pkg, 'optionalAccess', _661 => _661.version]), label: "Current Version" }),
30236
30304
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30237
30305
  _chunkFCZAUK4Dcjs.Button,
30238
30306
  {
@@ -30738,11 +30806,11 @@ var ToolBadge = ({
30738
30806
  iconClassName
30739
30807
  }) => {
30740
30808
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
30741
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunkDGY5KEPYcjs.getToolLabel.call(void 0, toolType) : "")));
30809
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunk4ASUUB3Acjs.getToolLabel.call(void 0, toolType) : "")));
30742
30810
  const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBUEEQD3Gcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
30743
30811
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
30744
30812
  const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30745
- _chunkEV6BPF47cjs.NavLinkAnchorViaRuntime,
30813
+ _chunkWPMJUYW3cjs.NavLinkAnchorViaRuntime,
30746
30814
  {
30747
30815
  href,
30748
30816
  targetPlatform,
@@ -30878,7 +30946,7 @@ function LogsTableView({
30878
30946
  meta: {
30879
30947
  width: LOG_COLUMN_WIDTHS.status,
30880
30948
  filter: {
30881
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _661 => _661.severities, 'access', _662 => _662.map, 'call', _663 => _663((severity) => ({
30949
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _662 => _662.severities, 'access', _663 => _663.map, 'call', _664 => _664((severity) => ({
30882
30950
  id: severity,
30883
30951
  label: severity.charAt(0).toUpperCase() + severity.slice(1).toLowerCase(),
30884
30952
  value: severity
@@ -30892,7 +30960,7 @@ function LogsTableView({
30892
30960
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30893
30961
  ToolBadge,
30894
30962
  {
30895
- toolType: _chunkDGY5KEPYcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
30963
+ toolType: _chunk4ASUUB3Acjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
30896
30964
  iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
30897
30965
  }
30898
30966
  ),
@@ -30902,9 +30970,9 @@ function LogsTableView({
30902
30970
  width: LOG_COLUMN_WIDTHS.tool,
30903
30971
  hideAt: "md",
30904
30972
  filter: {
30905
- options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _664 => _664.toolTypes, 'access', _665 => _665.map, 'call', _666 => _666((toolType) => ({
30973
+ options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _665 => _665.toolTypes, 'access', _666 => _666.map, 'call', _667 => _667((toolType) => ({
30906
30974
  id: toolType,
30907
- label: _chunkDGY5KEPYcjs.toToolLabel.call(void 0, toolType),
30975
+ label: _chunk4ASUUB3Acjs.toToolLabel.call(void 0, toolType),
30908
30976
  value: toolType
30909
30977
  }))]), () => ( []))
30910
30978
  }
@@ -30919,7 +30987,7 @@ function LogsTableView({
30919
30987
  meta: {
30920
30988
  width: LOG_COLUMN_WIDTHS.source,
30921
30989
  hideAt: "md",
30922
- filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _667 => _667.organizations]), () => ( []))] }
30990
+ filter: organizationLocked ? void 0 : { options: [..._nullishCoalesce(_optionalChain([facets, 'optionalAccess', _668 => _668.organizations]), () => ( []))] }
30923
30991
  }
30924
30992
  },
30925
30993
  {
@@ -30931,7 +30999,7 @@ function LogsTableView({
30931
30999
  },
30932
31000
  {
30933
31001
  id: "copy",
30934
- 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', _668 => _668(row.original)]) }),
31002
+ 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', _669 => _669(row.original)]) }),
30935
31003
  enableSorting: false,
30936
31004
  meta: { width: `${LOG_COLUMN_WIDTHS.action} ml-auto`, align: "right" }
30937
31005
  },
@@ -30940,7 +31008,7 @@ function LogsTableView({
30940
31008
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30941
31009
  LogRowButton,
30942
31010
  {
30943
- onClick: () => _optionalChain([onQuickView, 'optionalCall', _669 => _669(row.original)]),
31011
+ onClick: () => _optionalChain([onQuickView, 'optionalCall', _670 => _670(row.original)]),
30944
31012
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMMLT7ASAcjs.EyeIcon, { className: "h-5 w-5" }),
30945
31013
  label: "Quick view"
30946
31014
  }
@@ -30953,7 +31021,7 @@ function LogsTableView({
30953
31021
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30954
31022
  LogRowButton,
30955
31023
  {
30956
- onClick: getLogHref ? _chunkDGY5KEPYcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
31024
+ onClick: getLogHref ? _chunk4ASUUB3Acjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
30957
31025
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
30958
31026
  label: "Open in new tab"
30959
31027
  }
@@ -30962,14 +31030,14 @@ function LogsTableView({
30962
31030
  meta: { width: LOG_COLUMN_WIDTHS.action, hideAt: "md", align: "right" }
30963
31031
  }
30964
31032
  ];
30965
- if (!_optionalChain([hiddenColumns, 'optionalAccess', _670 => _670.length])) return all;
31033
+ if (!_optionalChain([hiddenColumns, 'optionalAccess', _671 => _671.length])) return all;
30966
31034
  return all.filter((column) => !hiddenColumns.includes(columnId(column)));
30967
31035
  }, [facets, getLogHref, organizationLocked, logIdHeader, renderCopyAction, onQuickView, hiddenColumns]);
30968
31036
  const filterGroups = _react.useMemo.call(void 0,
30969
- () => columns.filter((column) => _optionalChain([column, 'access', _671 => _671.meta, 'optionalAccess', _672 => _672.filter, 'optionalAccess', _673 => _673.options])).map((column) => ({
31037
+ () => columns.filter((column) => _optionalChain([column, 'access', _672 => _672.meta, 'optionalAccess', _673 => _673.filter, 'optionalAccess', _674 => _674.options])).map((column) => ({
30970
31038
  id: columnId(column),
30971
31039
  title: typeof column.header === "string" ? column.header : "",
30972
- options: _optionalChain([column, 'access', _674 => _674.meta, 'optionalAccess', _675 => _675.filter, 'optionalAccess', _676 => _676.options]) || []
31040
+ options: _optionalChain([column, 'access', _675 => _675.meta, 'optionalAccess', _676 => _676.filter, 'optionalAccess', _677 => _677.options]) || []
30973
31041
  })),
30974
31042
  [columns]
30975
31043
  );
@@ -31002,14 +31070,14 @@ function LogsTableView({
31002
31070
  onColumnFiltersChange: handleColumnFiltersChange
31003
31071
  });
31004
31072
  const hasActiveFilters = Object.values(filters).some((values) => values.length > 0);
31005
- const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _677 => _677.range]));
31073
+ const hasQuery = Boolean(search) || hasActiveFilters || Boolean(_optionalChain([dateFilter, 'optionalAccess', _678 => _678.range]));
31006
31074
  const noRows = !loading && logs.length === 0;
31007
31075
  const showEmptyState = !organizationLocked && !hasQuery && noRows;
31008
31076
  const scoped = deviceScoped || organizationLocked;
31009
31077
  const scopedEmpty = scoped && noRows;
31010
31078
  const hideSearch = showEmptyState || scopedEmpty && !hasQuery;
31011
31079
  _react.useEffect.call(void 0, () => {
31012
- _optionalChain([onHideSearchChange, 'optionalCall', _678 => _678(hideSearch)]);
31080
+ _optionalChain([onHideSearchChange, 'optionalCall', _679 => _679(hideSearch)]);
31013
31081
  }, [hideSearch, onHideSearchChange]);
31014
31082
  if (showEmptyState) {
31015
31083
  const emptyProps = deviceScoped ? { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIK3ZQW3Dcjs.ClipboardListIcon, {}), title: EMPTY_TITLE, description: EMPTY_DESCRIPTION } : {
@@ -31130,7 +31198,7 @@ function ExecutionTimestampCell({ timestamp, executionId }) {
31130
31198
  }
31131
31199
  function ExecutionStatusCell({ status }) {
31132
31200
  const presentation = scriptExecutionStatus(status);
31133
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _679 => _679.label]), () => ( String(_nullishCoalesce(status, () => ( ""))))), variant: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _680 => _680.variant]), () => ( "grey")) }) });
31201
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _680 => _680.label]), () => ( String(_nullishCoalesce(status, () => ( ""))))), variant: _nullishCoalesce(_optionalChain([presentation, 'optionalAccess', _681 => _681.variant]), () => ( "grey")) }) });
31134
31202
  }
31135
31203
  function ExecutionDeviceCell({ name, organization }) {
31136
31204
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
@@ -31275,7 +31343,7 @@ function OpenInNewTabCell({ href }) {
31275
31343
  return /* @__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,
31276
31344
  _chunkFCZAUK4Dcjs.Button,
31277
31345
  {
31278
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
31346
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
31279
31347
  disabled: loading,
31280
31348
  variant: "outline",
31281
31349
  size: "icon",
@@ -31337,7 +31405,7 @@ function ScriptExecutionsTable({
31337
31405
  [EXECUTION_COLUMNS.result.id]: (row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExecutionResultCell, { result: row.result }),
31338
31406
  [EXECUTION_COLUMNS.open.id]: (row) => row.href !== void 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OpenInNewTabCell, { href: row.href }) : null
31339
31407
  };
31340
- return layout.filter((column) => renderers[column.id] && !_optionalChain([hideColumns, 'optionalAccess', _681 => _681.includes, 'call', _682 => _682(column.id)])).map((column) => ({
31408
+ return layout.filter((column) => renderers[column.id] && !_optionalChain([hideColumns, 'optionalAccess', _682 => _682.includes, 'call', _683 => _683(column.id)])).map((column) => ({
31341
31409
  id: column.id,
31342
31410
  header: _nullishCoalesce(column.header, () => ( "")),
31343
31411
  cell: ({ row }) => renderers[column.id](row.original),
@@ -31464,15 +31532,15 @@ function ScriptSchedulesTable({
31464
31532
 
31465
31533
  // src/components/features/scripts/shell-types.ts
31466
31534
  var SCRIPT_SHELL_TYPES = [
31467
- { id: _chunkDGY5KEPYcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
31468
- { id: _chunkDGY5KEPYcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
31469
- { id: _chunkDGY5KEPYcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
31535
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
31536
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
31537
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
31470
31538
  ];
31471
31539
  function scriptShellType(value) {
31472
31540
  return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
31473
31541
  }
31474
31542
  function scriptShellLabel(value) {
31475
- return _nullishCoalesce(_optionalChain([scriptShellType, 'call', _683 => _683(value), 'optionalAccess', _684 => _684.label]), () => ( value));
31543
+ return _nullishCoalesce(_optionalChain([scriptShellType, 'call', _684 => _684(value), 'optionalAccess', _685 => _685.label]), () => ( value));
31476
31544
  }
31477
31545
 
31478
31546
  // src/components/features/scripts/script-shell-badge.tsx
@@ -31485,10 +31553,10 @@ function ScriptShellBadge({ value, className, iconClassName }) {
31485
31553
  ] });
31486
31554
  }
31487
31555
  const shell = scriptShellType(value);
31488
- const Icon = _optionalChain([shell, 'optionalAccess', _685 => _685.icon]);
31556
+ const Icon = _optionalChain([shell, 'optionalAccess', _686 => _686.icon]);
31489
31557
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex items-center gap-2", className), children: [
31490
31558
  Icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: _chunk63A4GZMBcjs.cn.call(void 0, "h-5 w-5 text-ods-text-secondary", iconClassName) }),
31491
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([shell, 'optionalAccess', _686 => _686.label]), () => ( value)) })
31559
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([shell, 'optionalAccess', _687 => _687.label]), () => ( value)) })
31492
31560
  ] });
31493
31561
  }
31494
31562
 
@@ -31840,7 +31908,7 @@ function ScheduleIntervalInput(props) {
31840
31908
  onBlur: () => {
31841
31909
  focused.current = false;
31842
31910
  setText(value === null ? "" : String(value));
31843
- _optionalChain([onBlur, 'optionalCall', _687 => _687()]);
31911
+ _optionalChain([onBlur, 'optionalCall', _688 => _688()]);
31844
31912
  },
31845
31913
  onChange: (e) => {
31846
31914
  const raw = e.target.value;
@@ -31914,7 +31982,7 @@ function ScheduleOfflineFields({ showErrors, disabled = false }) {
31914
31982
  const { field: intervalField, fieldState: intervalState } = _reacthookform.useController.call(void 0, { control, name: "reconnectInterval" });
31915
31983
  const { field: unitField } = _reacthookform.useController.call(void 0, { control, name: "reconnectUnit" });
31916
31984
  const windowDisabled = disabled || !isRetryOnReconnect(behaviorField.value);
31917
- const intervalError = showErrors ? _optionalChain([intervalState, 'access', _688 => _688.error, 'optionalAccess', _689 => _689.message]) : void 0;
31985
+ const intervalError = showErrors ? _optionalChain([intervalState, 'access', _689 => _689.error, 'optionalAccess', _690 => _690.message]) : void 0;
31918
31986
  const handleUnitChange = (next) => {
31919
31987
  unitField.onChange(next);
31920
31988
  const snapped = snapReconnectInterval(intervalField.value, next);
@@ -32059,13 +32127,13 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
32059
32127
  const [flipTick, setFlipTick] = _react.useState.call(void 0, 0);
32060
32128
  const flipTimer = _react.useRef.call(void 0, null);
32061
32129
  const readItems = _react.useCallback.call(void 0,
32062
- () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _690 => _690.current, 'optionalAccess', _691 => _691.querySelectorAll, 'call', _692 => _692(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
32130
+ () => [..._nullishCoalesce(_optionalChain([listRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.querySelectorAll, 'call', _693 => _693(`[${SORTABLE_ITEM_ATTRIBUTE}]`)]), () => ( []))],
32063
32131
  []
32064
32132
  );
32065
32133
  const reorder = _react.useCallback.call(void 0,
32066
32134
  (from, to) => {
32067
32135
  if (from === to) return;
32068
- const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _693 => _693.current, 'optionalCall', _694 => _694(from)]), () => ( "Item"));
32136
+ const label = _nullishCoalesce(_optionalChain([getItemLabelRef, 'access', _694 => _694.current, 'optionalCall', _695 => _695(from)]), () => ( "Item"));
32069
32137
  setAnnouncement(`${label} moved to position ${to + 1} of ${readItems().length}.`);
32070
32138
  onReorderRef.current(from, to);
32071
32139
  },
@@ -32153,7 +32221,7 @@ function SortableList({ onReorder, getItemLabel, disabled = false, className, ch
32153
32221
  moving.push(item);
32154
32222
  }
32155
32223
  if (moving.length === 0) return;
32156
- void _optionalChain([listRef, 'access', _695 => _695.current, 'optionalAccess', _696 => _696.offsetHeight]);
32224
+ void _optionalChain([listRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.offsetHeight]);
32157
32225
  for (const item of moving) {
32158
32226
  item.style.transition = `transform ${DROP_MS}ms ${EASING}`;
32159
32227
  item.style.transform = "";
@@ -32321,8 +32389,8 @@ function SortableMoveButtons({ index, count, label, className }) {
32321
32389
  if (to < 0 || to >= count) return;
32322
32390
  reorder(index, to);
32323
32391
  requestAnimationFrame(() => {
32324
- if (step === -1 && to === 0) _optionalChain([downRef, 'access', _697 => _697.current, 'optionalAccess', _698 => _698.focus, 'call', _699 => _699()]);
32325
- if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.focus, 'call', _702 => _702()]);
32392
+ if (step === -1 && to === 0) _optionalChain([downRef, 'access', _698 => _698.current, 'optionalAccess', _699 => _699.focus, 'call', _700 => _700()]);
32393
+ if (step === 1 && to === count - 1) _optionalChain([upRef, 'access', _701 => _701.current, 'optionalAccess', _702 => _702.focus, 'call', _703 => _703()]);
32326
32394
  });
32327
32395
  };
32328
32396
  const subject = _nullishCoalesce(label, () => ( "item"));
@@ -32370,7 +32438,7 @@ function useSortableItem() {
32370
32438
  const [handle, setHandle] = _react.useState.call(void 0, null);
32371
32439
  const [isDragging, setIsDragging] = _react.useState.call(void 0, false);
32372
32440
  const itemRef = _react.useCallback.call(void 0, (node) => {
32373
- _optionalChain([node, 'optionalAccess', _703 => _703.setAttribute, 'call', _704 => _704(SORTABLE_ITEM_ATTRIBUTE, "")]);
32441
+ _optionalChain([node, 'optionalAccess', _704 => _704.setAttribute, 'call', _705 => _705(SORTABLE_ITEM_ATTRIBUTE, "")]);
32374
32442
  setItem(node);
32375
32443
  }, []);
32376
32444
  _react.useEffect.call(void 0, () => {
@@ -32400,7 +32468,7 @@ function useSortableItem() {
32400
32468
  if (from < 0 || to < 0 || to >= items.length) return;
32401
32469
  event.preventDefault();
32402
32470
  reorder(from, to);
32403
- requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _705 => _705.focus, 'call', _706 => _706()]));
32471
+ requestAnimationFrame(() => _optionalChain([handle, 'optionalAccess', _706 => _706.focus, 'call', _707 => _707()]));
32404
32472
  },
32405
32473
  [inert, readItems, reorder, handle]
32406
32474
  );
@@ -32423,7 +32491,7 @@ function ScheduleScriptPickerCard({
32423
32491
  }) {
32424
32492
  const { control, setValue, watch } = _reacthookform.useFormContext.call(void 0, );
32425
32493
  const selected = watch(`scripts.${index}`);
32426
- const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _707 => _707.scriptId]);
32494
+ const runParamsLocked = disabled || !_optionalChain([selected, 'optionalAccess', _708 => _708.scriptId]);
32427
32495
  const { itemRef, dragHandleProps, isDragging, dragAndDropEnabled } = useSortableItem();
32428
32496
  const isMdUp = _chunkUAI4VMEFcjs.useContentMdUp.call(void 0, );
32429
32497
  const handleScriptPick = (row) => {
@@ -32457,7 +32525,7 @@ function ScheduleScriptPickerCard({
32457
32525
  type: "button",
32458
32526
  ...dragHandleProps,
32459
32527
  disabled,
32460
- "aria-label": `Reorder ${_optionalChain([selected, 'optionalAccess', _708 => _708.name]) || `script ${index + 1}`}`,
32528
+ "aria-label": `Reorder ${_optionalChain([selected, 'optionalAccess', _709 => _709.name]) || `script ${index + 1}`}`,
32461
32529
  className: `shrink-0 ${isDragging ? "cursor-grabbing" : "cursor-grab"}`,
32462
32530
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJAWIFYB2cjs.DraggerIcon, { size: 24 })
32463
32531
  }
@@ -32468,18 +32536,18 @@ function ScheduleScriptPickerCard({
32468
32536
  name: `scripts.${index}.scriptId`,
32469
32537
  control,
32470
32538
  render: ({ fieldState }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: renderScriptSearch({
32471
- scriptId: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _709 => _709.scriptId]), () => ( "")),
32472
- name: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _710 => _710.name]), () => ( "")),
32539
+ scriptId: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _710 => _710.scriptId]), () => ( "")),
32540
+ name: _nullishCoalesce(_optionalChain([selected, 'optionalAccess', _711 => _711.name]), () => ( "")),
32473
32541
  supportedPlatforms,
32474
32542
  onPick: handleScriptPick,
32475
32543
  disabled,
32476
- error: showErrors ? _optionalChain([fieldState, 'access', _711 => _711.error, 'optionalAccess', _712 => _712.message]) : void 0,
32544
+ error: showErrors ? _optionalChain([fieldState, 'access', _712 => _712.error, 'optionalAccess', _713 => _713.message]) : void 0,
32477
32545
  invalid: showErrors && !!fieldState.error
32478
32546
  }) })
32479
32547
  }
32480
32548
  ),
32481
32549
  !dragAndDropEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32482
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableMoveButtons, { index, count, label: _optionalChain([selected, 'optionalAccess', _713 => _713.name]) || `script ${index + 1}` }),
32550
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableMoveButtons, { index, count, label: _optionalChain([selected, 'optionalAccess', _714 => _714.name]) || `script ${index + 1}` }),
32483
32551
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32484
32552
  _chunkFCZAUK4Dcjs.Button,
32485
32553
  {
@@ -32520,7 +32588,7 @@ function ScheduleScriptPickerCard({
32520
32588
  onChange: (e) => field.onChange(e.target.value ? Number(e.target.value) : UNSET_TIMEOUT),
32521
32589
  disabled: runParamsLocked,
32522
32590
  endAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: "Seconds" }),
32523
- error: showErrors ? _optionalChain([fieldState, 'access', _714 => _714.error, 'optionalAccess', _715 => _715.message]) : void 0,
32591
+ error: showErrors ? _optionalChain([fieldState, 'access', _715 => _715.error, 'optionalAccess', _716 => _716.message]) : void 0,
32524
32592
  invalid: showErrors && !!fieldState.error
32525
32593
  }
32526
32594
  )
@@ -32776,7 +32844,7 @@ function ScheduleTimingFields({
32776
32844
  fromDate: minDate,
32777
32845
  disabled: fieldsDisabled,
32778
32846
  className: "w-full",
32779
- error: _nullishCoalesce(dateError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _716 => _716.error, 'optionalAccess', _717 => _717.message]) : void 0))),
32847
+ error: _nullishCoalesce(dateError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _717 => _717.error, 'optionalAccess', _718 => _718.message]) : void 0))),
32780
32848
  invalid: !!dateError || showErrors && !!fieldState.error
32781
32849
  }
32782
32850
  ),
@@ -32813,7 +32881,7 @@ function ScheduleTimingFields({
32813
32881
  _chunkWCK5T3UDcjs.SelectTrigger,
32814
32882
  {
32815
32883
  className: "w-full",
32816
- error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _718 => _718.error, 'optionalAccess', _719 => _719.message]) : void 0))),
32884
+ error: _nullishCoalesce(pastTimeError, () => ( (showErrors ? _optionalChain([fieldState, 'access', _719 => _719.error, 'optionalAccess', _720 => _720.message]) : void 0))),
32817
32885
  invalid: !!pastTimeError || showErrors && !!fieldState.error,
32818
32886
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.SelectValue, { placeholder: "Select time" })
32819
32887
  }
@@ -32896,7 +32964,7 @@ function ScheduleTimingFields({
32896
32964
  recheckReconnectWindow();
32897
32965
  },
32898
32966
  disabled: fieldsDisabled || !repeatEnabled,
32899
- error: showErrors ? _optionalChain([fieldState, 'access', _720 => _720.error, 'optionalAccess', _721 => _721.message]) : void 0,
32967
+ error: showErrors ? _optionalChain([fieldState, 'access', _721 => _721.error, 'optionalAccess', _722 => _722.message]) : void 0,
32900
32968
  invalid: showErrors && !!fieldState.error
32901
32969
  }
32902
32970
  )
@@ -32942,7 +33010,7 @@ function ScheduleFormFields({
32942
33010
  disabled = false,
32943
33011
  renderScriptSearch,
32944
33012
  timeReferenceGate = "off",
32945
- platforms = _chunkDGY5KEPYcjs.OS_PLATFORMS,
33013
+ platforms = _chunk4ASUUB3Acjs.OS_PLATFORMS,
32946
33014
  comingSoonPlatforms = [],
32947
33015
  getTimeSlots,
32948
33016
  nameLayout = "stacked",
@@ -32983,7 +33051,7 @@ function ScheduleFormFields({
32983
33051
  onChange: field.onChange,
32984
33052
  disabled,
32985
33053
  className: "w-full",
32986
- error: showErrors ? _optionalChain([fieldState, 'access', _722 => _722.error, 'optionalAccess', _723 => _723.message]) : void 0,
33054
+ error: showErrors ? _optionalChain([fieldState, 'access', _723 => _723.error, 'optionalAccess', _724 => _724.message]) : void 0,
32987
33055
  invalid: showErrors && !!fieldState.error
32988
33056
  }
32989
33057
  )
@@ -33088,7 +33156,7 @@ function ScheduleFormFields({
33088
33156
  // src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
33089
33157
 
33090
33158
  function ScriptPlatformIcons({ platforms }) {
33091
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkDGY5KEPYcjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
33159
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunk4ASUUB3Acjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
33092
33160
  }
33093
33161
  function ScheduleScriptSearchField({
33094
33162
  scriptId,
@@ -33105,7 +33173,7 @@ function ScheduleScriptSearchField({
33105
33173
  invalid = false
33106
33174
  }) {
33107
33175
  const handleBlur = (e) => {
33108
- if (!e.currentTarget.contains(e.relatedTarget)) _optionalChain([onClose, 'optionalCall', _724 => _724()]);
33176
+ if (!e.currentTarget.contains(e.relatedTarget)) _optionalChain([onClose, 'optionalCall', _725 => _725()]);
33109
33177
  };
33110
33178
  const options = scripts.map((s) => ({ label: s.name, value: s.id }));
33111
33179
  if (scriptId && !options.some((o) => o.value === scriptId)) {
@@ -33130,7 +33198,7 @@ function ScheduleScriptSearchField({
33130
33198
  invalid,
33131
33199
  renderOption: (option, isSelected) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33132
33200
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { className: isSelected ? "text-ods-accent" : void 0, children: option.label }) }),
33133
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access', _725 => _725.find, 'call', _726 => _726((s) => s.id === option.value), 'optionalAccess', _727 => _727.supportedPlatforms]), () => ( [])) })
33201
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptPlatformIcons, { platforms: _nullishCoalesce(_optionalChain([scripts, 'access', _726 => _726.find, 'call', _727 => _727((s) => s.id === option.value), 'optionalAccess', _728 => _728.supportedPlatforms]), () => ( [])) })
33134
33202
  ] })
33135
33203
  }
33136
33204
  )
@@ -33161,7 +33229,7 @@ function KnowledgeBaseOpenButton({ href }) {
33161
33229
  return /* @__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,
33162
33230
  _chunkFCZAUK4Dcjs.Button,
33163
33231
  {
33164
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
33232
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
33165
33233
  disabled: loading,
33166
33234
  variant: "outline",
33167
33235
  size: "icon",
@@ -33315,7 +33383,7 @@ function KnowledgeBaseArticleView({
33315
33383
  className,
33316
33384
  children: [
33317
33385
  tags.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-[var(--spacing-system-xsf)]", children: tags.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNFNSPLGCcjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
33318
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Card, { className: "border-ods-border px-[var(--spacing-system-mf)] py-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-[var(--spacing-system-mf)] content-lg:grid-cols-3", children: [
33386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Card, { className: "border-ods-border px-[var(--spacing-system-mf)] py-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-2 gap-x-[var(--spacing-system-mf)] content-lg:grid-cols-3", children: [
33319
33387
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33320
33388
  author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33321
33389
  _chunkNFNSPLGCcjs.SquareAvatar,
@@ -33411,7 +33479,7 @@ function TicketStatusConfigList({
33411
33479
  ) }) }) }) })
33412
33480
  );
33413
33481
  }
33414
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableList, { onReorder, getItemLabel, className: _chunk63A4GZMBcjs.cn.call(void 0, LIST_CLASS, className), children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _728 => _728(index)]), children: (args) => renderRow(item, args) }, item.id)) });
33482
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableList, { onReorder, getItemLabel, className: _chunk63A4GZMBcjs.cn.call(void 0, LIST_CLASS, className), children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortableRow, { index, count: items.length, label: _optionalChain([getItemLabel, 'optionalCall', _729 => _729(index)]), children: (args) => renderRow(item, args) }, item.id)) });
33415
33483
  }
33416
33484
  function SortableRow({
33417
33485
  index,
@@ -33506,13 +33574,13 @@ function ConversationCard({
33506
33574
  className: _chunk63A4GZMBcjs.cn.call(void 0,
33507
33575
  CARD_FRAME_CLASS,
33508
33576
  selection && "cursor-pointer transition-colors hover:border-ods-border-hover",
33509
- _optionalChain([selection, 'optionalAccess', _729 => _729.pressed]) && "border-ods-accent ring-1 ring-ods-accent",
33577
+ _optionalChain([selection, 'optionalAccess', _730 => _730.pressed]) && "border-ods-accent ring-1 ring-ods-accent",
33510
33578
  className
33511
33579
  ),
33512
33580
  style: tint,
33513
33581
  onClick: selection && ((event) => {
33514
- if (event.button !== 0 || _optionalChain([window, 'access', _730 => _730.getSelection, 'call', _731 => _731(), 'optionalAccess', _732 => _732.toString, 'call', _733 => _733()])) return;
33515
- if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33582
+ if (event.button !== 0 || _optionalChain([window, 'access', _731 => _731.getSelection, 'call', _732 => _732(), 'optionalAccess', _733 => _733.toString, 'call', _734 => _734()])) return;
33583
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33516
33584
  selection.onToggle();
33517
33585
  }),
33518
33586
  children: [
@@ -33535,7 +33603,7 @@ function ConversationCard({
33535
33603
  )
33536
33604
  ),
33537
33605
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33538
- _chunkDGY5KEPYcjs.ChatTurn,
33606
+ _chunk4ASUUB3Acjs.ChatTurn,
33539
33607
  {
33540
33608
  avatar: requester.avatar,
33541
33609
  name: requester.name,
@@ -33553,10 +33621,10 @@ function ConversationCard({
33553
33621
  ),
33554
33622
  context && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CONTEXT_BLOCK_CLASS, children: [
33555
33623
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: CONTEXT_LABEL_CLASS, children: context.label }),
33556
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _734 => _734.context])), children: context.text })
33624
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _735 => _735.context])), children: context.text })
33557
33625
  ] }),
33558
33626
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33559
- _chunkDGY5KEPYcjs.ChatTurn,
33627
+ _chunk4ASUUB3Acjs.ChatTurn,
33560
33628
  {
33561
33629
  avatar: responder.avatar,
33562
33630
  name: responder.name,
@@ -33564,7 +33632,7 @@ function ConversationCard({
33564
33632
  time: responder.time,
33565
33633
  className: ANSWER_BLOCK_CLASS,
33566
33634
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: OUTCOME_ROW_CLASS, children: [
33567
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: OUTCOME_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _735 => _735.outcome])), children: outcome }),
33635
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: OUTCOME_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _736 => _736.outcome])), children: outcome }),
33568
33636
  outcomeAside,
33569
33637
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: OUTCOME_CHECK_CLASS, style: OUTCOME_CHECK_STYLE, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHFNBMV5Mcjs.CheckCircleIcon, { size: 16, className: "text-ods-success", "aria-hidden": true }) })
33570
33638
  ] })
@@ -33593,15 +33661,15 @@ function ConversationCardSkeleton({
33593
33661
  announce = true,
33594
33662
  className
33595
33663
  }) {
33596
- const contextLines = partLines(_optionalChain([lines, 'optionalAccess', _736 => _736.context]));
33597
- const outcomeLines = partLines(_optionalChain([lines, 'optionalAccess', _737 => _737.outcome]));
33664
+ const contextLines = partLines(_optionalChain([lines, 'optionalAccess', _737 => _737.context]));
33665
+ const outcomeLines = partLines(_optionalChain([lines, 'optionalAccess', _738 => _738.outcome]));
33598
33666
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2XCORRJVcjs.LoadingRegion, { label, announce, className: _chunk63A4GZMBcjs.cn.call(void 0, CARD_FRAME_CLASS, className), children: [
33599
33667
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33600
33668
  RequesterRow,
33601
33669
  {
33602
33670
  selection: selection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { className: "contents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectionToggle, { pressed: selection.pressed }) }),
33603
33671
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33604
- _chunkDGY5KEPYcjs.ChatTurn,
33672
+ _chunk4ASUUB3Acjs.ChatTurn,
33605
33673
  {
33606
33674
  loading: true,
33607
33675
  name: "",
@@ -33625,7 +33693,7 @@ function ConversationCardSkeleton({
33625
33693
  ] })
33626
33694
  ] }),
33627
33695
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33628
- _chunkDGY5KEPYcjs.ChatTurn,
33696
+ _chunk4ASUUB3Acjs.ChatTurn,
33629
33697
  {
33630
33698
  loading: true,
33631
33699
  name: "",
@@ -33739,16 +33807,16 @@ function Example({
33739
33807
  ),
33740
33808
  children: [
33741
33809
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5", children: [
33742
- mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _738 => _738.mark]), () => ( requesterMark))),
33810
+ mark(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _739 => _739.mark]), () => ( requesterMark))),
33743
33811
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
33744
- who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _739 => _739.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _740 => _740.note]), () => ( labels.requesterNote))),
33812
+ who(_nullishCoalesce(_optionalChain([requester, 'optionalAccess', _740 => _740.name]), () => ( labels.requester)), _nullishCoalesce(_optionalChain([requester, 'optionalAccess', _741 => _741.note]), () => ( labels.requesterNote))),
33745
33813
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h4", className: "min-h-[2lh]", children: `\u201C${example.request}\u201D` })
33746
33814
  ] })
33747
33815
  ] }),
33748
33816
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 gap-2.5 border-t border-ods-border pt-3", children: [
33749
- mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _741 => _741.mark]), () => ( responderMark))),
33817
+ mark(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _742 => _742.mark]), () => ( responderMark))),
33750
33818
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
33751
- who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _742 => _742.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _743 => _743.note]), () => ( labels.responderNote))),
33819
+ who(_nullishCoalesce(_optionalChain([responder, 'optionalAccess', _743 => _743.name]), () => ( labels.responder)), _nullishCoalesce(_optionalChain([responder, 'optionalAccess', _744 => _744.note]), () => ( labels.responderNote))),
33752
33820
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-start gap-2", children: [
33753
33821
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, { size: 16, className: "mt-0.5 shrink-0 text-ods-flamingo-cyan" }),
33754
33822
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { lines: 2, variant: "h6", tone: "secondary", className: "min-h-[2lh]", triggerClassName: "flex-1", children: example.outcome })
@@ -33887,7 +33955,7 @@ function CapabilityExplorer({
33887
33955
  readItems: true,
33888
33956
  renderItem: (item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk63A4GZMBcjs.cn.call(void 0, CARD_CLASS2, CARD_HEIGHT_CLASS), children: [
33889
33957
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CARD_HEAD_ROW_CLASS, children: [
33890
- item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
33958
+ item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
33891
33959
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
33892
33960
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
33893
33961
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
@@ -33925,7 +33993,7 @@ function CapabilityExplorer({
33925
33993
  if (next === null) return;
33926
33994
  event.preventDefault();
33927
33995
  onActiveChange(items[next].id);
33928
- _optionalChain([listRef, 'access', _744 => _744.current, 'optionalAccess', _745 => _745.querySelectorAll, 'call', _746 => _746('[role="tab"]'), 'access', _747 => _747[next], 'optionalAccess', _748 => _748.focus, 'call', _749 => _749()]);
33996
+ _optionalChain([listRef, 'access', _745 => _745.current, 'optionalAccess', _746 => _746.querySelectorAll, 'call', _747 => _747('[role="tab"]'), 'access', _748 => _748[next], 'optionalAccess', _749 => _749.focus, 'call', _750 => _750()]);
33929
33997
  };
33930
33998
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33931
33999
  "div",
@@ -33967,7 +34035,7 @@ function CapabilityExplorer({
33967
34035
  "span",
33968
34036
  {
33969
34037
  className: _chunk63A4GZMBcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
33970
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
34038
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
33971
34039
  }
33972
34040
  ),
33973
34041
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [
@@ -34728,4 +34796,8 @@ function CapabilityExplorer({
34728
34796
 
34729
34797
 
34730
34798
 
34731
- exports.AllowedDomainsInput = AllowedDomainsInput; exports.ANNOUNCEMENT_BAR_HEIGHT_CLASS = ANNOUNCEMENT_BAR_HEIGHT_CLASS; exports.AnnouncementBarView = AnnouncementBarView; 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.PROGRESS_BAR_HEIGHT = PROGRESS_BAR_HEIGHT; 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.RADIO_GROUP_BLOCK_SKELETON_OPTIONS = RADIO_GROUP_BLOCK_SKELETON_OPTIONS; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TAGS_INPUT_CLASS = TAGS_INPUT_CLASS; exports.TAGS_INPUT_ROW_CLASS = TAGS_INPUT_ROW_CLASS; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.TEXTAREA_BOX_CLASS = TEXTAREA_BOX_CLASS; exports.textareaBoxHeight = textareaBoxHeight; 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.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.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TAB_AVATAR_PX = TAB_AVATAR_PX; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.previewFadeMask = previewFadeMask; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedLoadingSkeleton = EmbedLoadingSkeleton; 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.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.DATA_SYNC_SOURCES = DATA_SYNC_SOURCES; exports.isDataSyncSource = isDataSyncSource; 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.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.TOGGLE_SIZE_CLASS = TOGGLE_SIZE_CLASS; 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.StepArrowButton = StepArrowButton; 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.DataSyncLine = DataSyncLine; exports.DownloadButton = DownloadButton; exports.COMPLIANCE_LOGO_SIZE_CLASS = COMPLIANCE_LOGO_SIZE_CLASS; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FEATURE_LIST_SKELETON_COUNT = FEATURE_LIST_SKELETON_COUNT; exports.FeatureList = FeatureList; exports.formatTrendChange = formatTrendChange; exports.TREND_TONES = TREND_TONES; exports.trendTone = trendTone; exports.trendToneClass = trendToneClass; exports.trendlinePoints = trendlinePoints; exports.Trendline = Trendline; exports.TrendHistory = TrendHistory; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.ORGANIZATION_CARD_RADIUS_CLASS = ORGANIZATION_CARD_RADIUS_CLASS; exports.ORGANIZATION_CARD_LAYOUT_CLASS = ORGANIZATION_CARD_LAYOUT_CLASS; exports.ORGANIZATION_CARD_SURFACE_CLASS = ORGANIZATION_CARD_SURFACE_CLASS; exports.ORGANIZATION_CARD_HEADER_CLASS = ORGANIZATION_CARD_HEADER_CLASS; exports.ORGANIZATION_CARD_TEXT_CLASS = ORGANIZATION_CARD_TEXT_CLASS; exports.ORGANIZATION_CARD_DESCRIPTION_CLASS = ORGANIZATION_CARD_DESCRIPTION_CLASS; exports.ORGANIZATION_CARD_FOOTER_CLASS = ORGANIZATION_CARD_FOOTER_CLASS; exports.ORGANIZATION_CARD_STATS_CLASS = ORGANIZATION_CARD_STATS_CLASS; exports.ORGANIZATION_CARD_STAT_CLASS = ORGANIZATION_CARD_STAT_CLASS; 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.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DATA_TABLE_ROW_FRAME_CLASS = DATA_TABLE_ROW_FRAME_CLASS; exports.ROW_STACK_CLASSES = ROW_STACK_CLASSES; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableHeader = QueryReportTableHeader; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.dataTableLoadingRows = dataTableLoadingRows; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; 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.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; 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.SSO_PROVIDERS_SKELETON_COUNT = SSO_PROVIDERS_SKELETON_COUNT; 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.ENTITY_TAG_BADGES_SKELETON_COUNT = ENTITY_TAG_BADGES_SKELETON_COUNT; exports.ENTITY_TAG_BADGES_PHONE_CAP = ENTITY_TAG_BADGES_PHONE_CAP; 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.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PATHS_DISPLAY_SKELETON_ROWS = PATHS_DISPLAY_SKELETON_ROWS; 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.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.siteNavSocialLinks = siteNavSocialLinks; exports.socialIcon = socialIcon; exports.socialIconRowClass = socialIconRowClass; exports.socialIconButtonProps = socialIconButtonProps; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.STATUS_FILTER_SKELETON_PILLS = STATUS_FILTER_SKELETON_PILLS; 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.ApprovalLevelView = ApprovalLevelView; exports.POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES = POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; 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 = providerMark2; 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.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.notificationCategoryIcon = notificationCategoryIcon; 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.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.SOFTWARE_UPDATE_DEADLINE_OPTIONS = SOFTWARE_UPDATE_DEADLINE_OPTIONS; exports.SOFTWARE_UPDATE_COUNTDOWN_OPTIONS = SOFTWARE_UPDATE_COUNTDOWN_OPTIONS; exports.DEFAULT_SOFTWARE_UPDATE_POLICY = DEFAULT_SOFTWARE_UPDATE_POLICY; exports.DEFAULT_SOFTWARE_UPDATE_SETTINGS = DEFAULT_SOFTWARE_UPDATE_SETTINGS; exports.SoftwareUpdateSettingsFields = SoftwareUpdateSettingsFields; 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.TOOL_CHIP_HEIGHT = TOOL_CHIP_HEIGHT; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; 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.SortableDragHandle = SortableDragHandle; 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.TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS = TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS; exports.TicketStatusConfigList = TicketStatusConfigList; exports.CONVERSATION_CARD_AVATAR_PX = CONVERSATION_CARD_AVATAR_PX; exports.ConversationCard = ConversationCard; exports.SNAP_CAROUSEL_GAP_PX = SNAP_CAROUSEL_GAP_PX; exports.SNAP_CAROUSEL_TRACK_CLASS = SNAP_CAROUSEL_TRACK_CLASS; exports.SnapCarouselSlide = SnapCarouselSlide; exports.SnapCarouselControls = SnapCarouselControls; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorer = CapabilityExplorer; 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.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownLinkDialog = MarkdownLinkDialog; exports.useMarkdownLinkCommand = useMarkdownLinkCommand; exports.MarkdownEditorFieldSkeleton = MarkdownEditorFieldSkeleton; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.formatTestRunDuration = formatTestRunDuration; 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.withTicketAssigneeAvatars = withTicketAssigneeAvatars; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PRODUCT_SCREEN_DESIGN_WIDTH = PRODUCT_SCREEN_DESIGN_WIDTH; exports.PRODUCT_SCREEN_READABLE_WIDTH = PRODUCT_SCREEN_READABLE_WIDTH; exports.PRODUCT_SCREEN_SCALE_FROM = PRODUCT_SCREEN_SCALE_FROM; exports.ProductScreenFrame = ProductScreenFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.SuperUserBannerView = SuperUserBannerView; exports.IconTile = IconTile;
34799
+
34800
+
34801
+
34802
+
34803
+ exports.AllowedDomainsInput = AllowedDomainsInput; exports.ANNOUNCEMENT_BAR_HEIGHT_CLASS = ANNOUNCEMENT_BAR_HEIGHT_CLASS; exports.AnnouncementBarView = AnnouncementBarView; 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.PROGRESS_BAR_HEIGHT = PROGRESS_BAR_HEIGHT; 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.RADIO_GROUP_BLOCK_SKELETON_OPTIONS = RADIO_GROUP_BLOCK_SKELETON_OPTIONS; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TAGS_INPUT_CLASS = TAGS_INPUT_CLASS; exports.TAGS_INPUT_ROW_CLASS = TAGS_INPUT_ROW_CLASS; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.TEXTAREA_BOX_CLASS = TEXTAREA_BOX_CLASS; exports.textareaBoxHeight = textareaBoxHeight; 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.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.TabNavigationVariantProvider = TabNavigationVariantProvider; exports.TAB_AVATAR_PX = TAB_AVATAR_PX; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.previewFadeMask = previewFadeMask; exports.FADE_PREVIEW_MAX_UNMEASURED_ITEMS = FADE_PREVIEW_MAX_UNMEASURED_ITEMS; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.EmbedLoadingSkeleton = EmbedLoadingSkeleton; 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.MobileAppQr = MobileAppQr; exports.StatusIndicator = StatusIndicator; exports.DATA_SYNC_SOURCES = DATA_SYNC_SOURCES; exports.isDataSyncSource = isDataSyncSource; 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.PageMain = PageMain; exports.ArticleDetailLayout = ArticleDetailLayout; exports.TOGGLE_SIZE_CLASS = TOGGLE_SIZE_CLASS; 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.StepArrowButton = StepArrowButton; 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.DataSyncLine = DataSyncLine; exports.DownloadButton = DownloadButton; exports.COMPLIANCE_LOGO_SIZE_CLASS = COMPLIANCE_LOGO_SIZE_CLASS; exports.ComplianceBadge = ComplianceBadge; exports.ComplianceLogo = ComplianceLogo; exports.FeatureCardGrid = FeatureCardGrid; exports.StepNumber = StepNumber; exports.NumberedStep = NumberedStep; exports.FEATURE_LIST_SKELETON_COUNT = FEATURE_LIST_SKELETON_COUNT; exports.FeatureList = FeatureList; exports.formatTrendChange = formatTrendChange; exports.TREND_TONES = TREND_TONES; exports.trendTone = trendTone; exports.trendToneClass = trendToneClass; exports.trendlinePoints = trendlinePoints; exports.Trendline = Trendline; exports.TrendHistory = TrendHistory; exports.SourceTooltip = SourceTooltip; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.ORGANIZATION_CARD_RADIUS_CLASS = ORGANIZATION_CARD_RADIUS_CLASS; exports.ORGANIZATION_CARD_LAYOUT_CLASS = ORGANIZATION_CARD_LAYOUT_CLASS; exports.ORGANIZATION_CARD_SURFACE_CLASS = ORGANIZATION_CARD_SURFACE_CLASS; exports.ORGANIZATION_CARD_HEADER_CLASS = ORGANIZATION_CARD_HEADER_CLASS; exports.ORGANIZATION_CARD_TEXT_CLASS = ORGANIZATION_CARD_TEXT_CLASS; exports.ORGANIZATION_CARD_DESCRIPTION_CLASS = ORGANIZATION_CARD_DESCRIPTION_CLASS; exports.ORGANIZATION_CARD_FOOTER_CLASS = ORGANIZATION_CARD_FOOTER_CLASS; exports.ORGANIZATION_CARD_STATS_CLASS = ORGANIZATION_CARD_STATS_CLASS; exports.ORGANIZATION_CARD_STAT_CLASS = ORGANIZATION_CARD_STAT_CLASS; 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.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DATA_TABLE_ROW_FRAME_CLASS = DATA_TABLE_ROW_FRAME_CLASS; exports.ROW_STACK_CLASSES = ROW_STACK_CLASSES; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableHeader = QueryReportTableHeader; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.dataTableLoadingRows = dataTableLoadingRows; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableCursorFooter = DataTableCursorFooter; 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.TRIAL_TERM_ICONS = TRIAL_TERM_ICONS; exports.DEFAULT_TRIAL_TERMS = DEFAULT_TRIAL_TERMS; exports.trialBenefits = trialBenefits; exports.BenefitList = BenefitList; 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.SSO_PROVIDERS_SKELETON_COUNT = SSO_PROVIDERS_SKELETON_COUNT; 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.ENTITY_TAG_BADGES_SKELETON_COUNT = ENTITY_TAG_BADGES_SKELETON_COUNT; exports.ENTITY_TAG_BADGES_PHONE_CAP = ENTITY_TAG_BADGES_PHONE_CAP; 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.PushButtonSelector = PushButtonSelector; exports.MODEL_TOKEN_RATES_COPY = MODEL_TOKEN_RATES_COPY; exports.ModelTokenRates = ModelTokenRates; exports.ModelTokenRatesPopover = ModelTokenRatesPopover; exports.ModelTokenRatesUnavailable = ModelTokenRatesUnavailable; exports.MODEL_TOKEN_EXCHANGE_BALANCE = MODEL_TOKEN_EXCHANGE_BALANCE; exports.MODEL_TOKEN_EXCHANGE_RANGE = MODEL_TOKEN_EXCHANGE_RANGE; exports.ModelTokenExchange = ModelTokenExchange; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PATHS_DISPLAY_SKELETON_ROWS = PATHS_DISPLAY_SKELETON_ROWS; 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.SelectButton = SelectButton; exports.ConfidenceBadge = ConfidenceBadge; exports.SEOEditorPreview = SEOEditorPreview; exports.siteNavSocialLinks = siteNavSocialLinks; exports.socialIcon = socialIcon; exports.socialIconRowClass = socialIconRowClass; exports.socialIconButtonProps = socialIconButtonProps; exports.SocialIconRow = SocialIconRow; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.STATUS_FILTER_SKELETON_PILLS = STATUS_FILTER_SKELETON_PILLS; 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.ApprovalLevelView = ApprovalLevelView; exports.POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES = POLICY_CONFIGURATION_PANEL_SKELETON_CATEGORIES; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; 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 = providerMark2; 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.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.notificationCategoryIcon = notificationCategoryIcon; 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.CountPill = CountPill; exports.unreadNotificationsLabel = unreadNotificationsLabel; exports.UnreadNotificationsIndicator = UnreadNotificationsIndicator; exports.DeviceUnreadIndicator = DeviceUnreadIndicator; exports.getDeviceActionsColumn = getDeviceActionsColumn; exports.getDeviceOpenColumn = getDeviceOpenColumn; exports.DevicesTableBody = DevicesTableBody; exports.getDeviceFilterColumns = getDeviceFilterColumns; exports.getDeviceTableColumns = getDeviceTableColumns; exports.useTagFilterModal = useTagFilterModal; exports.DeviceSelector = DeviceSelector; 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.SOFTWARE_UPDATE_DEADLINE_OPTIONS = SOFTWARE_UPDATE_DEADLINE_OPTIONS; exports.SOFTWARE_UPDATE_COUNTDOWN_OPTIONS = SOFTWARE_UPDATE_COUNTDOWN_OPTIONS; exports.DEFAULT_SOFTWARE_UPDATE_POLICY = DEFAULT_SOFTWARE_UPDATE_POLICY; exports.DEFAULT_SOFTWARE_UPDATE_SETTINGS = DEFAULT_SOFTWARE_UPDATE_SETTINGS; exports.SoftwareUpdateSettingsFields = SoftwareUpdateSettingsFields; 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.TOOL_CHIP_HEIGHT = TOOL_CHIP_HEIGHT; exports.ToolBadge = ToolBadge; exports.LogsTableView = LogsTableView; exports.logSeverityVariant = logSeverityVariant; exports.SCRIPT_EXECUTION_STATUS_PRESENTATION = SCRIPT_EXECUTION_STATUS_PRESENTATION; exports.scriptExecutionStatus = scriptExecutionStatus; exports.ExecutionSourceBadge = ExecutionSourceBadge; exports.ExecutionTimestampCell = ExecutionTimestampCell; exports.ExecutionStatusCell = ExecutionStatusCell; exports.ExecutionDeviceCell = ExecutionDeviceCell; exports.ExecutionInitiatorCell = ExecutionInitiatorCell; exports.ExecutionResultCell = ExecutionResultCell; exports.ScriptExecutionResult = ScriptExecutionResult; exports.ScriptNameCell = ScriptNameCell; exports.ScheduleDateTimeCell = ScheduleDateTimeCell; exports.SCRIPT_COLUMNS = SCRIPT_COLUMNS; exports.SCHEDULE_COLUMNS = SCHEDULE_COLUMNS; exports.EXECUTION_COLUMNS = EXECUTION_COLUMNS; exports.SCRIPTS_TAB_WIDTHS = SCRIPTS_TAB_WIDTHS; exports.SCRIPTS_TABLE_COLUMNS = SCRIPTS_TABLE_COLUMNS; exports.SCHEDULES_TABLE_COLUMNS = SCHEDULES_TABLE_COLUMNS; exports.EXECUTIONS_TABLE_COLUMNS = EXECUTIONS_TABLE_COLUMNS; exports.scriptsColumnMeta = scriptsColumnMeta; exports.RowActionsCell = RowActionsCell; exports.OpenInNewTabCell = OpenInNewTabCell; exports.ScriptExecutionsTable = ScriptExecutionsTable; exports.ScriptSchedulesTable = ScriptSchedulesTable; exports.SCRIPT_SHELL_TYPES = SCRIPT_SHELL_TYPES; exports.scriptShellType = scriptShellType; exports.scriptShellLabel = scriptShellLabel; exports.ScriptShellBadge = ScriptShellBadge; exports.ScriptsTable = ScriptsTable; exports.SCRIPTS_TABS = SCRIPTS_TABS; exports.SCRIPT_SCHEDULE_TRIGGER = SCRIPT_SCHEDULE_TRIGGER; exports.SCHEDULE_TIME_REFERENCE = SCHEDULE_TIME_REFERENCE; exports.SCHEDULE_OFFLINE_BEHAVIOR = SCHEDULE_OFFLINE_BEHAVIOR; exports.isEventTrigger = isEventTrigger; exports.isDeviceLocalTime = isDeviceLocalTime; exports.DURATION_UNIT_VALUES = DURATION_UNIT_VALUES; exports.DURATION_UNIT_SECONDS = DURATION_UNIT_SECONDS; exports.DURATION_UNIT_LABELS = DURATION_UNIT_LABELS; exports.MIN_REPEAT_MINUTES = MIN_REPEAT_MINUTES; exports.DURATION_UNIT_OPTIONS = DURATION_UNIT_OPTIONS; exports.snapRepeatInterval = snapRepeatInterval; exports.isRetryOnReconnect = isRetryOnReconnect; exports.MIN_RECONNECT_MINUTES = MIN_RECONNECT_MINUTES; exports.snapReconnectInterval = snapReconnectInterval; exports.DEFAULT_RECONNECT_WINDOW = DEFAULT_RECONNECT_WINDOW; exports.isSlotOnGrid = isSlotOnGrid; exports.getTimeSlotOptions = getTimeSlotOptions; exports.slotToLabel = slotToLabel; exports.startOfToday = startOfToday; exports.earliestDeviceLocalDay = earliestDeviceLocalDay; exports.earliestScheduleDay = earliestScheduleDay; exports.isScheduleStartInPast = isScheduleStartInPast; exports.PAST_START_MESSAGE = PAST_START_MESSAGE; exports.NO_SLOTS_TODAY_MESSAGE = NO_SLOTS_TODAY_MESSAGE; exports.isStartInPastAndChanged = isStartInPastAndChanged; exports.dateToTimeSlot = dateToTimeSlot; exports.applyTimeSlot = applyTimeSlot; exports.fromScheduleInstant = fromScheduleInstant; exports.EMPTY_SCHEDULE_SCRIPT_ROW = EMPTY_SCHEDULE_SCRIPT_ROW; exports.SCHEDULE_TRIGGER_OPTIONS = SCHEDULE_TRIGGER_OPTIONS; exports.SCHEDULE_TIME_REFERENCE_OPTIONS = SCHEDULE_TIME_REFERENCE_OPTIONS; exports.SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS = SCHEDULE_OFFLINE_BEHAVIOR_OPTIONS; exports.DEFAULT_SCHEDULE_FORM_VALUES = DEFAULT_SCHEDULE_FORM_VALUES; exports.ScheduleIntervalInput = ScheduleIntervalInput; exports.ScheduleOfflineFields = ScheduleOfflineFields; exports.SLOT_STICKINESS = SLOT_STICKINESS; exports.SortableList = SortableList; exports.ScriptArguments = ScriptArguments; exports.SortableMoveButtons = SortableMoveButtons; exports.useSortableItem = useSortableItem; exports.ScheduleScriptPickerCard = ScheduleScriptPickerCard; exports.ScheduleScriptsField = ScheduleScriptsField; exports.ScheduleTimingFields = ScheduleTimingFields; exports.ScheduleFormFields = ScheduleFormFields; exports.ScheduleScriptSearchField = ScheduleScriptSearchField; 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.SortableDragHandle = SortableDragHandle; 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.TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS = TICKET_STATUS_CONFIG_LIST_SKELETON_ROWS; exports.TicketStatusConfigList = TicketStatusConfigList; exports.CONVERSATION_CARD_AVATAR_PX = CONVERSATION_CARD_AVATAR_PX; exports.ConversationCard = ConversationCard; exports.SNAP_CAROUSEL_GAP_PX = SNAP_CAROUSEL_GAP_PX; exports.SNAP_CAROUSEL_TRACK_CLASS = SNAP_CAROUSEL_TRACK_CLASS; exports.SnapCarouselSlide = SnapCarouselSlide; exports.SnapCarouselControls = SnapCarouselControls; exports.SnapCarousel = SnapCarousel; exports.capabilityTabId = capabilityTabId; exports.CapabilityExplorer = CapabilityExplorer; 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.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownLinkDialog = MarkdownLinkDialog; exports.useMarkdownLinkCommand = useMarkdownLinkCommand; exports.MarkdownEditorFieldSkeleton = MarkdownEditorFieldSkeleton; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.formatTestRunDuration = formatTestRunDuration; 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.withTicketAssigneeAvatars = withTicketAssigneeAvatars; exports.TakeOverTicketModal = TakeOverTicketModal; exports.ReopenTicketModal = ReopenTicketModal; exports.ReopenTicketRequestModal = ReopenTicketRequestModal; exports.PHOTO_WALL_FRAME = PHOTO_WALL_FRAME; exports.photoWallRequestWidth = photoWallRequestWidth; exports.photoOrientation = photoOrientation; exports.arrangePhotoWall = arrangePhotoWall; exports.PhotoWall = PhotoWall; exports.FilterPillRow = FilterPillRow; exports.LazyMount = LazyMount; exports.AppWindowFrame = AppWindowFrame; exports.PRODUCT_SCREEN_DESIGN_WIDTH = PRODUCT_SCREEN_DESIGN_WIDTH; exports.PRODUCT_SCREEN_READABLE_WIDTH = PRODUCT_SCREEN_READABLE_WIDTH; exports.PRODUCT_SCREEN_SCALE_FROM = PRODUCT_SCREEN_SCALE_FROM; exports.ProductScreenFrame = ProductScreenFrame; exports.PhoneFrame = PhoneFrame; exports.NotificationStack = NotificationStack; exports.StripCard = StripCard; exports.LeaderRow = LeaderRow; exports.AnalyzingState = AnalyzingState; exports.IncidentStatusLine = IncidentStatusLine; exports.IncidentFeed = IncidentFeed; exports.useBetweenAnchors = useBetweenAnchors; exports.StickyActionBar = StickyActionBar; exports.SuperUserBannerView = SuperUserBannerView; exports.IconTile = IconTile;