@flamingo-stack/openframe-frontend-core 0.0.752 → 0.0.753

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 (92) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-OXEAN3EQ.cjs → chunk-35BJY5RR.cjs} +44 -44
  3. package/dist/{chunk-ZYRRRKSZ.cjs → chunk-5E6JHOGX.cjs} +3 -3
  4. package/dist/{chunk-35RU25PJ.cjs → chunk-7Z4EQOIX.cjs} +44 -44
  5. package/dist/{chunk-4PEG4JTM.cjs → chunk-B27XV2TC.cjs} +6 -6
  6. package/dist/{chunk-WQCLN27R.cjs → chunk-C6JHDRK3.cjs} +4 -4
  7. package/dist/{chunk-KBJSZFBZ.cjs → chunk-ITQZK3UT.cjs} +3 -3
  8. package/dist/{chunk-JI6NRWCC.cjs → chunk-J3E5UN2O.cjs} +13 -13
  9. package/dist/{chunk-7WEGXNNS.cjs → chunk-JLAYELWS.cjs} +30 -30
  10. package/dist/{chunk-EUQJ7QHW.cjs → chunk-QXQHCX2R.cjs} +4 -4
  11. package/dist/{chunk-IPVJAML5.cjs → chunk-R45NJ5ZA.cjs} +69 -69
  12. package/dist/{chunk-P4ODFQGA.cjs → chunk-RGYLC3US.cjs} +4 -4
  13. package/dist/{chunk-EM4OEWCM.cjs → chunk-SDF5UUTE.cjs} +749 -608
  14. package/dist/{chunk-7OEVVMAU.cjs → chunk-T4BBZ5ST.cjs} +2 -2
  15. package/dist/{chunk-U2AE4UG7.cjs → chunk-UNRNLSG4.cjs} +2 -2
  16. package/dist/{chunk-4OTCQEP3.cjs → chunk-UVTJT5BK.cjs} +11 -11
  17. package/dist/{chunk-Y6PVZRYL.cjs → chunk-W77VPNBJ.cjs} +12 -12
  18. package/dist/{chunk-ZVOXBSDP.cjs → chunk-WBOHLXFC.cjs} +2 -2
  19. package/dist/{chunk-OXCGQV6B.cjs → chunk-WIT36ZTN.cjs} +65 -65
  20. package/dist/{chunk-J5G4CF2V.cjs → chunk-XSOGT6DF.cjs} +16 -16
  21. package/dist/{chunk-VD3XBUQR.cjs → chunk-XW6WSW36.cjs} +158 -158
  22. package/dist/{chunk-KUVYVAS2.cjs → chunk-Y7AZCDLZ.cjs} +16 -16
  23. package/dist/{chunk-XADJG35G.cjs → chunk-Z6TUOE6L.cjs} +31 -31
  24. package/dist/{chunk-G44V3UGE.cjs → chunk-ZGADZHLD.cjs} +81 -81
  25. package/dist/{chunk-RDH63XXW.cjs → chunk-ZJ77IOMY.cjs} +34 -34
  26. package/dist/{cloud-tenants-WAOMZZQ2.cjs → cloud-tenants-7LTS4DAP.cjs} +7 -7
  27. package/dist/components/case-studies/index.cjs +20 -20
  28. package/dist/components/chat/chat-dialog-menu-items.js +6 -6
  29. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  30. package/dist/components/chat/chat-message-enhanced.js +3 -0
  31. package/dist/components/chat/chat-panel-context.d.ts +3 -0
  32. package/dist/components/chat/chat-panel-context.d.ts.map +1 -1
  33. package/dist/components/chat/embeddable-chat.d.ts +20 -0
  34. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  35. package/dist/components/chat/embeddable-chat.js +78 -8
  36. package/dist/components/chat/hooks/index.d.ts +1 -0
  37. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  38. package/dist/components/chat/hooks/index.js +1 -0
  39. package/dist/components/chat/hooks/use-what-to-ask.d.ts +69 -0
  40. package/dist/components/chat/hooks/use-what-to-ask.d.ts.map +1 -0
  41. package/dist/components/chat/hooks/use-what-to-ask.js +106 -0
  42. package/dist/components/chat/index.cjs +13 -5
  43. package/dist/components/chat/index.d.ts +1 -0
  44. package/dist/components/chat/index.d.ts.map +1 -1
  45. package/dist/components/chat/index.js +1 -0
  46. package/dist/components/chat/mingo-chat-header.d.ts +4 -2
  47. package/dist/components/chat/mingo-chat-header.d.ts.map +1 -1
  48. package/dist/components/chat/mingo-chat-header.js +7 -2
  49. package/dist/components/chat/suggestions-display.d.ts +11 -0
  50. package/dist/components/chat/suggestions-display.d.ts.map +1 -0
  51. package/dist/components/chat/suggestions-display.js +27 -0
  52. package/dist/components/chat/types/message.types.d.ts +27 -1
  53. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  54. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  55. package/dist/components/chat/utils/extract-incomplete-message-state.js +2 -0
  56. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  57. package/dist/components/chat/utils/message-segment-accumulator.js +3 -0
  58. package/dist/components/contact/index.cjs +8 -8
  59. package/dist/components/docs/index.cjs +11 -11
  60. package/dist/components/embeds/index.cjs +8 -8
  61. package/dist/components/faq/index.cjs +9 -9
  62. package/dist/components/features/index.cjs +7 -7
  63. package/dist/components/help-center-pages/index.cjs +84 -84
  64. package/dist/components/index.cjs +64 -56
  65. package/dist/components/meeting-scheduler/index.cjs +31 -31
  66. package/dist/components/navigation/index.cjs +10 -10
  67. package/dist/components/onboarding-guides/index.cjs +10 -10
  68. package/dist/components/product-demo/index.cjs +7 -7
  69. package/dist/components/related-content/index.cjs +5 -5
  70. package/dist/components/tickets/index.cjs +13 -13
  71. package/dist/components/ui/index.cjs +15 -7
  72. package/dist/{devices-VFEPXW2N.cjs → devices-CGDJAYRB.cjs} +8 -8
  73. package/dist/{embeddable-chat-BYQBABDV.cjs → embeddable-chat-CMEHSDV7.cjs} +163 -91
  74. package/dist/index.cjs +19 -11
  75. package/dist/{knowledge-4TE7AWZX.cjs → knowledge-X5I4QJKV.cjs} +8 -8
  76. package/dist/{logs-3B2P3JXN.cjs → logs-GDGIRJFI.cjs} +15 -15
  77. package/dist/{policies-DVI6V22X.cjs → policies-2UOCENDX.cjs} +11 -11
  78. package/dist/{scripts-JJ2BVYQ5.cjs → scripts-AS4GEG6L.cjs} +12 -12
  79. package/dist/{software-update-BN23RATE.cjs → software-update-ADPUFMFY.cjs} +10 -10
  80. package/package.json +1 -1
  81. package/src/components/chat/chat-dialog-menu-items.tsx +6 -6
  82. package/src/components/chat/chat-message-enhanced.tsx +3 -0
  83. package/src/components/chat/chat-panel-context.tsx +3 -0
  84. package/src/components/chat/embeddable-chat.tsx +132 -9
  85. package/src/components/chat/hooks/index.ts +1 -0
  86. package/src/components/chat/hooks/use-what-to-ask.ts +203 -0
  87. package/src/components/chat/index.ts +1 -0
  88. package/src/components/chat/mingo-chat-header.tsx +11 -4
  89. package/src/components/chat/suggestions-display.tsx +41 -0
  90. package/src/components/chat/types/message.types.ts +31 -1
  91. package/src/components/chat/utils/extract-incomplete-message-state.ts +2 -0
  92. package/src/components/chat/utils/message-segment-accumulator.ts +4 -0
@@ -3,23 +3,23 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkKBJSZFBZcjs = require('./chunk-KBJSZFBZ.cjs');
6
+ var _chunkITQZK3UTcjs = require('./chunk-ITQZK3UT.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkP4ODFQGAcjs = require('./chunk-P4ODFQGA.cjs');
12
+ var _chunkRGYLC3UScjs = require('./chunk-RGYLC3US.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkY6PVZRYLcjs = require('./chunk-Y6PVZRYL.cjs');
16
+ var _chunkW77VPNBJcjs = require('./chunk-W77VPNBJ.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
21
 
22
- var _chunkVD3XBUQRcjs = require('./chunk-VD3XBUQR.cjs');
22
+ var _chunkXW6WSW36cjs = require('./chunk-XW6WSW36.cjs');
23
23
 
24
24
 
25
25
  var _chunk3GG3QAPTcjs = require('./chunk-3GG3QAPT.cjs');
@@ -28,7 +28,7 @@ var _chunk3GG3QAPTcjs = require('./chunk-3GG3QAPT.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunkOXCGQV6Bcjs = require('./chunk-OXCGQV6B.cjs');
31
+ var _chunkWIT36ZTNcjs = require('./chunk-WIT36ZTN.cjs');
32
32
 
33
33
 
34
34
 
@@ -344,8 +344,8 @@ function toDocContent(value, requestedPath) {
344
344
  }
345
345
  function useDocumentTree(config, initialPath) {
346
346
  const { structureEndpoint, contentEndpoint, baseRoute } = config;
347
- const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkOXCGQV6Bcjs.DEFAULT_FOLDER_INDEX_FILE));
348
- const cleanInitialPath = _chunkOXCGQV6Bcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
347
+ const folderIndexFile = _nullishCoalesce(config.folderIndexFile, () => ( _chunkWIT36ZTNcjs.DEFAULT_FOLDER_INDEX_FILE));
348
+ const cleanInitialPath = _chunkWIT36ZTNcjs.stripFolderIndexFromPath.call(void 0, _optionalChain([initialPath, 'optionalAccess', _4 => _4.replace, 'call', _5 => _5(/\/$/, "")]) || "", folderIndexFile);
349
349
  const [structure, setStructure] = _react.useState.call(void 0, []);
350
350
  const [selectedPath, setSelectedPath] = _react.useState.call(void 0, cleanInitialPath);
351
351
  const [content, setContent] = _react.useState.call(void 0, null);
@@ -369,12 +369,12 @@ function useDocumentTree(config, initialPath) {
369
369
  } else if (pathname.startsWith(`${normalizedBaseRoute}/`)) {
370
370
  pathFromUrl = pathname.substring(`${normalizedBaseRoute}/`.length);
371
371
  }
372
- pathFromUrl = _chunkOXCGQV6Bcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
372
+ pathFromUrl = _chunkWIT36ZTNcjs.stripFolderIndexFromPath.call(void 0, pathFromUrl, folderIndexFile);
373
373
  if (pathFromUrl !== selectedPathRef.current) {
374
374
  setSelectedPath(pathFromUrl);
375
375
  if (pathFromUrl) {
376
376
  const parentPath = pathFromUrl.includes("/") ? pathFromUrl.substring(0, pathFromUrl.lastIndexOf("/")) : pathFromUrl;
377
- setExpandedNodes(new Set(_chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
377
+ setExpandedNodes(new Set(_chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
378
378
  }
379
379
  setTimeout(() => {
380
380
  scrollToContent();
@@ -392,7 +392,7 @@ function useDocumentTree(config, initialPath) {
392
392
  setSelectedPath(cleanInitialPath);
393
393
  if (cleanInitialPath) {
394
394
  const parentPath = cleanInitialPath.includes("/") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
395
- setExpandedNodes(new Set(_chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
395
+ setExpandedNodes(new Set(_chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, parentPath)));
396
396
  }
397
397
  setExternalNavCount((n) => n + 1);
398
398
  }
@@ -417,7 +417,7 @@ function useDocumentTree(config, initialPath) {
417
417
  if (cleanInitialPath) {
418
418
  const pathForExpansion = cleanInitialPath.includes(".") ? cleanInitialPath.substring(0, cleanInitialPath.lastIndexOf("/")) : cleanInitialPath;
419
419
  if (pathForExpansion) {
420
- setExpandedNodes(new Set(_chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
420
+ setExpandedNodes(new Set(_chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, pathForExpansion)));
421
421
  }
422
422
  } else if (nodes.length > 0) {
423
423
  const hasRootReadme = nodes.some((node) => node.type === "file" && node.path === folderIndexFile);
@@ -457,7 +457,7 @@ function useDocumentTree(config, initialPath) {
457
457
  setContent(null);
458
458
  return;
459
459
  }
460
- const probe = _chunkOXCGQV6Bcjs.findDocNodeByPath.call(void 0, _chunkOXCGQV6Bcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
460
+ const probe = _chunkWIT36ZTNcjs.findDocNodeByPath.call(void 0, _chunkWIT36ZTNcjs.stripFolderIndexFromPath.call(void 0, path, folderIndexFile), structure);
461
461
  const probeIsNoReadmeFolder = !!probe && probe.type === "folder" && !probe.hasReadme;
462
462
  const preStructureFolderLike = structure.length === 0 && !path.endsWith(".md");
463
463
  if (probeIsNoReadmeFolder || preStructureFolderLike) {
@@ -514,7 +514,7 @@ function useDocumentTree(config, initialPath) {
514
514
  if (selectedPath === "") {
515
515
  pathToFetch = folderIndexFile;
516
516
  } else {
517
- const node = _chunkOXCGQV6Bcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
517
+ const node = _chunkWIT36ZTNcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
518
518
  if (node && node.type === "folder" && !node.hasReadme) {
519
519
  const firstDocPath = findFirstDocPath(node);
520
520
  if (!firstDocPath) {
@@ -555,16 +555,16 @@ function useDocumentTree(config, initialPath) {
555
555
  if (node.type === "folder") {
556
556
  setExpandedNodes((prev) => {
557
557
  if (prev.has(node.id)) {
558
- const ancestorIds = _chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, node.path);
558
+ const ancestorIds = _chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, node.path);
559
559
  ancestorIds.pop();
560
560
  return new Set(ancestorIds);
561
561
  }
562
- return new Set(_chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, node.path));
562
+ return new Set(_chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, node.path));
563
563
  });
564
564
  } else {
565
565
  const lastSlash = node.path.lastIndexOf("/");
566
566
  if (lastSlash > 0) {
567
- setExpandedNodes(new Set(_chunkOXCGQV6Bcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
567
+ setExpandedNodes(new Set(_chunkWIT36ZTNcjs.getDocAncestorNodeIds.call(void 0, node.path.substring(0, lastSlash))));
568
568
  }
569
569
  }
570
570
  lastFetchedPath.current = null;
@@ -579,7 +579,7 @@ function useDocumentTree(config, initialPath) {
579
579
  const hashIndex = path.indexOf("#");
580
580
  const anchor = hashIndex !== -1 ? path.substring(hashIndex) : "";
581
581
  const cleanPath = path.replace(/\/$/, "").split("#")[0];
582
- const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkOXCGQV6Bcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
582
+ const pathForSelection = anchor && _optionalChain([options, 'optionalAccess', _6 => _6.fromInternalLink]) && cleanPath === "" ? selectedPathRef.current : _chunkWIT36ZTNcjs.stripFolderIndexFromPath.call(void 0, cleanPath, folderIndexFile);
583
583
  if (anchor && _optionalChain([options, 'optionalAccess', _7 => _7.fromInternalLink]) && pathForSelection === selectedPathRef.current) {
584
584
  _chunkCSJO7ZGNcjs.navigateSamePageHash.call(void 0, anchor, { headerOffset: _chunkCSJO7ZGNcjs.HUB_HEADER_OFFSET_PX });
585
585
  return;
@@ -643,15 +643,15 @@ function useDocumentTree(config, initialPath) {
643
643
  return docNavigation.register({
644
644
  baseRoute: normalizedBaseRoute,
645
645
  findNodeByPath: (path) => {
646
- const clean = _chunkOXCGQV6Bcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
647
- return _nullishCoalesce(_chunkOXCGQV6Bcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
646
+ const clean = _chunkWIT36ZTNcjs.stripFolderIndexFromPath.call(void 0, path.replace(/\/$/, "").split("#")[0], folderIndexFile);
647
+ return _nullishCoalesce(_chunkWIT36ZTNcjs.findDocNodeByPath.call(void 0, clean, structure), () => ( null));
648
648
  },
649
649
  selectNode
650
650
  });
651
651
  }, [docNavigation, normalizedBaseRoute, structure, selectNode, folderIndexFile]);
652
652
  const isEmptyFolder = _react.useMemo.call(void 0, () => {
653
653
  if (!selectedPath || structure.length === 0) return false;
654
- const node = _chunkOXCGQV6Bcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
654
+ const node = _chunkWIT36ZTNcjs.findDocNodeByPath.call(void 0, selectedPath, structure);
655
655
  return !!node && node.type === "folder" && !node.hasReadme && !findFirstDocPath(node);
656
656
  }, [selectedPath, structure]);
657
657
  return {
@@ -731,14 +731,14 @@ function DocViewerContent({
731
731
  },
732
732
  docPath
733
733
  );
734
- const { activeSection, handleSectionClick } = _chunkP4ODFQGAcjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
734
+ const { activeSection, handleSectionClick } = _chunkRGYLC3UScjs.useScrollSpy.call(void 0, _optionalChain([content, 'optionalAccess', _11 => _11.sections]));
735
735
  const docNav = useDocNavigation();
736
736
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
737
737
  const backCfg = backButton === false ? null : {
738
738
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _12 => _12.label]), () => ( "Back to home")),
739
739
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _13 => _13.href]), () => ( "/")))
740
740
  };
741
- const docSearch = _chunkY6PVZRYLcjs.useDocSearch.call(void 0, {
741
+ const docSearch = _chunkW77VPNBJcjs.useDocSearch.call(void 0, {
742
742
  source: chatSource,
743
743
  baseRoute,
744
744
  searchEndpoint,
@@ -762,7 +762,7 @@ function DocViewerContent({
762
762
  onResolveLink: resolveLink
763
763
  });
764
764
  }, [content, renderContent, navigateToDoc, sourceId, resolveLink]);
765
- const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkOXCGQV6Bcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
765
+ const selectedNodeDocType = selectedPath && structure.length > 0 ? _optionalChain([_chunkWIT36ZTNcjs.findDocNodeByPath.call(void 0, selectedPath, structure), 'optionalAccess', _14 => _14.documentType]) : void 0;
766
766
  const activeDocType = _nullishCoalesce(_optionalChain([content, 'optionalAccess', _15 => _15.documentType]), () => ( selectedNodeDocType));
767
767
  const isMarkdownContent = !activeDocType || activeDocType === "markdown";
768
768
  const showStickyNav = isMarkdownContent;
@@ -775,7 +775,7 @@ function DocViewerContent({
775
775
  const resolvedEmptyText = emptyStateText || defaultEmptyText;
776
776
  const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { ...bgStyle, ...containerBgStyle }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GG3QAPTcjs.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: [
777
777
  showAIChat && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
778
- _chunkY6PVZRYLcjs.DocSearchBar,
778
+ _chunkW77VPNBJcjs.DocSearchBar,
779
779
  {
780
780
  placeholder: `Search ${_optionalChain([sidebarLabel, 'optionalAccess', _19 => _19.toLowerCase, 'call', _20 => _20()]) || "documents"}...`,
781
781
  query: docSearch.query,
@@ -794,9 +794,9 @@ function DocViewerContent({
794
794
  ] })
795
795
  ] }) }),
796
796
  !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: [
797
- /* @__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, _chunkVD3XBUQRcjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
797
+ /* @__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, _chunkXW6WSW36cjs.CategorySidebarSkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
798
798
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PersistentMobileDropdown, { isLoading: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
799
- _chunkP4ODFQGAcjs.MobileNavigationDropdown,
799
+ _chunkRGYLC3UScjs.MobileNavigationDropdown,
800
800
  {
801
801
  nodes: structure,
802
802
  selectedPath,
@@ -810,7 +810,7 @@ function DocViewerContent({
810
810
  /* @__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: [
811
811
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: sidebarLabel }),
812
812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
813
- _chunkP4ODFQGAcjs.MultiLevelNavigation,
813
+ _chunkRGYLC3UScjs.MultiLevelNavigation,
814
814
  {
815
815
  nodes: structure,
816
816
  selectedPath,
@@ -849,7 +849,7 @@ function DocViewerContent({
849
849
  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: [
850
850
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mb-4 font-semibold text-ods-text-secondary text-h5", children: "ON THIS PAGE" }),
851
851
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
852
- _chunkP4ODFQGAcjs.StickySectionNav,
852
+ _chunkRGYLC3UScjs.StickySectionNav,
853
853
  {
854
854
  sections: stickyNavSections,
855
855
  activeSection,
@@ -864,7 +864,7 @@ function DocViewerContent({
864
864
  ) })
865
865
  ] })
866
866
  ] }) }) });
867
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
867
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXW6WSW36cjs.PageShell, { contentClassName: `${bgClass} ${className}`, children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `page-shell-content ${bgClass} ${className}`.trim(), children: inner });
868
868
  }
869
869
 
870
870
  // src/components/docs/skeletons.tsx
@@ -950,7 +950,7 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
950
950
  ] }),
951
951
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center gap-2 content-sm:w-auto", children: Array.from({ length: buttonCount }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-10 w-full flex-1 rounded content-sm:w-32 content-sm:flex-initial" }, i)) })
952
952
  ] }),
953
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.EmbedLoadingSkeleton, { region: false })
953
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXW6WSW36cjs.EmbedLoadingSkeleton, { region: false })
954
954
  ] });
955
955
  }
956
956
 
@@ -958,11 +958,11 @@ function EmbedSkeleton({ documentType, region = true } = {}) {
958
958
 
959
959
  var DEFAULT_TITLE = "Documents";
960
960
  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" }) });
961
- var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKBJSZFBZcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
962
- var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKBJSZFBZcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
963
- var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
961
+ var defaultPdfRenderer = (content, handlers) => content.fileUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkITQZK3UTcjs.PdfViewer, { src: content.fileUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
962
+ var defaultGoogleSheetRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkITQZK3UTcjs.GoogleSheetsViewer, { externalUrl: content.externalUrl, fileName: content.fileName }) : defaultFallbackRenderer(content, handlers);
963
+ var defaultFigmaRenderer = (content, handlers) => content.externalUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXW6WSW36cjs.FigmaEmbed, { url: content.externalUrl, title: content.fileName, loading: "eager" }) : defaultFallbackRenderer(content, handlers);
964
964
  var defaultFileRenderer = (content) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
965
- _chunkKBJSZFBZcjs.FileDownloadCard,
965
+ _chunkITQZK3UTcjs.FileDownloadCard,
966
966
  {
967
967
  fileName: content.fileName,
968
968
  mimeType: content.mimeType,
@@ -9,7 +9,7 @@ var _chunkSTEJZPIOcjs = require('./chunk-STEJZPIO.cjs');
9
9
  var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
10
10
 
11
11
 
12
- var _chunkVD3XBUQRcjs = require('./chunk-VD3XBUQR.cjs');
12
+ var _chunkXW6WSW36cjs = require('./chunk-XW6WSW36.cjs');
13
13
  require('./chunk-AG4HR6Z6.cjs');
14
14
  require('./chunk-NTGIQP7O.cjs');
15
15
  require('./chunk-3GG3QAPT.cjs');
@@ -20,10 +20,10 @@ require('./chunk-LU7TD6QS.cjs');
20
20
  require('./chunk-24I6RFVU.cjs');
21
21
  require('./chunk-A6P6DHEZ.cjs');
22
22
  require('./chunk-MZ4KBSH7.cjs');
23
- require('./chunk-7OEVVMAU.cjs');
23
+ require('./chunk-T4BBZ5ST.cjs');
24
24
  require('./chunk-YUMFVQIN.cjs');
25
- require('./chunk-OXCGQV6B.cjs');
26
- require('./chunk-EM4OEWCM.cjs');
25
+ require('./chunk-WIT36ZTN.cjs');
26
+ require('./chunk-SDF5UUTE.cjs');
27
27
  require('./chunk-LVO7FALW.cjs');
28
28
  require('./chunk-3RFQPQ7Z.cjs');
29
29
  require('./chunk-YRULLK7N.cjs');
@@ -1824,8 +1824,8 @@ require('./chunk-7DNL734S.cjs');
1824
1824
  require('./chunk-WWUSFOJ7.cjs');
1825
1825
  require('./chunk-SKI6NKOE.cjs');
1826
1826
  require('./chunk-EWPR7662.cjs');
1827
- require('./chunk-4PEG4JTM.cjs');
1828
- require('./chunk-35RU25PJ.cjs');
1827
+ require('./chunk-B27XV2TC.cjs');
1828
+ require('./chunk-7Z4EQOIX.cjs');
1829
1829
  require('./chunk-QYLIHZKZ.cjs');
1830
1830
  require('./chunk-63N4FN5V.cjs');
1831
1831
  require('./chunk-L2IQESTQ.cjs');
@@ -1920,7 +1920,7 @@ var getHref = () => "#";
1920
1920
  function CloudTenantsScreen(_props) {
1921
1921
  const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
1922
1922
  const fixture = _react.useMemo.call(void 0, () => buildCloudTenantsFixture(cast), [cast]);
1923
- const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1923
+ const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXW6WSW36cjs.TenantsTableView, { rows: fixture.rows, getHref, now: fixture.now });
1924
1924
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg p-[var(--spacing-system-l)]", children: table });
1925
1925
  }
1926
1926
 
@@ -4,13 +4,13 @@
4
4
  var _chunkDTKGIG4Acjs = require('../../chunk-DTKGIG4A.cjs');
5
5
 
6
6
 
7
- var _chunk4OTCQEP3cjs = require('../../chunk-4OTCQEP3.cjs');
7
+ var _chunkUVTJT5BKcjs = require('../../chunk-UVTJT5BK.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunkVD3XBUQRcjs = require('../../chunk-VD3XBUQR.cjs');
13
+ var _chunkXW6WSW36cjs = require('../../chunk-XW6WSW36.cjs');
14
14
  require('../../chunk-AG4HR6Z6.cjs');
15
15
  require('../../chunk-NTGIQP7O.cjs');
16
16
  require('../../chunk-3GG3QAPT.cjs');
@@ -21,13 +21,13 @@ require('../../chunk-LU7TD6QS.cjs');
21
21
  require('../../chunk-24I6RFVU.cjs');
22
22
  require('../../chunk-A6P6DHEZ.cjs');
23
23
  require('../../chunk-MZ4KBSH7.cjs');
24
- require('../../chunk-7OEVVMAU.cjs');
24
+ require('../../chunk-T4BBZ5ST.cjs');
25
25
  require('../../chunk-YUMFVQIN.cjs');
26
- require('../../chunk-OXCGQV6B.cjs');
26
+ require('../../chunk-WIT36ZTN.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkEM4OEWCMcjs = require('../../chunk-EM4OEWCM.cjs');
30
+ var _chunkSDF5UUTEcjs = require('../../chunk-SDF5UUTE.cjs');
31
31
  require('../../chunk-LVO7FALW.cjs');
32
32
  require('../../chunk-3RFQPQ7Z.cjs');
33
33
  require('../../chunk-YRULLK7N.cjs');
@@ -1838,12 +1838,12 @@ require('../../chunk-7DNL734S.cjs');
1838
1838
  require('../../chunk-WWUSFOJ7.cjs');
1839
1839
  require('../../chunk-SKI6NKOE.cjs');
1840
1840
  require('../../chunk-EWPR7662.cjs');
1841
- require('../../chunk-4PEG4JTM.cjs');
1841
+ require('../../chunk-B27XV2TC.cjs');
1842
1842
 
1843
1843
 
1844
1844
 
1845
1845
 
1846
- var _chunk35RU25PJcjs = require('../../chunk-35RU25PJ.cjs');
1846
+ var _chunk7Z4EQOIXcjs = require('../../chunk-7Z4EQOIX.cjs');
1847
1847
  require('../../chunk-QYLIHZKZ.cjs');
1848
1848
  require('../../chunk-63N4FN5V.cjs');
1849
1849
  require('../../chunk-L2IQESTQ.cjs');
@@ -1882,7 +1882,7 @@ require('../../chunk-3ATAYP36.cjs');
1882
1882
 
1883
1883
  // src/components/case-studies/share-experience-section.tsx
1884
1884
  var _jsxruntime = require('react/jsx-runtime');
1885
- var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.HeadingLines, { children: [
1885
+ var DEFAULT_TITLE = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.HeadingLines, { children: [
1886
1886
  "Share Your Experience",
1887
1887
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1888
1888
  "with Fellow MSPs",
@@ -1919,7 +1919,7 @@ function ShareExperienceSection({
1919
1919
  } = {}) {
1920
1920
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: `flex flex-col gap-10${className ? ` ${className}` : ""}`, children: [
1921
1921
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-primary", children: [
1922
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunk35RU25PJcjs.accentSentenceMarks.call(void 0, title) }),
1922
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h1", children: _chunk7Z4EQOIXcjs.accentSentenceMarks.call(void 0, title) }),
1923
1923
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-6 max-w-[765px] text-h4", children: subtitle })
1924
1924
  ] }),
1925
1925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-md border border-ods-border bg-ods-bg p-10", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-10", children: [
@@ -1927,9 +1927,9 @@ function ShareExperienceSection({
1927
1927
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h2", children: howItWorksTitle }),
1928
1928
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: howItWorksBody })
1929
1929
  ] }),
1930
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVD3XBUQRcjs.BenefitCardGrid, { columns: 4, children: [
1930
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkXW6WSW36cjs.BenefitCardGrid, { columns: 4, children: [
1931
1931
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1932
- _chunkVD3XBUQRcjs.BenefitCard,
1932
+ _chunkXW6WSW36cjs.BenefitCard,
1933
1933
  {
1934
1934
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMJQLBIZMcjs.G2Icon, { color: "var(--social-g2)", size: 24 }) }),
1935
1935
  title: "G2",
@@ -1938,7 +1938,7 @@ function ShareExperienceSection({
1938
1938
  }
1939
1939
  ),
1940
1940
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1941
- _chunkVD3XBUQRcjs.BenefitCard,
1941
+ _chunkXW6WSW36cjs.BenefitCard,
1942
1942
  {
1943
1943
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2VKPXOBcjs.CapterraIcon, { size: 24 }) }),
1944
1944
  title: "Capterra",
@@ -1947,7 +1947,7 @@ function ShareExperienceSection({
1947
1947
  }
1948
1948
  ),
1949
1949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1950
- _chunkVD3XBUQRcjs.BenefitCard,
1950
+ _chunkXW6WSW36cjs.BenefitCard,
1951
1951
  {
1952
1952
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTLKSZG3Dcjs.TrustpilotIcon, { size: 24 }) }),
1953
1953
  title: "TrustPilot",
@@ -1956,7 +1956,7 @@ function ShareExperienceSection({
1956
1956
  }
1957
1957
  ),
1958
1958
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1959
- _chunkVD3XBUQRcjs.BenefitCard,
1959
+ _chunkXW6WSW36cjs.BenefitCard,
1960
1960
  {
1961
1961
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILYW6BQNcjs.GetappIcon, { size: 24 }) }),
1962
1962
  title: "GetApp",
@@ -1965,7 +1965,7 @@ function ShareExperienceSection({
1965
1965
  }
1966
1966
  )
1967
1967
  ] }),
1968
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4OTCQEP3cjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUVTJT5BKcjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
1969
1969
  ] }) })
1970
1970
  ] });
1971
1971
  }
@@ -1975,7 +1975,7 @@ function ShareExperienceSection({
1975
1975
  function EntityQuotesPanel({ quotes, className }) {
1976
1976
  if (!quotes || quotes.length === 0) return null;
1977
1977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1978
- _chunkVD3XBUQRcjs.StackedRowsPanel,
1978
+ _chunkXW6WSW36cjs.StackedRowsPanel,
1979
1979
  {
1980
1980
  className,
1981
1981
  title: `${_chunkDTKGIG4Acjs.ENTITY_QUOTES_TITLE} \xB7 ${quotes.length}`,
@@ -2004,7 +2004,7 @@ function EntityQuotesPanel({ quotes, className }) {
2004
2004
  function QuoteCardsStrip({ quotes, className }) {
2005
2005
  if (quotes.length === 0) return null;
2006
2006
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2007
- _chunkEM4OEWCMcjs.CardsStrip,
2007
+ _chunkSDF5UUTEcjs.CardsStrip,
2008
2008
  {
2009
2009
  className,
2010
2010
  showTitle: false,
@@ -2012,15 +2012,15 @@ function QuoteCardsStrip({ quotes, className }) {
2012
2012
  items: [...quotes],
2013
2013
  itemKey: (quote) => quote.key,
2014
2014
  renderCard: (quote, ctx) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2015
- _chunk35RU25PJcjs.Card,
2015
+ _chunk7Z4EQOIXcjs.Card,
2016
2016
  {
2017
2017
  "aria-hidden": ctx.isClone || void 0,
2018
2018
  onPointerEnter: ctx.isTouch ? void 0 : () => ctx.onActivate(ctx.cardKey),
2019
2019
  onPointerLeave: ctx.isTouch ? void 0 : () => ctx.onDeactivate(ctx.cardKey),
2020
2020
  className: "relative shrink-0 rounded-md border-ods-border bg-ods-card p-[var(--spacing-system-sf)] shadow-none hover:border-ods-border-hover",
2021
2021
  children: [
2022
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVD3XBUQRcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2023
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEM4OEWCMcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
2022
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXW6WSW36cjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
2023
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDF5UUTEcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
2024
2024
  ]
2025
2025
  },
2026
2026
  ctx.cardKey
@@ -9,18 +9,18 @@ function chatDialogMenuItems({
9
9
  onArchive
10
10
  }) {
11
11
  const items = [
12
- onCopyLink && {
13
- id: "copy-link",
14
- label: "Copy Chat Link",
15
- icon: /* @__PURE__ */ jsx(Link01HorizontalIcon, { className: chatMenuIconClassName }),
16
- onClick: onCopyLink
17
- },
18
12
  onRename && {
19
13
  id: "rename",
20
14
  label: "Rename Chat",
21
15
  icon: /* @__PURE__ */ jsx(PenEditIcon, { className: chatMenuIconClassName }),
22
16
  onClick: onRename
23
17
  },
18
+ onCopyLink && {
19
+ id: "copy-link",
20
+ label: "Copy Chat Link",
21
+ icon: /* @__PURE__ */ jsx(Link01HorizontalIcon, { className: chatMenuIconClassName }),
22
+ onClick: onCopyLink
23
+ },
24
24
  onCompact && {
25
25
  id: "compact",
26
26
  label: "Compact Chat Memory",
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-enhanced.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message-enhanced.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA4B5F,OAAO,KAAK,EAA8C,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAusBpG,QAAA,MAAM,2BAA2B,4FAiC/B,CAAC;AAIH,OAAO,EAAE,2BAA2B,IAAI,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"chat-message-enhanced.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message-enhanced.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AA6B5F,OAAO,KAAK,EAA8C,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAysBpG,QAAA,MAAM,2BAA2B,4FAiC/B,CAAC;AAIH,OAAO,EAAE,2BAA2B,IAAI,mBAAmB,EAAE,CAAC"}
@@ -21,6 +21,7 @@ import { EscalationOfferMessage } from "./escalation-offer-message.js";
21
21
  import { remarkCardLinks } from "./remark-card-links.js";
22
22
  import { remarkMentionChips } from "./remark-mention-chips.js";
23
23
  import { remarkStripCitations } from "./remark-strip-citations.js";
24
+ import { SuggestionsDisplay } from "./suggestions-display.js";
24
25
  import { SystemEventMessage } from "./system-event-message.js";
25
26
  import { ThinkingDisplay } from "./thinking-display.js";
26
27
  import { TicketEscalatedMessage } from "./ticket-escalated-message.js";
@@ -324,6 +325,8 @@ const ChatMessageEnhanced = forwardRef(
324
325
  const run = askRuns.get(index);
325
326
  if (!run) return null;
326
327
  return /* @__PURE__ */ jsx(AskDisplay, { cards: run, onSelect: onAskSelect }, index);
328
+ } else if (segment.type === "suggestions") {
329
+ return /* @__PURE__ */ jsx(SuggestionsDisplay, { segment }, index);
327
330
  } else if (segment.type === "tool_execution") {
328
331
  return /* @__PURE__ */ jsx(
329
332
  ToolExecutionDisplay,
@@ -2,6 +2,9 @@ export interface ChatPanelHandle {
2
2
  /** Close the chat panel. Called by inline cards' nav click handler
3
3
  * ONLY when the resolved navigation is same-tab. */
4
4
  closeChat: () => void;
5
+ /** Send `text` in the panel's open chat (a new chat: the send creates it),
6
+ * leaving the composer's draft alone. Used by `suggestions` chips. */
7
+ sendPrompt?: (text: string) => void;
5
8
  }
6
9
  export declare const ChatPanelContext: import("react").Context<ChatPanelHandle | null>;
7
10
  /** Optional consumer — returns `null` when no provider mounted. */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-panel-context.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-context.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,iDAA8C,CAAC;AAE5E,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAErD"}
1
+ {"version":3,"file":"chat-panel-context.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-context.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;2EACuE;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,iDAA8C,CAAC;AAE5E,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAErD"}
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
+ import { type ActionsMenuItem } from '../ui/actions-menu';
2
3
  import { type ChatComposerLock } from './chat-composer';
3
4
  import type { ChatCardDispatchExtras } from './entity-cards/dispatch';
4
5
  import { type GuideWelcomeProps } from './guide-welcome';
5
6
  import { type ChatMode, type UseUnifiedChatModes } from './hooks/use-unified-chat';
7
+ import { type WhatToAskContent } from './hooks/use-what-to-ask';
6
8
  import { type MingoDialogStatus } from './mingo-chat-rail';
7
9
  import { type MingoWelcomeProps } from './mingo-welcome';
8
10
  import { type ChatAppearance } from './types/chat.types';
@@ -320,6 +322,24 @@ export interface EmbeddableChatProps {
320
322
  * guided tour in a conversation of its own) points it there instead.
321
323
  */
322
324
  onWhatToAsk?: () => void;
325
+ /**
326
+ * v2: the "What to ask?" exchange the list's entry shows (when no
327
+ * `onWhatToAsk` takes it over): added at the end of the open conversation,
328
+ * or a new chat opens with it. Local - never sent, never stored. Picking a
329
+ * chip sends its prompt in that chat, like a quick action.
330
+ *
331
+ * A function is called on each click and the exchange appears, whole, once
332
+ * its promise settles (prompts built from live data, e.g. the workspace's
333
+ * devices); clicks while one is pending are ignored. It should not reject:
334
+ * a rejection is logged and shows nothing.
335
+ */
336
+ whatToAsk?: WhatToAskContent | (() => Promise<WhatToAskContent>);
337
+ /**
338
+ * v2: items in the chat's ⋯ menu after its own, past a separator - actions
339
+ * that are not about the chat (e.g. the host's onboarding reset). Shown in
340
+ * every chat that is not archived, a new one included.
341
+ */
342
+ chatMenuExtraItems?: ActionsMenuItem[];
323
343
  }
324
344
  /**
325
345
  * EmbeddableChat — the floating "Ask AI" button + Mingo chat panel.
@@ -1 +1 @@
1
- {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"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"}