@flamingo-stack/openframe-frontend-core 0.0.741 → 0.0.743

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 (117) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-SFY4UYPY.cjs → chunk-4A6OF4HI.cjs} +44 -44
  3. package/dist/{chunk-VA7OMDZO.cjs → chunk-4FWURR3W.cjs} +50 -50
  4. package/dist/{chunk-WBANGORJ.cjs → chunk-4N7KGOBS.cjs} +3 -3
  5. package/dist/{chunk-PQ2M7P2U.cjs → chunk-5TCIRWHL.cjs} +9 -9
  6. package/dist/{chunk-FQN6STIM.cjs → chunk-6XCQXGQA.cjs} +20 -20
  7. package/dist/{chunk-BV5WZVOP.cjs → chunk-7YDF3QBN.cjs} +258 -257
  8. package/dist/{chunk-7ZFCR7UY.cjs → chunk-ABLUMGCI.cjs} +3 -3
  9. package/dist/{chunk-PX7FY655.cjs → chunk-ASMNNSUQ.cjs} +3 -3
  10. package/dist/{chunk-CWRVTQUO.cjs → chunk-BM6JZRVD.cjs} +101 -101
  11. package/dist/{chunk-LZ6NOVXX.cjs → chunk-BNTELSHZ.cjs} +103 -103
  12. package/dist/{chunk-SA7LDEVJ.cjs → chunk-CSJO7ZGN.cjs} +3 -3
  13. package/dist/{chunk-VOX4E6AX.cjs → chunk-DGFDBPO7.cjs} +7 -5
  14. package/dist/{chunk-KLI4OSRA.cjs → chunk-GAGNKWOC.cjs} +2 -2
  15. package/dist/{chunk-QEUGYHFB.cjs → chunk-IRWJKVVZ.cjs} +20 -20
  16. package/dist/{chunk-YRE3O65E.cjs → chunk-JGZEHBBD.cjs} +12 -12
  17. package/dist/{chunk-FICJS5OA.cjs → chunk-KTPR66EE.cjs} +4 -4
  18. package/dist/{chunk-YXKB5WRE.cjs → chunk-LJ46XYYP.cjs} +60 -48
  19. package/dist/{chunk-AAFW4STC.cjs → chunk-LU7TD6QS.cjs} +5 -5
  20. package/dist/{chunk-JFS6TZDX.cjs → chunk-MLZKPDPZ.cjs} +64 -64
  21. package/dist/{chunk-EKGL5K5K.cjs → chunk-MT7ELGCV.cjs} +17 -17
  22. package/dist/{chunk-HYBMADYO.cjs → chunk-NGUJVM6O.cjs} +22 -22
  23. package/dist/{chunk-3HPB4H4C.cjs → chunk-NTGIQP7O.cjs} +7 -7
  24. package/dist/{chunk-GABDE3FM.cjs → chunk-OWGLRE74.cjs} +19 -19
  25. package/dist/{chunk-IFS4AH77.cjs → chunk-QYLIHZKZ.cjs} +10 -10
  26. package/dist/{chunk-GVTDVS5U.cjs → chunk-R34JD6NP.cjs} +3 -3
  27. package/dist/{chunk-YQ37ZCD2.cjs → chunk-SQHTX5XP.cjs} +16 -16
  28. package/dist/{chunk-XJ36TEGE.cjs → chunk-TKASH5YC.cjs} +47 -47
  29. package/dist/{chunk-DSVNFRY5.cjs → chunk-U2O5YQRP.cjs} +38 -38
  30. package/dist/{chunk-5SVOGLNK.cjs → chunk-UL6ZZSL4.cjs} +6 -6
  31. package/dist/{chunk-O67V3HJR.cjs → chunk-URVIPSAJ.cjs} +24 -24
  32. package/dist/{chunk-GSWQZX23.cjs → chunk-UY6A6TEY.cjs} +2 -2
  33. package/dist/{chunk-DUVOQHQI.cjs → chunk-W2RM764D.cjs} +7 -7
  34. package/dist/{chunk-IK2RJUEA.cjs → chunk-WCY35GB5.cjs} +845 -810
  35. package/dist/{chunk-NTJE6SM6.cjs → chunk-WI2OTGKC.cjs} +2 -2
  36. package/dist/{chunk-ITPEFCQ2.cjs → chunk-XJO5ZHO6.cjs} +32 -32
  37. package/dist/{chunk-I6UE6YVM.cjs → chunk-Y2FN3E32.cjs} +6 -6
  38. package/dist/{chunk-4XL4YEZM.cjs → chunk-YDFKFLDQ.cjs} +8 -8
  39. package/dist/{chunk-HF7Z2E4W.cjs → chunk-YIOWV7LS.cjs} +2 -2
  40. package/dist/{chunk-B3XBJCOD.cjs → chunk-YJRMCFX3.cjs} +7 -7
  41. package/dist/{chunk-ZYOS7LVQ.cjs → chunk-YWMUZLU2.cjs} +89 -89
  42. package/dist/{chunk-ZJPDGVA6.cjs → chunk-ZP5DFF3Q.cjs} +28 -28
  43. package/dist/{cloud-tenants-MVJK52I2.cjs → cloud-tenants-DZC3ACG6.cjs} +24 -24
  44. package/dist/components/case-studies/index.cjs +37 -37
  45. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  46. package/dist/components/chat/entity-cards/onboarding-guide-card.js +22 -12
  47. package/dist/components/chat/index.cjs +17 -17
  48. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  49. package/dist/components/chat/tool-execution-display.js +5 -4
  50. package/dist/components/contact/index.cjs +25 -25
  51. package/dist/components/docs/index.cjs +28 -28
  52. package/dist/components/embeds/index.cjs +25 -25
  53. package/dist/components/faq/index.cjs +26 -26
  54. package/dist/components/features/index.cjs +24 -24
  55. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts +1 -1
  56. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts.map +1 -1
  57. package/dist/components/features/scripts/schedule-form/schedule-interval-input.js +15 -13
  58. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.d.ts.map +1 -1
  59. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.js +9 -7
  60. package/dist/components/help-center-pages/index.cjs +144 -144
  61. package/dist/components/index.cjs +87 -85
  62. package/dist/components/meeting-scheduler/booking-form.d.ts +11 -1
  63. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  64. package/dist/components/meeting-scheduler/booking-form.js +15 -3
  65. package/dist/components/meeting-scheduler/index.cjs +452 -158
  66. package/dist/components/meeting-scheduler/index.d.ts +16 -1
  67. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  68. package/dist/components/meeting-scheduler/index.js +157 -5
  69. package/dist/components/meeting-scheduler/modal-header.d.ts +27 -0
  70. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -0
  71. package/dist/components/meeting-scheduler/modal-header.js +104 -0
  72. package/dist/components/meeting-scheduler/slot-picker.d.ts +13 -2
  73. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  74. package/dist/components/meeting-scheduler/slot-picker.js +112 -73
  75. package/dist/components/navigation/index.cjs +27 -27
  76. package/dist/components/onboarding-guides/index.cjs +27 -27
  77. package/dist/components/product-demo/index.cjs +9 -9
  78. package/dist/components/related-content/index.cjs +12 -12
  79. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  80. package/dist/components/shared/product-release/product-release-card.js +2 -0
  81. package/dist/components/tickets/index.cjs +30 -30
  82. package/dist/components/ui/index.cjs +26 -24
  83. package/dist/components/ui/radio-group.d.ts +6 -0
  84. package/dist/components/ui/radio-group.d.ts.map +1 -1
  85. package/dist/components/ui/radio-group.js +65 -58
  86. package/dist/components/ui/tab-navigation.d.ts +19 -1
  87. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  88. package/dist/components/ui/tab-navigation.js +32 -8
  89. package/dist/{devices-W3S7Q2PG.cjs → devices-MFGE2JQV.cjs} +25 -25
  90. package/dist/{embeddable-chat-6JKKFQEB.cjs → embeddable-chat-7ZEGCDVF.cjs} +92 -92
  91. package/dist/hooks/index.cjs +10 -10
  92. package/dist/index.cjs +32 -30
  93. package/dist/{knowledge-AIYQ4FC3.cjs → knowledge-7VPS2ZBU.cjs} +25 -25
  94. package/dist/{logs-7SHJ2ARE.cjs → logs-M3QPAUH7.cjs} +32 -32
  95. package/dist/{policies-EIZJ5SUP.cjs → policies-UAVE6X62.cjs} +28 -28
  96. package/dist/{remote-session-BZMNE6D2.cjs → remote-session-N4PJB5FW.cjs} +10 -10
  97. package/dist/{scripts-J2FWC7E4.cjs → scripts-EDQ3IQKW.cjs} +31 -31
  98. package/dist/{software-update-QAMNASVF.cjs → software-update-B2MZVNPK.cjs} +28 -28
  99. package/dist/{tickets-board-CEDHD3KB.cjs → tickets-board-O753S4ZB.cjs} +14 -14
  100. package/dist/utils/embed-authed-fetch.d.ts +33 -0
  101. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  102. package/dist/utils/embed-authed-fetch.js +3 -1
  103. package/dist/utils/index.cjs +3 -1
  104. package/dist/{video-file-player-ZH2ILAPO.cjs → video-file-player-QZ3YOLHO.cjs} +2 -2
  105. package/package.json +1 -1
  106. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +8 -1
  107. package/src/components/chat/tool-execution-display.tsx +21 -10
  108. package/src/components/features/scripts/schedule-form/schedule-interval-input.tsx +20 -13
  109. package/src/components/features/scripts/schedule-form/schedule-offline-fields.tsx +9 -5
  110. package/src/components/meeting-scheduler/booking-form.tsx +29 -3
  111. package/src/components/meeting-scheduler/index.tsx +224 -3
  112. package/src/components/meeting-scheduler/modal-header.tsx +145 -0
  113. package/src/components/meeting-scheduler/slot-picker.tsx +72 -8
  114. package/src/components/shared/product-release/product-release-card.tsx +2 -0
  115. package/src/components/ui/radio-group.tsx +51 -36
  116. package/src/components/ui/tab-navigation.tsx +54 -5
  117. package/src/utils/embed-authed-fetch.ts +42 -1
@@ -3,43 +3,43 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk4XL4YEZMcjs = require('./chunk-4XL4YEZM.cjs');
6
+ var _chunkYDFKFLDQcjs = require('./chunk-YDFKFLDQ.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkEKGL5K5Kcjs = require('./chunk-EKGL5K5K.cjs');
12
+ var _chunkMT7ELGCVcjs = require('./chunk-MT7ELGCV.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkYQ37ZCD2cjs = require('./chunk-YQ37ZCD2.cjs');
16
+ var _chunkSQHTX5XPcjs = require('./chunk-SQHTX5XP.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
- var _chunkIK2RJUEAcjs = require('./chunk-IK2RJUEA.cjs');
21
+ var _chunkWCY35GB5cjs = require('./chunk-WCY35GB5.cjs');
22
22
 
23
23
 
24
- var _chunkDSVNFRY5cjs = require('./chunk-DSVNFRY5.cjs');
24
+ var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
25
25
 
26
26
 
27
27
 
28
28
 
29
29
 
30
- var _chunkCWRVTQUOcjs = require('./chunk-CWRVTQUO.cjs');
30
+ var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
31
31
 
32
32
 
33
33
 
34
34
 
35
- var _chunkSA7LDEVJcjs = require('./chunk-SA7LDEVJ.cjs');
35
+ var _chunkCSJO7ZGNcjs = require('./chunk-CSJO7ZGN.cjs');
36
36
 
37
37
 
38
38
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
39
39
 
40
40
 
41
41
 
42
- var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
42
+ var _chunkASMNNSUQcjs = require('./chunk-ASMNNSUQ.cjs');
43
43
 
44
44
 
45
45
  var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
@@ -210,7 +210,7 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
210
210
  return _react.useCallback.call(void 0,
211
211
  async (href, currentPath) => {
212
212
  try {
213
- const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, resolvedResolveLinkEndpoint, {
213
+ const response = await _chunkASMNNSUQcjs.contentFetch.call(void 0, resolvedResolveLinkEndpoint, {
214
214
  method: "POST",
215
215
  headers: { "Content-Type": "application/json" },
216
216
  body: JSON.stringify({ link: href, currentPath, source: sourceId })
@@ -236,9 +236,9 @@ function useDocsResolveLink(sourceId, resolveLinkEndpoint) {
236
236
  function scrollToContent() {
237
237
  const article = document.querySelector("article");
238
238
  if (article) {
239
- _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
239
+ _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, article, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
240
240
  } else {
241
- _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, document.documentElement);
241
+ _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, document.documentElement);
242
242
  }
243
243
  }
244
244
  function findFirstDocPath(folder) {
@@ -337,8 +337,8 @@ function toDocContent(value, requestedPath) {
337
337
  }
338
338
  function useDocumentTree(config, initialPath) {
339
339
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
340
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkCWRVTQUOcjs.DEFAULT_FOLDER_INDEX_FILE));
341
- const cleanInitialPath = _chunkCWRVTQUOcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
340
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkBM6JZRVDcjs.DEFAULT_FOLDER_INDEX_FILE));
341
+ const cleanInitialPath = _chunkBM6JZRVDcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
342
342
  const [structure, setStructure] = _react.useState.call(void 0, []);
343
343
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
344
344
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -362,12 +362,12 @@ function useDocumentTree(config, initialPath) {
362
362
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
363
363
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
364
364
  }
365
- pathFromUrl = _chunkCWRVTQUOcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
365
+ pathFromUrl = _chunkBM6JZRVDcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
366
366
  if (pathFromUrl !== selectedPathRef.current) {
367
367
  setSelectedPath(pathFromUrl);
368
368
  if (pathFromUrl) {
369
369
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
370
- setExpandedNodes(new Set(_chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
370
+ setExpandedNodes(new Set(_chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
371
371
  }
372
372
  setTimeout(() => {
373
373
  scrollToContent();
@@ -385,7 +385,7 @@ function useDocumentTree(config, initialPath) {
385
385
  setSelectedPath(cleanInitialPath);
386
386
  if (cleanInitialPath) {
387
387
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
388
- setExpandedNodes(new Set(_chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
388
+ setExpandedNodes(new Set(_chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
389
389
  }
390
390
  setExternalNavCount((n) => n + 1);
391
391
  }
@@ -399,7 +399,7 @@ function useDocumentTree(config, initialPath) {
399
399
  try {
400
400
  setIsLoadingStructure(true);
401
401
  setError(null);
402
- const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, structureEndpoint);
402
+ const response = await _chunkASMNNSUQcjs.contentFetch.call(void 0, structureEndpoint);
403
403
  if (!response.ok) {
404
404
  throw new Error("Failed to load documentation structure");
405
405
  }
@@ -410,7 +410,7 @@ function useDocumentTree(config, initialPath) {
410
410
  if (cleanInitialPath) {
411
411
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
412
412
  if (pathForExpansion) {
413
- setExpandedNodes(new Set(_chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
413
+ setExpandedNodes(new Set(_chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
414
414
  }
415
415
  } else if (nodes.length > 0) {
416
416
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -426,7 +426,7 @@ function useDocumentTree(config, initialPath) {
426
426
  }
427
427
  }
428
428
  } else {
429
- setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, payload, "Failed to load documentation structure"));
429
+ setError(_chunkASMNNSUQcjs.apiErrorMessage.call(void 0, payload, "Failed to load documentation structure"));
430
430
  }
431
431
  } catch (err) {
432
432
  console.error("Error fetching documentation structure:", err);
@@ -438,7 +438,7 @@ function useDocumentTree(config, initialPath) {
438
438
  const fetchContent = async (path) => {
439
439
  try {
440
440
  setIsLoadingContent(true);
441
- const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, `${contentEndpoint}?path=${encodeURIComponent(path)}`);
441
+ const response = await _chunkASMNNSUQcjs.contentFetch.call(void 0, `${contentEndpoint}?path=${encodeURIComponent(path)}`);
442
442
  if (path !== lastFetchedPath.current) return;
443
443
  if (!response.ok) {
444
444
  if (response.status === 404) {
@@ -450,7 +450,7 @@ function useDocumentTree(config, initialPath) {
450
450
  setContent(null);
451
451
  return;
452
452
  }
453
- const probe = _chunkCWRVTQUOcjs.findDocNodeByPath.call(void 0, _chunkCWRVTQUOcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
453
+ const probe = _chunkBM6JZRVDcjs.findDocNodeByPath.call(void 0, _chunkBM6JZRVDcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
454
454
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
455
455
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
456
456
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -459,7 +459,7 @@ function useDocumentTree(config, initialPath) {
459
459
  setContent(null);
460
460
  return;
461
461
  }
462
- setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, errorPayload, "Documentation file not found"));
462
+ setError(_chunkASMNNSUQcjs.apiErrorMessage.call(void 0, errorPayload, "Documentation file not found"));
463
463
  setContent(null);
464
464
  return;
465
465
  }
@@ -477,7 +477,7 @@ function useDocumentTree(config, initialPath) {
477
477
  }
478
478
  setContent(doc);
479
479
  } else {
480
- setError(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, payload, "Failed to load content"));
480
+ setError(_chunkASMNNSUQcjs.apiErrorMessage.call(void 0, payload, "Failed to load content"));
481
481
  setContent(null);
482
482
  }
483
483
  } catch (err) {
@@ -507,7 +507,7 @@ function useDocumentTree(config, initialPath) {
507
507
  if (selectedPath === "") {
508
508
  pathToFetch = folderIndexFile;
509
509
  } else {
510
- const node = _chunkCWRVTQUOcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
510
+ const node = _chunkBM6JZRVDcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
511
511
  if (node && node.type === "folder" && !node.hasReadme) {
512
512
  const firstDocPath = findFirstDocPath(node);
513
513
  if (!firstDocPath) {
@@ -548,16 +548,16 @@ function useDocumentTree(config, initialPath) {
548
548
  if (node.type === "folder") {
549
549
  setExpandedNodes((prev) => {
550
550
  if (prev.has(node.id)) {
551
- const ancestorIds = _chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, node.path);
551
+ const ancestorIds = _chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, node.path);
552
552
  ancestorIds.pop();
553
553
  return new Set(ancestorIds);
554
554
  }
555
- return new Set(_chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, node.path));
555
+ return new Set(_chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, node.path));
556
556
  });
557
557
  } else {
558
558
  const lastSlash = node.path.lastIndexOf("/");
559
559
  if (lastSlash > 0) {
560
- setExpandedNodes(new Set(_chunkCWRVTQUOcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
560
+ setExpandedNodes(new Set(_chunkBM6JZRVDcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
561
561
  }
562
562
  }
563
563
  lastFetchedPath.current = null;
@@ -572,9 +572,9 @@ function useDocumentTree(config, initialPath) {
572
572
  const hashIndex = path.indexOf("#");
573
573
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
574
574
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
575
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkCWRVTQUOcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
575
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkBM6JZRVDcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
576
576
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
577
- _chunkSA7LDEVJcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
577
+ _chunkCSJO7ZGNcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
578
578
  return;
579
579
  }
580
580
  const scrollAfterNav = () => {
@@ -582,7 +582,7 @@ function useDocumentTree(config, initialPath) {
582
582
  setTimeout(() => {
583
583
  const el = document.getElementById(anchor.substring(1));
584
584
  if (el) {
585
- _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkSA7LDEVJcjs.HUB_HEADER_OFFSET_PX });
585
+ _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, el, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
586
586
  } else {
587
587
  scrollToContent();
588
588
  }
@@ -636,15 +636,15 @@ function useDocumentTree(config, initialPath) {
636
636
  return docNavigation.register({
637
637
  baseRoute: normalizedBaseRoute,
638
638
  findNodeByPath: (path) => {
639
- const clean = _chunkCWRVTQUOcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
640
- return _nullishCoalesce(_chunkCWRVTQUOcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
639
+ const clean = _chunkBM6JZRVDcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
640
+ return _nullishCoalesce(_chunkBM6JZRVDcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
641
641
  },
642
642
  selectNode
643
643
  });
644
644
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
645
645
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
646
646
  if (!selectedPath || structure.length === 0) return false;
647
- const node = _chunkCWRVTQUOcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
647
+ const node = _chunkBM6JZRVDcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
648
648
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
649
649
  }, [selectedPath, structure]);
650
650
  return {
@@ -724,14 +724,14 @@ function DocViewerContent({
724
724
  },
725
725
  docPath
726
726
  );
727
- const { activeSection, handleSectionClick } = _chunkEKGL5K5Kcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
727
+ const { activeSection, handleSectionClick } = _chunkMT7ELGCVcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
728
728
  const docNav = useDocNavigation();
729
729
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
730
730
  const backCfg = backButton === false ? null : {
731
731
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
732
732
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
733
733
  };
734
- const docSearch = _chunkYQ37ZCD2cjs.useDocSearch.call(void 0, {
734
+ const docSearch = _chunkSQHTX5XPcjs.useDocSearch.call(void 0, {
735
735
  source: chatSource,
736
736
  baseRoute,
737
737
  searchEndpoint,
@@ -755,7 +755,7 @@ function DocViewerContent({
755
755
  onResolveLink: resolveLink
756
756
  });
757
757
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
758
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkCWRVTQUOcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
758
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkBM6JZRVDcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
759
759
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
760
760
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
761
761
  const showStickyNav = isMarkdownContent;
@@ -766,9 +766,9 @@ function DocViewerContent({
766
766
  const containerBgStyle = colorPalette.containerBackground !== "transparent" ? { backgroundColor: colorPalette.containerBackground } : {};
767
767
  const defaultEmptyText = structure.length > 0 ? "Select a document from the sidebar to view" : "No documents yet. Add content from the admin panel.";
768
768
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
769
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDSVNFRY5cjs.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, _chunkU2O5YQRPcjs.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: [
770
770
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
771
- _chunkYQ37ZCD2cjs.DocSearchBar,
771
+ _chunkSQHTX5XPcjs.DocSearchBar,
772
772
  {
773
773
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _19 => _19.toLowerCase, 'call', _20 => _20()]) || "documents"}...`,
774
774
  query: docSearch.query,
@@ -787,9 +787,9 @@ function DocViewerContent({
787
787
  ] })
788
788
  ] }) }),
789
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: [
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, _chunkIK2RJUEAcjs.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, _chunkWCY35GB5cjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
791
791
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
792
- _chunkEKGL5K5Kcjs.MobileNavigationDropdown,
792
+ _chunkMT7ELGCVcjs.MobileNavigationDropdown,
793
793
  {
794
794
  nodes: structure,
795
795
  selectedPath,
@@ -803,7 +803,7 @@ function DocViewerContent({
803
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: [
804
804
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
805
805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
806
- _chunkEKGL5K5Kcjs.MultiLevelNavigation,
806
+ _chunkMT7ELGCVcjs.MultiLevelNavigation,
807
807
  {
808
808
  nodes: structure,
809
809
  selectedPath,
@@ -842,7 +842,7 @@ function DocViewerContent({
842
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: [
843
843
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
844
844
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
845
- _chunkEKGL5K5Kcjs.StickySectionNav,
845
+ _chunkMT7ELGCVcjs.StickySectionNav,
846
846
  {
847
847
  sections: stickyNavSections,
848
848
  activeSection,
@@ -857,7 +857,7 @@ function DocViewerContent({
857
857
  ) })
858
858
  ] })
859
859
  ] }) }) });
860
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIK2RJUEAcjs.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, _chunkWCY35GB5cjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
861
861
  }
862
862
 
863
863
  // src/components/docs/skeletons.tsx
@@ -953,11 +953,11 @@ function EmbedSkeleton({ documentType } = {}) {
953
953
 
954
954
  var DEFAULT_TITLE = "Documents";
955
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" }) });
956
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4XL4YEZMcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
957
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4XL4YEZMcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
958
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIK2RJUEAcjs.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, _chunkYDFKFLDQcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
957
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYDFKFLDQcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
958
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
959
959
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
960
- _chunk4XL4YEZMcjs.FileDownloadCard,
960
+ _chunkYDFKFLDQcjs.FileDownloadCard,
961
961
  {
962
962
  fileName: content.fileName,
963
963
  mimeType: content.mimeType,
@@ -10,7 +10,7 @@ var _chunkA6P6DHEZcjs = require('./chunk-A6P6DHEZ.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkPQ2M7P2Ucjs = require('./chunk-PQ2M7P2U.cjs');
13
+ var _chunk5TCIRWHLcjs = require('./chunk-5TCIRWHL.cjs');
14
14
 
15
15
 
16
16
 
@@ -102,14 +102,14 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
102
102
 
103
103
 
104
104
 
105
- var _chunk7ZFCR7UYcjs = require('./chunk-7ZFCR7UY.cjs');
105
+ var _chunkABLUMGCIcjs = require('./chunk-ABLUMGCI.cjs');
106
106
 
107
107
 
108
108
  var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
109
109
 
110
110
 
111
111
 
112
- var _chunkFICJS5OAcjs = require('./chunk-FICJS5OA.cjs');
112
+ var _chunkKTPR66EEcjs = require('./chunk-KTPR66EE.cjs');
113
113
 
114
114
 
115
115
  var _chunkHOTM4UM6cjs = require('./chunk-HOTM4UM6.cjs');
@@ -411,10 +411,10 @@ function TruncateText({
411
411
  as = "div"
412
412
  }) {
413
413
  const isMultiLine = lines > 1;
414
- const { ref, isTruncated } = _chunkFICJS5OAcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
414
+ const { ref, isTruncated } = _chunkKTPR66EEcjs.useIsTruncated.call(void 0, children, { multiline: isMultiLine });
415
415
  const clampClass = isMultiLine ? LINE_CLAMP_CLASS[lines] : "truncate block";
416
416
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
417
- _chunk7ZFCR7UYcjs.FloatingTooltip,
417
+ _chunkABLUMGCIcjs.FloatingTooltip,
418
418
  {
419
419
  content: _nullishCoalesce(tooltip, () => ( children)),
420
420
  side,
@@ -741,7 +741,7 @@ function AutocompleteInner(props, ref) {
741
741
  ),
742
742
  children: [
743
743
  multiple && visibleTags.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
744
- _chunk7ZFCR7UYcjs.Tag,
744
+ _chunkABLUMGCIcjs.Tag,
745
745
  {
746
746
  variant: "outline",
747
747
  className: wrapTags ? "max-w-full" : void 0,
@@ -966,7 +966,7 @@ function AutocompleteInner(props, ref) {
966
966
  "aria-hidden": "true",
967
967
  className: "pointer-events-none invisible absolute left-0 top-0 -z-10 flex gap-2",
968
968
  children: selectedOptions.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
969
- _chunk7ZFCR7UYcjs.Tag,
969
+ _chunkABLUMGCIcjs.Tag,
970
970
  {
971
971
  variant: "outline",
972
972
  labelClassName: "max-w-[90px] truncate",
@@ -1446,11 +1446,11 @@ function usePageActionsBottomPadding(variant) {
1446
1446
 
1447
1447
  var ENTITY_IMAGE_SIZE = "size-[52px] content-md:size-[60px]";
1448
1448
  function EntityImage({ src, alt, fallbackText, sizeClassName, className }) {
1449
- const resolvedSrc = _chunkFICJS5OAcjs.useAuthedImageSrc.call(void 0, src);
1449
+ const resolvedSrc = _chunkKTPR66EEcjs.useAuthedImageSrc.call(void 0, src);
1450
1450
  const [failedSrc, setFailedSrc] = _react2.default.useState(null);
1451
1451
  const imageFailed = resolvedSrc !== void 0 && failedSrc === resolvedSrc;
1452
1452
  const showFallback = imageFailed || !resolvedSrc;
1453
- const initials = _chunk7ZFCR7UYcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
1453
+ const initials = _chunkABLUMGCIcjs.personInitials.call(void 0, _nullishCoalesce(fallbackText, () => ( alt)));
1454
1454
  if (showFallback) {
1455
1455
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1456
1456
  "div",
@@ -1523,8 +1523,8 @@ function TitleBlock({
1523
1523
  const titleClass = titleSize === "h1" ? "text-h1" : "text-h2";
1524
1524
  const titleOverflowClass = titleWrap ? "break-words" : "truncate";
1525
1525
  const skeletonSize = TITLE_SKELETON_SIZE[titleSize];
1526
- const { ref: titleRef, isTruncated: titleTruncated } = _chunkFICJS5OAcjs.useIsTruncated.call(void 0, loading ? null : title);
1527
- const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunkFICJS5OAcjs.useIsTruncated.call(void 0,
1526
+ const { ref: titleRef, isTruncated: titleTruncated } = _chunkKTPR66EEcjs.useIsTruncated.call(void 0, loading ? null : title);
1527
+ const { ref: subtitleRef, isTruncated: subtitleTruncated } = _chunkKTPR66EEcjs.useIsTruncated.call(void 0,
1528
1528
  loading ? null : subtitle
1529
1529
  );
1530
1530
  const titleNode = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TitleTextSkeleton, { widthClass: skeletonSize.width, heightClass: skeletonSize.height }) : title;
@@ -1561,7 +1561,7 @@ function TitleBlock({
1561
1561
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
1562
1562
  (loading || title) && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
1563
1563
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1564
- _chunk7ZFCR7UYcjs.FloatingTooltip,
1564
+ _chunkABLUMGCIcjs.FloatingTooltip,
1565
1565
  {
1566
1566
  content: title,
1567
1567
  side: "bottom",
@@ -1578,12 +1578,12 @@ function TitleBlock({
1578
1578
  }
1579
1579
  ),
1580
1580
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: titleAdornment })
1581
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7ZFCR7UYcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOF336YWGcjs.PageTitle, { ref: titleRef, className: _chunk3ATAYP36cjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
1581
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOF336YWGcjs.PageTitle, { ref: titleRef, className: _chunk3ATAYP36cjs.cn.call(void 0, titleClass, "text-ods-text-primary", titleOverflowClass), children: titleNode }) })),
1582
1582
  hasSubtitleRow && /* The NBSP is a pure spacer, reached only in `'always'` mode: an
1583
1583
  empty `p` collapses to zero height (its only content would be
1584
1584
  collapsible whitespace), which is exactly the shift that mode
1585
1585
  exists to prevent. Hidden from AT — it carries no meaning. */
1586
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7ZFCR7UYcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1586
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.FloatingTooltip, { content: subtitle, side: "bottom", disabled: !subtitleTruncated, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1587
1587
  "p",
1588
1588
  {
1589
1589
  ref: subtitleRef,
@@ -1594,7 +1594,7 @@ function TitleBlock({
1594
1594
  ) })
1595
1595
  ] })
1596
1596
  ] }) : title && (titleAdornment ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 items-center gap-[var(--spacing-system-m)]", children: [
1597
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7ZFCR7UYcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.FloatingTooltip, { content: title, side: "bottom", disabled: !titleTruncated, triggerClassName: "min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1598
1598
  _chunkOF336YWGcjs.PageTitle,
1599
1599
  {
1600
1600
  ref: titleRef,
@@ -1720,7 +1720,7 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
1720
1720
  children: [
1721
1721
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center", children: [
1722
1722
  faces.map((viewer, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1723
- _chunk7ZFCR7UYcjs.SquareAvatar,
1723
+ _chunkABLUMGCIcjs.SquareAvatar,
1724
1724
  {
1725
1725
  variant: "round",
1726
1726
  sizePx: 32,
@@ -1754,7 +1754,7 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
1754
1754
  ),
1755
1755
  children: [
1756
1756
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1757
- _chunk7ZFCR7UYcjs.SquareAvatar,
1757
+ _chunkABLUMGCIcjs.SquareAvatar,
1758
1758
  {
1759
1759
  variant: "round",
1760
1760
  sizePx: 24,
@@ -1800,7 +1800,7 @@ function RemoteSessionScope({ children, className }) {
1800
1800
  function RemoteSessionOrgLogo({ name, logoUrl, sizePx, className }) {
1801
1801
  if (logoUrl) {
1802
1802
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1803
- _chunk7ZFCR7UYcjs.SquareAvatar,
1803
+ _chunkABLUMGCIcjs.SquareAvatar,
1804
1804
  {
1805
1805
  variant: "square",
1806
1806
  fit: "contain",
@@ -1910,7 +1910,7 @@ function RemoteAccessRequestCard({
1910
1910
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteSessionOrgLogo, { name: organizationName, logoUrl: party.organizationLogoUrl, sizePx: 64 }),
1911
1911
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
1912
1912
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-primary text-h3", children: organizationName }),
1913
- siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children: _chunk7ZFCR7UYcjs.formatUrlForDisplay.call(void 0, siteUrl, { keepWww: true }) })
1913
+ siteUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full truncate text-ods-text-secondary text-h4", children: _chunkABLUMGCIcjs.formatUrlForDisplay.call(void 0, siteUrl, { keepWww: true }) })
1914
1914
  ] }),
1915
1915
  openableSite && onOpenSite && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { variant: "outline", size: "icon", "aria-label": "Open website", onClick: () => onOpenSite(openableSite), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEDVT7OAScjs.ExternalLinkIcon, { size: 24, color: "currentColor" }) })
1916
1916
  ] }),
@@ -2029,7 +2029,7 @@ function RemoteSessionSummary({
2029
2029
  ...dragHandlers,
2030
2030
  children: [
2031
2031
  technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2032
- _chunk7ZFCR7UYcjs.SquareAvatar,
2032
+ _chunkABLUMGCIcjs.SquareAvatar,
2033
2033
  {
2034
2034
  variant: "round",
2035
2035
  sizePx: 48,
@@ -2085,7 +2085,7 @@ var RemoteSessionMinimizedChip = _react.forwardRef.call(void 0,
2085
2085
  ...dragHandlers,
2086
2086
  children: [
2087
2087
  technician ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2088
- _chunk7ZFCR7UYcjs.SquareAvatar,
2088
+ _chunkABLUMGCIcjs.SquareAvatar,
2089
2089
  {
2090
2090
  sizePx: 48,
2091
2091
  src: _nullishCoalesce(party.technicianAvatarUrl, () => ( void 0)),
@@ -2235,7 +2235,7 @@ function RemoteSessionChatMessageRow({
2235
2235
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
2236
2236
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
2237
2237
  isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2238
- _chunk7ZFCR7UYcjs.SquareAvatar,
2238
+ _chunkABLUMGCIcjs.SquareAvatar,
2239
2239
  {
2240
2240
  variant: "round",
2241
2241
  sizePx: 16,
@@ -2270,7 +2270,7 @@ function RemoteDesktopChatMessageRow({
2270
2270
  }) {
2271
2271
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-[var(--spacing-system-xxs)]", children: [
2272
2272
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xxs)]", children: [
2273
- isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7ZFCR7UYcjs.SquareAvatar, { variant: "round", sizePx: 24, src: avatarUrl, alt: authorName, className: "shrink-0" }),
2273
+ isTechnician && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkABLUMGCIcjs.SquareAvatar, { variant: "round", sizePx: 24, src: avatarUrl, alt: authorName, className: "shrink-0" }),
2274
2274
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2275
2275
  "span",
2276
2276
  {
@@ -2281,7 +2281,7 @@ function RemoteDesktopChatMessageRow({
2281
2281
  children: authorName
2282
2282
  }
2283
2283
  ),
2284
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunkPQ2M7P2Ucjs.formatTime.call(void 0, sentAt) })
2284
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunk5TCIRWHLcjs.formatTime.call(void 0, sentAt) })
2285
2285
  ] }),
2286
2286
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "whitespace-pre-wrap text-ods-text-primary text-h4", children: body })
2287
2287
  ] });
@@ -2326,7 +2326,7 @@ function RemoteDesktopChatPanel({
2326
2326
  message.id
2327
2327
  )) }) }),
2328
2328
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2329
- _chunkPQ2M7P2Ucjs.ChatInput,
2329
+ _chunk5TCIRWHLcjs.ChatInput,
2330
2330
  {
2331
2331
  placeholder: "Enter your Message...",
2332
2332
  onSend,
@@ -2690,9 +2690,9 @@ function KeepRecordingModal({
2690
2690
  if (!canKeep || isPending) return;
2691
2691
  onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
2692
2692
  };
2693
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.Modal, { isOpen, onClose: isPending ? () => {
2693
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.Modal, { isOpen, onClose: isPending ? () => {
2694
2694
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2695
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalTitle, { children: "Keep this recording" }) }),
2695
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalTitle, { children: "Keep this recording" }) }),
2696
2696
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2697
2697
  KeepNotice,
2698
2698
  {
@@ -2730,7 +2730,7 @@ function KeepRecordingModal({
2730
2730
  }
2731
2731
  )
2732
2732
  ] }),
2733
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.ModalFooter, { children: [
2733
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.ModalFooter, { children: [
2734
2734
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2735
2735
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2736
2736
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2760,9 +2760,9 @@ function ReleaseKeepingModal({
2760
2760
  isPending = false,
2761
2761
  onConfirm
2762
2762
  }) {
2763
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.Modal, { isOpen, onClose: isPending ? () => {
2763
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.Modal, { isOpen, onClose: isPending ? () => {
2764
2764
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2765
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalTitle, { children: "Release Keeping" }) }),
2765
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalTitle, { children: "Release Keeping" }) }),
2766
2766
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] text-ods-text-primary text-h4", children: [
2767
2767
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
2768
2768
  "Kept by ",
@@ -2779,7 +2779,7 @@ function ReleaseKeepingModal({
2779
2779
  ] })
2780
2780
  ] }),
2781
2781
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeepNotice, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILWSAV64cjs.HourglassIcon, { size: 24, color: "currentColor" }), title: `It will expire on ${expiresOn}`, children: dueOn ? `It was due to expire on ${dueOn}. Releasing gives it 3 days' grace, and it shows amber until then. Whoever placed the Keep is reminded the day before it goes. Nothing is deleted now.` : "Nothing is deleted now." }),
2782
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.ModalFooter, { children: [
2782
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.ModalFooter, { children: [
2783
2783
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2784
2784
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2785
2785
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
@@ -2821,9 +2821,9 @@ function AssignTicketModal({
2821
2821
  if (ticketIds.length === 0 || isPending) return;
2822
2822
  onConfirm(ticketIds);
2823
2823
  };
2824
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.Modal, { isOpen, onClose: isPending ? () => {
2824
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.Modal, { isOpen, onClose: isPending ? () => {
2825
2825
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2826
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalTitle, { children: "Assign Ticket" }) }),
2826
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalTitle, { children: "Assign Ticket" }) }),
2827
2827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2828
2828
  Autocomplete,
2829
2829
  {
@@ -2842,7 +2842,7 @@ function AssignTicketModal({
2842
2842
  disabled: isPending
2843
2843
  }
2844
2844
  ),
2845
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.ModalFooter, { children: [
2845
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.ModalFooter, { children: [
2846
2846
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2847
2847
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2848
2848
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2861,11 +2861,11 @@ function AssignTicketModal({
2861
2861
  ] });
2862
2862
  }
2863
2863
  function UnassignTicketModal({ isOpen, onClose, isPending = false, onConfirm }) {
2864
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.Modal, { isOpen, onClose: isPending ? () => {
2864
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.Modal, { isOpen, onClose: isPending ? () => {
2865
2865
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2866
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPQ2M7P2Ucjs.ModalTitle, { children: "Unassign Ticket" }) }),
2866
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TCIRWHLcjs.ModalTitle, { children: "Unassign Ticket" }) }),
2867
2867
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This Ticket will no longer be linked to this remote session. The ticket itself stays as it is, and you can assign it again anytime." }),
2868
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkPQ2M7P2Ucjs.ModalFooter, { children: [
2868
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk5TCIRWHLcjs.ModalFooter, { children: [
2869
2869
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2870
2870
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2871
2871
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { type: "button", variant: "destructive", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Unassign" })
@@ -2945,7 +2945,7 @@ var STATUS_TAG = {
2945
2945
  function RemoteSessionStatusTag({ status, className }) {
2946
2946
  const { label, variant } = STATUS_TAG[status];
2947
2947
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2948
- _chunk7ZFCR7UYcjs.Tag,
2948
+ _chunkABLUMGCIcjs.Tag,
2949
2949
  {
2950
2950
  label,
2951
2951
  variant,