@flamingo-stack/openframe-frontend-core 0.0.303-snapshot.20260622160827 → 0.0.303

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 (116) hide show
  1. package/dist/{chunk-RNF2E736.cjs → chunk-3GYV6RP7.cjs} +10 -11
  2. package/dist/chunk-3GYV6RP7.cjs.map +1 -0
  3. package/dist/{chunk-BMNGBMSN.cjs → chunk-4JK3ZFMD.cjs} +26 -26
  4. package/dist/{chunk-BMNGBMSN.cjs.map → chunk-4JK3ZFMD.cjs.map} +1 -1
  5. package/dist/{chunk-A25ZI7HO.cjs → chunk-6D53QFBF.cjs} +12 -12
  6. package/dist/{chunk-A25ZI7HO.cjs.map → chunk-6D53QFBF.cjs.map} +1 -1
  7. package/dist/{chunk-INZOAK77.js → chunk-FG4XA6NA.js} +2 -2
  8. package/dist/{chunk-X5N6ANEO.js → chunk-JEHWEKWA.js} +3 -4
  9. package/dist/{chunk-X5N6ANEO.js.map → chunk-JEHWEKWA.js.map} +1 -1
  10. package/dist/{chunk-7KTSRZI4.cjs → chunk-KZGSVTRP.cjs} +543 -475
  11. package/dist/chunk-KZGSVTRP.cjs.map +1 -0
  12. package/dist/{chunk-UAJAJFI6.cjs → chunk-LTDGGKOW.cjs} +50 -44
  13. package/dist/chunk-LTDGGKOW.cjs.map +1 -0
  14. package/dist/{chunk-YV73VRRY.js → chunk-OFLTDHC2.js} +2 -2
  15. package/dist/{chunk-JO6EUJGU.js → chunk-OZSU6S6U.js} +27 -21
  16. package/dist/chunk-OZSU6S6U.js.map +1 -0
  17. package/dist/{chunk-2X4HTRQ4.js → chunk-R2NVJUOB.js} +22 -10
  18. package/dist/chunk-R2NVJUOB.js.map +1 -0
  19. package/dist/{chunk-Y2D2RJQX.js → chunk-SLRDPGGS.js} +2762 -2694
  20. package/dist/chunk-SLRDPGGS.js.map +1 -0
  21. package/dist/{chunk-O4TIFKDG.cjs → chunk-SYTHAQRP.cjs} +7 -7
  22. package/dist/{chunk-O4TIFKDG.cjs.map → chunk-SYTHAQRP.cjs.map} +1 -1
  23. package/dist/{chunk-45DC5AJC.js → chunk-UMYWG5C3.js} +2 -2
  24. package/dist/{chunk-MZRNARMO.cjs → chunk-UNWVMS3E.cjs} +37 -37
  25. package/dist/{chunk-MZRNARMO.cjs.map → chunk-UNWVMS3E.cjs.map} +1 -1
  26. package/dist/{chunk-DOYOOBP4.js → chunk-VAH46QQO.js} +2 -2
  27. package/dist/{chunk-FVLEE7YZ.cjs → chunk-YKP7UXWT.cjs} +35 -23
  28. package/dist/chunk-YKP7UXWT.cjs.map +1 -0
  29. package/dist/{chunk-Z7322A4A.cjs → chunk-ZCXABON3.cjs} +5 -5
  30. package/dist/{chunk-Z7322A4A.cjs.map → chunk-ZCXABON3.cjs.map} +1 -1
  31. package/dist/{chunk-ZXIM2DJM.js → chunk-ZRSS67EY.js} +2 -2
  32. package/dist/components/case-studies/index.cjs +8 -8
  33. package/dist/components/case-studies/index.js +2 -2
  34. package/dist/components/chat/hooks/use-chat-identity.d.ts +1 -7
  35. package/dist/components/chat/hooks/use-chat-identity.d.ts.map +1 -1
  36. package/dist/components/chat/hooks/use-empty-state-config.d.ts.map +1 -1
  37. package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
  38. package/dist/components/chat/index.cjs +2 -2
  39. package/dist/components/chat/index.js +1 -1
  40. package/dist/components/contact/index.cjs +3 -3
  41. package/dist/components/contact/index.js +2 -2
  42. package/dist/components/docs/doc-viewer.d.ts +4 -3
  43. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/docs/use-docs-resolve-link.d.ts.map +1 -1
  47. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  48. package/dist/components/embeds/index.cjs +3 -3
  49. package/dist/components/embeds/index.js +2 -2
  50. package/dist/components/faq/index.cjs +3 -3
  51. package/dist/components/faq/index.js +2 -2
  52. package/dist/components/features/index.cjs +2 -2
  53. package/dist/components/features/index.js +1 -1
  54. package/dist/components/index.cjs +178 -172
  55. package/dist/components/index.cjs.map +1 -1
  56. package/dist/components/index.js +14 -8
  57. package/dist/components/index.js.map +1 -1
  58. package/dist/components/layout/page-header.d.ts +78 -0
  59. package/dist/components/layout/page-header.d.ts.map +1 -0
  60. package/dist/components/layout/page-layout.d.ts +10 -1
  61. package/dist/components/layout/page-layout.d.ts.map +1 -1
  62. package/dist/components/layout/page-with-header.d.ts +67 -0
  63. package/dist/components/layout/page-with-header.d.ts.map +1 -0
  64. package/dist/components/layout/title-block.d.ts +17 -1
  65. package/dist/components/layout/title-block.d.ts.map +1 -1
  66. package/dist/components/navigation/index.cjs +2 -2
  67. package/dist/components/navigation/index.js +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +23 -23
  69. package/dist/components/onboarding-guides/index.js +3 -3
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/shared/dev-section/dev-section-page.d.ts +9 -0
  73. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -1
  74. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -1
  75. package/dist/components/shared/dev-section/index.d.ts +1 -1
  76. package/dist/components/shared/dev-section/index.d.ts.map +1 -1
  77. package/dist/components/shared/doc-search/use-doc-search.d.ts.map +1 -1
  78. package/dist/components/tickets/index.cjs +60 -60
  79. package/dist/components/tickets/index.js +3 -3
  80. package/dist/components/ui/index.cjs +6 -2
  81. package/dist/components/ui/index.cjs.map +1 -1
  82. package/dist/components/ui/index.d.ts +1 -0
  83. package/dist/components/ui/index.d.ts.map +1 -1
  84. package/dist/components/ui/index.js +5 -1
  85. package/dist/index.cjs +6 -2
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.js +5 -1
  88. package/package.json +1 -1
  89. package/src/components/chat/embeddable-chat.tsx +3 -25
  90. package/src/components/chat/hooks/use-chat-identity.ts +2 -13
  91. package/src/components/chat/hooks/use-empty-state-config.ts +16 -30
  92. package/src/components/chat/hooks/use-slash-commands.ts +8 -24
  93. package/src/components/docs/doc-viewer.tsx +22 -25
  94. package/src/components/docs/use-docs-resolve-link.ts +1 -2
  95. package/src/components/docs/use-document-tree.ts +2 -3
  96. package/src/components/layout/page-header.tsx +182 -0
  97. package/src/components/layout/page-layout.tsx +14 -28
  98. package/src/components/layout/page-with-header.tsx +110 -0
  99. package/src/components/layout/title-block.tsx +40 -86
  100. package/src/components/shared/dev-section/dev-section-page.tsx +9 -1
  101. package/src/components/shared/dev-section/dev-section-view.tsx +14 -9
  102. package/src/components/shared/dev-section/index.ts +1 -1
  103. package/src/components/shared/doc-search/use-doc-search.ts +1 -2
  104. package/src/components/ui/index.ts +1 -0
  105. package/dist/chunk-2X4HTRQ4.js.map +0 -1
  106. package/dist/chunk-7KTSRZI4.cjs.map +0 -1
  107. package/dist/chunk-FVLEE7YZ.cjs.map +0 -1
  108. package/dist/chunk-JO6EUJGU.js.map +0 -1
  109. package/dist/chunk-RNF2E736.cjs.map +0 -1
  110. package/dist/chunk-UAJAJFI6.cjs.map +0 -1
  111. package/dist/chunk-Y2D2RJQX.js.map +0 -1
  112. /package/dist/{chunk-INZOAK77.js.map → chunk-FG4XA6NA.js.map} +0 -0
  113. /package/dist/{chunk-YV73VRRY.js.map → chunk-OFLTDHC2.js.map} +0 -0
  114. /package/dist/{chunk-45DC5AJC.js.map → chunk-UMYWG5C3.js.map} +0 -0
  115. /package/dist/{chunk-DOYOOBP4.js.map → chunk-VAH46QQO.js.map} +0 -0
  116. /package/dist/{chunk-ZXIM2DJM.js.map → chunk-ZRSS67EY.js.map} +0 -0
