@flamingo-stack/openframe-frontend-core 0.0.840 → 0.0.842

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 (67) hide show
  1. package/dist/build/route-styles.cjs +3 -1
  2. package/dist/build/style-sources.cjs +15 -2
  3. package/dist/build/style-sources.d.ts +3 -0
  4. package/dist/{case-study-card-TK7ZCNLM.cjs → case-study-card-VN3JBNF5.cjs} +3 -3
  5. package/dist/{chunk-RSJYTQEA.cjs → chunk-23DVVS4I.cjs} +104 -104
  6. package/dist/{chunk-GMK4JGC2.cjs → chunk-2HRQU4ZL.cjs} +44 -44
  7. package/dist/{chunk-HXTZZE3R.cjs → chunk-3ONBCAD2.cjs} +59 -59
  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-275AQ6LC.cjs → chunk-7UZYI4GV.cjs} +4 -4
  14. package/dist/{chunk-SOCCHWDK.cjs → chunk-BHOVF4KP.cjs} +2 -2
  15. package/dist/{chunk-WVNUCKB7.cjs → chunk-CNMXP77I.cjs} +4 -4
  16. package/dist/{chunk-Q6WUHYOG.cjs → chunk-CQQRGM6D.cjs} +85 -85
  17. package/dist/{chunk-TD4CC4KV.cjs → chunk-EUEPGHY4.cjs} +6 -6
  18. package/dist/{chunk-DYDQLS2R.cjs → chunk-GQJXOX5S.cjs} +213 -213
  19. package/dist/{chunk-AT6D7BAZ.cjs → chunk-IVM35OAW.cjs} +3 -3
  20. package/dist/{chunk-JM2XA7VY.cjs → chunk-IVS23CAK.cjs} +15 -15
  21. package/dist/{chunk-ZAO5SYBJ.cjs → chunk-MWQOM2EI.cjs} +4 -4
  22. package/dist/{chunk-WI7EXAZT.cjs → chunk-NMLNZCK2.cjs} +2 -2
  23. package/dist/{chunk-APNONOHY.cjs → chunk-PZNWIJRZ.cjs} +13 -10
  24. package/dist/{chunk-MYAPG3FQ.cjs → chunk-QPJUQ5YU.cjs} +21 -21
  25. package/dist/{chunk-VBH2RCFM.cjs → chunk-RAFWT3WG.cjs} +78 -78
  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-UZPYYHF5.cjs → chunk-SOTTMZ6U.cjs} +19 -19
  29. package/dist/{chunk-E7M54JWW.cjs → chunk-SSSI2RBV.cjs} +14 -14
  30. package/dist/{chunk-Z35PL3UR.cjs → chunk-WOYARKPQ.cjs} +34 -34
  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-IELPVUPR.cjs → chunk-YNKXXDOI.cjs} +23 -23
  34. package/dist/{chunk-GUKFMMDZ.cjs → chunk-ZOWAYKDN.cjs} +3 -3
  35. package/dist/{cloud-tenants-PV63RZ73.cjs → cloud-tenants-U6Y2UZVF.cjs} +11 -11
  36. package/dist/components/case-studies/index.cjs +26 -26
  37. package/dist/components/chat/index.cjs +8 -8
  38. package/dist/components/contact/index.cjs +12 -12
  39. package/dist/components/docs/index.cjs +15 -15
  40. package/dist/components/embeds/index.cjs +12 -12
  41. package/dist/components/faq/index.cjs +13 -13
  42. package/dist/components/features/index.cjs +11 -11
  43. package/dist/components/help-center-pages/index.cjs +105 -105
  44. package/dist/components/index.cjs +65 -65
  45. package/dist/components/meeting-scheduler/index.cjs +50 -50
  46. package/dist/components/navigation/index.cjs +14 -14
  47. package/dist/components/onboarding-guides/index.cjs +14 -14
  48. package/dist/components/product-demo/index.cjs +20 -20
  49. package/dist/components/related-content/index.cjs +7 -7
  50. package/dist/components/tickets/index.cjs +18 -18
  51. package/dist/components/ui/index.cjs +11 -11
  52. package/dist/{devices-VECG5JNC.cjs → devices-HB4GEMJH.cjs} +12 -12
  53. package/dist/{embeddable-chat-VRYAQQF6.cjs → embeddable-chat-C6DUH2JL.cjs} +78 -78
  54. package/dist/hooks/index.cjs +4 -4
  55. package/dist/index.cjs +15 -15
  56. package/dist/{knowledge-YJSDJIXT.cjs → knowledge-I53Z6DV7.cjs} +12 -12
  57. package/dist/{logs-42JG3NZ5.cjs → logs-SFLAZIQG.cjs} +18 -18
  58. package/dist/platform-domains.cjs +14 -10
  59. package/dist/platform-domains.d.ts +12 -7
  60. package/dist/platform-domains.d.ts.map +1 -1
  61. package/dist/platform-domains.js +14 -10
  62. package/dist/{policies-D4QNVJ26.cjs → policies-EIAGQO6T.cjs} +15 -15
  63. package/dist/{scripts-4VFYBXBE.cjs → scripts-SNJ4UVRF.cjs} +16 -16
  64. package/dist/{software-update-OSDZQ5CP.cjs → software-update-AZFRUC5N.cjs} +14 -14
  65. package/dist/utils/index.cjs +13 -10
  66. package/package.json +1 -1
  67. 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,7 @@ var _chunkHLJXCOMAcjs = require('./chunk-HLJXCOMA.cjs');
463
463
 
464
464
 
465
465
 
466
- var _chunkFRL2ZN4Ocjs = require('./chunk-FRL2ZN4O.cjs');
466
+ var _chunkXCVH5BCZcjs = require('./chunk-XCVH5BCZ.cjs');
467
467
 
468
468
 
469
469
 
@@ -496,7 +496,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
496
496
 
497
497
 
498
498
 
499
- var _chunkRSJYTQEAcjs = require('./chunk-RSJYTQEA.cjs');
499
+ var _chunk23DVVS4Icjs = require('./chunk-23DVVS4I.cjs');
500
500
 
501
501
 
502
502
  var _chunk5GBLXY5Fcjs = require('./chunk-5GBLXY5F.cjs');
@@ -520,7 +520,7 @@ var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
520
520
 
521
521
 
522
522
 
523
- var _chunkTD4CC4KVcjs = require('./chunk-TD4CC4KV.cjs');
523
+ var _chunkEUEPGHY4cjs = require('./chunk-EUEPGHY4.cjs');
524
524
 
525
525
 
526
526
 
@@ -554,7 +554,7 @@ var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
554
554
 
555
555
 
556
556
 
557
- var _chunkAPNONOHYcjs = require('./chunk-APNONOHY.cjs');
557
+ var _chunkPZNWIJRZcjs = require('./chunk-PZNWIJRZ.cjs');
558
558
 
559
559
 
560
560
 
@@ -716,7 +716,7 @@ function ThemeProvider({ children, ...overrides }) {
716
716
  var useTheme = _nextthemes.useTheme;
717
717
  function useThemeToggle() {
718
718
  const { resolvedTheme, theme, setTheme } = useTheme();
719
- const mounted = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
719
+ const mounted = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
720
720
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
721
721
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
722
722
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -2450,7 +2450,7 @@ function InfoCardValueRow({
2450
2450
  copyAriaLabel,
2451
2451
  loading: loadingProp
2452
2452
  }) {
2453
- const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
2453
+ const { copy, copied } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, );
2454
2454
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
2455
2455
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: VALUE_ROW_CLASS, children: [
2456
2456
  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 +4563,14 @@ function AdminFormDrawer({
4563
4563
  else onClose();
4564
4564
  };
4565
4565
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4566
- _chunkWI7EXAZTcjs.Drawer,
4566
+ _chunkNMLNZCK2cjs.Drawer,
4567
4567
  {
4568
4568
  open: isOpen,
4569
4569
  onOpenChange: (open) => {
4570
4570
  if (!open) requestClose();
4571
4571
  },
4572
4572
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4573
- _chunkWI7EXAZTcjs.DrawerContent,
4573
+ _chunkNMLNZCK2cjs.DrawerContent,
4574
4574
  {
4575
4575
  side: "right",
4576
4576
  resizable: true,
@@ -4579,15 +4579,15 @@ function AdminFormDrawer({
4579
4579
  storageKey,
4580
4580
  panelClassName: "max-md:w-[calc(100vw-1rem)]",
4581
4581
  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 }) })
4582
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNMLNZCK2cjs.DrawerHeader, { children: [
4583
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerTitle, { children: title }),
4584
+ subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerDescription, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: subtitle }) })
4585
4585
  ] }),
4586
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI7EXAZTcjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4586
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.DrawerBody, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4587
4587
  "form",
