@flamingo-stack/openframe-frontend-core 0.0.782 → 0.0.784
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.
- package/dist/{chunk-TS6TISIF.cjs → chunk-4LQKUZQL.cjs} +15 -15
- package/dist/{chunk-C5UUWXHE.cjs → chunk-4T2ZBCVJ.cjs} +55 -55
- package/dist/{chunk-7DKDVJMR.cjs → chunk-6F3IS3RD.cjs} +3 -3
- package/dist/{chunk-ISB7LW3D.cjs → chunk-CBDSML44.cjs} +32 -32
- package/dist/{chunk-QV4GHAWN.cjs → chunk-CZPUVFON.cjs} +51 -51
- package/dist/{chunk-C42BXIY7.cjs → chunk-FQE5MGRD.cjs} +11 -11
- package/dist/{chunk-LTF6UDGO.cjs → chunk-GI5QCHOV.cjs} +6 -6
- package/dist/{chunk-E2ZZOYSM.cjs → chunk-GMIXTXAO.cjs} +15 -3
- package/dist/{chunk-2EXD2RSC.cjs → chunk-GTYVI4QR.cjs} +4 -4
- package/dist/{chunk-JGKPEGZN.cjs → chunk-JYLECAIR.cjs} +41 -41
- package/dist/{chunk-YX7X5QQN.cjs → chunk-KVPHCBQV.cjs} +12 -12
- package/dist/{chunk-MDGDL3C7.cjs → chunk-L33AEGH4.cjs} +22 -22
- package/dist/{chunk-A4YUTS6Q.cjs → chunk-MYXC6PEG.cjs} +329 -329
- package/dist/{chunk-VH3KQSI2.cjs → chunk-MZQGHDTE.cjs} +3 -3
- package/dist/{chunk-GFRKNUJZ.cjs → chunk-NZJ5WW2D.cjs} +21 -21
- package/dist/{chunk-N7QNWHJA.cjs → chunk-STYH4ISW.cjs} +23 -23
- package/dist/{chunk-IZKEWQJN.cjs → chunk-U5R4MY4F.cjs} +4 -4
- package/dist/{chunk-VZUV2FCP.cjs → chunk-V5PJQ4C2.cjs} +6 -6
- package/dist/{chunk-7OJMOG34.cjs → chunk-WMXNSSJZ.cjs} +48 -48
- package/dist/{chunk-I7LRZR4Q.cjs → chunk-XVFESSEB.cjs} +7 -7
- package/dist/{cloud-tenants-LXKEG5N4.cjs → cloud-tenants-HUFCDOSC.cjs} +6 -6
- package/dist/components/case-studies/index.cjs +18 -18
- package/dist/components/chat/embeddable-chat.js +120 -98
- package/dist/components/chat/index.cjs +4 -4
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/docs/index.cjs +10 -10
- package/dist/components/embeds/index.cjs +7 -7
- package/dist/components/faq/index.cjs +8 -8
- package/dist/components/features/board/board-column.d.ts +1 -1
- package/dist/components/features/board/board-column.d.ts.map +1 -1
- package/dist/components/features/board/ticket-card.d.ts +1 -1
- package/dist/components/features/board/ticket-card.d.ts.map +1 -1
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/help-center-pages/index.cjs +72 -72
- package/dist/components/index.cjs +40 -40
- package/dist/components/media-carousel.d.ts +1 -1
- package/dist/components/media-carousel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +38 -38
- package/dist/components/navigation/app-header.d.ts +1 -1
- package/dist/components/navigation/app-header.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +9 -9
- package/dist/components/navigation/mobile-burger-menu.d.ts +1 -1
- package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
- package/dist/components/navigation/navigation-sidebar-item.d.ts +1 -1
- package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
- package/dist/components/onboarding-guides/index.cjs +8 -8
- package/dist/components/product-demo/index.cjs +16 -16
- package/dist/components/tickets/index.cjs +11 -11
- package/dist/components/ui/index.cjs +6 -6
- package/dist/components/ui/markdown/engine.d.ts +1 -1
- package/dist/components/ui/markdown/engine.d.ts.map +1 -1
- package/dist/components/ui/modal-v2.d.ts.map +1 -1
- package/dist/components/ui/modal-v2.js +16 -4
- package/dist/{devices-PYJRYIQN.cjs → devices-KRWVEY76.cjs} +7 -7
- package/dist/{embeddable-chat-7MSM62UC.cjs → embeddable-chat-AZEPJAPN.cjs} +178 -156
- package/dist/index.cjs +10 -10
- package/dist/{knowledge-R4H2ZDX2.cjs → knowledge-Z3FM7U3W.cjs} +7 -7
- package/dist/{logs-YWL6NK24.cjs → logs-CNJYF5CO.cjs} +14 -14
- package/dist/{policies-3COFYSKB.cjs → policies-U32LUDZ4.cjs} +10 -10
- package/dist/{remote-session-IEOWFBF7.cjs → remote-session-ST6JEZML.cjs} +5 -5
- package/dist/{scripts-72EJDICT.cjs → scripts-2Y6ISOOK.cjs} +13 -13
- package/dist/{software-update-PPUVCLPO.cjs → software-update-EEN7PQR3.cjs} +10 -10
- package/package.json +3 -3
- package/src/components/chat/embeddable-chat.tsx +21 -4
- package/src/components/ui/modal-v2.tsx +22 -4
|
@@ -57,7 +57,7 @@ require('./chunk-24I6RFVU.cjs');
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
var
|
|
60
|
+
var _chunkWMXNSSJZcjs = require('./chunk-WMXNSSJZ.cjs');
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
var _chunkBE4OUWTAcjs = require('./chunk-BE4OUWTA.cjs');
|
|
@@ -67,7 +67,7 @@ require('./chunk-WSBWP7IW.cjs');
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
var
|
|
70
|
+
var _chunkGMIXTXAOcjs = require('./chunk-GMIXTXAO.cjs');
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
var _chunkFS7CBRF4cjs = require('./chunk-FS7CBRF4.cjs');
|
|
@@ -2008,7 +2008,7 @@ function useChatDialogManager({
|
|
|
2008
2008
|
setArchivedLoading(true);
|
|
2009
2009
|
}
|
|
2010
2010
|
try {
|
|
2011
|
-
const result = await fetchArchivedDialogs({ cursor, limit:
|
|
2011
|
+
const result = await fetchArchivedDialogs({ cursor, limit: _chunkWMXNSSJZcjs.CHAT_HISTORY_PAGE_SIZE });
|
|
2012
2012
|
if (!isCurrent()) return;
|
|
2013
2013
|
setArchivedCursor(result.nextCursor);
|
|
2014
2014
|
setArchivedDialogs((prev) => cursor ? [...prev, ...result.dialogs] : result.dialogs);
|
|
@@ -2135,7 +2135,7 @@ function splitCitedSources(sources, content) {
|
|
|
2135
2135
|
}
|
|
2136
2136
|
const cited = sources.filter((source) => firstMentionAt.has(source.index)).sort((a, b) => (_nullishCoalesce(firstMentionAt.get(a.index), () => ( 0))) - (_nullishCoalesce(firstMentionAt.get(b.index), () => ( 0))));
|
|
2137
2137
|
const uncited = sources.filter((source) => !firstMentionAt.has(source.index));
|
|
2138
|
-
return { cited:
|
|
2138
|
+
return { cited: _chunkWMXNSSJZcjs.groupSourcesByTable.call(void 0, cited), uncited: _chunkWMXNSSJZcjs.groupSourcesByTable.call(void 0, uncited) };
|
|
2139
2139
|
}
|
|
2140
2140
|
|
|
2141
2141
|
// src/components/chat/utils/host-message.ts
|
|
@@ -2186,7 +2186,7 @@ function pruneTimestampCache(timestampCache, liveIds) {
|
|
|
2186
2186
|
// src/components/chat/embeddable-chat.tsx
|
|
2187
2187
|
var _jsxruntime = require('react/jsx-runtime');
|
|
2188
2188
|
var HISTORY_RAIL_WIDTH = 320;
|
|
2189
|
-
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH +
|
|
2189
|
+
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + _chunkWMXNSSJZcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
2190
2190
|
var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
|
|
2191
2191
|
var DRAWER_WIDTH_KEY = "mingo-chat-width-v4";
|
|
2192
2192
|
var DRAWER_DEFAULT_WIDTH_PX = 750;
|
|
@@ -2259,7 +2259,7 @@ function dispatchSlashCommandAction(actionId, cmdId, ref) {
|
|
|
2259
2259
|
if (!input) return;
|
|
2260
2260
|
switch (actionId) {
|
|
2261
2261
|
case "browse":
|
|
2262
|
-
input.submit(
|
|
2262
|
+
input.submit(_chunkWMXNSSJZcjs.formatSingularLookupInvocation.call(void 0, cmdId));
|
|
2263
2263
|
return;
|
|
2264
2264
|
case "search":
|
|
2265
2265
|
input.setValue(`/${cmdId} `);
|
|
@@ -2285,7 +2285,7 @@ function SourceChip({
|
|
|
2285
2285
|
}) {
|
|
2286
2286
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2287
2287
|
const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
|
|
2288
|
-
const cta =
|
|
2288
|
+
const cta = _chunkWMXNSSJZcjs.resolveSourceRowCTA.call(void 0,
|
|
2289
2289
|
{
|
|
2290
2290
|
sourceRepo: src.sourceRepo,
|
|
2291
2291
|
documentType: src.documentType,
|
|
@@ -2295,15 +2295,15 @@ function SourceChip({
|
|
|
2295
2295
|
targetPlatform: _nullishCoalesce(src.targetPlatform, () => ( null)),
|
|
2296
2296
|
path: src.path
|
|
2297
2297
|
},
|
|
2298
|
-
|
|
2298
|
+
_chunkWMXNSSJZcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
|
|
2299
2299
|
);
|
|
2300
2300
|
const Icon = cta.icon;
|
|
2301
2301
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
2302
|
-
const chipClass =
|
|
2302
|
+
const chipClass = _chunkWMXNSSJZcjs.chatChipClass.call(void 0, { tone: "secondary" });
|
|
2303
2303
|
const decideTab = (href, targetPlatform) => _chunkODDUGLYFcjs.computeIsNewTab.call(void 0, runtime, href, targetPlatform);
|
|
2304
2304
|
if (src.items && src.items.length > 0) {
|
|
2305
2305
|
const dropdownItems = src.items.map((item) => {
|
|
2306
|
-
const itemCta =
|
|
2306
|
+
const itemCta = _chunkWMXNSSJZcjs.resolveSourceRowCTA.call(void 0,
|
|
2307
2307
|
{
|
|
2308
2308
|
sourceRepo: src.sourceRepo,
|
|
2309
2309
|
documentType: item.documentType,
|
|
@@ -2313,7 +2313,7 @@ function SourceChip({
|
|
|
2313
2313
|
targetPlatform: _nullishCoalesce(item.targetPlatform, () => ( null)),
|
|
2314
2314
|
path: item.path
|
|
2315
2315
|
},
|
|
2316
|
-
|
|
2316
|
+
_chunkWMXNSSJZcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
|
|
2317
2317
|
);
|
|
2318
2318
|
const ItemIcon = itemCta.icon;
|
|
2319
2319
|
const itemChatRef = itemCta.chatRef;
|
|
@@ -2333,13 +2333,13 @@ function SourceChip({
|
|
|
2333
2333
|
};
|
|
2334
2334
|
});
|
|
2335
2335
|
const itemIndices = src.items.flatMap((item) => item.index === void 0 ? [] : [item.index]);
|
|
2336
|
-
const groupIndices = itemIndices.length > 0 ?
|
|
2336
|
+
const groupIndices = itemIndices.length > 0 ? _chunkWMXNSSJZcjs.formatCitationIndices.call(void 0, itemIndices) : `${src.index}`;
|
|
2337
2337
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2338
2338
|
_chunkZFOMRALUcjs.HoverDropdown,
|
|
2339
2339
|
{
|
|
2340
2340
|
items: dropdownItems,
|
|
2341
2341
|
renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2342
|
-
|
|
2342
|
+
_chunkWMXNSSJZcjs.NavLinkAnchorViaRuntime,
|
|
2343
2343
|
{
|
|
2344
2344
|
href,
|
|
2345
2345
|
targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
|
|
@@ -2372,10 +2372,10 @@ function SourceChip({
|
|
|
2372
2372
|
] });
|
|
2373
2373
|
const wrapChip = (clickable) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "inline-flex items-center", children: [
|
|
2374
2374
|
clickable,
|
|
2375
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2375
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMXNSSJZcjs.SourceActionButton, { chatRef: cta.chatRef, onDiscuss, density: "inline", className: "-mr-1 ml-1" })
|
|
2376
2376
|
] });
|
|
2377
2377
|
const buildClickHandler = (href, path, targetPlatform, isNewTab) => (e) => {
|
|
2378
|
-
const handled =
|
|
2378
|
+
const handled = _chunkWMXNSSJZcjs.executeNavigation.call(void 0, {
|
|
2379
2379
|
event: e,
|
|
2380
2380
|
runtime,
|
|
2381
2381
|
href,
|
|
@@ -2524,7 +2524,7 @@ function EmbeddableChatInner({
|
|
|
2524
2524
|
defaultActiveMode,
|
|
2525
2525
|
shell = "drawer",
|
|
2526
2526
|
closable = true,
|
|
2527
|
-
appearance =
|
|
2527
|
+
appearance = _chunkGMIXTXAOcjs.CHAT_APPEARANCE.CLASSIC,
|
|
2528
2528
|
onCollapse,
|
|
2529
2529
|
collapseTo = "list",
|
|
2530
2530
|
onExpand,
|
|
@@ -2547,11 +2547,11 @@ function EmbeddableChatInner({
|
|
|
2547
2547
|
handleRef
|
|
2548
2548
|
}) {
|
|
2549
2549
|
const shellLess = shell !== "drawer";
|
|
2550
|
-
const isV2 = appearance ===
|
|
2550
|
+
const isV2 = appearance === _chunkGMIXTXAOcjs.CHAT_APPEARANCE.V2;
|
|
2551
2551
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2552
2552
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
2553
2553
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
2554
|
-
const { attachmentsEnabled, user: identityUser } =
|
|
2554
|
+
const { attachmentsEnabled, user: identityUser } = _chunkWMXNSSJZcjs.useChatIdentity.call(void 0, );
|
|
2555
2555
|
const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
|
|
2556
2556
|
_react.useEffect.call(void 0, () => {
|
|
2557
2557
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -2605,9 +2605,9 @@ function EmbeddableChatInner({
|
|
|
2605
2605
|
const [quickActionPreview, setQuickActionPreview] = _react.useState.call(void 0, null);
|
|
2606
2606
|
const slashCommandsProp = _react.useMemo.call(void 0,
|
|
2607
2607
|
() => ({
|
|
2608
|
-
fetchCommands: (prefix, signal) =>
|
|
2608
|
+
fetchCommands: (prefix, signal) => _chunkWMXNSSJZcjs.fetchSlashCommands.call(void 0, prefix, signal, commandsUrl),
|
|
2609
2609
|
resolveSourceIcon: (sourceId) => {
|
|
2610
|
-
const iconName =
|
|
2610
|
+
const iconName = _chunkWMXNSSJZcjs.getSourceIconName.call(void 0, sourceId);
|
|
2611
2611
|
if (!iconName) return void 0;
|
|
2612
2612
|
return { Icon: _chunkCS5SZJFVcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
|
|
2613
2613
|
},
|
|
@@ -2636,7 +2636,7 @@ function EmbeddableChatInner({
|
|
|
2636
2636
|
},
|
|
2637
2637
|
[controlledActiveMode, onActiveModeChange]
|
|
2638
2638
|
);
|
|
2639
|
-
const { commands: commandsList, loaded: commandsLoaded } =
|
|
2639
|
+
const { commands: commandsList, loaded: commandsLoaded } = _chunkWMXNSSJZcjs.useSlashCommandRegistry.call(void 0, commandsUrl, {
|
|
2640
2640
|
enabled: activeMode === "guide"
|
|
2641
2641
|
});
|
|
2642
2642
|
const commandsById = _react.useMemo.call(void 0, () => {
|
|
@@ -2647,7 +2647,7 @@ function EmbeddableChatInner({
|
|
|
2647
2647
|
const resolveAgentConfigUrl = _nullishCoalesce(_nullishCoalesce(aiAgentConfigUrlProp, () => ( runtime.endpoints.aiAgentConfigUrl)), () => ( DEFAULT_AI_AGENT_CONFIG_URL));
|
|
2648
2648
|
const agentConfigUrl = activeAgentSlug ? resolveAgentConfigUrl(activeAgentSlug) : void 0;
|
|
2649
2649
|
const emptyStateUrl = _nullishCoalesce(agentConfigUrl, () => ( runtime.endpoints.emptyStateUrl));
|
|
2650
|
-
const { config: emptyStateConfig, loading: emptyStateLoading } =
|
|
2650
|
+
const { config: emptyStateConfig, loading: emptyStateLoading } = _chunkWMXNSSJZcjs.useEmptyStateConfig.call(void 0, emptyStateUrl, {
|
|
2651
2651
|
enabled: activeMode === "guide" || !!activeAgentSlug
|
|
2652
2652
|
});
|
|
2653
2653
|
const effectiveGreeting = _nullishCoalesce(emptyStateConfig.greeting, () => ( emptyStateGreeting));
|
|
@@ -2694,7 +2694,7 @@ function EmbeddableChatInner({
|
|
|
2694
2694
|
hasMoreMessages,
|
|
2695
2695
|
loadMoreMessages,
|
|
2696
2696
|
dialogCapabilities
|
|
2697
|
-
} =
|
|
2697
|
+
} = _chunkWMXNSSJZcjs.useUnifiedChat.call(void 0, {
|
|
2698
2698
|
modes: effectiveModes,
|
|
2699
2699
|
activeMode,
|
|
2700
2700
|
mingoStateOverride: mingoState,
|
|
@@ -2741,8 +2741,8 @@ function EmbeddableChatInner({
|
|
|
2741
2741
|
addFiles: addAttachmentFiles,
|
|
2742
2742
|
removeAttachment,
|
|
2743
2743
|
clear: clearAttachments
|
|
2744
|
-
} =
|
|
2745
|
-
const { panelRef: galleryPanelRef, modal: galleryModal } =
|
|
2744
|
+
} = _chunkWMXNSSJZcjs.useChatAttachments.call(void 0, );
|
|
2745
|
+
const { panelRef: galleryPanelRef, modal: galleryModal } = _chunkWMXNSSJZcjs.useChatAttachmentImageGallery.call(void 0, );
|
|
2746
2746
|
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _16 => _16.maxItems]), () => ( 10));
|
|
2747
2747
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
2748
2748
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
@@ -2862,7 +2862,7 @@ function EmbeddableChatInner({
|
|
|
2862
2862
|
const askAboutRef = _react.useRef.call(void 0, discussRef);
|
|
2863
2863
|
const askAbout = _react.useCallback.call(void 0, (reference) => askAboutRef.current(reference), []);
|
|
2864
2864
|
const renderEntityCard = _react.useCallback.call(void 0,
|
|
2865
|
-
(reference) =>
|
|
2865
|
+
(reference) => _chunkWMXNSSJZcjs.renderChatInlineEntityCard.call(void 0, reference, {
|
|
2866
2866
|
onDiscuss: askAbout,
|
|
2867
2867
|
onDisplay: displayRef,
|
|
2868
2868
|
baseRoute: resolvedBaseRoute,
|
|
@@ -2884,13 +2884,13 @@ function EmbeddableChatInner({
|
|
|
2884
2884
|
pruneTimestampCache(timestampCache, new Set(rawMessages.map((m) => m.id)));
|
|
2885
2885
|
return mapped;
|
|
2886
2886
|
}, [rawMessages, guideUserName, guideUserAvatar, timestampCache]);
|
|
2887
|
-
const whatToAsk =
|
|
2887
|
+
const whatToAsk = _chunkWMXNSSJZcjs.useWhatToAsk.call(void 0, {
|
|
2888
2888
|
dialogId: activeDialogId,
|
|
2889
2889
|
content: typeof whatToAskContent === "function" ? void 0 : whatToAskContent,
|
|
2890
2890
|
user: {
|
|
2891
2891
|
name: _nullishCoalesce(headerUserName, () => ( "You")),
|
|
2892
2892
|
avatar: _optionalChain([identityUser, 'optionalAccess', _40 => _40.avatarUrl, 'optionalAccess', _41 => _41.trim, 'call', _42 => _42()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _43 => _43.trim, 'call', _44 => _44()]) || null,
|
|
2893
|
-
authorType:
|
|
2893
|
+
authorType: _chunkGMIXTXAOcjs.AUTHOR_TYPE.ADMIN
|
|
2894
2894
|
},
|
|
2895
2895
|
assistant: { name: "Mingo", assistantType: "mingo" }
|
|
2896
2896
|
});
|
|
@@ -2903,7 +2903,7 @@ function EmbeddableChatInner({
|
|
|
2903
2903
|
noteWhatToAskSend();
|
|
2904
2904
|
let augmentedText = text;
|
|
2905
2905
|
if (readyAttachments.length > 0) {
|
|
2906
|
-
const markdown = readyAttachments.map((att) =>
|
|
2906
|
+
const markdown = readyAttachments.map((att) => _chunkWMXNSSJZcjs.formatChatAttachmentMarkdownForBubble.call(void 0, att, viewUrlPrefix)).join("");
|
|
2907
2907
|
augmentedText = `${text}${markdown}`;
|
|
2908
2908
|
}
|
|
2909
2909
|
void sendMessage(augmentedText, {
|
|
@@ -2942,7 +2942,7 @@ function EmbeddableChatInner({
|
|
|
2942
2942
|
// agent/persona (`icon_props.color`) wins; the built-in slug map
|
|
2943
2943
|
// (fae→pink, mingo→cyan) is only the fallback for unconfigured
|
|
2944
2944
|
// built-in agents.
|
|
2945
|
-
accent: _nullishCoalesce(
|
|
2945
|
+
accent: _nullishCoalesce(_chunkWMXNSSJZcjs.accentFromIdentityIcon.call(void 0, effectiveAssistantIcon), () => ( _chunkWMXNSSJZcjs.getAgentAccent.call(void 0, activeAgentSlug)))
|
|
2946
2946
|
}));
|
|
2947
2947
|
}
|
|
2948
2948
|
return (_nullishCoalesce(effectiveSuggestedQueries, () => ( []))).map((q, i) => ({
|
|
@@ -2990,7 +2990,7 @@ function EmbeddableChatInner({
|
|
|
2990
2990
|
unarchiveDialog: mingoCaps.unarchiveDialog
|
|
2991
2991
|
});
|
|
2992
2992
|
const handleOpen = _react.useCallback.call(void 0, () => setIsOpen(true), [setIsOpen]);
|
|
2993
|
-
|
|
2993
|
+
_chunkWMXNSSJZcjs.useCloseOnNavigation.call(void 0, handleNavigationClose, null);
|
|
2994
2994
|
_react.useEffect.call(void 0, () => {
|
|
2995
2995
|
const handler = (e) => {
|
|
2996
2996
|
const detail = e.detail;
|
|
@@ -2998,8 +2998,8 @@ function EmbeddableChatInner({
|
|
|
2998
2998
|
setIsOpen(true);
|
|
2999
2999
|
setTimeout(() => askAbout(detail.ref), 0);
|
|
3000
3000
|
};
|
|
3001
|
-
window.addEventListener(
|
|
3002
|
-
return () => window.removeEventListener(
|
|
3001
|
+
window.addEventListener(_chunkWMXNSSJZcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3002
|
+
return () => window.removeEventListener(_chunkWMXNSSJZcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3003
3003
|
}, [source, askAbout, setIsOpen]);
|
|
3004
3004
|
const pendingAskRef = _react.useRef.call(void 0, null);
|
|
3005
3005
|
const isDraft = activeDialogId == null && messages.length === 0;
|
|
@@ -3033,14 +3033,15 @@ function EmbeddableChatInner({
|
|
|
3033
3033
|
const prompt = typeof detail.prompt === "string" ? detail.prompt.trim() : "";
|
|
3034
3034
|
if (prompt) setTimeout(() => sendAskPrompt(prompt), 0);
|
|
3035
3035
|
};
|
|
3036
|
-
window.addEventListener(
|
|
3037
|
-
return () => window.removeEventListener(
|
|
3036
|
+
window.addEventListener(_chunkWMXNSSJZcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3037
|
+
return () => window.removeEventListener(_chunkWMXNSSJZcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3038
3038
|
}, [source, setIsOpen, sendAskPrompt]);
|
|
3039
|
-
_react.useEffect.call(void 0, () =>
|
|
3039
|
+
_react.useEffect.call(void 0, () => _chunkWMXNSSJZcjs.chatListensForAskAiOpens.call(void 0, ), []);
|
|
3040
3040
|
const hasMessages = messages.length > 0;
|
|
3041
3041
|
const dialogsInitialLoading = isDialogsLoading && dialogs.length === 0;
|
|
3042
3042
|
const dialogsLoadError = dialogsError && dialogs.length === 0;
|
|
3043
3043
|
const isLoadingActiveDialogMessages = activeDialogId != null && isMessagesLoading;
|
|
3044
|
+
const hasAboveComposer = aboveComposer != null && aboveComposer !== false;
|
|
3044
3045
|
const hasConversation = hasMessages || isOpeningDialog || isViewingArchived || isLoadingActiveDialogMessages || previewMode && isMessagesLoading;
|
|
3045
3046
|
const messagesInitialLoading = isMessagesLoading && !hasMessages;
|
|
3046
3047
|
const contentViewKey = hasConversation ? "conversation" : activeMode;
|
|
@@ -3072,7 +3073,7 @@ function EmbeddableChatInner({
|
|
|
3072
3073
|
(message, index) => {
|
|
3073
3074
|
if (message.role !== "assistant") return null;
|
|
3074
3075
|
if (chatLoading && index === messages.length - 1) return null;
|
|
3075
|
-
const { cited, uncited } = splitCitedSources(message.sources,
|
|
3076
|
+
const { cited, uncited } = splitCitedSources(message.sources, _chunkWMXNSSJZcjs.flattenAssistantContent.call(void 0, message.content));
|
|
3076
3077
|
if (cited.length === 0 && uncited.length === 0) return null;
|
|
3077
3078
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3078
3079
|
SourceChips,
|
|
@@ -3090,7 +3091,7 @@ function EmbeddableChatInner({
|
|
|
3090
3091
|
);
|
|
3091
3092
|
const [portalHost, setPortalHost] = _react.useState.call(void 0, null);
|
|
3092
3093
|
const [panelBoundary, setPanelBoundary] = _react.useState.call(void 0, null);
|
|
3093
|
-
const splitMinWidth = (isV2 ?
|
|
3094
|
+
const splitMinWidth = (isV2 ? _chunkWMXNSSJZcjs.MINGO_V2_RAIL_WIDTH : HISTORY_RAIL_WIDTH) + _chunkWMXNSSJZcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
3094
3095
|
const [canSplit, setCanSplit] = _react.useState.call(void 0, false);
|
|
3095
3096
|
_react.useEffect.call(void 0, () => {
|
|
3096
3097
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
@@ -3109,7 +3110,7 @@ function EmbeddableChatInner({
|
|
|
3109
3110
|
[splitMinWidth]
|
|
3110
3111
|
);
|
|
3111
3112
|
const [railCollapsed, setRailCollapsed] = _react.useState.call(void 0, false);
|
|
3112
|
-
const railStorageHydrated =
|
|
3113
|
+
const railStorageHydrated = _chunkWMXNSSJZcjs.useIsHydrated.call(void 0, );
|
|
3113
3114
|
const [railStorageRead, setRailStorageRead] = _react.useState.call(void 0, false);
|
|
3114
3115
|
if (railStorageHydrated && !railStorageRead) {
|
|
3115
3116
|
setRailStorageRead(true);
|
|
@@ -3163,7 +3164,7 @@ function EmbeddableChatInner({
|
|
|
3163
3164
|
resetToNewChat();
|
|
3164
3165
|
}, [clearWhatToAskDraft, resetToNewChat]);
|
|
3165
3166
|
const activeDialogStatus = activeDialog && dialogStatusOf ? dialogStatusOf(activeDialog) : void 0;
|
|
3166
|
-
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _65 => _65.length]), () => ( 0))) > 0 ||
|
|
3167
|
+
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _65 => _65.length]), () => ( 0))) > 0 || _chunkWMXNSSJZcjs.awaitsDecision.call(void 0, hostMessages);
|
|
3167
3168
|
const showWhatToAsk = (content) => {
|
|
3168
3169
|
whatToAsk.clearDraft();
|
|
3169
3170
|
resetToNewChat();
|
|
@@ -3259,7 +3260,7 @@ function EmbeddableChatInner({
|
|
|
3259
3260
|
}),
|
|
3260
3261
|
[resetToNewChat, contextMaxItems]
|
|
3261
3262
|
);
|
|
3262
|
-
const splitHeaderMenuItems =
|
|
3263
|
+
const splitHeaderMenuItems = _chunkWMXNSSJZcjs.chatDialogMenuItems.call(void 0, {
|
|
3263
3264
|
onCopyLink: headerOnCopyLink,
|
|
3264
3265
|
onRename: headerOnRename,
|
|
3265
3266
|
onCompact: headerOnCompact,
|
|
@@ -3339,7 +3340,7 @@ function EmbeddableChatInner({
|
|
|
3339
3340
|
onRetry: reloadDialogs
|
|
3340
3341
|
};
|
|
3341
3342
|
const v2Header = isV2 && !stackedListView ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "col-start-2 row-start-1 min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3342
|
-
|
|
3343
|
+
_chunkWMXNSSJZcjs.MingoChatHeader,
|
|
3343
3344
|
{
|
|
3344
3345
|
title: archiveOpen ? "Chat Archive" : headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3345
3346
|
subtitle: archiveOpen ? void 0 : headerPersonName,
|
|
@@ -3359,7 +3360,7 @@ function EmbeddableChatInner({
|
|
|
3359
3360
|
const body = (
|
|
3360
3361
|
// The whole panel reads the appearance (the composer's footer too), not
|
|
3361
3362
|
// only the thread `ChatMessageList` provides it to.
|
|
3362
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3363
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMXNSSJZcjs.ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4DQ4CNAGcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4DQ4CNAGcjs.CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
|
|
3363
3364
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3364
3365
|
"div",
|
|
3365
3366
|
{
|
|
@@ -3367,7 +3368,7 @@ function EmbeddableChatInner({
|
|
|
3367
3368
|
"data-surface": isV2 ? "mingo" : void 0,
|
|
3368
3369
|
className: `flex h-full flex-col overflow-hidden transition-colors duration-200 ${!isV2 && (archiveOpen && !splitActive || stackedListView) ? "bg-ods-card" : "bg-ods-bg"} ${previewMode ? "pointer-events-none select-none" : ""}`,
|
|
3369
3370
|
children: archiveOpen && !splitActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col duration-200 animate-in fade-in-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3370
|
-
|
|
3371
|
+
_chunkWMXNSSJZcjs.ChatArchivePage,
|
|
3371
3372
|
{
|
|
3372
3373
|
dialogs: archivedDialogs,
|
|
3373
3374
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3397,7 +3398,7 @@ function EmbeddableChatInner({
|
|
|
3397
3398
|
narrow: true,
|
|
3398
3399
|
className: "col-start-1 row-span-3 row-start-1",
|
|
3399
3400
|
innerClassName: "flex min-h-0 flex-col",
|
|
3400
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3401
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMXNSSJZcjs.MingoChatRail, { ...mingoRailProps, className: "w-full border-r-0" })
|
|
3401
3402
|
}
|
|
3402
3403
|
),
|
|
3403
3404
|
isV2 ? v2Header : showWideHeader ? (
|
|
@@ -3436,7 +3437,7 @@ function EmbeddableChatInner({
|
|
|
3436
3437
|
// (Figma 116:51217) and the magnifier toggle is hidden.
|
|
3437
3438
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3438
3439
|
railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3439
|
-
|
|
3440
|
+
_chunkWMXNSSJZcjs.ChatHeaderSearchField,
|
|
3440
3441
|
{
|
|
3441
3442
|
initialValue: mingoCaps.searchQuery,
|
|
3442
3443
|
onSearchChange: mingoCaps.onSearchChange,
|
|
@@ -3523,10 +3524,10 @@ function EmbeddableChatInner({
|
|
|
3523
3524
|
// guide, resolved into `narrowHeaderProps` above. (Wide layouts,
|
|
3524
3525
|
// including rail-collapsed, use the wide header above.) Embedded
|
|
3525
3526
|
// previews (hero demo tabs) force the compact bar via `compact`.
|
|
3526
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3527
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMXNSSJZcjs.ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
|
|
3527
3528
|
),
|
|
3528
3529
|
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3529
|
-
|
|
3530
|
+
_chunkWMXNSSJZcjs.GuideModeBanner,
|
|
3530
3531
|
{
|
|
3531
3532
|
className: _chunkMGEUZRNQcjs.cn.call(void 0, "duration-200 animate-in fade-in-0", isV2 && "col-start-2 row-start-2")
|
|
3532
3533
|
}
|
|
@@ -3536,7 +3537,7 @@ function EmbeddableChatInner({
|
|
|
3536
3537
|
// Archive list inside the rail (header lives in the split
|
|
3537
3538
|
// header's left cell above). Right chat block stays put.
|
|
3538
3539
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3539
|
-
|
|
3540
|
+
_chunkWMXNSSJZcjs.ChatArchivePage,
|
|
3540
3541
|
{
|
|
3541
3542
|
embedded: true,
|
|
3542
3543
|
dialogs: archivedDialogs,
|
|
@@ -3550,7 +3551,7 @@ function EmbeddableChatInner({
|
|
|
3550
3551
|
}
|
|
3551
3552
|
)
|
|
3552
3553
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3553
|
-
|
|
3554
|
+
_chunkWMXNSSJZcjs.MingoHistoryRail,
|
|
3554
3555
|
{
|
|
3555
3556
|
dialogs,
|
|
3556
3557
|
activeDialogId: _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
@@ -3578,7 +3579,7 @@ function EmbeddableChatInner({
|
|
|
3578
3579
|
// v2: the archive opens in the chat column under the chat's
|
|
3579
3580
|
// header; the list stays, and "Chat Archive" there toggles back.
|
|
3580
3581
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3581
|
-
|
|
3582
|
+
_chunkWMXNSSJZcjs.MingoArchiveList,
|
|
3582
3583
|
{
|
|
3583
3584
|
dialogs: archivedDialogs,
|
|
3584
3585
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3591,7 +3592,7 @@ function EmbeddableChatInner({
|
|
|
3591
3592
|
}
|
|
3592
3593
|
)
|
|
3593
3594
|
) : stackedListView && isV2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3594
|
-
|
|
3595
|
+
_chunkWMXNSSJZcjs.MingoChatRail,
|
|
3595
3596
|
{
|
|
3596
3597
|
...mingoRailProps,
|
|
3597
3598
|
onNewChat: () => setComposeOpen(true),
|
|
@@ -3610,7 +3611,7 @@ function EmbeddableChatInner({
|
|
|
3610
3611
|
// single-column view. No composer here; "Start New Chat" opens
|
|
3611
3612
|
// the compose view.
|
|
3612
3613
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3613
|
-
|
|
3614
|
+
_chunkWMXNSSJZcjs.MingoHistoryRail,
|
|
3614
3615
|
{
|
|
3615
3616
|
className: "duration-200 animate-in fade-in-0",
|
|
3616
3617
|
dialogs,
|
|
@@ -3636,110 +3637,131 @@ function EmbeddableChatInner({
|
|
|
3636
3637
|
}
|
|
3637
3638
|
)
|
|
3638
3639
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3639
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3640
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3640
3641
|
"div",
|
|
3641
3642
|
{
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3643
|
+
ref: galleryPanelRef,
|
|
3644
|
+
"data-testid": "chat-content-panel",
|
|
3645
|
+
className: _chunkMGEUZRNQcjs.cn.call(void 0,
|
|
3646
|
+
"flex min-h-0 flex-1 flex-col p-[var(--spacing-system-m)]",
|
|
3647
|
+
// With a host block above the composer the thread keeps room
|
|
3648
|
+
// for a line and the working status: the block gives way
|
|
3649
|
+
// instead (below), so the status never lands on it.
|
|
3650
|
+
hasAboveComposer && "min-h-32"
|
|
3651
|
+
),
|
|
3652
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3653
|
+
"div",
|
|
3645
3654
|
{
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3655
|
+
className: "flex min-h-0 flex-1 flex-col duration-200 animate-in fade-in-0",
|
|
3656
|
+
children: hasConversation ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3657
|
+
_chunkWMXNSSJZcjs.ChatMessageList,
|
|
3658
|
+
{
|
|
3659
|
+
messages,
|
|
3660
|
+
isLoading: messagesInitialLoading,
|
|
3661
|
+
fill: previewMode,
|
|
3662
|
+
appearance,
|
|
3663
|
+
isTyping: chatLoading,
|
|
3664
|
+
typingMessage: streamingProgress ? _chunkWMXNSSJZcjs.chatProgressLabel.call(void 0, streamingProgress) : void 0,
|
|
3665
|
+
pendingApprovals,
|
|
3666
|
+
autoScroll: !previewMode,
|
|
3667
|
+
pinBottom: previewMode,
|
|
3668
|
+
overscrollContain: !previewMode,
|
|
3669
|
+
assistantType: "mingo",
|
|
3670
|
+
assistantIcon: mingoAssistantIcon,
|
|
3671
|
+
renderEntityCard,
|
|
3672
|
+
resolveContextIcon,
|
|
3673
|
+
renderContextItem,
|
|
3674
|
+
renderMention,
|
|
3675
|
+
renderAfterMessage: renderMessageSources,
|
|
3676
|
+
onAskSelect: chatLoading || previewMode ? void 0 : handleAskSelect,
|
|
3677
|
+
NavLinkAnchor: _chunkWMXNSSJZcjs.NavLinkAnchorViaRuntime,
|
|
3678
|
+
className: previewMode ? "pointer-events-auto flex-1" : "flex-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3679
|
+
contentClassName: "max-w-none pb-0",
|
|
3680
|
+
fullWidth: true,
|
|
3681
|
+
hasNextPage: hasMoreMessages,
|
|
3682
|
+
isFetchingNextPage: isMessagesLoading,
|
|
3683
|
+
onLoadMore: loadMoreMessages
|
|
3684
|
+
}
|
|
3685
|
+
) }) : activeMode === "mingo" ? (
|
|
3686
|
+
/* Figma node 7532:222444 — default (Mingo-mode) empty state:
|
|
3687
|
+
centred greeting + capability grid + Guide-chat promo +
|
|
3688
|
+
quick-action chips. Guide mode keeps the slash-command
|
|
3689
|
+
onboarding list below. */
|
|
3690
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3691
|
+
_chunkWMXNSSJZcjs.MingoWelcome,
|
|
3692
|
+
{
|
|
3693
|
+
onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
|
|
3694
|
+
historyPageSize,
|
|
3695
|
+
...mingoWelcome,
|
|
3696
|
+
hasExistingChats: false,
|
|
3697
|
+
onQuickActionHover: (action) => setQuickActionPreview(_nullishCoalesce(action.prompt, () => ( action.label))),
|
|
3698
|
+
onQuickActionHoverEnd: () => setQuickActionPreview(null),
|
|
3699
|
+
agentSlug: _nullishCoalesce(activeAgentSlug, () => ( "mingo"))
|
|
3700
|
+
}
|
|
3701
|
+
)
|
|
3702
|
+
) : (
|
|
3703
|
+
/* Figma node 7532:328214 — Guide-mode empty state: greeting
|
|
3704
|
+
+ slash-command onboarding list share one scroll region,
|
|
3705
|
+
with a pinned quick-action chip row above the composer. */
|
|
3706
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3707
|
+
_chunkWMXNSSJZcjs.GuideWelcome,
|
|
3708
|
+
{
|
|
3709
|
+
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
3710
|
+
subtitleLoading: emptyStateLoading,
|
|
3711
|
+
...guideWelcome,
|
|
3712
|
+
title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _68 => _68.title]))),
|
|
3713
|
+
icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _69 => _69.icon]))),
|
|
3714
|
+
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _70 => _70.quickActions]), () => ( guideSuggestedActions)),
|
|
3715
|
+
onQuickAction: (action) => {
|
|
3716
|
+
setQuickActionPreview(null);
|
|
3717
|
+
handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
|
|
3718
|
+
},
|
|
3719
|
+
onQuickActionHover: (action) => setQuickActionPreview(_nullishCoalesce(action.prompt, () => ( action.label))),
|
|
3720
|
+
onQuickActionHoverEnd: () => setQuickActionPreview(null),
|
|
3721
|
+
agentSlug: activeAgentSlug,
|
|
3722
|
+
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
3723
|
+
!commandsLoaded && chipCommands.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGEUZRNQcjs.LoadingItems, { count: _chunkGMIXTXAOcjs.MINGO_ONBOARDING_SKELETON_ROWS, children: (i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGMIXTXAOcjs.MingoOnboardingCard, { loading: true, "data-loading-item": true, skeletonIndex: i, title: "" }) }),
|
|
3724
|
+
chipCommands.map((cmd) => {
|
|
3725
|
+
const Icon = _chunkCS5SZJFVcjs.resolveIcon.call(void 0, cmd.iconName);
|
|
3726
|
+
const cmdId = cmd.id;
|
|
3727
|
+
const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
|
|
3728
|
+
const cardActions = cmd.actions.map((action) => ({
|
|
3729
|
+
id: action.id,
|
|
3730
|
+
label: action.label,
|
|
3731
|
+
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
3732
|
+
}));
|
|
3733
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3734
|
+
_chunkGMIXTXAOcjs.MingoOnboardingCard,
|
|
3735
|
+
{
|
|
3736
|
+
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
3737
|
+
title: label,
|
|
3738
|
+
slashCommand: `/${cmdId}`,
|
|
3739
|
+
description: cmd.description,
|
|
3740
|
+
actions: cardActions,
|
|
3741
|
+
"data-loading-item": true
|
|
3742
|
+
},
|
|
3743
|
+
cmdId
|
|
3744
|
+
);
|
|
3745
|
+
})
|
|
3746
|
+
] })
|
|
3747
|
+
}
|
|
3748
|
+
)
|
|
3749
|
+
)
|
|
3750
|
+
},
|
|
3751
|
+
contentViewKey
|
|
3736
3752
|
)
|
|
3737
|
-
}
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3753
|
+
}
|
|
3754
|
+
),
|
|
3755
|
+
hasAboveComposer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3756
|
+
"div",
|
|
3757
|
+
{
|
|
3758
|
+
"data-testid": "chat-above-composer",
|
|
3759
|
+
className: "flex min-h-0 shrink flex-col px-[var(--spacing-system-m)] pb-[var(--spacing-system-m)]",
|
|
3760
|
+
children: aboveComposer
|
|
3761
|
+
}
|
|
3762
|
+
),
|
|
3741
3763
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3742
|
-
|
|
3764
|
+
_chunkWMXNSSJZcjs.ChatAttachmentChipStrip,
|
|
3743
3765
|
{
|
|
3744
3766
|
attachments: stagedAttachments,
|
|
3745
3767
|
onRemove: removeAttachment,
|
|
@@ -3747,7 +3769,7 @@ function EmbeddableChatInner({
|
|
|
3747
3769
|
}
|
|
3748
3770
|
),
|
|
3749
3771
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3750
|
-
|
|
3772
|
+
_chunkWMXNSSJZcjs.ChatComposer,
|
|
3751
3773
|
{
|
|
3752
3774
|
archived: isViewingArchived,
|
|
3753
3775
|
lock: composerLock,
|
|
@@ -3798,7 +3820,7 @@ function EmbeddableChatInner({
|
|
|
3798
3820
|
),
|
|
3799
3821
|
galleryModal,
|
|
3800
3822
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3801
|
-
|
|
3823
|
+
_chunkWMXNSSJZcjs.ChatDialogModals,
|
|
3802
3824
|
{
|
|
3803
3825
|
renameTarget,
|
|
3804
3826
|
setRenameTarget,
|
|
@@ -3814,13 +3836,13 @@ function EmbeddableChatInner({
|
|
|
3814
3836
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
3815
3837
|
] }) }) })
|
|
3816
3838
|
);
|
|
3817
|
-
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3839
|
+
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWMXNSSJZcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: [
|
|
3818
3840
|
shell === "none" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Title, { children: [
|
|
3819
3841
|
sourceLabel,
|
|
3820
3842
|
" AI Assistant"
|
|
3821
3843
|
] }) }),
|
|
3822
3844
|
body
|
|
3823
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZFOMRALUcjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3845
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZFOMRALUcjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMXNSSJZcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3824
3846
|
_chunkZFOMRALUcjs.DrawerContent,
|
|
3825
3847
|
{
|
|
3826
3848
|
side: "right",
|