@@ -3,11 +3,11 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkO4TIFKDGcjs = require('./chunk-O4TIFKDG.cjs');
6
+ var _chunkSYTHAQRPcjs = require('./chunk-SYTHAQRP.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkRNF2E736cjs = require('./chunk-RNF2E736.cjs');
10
+ var _chunk3GYV6RP7cjs = require('./chunk-3GYV6RP7.cjs');
11
11
 
12
12
 
13
13
 
@@ -19,8 +19,8 @@ var _chunkRNF2E736cjs = require('./chunk-RNF2E736.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunk7KTSRZI4cjs = require('./chunk-7KTSRZI4.cjs');
23
22
 
23
+ var _chunkKZGSVTRPcjs = require('./chunk-KZGSVTRP.cjs');
24
24
 
25
25
 
26
26
 
@@ -1050,8 +1050,8 @@ function scrollToContent() {
1050
1050
  }
1051
1051
  function useDocumentTree(config, initialPath) {
1052
1052
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
1053
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk7KTSRZI4cjs.DEFAULT_FOLDER_INDEX_FILE));
1054
- const cleanInitialPath = _chunk7KTSRZI4cjs.stripFolderIndexFromPath.call(void 0,
1053
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkKZGSVTRPcjs.DEFAULT_FOLDER_INDEX_FILE));
1054
+ const cleanInitialPath = _chunkKZGSVTRPcjs.stripFolderIndexFromPath.call(void 0,
1055
1055
  _optionalChain([initialPath, 'optionalAccess', _2 => _2.replace, 'call', _3 => _3(/\/$/, "")]) || "",
1056
1056
  folderIndexFile
1057
1057
  );
@@ -1077,12 +1077,12 @@ function useDocumentTree(config, initialPath) {
1077
1077
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
1078
1078
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
1079
1079
  }
1080
- pathFromUrl = _chunk7KTSRZI4cjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
1080
+ pathFromUrl = _chunkKZGSVTRPcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
1081
1081
  if (pathFromUrl !== selectedPathRef.current) {
1082
1082
  setSelectedPath(pathFromUrl);
1083
1083
  if (pathFromUrl) {
1084
1084
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
1085
- setExpandedNodes(new Set(_chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1085
+ setExpandedNodes(new Set(_chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1086
1086
  }
1087
1087
  setTimeout(() => {
1088
1088
  scrollToContent();
@@ -1097,7 +1097,7 @@ function useDocumentTree(config, initialPath) {
1097
1097
  setSelectedPath(cleanInitialPath);
1098
1098
  if (cleanInitialPath) {
1099
1099
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
1100
- setExpandedNodes(new Set(_chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1100
+ setExpandedNodes(new Set(_chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1101
1101
  }
1102
1102
  setTimeout(scrollToContent, 150);
1103
1103
  }, [cleanInitialPath]);
@@ -1117,7 +1117,7 @@ function useDocumentTree(config, initialPath) {
1117
1117
  if (selectedPath === "") {
1118
1118
  pathToFetch = folderIndexFile;
1119
1119
  } else {
1120
- const node = _chunk7KTSRZI4cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
1120
+ const node = _chunkKZGSVTRPcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
1121
1121
  if (node && node.type === "folder" && !node.hasReadme) {
1122
1122
  return;
1123
1123
  }
@@ -1138,7 +1138,7 @@ function useDocumentTree(config, initialPath) {
1138
1138
  try {
1139
1139
  setIsLoadingStructure(true);
1140
1140
  setError(null);
1141
- const response = await _chunkG56GYN7Zcjs.contentFetch.call(void 0, structureEndpoint);
1141
+ const response = await fetch(structureEndpoint);
1142
1142
  if (!response.ok) {
1143
1143
  throw new Error("Failed to load documentation structure");
1144
1144
  }
@@ -1148,7 +1148,7 @@ function useDocumentTree(config, initialPath) {
1148
1148
  if (cleanInitialPath) {
1149
1149
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
1150
1150
  if (pathForExpansion) {
1151
- setExpandedNodes(new Set(_chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
1151
+ setExpandedNodes(new Set(_chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
1152
1152
  }
1153
1153
  } else if (result.data.length > 0) {
1154
1154
  const hasRootReadme = result.data.some(
@@ -1178,7 +1178,7 @@ function useDocumentTree(config, initialPath) {
1178
1178
  const fetchContent = async (path) => {
1179
1179
  try {
1180
1180
  setIsLoadingContent(true);
1181
- const response = await _chunkG56GYN7Zcjs.contentFetch.call(void 0, `${contentEndpoint}?path=${encodeURIComponent(path)}`);
1181
+ const response = await fetch(`${contentEndpoint}?path=${encodeURIComponent(path)}`);
1182
1182
  if (path !== lastFetchedPath.current) return;
1183
1183
  if (!response.ok) {
1184
1184
  if (response.status === 404) {
@@ -1235,11 +1235,11 @@ function useDocumentTree(config, initialPath) {
1235
1235
  if (node.type === "folder") {
1236
1236
  setExpandedNodes((prev) => {
1237
1237
  if (prev.has(node.id)) {
1238
- const ancestorIds = _chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, node.path);
1238
+ const ancestorIds = _chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, node.path);
1239
1239
  ancestorIds.pop();
1240
1240
  return new Set(ancestorIds);
1241
1241
  } else {
1242
- return new Set(_chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, node.path));
1242
+ return new Set(_chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, node.path));
1243
1243
  }
1244
1244
  });
1245
1245
  if (node.hasReadme) {
@@ -1256,7 +1256,7 @@ function useDocumentTree(config, initialPath) {
1256
1256
  const lastSlash = node.path.lastIndexOf("/");
1257
1257
  if (lastSlash > 0) {
1258
1258
  const parentPath = node.path.substring(0, lastSlash);
1259
- setExpandedNodes(new Set(_chunk7KTSRZI4cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1259
+ setExpandedNodes(new Set(_chunkKZGSVTRPcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
1260
1260
  }
1261
1261
  lastFetchedPath.current = null;
1262
1262
  setSelectedPath(node.path);
@@ -1270,7 +1270,7 @@ function useDocumentTree(config, initialPath) {
1270
1270
  const hashIndex = path.indexOf("#");
1271
1271
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
1272
1272
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
1273
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _4 => _4.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk7KTSRZI4cjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
1273
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _4 => _4.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkKZGSVTRPcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
1274
1274
  if (anchor && _optionalChain([options, 'optionalAccess', _5 => _5.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
1275
1275
  _chunkG56GYN7Zcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkG56GYN7Zcjs.HUB_HEADER_OFFSET_PX });
1276
1276
  return;
@@ -1332,8 +1332,8 @@ function useDocumentTree(config, initialPath) {
1332
1332
  return docNavigation.register({
1333
1333
  baseRoute: normalizedBaseRoute,
1334
1334
  findNodeByPath: (path) => {
1335
- const clean = _chunk7KTSRZI4cjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
1336
- return _nullishCoalesce(_chunk7KTSRZI4cjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
1335
+ const clean = _chunkKZGSVTRPcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
1336
+ return _nullishCoalesce(_chunkKZGSVTRPcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
1337
1337
  },
1338
1338
  selectNode
1339
1339
  });
@@ -1418,7 +1418,7 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
1418
1418
  return _react.useCallback.call(void 0,
1419
1419
  async (href, currentPath) => {
1420
1420
  try {
1421
- const response = await _chunkG56GYN7Zcjs.contentFetch.call(void 0, resolvedResolveLinkEndpoint, {
1421
+ const response = await fetch(resolvedResolveLinkEndpoint, {
1422
1422
  method: "POST",
1423
1423
  headers: { "Content-Type": "application/json" },
1424
1424
  body: JSON.stringify({ link: href, currentPath, source: sourceId })
@@ -1507,7 +1507,7 @@ function DocViewerContent({
1507
1507
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _23 => _23.label]), () => ( "Back to home")),
1508
1508
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _24 => _24.href]), () => ( "/")))
1509
1509
  };
1510
- const docSearch = _chunkRNF2E736cjs.useDocSearch.call(void 0, {
1510
+ const docSearch = _chunk3GYV6RP7cjs.useDocSearch.call(void 0, {
1511
1511
  source: chatSource,
1512
1512
  baseRoute,
1513
1513
  searchEndpoint,
@@ -1523,7 +1523,7 @@ function DocViewerContent({
1523
1523
  onResolveLink: resolveLink
1524
1524
  });
1525
1525
  }, [content, selectedPath, renderContent, navigateToDoc, sourceId, resolveLink]);
1526
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk7KTSRZI4cjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _25 => _25.documentType]) : void 0;
1526
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkKZGSVTRPcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _25 => _25.documentType]) : void 0;
1527
1527
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _26 => _26.documentType]), () => ( selectedNodeDocType));
1528
1528
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
1529
1529
  const showStickyNav = isMarkdownContent;
@@ -1535,28 +1535,34 @@ function DocViewerContent({
1535
1535
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
1536
1536
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
1537
1537
  return (
1538
- // Render through the shared wrapper chain (PageShell → PageLayout →
1539
- // `gap-10 flex-col`). PageLayout owns the back-button row; the inner
1540
- // `gap-10` div holds an inline title hero (same DOM `<DevSectionView>`'s
1541
- // hero renders) followed by the search bar + content grid.
1538
+ // STRUCTURAL UNIFICATION: render through the IDENTICAL wrapper chain
1539
+ // `<DevSectionPage>` uses (PageShell → PageLayout → `gap-10 flex-col`),
1540
+ // not a hand-rolled custom container with similar-looking spacing.
1541
+ // PageLayout owns the back-button row; the inner `gap-10` div +
1542
+ // `<PageHeader noTopPadding noBottomMargin>` renders the title section
1543
+ // the same way `<DevSectionView>`'s hero does. This is the only way to
1544
+ // guarantee /knowledge-base sits at pixel-identical vertical rhythm to
1545
+ // /roadmap / /releases / /onboarding-guides — same components, same DOM,
1546
+ // not "same CSS classes that look similar on paper."
1542
1547
  //
1543
1548
  // `colorPalette` / `className` / `bgStyle` flow through PageShell's
1544
1549
  // contentClassName + an inner style-passthrough wrapper so legacy
1545
1550
  // palette overrides still apply (none in the codebase today; the API
1546
1551
  // surface is preserved).
1547
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7KTSRZI4cjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7KTSRZI4cjs.PageLayout, { backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full flex flex-col gap-10", children: [
1548
- (title || titleIcon || subtitle) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
1549
- (title || titleIcon) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h1", { className: "text-h1 tracking-[-1.12px] text-ods-text-primary flex items-center gap-3", children: [
1552
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZGSVTRPcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZGSVTRPcjs.PageLayout, { backButton: _nullishCoalesce(backCfg, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full flex flex-col gap-10", children: [
1553
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1554
+ _chunkKZGSVTRPcjs.PageHeader,
1555
+ {
1556
+ title,
1550
1557
  titleIcon,
1551
- title && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
1552
- title,
1553
- accentDot && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "." })
1554
- ] })
1555
- ] }),
1556
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[18px] leading-[28px] text-ods-text-secondary max-w-3xl line-clamp-2 min-h-[56px]", children: subtitle || " " })
1557
- ] }),
1558
+ subtitle,
1559
+ accentDot,
1560
+ noTopPadding: true,
1561
+ noBottomMargin: true
1562
+ }
1563
+ ),
1558
1564
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1559
- _chunkRNF2E736cjs.DocSearchBar,
1565
+ _chunk3GYV6RP7cjs.DocSearchBar,
1560
1566
  {
1561
1567
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _30 => _30.toLowerCase, 'call', _31 => _31()]) || "documents"}...`,
1562
1568
  query: docSearch.query,
@@ -1577,7 +1583,7 @@ function DocViewerContent({
1577
1583
  !error && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col lg:flex-row gap-6 lg:gap-10 items-start flex-1", children: [
1578
1584
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full lg:w-[320px] lg:shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "lg:sticky lg:top-20", children: isLoadingStructure ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1579
1585
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1580
- _chunk7KTSRZI4cjs.MobileNavigationDropdown,
1586
+ _chunkKZGSVTRPcjs.MobileNavigationDropdown,
1581
1587
  {
1582
1588
  nodes: structure,
1583
1589
  selectedPath,
@@ -1591,7 +1597,7 @@ function DocViewerContent({
1591
1597
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentSidebar, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
1592
1598
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-[14px] font-['Azeret_Mono'] font-semibold uppercase text-ods-text-secondary tracking-[-0.02em] leading-[1.43em]", children: sidebarLabel }),
1593
1599
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1594
- _chunk7KTSRZI4cjs.MultiLevelNavigation,
1600
+ _chunkKZGSVTRPcjs.MultiLevelNavigation,
1595
1601
  {
1596
1602
  nodes: structure,
1597
1603
  selectedPath,
@@ -1636,7 +1642,7 @@ function DocViewerContent({
1636
1642
  showStickyNav && content && stickyNavSections.length > 0 && !isLoadingContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:block", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "sticky top-24", children: [
1637
1643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-[14px] font-['Azeret_Mono'] font-semibold uppercase text-ods-text-secondary tracking-[-0.02em] leading-[1.43em] mb-4", children: "ON THIS PAGE" }),
1638
1644
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1639
- _chunk7KTSRZI4cjs.StickySectionNav,
1645
+ _chunkKZGSVTRPcjs.StickySectionNav,
1640
1646
  {
1641
1647
  sections: stickyNavSections,
1642
1648
  activeSection,
@@ -1747,11 +1753,11 @@ function EmbedSkeleton({ documentType } = {}) {
1747
1753
 
1748
1754
  var DEFAULT_TITLE = "Documents";
1749
1755
  var defaultFallbackRenderer = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-center py-16", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "Unsupported document type" }) });
1750
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO4TIFKDGcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1751
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO4TIFKDGcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1752
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7KTSRZI4cjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
1756
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSYTHAQRPcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1757
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSYTHAQRPcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
1758
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZGSVTRPcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
1753
1759
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1754
- _chunkO4TIFKDGcjs.FileDownloadCard,
1760
+ _chunkSYTHAQRPcjs.FileDownloadCard,
1755
1761
  {
1756
1762
  fileName: content.fileName,
1757
1763
  mimeType: content.mimeType,
@@ -1833,4 +1839,4 @@ function DocsHubPage({
1833
1839
 
1834
1840
 
1835
1841
  exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.DocNavigationProvider = DocNavigationProvider; exports.useDocNavigation = useDocNavigation; exports.useDocumentTree = useDocumentTree; exports.useScrollSpy = useScrollSpy; exports.DocViewer = DocViewer; exports.MarkdownSkeleton = MarkdownSkeleton; exports.EmbedSkeleton = EmbedSkeleton; exports.DocsHubPage = DocsHubPage;
1836
- //# sourceMappingURL=chunk-UAJAJFI6.cjs.map
1842
+ //# sourceMappingURL=chunk-LTDGGKOW.cjs.map