@flamingo-stack/openframe-frontend-core 0.0.731 → 0.0.733

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 (149) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-RAHRDJBP.cjs → chunk-3HPB4H4C.cjs} +4 -4
  3. package/dist/{chunk-2UNQJVYN.cjs → chunk-3KGICRH7.cjs} +1457 -1187
  4. package/dist/{chunk-A4HNF4MP.cjs → chunk-3UTPZW36.cjs} +89 -89
  5. package/dist/{chunk-GID62YEN.cjs → chunk-AAFW4STC.cjs} +3 -3
  6. package/dist/{chunk-XDBHGWFH.cjs → chunk-ATMBJBOI.cjs} +16 -16
  7. package/dist/{chunk-YDGBRI3Y.cjs → chunk-AV5533DH.cjs} +15 -15
  8. package/dist/{chunk-BFHLGEJK.cjs → chunk-BP6R5WDW.cjs} +63 -60
  9. package/dist/{chunk-CLILWI6O.cjs → chunk-CJVAA7KL.cjs} +32 -32
  10. package/dist/{chunk-YJFN2W7A.cjs → chunk-DUVOQHQI.cjs} +7 -7
  11. package/dist/{chunk-E3N24573.cjs → chunk-DUXLZPMJ.cjs} +9 -9
  12. package/dist/{chunk-TH4N726A.cjs → chunk-E26I4XH6.cjs} +17 -17
  13. package/dist/{chunk-Y4QRK3CB.cjs → chunk-EMG3T55N.cjs} +7 -7
  14. package/dist/{chunk-JK75ZZP3.cjs → chunk-EQORT7NK.cjs} +59 -59
  15. package/dist/chunk-FCGLSWKR.cjs +417 -0
  16. package/dist/{chunk-MANNIJ42.cjs → chunk-FICJS5OA.cjs} +6 -0
  17. package/dist/{chunk-QP6QS3YU.cjs → chunk-FNRMDDVN.cjs} +48 -50
  18. package/dist/{chunk-KLXHCNDC.cjs → chunk-FTTLBMHU.cjs} +3 -3
  19. package/dist/{chunk-JPZ4Y6X3.cjs → chunk-GB3CHAW7.cjs} +93 -93
  20. package/dist/{chunk-7DUXR4HL.cjs → chunk-GVTDVS5U.cjs} +3 -3
  21. package/dist/{chunk-ZV6473Z4.cjs → chunk-HSWHOCZ3.cjs} +20 -20
  22. package/dist/{chunk-53XZ6MJ5.cjs → chunk-IC4FT3A6.cjs} +28 -28
  23. package/dist/{chunk-6V4GEE55.cjs → chunk-J7JKPTGO.cjs} +12 -12
  24. package/dist/{chunk-FKKUQK4C.cjs → chunk-L4ZNR5V7.cjs} +43 -39
  25. package/dist/{chunk-NYY25425.cjs → chunk-MYBTNOS6.cjs} +2 -2
  26. package/dist/chunk-NTJE6SM6.cjs +28 -0
  27. package/dist/{chunk-RBOIGJYF.cjs → chunk-P3R23TOE.cjs} +35 -35
  28. package/dist/chunk-PX7FY655.cjs +114 -0
  29. package/dist/{chunk-YUXRIR45.cjs → chunk-SA7LDEVJ.cjs} +98 -50
  30. package/dist/{chunk-32ENYVFA.cjs → chunk-TIMCHP4X.cjs} +42 -42
  31. package/dist/{chunk-3SWLL4IM.cjs → chunk-U4T5NLZD.cjs} +8 -8
  32. package/dist/{chunk-HI7EFAFQ.cjs → chunk-XDWY6HAW.cjs} +28 -28
  33. package/dist/{chunk-25H2SZH7.cjs → chunk-XY632BCH.cjs} +4 -4
  34. package/dist/{chunk-HY2KTQSL.cjs → chunk-YIXKH2JO.cjs} +236 -236
  35. package/dist/{chunk-4YPV4OI4.cjs → chunk-ZBNA6TCW.cjs} +82 -82
  36. package/dist/{chunk-HLIJ3U2T.cjs → chunk-ZJNYWNCB.cjs} +23 -21
  37. package/dist/{chunk-HEOD765R.cjs → chunk-ZRYKDN2J.cjs} +32 -379
  38. package/dist/{cloud-tenants-SC4FNAC2.cjs → cloud-tenants-3GOGR3EN.cjs} +22 -22
  39. package/dist/components/agent-identity.d.ts +8 -0
  40. package/dist/components/agent-identity.d.ts.map +1 -1
  41. package/dist/components/agent-identity.js +13 -1
  42. package/dist/components/case-studies/index.cjs +35 -35
  43. package/dist/components/chat/embeddable-chat.d.ts +16 -0
  44. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  45. package/dist/components/chat/embeddable-chat.js +5 -2
  46. package/dist/components/chat/index.cjs +16 -16
  47. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  48. package/dist/components/chat/utils/icon-library.js +6 -0
  49. package/dist/components/contact/index.cjs +23 -23
  50. package/dist/components/docs/index.cjs +26 -26
  51. package/dist/components/embeds/index.cjs +23 -23
  52. package/dist/components/faq/index.cjs +23 -23
  53. package/dist/components/features/index.cjs +22 -22
  54. package/dist/components/help-center-pages/index.cjs +138 -138
  55. package/dist/components/index.cjs +89 -82
  56. package/dist/components/meeting-scheduler/index.cjs +67 -67
  57. package/dist/components/navigation/index.cjs +25 -25
  58. package/dist/components/onboarding-guides/index.cjs +25 -25
  59. package/dist/components/product-demo/index.cjs +8 -8
  60. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -1
  61. package/dist/components/product-demo/screens/remote-desktop-picture.js +2 -1
  62. package/dist/components/related-content/index.cjs +10 -10
  63. package/dist/components/tickets/index.cjs +26 -26
  64. package/dist/components/ui/device-wallpaper.d.ts +7 -0
  65. package/dist/components/ui/device-wallpaper.d.ts.map +1 -0
  66. package/dist/components/ui/device-wallpaper.js +5 -0
  67. package/dist/components/ui/feature-list.d.ts +9 -4
  68. package/dist/components/ui/feature-list.d.ts.map +1 -1
  69. package/dist/components/ui/feature-list.js +26 -35
  70. package/dist/components/ui/index.cjs +28 -22
  71. package/dist/components/ui/index.d.ts +3 -1
  72. package/dist/components/ui/index.d.ts.map +1 -1
  73. package/dist/components/ui/index.js +3 -1
  74. package/dist/components/ui/notification-stack.d.ts +33 -0
  75. package/dist/components/ui/notification-stack.d.ts.map +1 -0
  76. package/dist/components/ui/notification-stack.js +78 -0
  77. package/dist/components/ui/numbered-step.d.ts +29 -0
  78. package/dist/components/ui/numbered-step.d.ts.map +1 -0
  79. package/dist/components/ui/numbered-step.js +57 -0
  80. package/dist/components/ui/phone-frame.d.ts +14 -9
  81. package/dist/components/ui/phone-frame.d.ts.map +1 -1
  82. package/dist/components/ui/phone-frame.js +50 -6
  83. package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts +5 -0
  84. package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts.map +1 -0
  85. package/dist/components/ui/phone-glyphs/lock-camera-glyph.js +14 -0
  86. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts +5 -0
  87. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts.map +1 -0
  88. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.js +14 -0
  89. package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts +5 -0
  90. package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts.map +1 -0
  91. package/dist/components/ui/phone-glyphs/status-bar-glyphs.js +68 -0
  92. package/dist/components/ui/searchable-select.d.ts +29 -3
  93. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  94. package/dist/components/ui/searchable-select.js +101 -45
  95. package/dist/components/ui/snap-carousel.d.ts +5 -8
  96. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  97. package/dist/components/ui/snap-carousel.js +2 -27
  98. package/dist/components/ui/tab-navigation.d.ts +8 -1
  99. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  100. package/dist/components/ui/tab-navigation.js +30 -20
  101. package/dist/{devices-7MHSJNXS.cjs → devices-POZXTP7X.cjs} +23 -23
  102. package/dist/{embeddable-chat-VPIG3F7E.cjs → embeddable-chat-I3Y5GCCR.cjs} +96 -93
  103. package/dist/hooks/index.cjs +9 -9
  104. package/dist/hooks/ui/use-autoplay.d.ts +50 -13
  105. package/dist/hooks/ui/use-autoplay.d.ts.map +1 -1
  106. package/dist/hooks/ui/use-autoplay.js +76 -13
  107. package/dist/hooks/ui/use-in-view.d.ts +8 -0
  108. package/dist/hooks/ui/use-in-view.d.ts.map +1 -1
  109. package/dist/hooks/ui/use-in-view.js +21 -36
  110. package/dist/hooks/use-agent-identities.d.ts +6 -0
  111. package/dist/hooks/use-agent-identities.d.ts.map +1 -1
  112. package/dist/hooks/use-scenario-player.d.ts +26 -9
  113. package/dist/hooks/use-scenario-player.d.ts.map +1 -1
  114. package/dist/hooks/use-scenario-player.js +12 -9
  115. package/dist/index.cjs +58 -51
  116. package/dist/{knowledge-4DREGSOZ.cjs → knowledge-AP34IMXN.cjs} +23 -23
  117. package/dist/{logs-BWXNT2KP.cjs → logs-CEVMIOPW.cjs} +30 -30
  118. package/dist/{policies-MGFUI23M.cjs → policies-AMBMRCGB.cjs} +26 -26
  119. package/dist/{remote-session-O6QGXV2N.cjs → remote-session-Z4YZFG5E.cjs} +10 -9
  120. package/dist/{software-update-7LF7XEYC.cjs → software-update-Z3MWMSHI.cjs} +26 -26
  121. package/dist/{tickets-board-KNXK747O.cjs → tickets-board-JOSYLOS7.cjs} +13 -13
  122. package/package.json +1 -1
  123. package/src/components/agent-identity.tsx +20 -1
  124. package/src/components/chat/embeddable-chat.tsx +29 -2
  125. package/src/components/chat/utils/icon-library.tsx +7 -0
  126. package/src/components/product-demo/screens/remote-desktop-picture.tsx +2 -1
  127. package/src/components/ui/device-wallpaper.ts +7 -0
  128. package/src/components/ui/feature-list.tsx +24 -30
  129. package/src/components/ui/index.ts +3 -1
  130. package/src/components/ui/notification-stack.tsx +133 -0
  131. package/src/components/ui/numbered-step.tsx +81 -0
  132. package/src/components/ui/phone-frame.tsx +83 -19
  133. package/src/components/ui/phone-glyphs/lock-camera-glyph.tsx +14 -0
  134. package/src/components/ui/phone-glyphs/lock-flashlight-glyph.tsx +14 -0
  135. package/src/components/ui/phone-glyphs/status-bar-glyphs.tsx +45 -0
  136. package/src/components/ui/searchable-select.tsx +124 -32
  137. package/src/components/ui/snap-carousel.tsx +6 -38
  138. package/src/components/ui/tab-navigation.tsx +49 -21
  139. package/src/hooks/ui/use-autoplay.ts +144 -27
  140. package/src/hooks/ui/use-in-view.ts +31 -38
  141. package/src/hooks/use-agent-identities.ts +6 -0
  142. package/src/hooks/use-scenario-player.ts +44 -20
  143. package/dist/chunk-2WXLQ5R5.cjs +0 -99
  144. package/dist/chunk-BE2WAMG5.cjs +0 -54
  145. package/dist/chunk-LCTDHLDL.cjs +0 -43
  146. package/dist/components/ui/playback-toggle.d.ts +0 -24
  147. package/dist/components/ui/playback-toggle.d.ts.map +0 -1
  148. package/dist/components/ui/playback-toggle.js +0 -32
  149. package/src/components/ui/playback-toggle.tsx +0 -53
@@ -3,45 +3,43 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk3SWLL4IMcjs = require('./chunk-3SWLL4IM.cjs');
6
+ var _chunkU4T5NLZDcjs = require('./chunk-U4T5NLZD.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkTH4N726Acjs = require('./chunk-TH4N726A.cjs');
12
+ var _chunkE26I4XH6cjs = require('./chunk-E26I4XH6.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkXDBHGWFHcjs = require('./chunk-XDBHGWFH.cjs');
16
+ var _chunkATMBJBOIcjs = require('./chunk-ATMBJBOI.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
- var _chunk2UNQJVYNcjs = require('./chunk-2UNQJVYN.cjs');
21
+ var _chunk3KGICRH7cjs = require('./chunk-3KGICRH7.cjs');
22
22
 
23
23
 
24
- var _chunkFKKUQK4Ccjs = require('./chunk-FKKUQK4C.cjs');
24
+ var _chunkL4ZNR5V7cjs = require('./chunk-L4ZNR5V7.cjs');
25
25
 
26
26
 
27
27
 
28
28
 
29
29
 
30
- var _chunkA4HNF4MPcjs = require('./chunk-A4HNF4MP.cjs');
30
+ var _chunk3UTPZW36cjs = require('./chunk-3UTPZW36.cjs');
31
31
 
32
32
 
33
33
 
34
34
 
35
- var _chunkYUXRIR45cjs = require('./chunk-YUXRIR45.cjs');
36
-
37
-
38
- var _chunk2WXLQ5R5cjs = require('./chunk-2WXLQ5R5.cjs');
35
+ var _chunkSA7LDEVJcjs = require('./chunk-SA7LDEVJ.cjs');
39
36
 
40
37
 
41
38
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
42
39
 
43
40
 
44
- var _chunkLCTDHLDLcjs = require('./chunk-LCTDHLDL.cjs');
41
+
42
+ var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
45
43
 
46
44
 
47
45
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -212,7 +210,7 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
212
210
  return _react.useCallback.call(void 0,
213
211
  async (href, currentPath) => {
214
212
  try {
215
- const response = await _chunkLCTDHLDLcjs.contentFetch.call(void 0, resolvedResolveLinkEndpoint, {
213
+ const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, resolvedResolveLinkEndpoint, {
216
214
  method: "POST",
217
215
  headers: { "Content-Type": "application/json" },
218
216
  body: JSON.stringify({ link: href, currentPath, source: sourceId })
@@ -238,9 +236,9 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
238
236
  function scrollToContent() {
239
237
  const article = document.querySelector("article");
240
238
  if (article) {
241
- _chunkYUXRIR45cjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkYUXRIR45cjs.HUB_HEADER_OFFSET_PX });
239
+ _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
242
240
  } else {
243
- _chunkYUXRIR45cjs.scrollElementIntoView.call(void 0, document.documentElement);
241
+ _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, document.documentElement);
244
242
  }
245
243
  }
246
244
  function findFirstDocPath(folder) {
@@ -339,8 +337,8 @@ function toDocContent(value, requestedPath) {
339
337
  }
340
338
  function useDocumentTree(config, initialPath) {
341
339
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
342
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkA4HNF4MPcjs.DEFAULT_FOLDER_INDEX_FILE));
343
- const cleanInitialPath = _chunkA4HNF4MPcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
340
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunk3UTPZW36cjs.DEFAULT_FOLDER_INDEX_FILE));
341
+ const cleanInitialPath = _chunk3UTPZW36cjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
344
342
  const [structure, setStructure] = _react.useState.call(void 0, []);
345
343
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
346
344
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -364,12 +362,12 @@ function useDocumentTree(config, initialPath) {
364
362
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
365
363
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
366
364
  }
367
- pathFromUrl = _chunkA4HNF4MPcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
365
+ pathFromUrl = _chunk3UTPZW36cjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
368
366
  if (pathFromUrl !== selectedPathRef.current) {
369
367
  setSelectedPath(pathFromUrl);
370
368
  if (pathFromUrl) {
371
369
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
372
- setExpandedNodes(new Set(_chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
370
+ setExpandedNodes(new Set(_chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
373
371
  }
374
372
  setTimeout(() => {
375
373
  scrollToContent();
@@ -387,7 +385,7 @@ function useDocumentTree(config, initialPath) {
387
385
  setSelectedPath(cleanInitialPath);
388
386
  if (cleanInitialPath) {
389
387
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
390
- setExpandedNodes(new Set(_chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
388
+ setExpandedNodes(new Set(_chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, parentPath)));
391
389
  }
392
390
  setExternalNavCount((n) => n + 1);
393
391
  }
@@ -401,7 +399,7 @@ function useDocumentTree(config, initialPath) {
401
399
  try {
402
400
  setIsLoadingStructure(true);
403
401
  setError(null);
404
- const response = await _chunkLCTDHLDLcjs.contentFetch.call(void 0, structureEndpoint);
402
+ const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, structureEndpoint);
405
403
  if (!response.ok) {
406
404
  throw new Error("Failed to load documentation structure");
407
405
  }
@@ -412,7 +410,7 @@ function useDocumentTree(config, initialPath) {
412
410
  if (cleanInitialPath) {
413
411
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
414
412
  if (pathForExpansion) {
415
- setExpandedNodes(new Set(_chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
413
+ setExpandedNodes(new Set(_chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
416
414
  }
417
415
  } else if (nodes.length > 0) {
418
416
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -428,7 +426,7 @@ function useDocumentTree(config, initialPath) {
428
426
  }
429
427
  }
430
428
  } else {
431
- setError(_chunk2WXLQ5R5cjs.apiErrorMessage.call(void 0, payload, "Failed to load documentation structure"));
429
+ setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, payload, "Failed to load documentation structure"));
432
430
  }
433
431
  } catch (err) {
434
432
  console.error("Error fetching documentation structure:", err);
@@ -440,7 +438,7 @@ function useDocumentTree(config, initialPath) {
440
438
  const fetchContent = async (path) => {
441
439
  try {
442
440
  setIsLoadingContent(true);
443
- const response = await _chunkLCTDHLDLcjs.contentFetch.call(void 0, `${contentEndpoint}?path=${encodeURIComponent(path)}`);
441
+ const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, `${contentEndpoint}?path=${encodeURIComponent(path)}`);
444
442
  if (path !== lastFetchedPath.current) return;
445
443
  if (!response.ok) {
446
444
  if (response.status === 404) {
@@ -452,7 +450,7 @@ function useDocumentTree(config, initialPath) {
452
450
  setContent(null);
453
451
  return;
454
452
  }
455
- const probe = _chunkA4HNF4MPcjs.findDocNodeByPath.call(void 0, _chunkA4HNF4MPcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
453
+ const probe = _chunk3UTPZW36cjs.findDocNodeByPath.call(void 0, _chunk3UTPZW36cjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
456
454
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
457
455
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
458
456
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -461,7 +459,7 @@ function useDocumentTree(config, initialPath) {
461
459
  setContent(null);
462
460
  return;
463
461
  }
464
- setError(_chunk2WXLQ5R5cjs.apiErrorMessage.call(void 0, errorPayload, "Documentation file not found"));
462
+ setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, errorPayload, "Documentation file not found"));
465
463
  setContent(null);
466
464
  return;
467
465
  }
@@ -479,7 +477,7 @@ function useDocumentTree(config, initialPath) {
479
477
  }
480
478
  setContent(doc);
481
479
  } else {
482
- setError(_chunk2WXLQ5R5cjs.apiErrorMessage.call(void 0, payload, "Failed to load content"));
480
+ setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, payload, "Failed to load content"));
483
481
  setContent(null);
484
482
  }
485
483
  } catch (err) {
@@ -509,7 +507,7 @@ function useDocumentTree(config, initialPath) {
509
507
  if (selectedPath === "") {
510
508
  pathToFetch = folderIndexFile;
511
509
  } else {
512
- const node = _chunkA4HNF4MPcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
510
+ const node = _chunk3UTPZW36cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
513
511
  if (node && node.type === "folder" && !node.hasReadme) {
514
512
  const firstDocPath = findFirstDocPath(node);
515
513
  if (!firstDocPath) {
@@ -550,16 +548,16 @@ function useDocumentTree(config, initialPath) {
550
548
  if (node.type === "folder") {
551
549
  setExpandedNodes((prev) => {
552
550
  if (prev.has(node.id)) {
553
- const ancestorIds = _chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, node.path);
551
+ const ancestorIds = _chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, node.path);
554
552
  ancestorIds.pop();
555
553
  return new Set(ancestorIds);
556
554
  }
557
- return new Set(_chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, node.path));
555
+ return new Set(_chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, node.path));
558
556
  });
559
557
  } else {
560
558
  const lastSlash = node.path.lastIndexOf("/");
561
559
  if (lastSlash > 0) {
562
- setExpandedNodes(new Set(_chunkA4HNF4MPcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
560
+ setExpandedNodes(new Set(_chunk3UTPZW36cjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
563
561
  }
564
562
  }
565
563
  lastFetchedPath.current = null;
@@ -574,9 +572,9 @@ function useDocumentTree(config, initialPath) {
574
572
  const hashIndex = path.indexOf("#");
575
573
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
576
574
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
577
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkA4HNF4MPcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
575
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunk3UTPZW36cjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
578
576
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
579
- _chunkYUXRIR45cjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkYUXRIR45cjs.HUB_HEADER_OFFSET_PX });
577
+ _chunkSA7LDEVJcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
580
578
  return;
581
579
  }
582
580
  const scrollAfterNav = () => {
@@ -584,7 +582,7 @@ function useDocumentTree(config, initialPath) {
584
582
  setTimeout(() => {
585
583
  const el = document.getElementById(anchor.substring(1));
586
584
  if (el) {
587
- _chunkYUXRIR45cjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkYUXRIR45cjs.HUB_HEADER_OFFSET_PX });
585
+ _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
588
586
  } else {
589
587
  scrollToContent();
590
588
  }
@@ -638,15 +636,15 @@ function useDocumentTree(config, initialPath) {
638
636
  return docNavigation.register({
639
637
  baseRoute: normalizedBaseRoute,
640
638
  findNodeByPath: (path) => {
641
- const clean = _chunkA4HNF4MPcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
642
- return _nullishCoalesce(_chunkA4HNF4MPcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
639
+ const clean = _chunk3UTPZW36cjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
640
+ return _nullishCoalesce(_chunk3UTPZW36cjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
643
641
  },
644
642
  selectNode
645
643
  });
646
644
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
647
645
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
648
646
  if (!selectedPath || structure.length === 0) return false;
649
- const node = _chunkA4HNF4MPcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
647
+ const node = _chunk3UTPZW36cjs.findDocNodeByPath.call(void 0, selectedPath, structure);
650
648
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
651
649
  }, [selectedPath, structure]);
652
650
  return {
@@ -726,14 +724,14 @@ function DocViewerContent({
726
724
  },
727
725
  docPath
728
726
  );
729
- const { activeSection, handleSectionClick } = _chunkTH4N726Acjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
727
+ const { activeSection, handleSectionClick } = _chunkE26I4XH6cjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
730
728
  const docNav = useDocNavigation();
731
729
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
732
730
  const backCfg = backButton === false ? null : {
733
731
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
734
732
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
735
733
  };
736
- const docSearch = _chunkXDBHGWFHcjs.useDocSearch.call(void 0, {
734
+ const docSearch = _chunkATMBJBOIcjs.useDocSearch.call(void 0, {
737
735
  source: chatSource,
738
736
  baseRoute,
739
737
  searchEndpoint,
@@ -757,7 +755,7 @@ function DocViewerContent({
757
755
  onResolveLink: resolveLink
758
756
  });
759
757
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
760
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkA4HNF4MPcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
758
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunk3UTPZW36cjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
761
759
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
762
760
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
763
761
  const showStickyNav = isMarkdownContent;
@@ -768,9 +766,9 @@ function DocViewerContent({
768
766
  const containerBgStyle = colorPalette.containerBackground !== "transparent" ? { backgroundColor: colorPalette.containerBackground } : {};
769
767
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
770
768
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
771
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFKKUQK4Ccjs.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: [
769
+ const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL4ZNR5V7cjs.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
770
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
773
- _chunkXDBHGWFHcjs.DocSearchBar,
771
+ _chunkATMBJBOIcjs.DocSearchBar,
774
772
  {
775
773
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _19 => _19.toLowerCase, 'call', _20 => _20()]) || "documents"}...`,
776
774
  query: docSearch.query,
@@ -789,9 +787,9 @@ function DocViewerContent({
789
787
  ] })
790
788
  ] }) }),
791
789
  !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, _chunk2UNQJVYNcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
790
+ /* @__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, _chunk3KGICRH7cjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
793
791
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
794
- _chunkTH4N726Acjs.MobileNavigationDropdown,
792
+ _chunkE26I4XH6cjs.MobileNavigationDropdown,
795
793
  {
796
794
  nodes: structure,
797
795
  selectedPath,
@@ -805,7 +803,7 @@ function DocViewerContent({
805
803
  /* @__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
804
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
807
805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
808
- _chunkTH4N726Acjs.MultiLevelNavigation,
806
+ _chunkE26I4XH6cjs.MultiLevelNavigation,
809
807
  {
810
808
  nodes: structure,
811
809
  selectedPath,
@@ -844,7 +842,7 @@ function DocViewerContent({
844
842
  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
843
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
846
844
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
847
- _chunkTH4N726Acjs.StickySectionNav,
845
+ _chunkE26I4XH6cjs.StickySectionNav,
848
846
  {
849
847
  sections: stickyNavSections,
850
848
  activeSection,
@@ -859,7 +857,7 @@ function DocViewerContent({
859
857
  ) })
860
858
  ] })
861
859
  ] }) }) });
862
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2UNQJVYNcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
860
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3KGICRH7cjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
863
861
  }
864
862
 
865
863
  // src/components/docs/skeletons.tsx
@@ -955,11 +953,11 @@ function EmbedSkeleton({ documentType } = {}) {
955
953
 
956
954
  var DEFAULT_TITLE = "Documents";
957
955
  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, _chunk3SWLL4IMcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
959
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SWLL4IMcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
960
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2UNQJVYNcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
956
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4T5NLZDcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
957
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4T5NLZDcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
958
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3KGICRH7cjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
961
959
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
962
- _chunk3SWLL4IMcjs.FileDownloadCard,
960
+ _chunkU4T5NLZDcjs.FileDownloadCard,
963
961
  {
964
962
  fileName: content.fileName,
965
963
  mimeType: content.mimeType,
@@ -5,7 +5,7 @@ var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkMANNIJ42cjs = require('./chunk-MANNIJ42.cjs');
8
+ var _chunkFICJS5OAcjs = require('./chunk-FICJS5OA.cjs');
9
9
 
10
10
 
11
11
  var _chunkUR4K2NSLcjs = require('./chunk-UR4K2NSL.cjs');
@@ -248,7 +248,7 @@ var disabledTagClasses = [
248
248
  ];
249
249
  function TagLabel({ label, labelClassName }) {
250
250
  const isString = typeof label === "string";
251
- const { ref, isTruncated } = _chunkMANNIJ42cjs.useIsTruncated.call(void 0, isString ? label : null);
251
+ const { ref, isTruncated } = _chunkFICJS5OAcjs.useIsTruncated.call(void 0, isString ? label : null);
252
252
  if (!isString) {
253
253
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "truncate", labelClassName), children: label });
254
254
  }
@@ -790,7 +790,7 @@ var SquareAvatar = _react3.memo.call(void 0,
790
790
  style,
791
791
  ...props
792
792
  }, ref) => {
793
- const resolvedSrc = _chunkMANNIJ42cjs.useAuthedImageSrc.call(void 0, src);
793
+ const resolvedSrc = _chunkFICJS5OAcjs.useAuthedImageSrc.call(void 0, src);
794
794
  const sizeClasses = {
795
795
  // xs (24px): dense card meta rows — avatar stacks on delivery/
796
796
  // roadmap cards. Part of the shared scale so no caller ever