@flamingo-stack/openframe-frontend-core 0.0.775 → 0.0.776

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 (56) hide show
  1. package/dist/{chunk-L5CKY5WA.cjs → chunk-24OYQQZC.cjs} +13 -13
  2. package/dist/{chunk-F67SEXCW.cjs → chunk-2AZAJ7RK.cjs} +39 -39
  3. package/dist/{chunk-6SJYFUGD.cjs → chunk-2MF547RG.cjs} +22 -22
  4. package/dist/{chunk-VAGZJRYV.cjs → chunk-2YB4X5WT.cjs} +4 -4
  5. package/dist/{chunk-SWEPHSIP.cjs → chunk-3V27UHSH.cjs} +4 -4
  6. package/dist/{chunk-EQBJHJS7.cjs → chunk-6HY2NH7D.cjs} +2 -2
  7. package/dist/{chunk-5YJWT5ZQ.cjs → chunk-AMVI5VXM.cjs} +68 -68
  8. package/dist/{chunk-PMX6QNNN.cjs → chunk-BDYI6HBT.cjs} +12 -12
  9. package/dist/{chunk-VISK6LKE.cjs → chunk-DDXQGTWB.cjs} +2 -2
  10. package/dist/{chunk-IQQ3SLUK.cjs → chunk-F65RSJVV.cjs} +17 -17
  11. package/dist/{chunk-36GYLB3Z.cjs → chunk-IXZNBDXT.cjs} +11 -11
  12. package/dist/{chunk-KWZ62LPZ.cjs → chunk-KM2TVQCH.cjs} +98 -98
  13. package/dist/{chunk-ODF3KCRK.cjs → chunk-L55XLH5A.cjs} +29 -29
  14. package/dist/{chunk-TOPGBOCN.cjs → chunk-LNCBN4BL.cjs} +2 -2
  15. package/dist/{chunk-FHTTRWAK.cjs → chunk-MWH5ZTMB.cjs} +77 -77
  16. package/dist/{chunk-Y3EBUFX4.cjs → chunk-MYHS4W2H.cjs} +1 -1
  17. package/dist/{chunk-BTVO676B.cjs → chunk-NWZSYG4S.cjs} +74 -74
  18. package/dist/{chunk-TUXPFF4P.cjs → chunk-OJLZ7PGO.cjs} +28 -28
  19. package/dist/{chunk-4LFB4YY3.cjs → chunk-OTZQP53Y.cjs} +3 -3
  20. package/dist/{chunk-3XLDYEQD.cjs → chunk-UM6HFGTI.cjs} +51 -51
  21. package/dist/{chunk-USMR73ND.cjs → chunk-WAQPW4CB.cjs} +4 -4
  22. package/dist/{chunk-42JGOJCB.cjs → chunk-XN6LXMH5.cjs} +166 -166
  23. package/dist/{chunk-TF2XYDH3.cjs → chunk-XT5WEHFM.cjs} +3 -3
  24. package/dist/{chunk-VDXBACD3.cjs → chunk-YFTQ2ALU.cjs} +37 -37
  25. package/dist/{chunk-5AOKXXHV.cjs → chunk-Z5KX56TK.cjs} +4 -4
  26. package/dist/{cloud-tenants-ISGAMTJD.cjs → cloud-tenants-QFE6QMR5.cjs} +7 -7
  27. package/dist/components/case-studies/index.cjs +23 -23
  28. package/dist/components/chat/index.cjs +5 -5
  29. package/dist/components/contact/index.cjs +8 -8
  30. package/dist/components/docs/index.cjs +11 -11
  31. package/dist/components/embeds/index.cjs +8 -8
  32. package/dist/components/faq/index.cjs +9 -9
  33. package/dist/components/features/index.cjs +7 -7
  34. package/dist/components/features/use-file-playback.d.ts +6 -4
  35. package/dist/components/features/use-file-playback.d.ts.map +1 -1
  36. package/dist/components/features/use-file-playback.js +16 -7
  37. package/dist/components/help-center-pages/index.cjs +83 -83
  38. package/dist/components/index.cjs +55 -55
  39. package/dist/components/meeting-scheduler/index.cjs +37 -37
  40. package/dist/components/navigation/index.cjs +10 -10
  41. package/dist/components/onboarding-guides/index.cjs +10 -10
  42. package/dist/components/product-demo/index.cjs +16 -16
  43. package/dist/components/related-content/index.cjs +5 -5
  44. package/dist/components/tickets/index.cjs +13 -13
  45. package/dist/components/ui/index.cjs +7 -7
  46. package/dist/{devices-AHJX6ACJ.cjs → devices-SFJDLXSW.cjs} +8 -8
  47. package/dist/{embeddable-chat-DI7ZZTBP.cjs → embeddable-chat-XZUWAK4W.cjs} +73 -73
  48. package/dist/index.cjs +11 -11
  49. package/dist/{knowledge-FH5GVRVP.cjs → knowledge-SAK3ZGCO.cjs} +8 -8
  50. package/dist/{logs-JBIHHLUQ.cjs → logs-CYBGMFA5.cjs} +15 -15
  51. package/dist/{policies-XLJ2ABY5.cjs → policies-XXDOICWF.cjs} +11 -11
  52. package/dist/{scripts-CQLXM7PP.cjs → scripts-C5T2AQPA.cjs} +12 -12
  53. package/dist/{software-update-7NYZ7L76.cjs → software-update-XU5AI4TP.cjs} +10 -10
  54. package/dist/{video-file-player-4TXA7BZF.cjs → video-file-player-6ZFOZFER.cjs} +16 -7
  55. package/package.json +1 -1
  56. package/src/components/features/use-file-playback.ts +33 -14
@@ -64,7 +64,7 @@ var _chunk2JRSYWFPcjs = require('./chunk-2JRSYWFP.cjs');
64
64
  var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
65
65
 
66
66
 
67
- var _chunkTOPGBOCNcjs = require('./chunk-TOPGBOCN.cjs');
67
+ var _chunkLNCBN4BLcjs = require('./chunk-LNCBN4BL.cjs');
68
68
 
69
69
 
70
70
 
@@ -116,7 +116,7 @@ var _chunkC42WIUH6cjs = require('./chunk-C42WIUH6.cjs');
116
116
 
117
117
 
118
118
 
119
- var _chunkBTVO676Bcjs = require('./chunk-BTVO676B.cjs');
119
+ var _chunkNWZSYG4Scjs = require('./chunk-NWZSYG4S.cjs');
120
120
 
121
121
 
122
122
 
@@ -139,7 +139,7 @@ var _chunkBTVO676Bcjs = require('./chunk-BTVO676B.cjs');
139
139
 
140
140
 
141
141
 
142
- var _chunkKWZ62LPZcjs = require('./chunk-KWZ62LPZ.cjs');
142
+ var _chunkKM2TVQCHcjs = require('./chunk-KM2TVQCH.cjs');
143
143
 
144
144
 
145
145
 
@@ -503,7 +503,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
503
503
 
504
504
 
505
505
 
506
- var _chunkY3EBUFX4cjs = require('./chunk-Y3EBUFX4.cjs');
506
+ var _chunkMYHS4W2Hcjs = require('./chunk-MYHS4W2H.cjs');
507
507
 
508
508
 
509
509
 
@@ -695,7 +695,7 @@ function ThemeProvider({ children, ...overrides }) {
695
695
  var useTheme = _nextthemes.useTheme;
696
696
  function useThemeToggle() {
697
697
  const { resolvedTheme, theme, setTheme } = useTheme();
698
- const mounted = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
698
+ const mounted = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
699
699
  const active = mounted ? resolvedTheme === "light" || theme === "light" ? "light" : "dark" : DEFAULT_THEME;
700
700
  const setOdsTheme = _react.useCallback.call(void 0, (next) => setTheme(next), [setTheme]);
701
701
  const toggle = _react.useCallback.call(void 0, () => setTheme(active === "dark" ? "light" : "dark"), [active, setTheme]);
@@ -4525,7 +4525,7 @@ function AdminFormDrawer({
4525
4525
  "form",
4526
4526
  {
4527
4527
  id: formId,
4528
- ..._chunkBTVO676Bcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4528
+ ..._chunkNWZSYG4Scjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4529
4529
  className: "flex flex-col gap-[var(--spacing-system-lf)]",
4530
4530
  onSubmit: (e) => {
4531
4531
  e.preventDefault();
@@ -4632,7 +4632,7 @@ function AdminFormModal({
4632
4632
  "form",
4633
4633
  {
4634
4634
  id: formId,
4635
- ..._chunkBTVO676Bcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4635
+ ..._chunkNWZSYG4Scjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4636
4636
  className: "flex min-h-0 flex-1 flex-col",
4637
4637
  onSubmit: (e) => {
4638
4638
  e.preventDefault();
@@ -6028,7 +6028,7 @@ function EmbedViewerFrame({
6028
6028
  const controllerRef = _react.useRef.call(void 0, null);
6029
6029
  _react.useEffect.call(void 0, () => {
6030
6030
  if (!fullscreenControl) return void 0;
6031
- const controller = new (0, _chunkBTVO676Bcjs.FullscreenSwitchController)({
6031
+ const controller = new (0, _chunkNWZSYG4Scjs.FullscreenSwitchController)({
6032
6032
  target: () => frameRef.current,
6033
6033
  onFullscreenChange: setIsFullscreen
6034
6034
  });
@@ -7072,7 +7072,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarouselImpl({
7072
7072
  };
7073
7073
  const displayImageSrc = (url) => transformImageSrc ? transformImageSrc(url) : url;
7074
7074
  const renderVideo = (item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7075
- _chunkY3EBUFX4cjs.Video,
7075
+ _chunkMYHS4W2Hcjs.Video,
7076
7076
  {
7077
7077
  url: item.src,
7078
7078
  poster: item.poster ? displayImageSrc(item.poster) : void 0,
@@ -7267,7 +7267,7 @@ var formatTimeAgo = (timestamp) => {
7267
7267
  return `${Math.floor(diffSeconds / 86400)}d ago`;
7268
7268
  };
7269
7269
  function RedditEmbedClient({ url, maxWidth = 700, rel }) {
7270
- const postLinkRel = _chunkKWZ62LPZcjs.renderedLinkRel.call(void 0, rel, true);
7270
+ const postLinkRel = _chunkKM2TVQCHcjs.renderedLinkRel.call(void 0, rel, true);
7271
7271
  const { redditProxyUrl } = useRichMarkdownRuntime();
7272
7272
  const [redditData, setRedditData] = _react.useState.call(void 0, null);
7273
7273
  const [loading, setLoading] = _react.useState.call(void 0, true);
@@ -7599,7 +7599,7 @@ var UserIcon3 = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", { wid
7599
7599
  ] });
7600
7600
  var XIcon = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2TEMEXDTcjs.XLogoIcon, { className: "h-5 w-5", color: "currentColor" });
7601
7601
  function TwitterEmbedClient({ url, tweetId, maxWidth = 700, rel }) {
7602
- const postLinkRel = _chunkKWZ62LPZcjs.renderedLinkRel.call(void 0, rel, true);
7602
+ const postLinkRel = _chunkKM2TVQCHcjs.renderedLinkRel.call(void 0, rel, true);
7603
7603
  const { twitterProxyUrl } = useRichMarkdownRuntime();
7604
7604
  const [tweetData, setTweetData] = _react.useState.call(void 0, null);
7605
7605
  const [fetchLoading, setLoading] = _react.useState.call(void 0, true);
@@ -7801,7 +7801,7 @@ function buildRichEmbedOverrides({
7801
7801
  ogEndpointPath,
7802
7802
  textSizes
7803
7803
  }) {
7804
- const standard = _chunkKWZ62LPZcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7804
+ const standard = _chunkKM2TVQCHcjs.buildStandardLeafRenderers.call(void 0, { textSizes });
7805
7805
  return {
7806
7806
  // Fence-language embeds (```youtube-embed etc.); everything else
7807
7807
  // (mermaid, highlighted blocks, inline code) falls through to `standard`.
@@ -7811,7 +7811,7 @@ function buildRichEmbedOverrides({
7811
7811
  const language = match ? match[1] : "";
7812
7812
  const fenceText = () => String(children).replace(/\n$/, "").trim();
7813
7813
  if (language === "youtube-embed") {
7814
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url: fenceText() });
7814
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url: fenceText() });
7815
7815
  }
7816
7816
  if (language === "reddit-embed") {
7817
7817
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: fenceText() });
@@ -7852,7 +7852,7 @@ function buildRichEmbedOverrides({
7852
7852
  "data-figma-url": figmaUrl
7853
7853
  } = divProps;
7854
7854
  if (className === "youtube-embed" && videoId) {
7855
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url: videoId });
7855
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url: videoId });
7856
7856
  }
7857
7857
  if (className === "reddit-embed" && postUrl) {
7858
7858
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedditEmbedClient, { url: postUrl });
@@ -7937,23 +7937,23 @@ function buildRichEmbedOverrides({
7937
7937
  // rich-markdown runtime (Supabase optimization on the hub, identity
7938
7938
  // elsewhere). Guard against empty `![]()`.
7939
7939
  img: ({ src, alt }) => {
7940
- if (!_chunkKWZ62LPZcjs.hasRenderableSrc.call(void 0, src)) return null;
7940
+ if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
7941
7941
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7942
7942
  },
7943
7943
  // Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
7944
7944
  // facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
7945
7945
  // the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
7946
7946
  iframe: ({ node: _node, src, ...rest }) => {
7947
- if (!_chunkKWZ62LPZcjs.hasRenderableSrc.call(void 0, src)) return null;
7947
+ if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
7948
7948
  const url = src.trim();
7949
- if (_chunkY3EBUFX4cjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "youtube", url });
7949
+ if (_chunkMYHS4W2Hcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "youtube", url });
7950
7950
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
7951
7951
  },
7952
7952
  // Raw <video> tags in stored content (blog publisher injection) route
7953
7953
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7954
7954
  video: ({ src, poster, className }) => {
7955
- if (!_chunkKWZ62LPZcjs.hasRenderableSrc.call(void 0, src)) return null;
7956
- 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, _chunkY3EBUFX4cjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7955
+ if (!_chunkKM2TVQCHcjs.hasRenderableSrc.call(void 0, src)) return null;
7956
+ 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, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: src.trim(), poster: typeof poster === "string" ? poster : void 0 }) }) });
7957
7957
  }
7958
7958
  };
7959
7959
  }
@@ -8061,7 +8061,7 @@ var processShortcodes = (content) => {
8061
8061
  try {
8062
8062
  const urlObj = new URL(url);
8063
8063
  const hostname = urlObj.hostname.toLowerCase();
8064
- const hostIs = (domain) => _chunkBTVO676Bcjs.hostMatches.call(void 0, hostname, domain);
8064
+ const hostIs = (domain) => _chunkNWZSYG4Scjs.hostMatches.call(void 0, hostname, domain);
8065
8065
  const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
8066
8066
  if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
8067
8067
  return match;
@@ -8138,13 +8138,13 @@ var RichMarkdownInner = ({
8138
8138
  },
8139
8139
  [resolveLinkEndpointUrl, resolveSource]
8140
8140
  );
8141
- const textSizes = _react.useMemo.call(void 0, () => _chunkKWZ62LPZcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8141
+ const textSizes = _react.useMemo.call(void 0, () => _chunkKM2TVQCHcjs.resolveTextSizeConfig.call(void 0, "article"), []);
8142
8142
  const componentOverrides = _react.useMemo.call(void 0,
8143
8143
  () => buildRichEmbedOverrides({ ogApiBaseUrl, ogEndpointPath, textSizes }),
8144
8144
  [ogApiBaseUrl, ogEndpointPath, textSizes]
8145
8145
  );
8146
8146
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8147
- _chunkKWZ62LPZcjs.MarkdownEngine,
8147
+ _chunkKM2TVQCHcjs.MarkdownEngine,
8148
8148
  {
8149
8149
  content,
8150
8150
  className,
@@ -8168,7 +8168,7 @@ var RichMarkdownRendererImpl = ({
8168
8168
  className = "",
8169
8169
  sectionIds,
8170
8170
  onInternalLinkClick,
8171
- brokenLinks = _chunkKWZ62LPZcjs.NO_BROKEN_LINKS,
8171
+ brokenLinks = _chunkKM2TVQCHcjs.NO_BROKEN_LINKS,
8172
8172
  currentPath,
8173
8173
  resolveSource = "openframe-docs",
8174
8174
  resolveLinkEndpointUrl = "/api/docs/resolve-link",
@@ -8213,7 +8213,7 @@ function RichMarkdownRendererSkeleton({
8213
8213
  title,
8214
8214
  className
8215
8215
  }) {
8216
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.MarkdownEngineSkeleton, { sections, title, textSize: "article", className });
8216
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.MarkdownEngineSkeleton, { sections, title, textSize: "article", className });
8217
8217
  }
8218
8218
 
8219
8219
  // src/components/ui/release-changelog-section.tsx
@@ -9298,7 +9298,7 @@ function FilterModal({
9298
9298
  const dateDefaultSort = _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _147 => _147.defaultSort]), () => ( "desc"));
9299
9299
  const [draftDateSort, setDraftDateSort] = _react.useState.call(void 0, _nullishCoalesce(_optionalChain([dateFilter, 'optionalAccess', _148 => _148.sort]), () => ( dateDefaultSort)));
9300
9300
  const [draftDateRange, setDraftDateRange] = _react.useState.call(void 0, _optionalChain([dateFilter, 'optionalAccess', _149 => _149.range]));
9301
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkKWZ62LPZcjs.useScrollFade.call(void 0, );
9301
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkKM2TVQCHcjs.useScrollFade.call(void 0, );
9302
9302
  const seedKey = `${JSON.stringify(currentFilters)}|${JSON.stringify(_nullishCoalesce(selectedTags, () => ( [])))}`;
9303
9303
  const seedSourceRef = _react.useRef.call(void 0, { currentFilters, selectedTags, dateFilter, dateDefaultSort });
9304
9304
  _react.useEffect.call(void 0, () => {
@@ -9444,8 +9444,8 @@ function FilterModal({
9444
9444
  ] })
9445
9445
  }
9446
9446
  ),
9447
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9448
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9447
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
9448
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
9449
9449
  ] })
9450
9450
  }
9451
9451
  ),
@@ -9513,7 +9513,7 @@ function renderAdvancedPageContainer({
9513
9513
  contentClassName,
9514
9514
  showHeader = true
9515
9515
  }, inScope = false) {
9516
- const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
9516
+ const titleNode = title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.PageTitle, { className: PAGE_CONTAINER_TITLE_CLASS, children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }) : inScope && title === "" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageContainerTitleSkeleton, {}) : null;
9517
9517
  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;
9518
9518
  const getActionsVariant = () => {
9519
9519
  if (actionsVariant) return actionsVariant;
@@ -9939,7 +9939,7 @@ var BenefitCardGrid = ({ children, className = "", columns = 2 }) => {
9939
9939
 
9940
9940
 
9941
9941
  function PlatformBrowseButton({ item }) {
9942
- const linkProps = _chunkKWZ62LPZcjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9942
+ const linkProps = _chunkKM2TVQCHcjs.useNavLinkViaRuntime.call(void 0, { href: item.link, targetPlatform: item.targetPlatform });
9943
9943
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", linkProps, rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }), children: [
9944
9944
  "Browse ",
9945
9945
  item.buttonText
@@ -10436,10 +10436,10 @@ var OSTypeBadge = ({
10436
10436
  if (!osType) {
10437
10437
  return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
10438
10438
  }
10439
- const normalized = _chunkBTVO676Bcjs.normalizeOSType.call(void 0, osType);
10439
+ const normalized = _chunkNWZSYG4Scjs.normalizeOSType.call(void 0, osType);
10440
10440
  if (!normalized && !labelOnly) return null;
10441
- const label = _chunkBTVO676Bcjs.getOSLabel.call(void 0, osType);
10442
- const IconComponent = _chunkBTVO676Bcjs.getOSIcon.call(void 0, osType);
10441
+ const label = _chunkNWZSYG4Scjs.getOSLabel.call(void 0, osType);
10442
+ const IconComponent = _chunkNWZSYG4Scjs.getOSIcon.call(void 0, osType);
10443
10443
  if (iconOnly && IconComponent) {
10444
10444
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk65VVJSQZcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
10445
10445
  }
@@ -10724,7 +10724,7 @@ function ComplianceLogo({
10724
10724
  fallback = null,
10725
10725
  className
10726
10726
  }) {
10727
- const standard = _chunkBTVO676Bcjs.complianceStandardForName.call(void 0, ...names);
10727
+ const standard = _chunkNWZSYG4Scjs.complianceStandardForName.call(void 0, ...names);
10728
10728
  if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
10729
10729
  const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
10730
10730
  return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10803,7 +10803,7 @@ function FeatureCardGridView({
10803
10803
  if (allCardsHaveNoBorders) {
10804
10804
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
10805
10805
  }
10806
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10806
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
10807
10807
  const startIndex = rowIndex * itemsPerRow;
10808
10808
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
10809
10809
  const isLastRow = rowIndex === rows - 1;
@@ -10837,7 +10837,7 @@ function FeatureCardGridView({
10837
10837
  item.icon && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between", children: [
10838
10838
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, item.icon, { size: 80, color: item.iconColor }),
10839
10839
  item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10840
- _chunkY3EBUFX4cjs.StatusBadge,
10840
+ _chunkMYHS4W2Hcjs.StatusBadge,
10841
10841
  {
10842
10842
  text: item.badge.text,
10843
10843
  variant: item.badge.variant || "card",
@@ -10846,7 +10846,7 @@ function FeatureCardGridView({
10846
10846
  )
10847
10847
  ] }),
10848
10848
  !item.icon && item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-start justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10849
- _chunkY3EBUFX4cjs.StatusBadge,
10849
+ _chunkMYHS4W2Hcjs.StatusBadge,
10850
10850
  {
10851
10851
  text: item.badge.text,
10852
10852
  variant: item.badge.variant || "card",
@@ -12509,7 +12509,7 @@ function TableHeader({
12509
12509
  onFilterChange
12510
12510
  }
12511
12511
  ),
12512
- column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: column.label, children: column.hint }) : null
12512
+ column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: column.label, children: column.hint }) : null
12513
12513
  ] })
12514
12514
  ) : (
12515
12515
  /* Non-filterable column — regular label with optional sort */
@@ -12535,7 +12535,7 @@ function TableHeader({
12535
12535
  hint exists, so a hint-less header keeps its DOM. */
12536
12536
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
12537
12537
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
12538
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: column.label, children: column.hint })
12538
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: column.label, children: column.hint })
12539
12539
  ] })
12540
12540
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
12541
12541
  getSortIcon(column)
@@ -12645,7 +12645,7 @@ function TableRow({
12645
12645
  const Row = animate && motionDiv ? motionDiv : "div";
12646
12646
  const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
12647
12647
  const handleRowClick = (e) => {
12648
- if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
12648
+ if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
12649
12649
  if (onClick) {
12650
12650
  onClick(item);
12651
12651
  }
@@ -13042,7 +13042,7 @@ function Table({
13042
13042
  }
13043
13043
  ),
13044
13044
  !infiniteScroll && pagePagination && !cursorPagination && data.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "mt-2 border-t border-ods-border pt-3", paginationClassName), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13045
- _chunkTOPGBOCNcjs.Pagination,
13045
+ _chunkLNCBN4BLcjs.Pagination,
13046
13046
  {
13047
13047
  currentPage: pagePagination.currentPage,
13048
13048
  totalPages: pagePagination.totalPages,
@@ -13424,7 +13424,7 @@ function DataTableRowImpl({
13424
13424
  const containerRef = _react.useRef.call(void 0, null);
13425
13425
  const handleClick = _react.useCallback.call(void 0,
13426
13426
  (e) => {
13427
- if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
13427
+ if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
13428
13428
  if (isLinkMode) e.preventDefault();
13429
13429
  return;
13430
13430
  }
@@ -13875,7 +13875,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13875
13875
  // child of the cell.
13876
13876
  _optionalChain([meta, 'optionalAccess', _241 => _241.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
13877
13877
  filterTrigger,
13878
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13878
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13879
13879
  ] }) : filterTrigger
13880
13880
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13881
13881
  "div",
@@ -13900,7 +13900,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13900
13900
  // centred on the row.
13901
13901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
13902
13902
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13903
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13904
13904
  ] })
13905
13905
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13906
13906
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -14134,7 +14134,7 @@ function PhoneInput({
14134
14134
  placeholder = "Phone Number (optional)",
14135
14135
  onKeyDown
14136
14136
  }) {
14137
- const { priority, others } = _react.useMemo.call(void 0, () => _chunkBTVO676Bcjs.getCountryPhoneData.call(void 0, ), []);
14137
+ const { priority, others } = _react.useMemo.call(void 0, () => _chunkNWZSYG4Scjs.getCountryPhoneData.call(void 0, ), []);
14138
14138
  const selectedCountry = _react.useMemo.call(void 0,
14139
14139
  () => [...priority, ...others].find((c) => c.code === countryCode),
14140
14140
  [countryCode, priority, others]
@@ -14149,7 +14149,7 @@ function PhoneInput({
14149
14149
  _optionalChain([onValidationChange, 'optionalCall', _254 => _254(false)]);
14150
14150
  return;
14151
14151
  }
14152
- const invalid = !_chunkBTVO676Bcjs.validatePhoneNumber.call(void 0, phone, countryCode);
14152
+ const invalid = !_chunkNWZSYG4Scjs.validatePhoneNumber.call(void 0, phone, countryCode);
14153
14153
  setIsInvalid(invalid);
14154
14154
  _optionalChain([onValidationChange, 'optionalCall', _255 => _255(invalid)]);
14155
14155
  },
@@ -15015,7 +15015,7 @@ function MarkdownLinkDialog({ isOpen, initial, editing, onSubmit, onRemove, onCl
15015
15015
  ),
15016
15016
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xsf)]", children: [
15017
15017
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15018
- _chunkKWZ62LPZcjs.TabSelector,
15018
+ _chunkKM2TVQCHcjs.TabSelector,
15019
15019
  {
15020
15020
  label: "Search engines",
15021
15021
  value: choice,
@@ -15072,7 +15072,7 @@ function useMarkdownLinkCommand() {
15072
15072
  buttonProps: { "aria-label": "Add or edit a link (ctrl + l)", title: "Add or edit a link (ctrl + l)" },
15073
15073
  icon: command.icon,
15074
15074
  execute: (state, api) => {
15075
- const existing = _chunkKWZ62LPZcjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
15075
+ const existing = _chunkKM2TVQCHcjs.findMarkdownLinkAt.call(void 0, state.text, state.selection.start, state.selection.end);
15076
15076
  setPending(
15077
15077
  existing ? {
15078
15078
  api,
@@ -15103,7 +15103,7 @@ function useMarkdownLinkCommand() {
15103
15103
  initial: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _312 => _312.initial]), () => ( EMPTY_LINK)),
15104
15104
  editing: _nullishCoalesce(_optionalChain([pending, 'optionalAccess', _313 => _313.editing]), () => ( false)),
15105
15105
  onSubmit: (link) => {
15106
- if (pending) write(pending, _chunkKWZ62LPZcjs.formatMarkdownLink.call(void 0, link));
15106
+ if (pending) write(pending, _chunkKM2TVQCHcjs.formatMarkdownLink.call(void 0, link));
15107
15107
  },
15108
15108
  onRemove: () => {
15109
15109
  if (pending) write(pending, pending.initial.text);
@@ -15269,7 +15269,7 @@ function MarkdownEditor({
15269
15269
  setUploadProgress(`Uploading ${file.name}...`);
15270
15270
  try {
15271
15271
  const url = await onUploadFile(file);
15272
- const isImage = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file) === "image";
15272
+ const isImage = _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file) === "image";
15273
15273
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
15274
15274
  insertTextAtCursor(markdown);
15275
15275
  _optionalChain([onFileUploaded, 'optionalCall', _316 => _316(url, file.name)]);
@@ -15399,7 +15399,7 @@ function MarkdownEditor({
15399
15399
  type: "file",
15400
15400
  className: "hidden",
15401
15401
  onChange: handleFileInputChange,
15402
- accept: `${_chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
15402
+ accept: `${_chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT},.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.zip,.txt`
15403
15403
  }
15404
15404
  ),
15405
15405
  /* @__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,
@@ -15800,7 +15800,7 @@ function matchesAccept2(file, accept) {
15800
15800
  return patterns.some((pattern) => {
15801
15801
  if (pattern.startsWith(".")) return fileName.endsWith(pattern);
15802
15802
  if (pattern.endsWith("/*"))
15803
- return fileType.startsWith(pattern.slice(0, -1)) || _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
15803
+ return fileType.startsWith(pattern.slice(0, -1)) || _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file) === pattern.slice(0, -2);
15804
15804
  return fileType === pattern;
15805
15805
  });
15806
15806
  }
@@ -15808,7 +15808,7 @@ function ImageUploader({
15808
15808
  value,
15809
15809
  onChange,
15810
15810
  onRemove,
15811
- accept = _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
15811
+ accept = _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT,
15812
15812
  maxSize = DEFAULT_MAX_SIZE,
15813
15813
  label = "Cover Image",
15814
15814
  description = "(Click Here or Drag and Drop)",
@@ -16428,7 +16428,7 @@ var SKELETON_COLUMNS = 6;
16428
16428
  function TestResultsSkeleton({
16429
16429
  region = true
16430
16430
  } = {}) {
16431
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16431
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWEANWBJHcjs.LoadingRegion, { label: "Loading the test results", announce: region, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-max min-w-full flex-col", children: [
16432
16432
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-[160px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-4 w-3/4 rounded-sm" }) }, `skeleton-header-${i}`)) }),
16433
16433
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[66px] items-center gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] content-md:h-[78px]", children: Array.from({ length: SKELETON_COLUMNS }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[160px] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-5 w-3/4 rounded-sm" }) }, `skeleton-cell-${i}`)) }) })
16434
16434
  ] }) }) });
@@ -16463,7 +16463,7 @@ function TestResultsTable({ rows, loading }) {
16463
16463
  if (loading) {
16464
16464
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TestResultsSkeleton, {});
16465
16465
  }
16466
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
16466
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.ScrollShadow, { axis: "horizontal", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { minWidth: Math.max(1, columnKeys.length) * RESULT_COLUMN_MIN_WIDTH }, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DataTable, { table, children: [
16467
16467
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Header, { className: "flex flex-col" }),
16468
16468
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTable.Body, { loading: false })
16469
16469
  ] }) }) });
@@ -16946,7 +16946,7 @@ function TicketInfoSection({
16946
16946
  expanded && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16947
16947
  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" }) }),
16948
16948
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4 border-b border-ods-border bg-ods-bg p-4", children: [
16949
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.SimpleMarkdownRenderer, { content: description }),
16949
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.SimpleMarkdownRenderer, { content: description }),
16950
16950
  attachments && attachments.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketAttachmentsList, { attachments }) }),
16951
16951
  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, _chunkHY6BCZH7cjs.Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
16952
16952
  (notes || onAddNote) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketDetailSection, { label: "Notes", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -17431,7 +17431,7 @@ function PhotoWall({
17431
17431
  gap: COLUMN_GAP_PX
17432
17432
  };
17433
17433
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, "aria-hidden": "true", className: _chunk65VVJSQZcjs.cn.call(void 0, "grid overflow-hidden", className), style: gridStyle, children: columnsToDraw ? columnsToDraw.map((column, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17434
- _chunkKWZ62LPZcjs.MarqueeWall,
17434
+ _chunkKM2TVQCHcjs.MarqueeWall,
17435
17435
  {
17436
17436
  axis: "y",
17437
17437
  reverse: index % 2 === 1,
@@ -17977,7 +17977,7 @@ var TRIAL_TERM_ICONS = {
17977
17977
  };
17978
17978
  var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
17979
17979
  function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
17980
- const labels = _chunkBTVO676Bcjs.trialLabels.call(void 0, trialDays);
17980
+ const labels = _chunkNWZSYG4Scjs.trialLabels.call(void 0, trialDays);
17981
17981
  return terms.flatMap((term) => {
17982
17982
  const label = labels[term];
17983
17983
  return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
@@ -18876,7 +18876,7 @@ function SsoProviderButtons({
18876
18876
  // where a long organization name would otherwise push the label out of a phone-width
18877
18877
  // button. `block` over its inline-flex, because an ellipsis only renders on a block box.
18878
18878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18879
- _chunkY3EBUFX4cjs.StatusBadge,
18879
+ _chunkMYHS4W2Hcjs.StatusBadge,
18880
18880
  {
18881
18881
  text: tag,
18882
18882
  variant: "button",
@@ -18935,7 +18935,7 @@ function CompleteAccountForm({
18935
18935
  ),
18936
18936
  children: [
18937
18937
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18938
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
18938
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
18939
18939
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18940
18940
  ] }),
18941
18941
  ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -19083,7 +19083,7 @@ function CreateOrganizationForm({
19083
19083
  ),
19084
19084
  children: [
19085
19085
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19086
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19086
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19087
19087
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19088
19088
  ] }),
19089
19089
  email === void 0 ? null : emailReadOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.Input, { type: "email", label: emailReadOnlyLabel, value: email, readOnly: true, disabled: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19224,7 +19224,7 @@ function InviteLinkInvalidModal({
19224
19224
  ),
19225
19225
  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: [
19226
19226
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
19227
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19227
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "flex-1 tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19228
19228
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19229
19229
  "button",
19230
19230
  {
@@ -19305,7 +19305,7 @@ function LoginForm({
19305
19305
  ),
19306
19306
  children: [
19307
19307
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19308
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19308
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19309
19309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19310
19310
  ] }),
19311
19311
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19431,7 +19431,7 @@ function NoAccountNotice({
19431
19431
  ),
19432
19432
  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: [
19433
19433
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19434
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19434
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19435
19435
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
19436
19436
  ] }),
19437
19437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
@@ -19480,7 +19480,7 @@ function OpenFrameSsoLoginForm({
19480
19480
  ),
19481
19481
  children: [
19482
19482
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
19483
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19483
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19484
19484
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19485
19485
  ] }),
19486
19486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19585,7 +19585,7 @@ function OpenFrameSsoSignUpForm({
19585
19585
  ),
19586
19586
  children: [
19587
19587
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
19588
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19588
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19589
19589
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19590
19590
  ] }),
19591
19591
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19691,7 +19691,7 @@ function PasswordResetForm({
19691
19691
  ),
19692
19692
  children: [
19693
19693
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19694
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19695
19695
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19696
19696
  ] }),
19697
19697
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19808,7 +19808,7 @@ function SsoJoinForm({
19808
19808
  ),
19809
19809
  children: [
19810
19810
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19811
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkY3EBUFX4cjs.accentSentenceMarks.call(void 0, title) }),
19811
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "tracking-[-0.64px] text-ods-text-primary text-h2", children: _chunkMYHS4W2Hcjs.accentSentenceMarks.call(void 0, title) }),
19812
19812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19813
19813
  ] }),
19814
19814
  /* @__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: [
@@ -20070,7 +20070,7 @@ function ChangelogManager({
20070
20070
  ),
20071
20071
  /* @__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)" }) }),
20072
20072
  tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20073
- _chunkY3EBUFX4cjs.StatusBadge,
20073
+ _chunkMYHS4W2Hcjs.StatusBadge,
20074
20074
  {
20075
20075
  variant: "button",
20076
20076
  singleLine: true,
@@ -20417,11 +20417,11 @@ function EntityTagBadgesSkeleton({
20417
20417
  i >= count && "content-md:hidden"
20418
20418
  ),
20419
20419
  "data-loading-item": true,
20420
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS))) })
20420
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", _nullishCoalesce(itemClassName, () => ( TAG_SKELETON_WIDTH_CLASS))) })
20421
20421
  },
20422
20422
  i
20423
20423
  )),
20424
- overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
20424
+ overflow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TAG_ITEM_CLASS, "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadgeSkeleton, { variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, "border", OVERFLOW_BADGE_SKELETON_CLASS) }) })
20425
20425
  ] });
20426
20426
  }
20427
20427
  function EntityTagBadges({
@@ -20458,7 +20458,7 @@ function EntityTagBadges({
20458
20458
  const label = (tag.name || "").toUpperCase();
20459
20459
  if (basePath && tag.slug) {
20460
20460
  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,
20461
- _chunkY3EBUFX4cjs.StatusBadge,
20461
+ _chunkMYHS4W2Hcjs.StatusBadge,
20462
20462
  {
20463
20463
  text: label,
20464
20464
  variant: "card",
@@ -20466,7 +20466,7 @@ function EntityTagBadges({
20466
20466
  }
20467
20467
  ) }, key);
20468
20468
  }
20469
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
20469
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: itemClass(index), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: label, variant: "card", className: BADGE_CLASS }) }, key);
20470
20470
  }),
20471
20471
  phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
20472
20472
  phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
@@ -20475,7 +20475,7 @@ function EntityTagBadges({
20475
20475
  ] });
20476
20476
  }
20477
20477
  function OverflowBadge({ count, className }) {
20478
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
20478
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, TAG_ITEM_CLASS, className), "data-loading-item": true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: `+${count}`, variant: "card", className: _chunk65VVJSQZcjs.cn.call(void 0, BADGE_CLASS, "text-ods-text-secondary") }) });
20479
20479
  }
20480
20480
 
20481
20481
  // src/components/features/error-boundary.tsx
@@ -20570,7 +20570,7 @@ var SectionButton = ({
20570
20570
  }
20571
20571
  ),
20572
20572
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20573
- _chunkY3EBUFX4cjs.StatusBadge,
20573
+ _chunkMYHS4W2Hcjs.StatusBadge,
20574
20574
  {
20575
20575
  text: section.badge.text,
20576
20576
  variant: section.badge.variant || "button",
@@ -20589,7 +20589,7 @@ var SectionButton = ({
20589
20589
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
20590
20590
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
20591
20591
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20592
- _chunkY3EBUFX4cjs.StatusBadge,
20592
+ _chunkMYHS4W2Hcjs.StatusBadge,
20593
20593
  {
20594
20594
  text: section.badge.text,
20595
20595
  variant: section.badge.variant || "button",
@@ -21654,15 +21654,15 @@ function useLoading() {
21654
21654
 
21655
21655
 
21656
21656
  function isAlreadyThere(file, existing) {
21657
- const key = _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, file.name);
21657
+ const key = _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, file.name);
21658
21658
  if (!key) return false;
21659
21659
  return existing.some(
21660
- (item) => (item.title ? _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, item.media_url) === key : false)
21660
+ (item) => (item.title ? _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, item.title) === key : false) || (item.media_url ? _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, item.media_url) === key : false)
21661
21661
  );
21662
21662
  }
21663
21663
  var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
21664
- var isVideoItem = (item) => _chunkY3EBUFX4cjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
21665
- var MEDIA_KIND_ACCEPT = { image: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkY3EBUFX4cjs.MEDIA_FILE_ACCEPT };
21664
+ var isVideoItem = (item) => _chunkMYHS4W2Hcjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
21665
+ var MEDIA_KIND_ACCEPT = { image: _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT, video: "video/*", both: _chunkMYHS4W2Hcjs.MEDIA_FILE_ACCEPT };
21666
21666
  var MEDIA_KIND_COPY = {
21667
21667
  image: { noun: "pictures", refusal: "Not a picture" },
21668
21668
  video: { noun: "videos", refusal: "Not a video" },
@@ -21686,12 +21686,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
21686
21686
  const seen = /* @__PURE__ */ new Set();
21687
21687
  const accepted = [];
21688
21688
  for (const file of files) {
21689
- const mediaType = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file);
21689
+ const mediaType = _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file);
21690
21690
  if (!mediaType || kinds !== "both" && mediaType !== kinds) {
21691
21691
  unsupported.push(file.name);
21692
21692
  continue;
21693
21693
  }
21694
- const contentKey = await _chunkY3EBUFX4cjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
21694
+ const contentKey = await _chunkMYHS4W2Hcjs.fileContentKey.call(void 0, file).catch(() => `${file.name}:${file.size}`);
21695
21695
  if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
21696
21696
  duplicates.push(file.name);
21697
21697
  continue;
@@ -21872,7 +21872,7 @@ function MediaGalleryManager({
21872
21872
  className: _chunk65VVJSQZcjs.cn.call(void 0, "grid grid-cols-1 gap-4 content-md:grid-cols-2", columns === 3 && "content-lg:grid-cols-3"),
21873
21873
  children: [
21874
21874
  media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21875
- _chunkY3EBUFX4cjs.Card,
21875
+ _chunkMYHS4W2Hcjs.Card,
21876
21876
  {
21877
21877
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
21878
21878
  draggable: true,
@@ -21897,7 +21897,7 @@ function MediaGalleryManager({
21897
21897
  ) }),
21898
21898
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
21899
21899
  // <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
21900
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
21900
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: item.media_url, fit: "cover", className: "h-full w-full" })
21901
21901
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21902
21902
  _chunkE76ONBKFcjs.next_image_default,
21903
21903
  {
@@ -21949,7 +21949,7 @@ function MediaGalleryManager({
21949
21949
  },
21950
21950
  _nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
21951
21951
  )),
21952
- pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkY3EBUFX4cjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21952
+ pending.map((name, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkMYHS4W2Hcjs.Card, { className: "border-ods-border", "aria-busy": "true", children: [
21953
21953
  /* @__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" }) }),
21954
21954
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
21955
21955
  ] }, `pending-${name}-${index}`))
@@ -22303,7 +22303,7 @@ var MODEL_TOKEN_RATES_COPY = {
22303
22303
  empty: "No token rates are in effect right now."
22304
22304
  };
22305
22305
  function providerMark(providerType, stated, className) {
22306
- const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkBTVO676Bcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
22306
+ const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkNWZSYG4Scjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
22307
22307
  return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
22308
22308
  }
22309
22309
  var PAD_X = "px-[var(--spacing-system-s)]";
@@ -22321,7 +22321,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
22321
22321
  var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
22322
22322
  var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
22323
22323
  function useProviderGroup(rates) {
22324
- const groups = _chunkBTVO676Bcjs.groupTokenRatesByProvider.call(void 0, rates);
22324
+ const groups = _chunkNWZSYG4Scjs.groupTokenRatesByProvider.call(void 0, rates);
22325
22325
  const [picked, setPicked] = _react.useState.call(void 0, null);
22326
22326
  return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
22327
22327
  }
@@ -22332,7 +22332,7 @@ function ProviderTabs({
22332
22332
  className
22333
22333
  }) {
22334
22334
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22335
- _chunkKWZ62LPZcjs.TabSelector,
22335
+ _chunkKM2TVQCHcjs.TabSelector,
22336
22336
  {
22337
22337
  variant: "secondary",
22338
22338
  scrollable: true,
@@ -22340,7 +22340,7 @@ function ProviderTabs({
22340
22340
  onValueChange,
22341
22341
  items: groups.map((candidate) => ({
22342
22342
  id: candidate.providerType,
22343
- label: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
22343
+ label: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _455 => _455.rates, 'access', _456 => _456[0], 'optionalAccess', _457 => _457.providerLabel])),
22344
22344
  icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
22345
22345
  })),
22346
22346
  className
@@ -22418,8 +22418,8 @@ function ModelTokenRatesTable({ rates }) {
22418
22418
  ] }),
22419
22419
  /* @__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", { role: "row", className: BODY_ROW_CLASS, children: [
22420
22420
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
22421
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
22422
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
22421
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
22422
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
22423
22423
  ] }, rate.modelName)) })
22424
22424
  ] }),
22425
22425
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
@@ -22469,7 +22469,7 @@ function modelOption(rate) {
22469
22469
  return {
22470
22470
  label: rate.displayName || rate.modelName,
22471
22471
  value: rate.modelName,
22472
- description: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22472
+ description: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22473
22473
  icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
22474
22474
  };
22475
22475
  }
@@ -22523,8 +22523,8 @@ function ModelTokenExchange({
22523
22523
  const [chosen, setChosen] = _react.useState.call(void 0, null);
22524
22524
  const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
22525
22525
  const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
22526
- const tokens = _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, balance);
22527
- const cost = _chunkBTVO676Bcjs.tokenCost.call(void 0, balance, tokenPrice);
22526
+ const tokens = _chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, balance);
22527
+ const cost = _chunkNWZSYG4Scjs.tokenCost.call(void 0, balance, tokenPrice);
22528
22528
  const balancePrice = cost === null ? null : _chunkHY6BCZH7cjs.formatPrice.call(void 0, cost);
22529
22529
  const model = rate ? rate.displayName || rate.modelName : "";
22530
22530
  const options = models.map(modelOption);
@@ -22566,7 +22566,7 @@ function ModelTokenExchange({
22566
22566
  variant: preset.tokens === balance ? "accent" : "outline",
22567
22567
  size: "small",
22568
22568
  onClick: () => setChosen(preset.tokens),
22569
- children: copy.buy.preset(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
22569
+ children: copy.buy.preset(_chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
22570
22570
  },
22571
22571
  preset.label
22572
22572
  )) })
@@ -22583,7 +22583,7 @@ function ModelTokenExchange({
22583
22583
  const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
22584
22584
  return {
22585
22585
  id: providerType,
22586
- name: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
22586
+ name: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _463 => _463.providerLabel])),
22587
22587
  icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
22588
22588
  };
22589
22589
  }),
@@ -22622,7 +22622,7 @@ function ModelTokenExchange({
22622
22622
  {
22623
22623
  size: "plain",
22624
22624
  loading,
22625
- figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
22625
+ figure: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _469 => _469.inputTokenRate])),
22626
22626
  words: copy.charge.input
22627
22627
  }
22628
22628
  ),
@@ -22631,7 +22631,7 @@ function ModelTokenExchange({
22631
22631
  {
22632
22632
  size: "plain",
22633
22633
  loading,
22634
- figure: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
22634
+ figure: _chunkNWZSYG4Scjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _470 => _470.outputTokenRate])),
22635
22635
  words: copy.charge.output
22636
22636
  }
22637
22637
  )
@@ -22643,9 +22643,9 @@ function ModelTokenExchange({
22643
22643
  className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
22644
22644
  children: [
22645
22645
  /* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
22646
- /* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
22646
+ /* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, _chunkNWZSYG4Scjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
22647
22647
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
22648
- /* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkBTVO676Bcjs.formatTokenAmount.call(void 0, _chunkBTVO676Bcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
22648
+ /* @__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, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkNWZSYG4Scjs.formatTokenAmount.call(void 0, _chunkNWZSYG4Scjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
22649
22649
  ]
22650
22650
  }
22651
22651
  )
@@ -23184,14 +23184,14 @@ var ConfidenceBadge = ({
23184
23184
  size = "sm",
23185
23185
  className
23186
23186
  }) => {
23187
- const level = _chunkBTVO676Bcjs.getConfidenceLevel.call(void 0, confidence);
23187
+ const level = _chunkNWZSYG4Scjs.getConfidenceLevel.call(void 0, confidence);
23188
23188
  if (level === "none") {
23189
23189
  return null;
23190
23190
  }
23191
- const label = _chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence);
23192
- const borderClass = _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence);
23193
- const textClass = _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence);
23194
- const bgClass = _chunkBTVO676Bcjs.getConfidenceBgClass.call(void 0, confidence);
23191
+ const label = _chunkNWZSYG4Scjs.getConfidenceLabel.call(void 0, confidence);
23192
+ const borderClass = _chunkNWZSYG4Scjs.getConfidenceBorderClass.call(void 0, confidence);
23193
+ const textClass = _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence);
23194
+ const bgClass = _chunkNWZSYG4Scjs.getConfidenceBgClass.call(void 0, confidence);
23195
23195
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23196
23196
  "span",
23197
23197
  {
@@ -23242,9 +23242,9 @@ function SEOEditorPreview({
23242
23242
  const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
23243
23243
  const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
23244
23244
  const seoTitleLength = (seoTitle || "").length;
23245
- const seoTitleTooLong = seoTitleLength > _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH;
23245
+ const seoTitleTooLong = seoTitleLength > _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH;
23246
23246
  const seoDescriptionLength = (seoDescription || "").length;
23247
- const seoDescriptionTooLong = seoDescriptionLength > _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH;
23247
+ const seoDescriptionTooLong = seoDescriptionLength > _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH;
23248
23248
  const displayTitle = seoTitle.trim() || title || "Untitled";
23249
23249
  const displayDescription = seoDescription.trim() || summary || "No description";
23250
23250
  const hasOgImage = ogImageUrl.trim();
@@ -23269,10 +23269,10 @@ function SEOEditorPreview({
23269
23269
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23270
23270
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23271
23271
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23272
- _chunkBTVO676Bcjs.Field,
23272
+ _chunkNWZSYG4Scjs.Field,
23273
23273
  {
23274
23274
  label: "SEO Title",
23275
- error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH})` : null,
23275
+ error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH})` : null,
23276
23276
  labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23277
23277
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23278
23278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
@@ -23287,7 +23287,7 @@ function SEOEditorPreview({
23287
23287
  children: [
23288
23288
  seoTitleLength,
23289
23289
  "/",
23290
- _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH
23290
+ _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH
23291
23291
  ]
23292
23292
  }
23293
23293
  ),
@@ -23298,7 +23298,7 @@ function SEOEditorPreview({
23298
23298
  value: seoTitle || "",
23299
23299
  onChange: (e) => onSeoTitleChange(e.target.value),
23300
23300
  disabled,
23301
- maxLength: _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH,
23301
+ maxLength: _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH,
23302
23302
  invalid: seoTitleTooLong,
23303
23303
  placeholder: "Enter SEO meta title...",
23304
23304
  className: "border-ods-border bg-ods-bg text-ods-text-primary"
@@ -23309,7 +23309,7 @@ function SEOEditorPreview({
23309
23309
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
23310
23310
  ] }),
23311
23311
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23312
- _chunkBTVO676Bcjs.Field,
23312
+ _chunkNWZSYG4Scjs.Field,
23313
23313
  {
23314
23314
  label: "SEO Keywords",
23315
23315
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -23341,10 +23341,10 @@ function SEOEditorPreview({
23341
23341
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23342
23342
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23343
23343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23344
- _chunkBTVO676Bcjs.Field,
23344
+ _chunkNWZSYG4Scjs.Field,
23345
23345
  {
23346
23346
  label: "SEO Description",
23347
- error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
23347
+ error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
23348
23348
  labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23349
23349
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23350
23350
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23367,7 +23367,7 @@ function SEOEditorPreview({
23367
23367
  children: [
23368
23368
  seoDescriptionLength,
23369
23369
  "/",
23370
- _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH
23370
+ _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH
23371
23371
  ]
23372
23372
  }
23373
23373
  ),
@@ -23378,7 +23378,7 @@ function SEOEditorPreview({
23378
23378
  value: seoDescription || "",
23379
23379
  onChange: (e) => onSeoDescriptionChange(e.target.value),
23380
23380
  disabled,
23381
- maxLength: _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH,
23381
+ maxLength: _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH,
23382
23382
  invalid: seoDescriptionTooLong,
23383
23383
  placeholder: "Enter SEO meta description...",
23384
23384
  className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
@@ -23447,7 +23447,7 @@ function SEOEditorPreview({
23447
23447
  {
23448
23448
  ref: setFileInputRef,
23449
23449
  type: "file",
23450
- accept: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
23450
+ accept: _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT,
23451
23451
  onChange: handleImageUpload,
23452
23452
  className: "hidden",
23453
23453
  disabled: disabled || isUploading
@@ -23531,7 +23531,7 @@ function socialIcon(platform) {
23531
23531
  return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
23532
23532
  }
23533
23533
  function renderSocialIcon(platform) {
23534
- const key = _nullishCoalesce(_chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23534
+ const key = _nullishCoalesce(_chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23535
23535
  const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
23536
23536
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
23537
23537
  }
@@ -23618,7 +23618,7 @@ function SocialLinksManager({
23618
23618
  };
23619
23619
  const getIcon = (link, platform) => {
23620
23620
  const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
23621
- const key = _chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, iconKey);
23621
+ const key = _chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, iconKey);
23622
23622
  if (!key) return null;
23623
23623
  const icon = socialIcon(key);
23624
23624
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
@@ -23754,7 +23754,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
23754
23754
  className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
23755
23755
  style: customStyle,
23756
23756
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
23757
- rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
23757
+ rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.StatusBadge, { text: "Beta", variant: "button", colorScheme: "yellow" }),
23758
23758
  children
23759
23759
  }
23760
23760
  );
@@ -24081,11 +24081,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
24081
24081
 
24082
24082
  function VideoBitesDisplay({
24083
24083
  bites,
24084
- title = _chunkY3EBUFX4cjs.DEFAULT_VIDEO_BITES_TITLE,
24084
+ title = _chunkMYHS4W2Hcjs.DEFAULT_VIDEO_BITES_TITLE,
24085
24085
  filterPublished = true,
24086
24086
  showTitle = true
24087
24087
  }) {
24088
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKWZ62LPZcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
24088
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKM2TVQCHcjs.VideoBitesStrip, { bites, title, filterPublished, showTitle });
24089
24089
  }
24090
24090
 
24091
24091
  // src/components/features/walkthrough-video.tsx
@@ -24115,7 +24115,7 @@ function WalkthroughVideo({
24115
24115
  onOpenChange,
24116
24116
  defaultOpen,
24117
24117
  defaultOpenPaused,
24118
- deepLinkParam = _chunkBTVO676Bcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24118
+ deepLinkParam = _chunkNWZSYG4Scjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24119
24119
  autoPlayCard = false,
24120
24120
  label = "Play Demo Video",
24121
24121
  placement,
@@ -24132,7 +24132,7 @@ function WalkthroughVideo({
24132
24132
  const inline = placement === "inline";
24133
24133
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
24134
24134
  const dismissEnabled = dismissal !== false;
24135
- const storageKey = dismissEnabled && dismissal.storageKey || _chunkBTVO676Bcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24135
+ const storageKey = dismissEnabled && dismissal.storageKey || _chunkNWZSYG4Scjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24136
24136
  const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
24137
24137
  const [mounted, setMounted] = _react.useState.call(void 0, false);
24138
24138
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
@@ -24144,7 +24144,7 @@ function WalkthroughVideo({
24144
24144
  let delayElapsed = false;
24145
24145
  let interacted = inline;
24146
24146
  const reveal = () => {
24147
- if (dismissEnabled && _chunkBTVO676Bcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24147
+ if (dismissEnabled && _chunkNWZSYG4Scjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24148
24148
  setDismissed(true);
24149
24149
  return;
24150
24150
  }
@@ -24181,7 +24181,7 @@ function WalkthroughVideo({
24181
24181
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
24182
24182
  };
24183
24183
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
24184
- const hydrated = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
24184
+ const hydrated = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
24185
24185
  const previewSuppressed = _react.useMemo.call(void 0, () => {
24186
24186
  if (!hydrated) return false;
24187
24187
  try {
@@ -24431,7 +24431,7 @@ function WalkthroughVideo({
24431
24431
  (e) => {
24432
24432
  e.stopPropagation();
24433
24433
  pausePreviewNow();
24434
- if (dismissEnabled) _chunkBTVO676Bcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24434
+ if (dismissEnabled) _chunkNWZSYG4Scjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24435
24435
  setDismissed(true);
24436
24436
  },
24437
24437
  [dismissEnabled, storageKey, dismissalId, pausePreviewNow]
@@ -24582,7 +24582,7 @@ function WalkthroughVideo({
24582
24582
  },
24583
24583
  children: [
24584
24584
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24585
- _chunkY3EBUFX4cjs.VideoHoverPreviewSurface,
24585
+ _chunkMYHS4W2Hcjs.VideoHoverPreviewSurface,
24586
24586
  {
24587
24587
  url: video.mainVideoUrl || "",
24588
24588
  posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
@@ -24606,7 +24606,7 @@ function WalkthroughVideo({
24606
24606
  `card-${embedUrlKey}`
24607
24607
  ) }),
24608
24608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24609
- _chunkKWZ62LPZcjs.CardHitLayer,
24609
+ _chunkKM2TVQCHcjs.CardHitLayer,
24610
24610
  {
24611
24611
  label: video.title ? `${label}: ${video.title}` : label,
24612
24612
  onPointerDown: pausePreviewNow,
@@ -24722,7 +24722,7 @@ function WalkthroughVideo({
24722
24722
  children: [
24723
24723
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
24724
24724
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24725
- _chunkY3EBUFX4cjs.Video,
24725
+ _chunkMYHS4W2Hcjs.Video,
24726
24726
  {
24727
24727
  kind: video.youtubeUrl ? "youtube" : "file",
24728
24728
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -24778,7 +24778,7 @@ function useWalkthroughVideo(opts) {
24778
24778
  const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
24779
24779
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
24780
24780
  const enabled = enabledGiven && !inScope;
24781
- const captions = _chunkKWZ62LPZcjs.useCaptions.call(void 0, );
24781
+ const captions = _chunkKM2TVQCHcjs.useCaptions.call(void 0, );
24782
24782
  const query = _reactquery.useQuery.call(void 0, {
24783
24783
  queryKey: ["walkthrough-video", endpoint],
24784
24784
  enabled,
@@ -24976,7 +24976,7 @@ function VideoSourceSelector({
24976
24976
  }
24977
24977
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24978
24978
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24979
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: videoUrl }) }),
24979
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: videoUrl }) }),
24980
24980
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24981
24981
  "button",
24982
24982
  {
@@ -25500,7 +25500,7 @@ function HighlightVideoSection({
25500
25500
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
25501
25501
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
25502
25502
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
25503
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25503
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aspect-video max-h-[300px] w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.Video, { kind: "file", url: highlightVideoUrl, poster: highlightVideoThumbnail || void 0 }) }),
25504
25504
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25505
25505
  "button",
25506
25506
  {
@@ -25527,7 +25527,7 @@ function HighlightConfigSection({
25527
25527
  disabled = false,
25528
25528
  className = ""
25529
25529
  }) {
25530
- 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, _chunkBTVO676Bcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25530
+ 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, _chunkNWZSYG4Scjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25531
25531
  _chunkV3W56L2Dcjs.Select,
25532
25532
  {
25533
25533
  value: targetDurationSeconds.toString(),
@@ -25628,7 +25628,7 @@ var AIStatusIndicator = ({
25628
25628
  }) => {
25629
25629
  const config = statusConfig[status];
25630
25630
  const displayText = message || config.label;
25631
- const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
25631
+ const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkNWZSYG4Scjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
25632
25632
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
25633
25633
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25634
25634
  _chunkUNFCRSYIcjs.SparklesIcon,
@@ -25636,7 +25636,7 @@ var AIStatusIndicator = ({
25636
25636
  size: 16,
25637
25637
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25638
25638
  status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
25639
- confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25639
+ confidence !== void 0 && status === "success" ? _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25640
25640
  )
25641
25641
  }
25642
25642
  ),
@@ -25645,7 +25645,7 @@ var AIStatusIndicator = ({
25645
25645
  {
25646
25646
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25647
25647
  "text-h6",
25648
- confidence !== void 0 && status === "success" ? _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25648
+ confidence !== void 0 && status === "success" ? _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25649
25649
  ),
25650
25650
  children: displayText
25651
25651
  }
@@ -25655,8 +25655,8 @@ var AIStatusIndicator = ({
25655
25655
  {
25656
25656
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25657
25657
  "rounded-full border px-2 py-0.5 text-h6",
25658
- _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence),
25659
- _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence)
25658
+ _chunkNWZSYG4Scjs.getConfidenceBorderClass.call(void 0, confidence),
25659
+ _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence)
25660
25660
  ),
25661
25661
  children: confidenceLabel
25662
25662
  }
@@ -26583,7 +26583,7 @@ function PoliciesTable({
26583
26583
  cell: ({ row }) => row.original.href ? /* @__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,
26584
26584
  _chunkTF5D5MNOcjs.Button,
26585
26585
  {
26586
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, row.original.href),
26586
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, row.original.href),
26587
26587
  variant: "outline",
26588
26588
  size: "icon",
26589
26589
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26909,7 +26909,7 @@ function TenantsTableView({
26909
26909
  /* @__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,
26910
26910
  _chunkTF5D5MNOcjs.Button,
26911
26911
  {
26912
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
26912
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
26913
26913
  variant: "outline",
26914
26914
  size: "icon",
26915
26915
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26990,7 +26990,7 @@ function WaitlistForm({
26990
26990
  const { toast } = _chunkE64HPPRHcjs.useToast.call(void 0, );
26991
26991
  const { honeypotInputProps, getSignals, resetSignals } = _chunkE64HPPRHcjs.useHumanitySignals.call(void 0, );
26992
26992
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26993
- const isClient = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
26993
+ const isClient = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
26994
26994
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26995
26995
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26996
26996
  const rescue = _chunkE64HPPRHcjs.useFormRescue.call(void 0, {
@@ -27005,7 +27005,7 @@ function WaitlistForm({
27005
27005
  _react.useEffect.call(void 0, () => {
27006
27006
  rescue.track({ email, phone }, null);
27007
27007
  }, [email, phone, rescue]);
27008
- const isMailDomainGeneric = _chunkBTVO676Bcjs.hasGenericEmailDomain.call(void 0, email);
27008
+ const isMailDomainGeneric = _chunkNWZSYG4Scjs.hasGenericEmailDomain.call(void 0, email);
27009
27009
  const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
27010
27010
  if (syncedDefaultEmail !== defaultEmail) {
27011
27011
  setSyncedDefaultEmail(defaultEmail);
@@ -27039,7 +27039,7 @@ function WaitlistForm({
27039
27039
  setShowConsentError(true);
27040
27040
  return;
27041
27041
  }
27042
- const finalPhone = phone ? _chunkBTVO676Bcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
27042
+ const finalPhone = phone ? _chunkNWZSYG4Scjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
27043
27043
  try {
27044
27044
  await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
27045
27045
  rescue.complete();
@@ -29178,7 +29178,7 @@ function getDeviceStatusConfig(status) {
29178
29178
  }
29179
29179
  }
29180
29180
  function getDeviceOperatingSystem(osType) {
29181
- return _chunkBTVO676Bcjs.getOSPlatformId.call(void 0, osType);
29181
+ return _chunkNWZSYG4Scjs.getOSPlatformId.call(void 0, osType);
29182
29182
  }
29183
29183
 
29184
29184
  // src/components/features/devices/device-statuses.ts
@@ -30782,7 +30782,7 @@ function DevicesPanelView({
30782
30782
  actionsVariant: "icon-buttons",
30783
30783
  className,
30784
30784
  selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30785
- _chunkKWZ62LPZcjs.TabSelector,
30785
+ _chunkKM2TVQCHcjs.TabSelector,
30786
30786
  {
30787
30787
  value: viewMode,
30788
30788
  onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
@@ -31316,11 +31316,11 @@ var ToolBadge = ({
31316
31316
  iconClassName
31317
31317
  }) => {
31318
31318
  const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
31319
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunkBTVO676Bcjs.getToolLabel.call(void 0, toolType) : "")));
31319
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunkNWZSYG4Scjs.getToolLabel.call(void 0, toolType) : "")));
31320
31320
  const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
31321
31321
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
31322
31322
  const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31323
- _chunkKWZ62LPZcjs.NavLinkAnchorViaRuntime,
31323
+ _chunkKM2TVQCHcjs.NavLinkAnchorViaRuntime,
31324
31324
  {
31325
31325
  href,
31326
31326
  targetPlatform,
@@ -31432,7 +31432,7 @@ function LogsTableView({
31432
31432
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31433
31433
  ToolBadge,
31434
31434
  {
31435
- toolType: _chunkBTVO676Bcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31435
+ toolType: _chunkNWZSYG4Scjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31436
31436
  iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
31437
31437
  }
31438
31438
  ),
@@ -31444,7 +31444,7 @@ function LogsTableView({
31444
31444
  filter: {
31445
31445
  options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
31446
31446
  id: toolType,
31447
- label: _chunkBTVO676Bcjs.toToolLabel.call(void 0, toolType),
31447
+ label: _chunkNWZSYG4Scjs.toToolLabel.call(void 0, toolType),
31448
31448
  value: toolType
31449
31449
  }))]), () => ( []))
31450
31450
  }
@@ -31502,7 +31502,7 @@ function LogsTableView({
31502
31502
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31503
31503
  _chunkTF5D5MNOcjs.Button,
31504
31504
  {
31505
- onClick: getLogHref ? _chunkBTVO676Bcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
31505
+ onClick: getLogHref ? _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
31506
31506
  variant: "outline",
31507
31507
  size: "icon",
31508
31508
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -31877,7 +31877,7 @@ function OpenInNewTabCell({ href }) {
31877
31877
  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,
31878
31878
  _chunkTF5D5MNOcjs.Button,
31879
31879
  {
31880
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, href),
31880
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, href),
31881
31881
  variant: "outline",
31882
31882
  size: "icon",
31883
31883
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -32026,9 +32026,9 @@ function ScriptSchedulesTable({
32026
32026
 
32027
32027
  // src/components/features/scripts/shell-types.ts
32028
32028
  var SCRIPT_SHELL_TYPES = [
32029
- { id: _chunkBTVO676Bcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
32030
- { id: _chunkBTVO676Bcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
32031
- { id: _chunkBTVO676Bcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
32029
+ { id: _chunkNWZSYG4Scjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
32030
+ { id: _chunkNWZSYG4Scjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
32031
+ { id: _chunkNWZSYG4Scjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
32032
32032
  ];
32033
32033
  function scriptShellType(value) {
32034
32034
  return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
@@ -33461,7 +33461,7 @@ function ScheduleFormFields({
33461
33461
  disabled = false,
33462
33462
  renderScriptSearch,
33463
33463
  timeReferenceGate = "off",
33464
- platforms = _chunkBTVO676Bcjs.OS_PLATFORMS,
33464
+ platforms = _chunkNWZSYG4Scjs.OS_PLATFORMS,
33465
33465
  comingSoonPlatforms = [],
33466
33466
  getTimeSlots,
33467
33467
  nameLayout = "stacked",
@@ -33607,7 +33607,7 @@ function ScheduleFormFields({
33607
33607
  // src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
33608
33608
 
33609
33609
  function ScriptPlatformIcons({ platforms }) {
33610
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkBTVO676Bcjs.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)) });
33610
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkNWZSYG4Scjs.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)) });
33611
33611
  }
33612
33612
  function ScheduleScriptSearchField({
33613
33613
  scriptId,
@@ -33680,7 +33680,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
33680
33680
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33681
33681
  _chunkTF5D5MNOcjs.Button,
33682
33682
  {
33683
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
33683
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
33684
33684
  variant: "outline",
33685
33685
  size: "icon",
33686
33686
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -33806,7 +33806,7 @@ function KnowledgeBaseArticleView({
33806
33806
  className,
33807
33807
  children: [
33808
33808
  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, _chunkHY6BCZH7cjs.Tag, { label: tag.label, variant: "outline", className: "max-w-full" }, tag.id)) }),
33809
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.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: [
33809
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.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: [
33810
33810
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33811
33811
  author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJT2KRE2cjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33812
33812
  _chunkHY6BCZH7cjs.SquareAvatar,
@@ -33970,7 +33970,7 @@ function ConversationCard({
33970
33970
  style: tint,
33971
33971
  onClick: selection && ((event) => {
33972
33972
  if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
33973
- if (!_chunkBTVO676Bcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33973
+ if (!_chunkNWZSYG4Scjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33974
33974
  selection.onToggle();
33975
33975
  }),
33976
33976
  children: [
@@ -33993,7 +33993,7 @@ function ConversationCard({
33993
33993
  children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
33994
33994
  }
33995
33995
  ),
33996
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33996
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33997
33997
  "p",
33998
33998
  {
33999
33999
  id: requestId,
@@ -34012,7 +34012,7 @@ function ConversationCard({
34012
34012
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
34013
34013
  ] }),
34014
34014
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34015
- _chunkBTVO676Bcjs.ChatTurn,
34015
+ _chunkNWZSYG4Scjs.ChatTurn,
34016
34016
  {
34017
34017
  avatar: responder.avatar,
34018
34018
  name: responder.name,
@@ -34035,10 +34035,10 @@ function ConversationCard({
34035
34035
  );
34036
34036
  }
34037
34037
  function TurnSkeleton({ avatarPx, meta, children }) {
34038
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_ROW_CLASS, children: [
34038
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNWZSYG4Scjs.TURN_ROW_CLASS, children: [
34039
34039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
34040
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_BODY_CLASS, children: [
34041
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBTVO676Bcjs.ChatTurnNameSkeleton, { meta, time: true }),
34040
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkNWZSYG4Scjs.TURN_BODY_CLASS, children: [
34041
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNWZSYG4Scjs.ChatTurnNameSkeleton, { meta, time: true }),
34042
34042
  children
34043
34043
  ] })
34044
34044
  ] });
@@ -34298,7 +34298,7 @@ function CapabilityExplorer({
34298
34298
  ),
34299
34299
  children: [
34300
34300
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
34301
- item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
34301
+ item.iconName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, "text-ods-flamingo-cyan"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 }) }),
34302
34302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
34303
34303
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
34304
34304
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
@@ -34379,7 +34379,7 @@ function CapabilityExplorer({
34379
34379
  "span",
34380
34380
  {
34381
34381
  className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
34382
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkY3EBUFX4cjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
34382
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMYHS4W2Hcjs.EntityIcon, { icon: { name: item.iconName }, size: 18 })
34383
34383
  }
34384
34384
  ),
34385
34385
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [