@flamingo-stack/openframe-frontend-core 0.0.761 → 0.0.763

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 (91) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-7Z4EQOIX.cjs → chunk-22XAPV6N.cjs} +35 -35
  3. package/dist/{chunk-AXBVN5SW.cjs → chunk-2IFCRPNP.cjs} +38 -38
  4. package/dist/{chunk-TIV74DVS.cjs → chunk-3JUIDOHB.cjs} +43 -43
  5. package/dist/{chunk-CSJO7ZGN.cjs → chunk-3RYIF4OW.cjs} +3 -3
  6. package/dist/{chunk-35BJY5RR.cjs → chunk-47GZ33ND.cjs} +44 -44
  7. package/dist/{chunk-HQYWVNQL.cjs → chunk-4NGXJA3V.cjs} +4 -4
  8. package/dist/{chunk-GLQBCQOF.cjs → chunk-66FQUWKF.cjs} +59 -59
  9. package/dist/{chunk-LOM3S64Z.cjs → chunk-6XCE2VLH.cjs} +8 -8
  10. package/dist/{chunk-B7AOUPBV.cjs → chunk-AXGTRPF6.cjs} +20 -20
  11. package/dist/{chunk-6T6O36LT.cjs → chunk-CEJDHCFZ.cjs} +89 -89
  12. package/dist/{chunk-2ANICXS7.cjs → chunk-E4LA4BEH.cjs} +21 -21
  13. package/dist/{chunk-JHQNUWFM.cjs → chunk-EQZXJUYV.cjs} +3 -3
  14. package/dist/{chunk-LU7TD6QS.cjs → chunk-FQSXZC2K.cjs} +3 -3
  15. package/dist/{chunk-GKRHGVB4.cjs → chunk-G5NCY5IE.cjs} +100 -100
  16. package/dist/{chunk-QU5K52OP.cjs → chunk-GY2JESOC.cjs} +2 -2
  17. package/dist/{chunk-LOFDIDSD.cjs → chunk-GZKWF6NH.cjs} +9 -9
  18. package/dist/{chunk-NOFJH7MA.cjs → chunk-IJMPXTGV.cjs} +14 -14
  19. package/dist/{chunk-4EM7HIIM.cjs → chunk-IUIDZS6W.cjs} +574 -567
  20. package/dist/{chunk-VAZTFCVY.cjs → chunk-J4P47JHM.cjs} +20 -20
  21. package/dist/{chunk-G6IK3HC5.cjs → chunk-LUNXHJ53.cjs} +32 -32
  22. package/dist/{chunk-WBOHLXFC.cjs → chunk-LVKUMVUJ.cjs} +2 -2
  23. package/dist/{chunk-L2IQESTQ.cjs → chunk-M7YZGRAV.cjs} +2 -2
  24. package/dist/{chunk-R34JD6NP.cjs → chunk-MWLD6NXV.cjs} +3 -3
  25. package/dist/{chunk-W2RM764D.cjs → chunk-NET74KSQ.cjs} +5 -4
  26. package/dist/{chunk-B27XV2TC.cjs → chunk-NS64LMVE.cjs} +10 -10
  27. package/dist/{chunk-OBXZDUC3.cjs → chunk-O2VRIGDI.cjs} +83 -83
  28. package/dist/{chunk-QYLIHZKZ.cjs → chunk-OJJ4RL2T.cjs} +4 -4
  29. package/dist/{chunk-F64VMOIB.cjs → chunk-PE26VSWT.cjs} +19 -19
  30. package/dist/{chunk-D252ICCO.cjs → chunk-QCO32MEE.cjs} +17 -17
  31. package/dist/{chunk-KTPR66EE.cjs → chunk-R3TWQ3ZJ.cjs} +10 -0
  32. package/dist/{chunk-VUSXDMCE.cjs → chunk-RM6AHNM4.cjs} +7 -7
  33. package/dist/{chunk-T4BBZ5ST.cjs → chunk-RO72PRQI.cjs} +2 -2
  34. package/dist/{chunk-H45OTVYI.cjs → chunk-SU3EXXVC.cjs} +22 -22
  35. package/dist/{chunk-WI2OTGKC.cjs → chunk-SVP6DJFL.cjs} +2 -2
  36. package/dist/{chunk-SUHPBFNU.cjs → chunk-TQPQKBBL.cjs} +242 -240
  37. package/dist/{chunk-5E6JHOGX.cjs → chunk-TSJUL6IH.cjs} +3 -3
  38. package/dist/{chunk-EMSOBT6R.cjs → chunk-UUBHKQOH.cjs} +6 -6
  39. package/dist/{chunk-VUWPLQBY.cjs → chunk-XCH7SPGI.cjs} +44 -44
  40. package/dist/{chunk-6M54EVOA.cjs → chunk-ZUF5WDGE.cjs} +28 -28
  41. package/dist/{cloud-tenants-BDGV4N2T.cjs → cloud-tenants-4AGSRBJ2.cjs} +22 -22
  42. package/dist/components/case-studies/index.cjs +36 -36
  43. package/dist/components/chat/index.cjs +15 -15
  44. package/dist/components/contact/index.cjs +23 -23
  45. package/dist/components/docs/index.cjs +26 -26
  46. package/dist/components/embeds/index.cjs +23 -23
  47. package/dist/components/faq/index.cjs +24 -24
  48. package/dist/components/features/index.cjs +24 -22
  49. package/dist/components/features/walkthrough-video.d.ts +7 -0
  50. package/dist/components/features/walkthrough-video.d.ts.map +1 -1
  51. package/dist/components/features/walkthrough-video.js +9 -1
  52. package/dist/components/help-center-pages/index.cjs +125 -125
  53. package/dist/components/index.cjs +85 -83
  54. package/dist/components/meeting-scheduler/index.cjs +77 -77
  55. package/dist/components/navigation/index.cjs +25 -25
  56. package/dist/components/onboarding-guides/index.cjs +25 -25
  57. package/dist/components/product-demo/index.cjs +9 -9
  58. package/dist/components/related-content/index.cjs +10 -10
  59. package/dist/components/tickets/index.cjs +28 -28
  60. package/dist/components/ui/index.cjs +22 -22
  61. package/dist/{devices-Q5YHMXGV.cjs → devices-FKRZIBJP.cjs} +23 -23
  62. package/dist/{embeddable-chat-ST5IR6VN.cjs → embeddable-chat-HWQSP3DY.cjs} +93 -93
  63. package/dist/hooks/index.cjs +8 -8
  64. package/dist/index.cjs +30 -28
  65. package/dist/{knowledge-UJTJT36J.cjs → knowledge-25CBYZ7E.cjs} +23 -23
  66. package/dist/{logs-WMNITBLM.cjs → logs-HQ7NDBVV.cjs} +30 -30
  67. package/dist/platform-domains.cjs +2 -0
  68. package/dist/platform-domains.d.ts.map +1 -1
  69. package/dist/platform-domains.js +2 -0
  70. package/dist/{policies-TRXVBOH7.cjs → policies-2RV2CQD3.cjs} +26 -26
  71. package/dist/{remote-session-SKNXYG6K.cjs → remote-session-F72S6I7J.cjs} +9 -9
  72. package/dist/{scripts-HECY7XDL.cjs → scripts-32EM4WDI.cjs} +29 -29
  73. package/dist/{software-update-NNFLEMYD.cjs → software-update-WVIARIUG.cjs} +26 -26
  74. package/dist/{tickets-board-B2FH7Z4B.cjs → tickets-board-4PBXPSGJ.cjs} +12 -12
  75. package/dist/types/platform.d.ts +1 -1
  76. package/dist/types/platform.d.ts.map +1 -1
  77. package/dist/utils/index.cjs +13 -0
  78. package/dist/utils/platform-config.d.ts.map +1 -1
  79. package/dist/utils/platform-config.js +1 -0
  80. package/dist/utils/platform-identity.cjs +10 -0
  81. package/dist/utils/platform-identity.d.ts +3 -2
  82. package/dist/utils/platform-identity.d.ts.map +1 -1
  83. package/dist/utils/platform-identity.js +10 -0
  84. package/package.json +1 -1
  85. package/src/components/features/walkthrough-video.tsx +17 -0
  86. package/src/platform-domains.ts +2 -0
  87. package/src/styles/README.md +1 -0
  88. package/src/styles/ods-colors.css +16 -0
  89. package/src/types/platform.ts +1 -0
  90. package/src/utils/platform-config.tsx +1 -0
  91. package/src/utils/platform-identity.ts +19 -2
@@ -3,17 +3,17 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkLOM3S64Zcjs = require('./chunk-LOM3S64Z.cjs');
6
+ var _chunk6XCE2VLHcjs = require('./chunk-6XCE2VLH.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkD252ICCOcjs = require('./chunk-D252ICCO.cjs');
12
+ var _chunkQCO32MEEcjs = require('./chunk-QCO32MEE.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkNOFJH7MAcjs = require('./chunk-NOFJH7MA.cjs');
16
+ var _chunkIJMPXTGVcjs = require('./chunk-IJMPXTGV.cjs');
17
17
 
18
18
 
19
19
 
@@ -21,21 +21,21 @@ var _chunkNOFJH7MAcjs = require('./chunk-NOFJH7MA.cjs');
21
21
 
22
22
 
23
23
 
24
- var _chunk4EM7HIIMcjs = require('./chunk-4EM7HIIM.cjs');
24
+ var _chunkIUIDZS6Wcjs = require('./chunk-IUIDZS6W.cjs');
25
25
 
26
26
 
27
- var _chunkAXBVN5SWcjs = require('./chunk-AXBVN5SW.cjs');
27
+ var _chunk2IFCRPNPcjs = require('./chunk-2IFCRPNP.cjs');
28
28
 
29
29
 
30
30
 
31
31
 
32
32
 
33
- var _chunk6T6O36LTcjs = require('./chunk-6T6O36LT.cjs');
33
+ var _chunkCEJDHCFZcjs = require('./chunk-CEJDHCFZ.cjs');
34
34
 
35
35
 
36
36
 
37
37
 
38
- var _chunkCSJO7ZGNcjs = require('./chunk-CSJO7ZGN.cjs');
38
+ var _chunk3RYIF4OWcjs = require('./chunk-3RYIF4OW.cjs');
39
39
 
40
40
 
41
41
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
@@ -245,9 +245,9 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
245
245
  function scrollToContent() {
246
246
  const article = document.querySelector("article");
247
247
  if (article) {
248
- _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
248
+ _chunk3RYIF4OWcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunk3RYIF4OWcjs.HUB_HEADER_OFFSET_PX });
249
249
  } else {
250
- _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, document.documentElement);
250
+ _chunk3RYIF4OWcjs.scrollElementIntoView.call(void 0, document.documentElement);
251
251
  }
252
252
  }
253
253
  function findFirstDocPath(folder) {
@@ -348,13 +348,13 @@ function toDocContent(value, requestedPath) {
348
348
  function toDataSync(value) {
349
349
  if (!isRecord(value)) return void 0;
350
350
  const source = readString(value, "source");
351
- if (!_chunk4EM7HIIMcjs.isDataSyncSource.call(void 0, source)) return void 0;
351
+ if (!_chunkIUIDZS6Wcjs.isDataSyncSource.call(void 0, source)) return void 0;
352
352
  return { source, syncedAt: _nullishCoalesce(readString(value, "syncedAt"), () => ( null)) };
353
353
  }
354
354
  function useDocumentTree(config, initialPath) {
355
355
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
356
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk6T6O36LTcjs.DEFAULT_FOLDER_INDEX_FILE));
357
- const cleanInitialPath = _chunk6T6O36LTcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
356
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkCEJDHCFZcjs.DEFAULT_FOLDER_INDEX_FILE));
357
+ const cleanInitialPath = _chunkCEJDHCFZcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
358
358
  const [structure, setStructure] = _react.useState.call(void 0, []);
359
359
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
360
360
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -378,12 +378,12 @@ function useDocumentTree(config, initialPath) {
378
378
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
379
379
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
380
380
  }
381
- pathFromUrl = _chunk6T6O36LTcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
381
+ pathFromUrl = _chunkCEJDHCFZcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
382
382
  if (pathFromUrl !== selectedPathRef.current) {
383
383
  setSelectedPath(pathFromUrl);
384
384
  if (pathFromUrl) {
385
385
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
386
- setExpandedNodes(new Set(_chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
386
+ setExpandedNodes(new Set(_chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
387
387
  }
388
388
  setTimeout(() => {
389
389
  scrollToContent();
@@ -401,7 +401,7 @@ function useDocumentTree(config, initialPath) {
401
401
  setSelectedPath(cleanInitialPath);
402
402
  if (cleanInitialPath) {
403
403
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
404
- setExpandedNodes(new Set(_chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
404
+ setExpandedNodes(new Set(_chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
405
405
  }
406
406
  setExternalNavCount((n) => n + 1);
407
407
  }
@@ -426,7 +426,7 @@ function useDocumentTree(config, initialPath) {
426
426
  if (cleanInitialPath) {
427
427
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
428
428
  if (pathForExpansion) {
429
- setExpandedNodes(new Set(_chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
429
+ setExpandedNodes(new Set(_chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
430
430
  }
431
431
  } else if (nodes.length > 0) {
432
432
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -466,7 +466,7 @@ function useDocumentTree(config, initialPath) {
466
466
  setContent(null);
467
467
  return;
468
468
  }
469
- const probe = _chunk6T6O36LTcjs.findDocNodeByPath.call(void 0, _chunk6T6O36LTcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
469
+ const probe = _chunkCEJDHCFZcjs.findDocNodeByPath.call(void 0, _chunkCEJDHCFZcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
470
470
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
471
471
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
472
472
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -523,7 +523,7 @@ function useDocumentTree(config, initialPath) {
523
523
  if (selectedPath === "") {
524
524
  pathToFetch = folderIndexFile;
525
525
  } else {
526
- const node = _chunk6T6O36LTcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
526
+ const node = _chunkCEJDHCFZcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
527
527
  if (node && node.type === "folder" && !node.hasReadme) {
528
528
  const firstDocPath = findFirstDocPath(node);
529
529
  if (!firstDocPath) {
@@ -564,16 +564,16 @@ function useDocumentTree(config, initialPath) {
564
564
  if (node.type === "folder") {
565
565
  setExpandedNodes((prev) => {
566
566
  if (prev.has(node.id)) {
567
- const ancestorIds = _chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, node.path);
567
+ const ancestorIds = _chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, node.path);
568
568
  ancestorIds.pop();
569
569
  return new Set(ancestorIds);
570
570
  }
571
- return new Set(_chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, node.path));
571
+ return new Set(_chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, node.path));
572
572
  });
573
573
  } else {
574
574
  const lastSlash = node.path.lastIndexOf("/");
575
575
  if (lastSlash > 0) {
576
- setExpandedNodes(new Set(_chunk6T6O36LTcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
576
+ setExpandedNodes(new Set(_chunkCEJDHCFZcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
577
577
  }
578
578
  }
579
579
  lastFetchedPath.current = null;
@@ -588,9 +588,9 @@ function useDocumentTree(config, initialPath) {
588
588
  const hashIndex = path.indexOf("#");
589
589
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
590
590
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
591
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk6T6O36LTcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
591
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkCEJDHCFZcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
592
592
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
593
- _chunkCSJO7ZGNcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
593
+ _chunk3RYIF4OWcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunk3RYIF4OWcjs.HUB_HEADER_OFFSET_PX });
594
594
  return;
595
595
  }
596
596
  const scrollAfterNav = () => {
@@ -598,7 +598,7 @@ function useDocumentTree(config, initialPath) {
598
598
  setTimeout(() => {
599
599
  const el = document.getElementById(anchor.substring(1));
600
600
  if (el) {
601
- _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
601
+ _chunk3RYIF4OWcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunk3RYIF4OWcjs.HUB_HEADER_OFFSET_PX });
602
602
  } else {
603
603
  scrollToContent();
604
604
  }
@@ -652,15 +652,15 @@ function useDocumentTree(config, initialPath) {
652
652
  return docNavigation.register({
653
653
  baseRoute: normalizedBaseRoute,
654
654
  findNodeByPath: (path) => {
655
- const clean = _chunk6T6O36LTcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
656
- return _nullishCoalesce(_chunk6T6O36LTcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
655
+ const clean = _chunkCEJDHCFZcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
656
+ return _nullishCoalesce(_chunkCEJDHCFZcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
657
657
  },
658
658
  selectNode
659
659
  });
660
660
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
661
661
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
662
662
  if (!selectedPath || structure.length === 0) return false;
663
- const node = _chunk6T6O36LTcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
663
+ const node = _chunkCEJDHCFZcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
664
664
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
665
665
  }, [selectedPath, structure]);
666
666
  return {
@@ -741,14 +741,14 @@ function DocViewerContent({
741
741
  },
742
742
  docPath
743
743
  );
744
- const { activeSection, handleSectionClick } = _chunkD252ICCOcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
744
+ const { activeSection, handleSectionClick } = _chunkQCO32MEEcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
745
745
  const docNav = useDocNavigation();
746
746
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
747
747
  const backCfg = backButton === false ? null : {
748
748
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
749
749
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
750
750
  };
751
- const docSearch = _chunkNOFJH7MAcjs.useDocSearch.call(void 0, {
751
+ const docSearch = _chunkIJMPXTGVcjs.useDocSearch.call(void 0, {
752
752
  source: chatSource,
753
753
  baseRoute,
754
754
  searchEndpoint,
@@ -772,7 +772,7 @@ function DocViewerContent({
772
772
  onResolveLink: resolveLink
773
773
  });
774
774
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
775
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk6T6O36LTcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
775
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkCEJDHCFZcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
776
776
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
777
777
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
778
778
  const showStickyNav = isMarkdownContent;
@@ -783,10 +783,10 @@ function DocViewerContent({
783
783
  const containerBgStyle = colorPalette.containerBackground !== "transparent" ? { backgroundColor: colorPalette.containerBackground } : {};
784
784
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
785
785
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
786
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAXBVN5SWcjs.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: [
787
- synced && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EM7HIIMcjs.DataSyncLine, { sync: _optionalChain([content, 'optionalAccess', _19 => _19.sync]), loading: isLoadingContent && !content }),
786
+ const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2IFCRPNPcjs.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: [
787
+ synced && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIUIDZS6Wcjs.DataSyncLine, { sync: _optionalChain([content, 'optionalAccess', _19 => _19.sync]), loading: isLoadingContent && !content }),
788
788
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
789
- _chunkNOFJH7MAcjs.DocSearchBar,
789
+ _chunkIJMPXTGVcjs.DocSearchBar,
790
790
  {
791
791
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _20 => _20.toLowerCase, 'call', _21 => _21()]) || "documents"}...`,
792
792
  query: docSearch.query,
@@ -805,9 +805,9 @@ function DocViewerContent({
805
805
  ] })
806
806
  ] }) }),
807
807
  !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: [
808
- /* @__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, _chunk4EM7HIIMcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
808
+ /* @__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, _chunkIUIDZS6Wcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
809
809
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
810
- _chunkD252ICCOcjs.MobileNavigationDropdown,
810
+ _chunkQCO32MEEcjs.MobileNavigationDropdown,
811
811
  {
812
812
  nodes: structure,
813
813
  selectedPath,
@@ -821,7 +821,7 @@ function DocViewerContent({
821
821
  /* @__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: [
822
822
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
823
823
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
824
- _chunkD252ICCOcjs.MultiLevelNavigation,
824
+ _chunkQCO32MEEcjs.MultiLevelNavigation,
825
825
  {
826
826
  nodes: structure,
827
827
  selectedPath,
@@ -860,7 +860,7 @@ function DocViewerContent({
860
860
  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: [
861
861
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
862
862
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
863
- _chunkD252ICCOcjs.StickySectionNav,
863
+ _chunkQCO32MEEcjs.StickySectionNav,
864
864
  {
865
865
  sections: stickyNavSections,
866
866
  activeSection,
@@ -875,7 +875,7 @@ function DocViewerContent({
875
875
  ) })
876
876
  ] })
877
877
  ] }) }) });
878
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EM7HIIMcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
878
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIUIDZS6Wcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
879
879
  }
880
880
 
881
881
  // src/components/docs/skeletons.tsx
@@ -961,7 +961,7 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
961
961
  ] }),
962
962
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center gap-2 content-sm:w-auto", children: Array.from({ length: buttonCount }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-10 w-full flex-1 rounded content-sm:w-32 content-sm:flex-initial" }, i)) })
963
963
  ] }),
964
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EM7HIIMcjs.EmbedLoadingSkeleton, { region: false })
964
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIUIDZS6Wcjs.EmbedLoadingSkeleton, { region: false })
965
965
  ] });
966
966
  }
967
967
 
@@ -969,11 +969,11 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
969
969
 
970
970
  var DEFAULT_TITLE = "Documents";
971
971
  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" }) });
972
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOM3S64Zcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
973
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLOM3S64Zcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
974
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EM7HIIMcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
972
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6XCE2VLHcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
973
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6XCE2VLHcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
974
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIUIDZS6Wcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
975
975
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
976
- _chunkLOM3S64Zcjs.FileDownloadCard,
976
+ _chunk6XCE2VLHcjs.FileDownloadCard,
977
977
  {
978
978
  fileName: content.fileName,
979
979
  mimeType: content.mimeType,
@@ -1,7 +1,7 @@
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 _chunkKTPR66EEcjs = require('./chunk-KTPR66EE.cjs');
4
+ var _chunkR3TWQ3ZJcjs = require('./chunk-R3TWQ3ZJ.cjs');
5
5
 
6
6
  // src/hooks/ui/use-debounce.ts
7
7
  var _react = require('react');
@@ -131,10 +131,10 @@ function useSuppressCloneFocus(active) {
131
131
  // src/hooks/ui/use-prefers-reduced-motion.ts
132
132
  var PREFERS_REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
133
133
  function usePrefersReducedMotion() {
134
- return _chunkKTPR66EEcjs.useMediaQuery.call(void 0, PREFERS_REDUCED_MOTION_QUERY) === true;
134
+ return _chunkR3TWQ3ZJcjs.useMediaQuery.call(void 0, PREFERS_REDUCED_MOTION_QUERY) === true;
135
135
  }
136
136
  function usePrefersReducedMotionState() {
137
- return _chunkKTPR66EEcjs.useMediaQuery.call(void 0, PREFERS_REDUCED_MOTION_QUERY);
137
+ return _chunkR3TWQ3ZJcjs.useMediaQuery.call(void 0, PREFERS_REDUCED_MOTION_QUERY);
138
138
  }
139
139
 
140
140
  // src/hooks/ui/use-in-view.ts
@@ -1,7 +1,7 @@
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 _chunkT4BBZ5STcjs = require('./chunk-T4BBZ5ST.cjs');
4
+ var _chunkRO72PRQIcjs = require('./chunk-RO72PRQI.cjs');
5
5
 
6
6
 
7
7
 
@@ -14,7 +14,7 @@ var _chunkT4BBZ5STcjs = require('./chunk-T4BBZ5ST.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkB27XV2TCcjs = require('./chunk-B27XV2TC.cjs');
17
+ var _chunkNS64LMVEcjs = require('./chunk-NS64LMVE.cjs');
18
18
 
19
19
 
20
20
 
@@ -39,7 +39,7 @@ var _chunkB27XV2TCcjs = require('./chunk-B27XV2TC.cjs');
39
39
 
40
40
 
41
41
 
42
- var _chunk7Z4EQOIXcjs = require('./chunk-7Z4EQOIX.cjs');
42
+ var _chunk22XAPV6Ncjs = require('./chunk-22XAPV6N.cjs');
43
43
 
44
44
 
45
45
  var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
@@ -443,13 +443,13 @@ function cardEntry(definition) {
443
443
  }
444
444
  function programEntry(configKey) {
445
445
  return cardEntry({
446
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
446
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
447
447
  decode: decodeProgramRow,
448
448
  render: (item, ctx) => {
449
449
  const config = _optionalChain([ctx, 'access', _2 => _2.extras, 'optionalAccess', _3 => _3.programConfigs, 'optionalAccess', _4 => _4[configKey]]);
450
450
  if (!config) return null;
451
451
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
452
- _chunk7Z4EQOIXcjs.ProgramCard,
452
+ _chunk22XAPV6Ncjs.ProgramCard,
453
453
  {
454
454
  config,
455
455
  item,
@@ -466,10 +466,10 @@ function programEntry(configKey) {
466
466
  }
467
467
  function roadmapEntry(cardType) {
468
468
  return cardEntry({
469
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
469
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
470
470
  decode: decodeRoadmapRow,
471
471
  render: (item, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
472
- _chunk7Z4EQOIXcjs.RoadmapCard,
472
+ _chunk22XAPV6Ncjs.RoadmapCard,
473
473
  {
474
474
  item,
475
475
  href: ctx.href,
@@ -486,10 +486,10 @@ function roadmapEntry(cardType) {
486
486
  }
487
487
  var RELATED_CARD_REGISTRY = {
488
488
  blog_post_existing: cardEntry({
489
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
489
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
490
490
  decode: decodeBlogRow,
491
491
  render: (post, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
492
- _chunk7Z4EQOIXcjs.BlogCard,
492
+ _chunk22XAPV6Ncjs.BlogCard,
493
493
  {
494
494
  post,
495
495
  size: ctx.legacySize,
@@ -501,10 +501,10 @@ var RELATED_CARD_REGISTRY = {
501
501
  )
502
502
  }),
503
503
  case_study: cardEntry({
504
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
504
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
505
505
  decode: decodeCaseStudyRow,
506
506
  render: (study, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
507
- _chunk7Z4EQOIXcjs.CaseStudyCard,
507
+ _chunk22XAPV6Ncjs.CaseStudyCard,
508
508
  {
509
509
  study,
510
510
  size: ctx.legacySize,
@@ -516,10 +516,10 @@ var RELATED_CARD_REGISTRY = {
516
516
  )
517
517
  }),
518
518
  customer_interview: cardEntry({
519
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
519
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
520
520
  decode: decodeCustomerInterviewRow,
521
521
  render: (interview, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
522
- _chunk7Z4EQOIXcjs.CustomerInterviewCard,
522
+ _chunk22XAPV6Ncjs.CustomerInterviewCard,
523
523
  {
524
524
  interview,
525
525
  size: ctx.legacySize,
@@ -537,13 +537,13 @@ var RELATED_CARD_REGISTRY = {
537
537
  * record, and the three props the rail sets itself are read off it.
538
538
  */
539
539
  product_release: cardEntry({
540
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
540
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
541
541
  decode: asRecord,
542
542
  render: (release, ctx) => {
543
- const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunk7Z4EQOIXcjs.buildProductReleaseCardProps));
543
+ const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunk22XAPV6Ncjs.buildProductReleaseCardProps));
544
544
  const releaseProps = buildReleaseProps(release);
545
545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
546
- _chunk7Z4EQOIXcjs.ProductReleaseCard,
546
+ _chunk22XAPV6Ncjs.ProductReleaseCard,
547
547
  {
548
548
  size: ctx.size === "sm" ? "sm" : "lg",
549
549
  title: str(release, "title"),
@@ -559,10 +559,10 @@ var RELATED_CARD_REGISTRY = {
559
559
  webinar: programEntry("webinar"),
560
560
  event: programEntry("event"),
561
561
  investor_update: cardEntry({
562
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
562
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
563
563
  decode: decodeInvestorUpdateRow,
564
564
  render: (update, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
565
- _chunk7Z4EQOIXcjs.InvestorUpdateCard,
565
+ _chunk22XAPV6Ncjs.InvestorUpdateCard,
566
566
  {
567
567
  update,
568
568
  size: ctx.legacySize,
@@ -577,10 +577,10 @@ var RELATED_CARD_REGISTRY = {
577
577
  * step-numbered 'default' variant is for the guide detail page's "More in
578
578
  * section" rail, not this full-width row. */
579
579
  onboarding_guide: cardEntry({
580
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
580
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
581
581
  decode: decodeOnboardingGuideRow,
582
582
  render: (guide, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
583
- _chunk7Z4EQOIXcjs.OnboardingGuideCard,
583
+ _chunk22XAPV6Ncjs.OnboardingGuideCard,
584
584
  {
585
585
  guide,
586
586
  size: ctx.size === "sm" ? "sm" : "catalog",
@@ -597,10 +597,10 @@ var RELATED_CARD_REGISTRY = {
597
597
  * href: an object with `href: undefined` is still truthy and would wrap the
598
598
  * card in a dead <a>. */
599
599
  what_i_shipped: cardEntry({
600
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27XV2TCcjs.WhatIShippedCardSkeleton, {}),
600
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNS64LMVEcjs.WhatIShippedCardSkeleton, {}),
601
601
  decode: decodeEmployeeEntryRow,
602
602
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
603
- _chunkB27XV2TCcjs.WhatIShippedCard,
603
+ _chunkNS64LMVEcjs.WhatIShippedCard,
604
604
  {
605
605
  entry,
606
606
  placeholderUrl: ctx.placeholderUrl,
@@ -610,10 +610,10 @@ var RELATED_CARD_REGISTRY = {
610
610
  }),
611
611
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
612
612
  how_i_work: cardEntry({
613
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27XV2TCcjs.HowIWorkCardSkeleton, {}),
613
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNS64LMVEcjs.HowIWorkCardSkeleton, {}),
614
614
  decode: decodeEmployeeEntryRow,
615
615
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
616
- _chunkB27XV2TCcjs.HowIWorkCard,
616
+ _chunkNS64LMVEcjs.HowIWorkCard,
617
617
  {
618
618
  entry,
619
619
  placeholderUrl: ctx.placeholderUrl,
@@ -623,10 +623,10 @@ var RELATED_CARD_REGISTRY = {
623
623
  }),
624
624
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
625
625
  ai_prompt: cardEntry({
626
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB27XV2TCcjs.AiPromptCardSkeleton, {}),
626
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNS64LMVEcjs.AiPromptCardSkeleton, {}),
627
627
  decode: decodeEmployeeEntryRow,
628
628
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
629
- _chunkB27XV2TCcjs.AiPromptCard,
629
+ _chunkNS64LMVEcjs.AiPromptCard,
630
630
  {
631
631
  entry,
632
632
  placeholderUrl: ctx.placeholderUrl,
@@ -647,7 +647,7 @@ function DefaultLinkPropsProvider({
647
647
  children
648
648
  }) {
649
649
  if (!href) return children(null);
650
- const newTab = _chunk7Z4EQOIXcjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
650
+ const newTab = _chunk22XAPV6Ncjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
651
651
  return children(newTab ? { href, target: "_blank", rel: "noopener noreferrer" } : { href });
652
652
  }
653
653
  function defaultResolveHref(ref) {
@@ -705,9 +705,9 @@ function useGroupItems(type, refs, buildUrl) {
705
705
  const url = ids.length > 0 ? buildUrl(type, ids) : null;
706
706
  const [pages, setPages] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
707
707
  const cached = url !== null ? pages.get(url) : void 0;
708
- const { data, dataUrl, error } = _chunkB27XV2TCcjs.useSelfFetch.call(void 0, cached ? null : url);
708
+ const { data, dataUrl, error } = _chunkNS64LMVEcjs.useSelfFetch.call(void 0, cached ? null : url);
709
709
  if (data != null && dataUrl !== null && !pages.has(dataUrl)) {
710
- setPages(new Map(pages).set(dataUrl, _chunk7Z4EQOIXcjs.extractItems.call(void 0, data)));
710
+ setPages(new Map(pages).set(dataUrl, _chunk22XAPV6Ncjs.extractItems.call(void 0, data)));
711
711
  }
712
712
  if (url === null) return { items: null, isLoading: false };
713
713
  return { items: _nullishCoalesce(cached, () => ( (error ? [] : null))), isLoading: !cached && !error };
@@ -716,7 +716,7 @@ function gridClassFor(columns) {
716
716
  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";
717
717
  }
718
718
  function resolveGroupConfig(type) {
719
- return _nullishCoalesce(_chunkB27XV2TCcjs.CONTENT_REF_GROUPS[type], () => ( {
719
+ return _nullishCoalesce(_chunkNS64LMVEcjs.CONTENT_REF_GROUPS[type], () => ( {
720
720
  label: type,
721
721
  order: 999,
722
722
  layout: "grid",
@@ -748,7 +748,7 @@ function ContentGroup({
748
748
  const totalGroupPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, refs.length, GROUP_PAGE_SIZE);
749
749
  const pageRefs = refs.slice((page - 1) * GROUP_PAGE_SIZE, page * GROUP_PAGE_SIZE);
750
750
  const { items, isLoading } = useGroupItems(type, pageRefs, buildUrl);
751
- const groupPagination = totalGroupPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT4BBZ5STcjs.Pagination, { currentPage: page, totalPages: totalGroupPages, onPageChange: setPage }) : null;
751
+ const groupPagination = totalGroupPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRO72PRQIcjs.Pagination, { currentPage: page, totalPages: totalGroupPages, onPageChange: setPage }) : null;
752
752
  if (isLoading) {
753
753
  const skeletons = pageRefs.map((r) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: renderSkeletonForType(type, cardSize, adminCampaignCard) }, r.id));
754
754
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNO5UJLLQcjs.LoadingRegion, { label: "Loading related content", className: "space-y-4", children: [
@@ -759,7 +759,7 @@ function ContentGroup({
759
759
  }
760
760
  if (!items) return null;
761
761
  const rowKey = (it) => {
762
- const extracted = _chunk7Z4EQOIXcjs.extractItemId.call(void 0, type, it);
762
+ const extracted = _chunk22XAPV6Ncjs.extractItemId.call(void 0, type, it);
763
763
  if (extracted !== null) return extracted;
764
764
  return String(typeof it === "object" && it !== null ? it.id : void 0);
765
765
  };
@@ -827,11 +827,11 @@ function RelatedContentSection({
827
827
  types: includeTypes !== void 0 ? includeTypes.join(",") : void 0,
828
828
  excludeTypes: excludeTypes && excludeTypes.length > 0 ? excludeTypes.join(",") : void 0
829
829
  };
830
- const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkB27XV2TCcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
830
+ const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkNS64LMVEcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
831
831
  apiBaseUrl,
832
832
  extraParams: { authorId, ...typeFilterParams }
833
833
  }) : null;
834
- const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkB27XV2TCcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
834
+ const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkNS64LMVEcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
835
835
  apiBaseUrl,
836
836
  entityType,
837
837
  entityId,
@@ -848,9 +848,9 @@ function RelatedContentSection({
848
848
  () => !suggestionsDisabled && initialItems ? { refs: initialItems } : void 0,
849
849
  [initialItems, suggestionsDisabled]
850
850
  );
851
- const { data, isLoading } = _chunkB27XV2TCcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
851
+ const { data, isLoading } = _chunkNS64LMVEcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
852
852
  const effectiveBuildListUrl = _react.useMemo.call(void 0,
853
- () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunk7Z4EQOIXcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
853
+ () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunk22XAPV6Ncjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
854
854
  [buildListUrl2, apiBaseUrl]
855
855
  );
856
856
  const refs = _nullishCoalesce(_nullishCoalesce(contentRefs, () => ( _optionalChain([data, 'optionalAccess', _10 => _10.refs]))), () => ( []));
@@ -861,12 +861,12 @@ function RelatedContentSection({
861
861
  if (isLoading) {
862
862
  const skeletonType = _nullishCoalesce(_nullishCoalesce(_optionalChain([includeTypes, 'optionalAccess', _11 => _11[0]]), () => ( entityType)), () => ( "blog_post_existing"));
863
863
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkNO5UJLLQcjs.LoadingRegion, { label: "Loading related content", className: "space-y-8", children: [
864
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunk7Z4EQOIXcjs.accentSentenceMarks.call(void 0, title) }),
864
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunk22XAPV6Ncjs.accentSentenceMarks.call(void 0, title) }),
865
865
  /* @__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)) })
866
866
  ] });
867
867
  }
868
868
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
869
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunk7Z4EQOIXcjs.accentSentenceMarks.call(void 0, title) }),
869
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunk22XAPV6Ncjs.accentSentenceMarks.call(void 0, title) }),
870
870
  _nullishCoalesce(emptyState, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyStateText })))
871
871
  ] });
872
872
  }
@@ -875,16 +875,16 @@ function RelatedContentSection({
875
875
  if (!grouped[ref.type]) grouped[ref.type] = [];
876
876
  grouped[ref.type].push(ref);
877
877
  }
878
- let orderedTypes = _chunkB27XV2TCcjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
878
+ let orderedTypes = _chunkNS64LMVEcjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
879
879
  if (entityType) {
880
- const canonicalEntityType = _chunk7Z4EQOIXcjs.canonicalContentRefType.call(void 0, entityType);
881
- const sameType = orderedTypes.filter((t) => _chunk7Z4EQOIXcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
880
+ const canonicalEntityType = _chunk22XAPV6Ncjs.canonicalContentRefType.call(void 0, entityType);
881
+ const sameType = orderedTypes.filter((t) => _chunk22XAPV6Ncjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
882
882
  if (sameType.length > 0) {
883
- orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunk7Z4EQOIXcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
883
+ orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunk22XAPV6Ncjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
884
884
  }
885
885
  }
886
886
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
887
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunk7Z4EQOIXcjs.accentSentenceMarks.call(void 0, title) }),
887
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunk22XAPV6Ncjs.accentSentenceMarks.call(void 0, title) }),
888
888
  orderedTypes.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
889
889
  ContentGroup,
890
890
  {
@@ -896,7 +896,7 @@ function RelatedContentSection({
896
896
  LinkProvider,
897
897
  extras,
898
898
  adminCampaignCard,
899
- heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkB27XV2TCcjs.getContentRefLabelOrTitleCase.call(void 0, type) })
899
+ heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkNS64LMVEcjs.getContentRefLabelOrTitleCase.call(void 0, type) })
900
900
  },
901
901
  type
902
902
  ))