@flamingo-stack/openframe-frontend-core 0.0.774 → 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 (70) hide show
  1. package/dist/{chunk-L5CKY5WA.cjs → chunk-24OYQQZC.cjs} +13 -13
  2. package/dist/{chunk-LEVA5WO3.cjs → chunk-2AZAJ7RK.cjs} +39 -39
  3. package/dist/{chunk-U332FL4C.cjs → chunk-2MF547RG.cjs} +22 -22
  4. package/dist/{chunk-HTSRAQVG.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-5Z3XL2VU.cjs → chunk-AMVI5VXM.cjs} +68 -68
  8. package/dist/{chunk-E5E7IE7X.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-NX7P2T2U.cjs → chunk-IXZNBDXT.cjs} +11 -11
  12. package/dist/{chunk-KWZ62LPZ.cjs → chunk-KM2TVQCH.cjs} +98 -98
  13. package/dist/{chunk-Q7EXOVMT.cjs → chunk-L55XLH5A.cjs} +29 -29
  14. package/dist/{chunk-TOPGBOCN.cjs → chunk-LNCBN4BL.cjs} +2 -2
  15. package/dist/{chunk-VWUQVJ2D.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-TTQHSSHF.cjs → chunk-OTZQP53Y.cjs} +3 -3
  20. package/dist/{chunk-ZHGOXDA3.cjs → chunk-UM6HFGTI.cjs} +64 -57
  21. package/dist/{chunk-USMR73ND.cjs → chunk-WAQPW4CB.cjs} +4 -4
  22. package/dist/{chunk-4JZC624S.cjs → chunk-XN6LXMH5.cjs} +174 -173
  23. package/dist/{chunk-Q6B2DC65.cjs → chunk-XT5WEHFM.cjs} +3 -3
  24. package/dist/{chunk-UAKXZ2KD.cjs → chunk-YFTQ2ALU.cjs} +37 -37
  25. package/dist/{chunk-5AOKXXHV.cjs → chunk-Z5KX56TK.cjs} +4 -4
  26. package/dist/{cloud-tenants-7RNZ6GHM.cjs → cloud-tenants-QFE6QMR5.cjs} +7 -7
  27. package/dist/components/authors/author-detail-view.d.ts.map +1 -1
  28. package/dist/components/authors/author-detail-view.js +12 -2
  29. package/dist/components/case-studies/index.cjs +23 -23
  30. package/dist/components/chat/index.cjs +5 -5
  31. package/dist/components/contact/index.cjs +8 -8
  32. package/dist/components/docs/index.cjs +11 -11
  33. package/dist/components/embeds/index.cjs +8 -8
  34. package/dist/components/faq/index.cjs +9 -9
  35. package/dist/components/features/index.cjs +7 -7
  36. package/dist/components/features/use-file-playback.d.ts +6 -4
  37. package/dist/components/features/use-file-playback.d.ts.map +1 -1
  38. package/dist/components/features/use-file-playback.js +16 -7
  39. package/dist/components/help-center-pages/index.cjs +83 -83
  40. package/dist/components/index.cjs +66 -56
  41. package/dist/components/meeting-scheduler/index.cjs +37 -37
  42. package/dist/components/navigation/index.cjs +10 -10
  43. package/dist/components/onboarding-guides/index.cjs +10 -10
  44. package/dist/components/product-demo/index.cjs +16 -16
  45. package/dist/components/related-content/card-registry.d.ts +5 -0
  46. package/dist/components/related-content/card-registry.d.ts.map +1 -1
  47. package/dist/components/related-content/card-registry.js +2 -0
  48. package/dist/components/related-content/index.cjs +5 -5
  49. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  50. package/dist/components/related-content/related-content-section.js +11 -6
  51. package/dist/components/tickets/index.cjs +13 -13
  52. package/dist/components/ui/index.cjs +7 -7
  53. package/dist/components/ui/photo-wall.d.ts +9 -1
  54. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  55. package/dist/components/ui/photo-wall.js +8 -7
  56. package/dist/{devices-NNDBC6IH.cjs → devices-SFJDLXSW.cjs} +8 -8
  57. package/dist/{embeddable-chat-DI7ZZTBP.cjs → embeddable-chat-XZUWAK4W.cjs} +73 -73
  58. package/dist/index.cjs +11 -11
  59. package/dist/{knowledge-DPUMWQED.cjs → knowledge-SAK3ZGCO.cjs} +8 -8
  60. package/dist/{logs-EE25MWYM.cjs → logs-CYBGMFA5.cjs} +15 -15
  61. package/dist/{policies-H5LPZWEM.cjs → policies-XXDOICWF.cjs} +11 -11
  62. package/dist/{scripts-YGO4LOES.cjs → scripts-C5T2AQPA.cjs} +12 -12
  63. package/dist/{software-update-5BEB62ZH.cjs → software-update-XU5AI4TP.cjs} +10 -10
  64. package/dist/{video-file-player-4TXA7BZF.cjs → video-file-player-6ZFOZFER.cjs} +16 -7
  65. package/package.json +1 -1
  66. package/src/components/authors/author-detail-view.tsx +10 -2
  67. package/src/components/features/use-file-playback.ts +33 -14
  68. package/src/components/related-content/card-registry.tsx +7 -0
  69. package/src/components/related-content/related-content-section.tsx +12 -2
  70. package/src/components/ui/photo-wall.tsx +19 -8
@@ -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,
@@ -17356,7 +17356,8 @@ function PhotoWall({
17356
17356
  speed = 24,
17357
17357
  fadeColor,
17358
17358
  className,
17359
- loading: loadingProp = false
17359
+ loading: loadingProp = false,
17360
+ sizes
17360
17361
  }) {
17361
17362
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
17362
17363
  const loading = loadingProp || inScope;
@@ -17379,13 +17380,14 @@ function PhotoWall({
17379
17380
  (box.width - COLUMN_GAP_PX * (columnCount - 1)) / columnCount,
17380
17381
  typeof window === "undefined" ? 1 : window.devicePixelRatio || 1
17381
17382
  ) : void 0;
17383
+ const sizedUpFront = !!sizes && images.length > 0 && images.every((image) => image.width && image.height);
17382
17384
  const unique = _react.useMemo.call(void 0, () => {
17383
- if (requestWidth === void 0 || inScope) return [];
17385
+ if (inScope || !sizedUpFront && requestWidth === void 0) return [];
17384
17386
  const byUrl = /* @__PURE__ */ new Map();
17385
17387
  for (const image of images) if (!byUrl.has(image.url)) byUrl.set(image.url, image);
17386
17388
  return Array.from(byUrl.values());
17387
- }, [images, requestWidth, inScope]);
17388
- const drawnWidth = _nullishCoalesce(requestWidth, () => ( void 0));
17389
+ }, [images, requestWidth, inScope, sizedUpFront]);
17390
+ const drawnWidth = sizedUpFront ? void 0 : _nullishCoalesce(requestWidth, () => ( void 0));
17389
17391
  const drawnUrl = _react.useCallback.call(void 0, (url) => drawnWidth ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, url, drawnWidth) : url, [drawnWidth]);
17390
17392
  const known = _react.useMemo.call(void 0, () => {
17391
17393
  const byUrl = /* @__PURE__ */ new Map();
@@ -17423,13 +17425,13 @@ function PhotoWall({
17423
17425
  });
17424
17426
  }, [orientations, unique, drawnUrl, columns, box]);
17425
17427
  if (images.length === 0 && !loading) return null;
17426
- const columnsToDraw = loading || requestWidth === void 0 ? null : layout;
17428
+ const columnsToDraw = loading || !sizedUpFront && requestWidth === void 0 ? null : layout;
17427
17429
  const gridStyle = {
17428
17430
  gridTemplateColumns: `repeat(${_optionalChain([columnsToDraw, 'optionalAccess', _365 => _365.length]) || columns}, minmax(0, 1fr))`,
17429
17431
  gap: COLUMN_GAP_PX
17430
17432
  };
17431
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,
17432
- _chunkKWZ62LPZcjs.MarqueeWall,
17434
+ _chunkKM2TVQCHcjs.MarqueeWall,
17433
17435
  {
17434
17436
  axis: "y",
17435
17437
  reverse: index % 2 === 1,
@@ -17453,8 +17455,7 @@ function PhotoWall({
17453
17455
  alt: _nullishCoalesce(photo.alt, () => ( "")),
17454
17456
  fill: true,
17455
17457
  className: "object-cover",
17456
- optimizedWidth: drawnWidth,
17457
- unoptimized: true,
17458
+ ...sizedUpFront ? { sizes } : { optimizedWidth: drawnWidth, unoptimized: true },
17458
17459
  loading: i < EAGER_PHOTOS_PER_COLUMN ? "eager" : "lazy",
17459
17460
  fetchPriority: index === 0 && i === 0 ? "high" : void 0
17460
17461
  }
@@ -17976,7 +17977,7 @@ var TRIAL_TERM_ICONS = {
17976
17977
  };
17977
17978
  var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
17978
17979
  function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
17979
- const labels = _chunkBTVO676Bcjs.trialLabels.call(void 0, trialDays);
17980
+ const labels = _chunkNWZSYG4Scjs.trialLabels.call(void 0, trialDays);
17980
17981
  return terms.flatMap((term) => {
17981
17982
  const label = labels[term];
17982
17983
  return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
@@ -18875,7 +18876,7 @@ function SsoProviderButtons({
18875
18876
  // where a long organization name would otherwise push the label out of a phone-width
18876
18877
  // button. `block` over its inline-flex, because an ellipsis only renders on a block box.
18877
18878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18878
- _chunkY3EBUFX4cjs.StatusBadge,
18879
+ _chunkMYHS4W2Hcjs.StatusBadge,
18879
18880
  {
18880
18881
  text: tag,
18881
18882
  variant: "button",
@@ -18934,7 +18935,7 @@ function CompleteAccountForm({
18934
18935
  ),
18935
18936
  children: [
18936
18937
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
18937
- /* @__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) }),
18938
18939
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
18939
18940
  ] }),
18940
18941
  ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -19082,7 +19083,7 @@ function CreateOrganizationForm({
19082
19083
  ),
19083
19084
  children: [
19084
19085
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19085
- /* @__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) }),
19086
19087
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19087
19088
  ] }),
19088
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,
@@ -19223,7 +19224,7 @@ function InviteLinkInvalidModal({
19223
19224
  ),
19224
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: [
19225
19226
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-mf)]", children: [
19226
- /* @__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) }),
19227
19228
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19228
19229
  "button",
19229
19230
  {
@@ -19304,7 +19305,7 @@ function LoginForm({
19304
19305
  ),
19305
19306
  children: [
19306
19307
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19307
- /* @__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) }),
19308
19309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19309
19310
  ] }),
19310
19311
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19430,7 +19431,7 @@ function NoAccountNotice({
19430
19431
  ),
19431
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: [
19432
19433
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19433
- /* @__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) }),
19434
19435
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: description })
19435
19436
  ] }),
19436
19437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { type: "button", variant: "outline", fullWidth: true, onClick: onBackToLogin, children: backLabel })
@@ -19479,7 +19480,7 @@ function OpenFrameSsoLoginForm({
19479
19480
  ),
19480
19481
  children: [
19481
19482
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
19482
- /* @__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) }),
19483
19484
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19484
19485
  ] }),
19485
19486
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19584,7 +19585,7 @@ function OpenFrameSsoSignUpForm({
19584
19585
  ),
19585
19586
  children: [
19586
19587
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
19587
- /* @__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) }),
19588
19589
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19589
19590
  ] }),
19590
19591
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19690,7 +19691,7 @@ function PasswordResetForm({
19690
19691
  ),
19691
19692
  children: [
19692
19693
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19693
- /* @__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) }),
19694
19695
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19695
19696
  ] }),
19696
19697
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19807,7 +19808,7 @@ function SsoJoinForm({
19807
19808
  ),
19808
19809
  children: [
19809
19810
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
19810
- /* @__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) }),
19811
19812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
19812
19813
  ] }),
19813
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: [
@@ -20069,7 +20070,7 @@ function ChangelogManager({
20069
20070
  ),
20070
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)" }) }),
20071
20072
  tagOptions && tagLabelOf(entry.tag) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20072
- _chunkY3EBUFX4cjs.StatusBadge,
20073
+ _chunkMYHS4W2Hcjs.StatusBadge,
20073
20074
  {
20074
20075
  variant: "button",
20075
20076
  singleLine: true,
@@ -20416,11 +20417,11 @@ function EntityTagBadgesSkeleton({
20416
20417
  i >= count && "content-md:hidden"
20417
20418
  ),
20418
20419
  "data-loading-item": true,
20419
- 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))) })
20420
20421
  },
20421
20422
  i
20422
20423
  )),
20423
- 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) }) })
20424
20425
  ] });
20425
20426
  }
20426
20427
  function EntityTagBadges({
@@ -20457,7 +20458,7 @@ function EntityTagBadges({
20457
20458
  const label = (tag.name || "").toUpperCase();
20458
20459
  if (basePath && tag.slug) {
20459
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,
20460
- _chunkY3EBUFX4cjs.StatusBadge,
20461
+ _chunkMYHS4W2Hcjs.StatusBadge,
20461
20462
  {
20462
20463
  text: label,
20463
20464
  variant: "card",
@@ -20465,7 +20466,7 @@ function EntityTagBadges({
20465
20466
  }
20466
20467
  ) }, key);
20467
20468
  }
20468
- 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);
20469
20470
  }),
20470
20471
  phoneOverflow === overflow ? overflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: overflow }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
20471
20472
  phoneOverflow > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OverflowBadge, { count: phoneOverflow, className: "content-md:hidden" }),
@@ -20474,7 +20475,7 @@ function EntityTagBadges({
20474
20475
  ] });
20475
20476
  }
20476
20477
  function OverflowBadge({ count, className }) {
20477
- 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") }) });
20478
20479
  }
20479
20480
 
20480
20481
  // src/components/features/error-boundary.tsx
@@ -20569,7 +20570,7 @@ var SectionButton = ({
20569
20570
  }
20570
20571
  ),
20571
20572
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20572
- _chunkY3EBUFX4cjs.StatusBadge,
20573
+ _chunkMYHS4W2Hcjs.StatusBadge,
20573
20574
  {
20574
20575
  text: section.badge.text,
20575
20576
  variant: section.badge.variant || "button",
@@ -20588,7 +20589,7 @@ var SectionButton = ({
20588
20589
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-wrap items-start gap-2", children: [
20589
20590
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, titleClasses, "text-h3"), style: { textAlign: "left" }, children: section.title }),
20590
20591
  section.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20591
- _chunkY3EBUFX4cjs.StatusBadge,
20592
+ _chunkMYHS4W2Hcjs.StatusBadge,
20592
20593
  {
20593
20594
  text: section.badge.text,
20594
20595
  variant: section.badge.variant || "button",
@@ -21653,15 +21654,15 @@ function useLoading() {
21653
21654
 
21654
21655
 
21655
21656
  function isAlreadyThere(file, existing) {
21656
- const key = _chunkY3EBUFX4cjs.mediaNameKey.call(void 0, file.name);
21657
+ const key = _chunkMYHS4W2Hcjs.mediaNameKey.call(void 0, file.name);
21657
21658
  if (!key) return false;
21658
21659
  return existing.some(
21659
- (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)
21660
21661
  );
21661
21662
  }
21662
21663
  var isFileDrag = (event) => Array.from(event.dataTransfer.types).includes("Files");
21663
- var isVideoItem = (item) => _chunkY3EBUFX4cjs.isVideoMedia.call(void 0, item) || item.media_type === "demo";
21664
- 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 };
21665
21666
  var MEDIA_KIND_COPY = {
21666
21667
  image: { noun: "pictures", refusal: "Not a picture" },
21667
21668
  video: { noun: "videos", refusal: "Not a video" },
@@ -21685,12 +21686,12 @@ function useMediaIntake({ existing, onUpload, onUploaded, kinds = "both" }) {
21685
21686
  const seen = /* @__PURE__ */ new Set();
21686
21687
  const accepted = [];
21687
21688
  for (const file of files) {
21688
- const mediaType = _chunkY3EBUFX4cjs.fileMediaType.call(void 0, file);
21689
+ const mediaType = _chunkMYHS4W2Hcjs.fileMediaType.call(void 0, file);
21689
21690
  if (!mediaType || kinds !== "both" && mediaType !== kinds) {
21690
21691
  unsupported.push(file.name);
21691
21692
  continue;
21692
21693
  }
21693
- 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}`);
21694
21695
  if (seen.has(contentKey) || isAlreadyThere(file, existingRef.current)) {
21695
21696
  duplicates.push(file.name);
21696
21697
  continue;
@@ -21871,7 +21872,7 @@ function MediaGalleryManager({
21871
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"),
21872
21873
  children: [
21873
21874
  media.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21874
- _chunkY3EBUFX4cjs.Card,
21875
+ _chunkMYHS4W2Hcjs.Card,
21875
21876
  {
21876
21877
  className: "group relative border-ods-border transition-colors hover:border-ods-accent/30",
21877
21878
  draggable: true,
@@ -21896,7 +21897,7 @@ function MediaGalleryManager({
21896
21897
  ) }),
21897
21898
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative aspect-video overflow-hidden rounded-lg bg-ods-bg", children: isVideoItem(item) ? (
21898
21899
  // <Video> SSOT (MuxPlayer): plays Mux HLS and MP4 alike; fit="cover" crops to the cell.
21899
- /* @__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" })
21900
21901
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21901
21902
  _chunkE76ONBKFcjs.next_image_default,
21902
21903
  {
@@ -21948,7 +21949,7 @@ function MediaGalleryManager({
21948
21949
  },
21949
21950
  _nullishCoalesce(item.id, () => ( `${item.media_url}-${index}`))
21950
21951
  )),
21951
- 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: [
21952
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" }) }),
21953
21954
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate p-3 text-ods-text-secondary text-h6", children: name })
21954
21955
  ] }, `pending-${name}-${index}`))
@@ -22302,7 +22303,7 @@ var MODEL_TOKEN_RATES_COPY = {
22302
22303
  empty: "No token rates are in effect right now."
22303
22304
  };
22304
22305
  function providerMark(providerType, stated, className) {
22305
- 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);
22306
22307
  return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
22307
22308
  }
22308
22309
  var PAD_X = "px-[var(--spacing-system-s)]";
@@ -22320,7 +22321,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
22320
22321
  var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
22321
22322
  var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
22322
22323
  function useProviderGroup(rates) {
22323
- const groups = _chunkBTVO676Bcjs.groupTokenRatesByProvider.call(void 0, rates);
22324
+ const groups = _chunkNWZSYG4Scjs.groupTokenRatesByProvider.call(void 0, rates);
22324
22325
  const [picked, setPicked] = _react.useState.call(void 0, null);
22325
22326
  return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
22326
22327
  }
@@ -22331,7 +22332,7 @@ function ProviderTabs({
22331
22332
  className
22332
22333
  }) {
22333
22334
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22334
- _chunkKWZ62LPZcjs.TabSelector,
22335
+ _chunkKM2TVQCHcjs.TabSelector,
22335
22336
  {
22336
22337
  variant: "secondary",
22337
22338
  scrollable: true,
@@ -22339,7 +22340,7 @@ function ProviderTabs({
22339
22340
  onValueChange,
22340
22341
  items: groups.map((candidate) => ({
22341
22342
  id: candidate.providerType,
22342
- 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])),
22343
22344
  icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _458 => _458.rates, 'access', _459 => _459[0], 'optionalAccess', _460 => _460.providerIcon]), "size-full")
22344
22345
  })),
22345
22346
  className
@@ -22417,8 +22418,8 @@ function ModelTokenRatesTable({ rates }) {
22417
22418
  ] }),
22418
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: [
22419
22420
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
22420
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkBTVO676Bcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
22421
- /* @__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) })
22422
22423
  ] }, rate.modelName)) })
22423
22424
  ] }),
22424
22425
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
@@ -22468,7 +22469,7 @@ function modelOption(rate) {
22468
22469
  return {
22469
22470
  label: rate.displayName || rate.modelName,
22470
22471
  value: rate.modelName,
22471
- description: _chunkBTVO676Bcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22472
+ description: _chunkNWZSYG4Scjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22472
22473
  icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
22473
22474
  };
22474
22475
  }
@@ -22522,8 +22523,8 @@ function ModelTokenExchange({
22522
22523
  const [chosen, setChosen] = _react.useState.call(void 0, null);
22523
22524
  const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _461 => _461.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
22524
22525
  const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
22525
- const tokens = _chunkBTVO676Bcjs.formatTokenAmount.call(void 0, balance);
22526
- 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);
22527
22528
  const balancePrice = cost === null ? null : _chunkHY6BCZH7cjs.formatPrice.call(void 0, cost);
22528
22529
  const model = rate ? rate.displayName || rate.modelName : "";
22529
22530
  const options = models.map(modelOption);
@@ -22565,7 +22566,7 @@ function ModelTokenExchange({
22565
22566
  variant: preset.tokens === balance ? "accent" : "outline",
22566
22567
  size: "small",
22567
22568
  onClick: () => setChosen(preset.tokens),
22568
- 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)
22569
22570
  },
22570
22571
  preset.label
22571
22572
  )) })
@@ -22582,7 +22583,7 @@ function ModelTokenExchange({
22582
22583
  const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _462 => _462.providerType]) === providerType ? rate : null)));
22583
22584
  return {
22584
22585
  id: providerType,
22585
- 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])),
22586
22587
  icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _464 => _464.providerIcon]), "size-8 text-ods-text-secondary")
22587
22588
  };
22588
22589
  }),
@@ -22621,7 +22622,7 @@ function ModelTokenExchange({
22621
22622
  {
22622
22623
  size: "plain",
22623
22624
  loading,
22624
- 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])),
22625
22626
  words: copy.charge.input
22626
22627
  }
22627
22628
  ),
@@ -22630,7 +22631,7 @@ function ModelTokenExchange({
22630
22631
  {
22631
22632
  size: "plain",
22632
22633
  loading,
22633
- 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])),
22634
22635
  words: copy.charge.output
22635
22636
  }
22636
22637
  )
@@ -22642,9 +22643,9 @@ function ModelTokenExchange({
22642
22643
  className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
22643
22644
  children: [
22644
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) }),
22645
- /* @__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)) }),
22646
22647
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
22647
- /* @__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))) })
22648
22649
  ]
22649
22650
  }
22650
22651
  )
@@ -23183,14 +23184,14 @@ var ConfidenceBadge = ({
23183
23184
  size = "sm",
23184
23185
  className
23185
23186
  }) => {
23186
- const level = _chunkBTVO676Bcjs.getConfidenceLevel.call(void 0, confidence);
23187
+ const level = _chunkNWZSYG4Scjs.getConfidenceLevel.call(void 0, confidence);
23187
23188
  if (level === "none") {
23188
23189
  return null;
23189
23190
  }
23190
- const label = _chunkBTVO676Bcjs.getConfidenceLabel.call(void 0, confidence);
23191
- const borderClass = _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence);
23192
- const textClass = _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence);
23193
- 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);
23194
23195
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23195
23196
  "span",
23196
23197
  {
@@ -23241,9 +23242,9 @@ function SEOEditorPreview({
23241
23242
  const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
23242
23243
  const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
23243
23244
  const seoTitleLength = (seoTitle || "").length;
23244
- const seoTitleTooLong = seoTitleLength > _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH;
23245
+ const seoTitleTooLong = seoTitleLength > _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH;
23245
23246
  const seoDescriptionLength = (seoDescription || "").length;
23246
- const seoDescriptionTooLong = seoDescriptionLength > _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH;
23247
+ const seoDescriptionTooLong = seoDescriptionLength > _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH;
23247
23248
  const displayTitle = seoTitle.trim() || title || "Untitled";
23248
23249
  const displayDescription = seoDescription.trim() || summary || "No description";
23249
23250
  const hasOgImage = ogImageUrl.trim();
@@ -23268,10 +23269,10 @@ function SEOEditorPreview({
23268
23269
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23269
23270
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23270
23271
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23271
- _chunkBTVO676Bcjs.Field,
23272
+ _chunkNWZSYG4Scjs.Field,
23272
23273
  {
23273
23274
  label: "SEO Title",
23274
- 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,
23275
23276
  labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23276
23277
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23277
23278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
@@ -23286,7 +23287,7 @@ function SEOEditorPreview({
23286
23287
  children: [
23287
23288
  seoTitleLength,
23288
23289
  "/",
23289
- _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH
23290
+ _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH
23290
23291
  ]
23291
23292
  }
23292
23293
  ),
@@ -23297,7 +23298,7 @@ function SEOEditorPreview({
23297
23298
  value: seoTitle || "",
23298
23299
  onChange: (e) => onSeoTitleChange(e.target.value),
23299
23300
  disabled,
23300
- maxLength: _chunkBTVO676Bcjs.SEO_TITLE_MAX_LENGTH,
23301
+ maxLength: _chunkNWZSYG4Scjs.SEO_TITLE_MAX_LENGTH,
23301
23302
  invalid: seoTitleTooLong,
23302
23303
  placeholder: "Enter SEO meta title...",
23303
23304
  className: "border-ods-border bg-ods-bg text-ods-text-primary"
@@ -23308,7 +23309,7 @@ function SEOEditorPreview({
23308
23309
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
23309
23310
  ] }),
23310
23311
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23311
- _chunkBTVO676Bcjs.Field,
23312
+ _chunkNWZSYG4Scjs.Field,
23312
23313
  {
23313
23314
  label: "SEO Keywords",
23314
23315
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -23340,10 +23341,10 @@ function SEOEditorPreview({
23340
23341
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23341
23342
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23342
23343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23343
- _chunkBTVO676Bcjs.Field,
23344
+ _chunkNWZSYG4Scjs.Field,
23344
23345
  {
23345
23346
  label: "SEO Description",
23346
- 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,
23347
23348
  labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23348
23349
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23349
23350
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23366,7 +23367,7 @@ function SEOEditorPreview({
23366
23367
  children: [
23367
23368
  seoDescriptionLength,
23368
23369
  "/",
23369
- _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH
23370
+ _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH
23370
23371
  ]
23371
23372
  }
23372
23373
  ),
@@ -23377,7 +23378,7 @@ function SEOEditorPreview({
23377
23378
  value: seoDescription || "",
23378
23379
  onChange: (e) => onSeoDescriptionChange(e.target.value),
23379
23380
  disabled,
23380
- maxLength: _chunkBTVO676Bcjs.SEO_DESCRIPTION_MAX_LENGTH,
23381
+ maxLength: _chunkNWZSYG4Scjs.SEO_DESCRIPTION_MAX_LENGTH,
23381
23382
  invalid: seoDescriptionTooLong,
23382
23383
  placeholder: "Enter SEO meta description...",
23383
23384
  className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
@@ -23446,7 +23447,7 @@ function SEOEditorPreview({
23446
23447
  {
23447
23448
  ref: setFileInputRef,
23448
23449
  type: "file",
23449
- accept: _chunkY3EBUFX4cjs.IMAGE_FILE_ACCEPT,
23450
+ accept: _chunkMYHS4W2Hcjs.IMAGE_FILE_ACCEPT,
23450
23451
  onChange: handleImageUpload,
23451
23452
  className: "hidden",
23452
23453
  disabled: disabled || isUploading
@@ -23530,7 +23531,7 @@ function socialIcon(platform) {
23530
23531
  return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
23531
23532
  }
23532
23533
  function renderSocialIcon(platform) {
23533
- const key = _nullishCoalesce(_chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23534
+ const key = _nullishCoalesce(_chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23534
23535
  const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
23535
23536
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
23536
23537
  }
@@ -23617,7 +23618,7 @@ function SocialLinksManager({
23617
23618
  };
23618
23619
  const getIcon = (link, platform) => {
23619
23620
  const iconKey = _optionalChain([platform, 'optionalAccess', _480 => _480.icon_name]) || link.platform;
23620
- const key = _chunkBTVO676Bcjs.normalizeSocialPlatform.call(void 0, iconKey);
23621
+ const key = _chunkNWZSYG4Scjs.normalizeSocialPlatform.call(void 0, iconKey);
23621
23622
  if (!key) return null;
23622
23623
  const icon = socialIcon(key);
23623
23624
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
@@ -23753,7 +23754,7 @@ var StartWithOpenFrameButton = _react.forwardRef.call(void 0,
23753
23754
  className: _chunk65VVJSQZcjs.cn.call(void 0, modeClassName, className),
23754
23755
  style: customStyle,
23755
23756
  leftIcon: !loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJZLKYOBcjs.OpenframeLogoIcon, { secondaryColor: iconLowerPath, className: "h-5 w-5", color: iconUpperPath }) : void 0,
23756
- 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" }),
23757
23758
  children
23758
23759
  }
23759
23760
  );
@@ -24080,11 +24081,11 @@ function WarningBlock({ title, icon = DEFAULT_ICON, children, className }) {
24080
24081
 
24081
24082
  function VideoBitesDisplay({
24082
24083
  bites,
24083
- title = _chunkY3EBUFX4cjs.DEFAULT_VIDEO_BITES_TITLE,
24084
+ title = _chunkMYHS4W2Hcjs.DEFAULT_VIDEO_BITES_TITLE,
24084
24085
  filterPublished = true,
24085
24086
  showTitle = true
24086
24087
  }) {
24087
- 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 });
24088
24089
  }
24089
24090
 
24090
24091
  // src/components/features/walkthrough-video.tsx
@@ -24114,7 +24115,7 @@ function WalkthroughVideo({
24114
24115
  onOpenChange,
24115
24116
  defaultOpen,
24116
24117
  defaultOpenPaused,
24117
- deepLinkParam = _chunkBTVO676Bcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24118
+ deepLinkParam = _chunkNWZSYG4Scjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24118
24119
  autoPlayCard = false,
24119
24120
  label = "Play Demo Video",
24120
24121
  placement,
@@ -24131,7 +24132,7 @@ function WalkthroughVideo({
24131
24132
  const inline = placement === "inline";
24132
24133
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
24133
24134
  const dismissEnabled = dismissal !== false;
24134
- const storageKey = dismissEnabled && dismissal.storageKey || _chunkBTVO676Bcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24135
+ const storageKey = dismissEnabled && dismissal.storageKey || _chunkNWZSYG4Scjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24135
24136
  const dismissalId = _optionalChain([video, 'optionalAccess', _486 => _486.id]) != null ? String(video.id) : "dismissed";
24136
24137
  const [mounted, setMounted] = _react.useState.call(void 0, false);
24137
24138
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
@@ -24143,7 +24144,7 @@ function WalkthroughVideo({
24143
24144
  let delayElapsed = false;
24144
24145
  let interacted = inline;
24145
24146
  const reveal = () => {
24146
- if (dismissEnabled && _chunkBTVO676Bcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24147
+ if (dismissEnabled && _chunkNWZSYG4Scjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24147
24148
  setDismissed(true);
24148
24149
  return;
24149
24150
  }
@@ -24180,7 +24181,7 @@ function WalkthroughVideo({
24180
24181
  if (idleHandle !== null && typeof cic === "function") cic(idleHandle);
24181
24182
  };
24182
24183
  }, [appearDelayMs, dismissEnabled, storageKey, dismissalId, hasVideo, videoId, inline]);
24183
- const hydrated = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
24184
+ const hydrated = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
24184
24185
  const previewSuppressed = _react.useMemo.call(void 0, () => {
24185
24186
  if (!hydrated) return false;
24186
24187
  try {
@@ -24430,7 +24431,7 @@ function WalkthroughVideo({
24430
24431
  (e) => {
24431
24432
  e.stopPropagation();
24432
24433
  pausePreviewNow();
24433
- if (dismissEnabled) _chunkBTVO676Bcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24434
+ if (dismissEnabled) _chunkNWZSYG4Scjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24434
24435
  setDismissed(true);
24435
24436
  },
24436
24437
  [dismissEnabled, storageKey, dismissalId, pausePreviewNow]
@@ -24581,7 +24582,7 @@ function WalkthroughVideo({
24581
24582
  },
24582
24583
  children: [
24583
24584
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none absolute inset-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24584
- _chunkY3EBUFX4cjs.VideoHoverPreviewSurface,
24585
+ _chunkMYHS4W2Hcjs.VideoHoverPreviewSurface,
24585
24586
  {
24586
24587
  url: video.mainVideoUrl || "",
24587
24588
  posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
@@ -24605,7 +24606,7 @@ function WalkthroughVideo({
24605
24606
  `card-${embedUrlKey}`
24606
24607
  ) }),
24607
24608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24608
- _chunkKWZ62LPZcjs.CardHitLayer,
24609
+ _chunkKM2TVQCHcjs.CardHitLayer,
24609
24610
  {
24610
24611
  label: video.title ? `${label}: ${video.title}` : label,
24611
24612
  onPointerDown: pausePreviewNow,
@@ -24721,7 +24722,7 @@ function WalkthroughVideo({
24721
24722
  children: [
24722
24723
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive2.Title, { className: "sr-only", children: summaryTitle || "Walkthrough video" }),
24723
24724
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24724
- _chunkY3EBUFX4cjs.Video,
24725
+ _chunkMYHS4W2Hcjs.Video,
24725
24726
  {
24726
24727
  kind: video.youtubeUrl ? "youtube" : "file",
24727
24728
  url: video.youtubeUrl || video.mainVideoUrl,
@@ -24777,7 +24778,7 @@ function useWalkthroughVideo(opts) {
24777
24778
  const { endpoint, initialData, enabled: enabledGiven = true, transformCaptionsUrl } = opts;
24778
24779
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
24779
24780
  const enabled = enabledGiven && !inScope;
24780
- const captions = _chunkKWZ62LPZcjs.useCaptions.call(void 0, );
24781
+ const captions = _chunkKM2TVQCHcjs.useCaptions.call(void 0, );
24781
24782
  const query = _reactquery.useQuery.call(void 0, {
24782
24783
  queryKey: ["walkthrough-video", endpoint],
24783
24784
  enabled,
@@ -24975,7 +24976,7 @@ function VideoSourceSelector({
24975
24976
  }
24976
24977
  function DefaultVideoPreview({ videoUrl, onDelete, disabled }) {
24977
24978
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border", children: [
24978
- /* @__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 }) }),
24979
24980
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24980
24981
  "button",
24981
24982
  {
@@ -25499,7 +25500,7 @@ function HighlightVideoSection({
25499
25500
  // Default simple preview — the <Video> SSOT (MuxPlayer) plays
25500
25501
  // MP4 and Mux HLS alike; aspect-video box reserves the height.
25501
25502
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative overflow-hidden rounded-lg border border-ods-border bg-black", children: [
25502
- /* @__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 }) }),
25503
25504
  onDeleteHighlight && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25504
25505
  "button",
25505
25506
  {
@@ -25526,7 +25527,7 @@ function HighlightConfigSection({
25526
25527
  disabled = false,
25527
25528
  className = ""
25528
25529
  }) {
25529
- 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,
25530
25531
  _chunkV3W56L2Dcjs.Select,
25531
25532
  {
25532
25533
  value: targetDurationSeconds.toString(),
@@ -25627,7 +25628,7 @@ var AIStatusIndicator = ({
25627
25628
  }) => {
25628
25629
  const config = statusConfig[status];
25629
25630
  const displayText = message || config.label;
25630
- 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;
25631
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: [
25632
25633
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25633
25634
  _chunkUNFCRSYIcjs.SparklesIcon,
@@ -25635,7 +25636,7 @@ var AIStatusIndicator = ({
25635
25636
  size: 16,
25636
25637
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25637
25638
  status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
25638
- 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
25639
25640
  )
25640
25641
  }
25641
25642
  ),
@@ -25644,7 +25645,7 @@ var AIStatusIndicator = ({
25644
25645
  {
25645
25646
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25646
25647
  "text-h6",
25647
- 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
25648
25649
  ),
25649
25650
  children: displayText
25650
25651
  }
@@ -25654,8 +25655,8 @@ var AIStatusIndicator = ({
25654
25655
  {
25655
25656
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25656
25657
  "rounded-full border px-2 py-0.5 text-h6",
25657
- _chunkBTVO676Bcjs.getConfidenceBorderClass.call(void 0, confidence),
25658
- _chunkBTVO676Bcjs.getConfidenceTextClass.call(void 0, confidence)
25658
+ _chunkNWZSYG4Scjs.getConfidenceBorderClass.call(void 0, confidence),
25659
+ _chunkNWZSYG4Scjs.getConfidenceTextClass.call(void 0, confidence)
25659
25660
  ),
25660
25661
  children: confidenceLabel
25661
25662
  }
@@ -26582,7 +26583,7 @@ function PoliciesTable({
26582
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,
26583
26584
  _chunkTF5D5MNOcjs.Button,
26584
26585
  {
26585
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, row.original.href),
26586
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, row.original.href),
26586
26587
  variant: "outline",
26587
26588
  size: "icon",
26588
26589
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26908,7 +26909,7 @@ function TenantsTableView({
26908
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,
26909
26910
  _chunkTF5D5MNOcjs.Button,
26910
26911
  {
26911
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
26912
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
26912
26913
  variant: "outline",
26913
26914
  size: "icon",
26914
26915
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26989,7 +26990,7 @@ function WaitlistForm({
26989
26990
  const { toast } = _chunkE64HPPRHcjs.useToast.call(void 0, );
26990
26991
  const { honeypotInputProps, getSignals, resetSignals } = _chunkE64HPPRHcjs.useHumanitySignals.call(void 0, );
26991
26992
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
26992
- const isClient = _chunkKWZ62LPZcjs.useIsHydrated.call(void 0, );
26993
+ const isClient = _chunkKM2TVQCHcjs.useIsHydrated.call(void 0, );
26993
26994
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
26994
26995
  const [showConsentError, setShowConsentError] = _react.useState.call(void 0, false);
26995
26996
  const rescue = _chunkE64HPPRHcjs.useFormRescue.call(void 0, {
@@ -27004,7 +27005,7 @@ function WaitlistForm({
27004
27005
  _react.useEffect.call(void 0, () => {
27005
27006
  rescue.track({ email, phone }, null);
27006
27007
  }, [email, phone, rescue]);
27007
- const isMailDomainGeneric = _chunkBTVO676Bcjs.hasGenericEmailDomain.call(void 0, email);
27008
+ const isMailDomainGeneric = _chunkNWZSYG4Scjs.hasGenericEmailDomain.call(void 0, email);
27008
27009
  const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
27009
27010
  if (syncedDefaultEmail !== defaultEmail) {
27010
27011
  setSyncedDefaultEmail(defaultEmail);
@@ -27038,7 +27039,7 @@ function WaitlistForm({
27038
27039
  setShowConsentError(true);
27039
27040
  return;
27040
27041
  }
27041
- 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;
27042
27043
  try {
27043
27044
  await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
27044
27045
  rescue.complete();
@@ -29177,7 +29178,7 @@ function getDeviceStatusConfig(status) {
29177
29178
  }
29178
29179
  }
29179
29180
  function getDeviceOperatingSystem(osType) {
29180
- return _chunkBTVO676Bcjs.getOSPlatformId.call(void 0, osType);
29181
+ return _chunkNWZSYG4Scjs.getOSPlatformId.call(void 0, osType);
29181
29182
  }
29182
29183
 
29183
29184
  // src/components/features/devices/device-statuses.ts
@@ -30781,7 +30782,7 @@ function DevicesPanelView({
30781
30782
  actionsVariant: "icon-buttons",
30782
30783
  className,
30783
30784
  selector: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30784
- _chunkKWZ62LPZcjs.TabSelector,
30785
+ _chunkKM2TVQCHcjs.TabSelector,
30785
30786
  {
30786
30787
  value: viewMode,
30787
30788
  onValueChange: (value) => _optionalChain([onViewModeChange, 'optionalCall', _667 => _667(value)]),
@@ -31315,11 +31316,11 @@ var ToolBadge = ({
31315
31316
  iconClassName
31316
31317
  }) => {
31317
31318
  const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
31318
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunkBTVO676Bcjs.getToolLabel.call(void 0, toolType) : "")));
31319
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunkNWZSYG4Scjs.getToolLabel.call(void 0, toolType) : "")));
31319
31320
  const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
31320
31321
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
31321
31322
  const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31322
- _chunkKWZ62LPZcjs.NavLinkAnchorViaRuntime,
31323
+ _chunkKM2TVQCHcjs.NavLinkAnchorViaRuntime,
31323
31324
  {
31324
31325
  href,
31325
31326
  targetPlatform,
@@ -31431,7 +31432,7 @@ function LogsTableView({
31431
31432
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31432
31433
  ToolBadge,
31433
31434
  {
31434
- toolType: _chunkBTVO676Bcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31435
+ toolType: _chunkNWZSYG4Scjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31435
31436
  iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
31436
31437
  }
31437
31438
  ),
@@ -31443,7 +31444,7 @@ function LogsTableView({
31443
31444
  filter: {
31444
31445
  options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _675 => _675.toolTypes, 'access', _676 => _676.map, 'call', _677 => _677((toolType) => ({
31445
31446
  id: toolType,
31446
- label: _chunkBTVO676Bcjs.toToolLabel.call(void 0, toolType),
31447
+ label: _chunkNWZSYG4Scjs.toToolLabel.call(void 0, toolType),
31447
31448
  value: toolType
31448
31449
  }))]), () => ( []))
31449
31450
  }
@@ -31501,7 +31502,7 @@ function LogsTableView({
31501
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,
31502
31503
  _chunkTF5D5MNOcjs.Button,
31503
31504
  {
31504
- 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,
31505
31506
  variant: "outline",
31506
31507
  size: "icon",
31507
31508
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -31876,7 +31877,7 @@ function OpenInNewTabCell({ href }) {
31876
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,
31877
31878
  _chunkTF5D5MNOcjs.Button,
31878
31879
  {
31879
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, href),
31880
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, href),
31880
31881
  variant: "outline",
31881
31882
  size: "icon",
31882
31883
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -32025,9 +32026,9 @@ function ScriptSchedulesTable({
32025
32026
 
32026
32027
  // src/components/features/scripts/shell-types.ts
32027
32028
  var SCRIPT_SHELL_TYPES = [
32028
- { id: _chunkBTVO676Bcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
32029
- { id: _chunkBTVO676Bcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
32030
- { 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 }
32031
32032
  ];
32032
32033
  function scriptShellType(value) {
32033
32034
  return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
@@ -33460,7 +33461,7 @@ function ScheduleFormFields({
33460
33461
  disabled = false,
33461
33462
  renderScriptSearch,
33462
33463
  timeReferenceGate = "off",
33463
- platforms = _chunkBTVO676Bcjs.OS_PLATFORMS,
33464
+ platforms = _chunkNWZSYG4Scjs.OS_PLATFORMS,
33464
33465
  comingSoonPlatforms = [],
33465
33466
  getTimeSlots,
33466
33467
  nameLayout = "stacked",
@@ -33606,7 +33607,7 @@ function ScheduleFormFields({
33606
33607
  // src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
33607
33608
 
33608
33609
  function ScriptPlatformIcons({ platforms }) {
33609
- 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)) });
33610
33611
  }
33611
33612
  function ScheduleScriptSearchField({
33612
33613
  scriptId,
@@ -33679,7 +33680,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
33679
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,
33680
33681
  _chunkTF5D5MNOcjs.Button,
33681
33682
  {
33682
- onClick: _chunkBTVO676Bcjs.openInNewTab.call(void 0, getHref(row.original)),
33683
+ onClick: _chunkNWZSYG4Scjs.openInNewTab.call(void 0, getHref(row.original)),
33683
33684
  variant: "outline",
33684
33685
  size: "icon",
33685
33686
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -33805,7 +33806,7 @@ function KnowledgeBaseArticleView({
33805
33806
  className,
33806
33807
  children: [
33807
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)) }),
33808
- /* @__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: [
33809
33810
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-20 min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33810
33811
  author.deleted ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJT2KRE2cjs.DeletedUserAvatar, { size: "md" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33811
33812
  _chunkHY6BCZH7cjs.SquareAvatar,
@@ -33969,7 +33970,7 @@ function ConversationCard({
33969
33970
  style: tint,
33970
33971
  onClick: selection && ((event) => {
33971
33972
  if (event.button !== 0 || _optionalChain([window, 'access', _741 => _741.getSelection, 'call', _742 => _742(), 'optionalAccess', _743 => _743.toString, 'call', _744 => _744()])) return;
33972
- 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;
33973
33974
  selection.onToggle();
33974
33975
  }),
33975
33976
  children: [
@@ -33992,7 +33993,7 @@ function ConversationCard({
33992
33993
  children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
33993
33994
  }
33994
33995
  ),
33995
- /* @__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,
33996
33997
  "p",
33997
33998
  {
33998
33999
  id: requestId,
@@ -34011,7 +34012,7 @@ function ConversationCard({
34011
34012
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _745 => _745.context])), children: context.text })
34012
34013
  ] }),
34013
34014
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34014
- _chunkBTVO676Bcjs.ChatTurn,
34015
+ _chunkNWZSYG4Scjs.ChatTurn,
34015
34016
  {
34016
34017
  avatar: responder.avatar,
34017
34018
  name: responder.name,
@@ -34034,10 +34035,10 @@ function ConversationCard({
34034
34035
  );
34035
34036
  }
34036
34037
  function TurnSkeleton({ avatarPx, meta, children }) {
34037
- 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: [
34038
34039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHY6BCZH7cjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
34039
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkBTVO676Bcjs.TURN_BODY_CLASS, children: [
34040
- /* @__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 }),
34041
34042
  children
34042
34043
  ] })
34043
34044
  ] });
@@ -34297,7 +34298,7 @@ function CapabilityExplorer({
34297
34298
  ),
34298
34299
  children: [
34299
34300
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-3", children: [
34300
- 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 }) }),
34301
34302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
34302
34303
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h3", { className: "flex min-w-0 items-center gap-2 text-ods-text-primary text-h4", children: [
34303
34304
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV3W56L2Dcjs.TruncateText, { as: "span", variant: "h4", triggerClassName: "flex-1", children: item.title }),
@@ -34378,7 +34379,7 @@ function CapabilityExplorer({
34378
34379
  "span",
34379
34380
  {
34380
34381
  className: _chunk65VVJSQZcjs.cn.call(void 0, JOB_ICON_TILE_CLASS, selected ? "text-ods-flamingo-cyan" : "text-ods-text-secondary"),
34381
- 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 })
34382
34383
  }
34383
34384
  ),
34384
34385
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "min-w-0 flex-1", children: [