4588
4588
  {
4589
4589
  id: formId,
4590
- ..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4590
+ ..._chunk4ASUUB3Acjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4591
4591
  className: "flex flex-col gap-[var(--spacing-system-lf)]",
4592
4592
  onSubmit: (e) => {
4593
4593
  e.preventDefault();
@@ -4694,7 +4694,7 @@ function AdminFormModal({
4694
4694
  "form",
4695
4695
  {
4696
4696
  id: formId,
4697
- ..._chunkDGY5KEPYcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4697
+ ..._chunk4ASUUB3Acjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4698
4698
  className: "flex min-h-0 flex-1 flex-col",
4699
4699
  onSubmit: (e) => {
4700
4700
  e.preventDefault();
@@ -6065,7 +6065,7 @@ function EmbedViewerFrame({
6065
6065
  const controllerRef = _react.useRef.call(void 0, null);
6066
6066
  _react.useEffect.call(void 0, () => {
6067
6067
  if (!fullscreenControl) return void 0;
6068
- const controller = new (0, _chunkDGY5KEPYcjs.FullscreenSwitchController)({
6068
+ const controller = new (0, _chunk4ASUUB3Acjs.FullscreenSwitchController)({
6069
6069
  target: () => frameRef.current,
6070
6070
  onFullscreenChange: setIsFullscreen
6071
6071
  });
@@ -6159,7 +6159,7 @@ var KIND_HEADING = {
6159
6159
  design: "Claude Design"
6160
6160
  };
6161
6161
  function ClaudeEmbed({ url, kind = "artifact", title, height, loading = "lazy" }) {
6162
- const { src: mirrorSrc, status } = _chunkE7M54JWWcjs.useClaudeMirrorSrc.call(void 0, url);
6162
+ const { src: mirrorSrc, status } = _chunkSSSI2RBVcjs.useClaudeMirrorSrc.call(void 0, url);
6163
6163
  const isProbing = status === "probing";
6164
6164
  const embedUrl = isProbing ? null : _nullishCoalesce(mirrorSrc, () => ( _chunkHLJXCOMAcjs.toClaudeEmbedUrl.call(void 0, url)));
6165
6165
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6692,7 +6692,7 @@ var OGLinkPreview = ({
6692
6692
  type: "website",
6693
6693
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
6694
6694
  } : null)));
6695
- const placeholderImageUrl = _chunkAPNONOHYcjs.useOgPlaceholderUrl.call(void 0, {
6695
+ const placeholderImageUrl = _chunkPZNWIJRZcjs.useOgPlaceholderUrl.call(void 0, {
6696
6696
  title: _optionalChain([effectiveData, 'optionalAccess', _124 => _124.title]),
6697
6697
  siteName: _optionalChain([effectiveData, 'optionalAccess', _125 => _125.siteName]) || domain,
6698
6698
  enabled: enablePlaceholder && !isTile
@@ -6708,7 +6708,7 @@ var OGLinkPreview = ({
6708
6708
  const hasImage = !!resolvedImageUrl;
6709
6709
  const isCuratedImage = _optionalChain([resolvedImage, 'optionalAccess', _129 => _129.source]) === "curated";
6710
6710
  const isPlaceholder = _optionalChain([resolvedImage, 'optionalAccess', _130 => _130.source]) === "placeholder";
6711
- const bgColor = _chunkAPNONOHYcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
6711
+ const bgColor = _chunkPZNWIJRZcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--color-bg-surface)");
6712
6712
  const renderSkeleton = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6713
6713
  OGLinkPreviewSkeleton,
6714
6714
  {
@@ -7119,7 +7119,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
7119
7119
  };
7120
7120
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
7121
7121
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7122
- _chunkTD4CC4KVcjs.Video,
7122
+ _chunkEUEPGHY4cjs.Video,
7123
7123
  {
7124
7124
  url: item.src,
7125
7125
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7314,7 +7314,7 @@ var formatTimeAgo = (timestamp) => {
7314
7314
  return `${Math.floor(diffSeconds / 86400)}d ago`;
7315
7315
  };
7316
7316
  function RedditEmbedClient({ url, maxWidth = 700, rel }) {
7317
- const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
7317
+ const postLinkRel = _chunkWPMJUYW3cjs.renderedLinkRel.call(void 0, rel, true);
7318
7318
  const { redditProxyUrl } = useRichMarkdownRuntime();
7319
7319
  const [redditData, setRedditData] = _react.useState.call(void 0, null);
7320
7320
  const [loading, setLoading] = _react.useState.call(void 0, true);
@@ -7646,7 +7646,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
7646
7646
  ] });
7647
7647
  var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
7648
7648
  function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
7649
- const postLinkRel = _chunkEV6BPF47cjs.renderedLinkRel.call(void 0, rel, true);
7649
+ const postLinkRel = _chunkWPMJUYW3cjs.renderedLinkRel.call(void 0, rel, true);
7650
7650
  const { twitterProxyUrl } = useRichMarkdownRuntime();
7651
7651
  const [tweetData, setTweetData] = _react.useState.call(void 0, null);
7652
7652
  const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
@@ -7848,7 +7848,7 @@ function buildRichEmbedOverrides({
7848
7848
  ogEndpointPath,
7849
7849
  textSizes
7850
7850
  }) {
7851
- const standard = _chunkEV6BPF47cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7851
+ const standard = _chunkWPMJUYW3cjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7852
7852
  return {
7853
7853
  // Fence-language embeds (```youtube-embed etc.); everything else
7854
7854
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7858,7 +7858,7 @@ function buildRichEmbedOverrides({
7858
7858
  const language = match ? match[1] : "";
7859
7859
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7860
7860
  if (language === "youtube-embed") {
7861
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url: fenceText() });
7861
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url: fenceText() });
7862
7862
  }
7863
7863
  if (language === "reddit-embed") {
7864
7864
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7899,7 +7899,7 @@ function buildRichEmbedOverrides({
7899
7899
  "data-figma-url": figmaUrl
7900
7900
  } = divProps;
7901
7901
  if (className === "youtube-embed" && videoId) {
7902
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url: videoId });
7902
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url: videoId });
7903
7903
  }
7904
7904
  if (className === "reddit-embed" && postUrl) {
7905
7905
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7984,23 +7984,23 @@ function buildRichEmbedOverrides({
7984
7984
  // rich-markdown runtime (Supabase optimization on the hub, identity
7985
7985
  // elsewhere). Guard against empty `![]()`.
7986
7986
  img: ({ src, alt }) => {
7987
- if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
7987
+ if (!_chunkWPMJUYW3cjs.hasRenderableSrc.call(void 0, src)) return null;
7988
7988
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7989
7989
  },
7990
7990
  // Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
7991
7991
  // facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
7992
7992
  // the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
7993
7993
  iframe: ({ node: _node, src, ...rest }) => {
7994
- if (!_chunkEV6BPF47cjs.hasRenderableSrc.call(void 0, src)) return null;
7994
+ if (!_chunkWPMJUYW3cjs.hasRenderableSrc.call(void 0, src)) return null;
7995
7995
  const url = src.trim();
7996
- if (_chunkTD4CC4KVcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Video, { kind: "youtube", url });
7996
+ if (_chunkEUEPGHY4cjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "youtube", url });
7997
7997
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
7998
7998
  },
7999
7999
  // Raw <video> tags in stored content (blog publisher injection) route
8000
8000
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
8001
8001
  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 }) }) });
8002
+ if (!_chunkWPMJUYW3cjs.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, _chunkEUEPGHY4cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
8004
8004
  }
8005
8005
  };
8006
8006
  }
@@ -8108,7 +8108,7 @@ var processShortcodes = (content) => {
8108
8108
  try {
8109
8109
  const urlObj = new URL(url);
8110
8110
  const hostname = urlObj.hostname.toLowerCase();
8111
- const hostIs = (domain) => _chunkRSJYTQEAcjs.hostMatches.call(void 0, hostname, domain);
8111
+ const hostIs = (domain) => _chunk23DVVS4Icjs.hostMatches.call(void 0, hostname, domain);
8112
8112
  const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
8113
8113
  if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
8114
8114
  return match;
@@ -8185,13 +8185,13 @@ var RichMarkdownInner = ({
8185
8185
  },
8186
8186
  [resolveLinkEndpointUrl, resolveSource]
8187
8187
  );
8188
- const textSizes = _react.useMemo.call(void 0, () => _chunkEV6BPF47cjs.resolveTextSizeConfig.call(void 0, "article"), []);
8188
+ const textSizes = _react.useMemo.call(void 0, () => _chunkWPMJUYW3cjs.resolveTextSizeConfig.call(void 0, "article"), []);
8189
8189
  const componentOverrides = _react.useMemo.call(void 0,
8190
8190
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8191
8191
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8192
8192
  );
8193
8193
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8194
- _chunkEV6BPF47cjs.MarkdownEngine,
8194
+ _chunkWPMJUYW3cjs.MarkdownEngine,
8195
8195
  {
8196
8196
  content,
8197
8197
  className,
@@ -8216,7 +8216,7 @@ var RichMarkdownRendererImpl = ({
8216
8216
  className = "",
8217
8217
  sectionIds,
8218
8218
  onInternalLinkClick,
8219
- brokenLinks = _chunkEV6BPF47cjs.NO_BROKEN_LINKS,
8219
+ brokenLinks = _chunkWPMJUYW3cjs.NO_BROKEN_LINKS,
8220
8220
  currentPath,
8221
8221
  resolveSource = "openframe-docs",
8222
8222
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -9561,7 +9561,7 @@ function renderAdvancedPageContainer({
9561
9561
  contentClassName,
9562
9562
  showHeader = true
9563
9563
  }, 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;
9564
+ 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
9565
  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
9566
  const getActionsVariant = () => {
9567
9567
  if (actionsVariant) return actionsVariant;
@@ -9721,7 +9721,7 @@ function ListPageLayout({
9721
9721
  }) {
9722
9722
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
9723
9723
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
9724
- const debouncedSearchValue = _chunkFRL2ZN4Ocjs.useDebounce.call(void 0, localSearchValue, 500);
9724
+ const debouncedSearchValue = _chunkXCVH5BCZcjs.useDebounce.call(void 0, localSearchValue, 500);
9725
9725
  const [syncedSearchValue, setSyncedSearchValue] = _react.useState.call(void 0, searchValue);
9726
9726
  if (syncedSearchValue !== searchValue) {
9727
9727
  setSyncedSearchValue(searchValue);
@@ -9988,7 +9988,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
9988
9988
 
9989
9989
 
9990
9990
  function PlatformBrowseButton({ item }) {
9991
- const linkProps = _chunkEV6BPF47cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9991
+ const linkProps = _chunkWPMJUYW3cjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9992
9992
  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
9993
  "Browse ",
9994
9994
  item.buttonText
@@ -10507,10 +10507,10 @@ var OSTypeBadge = ({
10507
10507
  if (!osType) {
10508
10508
  return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
10509
10509
  }
10510
- const normalized = _chunkDGY5KEPYcjs.normalizeOSType.call(void 0, osType);
10510
+ const normalized = _chunk4ASUUB3Acjs.normalizeOSType.call(void 0, osType);
10511
10511
  if (!normalized && !labelOnly) return null;
10512
- const label = _chunkDGY5KEPYcjs.getOSLabel.call(void 0, osType);
10513
- const IconComponent = _chunkDGY5KEPYcjs.getOSIcon.call(void 0, osType);
10512
+ const label = _chunk4ASUUB3Acjs.getOSLabel.call(void 0, osType);
10513
+ const IconComponent = _chunk4ASUUB3Acjs.getOSIcon.call(void 0, osType);
10514
10514
  if (iconOnly && IconComponent) {
10515
10515
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk63A4GZMBcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
10516
10516
  }
@@ -10807,7 +10807,7 @@ function ComplianceLogo({
10807
10807
  fallback = null,
10808
10808
  className
10809
10809
  }) {
10810
- const standard = _chunkDGY5KEPYcjs.complianceStandardForName.call(void 0, ...names);
10810
+ const standard = _chunk4ASUUB3Acjs.complianceStandardForName.call(void 0, ...names);
10811
10811
  if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
10812
10812
  const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
10813
10813
  return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10888,7 +10888,7 @@ function FeatureCardGridView({
10888
10888
  if (allCardsHaveNoBorders) {
10889
10889
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
10890
10890
  }
10891
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD4CC4KVcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10891
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10892
10892
  const startIndex = rowIndex * itemsPerRow;
10893
10893
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
10894
10894
  const isLastRow = rowIndex === rows - 1;
@@ -10922,7 +10922,7 @@ function FeatureCardGridView({
10922
10922
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
10923
10923
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
10924
10924
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10925
- _chunkTD4CC4KVcjs.StatusBadge,
10925
+ _chunkEUEPGHY4cjs.StatusBadge,
10926
10926
  {
10927
10927
  text: item.badge.text,
10928
10928
  variant: item.badge.variant || "card",
@@ -10931,7 +10931,7 @@ function FeatureCardGridView({
10931
10931
  )
10932
10932
  ] }),
10933
10933
  !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,
10934
+ _chunkEUEPGHY4cjs.StatusBadge,
10935
10935
  {
10936
10936
  text: item.badge.text,
10937
10937
  variant: item.badge.variant || "card",
@@ -11815,7 +11815,7 @@ function ServiceCard({
11815
11815
  function ServiceCardRowItem({ row, loading: loadingProp }) {
11816
11816
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
11817
11817
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
11818
- const { copy, copied } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, );
11818
+ const { copy, copied } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, );
11819
11819
  const { ref: valueRef, isTruncated: valueTruncated } = _chunkCOWMXUHNcjs.useIsTruncated.call(void 0, row.value);
11820
11820
  const actions = _react.useMemo.call(void 0, () => rowActions(row), [row]);
11821
11821
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
@@ -11823,7 +11823,7 @@ function ServiceCardRowItem({ row, loading: loadingProp }) {
11823
11823
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
11824
11824
  const openInNewTab2 = () => {
11825
11825
  if (!row.href) return;
11826
- _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
11826
+ _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href: row.href });
11827
11827
  };
11828
11828
  const labelColumn = loading ? row.label !== void 0 : !!row.label;
11829
11829
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: SERVICE_CARD_ROW_CLASS, children: [
@@ -12849,7 +12849,7 @@ function DataTableRowImpl({
12849
12849
  const containerRef = _react.useRef.call(void 0, null);
12850
12850
  const handleClick = _react.useCallback.call(void 0,
12851
12851
  (e) => {
12852
- if (!_chunkDGY5KEPYcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
12852
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
12853
12853
  if (isLinkMode) e.preventDefault();
12854
12854
  return;
12855
12855
  }
@@ -12863,7 +12863,7 @@ function DataTableRowImpl({
12863
12863
  if (!(target instanceof Element) || !_optionalChain([container, 'optionalAccess', _224 => _224.contains, 'call', _225 => _225(target)])) return;
12864
12864
  const nestedLink = target.closest("a");
12865
12865
  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();
12866
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, target, container) || target.closest(ROW_LINK_CONTROL_SELECTOR)) e.preventDefault();
12867
12867
  }, []);
12868
12868
  const containerClassName = _chunk63A4GZMBcjs.cn.call(void 0,
12869
12869
  DATA_TABLE_ROW_FRAME_CLASS,
@@ -12993,7 +12993,7 @@ function DataTableBody({
12993
12993
  const skeletonRowClassName = typeof rowClassName === "string" ? rowClassName : void 0;
12994
12994
  if (loading && loadingCells && hasRows) {
12995
12995
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12996
- _chunkEV6BPF47cjs.LoadingFallback,
12996
+ _chunkWPMJUYW3cjs.LoadingFallback,
12997
12997
  {
12998
12998
  label: "Loading results",
12999
12999
  status: loadingRegion && !inScope,
@@ -13342,7 +13342,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13342
13342
  // child of the cell.
13343
13343
  _optionalChain([meta, 'optionalAccess', _244 => _244.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
13344
13344
  filterTrigger,
13345
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4ASUUB3Acjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13346
13346
  ] }) : filterTrigger
13347
13347
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13348
13348
  "div",
@@ -13367,7 +13367,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13367
13367
  // centred on the row.
13368
13368
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
13369
13369
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13370
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGY5KEPYcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13370
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4ASUUB3Acjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13371
13371
  ] })
13372
13372
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13373
13373
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -13606,7 +13606,7 @@ function PhoneInput({
13606
13606
  placeholder = "Phone Number (optional)",
13607
13607
  onKeyDown
13608
13608
  }) {
13609
- const { priority, others } = _react.useMemo.call(void 0, () => _chunkDGY5KEPYcjs.getCountryPhoneData.call(void 0, ), []);
13609
+ const { priority, others } = _react.useMemo.call(void 0, () => _chunk4ASUUB3Acjs.getCountryPhoneData.call(void 0, ), []);
13610
13610
  const selectedCountry = _react.useMemo.call(void 0,
13611
13611
  () => [...priority, ...others].find((c) => c.code === countryCode),
13612
13612
  [countryCode, priority, others]
@@ -13621,7 +13621,7 @@ function PhoneInput({
13621
13621
  _optionalChain([onValidationChange, 'optionalCall', _261 => _261(false)]);
13622
13622
  return;
13623
13623
  }
13624
- const invalid = !_chunkDGY5KEPYcjs.validatePhoneNumber.call(void 0, phone, countryCode);
13624
+ const invalid = !_chunk4ASUUB3Acjs.validatePhoneNumber.call(void 0, phone, countryCode);
13625
13625
  setIsInvalid(invalid);
13626
13626
  _optionalChain([onValidationChange, 'optionalCall', _262 => _262(invalid)]);
13627
13627
  },
@@ -14059,7 +14059,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
14059
14059
  ),
14060
14060
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
14061
14061
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14062
- _chunkEV6BPF47cjs.TabSelector,
14062
+ _chunkWPMJUYW3cjs.TabSelector,
14063
14063
  {
14064
14064
  label: "Search engines",
14065
14065
  value: choice,
@@ -14116,7 +14116,7 @@ function useMarkdownLinkCommand() {
14116
14116
  buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
14117
14117
  icon: command.icon,
14118
14118
  execute: (state, api) => {
14119
- const existing = _chunkEV6BPF47cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
14119
+ const existing = _chunkWPMJUYW3cjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
14120
14120
  setPending(
14121
14121
  existing ? {
14122
14122
  api,
@@ -14147,7 +14147,7 @@ function useMarkdownLinkCommand() {
14147
14147
  initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _292 => _292.initial]), () => ( EMPTY_LINK)),
14148
14148
  editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _293 => _293.editing]), () => ( false)),
14149
14149
  onSubmit: (link) => {
14150
- if (pending) write(pending, _chunkEV6BPF47cjs.formatMarkdownLink.call(void 0, link));
14150
+ if (pending) write(pending, _chunkWPMJUYW3cjs.formatMarkdownLink.call(void 0, link));
14151
14151
  },
14152
14152
  onRemove: () => {
14153
14153
  if (pending) write(pending, pending.initial.text);
@@ -14313,7 +14313,7 @@ function MarkdownEditor({
14313
14313
  setUploadProgress(`Uploading ${file.name}...`);
14314
14314
  try {
14315
14315
  const url = await onUploadFile(file);
14316
- const isImage = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === "image";
14316
+ const isImage = _chunk23DVVS4Icjs.fileMediaType.call(void 0, file) === "image";
14317
14317
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
14318
14318
  insertTextAtCursor(markdown);
14319
14319
  _optionalChain([onFileUploaded, 'optionalCall', _296 => _296(url, file.name)]);
@@ -14443,7 +14443,7 @@ function MarkdownEditor({
14443
14443
  type: "file",
14444
14444
  className: "hidden",
14445
14445
  onChange: handleFileInputChange,
14446
- accept: `${_chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
14446
+ accept: `${_chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
14447
14447
  }
14448
14448
  ),
14449
14449
  /* @__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 +14858,7 @@ function matchesAccept2(file, accept) {
14858
14858
  return patterns.some((pattern) => {
14859
14859
  if (pattern.startsWith(".")) return fileName.endsWith(pattern);
14860
14860
  if (pattern.endsWith("/*"))
14861
- return fileType.startsWith(pattern.slice(0, -1)) || _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
14861
+ return fileType.startsWith(pattern.slice(0, -1)) || _chunk23DVVS4Icjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
14862
14862
  return fileType === pattern;
14863
14863
  });
14864
14864
  }
@@ -14866,7 +14866,7 @@ function ImageUploader({
14866
14866
  value,
14867
14867
  onChange,
14868
14868
  onRemove,
14869
- accept = _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
14869
+ accept = _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT,
14870
14870
  maxSize = DEFAULT_MAX_SIZE,
14871
14871
  label = "Cover Image",
14872
14872
  description = "(Click Here or Drag and Drop)",
@@ -15543,7 +15543,7 @@ function TestResultsTable({ rows, loading: loadingProp }) {
15543
15543
  ] }) }) });
15544
15544
  }
15545
15545
  function TestRunErrorBanner({ error, className }) {
15546
- const { copy } = _chunkE7M54JWWcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
15546
+ const { copy } = _chunkSSSI2RBVcjs.useCopyToClipboard.call(void 0, { successDescription: "Error message copied to clipboard" });
15547
15547
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15548
15548
  "div",
15549
15549
  {
@@ -16029,7 +16029,7 @@ function TicketInfoSection({
16029
16029
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16030
16030
  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
16031
  /* @__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 }),
16032
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.SimpleMarkdownRenderer, { content: description }),
16033
16033
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
16034
16034
  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
16035
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16504,7 +16504,7 @@ function PhotoWall({
16504
16504
  gap: COLUMN_GAP_PX
16505
16505
  };
16506
16506
  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,
16507
+ _chunkWPMJUYW3cjs.MarqueeWall,
16508
16508
  {
16509
16509
  axis: "y",
16510
16510
  reverse: index % 2 === 1,
@@ -17049,7 +17049,7 @@ function LoadingLabel({ label, typical }) {
17049
17049
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: label.split(/(\{\w+\})/).map(
17050
17050
  (part, index) => /^\{\w+\}$/.test(part) ? (
17051
17051
  // 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)
17052
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.TextHold, { children: typical }, index)
17053
17053
  ) : part
17054
17054
  ) });
17055
17055
  }
@@ -17064,7 +17064,7 @@ var TRIAL_TERM_ICONS = {
17064
17064
  };
17065
17065
  var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
17066
17066
  function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
17067
- const labels = _chunkDGY5KEPYcjs.trialLabels.call(void 0, trialDays);
17067
+ const labels = _chunk4ASUUB3Acjs.trialLabels.call(void 0, trialDays);
17068
17068
  return terms.flatMap((term) => {
17069
17069
  const label = labels[term];
17070
17070
  return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
@@ -17373,8 +17373,8 @@ function SnapCarousel({
17373
17373
  }) {
17374
17374
  const trackRef = _react.useRef.call(void 0, null);
17375
17375
  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);
17376
+ const { ref: viewRef, inView } = _chunkXCVH5BCZcjs.useInView.call(void 0, { threshold: 0.5 });
17377
+ const auto = _chunkXCVH5BCZcjs.useAutoplay.call(void 0, inView);
17378
17378
  const count = items.length;
17379
17379
  const slideStep = _react.useCallback.call(void 0, () => {
17380
17380
  const first = _optionalChain([trackRef, 'access', _349 => _349.current, 'optionalAccess', _350 => _350.firstElementChild]);
@@ -17418,7 +17418,7 @@ function SnapCarousel({
17418
17418
  const goNext = _react.useCallback.call(void 0, () => goTo(index >= count - 1 ? 0 : index + 1), [count, goTo, index]);
17419
17419
  const canAutoAdvance = autoAdvanceMs > 0 && count > 1;
17420
17420
  const playing = auto.playing && canAutoAdvance;
17421
- const ranMs = _chunkE7M54JWWcjs.useResumableTimeout.call(void 0, {
17421
+ const ranMs = _chunkSSSI2RBVcjs.useResumableTimeout.call(void 0, {
17422
17422
  running: playing,
17423
17423
  durationMs: autoAdvanceMs,
17424
17424
  resetKey: index,
@@ -17769,10 +17769,10 @@ function AccountDetailsFields({
17769
17769
  onKeyDown,
17770
17770
  layout = "stacked"
17771
17771
  }) {
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);
17772
+ const firstNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _351 => _351.firstName]), firstName);
17773
+ const lastNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _352 => _352.lastName]), lastName);
17774
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _353 => _353.password]), password);
17775
+ const confirmErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _354 => _354.confirmPassword]), confirmPassword);
17776
17776
  const names = [
17777
17777
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17778
17778
  _chunkSWF6TNZ3cjs.Input,
@@ -18038,7 +18038,7 @@ function SsoProviderButtons({
18038
18038
  // where a long organization name would otherwise push the label out of a phone-width
18039
18039
  // button. `block` over its inline-flex, because an ellipsis only renders on a block box.
18040
18040
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18041
- _chunkTD4CC4KVcjs.StatusBadge,
18041
+ _chunkEUEPGHY4cjs.StatusBadge,
18042
18042
  {
18043
18043
  text: tag,
18044
18044
  variant: "button",
@@ -18098,7 +18098,7 @@ function CompleteAccountForm({
18098
18098
  ),
18099
18099
  children: [
18100
18100
  /* @__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) }),
18101
+ /* @__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
18102
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18103
18103
  ] }),
18104
18104
  (ssoProvidersLoading || ssoProviders && ssoProviders.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18232,9 +18232,9 @@ function CreateOrganizationForm({
18232
18232
  }) {
18233
18233
  const hasSso = !!ssoProviders && ssoProviders.length > 0;
18234
18234
  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);
18235
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _356 => _356.email]), _nullishCoalesce(email, () => ( "")));
18236
+ const orgNameErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _357 => _357.organizationName]), organizationName);
18237
+ const domainErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _358 => _358.domain]), domain);
18238
18238
  const handleKeyDown = (event) => {
18239
18239
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18240
18240
  onSubmit();
@@ -18249,7 +18249,7 @@ function CreateOrganizationForm({
18249
18249
  ),
18250
18250
  children: [
18251
18251
  /* @__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) }),
18252
+ /* @__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
18253
  /* @__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
18254
  ] }),
18255
18255
  email === void 0 ? null : emailReadOnly && emailReadOnlyLabel === null ? (
@@ -18396,7 +18396,7 @@ function InviteLinkInvalidModal({
18396
18396
  ),
18397
18397
  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
18398
  /* @__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) }),
18399
+ /* @__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
18400
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18401
18401
  _chunkFCZAUK4Dcjs.Button,
18402
18402
  {
@@ -18462,7 +18462,7 @@ function LoginForm({
18462
18462
  }) {
18463
18463
  const fieldDisabled = disabled || loading;
18464
18464
  const providersDisabled = fieldDisabled || ssoDisabled;
18465
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
18465
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _365 => _365.email]), email);
18466
18466
  const handleKeyDown = (event) => {
18467
18467
  if (event.key !== "Enter" || event.repeat || fieldDisabled) return;
18468
18468
  if (onSubmitClick) {
@@ -18480,7 +18480,7 @@ function LoginForm({
18480
18480
  ),
18481
18481
  children: [
18482
18482
  /* @__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) }),
18483
+ /* @__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
18484
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18485
18485
  ] }),
18486
18486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18607,7 +18607,7 @@ function NoAccountNotice({
18607
18607
  ),
18608
18608
  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
18609
  /* @__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) }),
18610
+ /* @__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
18611
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
18612
18612
  ] }),
18613
18613
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
@@ -18640,8 +18640,8 @@ function OpenFrameSsoLoginForm({
18640
18640
  className
18641
18641
  }) {
18642
18642
  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);
18643
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _369 => _369.email]), email);
18644
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _370 => _370.password]), password);
18645
18645
  const handleKeyDown = (event) => {
18646
18646
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18647
18647
  onSubmit();
@@ -18656,7 +18656,7 @@ function OpenFrameSsoLoginForm({
18656
18656
  ),
18657
18657
  children: [
18658
18658
  /* @__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) }),
18659
+ /* @__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
18660
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18661
18661
  ] }),
18662
18662
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18746,7 +18746,7 @@ function OpenFrameSsoSignUpForm({
18746
18746
  className
18747
18747
  }) {
18748
18748
  const fieldsDisabled = disabled || loading;
18749
- const emailErr = _chunkE7M54JWWcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
18749
+ const emailErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _371 => _371.email]), email);
18750
18750
  const handleKeyDown = (event) => {
18751
18751
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18752
18752
  onSubmit();
@@ -18761,7 +18761,7 @@ function OpenFrameSsoSignUpForm({
18761
18761
  ),
18762
18762
  children: [
18763
18763
  /* @__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) }),
18764
+ /* @__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
18765
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18766
18766
  ] }),
18767
18767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18851,8 +18851,8 @@ function PasswordResetForm({
18851
18851
  className
18852
18852
  }) {
18853
18853
  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);
18854
+ const passwordErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _372 => _372.password]), password);
18855
+ const confirmErr = _chunkSSSI2RBVcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _373 => _373.confirmPassword]), confirmPassword);
18856
18856
  const handleKeyDown = (event) => {
18857
18857
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
18858
18858
  onSubmit();
@@ -18867,7 +18867,7 @@ function PasswordResetForm({
18867
18867
  ),
18868
18868
  children: [
18869
18869
  /* @__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) }),
18870
+ /* @__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
18871
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18872
18872
  ] }),
18873
18873
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18988,7 +18988,7 @@ function SsoJoinForm({
18988
18988
  ),
18989
18989
  children: [
18990
18990
  /* @__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) }),
18991
+ /* @__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
18992
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18993
18993
  ] }),
18994
18994
  /* @__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 +19254,7 @@ function ChangelogManager({
19254
19254
  ),
19255
19255
  /* @__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
19256
  tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19257
- _chunkTD4CC4KVcjs.StatusBadge,
19257
+ _chunkEUEPGHY4cjs.StatusBadge,
19258
19258
  {
19259
19259
  variant: "button",
19260
19260
  singleLine: true,
@@ -19593,7 +19593,7 @@ function EntityTagBadgesSkeleton({
19593
19593
  }) {
19594
19594
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, TAG_ROW_CLASS, className), children: [
19595
19595
  /* @__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,
19596
+ _chunkEUEPGHY4cjs.StatusBadge,
19597
19597
  {
19598
19598
  loading: true,
19599
19599
  text: "",
@@ -19601,7 +19601,7 @@ function EntityTagBadgesSkeleton({
19601
19601
  className: _chunk63A4GZMBcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS)))
19602
19602
  }
19603
19603
  ) }) }),
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) }) })
19604
+ 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
19605
  ] });
19606
19606
  }
19607
19607
  function EntityTagBadges({
@@ -19629,7 +19629,7 @@ function EntityTagBadges({
19629
19629
  const label = (tag.name || "").toUpperCase();
19630
19630
  if (basePath && tag.slug) {
19631
19631
  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,
19632
+ _chunkEUEPGHY4cjs.StatusBadge,
19633
19633
  {
19634
19634
  text: label,
19635
19635
  variant: "card",
@@ -19637,7 +19637,7 @@ function EntityTagBadges({
19637
19637
  }
19638
19638
  ) }, key);
19639
19639
  }
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);
19640
+ 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
19641
  }),
19642
19642
  phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
19643
19643
  phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
@@ -19646,7 +19646,7 @@ function EntityTagBadges({
19646
19646
  ] });
19647
19647
  }
19648
19648
  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") }) });
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, _chunkEUEPGHY4cjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk63A4GZMBcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
19650
19650
  }
19651
19651
 
19652
19652
  // src/components/features/error-boundary.tsx
@@ -19741,7 +19741,7 @@ var SectionButton = ({
19741
19741
  }
19742
19742
  ),
19743
19743
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19744
- _chunkTD4CC4KVcjs.StatusBadge,
19744
+ _chunkEUEPGHY4cjs.StatusBadge,
19745
19745
  {
19746
19746
  text: section.badge.text,
19747
19747
  variant: section.badge.variant || "button",
@@ -19760,7 +19760,7 @@ var SectionButton = ({
19760
19760
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
19761
19761
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
19762
19762
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19763
- _chunkTD4CC4KVcjs.StatusBadge,
19763
+ _chunkEUEPGHY4cjs.StatusBadge,
19764
19764
  {
19765
19765
  text: section.badge.text,
19766
19766
  variant: section.badge.variant || "button",
@@ -20823,15 +20823,15 @@ function useLoading() {
20823
20823
 
20824
20824
 
20825
20825
  function isAlreadyThere(file, existing) {
20826
- const key = _chunkRSJYTQEAcjs.mediaNameKey.call(void 0, file.name);
20826
+ const key = _chunk23DVVS4Icjs.mediaNameKey.call(void 0, file.name);
20827
20827
  if (!key) return false;
20828
20828
  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)
20829
+ (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
20830
  );
20831
20831
  }
20832
20832
  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 };
20833
+ var isVideoItem = (item) => _chunk23DVVS4Icjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
20834
+ var MEDIA_KIND_ACCEPT = { image: _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunk23DVVS4Icjs.MEDIA_FILE_ACCEPT };
20835
20835
  var MEDIA_KIND_COPY = {
20836
20836
  image: { noun: "pictures", refusal: "Not a picture" },
20837
20837
  video: { noun: "videos", refusal: "Not a video" },
@@ -20855,12 +20855,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
20855
20855
  const seen = /* @__PURE__ */ new Set();
20856
20856
  const accepted = [];
20857
20857
  for (const file of files) {
20858
- const mediaType = _chunkRSJYTQEAcjs.fileMediaType.call(void 0, file);
20858
+ const mediaType = _chunk23DVVS4Icjs.fileMediaType.call(void 0, file);
20859
20859
  if (!mediaType || kinds !== "both" && mediaType !== kinds) {
20860
20860
  unsupported.push(file.name);
20861
20861
  continue;
20862
20862
  }
20863
- const contentKey = await _chunkRSJYTQEAcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
20863
+ const contentKey = await _chunk23DVVS4Icjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
20864
20864
  if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
20865
20865
  duplicates.push(file.name);
20866
20866
  continue;
@@ -21041,7 +21041,7 @@ function MediaGalleryManager({
21041
21041
  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
21042
  children: [
21043
21043
  media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21044
- _chunkTD4CC4KVcjs.Card,
21044
+ _chunkEUEPGHY4cjs.Card,
21045
21045
  {
21046
21046
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
21047
21047
  draggable: true,
@@ -21066,7 +21066,7 @@ function MediaGalleryManager({
21066
21066
  ) }),
21067
21067
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
21068
21068
  // <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" })
21069
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
21070
21070
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21071
21071
  _chunk3V5JWG27cjs.next_image_default,
21072
21072
  {
@@ -21118,7 +21118,7 @@ function MediaGalleryManager({
21118
21118
  },
21119
21119
  _nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
21120
21120
  )),
21121
- pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTD4CC4KVcjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21121
+ pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkEUEPGHY4cjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21122
21122
  /* @__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
21123
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
21124
21124
  ] }, `pending-${name}-${index}`))
@@ -21475,7 +21475,7 @@ var MODEL_TOKEN_RATES_COPY = {
21475
21475
  empty: "No token rates are in effect right now."
21476
21476
  };
21477
21477
  function providerMark(providerType, stated, className) {
21478
- const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunkDGY5KEPYcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
21478
+ const Mark = _chunkJQCQCE6Ucjs.findIcon.call(void 0, _chunk4ASUUB3Acjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
21479
21479
  return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
21480
21480
  }
21481
21481
  var PAD_X = "px-[var(--spacing-system-s)]";
@@ -21493,7 +21493,7 @@ var UNIT_LINE_CLASS = _chunk63A4GZMBcjs.cn.call(void 0,
21493
21493
  var TABS_ROW_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
21494
21494
  var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
21495
21495
  function useProviderGroup(rates) {
21496
- const groups = _chunkDGY5KEPYcjs.groupTokenRatesByProvider.call(void 0, rates);
21496
+ const groups = _chunk4ASUUB3Acjs.groupTokenRatesByProvider.call(void 0, rates);
21497
21497
  const [picked, setPicked] = _react.useState.call(void 0, null);
21498
21498
  return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
21499
21499
  }
@@ -21504,7 +21504,7 @@ function ProviderTabs({
21504
21504
  className
21505
21505
  }) {
21506
21506
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21507
- _chunkEV6BPF47cjs.TabSelector,
21507
+ _chunkWPMJUYW3cjs.TabSelector,
21508
21508
  {
21509
21509
  variant: "secondary",
21510
21510
  scrollable: true,
@@ -21512,7 +21512,7 @@ function ProviderTabs({
21512
21512
  onValueChange,
21513
21513
  items: groups.map((candidate) => ({
21514
21514
  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])),
21515
+ label: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _435 => _435.rates, 'access', _436 => _436[0], 'optionalAccess', _437 => _437.providerLabel])),
21516
21516
  icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _438 => _438.rates, 'access', _439 => _439[0], 'optionalAccess', _440 => _440.providerIcon]), "size-full")
21517
21517
  })),
21518
21518
  className
@@ -21589,8 +21589,8 @@ function ModelTokenRatesTable({ rates }) {
21589
21589
  ] }),
21590
21590
  /* @__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
21591
  /* @__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) })
21592
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
21593
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
21594
21594
  ] }, rate.modelName)) })
21595
21595
  ] }),
21596
21596
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
@@ -21637,7 +21637,7 @@ function modelOption(rate) {
21637
21637
  return {
21638
21638
  label: rate.displayName || rate.modelName,
21639
21639
  value: rate.modelName,
21640
- description: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
21640
+ description: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
21641
21641
  icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
21642
21642
  };
21643
21643
  }
@@ -21692,8 +21692,8 @@ function ModelTokenExchange({
21692
21692
  const [chosen, setChosen] = _react.useState.call(void 0, null);
21693
21693
  const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _441 => _441.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
21694
21694
  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);
21695
+ const tokens = _chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, balance);
21696
+ const cost = _chunk4ASUUB3Acjs.tokenCost.call(void 0, balance, tokenPrice);
21697
21697
  const balancePrice = cost === null ? null : _chunkNFNSPLGCcjs.formatPrice.call(void 0, cost);
21698
21698
  const model = rate ? rate.displayName || rate.modelName : "";
21699
21699
  const options = models.map(modelOption);
@@ -21736,7 +21736,7 @@ function ModelTokenExchange({
21736
21736
  variant: preset.tokens === balance ? "accent" : "outline",
21737
21737
  size: "small",
21738
21738
  onClick: () => setChosen(preset.tokens),
21739
- children: copy.buy.preset(_chunkDGY5KEPYcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
21739
+ children: copy.buy.preset(_chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
21740
21740
  },
21741
21741
  preset.label
21742
21742
  )) })
@@ -21753,7 +21753,7 @@ function ModelTokenExchange({
21753
21753
  const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _442 => _442.providerType]) === providerType ? rate : null)));
21754
21754
  return {
21755
21755
  id: providerType,
21756
- name: _chunkDGY5KEPYcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
21756
+ name: _chunk4ASUUB3Acjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _443 => _443.providerLabel])),
21757
21757
  icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _444 => _444.providerIcon]), "size-8 text-ods-text-secondary")
21758
21758
  };
21759
21759
  }),
@@ -21792,7 +21792,7 @@ function ModelTokenExchange({
21792
21792
  {
21793
21793
  size: "plain",
21794
21794
  loading,
21795
- figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
21795
+ figure: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _449 => _449.inputTokenRate])),
21796
21796
  words: copy.charge.input
21797
21797
  }
21798
21798
  ),
@@ -21801,7 +21801,7 @@ function ModelTokenExchange({
21801
21801
  {
21802
21802
  size: "plain",
21803
21803
  loading,
21804
- figure: _chunkDGY5KEPYcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
21804
+ figure: _chunk4ASUUB3Acjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _450 => _450.outputTokenRate])),
21805
21805
  words: copy.charge.output
21806
21806
  }
21807
21807
  )
@@ -21813,9 +21813,9 @@ function ModelTokenExchange({
21813
21813
  className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
21814
21814
  children: [
21815
21815
  /* @__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)) }),
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" }) : _chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, _chunk4ASUUB3Acjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
21817
21817
  /* @__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))) })
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(_chunk4ASUUB3Acjs.formatTokenAmount.call(void 0, _chunk4ASUUB3Acjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
21819
21819
  ]
21820
21820
  }
21821
21821
  )
@@ -22335,14 +22335,14 @@ var ConfidenceBadge = ({
22335
22335
  size = "sm",
22336
22336
  className
22337
22337
  }) => {
22338
- const level = _chunkDGY5KEPYcjs.getConfidenceLevel.call(void 0, confidence);
22338
+ const level = _chunk4ASUUB3Acjs.getConfidenceLevel.call(void 0, confidence);
22339
22339
  if (level === "none") {
22340
22340
  return null;
22341
22341
  }
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);
22342
+ const label = _chunk4ASUUB3Acjs.getConfidenceLabel.call(void 0, confidence);
22343
+ const borderClass = _chunk4ASUUB3Acjs.getConfidenceBorderClass.call(void 0, confidence);
22344
+ const textClass = _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence);
22345
+ const bgClass = _chunk4ASUUB3Acjs.getConfidenceBgClass.call(void 0, confidence);
22346
22346
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22347
22347
  "span",
22348
22348
  {
@@ -22393,9 +22393,9 @@ function SEOEditorPreview({
22393
22393
  const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
22394
22394
  const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
22395
22395
  const seoTitleLength = (seoTitle || "").length;
22396
- const seoTitleTooLong = seoTitleLength > _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH;
22396
+ const seoTitleTooLong = seoTitleLength > _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH;
22397
22397
  const seoDescriptionLength = (seoDescription || "").length;
22398
- const seoDescriptionTooLong = seoDescriptionLength > _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH;
22398
+ const seoDescriptionTooLong = seoDescriptionLength > _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH;
22399
22399
  const displayTitle = seoTitle.trim() || title || "Untitled";
22400
22400
  const displayDescription = seoDescription.trim() || summary || "No description";
22401
22401
  const hasOgImage = ogImageUrl.trim();
@@ -22420,10 +22420,10 @@ function SEOEditorPreview({
22420
22420
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
22421
22421
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
22422
22422
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22423
- _chunkDGY5KEPYcjs.Field,
22423
+ _chunk4ASUUB3Acjs.Field,
22424
22424
  {
22425
22425
  label: "SEO Title",
22426
- error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH})` : null,
22426
+ error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH})` : null,
22427
22427
  labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
22428
22428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
22429
22429
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
@@ -22438,7 +22438,7 @@ function SEOEditorPreview({
22438
22438
  children: [
22439
22439
  seoTitleLength,
22440
22440
  "/",
22441
- _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH
22441
+ _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH
22442
22442
  ]
22443
22443
  }
22444
22444
  ),
@@ -22449,7 +22449,7 @@ function SEOEditorPreview({
22449
22449
  value: seoTitle || "",
22450
22450
  onChange: (e) => onSeoTitleChange(e.target.value),
22451
22451
  disabled,
22452
- maxLength: _chunkDGY5KEPYcjs.SEO_TITLE_MAX_LENGTH,
22452
+ maxLength: _chunk4ASUUB3Acjs.SEO_TITLE_MAX_LENGTH,
22453
22453
  invalid: seoTitleTooLong,
22454
22454
  placeholder: "Enter SEO meta title...",
22455
22455
  className: "border-ods-border bg-ods-bg text-ods-text-primary"
@@ -22460,7 +22460,7 @@ function SEOEditorPreview({
22460
22460
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
22461
22461
  ] }),
22462
22462
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22463
- _chunkDGY5KEPYcjs.Field,
22463
+ _chunk4ASUUB3Acjs.Field,
22464
22464
  {
22465
22465
  label: "SEO Keywords",
22466
22466
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -22492,10 +22492,10 @@ function SEOEditorPreview({
22492
22492
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
22493
22493
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
22494
22494
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22495
- _chunkDGY5KEPYcjs.Field,
22495
+ _chunk4ASUUB3Acjs.Field,
22496
22496
  {
22497
22497
  label: "SEO Description",
22498
- error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
22498
+ error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
22499
22499
  labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
22500
22500
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
22501
22501
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22518,7 +22518,7 @@ function SEOEditorPreview({
22518
22518
  children: [
22519
22519
  seoDescriptionLength,
22520
22520
  "/",
22521
- _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH
22521
+ _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH
22522
22522
  ]
22523
22523
  }
22524
22524
  ),
@@ -22529,7 +22529,7 @@ function SEOEditorPreview({
22529
22529
  value: seoDescription || "",
22530
22530
  onChange: (e) => onSeoDescriptionChange(e.target.value),
22531
22531
  disabled,
22532
- maxLength: _chunkDGY5KEPYcjs.SEO_DESCRIPTION_MAX_LENGTH,
22532
+ maxLength: _chunk4ASUUB3Acjs.SEO_DESCRIPTION_MAX_LENGTH,
22533
22533
  invalid: seoDescriptionTooLong,
22534
22534
  placeholder: "Enter SEO meta description...",
22535
22535
  className: _chunk63A4GZMBcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
@@ -22598,7 +22598,7 @@ function SEOEditorPreview({
22598
22598
  {
22599
22599
  ref: setFileInputRef,
22600
22600
  type: "file",
22601
- accept: _chunkRSJYTQEAcjs.IMAGE_FILE_ACCEPT,
22601
+ accept: _chunk23DVVS4Icjs.IMAGE_FILE_ACCEPT,
22602
22602
  onChange: handleImageUpload,
22603
22603
  className: "hidden",
22604
22604
  disabled: disabled || isUploading
@@ -22680,7 +22680,7 @@ function socialIcon(platform) {
22680
22680
  return _nullishCoalesce(_chunkJQCQCE6Ucjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
22681
22681
  }
22682
22682
  function renderSocialIcon(platform) {
22683
- const key = _nullishCoalesce(_chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
22683
+ const key = _nullishCoalesce(_chunk23DVVS4Icjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
22684
22684
  const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
22685
22685
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
22686
22686
  }
@@ -22771,7 +22771,7 @@ function SocialLinksManager({
22771
22771
  };
22772
22772
  const getIcon = (link, platform) => {
22773
22773
  const iconKey = _optionalChain([platform, 'optionalAccess', _460 => _460.icon_name]) || link.platform;
22774
- const key = _chunkRSJYTQEAcjs.normalizeSocialPlatform.call(void 0, iconKey);
22774
+ const key = _chunk23DVVS4Icjs.normalizeSocialPlatform.call(void 0, iconKey);
22775
22775
  if (!key) return null;
22776
22776
  const icon = socialIcon(key);
22777
22777
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
@@ -22907,7 +22907,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
22907
22907
  className: _chunk63A4GZMBcjs.cn.call(void 0, modeClassName, className),
22908
22908
  style: customStyle,
22909
22909
  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" }),
22910
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
22911
22911
  children
22912
22912
  }
22913
22913
  );
@@ -23235,11 +23235,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
23235
23235
 
23236
23236
  function VideoBitesDisplay({
23237
23237
  bites,
23238
- title = _chunkTD4CC4KVcjs.DEFAULT_VIDEO_BITES_TITLE,
23238
+ title = _chunkEUEPGHY4cjs.DEFAULT_VIDEO_BITES_TITLE,
23239
23239
  filterPublished = true,
23240
23240
  showTitle = true
23241
23241
  }) {
23242
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEV6BPF47cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23242
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWPMJUYW3cjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
23243
23243
  }
23244
23244
 
23245
23245
  // src/components/features/walkthrough-video.tsx
@@ -23268,7 +23268,7 @@ function WalkthroughVideo({
23268
23268
  onOpenChange,
23269
23269
  defaultOpen,
23270
23270
  defaultOpenPaused,
23271
- deepLinkParam = _chunkDGY5KEPYcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
23271
+ deepLinkParam = _chunk4ASUUB3Acjs.WALKTHROUGH_OPEN_QUERY_PARAM,
23272
23272
  autoPlayCard = false,
23273
23273
  label = "Play Demo Video",
23274
23274
  placement,
@@ -23285,7 +23285,7 @@ function WalkthroughVideo({
23285
23285
  const inline = placement === "inline";
23286
23286
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
23287
23287
  const dismissEnabled = dismissal !== false;
23288
- const storageKey = dismissEnabled && dismissal.storageKey || _chunkDGY5KEPYcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
23288
+ const storageKey = dismissEnabled && dismissal.storageKey || _chunk4ASUUB3Acjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
23289
23289
  const dismissalId = _optionalChain([video, 'optionalAccess', _466 => _466.id]) != null ? String(video.id) : "dismissed";
23290
23290
  const [mounted, setMounted] = _react.useState.call(void 0, false);
23291
23291
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
@@ -23297,7 +23297,7 @@ function WalkthroughVideo({
23297
23297
  let delayElapsed = false;
23298
23298
  let interacted = inline;
23299
23299
  const reveal = () => {
23300
- if (dismissEnabled && _chunkDGY5KEPYcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
23300
+ if (dismissEnabled && _chunk4ASUUB3Acjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
23301
23301
  setDismissed(true);
23302
23302
  return;
23303
23303
  }
@@ -23334,7 +23334,7 @@ function WalkthroughVideo({
23334
23334
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
23335
23335
  };
23336
23336
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
23337
- const hydrated = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
23337
+ const hydrated = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
23338
23338
  const previewSuppressed = _react.useMemo.call(void 0, () => {
23339
23339
  if (!hydrated) return false;
23340
23340
  try {
@@ -23584,7 +23584,7 @@ function WalkthroughVideo({
23584
23584
  (e) => {
23585
23585
  e.stopPropagation();
23586
23586
  pausePreviewNow();
23587
- if (dismissEnabled) _chunkDGY5KEPYcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
23587
+ if (dismissEnabled) _chunk4ASUUB3Acjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
23588
23588
  setDismissed(true);
23589
23589
  },
23590
23590
  [dismissEnabled, storageKey, dismissalId, pausePreviewNow]
@@ -23735,7 +23735,7 @@ function WalkthroughVideo({
23735
23735
  },
23736
23736
  children: [
23737
23737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23738
- _chunkTD4CC4KVcjs.VideoHoverPreviewSurface,
23738
+ _chunkEUEPGHY4cjs.VideoHoverPreviewSurface,
23739
23739
  {
23740
23740
  url: video.mainVideoUrl || "",
23741
23741
  posterUrl: video.posterUrl ? _chunk3V5JWG27cjs.resizedImageUrl.call(void 0, video.posterUrl, _chunkJQCQCE6Ucjs.IMAGE_WIDTHS[0]) : video.posterUrl,
@@ -23759,7 +23759,7 @@ function WalkthroughVideo({
23759
23759
  `card-${embedUrlKey}`
23760
23760
  ) }),
23761
23761
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23762
- _chunkEV6BPF47cjs.CardHitLayer,
23762
+ _chunkWPMJUYW3cjs.CardHitLayer,
23763
23763
  {
23764
23764
  label: video.title ? `${label}: ${video.title}` : label,
23765
23765
  onPointerDown: pausePreviewNow,
@@ -23875,7 +23875,7 @@ function WalkthroughVideo({
23875
23875
  children: [
23876
23876
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
23877
23877
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23878
- _chunkTD4CC4KVcjs.Video,
23878
+ _chunkEUEPGHY4cjs.Video,
23879
23879
  {
23880
23880
  kind: video.youtubeUrl ? "youtube" : "file",
23881
23881
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -23931,7 +23931,7 @@ function useWalkthroughVideo(opts) {
23931
23931
  const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
23932
23932
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
23933
23933
  const enabled = enabledGiven && !inScope;
23934
- const captions = _chunkEV6BPF47cjs.useCaptions.call(void 0, );
23934
+ const captions = _chunkWPMJUYW3cjs.useCaptions.call(void 0, );
23935
23935
  const query = _reactquery.useQuery.call(void 0, {
23936
23936
  queryKey: ["walkthrough-video", endpoint],
23937
23937
  enabled,
@@ -24129,7 +24129,7 @@ function VideoSourceSelector({
24129
24129
  }
24130
24130
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24131
24131
  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 }) }),
24132
+ /* @__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
24133
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24134
24134
  _chunkFCZAUK4Dcjs.Button,
24135
24135
  {
@@ -24655,7 +24655,7 @@ function HighlightVideoSection({
24655
24655
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
24656
24656
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
24657
24657
  /* @__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 }) }),
24658
+ /* @__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
24659
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24660
24660
  _chunkFCZAUK4Dcjs.Button,
24661
24661
  {
@@ -24682,7 +24682,7 @@ function HighlightConfigSection({
24682
24682
  disabled = false,
24683
24683
  className = ""
24684
24684
  }) {
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,
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, _chunk4ASUUB3Acjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24686
24686
  _chunkWCK5T3UDcjs.Select,
24687
24687
  {
24688
24688
  value: targetDurationSeconds.toString(),
@@ -24783,7 +24783,7 @@ var AIStatusIndicator = ({
24783
24783
  }) => {
24784
24784
  const config = statusConfig[status];
24785
24785
  const displayText = message || config.label;
24786
- const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkDGY5KEPYcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
24786
+ const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunk4ASUUB3Acjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
24787
24787
  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
24788
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24789
24789
  _chunkUNFCRSYIcjs.SparklesIcon,
@@ -24791,7 +24791,7 @@ var AIStatusIndicator = ({
24791
24791
  size: 16,
24792
24792
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24793
24793
  status === "loading" && _chunk3TOWCFIKcjs.LIVE_PULSE_CLASS,
24794
- confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24794
+ confidence !== void 0 && status === "success" ? _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24795
24795
  )
24796
24796
  }
24797
24797
  ),
@@ -24800,7 +24800,7 @@ var AIStatusIndicator = ({
24800
24800
  {
24801
24801
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24802
24802
  "text-h6",
24803
- confidence !== void 0 && status === "success" ? _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24803
+ confidence !== void 0 && status === "success" ? _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence) : config.color
24804
24804
  ),
24805
24805
  children: displayText
24806
24806
  }
@@ -24810,8 +24810,8 @@ var AIStatusIndicator = ({
24810
24810
  {
24811
24811
  className: _chunk63A4GZMBcjs.cn.call(void 0,
24812
24812
  "rounded-full border px-2 py-0.5 text-h6",
24813
- _chunkDGY5KEPYcjs.getConfidenceBorderClass.call(void 0, confidence),
24814
- _chunkDGY5KEPYcjs.getConfidenceTextClass.call(void 0, confidence)
24813
+ _chunk4ASUUB3Acjs.getConfidenceBorderClass.call(void 0, confidence),
24814
+ _chunk4ASUUB3Acjs.getConfidenceTextClass.call(void 0, confidence)
24815
24815
  ),
24816
24816
  children: confidenceLabel
24817
24817
  }
@@ -25432,7 +25432,7 @@ function ApprovalLevelView({
25432
25432
  ] });
25433
25433
  }
25434
25434
  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;
25435
+ 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
25436
  if (!editable) {
25437
25437
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, READ_ONLY_ROW_CLASS, className), children: [
25438
25438
  name,
@@ -25691,7 +25691,7 @@ function OpenPolicyButton({ href, name }) {
25691
25691
  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
25692
  _chunkFCZAUK4Dcjs.Button,
25693
25693
  {
25694
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
25694
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
25695
25695
  disabled: loading,
25696
25696
  variant: "outline",
25697
25697
  size: "icon",
@@ -26065,7 +26065,7 @@ function OpenTenantButton({ href, name }) {
26065
26065
  /* @__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
26066
  _chunkFCZAUK4Dcjs.Button,
26067
26067
  {
26068
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
26068
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
26069
26069
  disabled: loading,
26070
26070
  variant: "outline",
26071
26071
  size: "icon",
@@ -26197,13 +26197,13 @@ function WaitlistForm({
26197
26197
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
26198
26198
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
26199
26199
  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, );
26200
+ const { toast } = _chunkSSSI2RBVcjs.useToast.call(void 0, );
26201
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkSSSI2RBVcjs.useHumanitySignals.call(void 0, );
26202
26202
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26203
- const isClient = _chunkEV6BPF47cjs.useIsHydrated.call(void 0, );
26203
+ const isClient = _chunkWPMJUYW3cjs.useIsHydrated.call(void 0, );
26204
26204
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26205
26205
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26206
- const rescue = _chunkE7M54JWWcjs.useFormRescue.call(void 0, {
26206
+ const rescue = _chunkSSSI2RBVcjs.useFormRescue.call(void 0, {
26207
26207
  form: rescueForm,
26208
26208
  // The phone is reported as filled only; its value never leaves the form early.
26209
26209
  fieldNames: ["email", "phone"],
@@ -26215,7 +26215,7 @@ function WaitlistForm({
26215
26215
  _react.useEffect.call(void 0, () => {
26216
26216
  rescue.track({ email, phone }, null);
26217
26217
  }, [email, phone, rescue]);
26218
- const isMailDomainGeneric = _chunkDGY5KEPYcjs.hasGenericEmailDomain.call(void 0, email);
26218
+ const isMailDomainGeneric = _chunk4ASUUB3Acjs.hasGenericEmailDomain.call(void 0, email);
26219
26219
  const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
26220
26220
  if (syncedDefaultEmail !== defaultEmail) {
26221
26221
  setSyncedDefaultEmail(defaultEmail);
@@ -26249,7 +26249,7 @@ function WaitlistForm({
26249
26249
  setShowConsentError(true);
26250
26250
  return;
26251
26251
  }
26252
- const finalPhone = phone ? _chunkDGY5KEPYcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
26252
+ const finalPhone = phone ? _chunk4ASUUB3Acjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
26253
26253
  try {
26254
26254
  await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
26255
26255
  rescue.complete();
@@ -26836,7 +26836,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26836
26836
  }, [mobileBreakpoint]);
26837
26837
  const panelRef = _react.useRef.call(void 0, null);
26838
26838
  const available = useContainerExtent(resizable, isHorizontal, portalContainer);
26839
- const { size, setSize, clampSize } = _chunkWI7EXAZTcjs.useResizablePanelSize.call(void 0, {
26839
+ const { size, setSize, clampSize } = _chunkNMLNZCK2cjs.useResizablePanelSize.call(void 0, {
26840
26840
  enabled: resizable,
26841
26841
  minSize,
26842
26842
  maxSize,
@@ -26856,7 +26856,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26856
26856
  "data-state": open ? "open" : "closed",
26857
26857
  className: _chunk63A4GZMBcjs.cn.call(void 0,
26858
26858
  "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,
26859
+ _chunkNMLNZCK2cjs.OVERLAY_BACKDROP_CLASS,
26860
26860
  // Persist mode only: hold the fade-out's final (transparent) frame
26861
26861
  // so the backdrop doesn't snap back to opacity 1 and dim the whole
26862
26862
  // content area while the drawer is "closed" (see PERSIST_CLOSED_HOLD).
@@ -26899,7 +26899,7 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26899
26899
  children: [
26900
26900
  props["aria-label"] ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Title, { className: "sr-only", children: props["aria-label"] }) : null,
26901
26901
  applyInlineSize && (!persist || open) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26902
- _chunkEV6BPF47cjs.PanelResizeHandle,
26902
+ _chunkWPMJUYW3cjs.PanelResizeHandle,
26903
26903
  {
26904
26904
  variant: "inLayout",
26905
26905
  side: resolvedSide,
@@ -26938,11 +26938,11 @@ var AppLayoutDrawerContent = _react.forwardRef.call(void 0,
26938
26938
  }
26939
26939
  );
26940
26940
  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;
26941
+ var AppLayoutDrawerHeader = _chunkNMLNZCK2cjs.DrawerHeader;
26942
+ var AppLayoutDrawerTitle = _chunkNMLNZCK2cjs.DrawerTitle;
26943
+ var AppLayoutDrawerDescription = _chunkNMLNZCK2cjs.DrawerDescription;
26944
+ var AppLayoutDrawerBody = _chunkNMLNZCK2cjs.DrawerBody;
26945
+ var AppLayoutDrawerFooter = _chunkNMLNZCK2cjs.DrawerFooter;
26946
26946
 
26947
26947
  // src/components/features/notifications/notification-tile.tsx
26948
26948
 
@@ -26961,7 +26961,7 @@ var typeColorByVariant = {
26961
26961
  error: "text-ods-error"
26962
26962
  };
26963
26963
  var progressColorByVariant2 = {
26964
- ..._chunkE7M54JWWcjs.progressColorByVariant,
26964
+ ..._chunkSSSI2RBVcjs.progressColorByVariant,
26965
26965
  default: "bg-ods-accent",
26966
26966
  info: "bg-ods-accent"
26967
26967
  };
@@ -27055,7 +27055,7 @@ function LoadedNotificationTile({
27055
27055
  height: _chunkJQCQCE6Ucjs.IMAGE_FIXED_PX.icon,
27056
27056
  unoptimized: true
27057
27057
  }
27058
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkE7M54JWWcjs.dotColorByVariant[accentVariant]) }))) }),
27058
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkSSSI2RBVcjs.dotColorByVariant[accentVariant]) }))) }),
27059
27059
  type ? lockscreen ? (
27060
27060
  // A phone names the sender in plain words and never cuts them.
27061
27061
  /* @__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 +27233,7 @@ function NotificationDrawer({
27233
27233
  const unreadNotifications = notifications.filter((n) => !n.read);
27234
27234
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
27235
27235
  /* @__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,
27236
+ _chunkNMLNZCK2cjs.DrawerTitle,
27237
27237
  {
27238
27238
  hideClose: !showClose,
27239
27239
  className: "truncate",
@@ -27296,8 +27296,8 @@ function NotificationDrawer({
27296
27296
  }
27297
27297
  ) });
27298
27298
  }
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,
27299
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNMLNZCK2cjs.Drawer, { open: isOpen, onOpenChange: (v) => v ? open() : close(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27300
+ _chunkNMLNZCK2cjs.DrawerContent,
27301
27301
  {
27302
27302
  side: "right",
27303
27303
  "aria-describedby": void 0,
@@ -27393,7 +27393,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
27393
27393
  ] });
27394
27394
  }
27395
27395
  function DesktopNotificationsToggleRow({ checked, onChange }) {
27396
- const { supported, permission, request } = _chunkE7M54JWWcjs.useNotificationPermission.call(void 0, );
27396
+ const { supported, permission, request } = _chunkSSSI2RBVcjs.useNotificationPermission.call(void 0, );
27397
27397
  if (!supported) return null;
27398
27398
  const blocked = permission === "denied";
27399
27399
  const handleChange = async (value) => {
@@ -28276,7 +28276,7 @@ function TimeTrackerHeaderButton({
28276
28276
  "data-state": isOpen ? "open" : "closed",
28277
28277
  className: _chunk63A4GZMBcjs.cn.call(void 0,
28278
28278
  layoutContainer ? "absolute inset-0 z-[102]" : "fixed inset-0 z-[1299]",
28279
- _chunkWI7EXAZTcjs.OVERLAY_BACKDROP_CLASS,
28279
+ _chunkNMLNZCK2cjs.OVERLAY_BACKDROP_CLASS,
28280
28280
  "data-[state=open]:animate-in data-[state=open]:fade-in-0",
28281
28281
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
28282
28282
  )
@@ -28452,7 +28452,7 @@ function getDeviceStatusConfig(status) {
28452
28452
  }
28453
28453
  }
28454
28454
  function getDeviceOperatingSystem(osType) {
28455
- return _chunkDGY5KEPYcjs.getOSPlatformId.call(void 0, osType);
28455
+ return _chunk4ASUUB3Acjs.getOSPlatformId.call(void 0, osType);
28456
28456
  }
28457
28457
 
28458
28458
  // src/components/features/devices/device-statuses.ts
@@ -28652,7 +28652,7 @@ function OpenDeviceButton({ device }) {
28652
28652
  const href = loading ? void 0 : _optionalChain([getDeviceHref, 'optionalCall', _602 => _602(device)]);
28653
28653
  const open = (event) => {
28654
28654
  event.preventDefault();
28655
- if (href) _chunkFRL2ZN4Ocjs.executeNewTabNavigation.call(void 0, { runtime, href });
28655
+ if (href) _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href });
28656
28656
  };
28657
28657
  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
28658
  _chunkFCZAUK4Dcjs.Button,
@@ -29771,7 +29771,7 @@ function DevicesList({
29771
29771
  const handleClearAll = _react.useCallback.call(void 0, () => patch({ search: "", tags: [] }), [patch]);
29772
29772
  const narrowed = isNarrowed(narrowing);
29773
29773
  const isEmptyState = !isLoading && !isPending && !narrowed && devices.length === 0;
29774
- const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkE7M54JWWcjs.useStickyToolbar.call(void 0, );
29774
+ const { toolbarRef, containerStyle, stickyHeaderOffset: measuredOffset } = _chunkSSSI2RBVcjs.useStickyToolbar.call(void 0, );
29775
29775
  const headerOffset = _nullishCoalesce(stickyHeaderOffset, () => ( (stickyToolbar ? measuredOffset : void 0)));
29776
29776
  const actionsColumn = _react.useMemo.call(void 0, () => rowActions2 ? getDeviceActionsColumn(rowActions2) : void 0, [rowActions2]);
29777
29777
  return (
@@ -30006,7 +30006,7 @@ function DevicesPanelView({
30006
30006
  actionsVariant: "icon-buttons",
30007
30007
  className,
30008
30008
  selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30009
- _chunkEV6BPF47cjs.TabSelector,
30009
+ _chunkWPMJUYW3cjs.TabSelector,
30010
30010
  {
30011
30011
  value: viewMode,
30012
30012
  onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _656 => _656(value)]),
@@ -30738,11 +30738,11 @@ var ToolBadge = ({
30738
30738
  iconClassName
30739
30739
  }) => {
30740
30740
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
30741
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunkDGY5KEPYcjs.getToolLabel.call(void 0, toolType) : "")));
30741
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunk4ASUUB3Acjs.getToolLabel.call(void 0, toolType) : "")));
30742
30742
  const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBUEEQD3Gcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
30743
30743
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
30744
30744
  const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30745
- _chunkEV6BPF47cjs.NavLinkAnchorViaRuntime,
30745
+ _chunkWPMJUYW3cjs.NavLinkAnchorViaRuntime,
30746
30746
  {
30747
30747
  href,
30748
30748
  targetPlatform,
@@ -30892,7 +30892,7 @@ function LogsTableView({
30892
30892
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30893
30893
  ToolBadge,
30894
30894
  {
30895
- toolType: _chunkDGY5KEPYcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
30895
+ toolType: _chunk4ASUUB3Acjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
30896
30896
  iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
30897
30897
  }
30898
30898
  ),
@@ -30904,7 +30904,7 @@ function LogsTableView({
30904
30904
  filter: {
30905
30905
  options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _664 => _664.toolTypes, 'access', _665 => _665.map, 'call', _666 => _666((toolType) => ({
30906
30906
  id: toolType,
30907
- label: _chunkDGY5KEPYcjs.toToolLabel.call(void 0, toolType),
30907
+ label: _chunk4ASUUB3Acjs.toToolLabel.call(void 0, toolType),
30908
30908
  value: toolType
30909
30909
  }))]), () => ( []))
30910
30910
  }
@@ -30953,7 +30953,7 @@ function LogsTableView({
30953
30953
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30954
30954
  LogRowButton,
30955
30955
  {
30956
- onClick: getLogHref ? _chunkDGY5KEPYcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
30956
+ onClick: getLogHref ? _chunk4ASUUB3Acjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
30957
30957
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
30958
30958
  label: "Open in new tab"
30959
30959
  }
@@ -31275,7 +31275,7 @@ function OpenInNewTabCell({ href }) {
31275
31275
  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
31276
  _chunkFCZAUK4Dcjs.Button,
31277
31277
  {
31278
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
31278
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
31279
31279
  disabled: loading,
31280
31280
  variant: "outline",
31281
31281
  size: "icon",
@@ -31464,9 +31464,9 @@ function ScriptSchedulesTable({
31464
31464
 
31465
31465
  // src/components/features/scripts/shell-types.ts
31466
31466
  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 }
31467
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
31468
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
31469
+ { id: _chunk4ASUUB3Acjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
31470
31470
  ];
31471
31471
  function scriptShellType(value) {
31472
31472
  return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
@@ -32942,7 +32942,7 @@ function ScheduleFormFields({
32942
32942
  disabled = false,
32943
32943
  renderScriptSearch,
32944
32944
  timeReferenceGate = "off",
32945
- platforms = _chunkDGY5KEPYcjs.OS_PLATFORMS,
32945
+ platforms = _chunk4ASUUB3Acjs.OS_PLATFORMS,
32946
32946
  comingSoonPlatforms = [],
32947
32947
  getTimeSlots,
32948
32948
  nameLayout = "stacked",
@@ -33088,7 +33088,7 @@ function ScheduleFormFields({
33088
33088
  // src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
33089
33089
 
33090
33090
  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)) });
33091
+ 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
33092
  }
33093
33093
  function ScheduleScriptSearchField({
33094
33094
  scriptId,
@@ -33161,7 +33161,7 @@ function KnowledgeBaseOpenButton({ href }) {
33161
33161
  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
33162
  _chunkFCZAUK4Dcjs.Button,
33163
33163
  {
33164
- onClick: loading ? void 0 : _chunkDGY5KEPYcjs.openInNewTab.call(void 0, href),
33164
+ onClick: loading ? void 0 : _chunk4ASUUB3Acjs.openInNewTab.call(void 0, href),
33165
33165
  disabled: loading,
33166
33166
  variant: "outline",
33167
33167
  size: "icon",
@@ -33315,7 +33315,7 @@ function KnowledgeBaseArticleView({
33315
33315
  className,
33316
33316
  children: [
33317
33317
  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: [
33318
+ /* @__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
33319
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33320
33320
  author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk744JXTDPcjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33321
33321
  _chunkNFNSPLGCcjs.SquareAvatar,
@@ -33512,7 +33512,7 @@ function ConversationCard({
33512
33512
  style: tint,
33513
33513
  onClick: selection && ((event) => {
33514
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;
33515
+ if (!_chunk4ASUUB3Acjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33516
33516
  selection.onToggle();
33517
33517
  }),
33518
33518
  children: [
@@ -33535,7 +33535,7 @@ function ConversationCard({
33535
33535
  )
33536
33536
  ),
33537
33537
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33538
- _chunkDGY5KEPYcjs.ChatTurn,
33538
+ _chunk4ASUUB3Acjs.ChatTurn,
33539
33539
  {
33540
33540
  avatar: requester.avatar,
33541
33541
  name: requester.name,
@@ -33556,7 +33556,7 @@ function ConversationCard({
33556
33556
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _734 => _734.context])), children: context.text })
33557
33557
  ] }),
33558
33558
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33559
- _chunkDGY5KEPYcjs.ChatTurn,
33559
+ _chunk4ASUUB3Acjs.ChatTurn,
33560
33560
  {
33561
33561
  avatar: responder.avatar,
33562
33562
  name: responder.name,
@@ -33601,7 +33601,7 @@ function ConversationCardSkeleton({
33601
33601
  {
33602
33602
  selection: selection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { className: "contents", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectionToggle, { pressed: selection.pressed }) }),
33603
33603
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33604
- _chunkDGY5KEPYcjs.ChatTurn,
33604
+ _chunk4ASUUB3Acjs.ChatTurn,
33605
33605
  {
33606
33606
  loading: true,
33607
33607
  name: "",
@@ -33625,7 +33625,7 @@ function ConversationCardSkeleton({
33625
33625
  ] })
33626
33626
  ] }),
33627
33627
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33628
- _chunkDGY5KEPYcjs.ChatTurn,
33628
+ _chunk4ASUUB3Acjs.ChatTurn,
33629
33629
  {
33630
33630
  loading: true,
33631
33631
  name: "",
@@ -33887,7 +33887,7 @@ function CapabilityExplorer({
33887
33887
  readItems: true,
33888
33888
  renderItem: (item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "article", { className: _chunk63A4GZMBcjs.cn.call(void 0, CARD_CLASS2, CARD_HEIGHT_CLASS), children: [
33889
33889
  /* @__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 }) }),
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, _chunkEUEPGHY4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
33891
33891
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
33892
33892
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
33893
33893
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCK5T3UDcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
@@ -33967,7 +33967,7 @@ function CapabilityExplorer({
33967
33967
  "span",
33968
33968
  {
33969
33969
  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 })
33970
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEUEPGHY4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
33971
33971
  }
33972
33972
  ),
33973
33973
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [