@flamingo-stack/openframe-frontend-core 0.0.724 → 0.0.726

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 (102) hide show
  1. package/dist/{chunk-N2PX26BZ.js → chunk-2MMZTACD.js} +2 -2
  2. package/dist/{chunk-2HLGX6JF.js → chunk-3UZET2G7.js} +5 -5
  3. package/dist/{chunk-NLZZUWR6.js → chunk-3XDVGHL4.js} +4 -4
  4. package/dist/{chunk-L5CAET76.cjs → chunk-4ND65E2B.cjs} +64 -64
  5. package/dist/{chunk-OFOBVPDV.js → chunk-4VRHDFF2.js} +2 -2
  6. package/dist/{chunk-QJ67GFF3.cjs → chunk-5SWQ2ZU5.cjs} +32 -32
  7. package/dist/{chunk-CJENFR5T.js → chunk-6EFNWQRY.js} +1 -1
  8. package/dist/{chunk-7CNGNPBI.js → chunk-AZKVHJA5.js} +3 -3
  9. package/dist/{chunk-QN3OXRTM.js → chunk-C5KMQLJP.js} +5 -5
  10. package/dist/{chunk-MU5F5QXJ.js → chunk-COFT3YPA.js} +6 -6
  11. package/dist/{chunk-ZKL52ALL.cjs → chunk-DXDLCYCM.cjs} +3 -3
  12. package/dist/{chunk-3MMKIVWZ.cjs → chunk-EHYAOIE4.cjs} +23 -23
  13. package/dist/{chunk-5CJGNPTT.cjs → chunk-FMFCPX3R.cjs} +35 -35
  14. package/dist/{chunk-DGNGABNG.cjs → chunk-HEQ4GPYE.cjs} +4 -4
  15. package/dist/{chunk-JKWQWHNV.cjs → chunk-IITB5TJR.cjs} +4 -1
  16. package/dist/{chunk-MRBPJ4NB.js → chunk-JXJFUGJY.js} +1 -1
  17. package/dist/{chunk-BWMEQ7IZ.js → chunk-JYJBL7GD.js} +1 -1
  18. package/dist/{chunk-YKV45BSJ.cjs → chunk-KLCOSY7B.cjs} +4 -4
  19. package/dist/{chunk-QUI7DKBW.cjs → chunk-KNLRL63O.cjs} +41 -41
  20. package/dist/{chunk-PF4WAKCS.js → chunk-MM66P4X4.js} +4 -4
  21. package/dist/{chunk-6QO6BIX7.js → chunk-MQ3ZM7FJ.js} +1 -1
  22. package/dist/{chunk-OWFDXYEO.js → chunk-MSPXMSMY.js} +1 -1
  23. package/dist/{chunk-SOTXV3T5.cjs → chunk-MZ3TMXIX.cjs} +3 -3
  24. package/dist/{chunk-BIWG3CYN.cjs → chunk-MZY6LBM5.cjs} +3 -3
  25. package/dist/{chunk-7AXOAA5T.cjs → chunk-NJV3LIDE.cjs} +3 -3
  26. package/dist/{chunk-IUQKIU5A.js → chunk-NLWIBA55.js} +6 -6
  27. package/dist/{chunk-4N5DLIEC.js → chunk-NZYMMYWN.js} +1 -1
  28. package/dist/{chunk-GRB5HVEV.cjs → chunk-Q2G7NVFH.cjs} +505 -505
  29. package/dist/{chunk-IPUDFAU5.cjs → chunk-R3BOJNZI.cjs} +31 -31
  30. package/dist/{chunk-SVDXNMBL.cjs → chunk-RSE3MU4G.cjs} +16 -16
  31. package/dist/{chunk-3NVSC3BU.cjs → chunk-RVSNXG6J.cjs} +246 -267
  32. package/dist/{chunk-S4SVKXHN.js → chunk-SBPPM65Y.js} +54 -75
  33. package/dist/{chunk-KKO4GRM3.js → chunk-SCTS3EMJ.js} +4 -4
  34. package/dist/{chunk-VLPGV5WH.js → chunk-TU5LEF6A.js} +1 -1
  35. package/dist/{chunk-N4NGKXUU.cjs → chunk-U6LRRG2E.cjs} +15 -15
  36. package/dist/{chunk-6BKDXUOQ.js → chunk-VKR56R3U.js} +6 -6
  37. package/dist/{chunk-FR4MFSH5.cjs → chunk-VPABPC2M.cjs} +19 -19
  38. package/dist/{chunk-2A4AGW7Z.cjs → chunk-X2PG6XWF.cjs} +11 -11
  39. package/dist/{chunk-JQ7A7PO5.cjs → chunk-XEIDJ6SL.cjs} +76 -76
  40. package/dist/{chunk-ZQKN2Z6W.js → chunk-YQDKVGKO.js} +4 -1
  41. package/dist/{chunk-XDTD6YGG.js → chunk-YVWJ3TRY.js} +7 -7
  42. package/dist/{chunk-A4WHVIYZ.cjs → chunk-Z3VAFLYK.cjs} +17 -17
  43. package/dist/{cloud-tenants-UMZJZTMB.cjs → cloud-tenants-5JTQ2ENQ.cjs} +7 -7
  44. package/dist/{cloud-tenants-5MINXS5J.js → cloud-tenants-NH7VE7KE.js} +6 -6
  45. package/dist/components/case-studies/index.cjs +20 -20
  46. package/dist/components/case-studies/index.js +7 -7
  47. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  48. package/dist/components/chat/index.cjs +5 -5
  49. package/dist/components/chat/index.js +4 -4
  50. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  51. package/dist/components/contact/index.cjs +8 -8
  52. package/dist/components/contact/index.js +7 -7
  53. package/dist/components/docs/index.cjs +11 -11
  54. package/dist/components/docs/index.js +10 -10
  55. package/dist/components/embeds/index.cjs +8 -8
  56. package/dist/components/embeds/index.js +7 -7
  57. package/dist/components/faq/index.cjs +8 -8
  58. package/dist/components/faq/index.js +7 -7
  59. package/dist/components/features/index.cjs +7 -7
  60. package/dist/components/features/index.js +6 -6
  61. package/dist/components/help-center-pages/index.cjs +106 -106
  62. package/dist/components/help-center-pages/index.js +18 -18
  63. package/dist/components/index.cjs +55 -55
  64. package/dist/components/index.js +18 -18
  65. package/dist/components/meeting-scheduler/index.cjs +32 -32
  66. package/dist/components/meeting-scheduler/index.js +6 -6
  67. package/dist/components/navigation/index.cjs +10 -10
  68. package/dist/components/navigation/index.js +9 -9
  69. package/dist/components/onboarding-guides/index.cjs +10 -10
  70. package/dist/components/onboarding-guides/index.js +9 -9
  71. package/dist/components/product-demo/index.cjs +7 -7
  72. package/dist/components/product-demo/index.js +7 -7
  73. package/dist/components/related-content/index.cjs +4 -4
  74. package/dist/components/related-content/index.js +3 -3
  75. package/dist/components/tickets/index.cjs +11 -11
  76. package/dist/components/tickets/index.js +10 -10
  77. package/dist/components/ui/index.cjs +7 -7
  78. package/dist/components/ui/index.js +6 -6
  79. package/dist/{devices-FSSUAUQN.js → devices-OC7JEI6U.js} +6 -6
  80. package/dist/{devices-HOT7YSDN.cjs → devices-PV76NGQO.cjs} +8 -8
  81. package/dist/index.cjs +11 -11
  82. package/dist/index.js +10 -10
  83. package/dist/{knowledge-3N6HCFLU.cjs → knowledge-5AYFIVKD.cjs} +8 -8
  84. package/dist/{knowledge-7HRUJX26.js → knowledge-L7WQ7IEP.js} +6 -6
  85. package/dist/{logs-75M5YP6V.cjs → logs-4F77RJXJ.cjs} +15 -15
  86. package/dist/{logs-T25OE2QW.js → logs-MGFHGVIE.js} +6 -6
  87. package/dist/{policies-BTG7UJJC.cjs → policies-VCGM3C5Z.cjs} +11 -11
  88. package/dist/{policies-4OK4XTD4.js → policies-WRDZFNIB.js} +6 -6
  89. package/dist/{remote-session-4DTOM3QD.cjs → remote-session-CSX6ESSG.cjs} +5 -5
  90. package/dist/{remote-session-AZJXG7ZF.js → remote-session-ZBCWD5A5.js} +3 -3
  91. package/dist/{software-update-5SOV4FIR.js → software-update-WVG2GDZO.js} +6 -6
  92. package/dist/{software-update-OZURO4VK.cjs → software-update-YD2MNL3K.cjs} +11 -11
  93. package/dist/utils/index.cjs +17 -18
  94. package/dist/utils/index.js +17 -18
  95. package/dist/utils/source-grouping.d.ts +15 -5
  96. package/dist/utils/source-grouping.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/src/components/chat/entity-cards/dispatch.tsx +47 -58
  99. package/src/components/chat/utils/icon-library.tsx +8 -3
  100. package/src/components/chat/utils/source-row-cta.ts +3 -3
  101. package/src/utils/source-grouping.ts +24 -14
  102. package/src/utils/source-icons.ts +16 -16
@@ -3,31 +3,31 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkZKL52ALLcjs = require('./chunk-ZKL52ALL.cjs');
6
+ var _chunkDXDLCYCMcjs = require('./chunk-DXDLCYCM.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkSOTXV3T5cjs = require('./chunk-SOTXV3T5.cjs');
12
+ var _chunkMZ3TMXIXcjs = require('./chunk-MZ3TMXIX.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunk2A4AGW7Zcjs = require('./chunk-2A4AGW7Z.cjs');
16
+ var _chunkX2PG6XWFcjs = require('./chunk-X2PG6XWF.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
- var _chunkGRB5HVEVcjs = require('./chunk-GRB5HVEV.cjs');
21
+ var _chunkQ2G7NVFHcjs = require('./chunk-Q2G7NVFH.cjs');
22
22
 
23
23
 
24
- var _chunkN4NGKXUUcjs = require('./chunk-N4NGKXUU.cjs');
24
+ var _chunkU6LRRG2Ecjs = require('./chunk-U6LRRG2E.cjs');
25
25
 
26
26
 
27
27
 
28
28
 
29
29
 
30
- var _chunk3NVSC3BUcjs = require('./chunk-3NVSC3BU.cjs');
30
+ var _chunkRVSNXG6Jcjs = require('./chunk-RVSNXG6J.cjs');
31
31
 
32
32
 
33
33
 
@@ -339,8 +339,8 @@ function toDocContent(value, requestedPath) {
339
339
  }
340
340
  function useDocumentTree(config, initialPath) {
341
341
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
342
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk3NVSC3BUcjs.DEFAULT_FOLDER_INDEX_FILE));
343
- const cleanInitialPath = _chunk3NVSC3BUcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
342
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkRVSNXG6Jcjs.DEFAULT_FOLDER_INDEX_FILE));
343
+ const cleanInitialPath = _chunkRVSNXG6Jcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
344
344
  const [structure, setStructure] = _react.useState.call(void 0, []);
345
345
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
346
346
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -364,12 +364,12 @@ function useDocumentTree(config, initialPath) {
364
364
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
365
365
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
366
366
  }
367
- pathFromUrl = _chunk3NVSC3BUcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
367
+ pathFromUrl = _chunkRVSNXG6Jcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
368
368
  if (pathFromUrl !== selectedPathRef.current) {
369
369
  setSelectedPath(pathFromUrl);
370
370
  if (pathFromUrl) {
371
371
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
372
- setExpandedNodes(new Set(_chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
372
+ setExpandedNodes(new Set(_chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
373
373
  }
374
374
  setTimeout(() => {
375
375
  scrollToContent();
@@ -387,7 +387,7 @@ function useDocumentTree(config, initialPath) {
387
387
  setSelectedPath(cleanInitialPath);
388
388
  if (cleanInitialPath) {
389
389
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
390
- setExpandedNodes(new Set(_chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
390
+ setExpandedNodes(new Set(_chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
391
391
  }
392
392
  setExternalNavCount((n) => n + 1);
393
393
  }
@@ -412,7 +412,7 @@ function useDocumentTree(config, initialPath) {
412
412
  if (cleanInitialPath) {
413
413
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
414
414
  if (pathForExpansion) {
415
- setExpandedNodes(new Set(_chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
415
+ setExpandedNodes(new Set(_chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
416
416
  }
417
417
  } else if (nodes.length > 0) {
418
418
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -452,7 +452,7 @@ function useDocumentTree(config, initialPath) {
452
452
  setContent(null);
453
453
  return;
454
454
  }
455
- const probe = _chunk3NVSC3BUcjs.findDocNodeByPath.call(void 0, _chunk3NVSC3BUcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
455
+ const probe = _chunkRVSNXG6Jcjs.findDocNodeByPath.call(void 0, _chunkRVSNXG6Jcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
456
456
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
457
457
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
458
458
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -509,7 +509,7 @@ function useDocumentTree(config, initialPath) {
509
509
  if (selectedPath === "") {
510
510
  pathToFetch = folderIndexFile;
511
511
  } else {
512
- const node = _chunk3NVSC3BUcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
512
+ const node = _chunkRVSNXG6Jcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
513
513
  if (node && node.type === "folder" && !node.hasReadme) {
514
514
  const firstDocPath = findFirstDocPath(node);
515
515
  if (!firstDocPath) {
@@ -550,16 +550,16 @@ function useDocumentTree(config, initialPath) {
550
550
  if (node.type === "folder") {
551
551
  setExpandedNodes((prev) => {
552
552
  if (prev.has(node.id)) {
553
- const ancestorIds = _chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, node.path);
553
+ const ancestorIds = _chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, node.path);
554
554
  ancestorIds.pop();
555
555
  return new Set(ancestorIds);
556
556
  }
557
- return new Set(_chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, node.path));
557
+ return new Set(_chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, node.path));
558
558
  });
559
559
  } else {
560
560
  const lastSlash = node.path.lastIndexOf("/");
561
561
  if (lastSlash > 0) {
562
- setExpandedNodes(new Set(_chunk3NVSC3BUcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
562
+ setExpandedNodes(new Set(_chunkRVSNXG6Jcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
563
563
  }
564
564
  }
565
565
  lastFetchedPath.current = null;
@@ -574,7 +574,7 @@ function useDocumentTree(config, initialPath) {
574
574
  const hashIndex = path.indexOf("#");
575
575
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
576
576
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
577
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk3NVSC3BUcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
577
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkRVSNXG6Jcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
578
578
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
579
579
  _chunkK2JUJ37Dcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkK2JUJ37Dcjs.HUB_HEADER_OFFSET_PX });
580
580
  return;
@@ -638,15 +638,15 @@ function useDocumentTree(config, initialPath) {
638
638
  return docNavigation.register({
639
639
  baseRoute: normalizedBaseRoute,
640
640
  findNodeByPath: (path) => {
641
- const clean = _chunk3NVSC3BUcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
642
- return _nullishCoalesce(_chunk3NVSC3BUcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
641
+ const clean = _chunkRVSNXG6Jcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
642
+ return _nullishCoalesce(_chunkRVSNXG6Jcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
643
643
  },
644
644
  selectNode
645
645
  });
646
646
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
647
647
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
648
648
  if (!selectedPath || structure.length === 0) return false;
649
- const node = _chunk3NVSC3BUcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
649
+ const node = _chunkRVSNXG6Jcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
650
650
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
651
651
  }, [selectedPath, structure]);
652
652
  return {
@@ -726,14 +726,14 @@ function DocViewerContent({
726
726
  },
727
727
  docPath
728
728
  );
729
- const { activeSection, handleSectionClick } = _chunkSOTXV3T5cjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
729
+ const { activeSection, handleSectionClick } = _chunkMZ3TMXIXcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
730
730
  const docNav = useDocNavigation();
731
731
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
732
732
  const backCfg = backButton === false ? null : {
733
733
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
734
734
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
735
735
  };
736
- const docSearch = _chunk2A4AGW7Zcjs.useDocSearch.call(void 0, {
736
+ const docSearch = _chunkX2PG6XWFcjs.useDocSearch.call(void 0, {
737
737
  source: chatSource,
738
738
  baseRoute,
739
739
  searchEndpoint,
@@ -757,7 +757,7 @@ function DocViewerContent({
757
757
  onResolveLink: resolveLink
758
758
  });
759
759
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
760
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk3NVSC3BUcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
760
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkRVSNXG6Jcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
761
761
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
762
762
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
763
763
  const showStickyNav = isMarkdownContent;
@@ -768,9 +768,9 @@ function DocViewerContent({
768
768
  const containerBgStyle = colorPalette.containerBackground !== "transparent" ? { backgroundColor: colorPalette.containerBackground } : {};
769
769
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
770
770
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
771
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN4NGKXUUcjs.PageLayout, { title, subtitle, titleSize: "h1", titleWrap: true, backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-10", children: [
771
+ const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6LRRG2Ecjs.PageLayout, { title, subtitle, titleSize: "h1", titleWrap: true, backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-10", children: [
772
772
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
773
- _chunk2A4AGW7Zcjs.DocSearchBar,
773
+ _chunkX2PG6XWFcjs.DocSearchBar,
774
774
  {
775
775
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _19 => _19.toLowerCase, 'call', _20 => _20()]) || "documents"}...`,
776
776
  query: docSearch.query,
@@ -789,9 +789,9 @@ function DocViewerContent({
789
789
  ] })
790
790
  ] }) }),
791
791
  !error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-start gap-6 content-lg:flex-row content-lg:gap-10", children: [
792
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-lg:w-[320px] content-lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "content-lg:sticky content-lg:top-20", children: isLoadingStructure ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
792
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full content-lg:w-[320px] content-lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "content-lg:sticky content-lg:top-20", children: isLoadingStructure ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQ2G7NVFHcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
793
793
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
794
- _chunkSOTXV3T5cjs.MobileNavigationDropdown,
794
+ _chunkMZ3TMXIXcjs.MobileNavigationDropdown,
795
795
  {
796
796
  nodes: structure,
797
797
  selectedPath,
@@ -805,7 +805,7 @@ function DocViewerContent({
805
805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentSidebar, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
806
806
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
807
807
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
808
- _chunkSOTXV3T5cjs.MultiLevelNavigation,
808
+ _chunkMZ3TMXIXcjs.MultiLevelNavigation,
809
809
  {
810
810
  nodes: structure,
811
811
  selectedPath,
@@ -844,7 +844,7 @@ function DocViewerContent({
844
844
  showStickyNav && content && stickyNavSections.length > 0 && !isLoadingContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden content-lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-24", children: [
845
845
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
846
846
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
847
- _chunkSOTXV3T5cjs.StickySectionNav,
847
+ _chunkMZ3TMXIXcjs.StickySectionNav,
848
848
  {
849
849
  sections: stickyNavSections,
850
850
  activeSection,
@@ -859,7 +859,7 @@ function DocViewerContent({
859
859
  ) })
860
860
  ] })
861
861
  ] }) }) });
862
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
862
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQ2G7NVFHcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
863
863
  }
864
864
 
865
865
  // src/components/docs/skeletons.tsx
@@ -955,11 +955,11 @@ function EmbedSkeleton({ documentType } = {}) {
955
955
 
956
956
  var DEFAULT_TITLE = "Documents";
957
957
  var defaultFallbackRenderer = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "py-16 text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "Unsupported document type" }) });
958
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZKL52ALLcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
959
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZKL52ALLcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
960
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRB5HVEVcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
958
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDXDLCYCMcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
959
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDXDLCYCMcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
960
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQ2G7NVFHcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
961
961
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
962
- _chunkZKL52ALLcjs.FileDownloadCard,
962
+ _chunkDXDLCYCMcjs.FileDownloadCard,
963
963
  {
964
964
  fileName: content.fileName,
965
965
  mimeType: content.mimeType,
@@ -5,7 +5,7 @@ var _chunkAL2GUHAJcjs = require('./chunk-AL2GUHAJ.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkJKWQWHNVcjs = require('./chunk-JKWQWHNV.cjs');
8
+ var _chunkIITB5TJRcjs = require('./chunk-IITB5TJR.cjs');
9
9
 
10
10
 
11
11
 
@@ -1614,7 +1614,7 @@ function EntityIcon({
1614
1614
  }
1615
1615
  );
1616
1616
  }
1617
- const Glyph = _chunkJKWQWHNVcjs.resolveIcon.call(void 0, _nullishCoalesce(_optionalChain([icon, 'optionalAccess', _107 => _107.name]), () => ( void 0)));
1617
+ const Glyph = _chunkIITB5TJRcjs.resolveIcon.call(void 0, _nullishCoalesce(_optionalChain([icon, 'optionalAccess', _107 => _107.name]), () => ( void 0)));
1618
1618
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Glyph, { size, className, ..._nullishCoalesce(_optionalChain([icon, 'optionalAccess', _108 => _108.props]), () => ( {})) });
1619
1619
  }
1620
1620
 
@@ -4726,7 +4726,7 @@ function RoadmapCard({
4726
4726
  ]
4727
4727
  }
4728
4728
  ) : null,
4729
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJKWQWHNVcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
4729
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIITB5TJRcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
4730
4730
  ] }),
4731
4731
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
4732
4732
  ] })
@@ -4813,7 +4813,7 @@ function RoadmapCard({
4813
4813
  )
4814
4814
  ] }),
4815
4815
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center gap-2", children: [
4816
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJKWQWHNVcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
4816
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIITB5TJRcjs.AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
4817
4817
  item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4818
4818
  _chunkHQIOMFJHcjs.Button,
4819
4819
  {
@@ -452,7 +452,10 @@ function brandLogoForName(name) {
452
452
  }
453
453
  function resolveIcon(iconName, opts) {
454
454
  if (_optionalChain([opts, 'optionalAccess', _ => _.variant]) === "brand") {
455
- return getIconComponent(iconName);
455
+ const brand = iconName ? ICON_REGISTRY[normalizeIconKey(iconName)] : void 0;
456
+ if (brand) return brand;
457
+ const design = iconName ? _nullishCoalesce(ICON_ALIASES[iconName], () => ( resolveFromLibrary(iconName))) : void 0;
458
+ return _nullishCoalesce(design, () => ( getIconComponent(iconName)));
456
459
  }
457
460
  if (!iconName) return _chunkVX4E6YSBcjs.FileIcon;
458
461
  return _nullishCoalesce(_nullishCoalesce(ICON_ALIASES[iconName], () => ( resolveFromLibrary(iconName))), () => ( _chunkVX4E6YSBcjs.FileIcon));
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AvatarStack,
4
4
  resolveIcon
5
- } from "./chunk-ZQKN2Z6W.js";
5
+ } from "./chunk-YQDKVGKO.js";
6
6
  import {
7
7
  Tag,
8
8
  VIEWER_TIMEZONE,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createSseSubscription,
4
4
  useChatIdentity
5
- } from "./chunk-S4SVKXHN.js";
5
+ } from "./chunk-SBPPM65Y.js";
6
6
  import {
7
7
  useChatRuntime
8
8
  } from "./chunk-E4ABZWTJ.js";
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkN4NGKXUUcjs = require('./chunk-N4NGKXUU.cjs');
4
+ var _chunkU6LRRG2Ecjs = require('./chunk-U6LRRG2E.cjs');
5
5
 
6
6
 
7
- var _chunkDGNGABNGcjs = require('./chunk-DGNGABNG.cjs');
7
+ var _chunkHEQ4GPYEcjs = require('./chunk-HEQ4GPYE.cjs');
8
8
 
9
9
 
10
10
 
@@ -66,7 +66,7 @@ function DetailPageSkeleton({
66
66
  ] });
67
67
  if (bare) return content;
68
68
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
69
- _chunkN4NGKXUUcjs.PageLayout,
69
+ _chunkU6LRRG2Ecjs.PageLayout,
70
70
  {
71
71
  showHeader: false,
72
72
  className: "mx-auto max-w-[1280px] bg-ods-bg px-6 py-6 content-md:px-20 content-md:py-10",
@@ -95,7 +95,7 @@ function ArticleAuthorByline({
95
95
  }) {
96
96
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
97
97
  if (!author) return null;
98
- const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunkDGNGABNGcjs.getProxiedImageUrl.call(void 0, avatar, {
98
+ const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunkHEQ4GPYEcjs.getProxiedImageUrl.call(void 0, avatar, {
99
99
  proxyPrefix: _optionalChain([runtime, 'optionalAccess', _2 => _2.endpoints, 'access', _3 => _3.imageProxyUrlPrefix]),
100
100
  skipDomains: _optionalChain([runtime, 'optionalAccess', _4 => _4.endpoints, 'access', _5 => _5.imageProxySkipDomains]),
101
101
  directHttps: true
@@ -37,7 +37,7 @@ var _chunkBYUIFT7Qcjs = require('./chunk-BYUIFT7Q.cjs');
37
37
 
38
38
 
39
39
 
40
- var _chunkDGNGABNGcjs = require('./chunk-DGNGABNG.cjs');
40
+ var _chunkHEQ4GPYEcjs = require('./chunk-HEQ4GPYE.cjs');
41
41
 
42
42
 
43
43
  var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
@@ -438,13 +438,13 @@ function cardEntry(definition) {
438
438
  }
439
439
  function programEntry(configKey) {
440
440
  return cardEntry({
441
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
441
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
442
442
  decode: decodeProgramRow,
443
443
  render: (item, ctx) => {
444
444
  const config = _optionalChain([ctx, 'access', _2 => _2.extras, 'optionalAccess', _3 => _3.programConfigs, 'optionalAccess', _4 => _4[configKey]]);
445
445
  if (!config) return null;
446
446
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
447
- _chunkDGNGABNGcjs.ProgramCard,
447
+ _chunkHEQ4GPYEcjs.ProgramCard,
448
448
  {
449
449
  config,
450
450
  item,
@@ -461,10 +461,10 @@ function programEntry(configKey) {
461
461
  }
462
462
  function roadmapEntry(cardType) {
463
463
  return cardEntry({
464
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
464
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
465
465
  decode: decodeRoadmapRow,
466
466
  render: (item, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
467
- _chunkDGNGABNGcjs.RoadmapCard,
467
+ _chunkHEQ4GPYEcjs.RoadmapCard,
468
468
  {
469
469
  item,
470
470
  href: ctx.href,
@@ -481,10 +481,10 @@ function roadmapEntry(cardType) {
481
481
  }
482
482
  var RELATED_CARD_REGISTRY = {
483
483
  blog_post_existing: cardEntry({
484
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
484
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
485
485
  decode: decodeBlogRow,
486
486
  render: (post, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
487
- _chunkDGNGABNGcjs.BlogCard,
487
+ _chunkHEQ4GPYEcjs.BlogCard,
488
488
  {
489
489
  post,
490
490
  size: ctx.legacySize,
@@ -496,10 +496,10 @@ var RELATED_CARD_REGISTRY = {
496
496
  )
497
497
  }),
498
498
  case_study: cardEntry({
499
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
499
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
500
500
  decode: decodeCaseStudyRow,
501
501
  render: (study, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
502
- _chunkDGNGABNGcjs.CaseStudyCard,
502
+ _chunkHEQ4GPYEcjs.CaseStudyCard,
503
503
  {
504
504
  study,
505
505
  size: ctx.legacySize,
@@ -511,10 +511,10 @@ var RELATED_CARD_REGISTRY = {
511
511
  )
512
512
  }),
513
513
  customer_interview: cardEntry({
514
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
514
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
515
515
  decode: decodeCustomerInterviewRow,
516
516
  render: (interview, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
517
- _chunkDGNGABNGcjs.CustomerInterviewCard,
517
+ _chunkHEQ4GPYEcjs.CustomerInterviewCard,
518
518
  {
519
519
  interview,
520
520
  size: ctx.legacySize,
@@ -532,13 +532,13 @@ var RELATED_CARD_REGISTRY = {
532
532
  * record, and the three props the rail sets itself are read off it.
533
533
  */
534
534
  product_release: cardEntry({
535
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
535
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
536
536
  decode: asRecord,
537
537
  render: (release, ctx) => {
538
- const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunkDGNGABNGcjs.buildProductReleaseCardProps));
538
+ const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunkHEQ4GPYEcjs.buildProductReleaseCardProps));
539
539
  const releaseProps = buildReleaseProps(release);
540
540
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
541
- _chunkDGNGABNGcjs.ProductReleaseCard,
541
+ _chunkHEQ4GPYEcjs.ProductReleaseCard,
542
542
  {
543
543
  size: ctx.size === "sm" ? "sm" : "lg",
544
544
  title: str(release, "title"),
@@ -554,10 +554,10 @@ var RELATED_CARD_REGISTRY = {
554
554
  webinar: programEntry("webinar"),
555
555
  event: programEntry("event"),
556
556
  investor_update: cardEntry({
557
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
557
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
558
558
  decode: decodeInvestorUpdateRow,
559
559
  render: (update, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
560
- _chunkDGNGABNGcjs.InvestorUpdateCard,
560
+ _chunkHEQ4GPYEcjs.InvestorUpdateCard,
561
561
  {
562
562
  update,
563
563
  size: ctx.legacySize,
@@ -572,10 +572,10 @@ var RELATED_CARD_REGISTRY = {
572
572
  * step-numbered 'default' variant is for the guide detail page's "More in
573
573
  * section" rail, not this full-width row. */
574
574
  onboarding_guide: cardEntry({
575
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
575
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
576
576
  decode: decodeOnboardingGuideRow,
577
577
  render: (guide, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
578
- _chunkDGNGABNGcjs.OnboardingGuideCard,
578
+ _chunkHEQ4GPYEcjs.OnboardingGuideCard,
579
579
  {
580
580
  guide,
581
581
  size: ctx.size === "sm" ? "sm" : "catalog",
@@ -592,10 +592,10 @@ var RELATED_CARD_REGISTRY = {
592
592
  * href: an object with `href: undefined` is still truthy and would wrap the
593
593
  * card in a dead <a>. */
594
594
  what_i_shipped: cardEntry({
595
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.WhatIShippedCardSkeleton, {}),
595
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.WhatIShippedCardSkeleton, {}),
596
596
  decode: decodeEmployeeEntryRow,
597
597
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
598
- _chunkDGNGABNGcjs.WhatIShippedCard,
598
+ _chunkHEQ4GPYEcjs.WhatIShippedCard,
599
599
  {
600
600
  entry,
601
601
  placeholderUrl: ctx.placeholderUrl,
@@ -605,10 +605,10 @@ var RELATED_CARD_REGISTRY = {
605
605
  }),
606
606
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
607
607
  how_i_work: cardEntry({
608
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.HowIWorkCardSkeleton, {}),
608
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.HowIWorkCardSkeleton, {}),
609
609
  decode: decodeEmployeeEntryRow,
610
610
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
611
- _chunkDGNGABNGcjs.HowIWorkCard,
611
+ _chunkHEQ4GPYEcjs.HowIWorkCard,
612
612
  {
613
613
  entry,
614
614
  placeholderUrl: ctx.placeholderUrl,
@@ -618,10 +618,10 @@ var RELATED_CARD_REGISTRY = {
618
618
  }),
619
619
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
620
620
  ai_prompt: cardEntry({
621
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNGABNGcjs.AiPromptCardSkeleton, {}),
621
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHEQ4GPYEcjs.AiPromptCardSkeleton, {}),
622
622
  decode: decodeEmployeeEntryRow,
623
623
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
624
- _chunkDGNGABNGcjs.AiPromptCard,
624
+ _chunkHEQ4GPYEcjs.AiPromptCard,
625
625
  {
626
626
  entry,
627
627
  placeholderUrl: ctx.placeholderUrl,
@@ -642,7 +642,7 @@ function DefaultLinkPropsProvider({
642
642
  children
643
643
  }) {
644
644
  if (!href) return children(null);
645
- const newTab = _chunkDGNGABNGcjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
645
+ const newTab = _chunkHEQ4GPYEcjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
646
646
  return children(newTab ? { href, target: "_blank", rel: "noopener noreferrer" } : { href });
647
647
  }
648
648
  function defaultResolveHref(ref) {
@@ -700,9 +700,9 @@ function useGroupItems(type, refs, buildUrl) {
700
700
  const url = ids.length > 0 ? buildUrl(type, ids) : null;
701
701
  const [pages, setPages] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
702
702
  const cached = url !== null ? pages.get(url) : void 0;
703
- const { data, dataUrl, error } = _chunkDGNGABNGcjs.useSelfFetch.call(void 0, cached ? null : url);
703
+ const { data, dataUrl, error } = _chunkHEQ4GPYEcjs.useSelfFetch.call(void 0, cached ? null : url);
704
704
  if (data != null && dataUrl !== null && !pages.has(dataUrl)) {
705
- setPages(new Map(pages).set(dataUrl, _chunkDGNGABNGcjs.extractItems.call(void 0, data)));
705
+ setPages(new Map(pages).set(dataUrl, _chunkHEQ4GPYEcjs.extractItems.call(void 0, data)));
706
706
  }
707
707
  if (url === null) return { items: null, isLoading: false };
708
708
  return { items: _nullishCoalesce(cached, () => ( (error ? [] : null))), isLoading: !cached && !error };
@@ -711,7 +711,7 @@ function gridClassFor(columns) {
711
711
  return columns === 3 ? "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6" : "grid grid-cols-1 sm:grid-cols-2 gap-6";
712
712
  }
713
713
  function resolveGroupConfig(type) {
714
- return _nullishCoalesce(_chunkDGNGABNGcjs.CONTENT_REF_GROUPS[type], () => ( {
714
+ return _nullishCoalesce(_chunkHEQ4GPYEcjs.CONTENT_REF_GROUPS[type], () => ( {
715
715
  label: type,
716
716
  order: 999,
717
717
  layout: "grid",
@@ -754,7 +754,7 @@ function ContentGroup({
754
754
  }
755
755
  if (!items) return null;
756
756
  const rowKey = (it) => {
757
- const extracted = _chunkDGNGABNGcjs.extractItemId.call(void 0, type, it);
757
+ const extracted = _chunkHEQ4GPYEcjs.extractItemId.call(void 0, type, it);
758
758
  if (extracted !== null) return extracted;
759
759
  return String(typeof it === "object" && it !== null ? it.id : void 0);
760
760
  };
@@ -822,11 +822,11 @@ function RelatedContentSection({
822
822
  types: includeTypes !== void 0 ? includeTypes.join(",") : void 0,
823
823
  excludeTypes: excludeTypes && excludeTypes.length > 0 ? excludeTypes.join(",") : void 0
824
824
  };
825
- const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkDGNGABNGcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
825
+ const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkHEQ4GPYEcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
826
826
  apiBaseUrl,
827
827
  extraParams: { authorId, ...typeFilterParams }
828
828
  }) : null;
829
- const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkDGNGABNGcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
829
+ const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkHEQ4GPYEcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
830
830
  apiBaseUrl,
831
831
  entityType,
832
832
  entityId,
@@ -843,9 +843,9 @@ function RelatedContentSection({
843
843
  () => !suggestionsDisabled && initialItems ? { refs: initialItems } : void 0,
844
844
  [initialItems, suggestionsDisabled]
845
845
  );
846
- const { data, isLoading } = _chunkDGNGABNGcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
846
+ const { data, isLoading } = _chunkHEQ4GPYEcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
847
847
  const effectiveBuildListUrl = _react.useMemo.call(void 0,
848
- () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunkDGNGABNGcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
848
+ () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunkHEQ4GPYEcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
849
849
  [buildListUrl2, apiBaseUrl]
850
850
  );
851
851
  const refs = _nullishCoalesce(_nullishCoalesce(contentRefs, () => ( _optionalChain([data, 'optionalAccess', _10 => _10.refs]))), () => ( []));
@@ -856,12 +856,12 @@ function RelatedContentSection({
856
856
  if (isLoading) {
857
857
  const skeletonType = _nullishCoalesce(_nullishCoalesce(_optionalChain([includeTypes, 'optionalAccess', _11 => _11[0]]), () => ( entityType)), () => ( "blog_post_existing"));
858
858
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
859
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkDGNGABNGcjs.accentSentenceMarks.call(void 0, title) }),
859
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkHEQ4GPYEcjs.accentSentenceMarks.call(void 0, title) }),
860
860
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: gridClassFor(columns), children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: renderSkeletonForType(skeletonType, "default", adminCampaignCard) }, i)) })
861
861
  ] });
862
862
  }
863
863
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
864
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunkDGNGABNGcjs.accentSentenceMarks.call(void 0, title) }),
864
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunkHEQ4GPYEcjs.accentSentenceMarks.call(void 0, title) }),
865
865
  _nullishCoalesce(emptyState, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyStateText })))
866
866
  ] });
867
867
  }
@@ -870,16 +870,16 @@ function RelatedContentSection({
870
870
  if (!grouped[ref.type]) grouped[ref.type] = [];
871
871
  grouped[ref.type].push(ref);
872
872
  }
873
- let orderedTypes = _chunkDGNGABNGcjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
873
+ let orderedTypes = _chunkHEQ4GPYEcjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
874
874
  if (entityType) {
875
- const canonicalEntityType = _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, entityType);
876
- const sameType = orderedTypes.filter((t) => _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
875
+ const canonicalEntityType = _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, entityType);
876
+ const sameType = orderedTypes.filter((t) => _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
877
877
  if (sameType.length > 0) {
878
- orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunkDGNGABNGcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
878
+ orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunkHEQ4GPYEcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
879
879
  }
880
880
  }
881
881
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
882
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkDGNGABNGcjs.accentSentenceMarks.call(void 0, title) }),
882
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkHEQ4GPYEcjs.accentSentenceMarks.call(void 0, title) }),
883
883
  orderedTypes.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
884
884
  ContentGroup,
885
885
  {
@@ -891,7 +891,7 @@ function RelatedContentSection({
891
891
  LinkProvider,
892
892
  extras,
893
893
  adminCampaignCard,
894
- heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkDGNGABNGcjs.getContentRefLabelOrTitleCase.call(void 0, type) })
894
+ heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkHEQ4GPYEcjs.getContentRefLabelOrTitleCase.call(void 0, type) })
895
895
  },
896
896
  type
897
897
  ))