@flamingo-stack/openframe-frontend-core 0.0.854 → 0.0.856
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/build/export-map.json +1 -1
- package/dist/{case-study-card-WP5Z234Q.cjs → case-study-card-6VAMNHLU.cjs} +8 -8
- package/dist/{chunk-ZDPPNHA2.cjs → chunk-2BTEERLH.cjs} +3 -3
- package/dist/{chunk-FBANHIAG.cjs → chunk-2JCA7BRK.cjs} +19 -19
- package/dist/{chunk-GVHCQRUE.cjs → chunk-2P72KAG5.cjs} +23 -23
- package/dist/{chunk-YY3WP2YQ.cjs → chunk-3GJ75OUL.cjs} +183 -183
- package/dist/{chunk-FJXSKMQJ.cjs → chunk-4H3J57AN.cjs} +25 -25
- package/dist/{chunk-6GWRPW6B.cjs → chunk-5NK3FUHY.cjs} +4 -4
- package/dist/{chunk-DLTPSP5F.cjs → chunk-5TYG5JNB.cjs} +2 -2
- package/dist/{chunk-63ZV3UGG.cjs → chunk-65NMKAPQ.cjs} +12 -12
- package/dist/{chunk-IGVAPIEW.cjs → chunk-6C4OR4MZ.cjs} +2 -2
- package/dist/{chunk-GG466XFQ.cjs → chunk-6DMH4GXN.cjs} +30 -5
- package/dist/{chunk-2IJMHBOK.cjs → chunk-77GX573I.cjs} +9 -9
- package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
- package/dist/{chunk-JKBNK5U6.cjs → chunk-D6GEMVHD.cjs} +3 -3
- package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
- package/dist/{chunk-S5P6CF5R.cjs → chunk-E5OQHFM6.cjs} +54 -54
- package/dist/{chunk-5TXE7BXT.cjs → chunk-EOUEUYCQ.cjs} +54 -54
- package/dist/{chunk-EIHMPQRQ.cjs → chunk-ESGE7CUX.cjs} +14 -14
- package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
- package/dist/{chunk-3WXHPD6N.cjs → chunk-F33EAPD2.cjs} +124 -124
- package/dist/{chunk-4SSJ3T3N.cjs → chunk-GK577ZLJ.cjs} +3 -13
- package/dist/{chunk-ETQNMR2K.cjs → chunk-GTUQGVXH.cjs} +8 -8
- package/dist/{chunk-7MOBD44H.cjs → chunk-HGM7WDJT.cjs} +28 -28
- package/dist/{chunk-VMAOZA2V.cjs → chunk-HML3JUXF.cjs} +324 -322
- package/dist/{chunk-4O5N5CGK.cjs → chunk-J3CFRGZ2.cjs} +17 -17
- package/dist/{chunk-LQDAB5V5.cjs → chunk-KZAQPRTA.cjs} +9 -11
- package/dist/{chunk-6DCUGIGU.cjs → chunk-LSLRJJFP.cjs} +2 -2
- package/dist/{chunk-ONYANAMA.cjs → chunk-MX52LZ6M.cjs} +6 -6
- package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
- package/dist/{chunk-BAA3YCLT.cjs → chunk-OW5MQKCI.cjs} +103 -103
- package/dist/{chunk-5HMENXSR.cjs → chunk-PCQ2HKU3.cjs} +5 -5
- package/dist/{chunk-D2XGRWPW.cjs → chunk-QLFNMWBP.cjs} +90 -90
- package/dist/{chunk-UPQ4MAR7.cjs → chunk-QZXCUY36.cjs} +53 -53
- package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
- package/dist/{chunk-PRJZMZ3X.cjs → chunk-SJZWVMBF.cjs} +678 -678
- package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
- package/dist/{chunk-ACPOJE32.cjs → chunk-STV6VJ3U.cjs} +21 -21
- package/dist/{chunk-QD727QFI.cjs → chunk-T54I5ZZY.cjs} +7 -7
- package/dist/{chunk-4LTLEUY5.cjs → chunk-TW5Y4D5I.cjs} +7 -7
- package/dist/{chunk-6XU3RCK3.cjs → chunk-UHGARY3S.cjs} +27 -27
- package/dist/{chunk-7J5NSWJG.cjs → chunk-UZIGMLTH.cjs} +100 -100
- package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
- package/dist/{chunk-5OENPMRU.cjs → chunk-XI3AMOW6.cjs} +65 -62
- package/dist/{chunk-TMPLHUUU.cjs → chunk-XTLMWLFB.cjs} +6 -6
- package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
- package/dist/{chunk-RMI6O3AE.cjs → chunk-YB244RRB.cjs} +36 -36
- package/dist/{chunk-KA3L6D5N.cjs → chunk-YSXVRTGT.cjs} +9 -12
- package/dist/{chunk-H3GBPYPS.cjs → chunk-ZYAVIRQV.cjs} +25 -25
- package/dist/{cloud-tenants-5RNK4ZAT.cjs → cloud-tenants-J5T4YL2P.cjs} +28 -29
- package/dist/components/case-studies/index.cjs +44 -45
- package/dist/components/chat/chat-message-row.d.ts +1 -1
- package/dist/components/chat/chat-message-row.d.ts.map +1 -1
- package/dist/components/chat/chat-message-row.js +4 -4
- package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts +7 -13
- package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts.map +1 -1
- package/dist/components/chat/entity-cards/use-cover-image-fallback.js +2 -8
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-attachment-image-gallery.js +8 -4
- package/dist/components/chat/index.cjs +22 -23
- package/dist/components/contact/index.cjs +29 -30
- package/dist/components/docs/index.cjs +32 -33
- package/dist/components/embeds/index.cjs +29 -30
- package/dist/components/faq/index.cjs +30 -31
- package/dist/components/features/index.cjs +28 -29
- package/dist/components/features/remote-session/remote-session-viewers.d.ts +6 -1
- package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -1
- package/dist/components/features/remote-session/remote-session-viewers.js +10 -3
- package/dist/components/help-center-pages/index.cjs +134 -135
- package/dist/components/index.cjs +112 -113
- package/dist/components/meeting-scheduler/index.cjs +102 -103
- package/dist/components/navigation/index.cjs +31 -32
- package/dist/components/onboarding-guides/index.cjs +31 -32
- package/dist/components/product-demo/index.cjs +39 -40
- package/dist/components/related-content/index.cjs +16 -17
- package/dist/components/tickets/index.cjs +35 -36
- package/dist/components/ui/entity-image.d.ts +1 -2
- package/dist/components/ui/entity-image.d.ts.map +1 -1
- package/dist/components/ui/entity-image.js +4 -8
- package/dist/components/ui/index.cjs +28 -29
- package/dist/components/ui/markdown/base-components.d.ts +0 -13
- package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
- package/dist/components/ui/markdown/base-components.js +7 -7
- package/dist/components/ui/square-avatar.d.ts.map +1 -1
- package/dist/components/ui/square-avatar.js +3 -8
- package/dist/{devices-44O5PZOW.cjs → devices-IJDF7SSK.cjs} +29 -30
- package/dist/embed-shims/index.cjs +3 -2
- package/dist/embed-shims/next-image.cjs +3 -2
- package/dist/embed-shims/next-image.d.ts +2 -0
- package/dist/embed-shims/next-image.d.ts.map +1 -1
- package/dist/embed-shims/next-image.js +14 -4
- package/dist/{embeddable-chat-W3CLMGC3.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
- package/dist/hooks/index.cjs +23 -16
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/use-authed-asset-src.d.ts +77 -2
- package/dist/hooks/use-authed-asset-src.d.ts.map +1 -1
- package/dist/hooks/use-authed-asset-src.js +185 -73
- package/dist/hooks/use-authed-image-src.d.ts +11 -4
- package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
- package/dist/hooks/use-authed-image-src.js +6 -2
- package/dist/hooks/use-image-fallback.d.ts +16 -0
- package/dist/hooks/use-image-fallback.d.ts.map +1 -0
- package/dist/hooks/use-image-fallback.js +14 -0
- package/dist/index.cjs +40 -36
- package/dist/{knowledge-UUU3WVO3.cjs → knowledge-5LIK6Q4E.cjs} +29 -30
- package/dist/{logs-DFHNSODA.cjs → logs-FMENCAXT.cjs} +35 -36
- package/dist/{policies-RGFUGDBP.cjs → policies-DKQEEKB4.cjs} +32 -33
- package/dist/{remote-session-U3H77HKR.cjs → remote-session-6X7CAHBC.cjs} +13 -14
- package/dist/{scripts-KOVO5DHW.cjs → scripts-4EPUIFHF.cjs} +35 -36
- package/dist/{software-update-4EKHVV5W.cjs → software-update-IMNRXBAI.cjs} +32 -33
- package/dist/{tickets-board-YIFOVMDX.cjs → tickets-board-POYZS7BW.cjs} +16 -17
- package/dist/utils/app-origins.d.ts +3 -6
- package/dist/utils/app-origins.d.ts.map +1 -1
- package/dist/utils/app-origins.js +8 -1
- package/dist/utils/embed-authed-fetch.d.ts +46 -26
- package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
- package/dist/utils/embed-authed-fetch.js +24 -8
- package/dist/utils/index.cjs +4 -1
- package/dist/{video-file-player-XMOB234V.cjs → video-file-player-RIOT24NT.cjs} +3 -4
- package/package.json +1 -1
- package/src/components/chat/chat-message-row.tsx +8 -7
- package/src/components/chat/entity-cards/use-cover-image-fallback.ts +8 -28
- package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +19 -8
- package/src/components/features/remote-session/remote-session-viewers.tsx +16 -3
- package/src/components/ui/entity-image.tsx +4 -12
- package/src/components/ui/markdown/base-components.tsx +15 -20
- package/src/components/ui/square-avatar.tsx +5 -8
- package/src/embed-shims/next-image.tsx +34 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-authed-asset-src.ts +323 -107
- package/src/hooks/use-authed-image-src.ts +15 -5
- package/src/hooks/use-image-fallback.ts +31 -0
- package/src/utils/app-origins.ts +12 -7
- package/src/utils/embed-authed-fetch.ts +71 -32
- package/dist/chunk-YSDB6HGQ.cjs +0 -102
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkKZAQPRTAcjs = require('./chunk-KZAQPRTA.cjs');
|
|
8
8
|
require('./chunk-24I6RFVU.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
@@ -58,17 +58,17 @@ require('./chunk-24I6RFVU.cjs');
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
var
|
|
61
|
+
var _chunkHML3JUXFcjs = require('./chunk-HML3JUXF.cjs');
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
var
|
|
67
|
+
var _chunk65NMKAPQcjs = require('./chunk-65NMKAPQ.cjs');
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
var
|
|
71
|
+
var _chunkSTV6VJ3Ucjs = require('./chunk-STV6VJ3U.cjs');
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
var _chunkKXFIYO4Ocjs = require('./chunk-KXFIYO4O.cjs');
|
|
@@ -1875,9 +1875,9 @@ require('./chunk-LMBYZITR.cjs');
|
|
|
1875
1875
|
require('./chunk-TMVC7S2R.cjs');
|
|
1876
1876
|
require('./chunk-IYHH5EIO.cjs');
|
|
1877
1877
|
require('./chunk-XIBCMGBW.cjs');
|
|
1878
|
-
require('./chunk-
|
|
1879
|
-
require('./chunk-
|
|
1880
|
-
require('./chunk-
|
|
1878
|
+
require('./chunk-77GX573I.cjs');
|
|
1879
|
+
require('./chunk-D6GEMVHD.cjs');
|
|
1880
|
+
require('./chunk-6C4OR4MZ.cjs');
|
|
1881
1881
|
require('./chunk-JKX2C3I2.cjs');
|
|
1882
1882
|
|
|
1883
1883
|
|
|
@@ -1887,15 +1887,15 @@ require('./chunk-IX2E3AN7.cjs');
|
|
|
1887
1887
|
require('./chunk-7DNL734S.cjs');
|
|
1888
1888
|
|
|
1889
1889
|
|
|
1890
|
-
var
|
|
1891
|
-
require('./chunk-
|
|
1890
|
+
var _chunk3GJ75OULcjs = require('./chunk-3GJ75OUL.cjs');
|
|
1891
|
+
require('./chunk-LSLRJJFP.cjs');
|
|
1892
1892
|
|
|
1893
1893
|
|
|
1894
|
-
var
|
|
1894
|
+
var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
|
|
1895
1895
|
|
|
1896
1896
|
|
|
1897
|
-
var
|
|
1898
|
-
require('./chunk-
|
|
1897
|
+
var _chunkAYMY2VNBcjs = require('./chunk-AYMY2VNB.cjs');
|
|
1898
|
+
require('./chunk-DXVGGWLG.cjs');
|
|
1899
1899
|
require('./chunk-X432Y6RM.cjs');
|
|
1900
1900
|
require('./chunk-S5C3OZCO.cjs');
|
|
1901
1901
|
require('./chunk-32ASZMTV.cjs');
|
|
@@ -1904,17 +1904,16 @@ require('./chunk-4IYNDV3G.cjs');
|
|
|
1904
1904
|
require('./chunk-6VOOPMP5.cjs');
|
|
1905
1905
|
require('./chunk-ORO54HDF.cjs');
|
|
1906
1906
|
require('./chunk-RUHKTWGB.cjs');
|
|
1907
|
-
require('./chunk-
|
|
1908
|
-
require('./chunk-
|
|
1909
|
-
require('./chunk-
|
|
1910
|
-
require('./chunk-
|
|
1911
|
-
require('./chunk-FX35L4Y6.cjs');
|
|
1907
|
+
require('./chunk-T54I5ZZY.cjs');
|
|
1908
|
+
require('./chunk-GK577ZLJ.cjs');
|
|
1909
|
+
require('./chunk-EXQSIX2I.cjs');
|
|
1910
|
+
require('./chunk-XCQ5I27Z.cjs');
|
|
1912
1911
|
|
|
1913
1912
|
|
|
1914
|
-
var
|
|
1913
|
+
var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
|
|
1915
1914
|
require('./chunk-NTPX5GXI.cjs');
|
|
1916
|
-
require('./chunk-
|
|
1917
|
-
require('./chunk-
|
|
1915
|
+
require('./chunk-6DMH4GXN.cjs');
|
|
1916
|
+
require('./chunk-SQ7YHWEP.cjs');
|
|
1918
1917
|
|
|
1919
1918
|
|
|
1920
1919
|
var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
|
|
@@ -2011,7 +2010,7 @@ function useChatDialogManager({
|
|
|
2011
2010
|
setArchivedLoading(true);
|
|
2012
2011
|
}
|
|
2013
2012
|
try {
|
|
2014
|
-
const result = await fetchArchivedDialogs({ cursor, limit:
|
|
2013
|
+
const result = await fetchArchivedDialogs({ cursor, limit: _chunkHML3JUXFcjs.CHAT_HISTORY_PAGE_SIZE });
|
|
2015
2014
|
if (!isCurrent()) return;
|
|
2016
2015
|
setArchivedCursor(result.nextCursor);
|
|
2017
2016
|
setArchivedDialogs((prev) => cursor ? [...prev, ...result.dialogs] : result.dialogs);
|
|
@@ -2130,12 +2129,12 @@ function withoutCode(content) {
|
|
|
2130
2129
|
}
|
|
2131
2130
|
function splitCitedSources(sources, content) {
|
|
2132
2131
|
if (!sources || sources.length === 0) return { cited: [], uncited: [] };
|
|
2133
|
-
const byCards = splitByCards(sources,
|
|
2132
|
+
const byCards = splitByCards(sources, _chunkHML3JUXFcjs.extractCardReferences.call(void 0, withoutCode(content)));
|
|
2134
2133
|
if (byCards.cited.length > 0) return byCards;
|
|
2135
|
-
const firstMentionAt = new Map(
|
|
2134
|
+
const firstMentionAt = new Map(_chunkHML3JUXFcjs.citedSourceNumbers.call(void 0, withoutCode(content)).map((index, order) => [index, order]));
|
|
2136
2135
|
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
2136
|
const uncited = sources.filter((source) => !firstMentionAt.has(source.index));
|
|
2138
|
-
return { cited:
|
|
2137
|
+
return { cited: _chunkHML3JUXFcjs.groupSourcesByTable.call(void 0, cited), uncited: _chunkHML3JUXFcjs.groupSourcesByTable.call(void 0, uncited) };
|
|
2139
2138
|
}
|
|
2140
2139
|
function recordsOf(source) {
|
|
2141
2140
|
if (!source.items || source.items.length === 0) return [source];
|
|
@@ -2152,7 +2151,7 @@ function recordsOf(source) {
|
|
|
2152
2151
|
}
|
|
2153
2152
|
function recordKey(record) {
|
|
2154
2153
|
const id = record.id || record.path;
|
|
2155
|
-
return record.documentType && id ? `${
|
|
2154
|
+
return record.documentType && id ? `${_chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, record.documentType)}:${id}` : null;
|
|
2156
2155
|
}
|
|
2157
2156
|
function splitByCards(sources, cards) {
|
|
2158
2157
|
const records = sources.flatMap(recordsOf);
|
|
@@ -2163,11 +2162,11 @@ function splitByCards(sources, cards) {
|
|
|
2163
2162
|
}
|
|
2164
2163
|
const cited = [];
|
|
2165
2164
|
for (const card of cards) {
|
|
2166
|
-
const record = byKey.get(`${
|
|
2165
|
+
const record = byKey.get(`${_chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, card.type)}:${card.id}`);
|
|
2167
2166
|
if (record && !cited.includes(record)) cited.push(record);
|
|
2168
2167
|
}
|
|
2169
2168
|
const uncited = records.filter((record) => !cited.includes(record));
|
|
2170
|
-
return { cited:
|
|
2169
|
+
return { cited: _chunkHML3JUXFcjs.groupSourcesByTable.call(void 0, cited), uncited: _chunkHML3JUXFcjs.groupSourcesByTable.call(void 0, uncited) };
|
|
2171
2170
|
}
|
|
2172
2171
|
function groupedRowLabels(items) {
|
|
2173
2172
|
const numbers = new Set(items.flatMap((item) => item.index === void 0 ? [] : [item.index]));
|
|
@@ -2222,7 +2221,7 @@ function pruneTimestampCache(timestampCache, liveIds) {
|
|
|
2222
2221
|
// src/components/chat/embeddable-chat.tsx
|
|
2223
2222
|
var _jsxruntime = require('react/jsx-runtime');
|
|
2224
2223
|
var HISTORY_RAIL_WIDTH = 320;
|
|
2225
|
-
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH +
|
|
2224
|
+
var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + _chunkHML3JUXFcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
2226
2225
|
var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
|
|
2227
2226
|
var DRAWER_WIDTH_KEY = "mingo-chat-width-v4";
|
|
2228
2227
|
var DRAWER_DEFAULT_WIDTH_PX = 750;
|
|
@@ -2295,7 +2294,7 @@ function dispatchSlashCommandAction(actionId, cmdId, ref) {
|
|
|
2295
2294
|
if (!input) return;
|
|
2296
2295
|
switch (actionId) {
|
|
2297
2296
|
case "browse":
|
|
2298
|
-
input.submit(
|
|
2297
|
+
input.submit(_chunkHML3JUXFcjs.formatSingularLookupInvocation.call(void 0, cmdId));
|
|
2299
2298
|
return;
|
|
2300
2299
|
case "search":
|
|
2301
2300
|
input.setValue(`/${cmdId} `);
|
|
@@ -2316,7 +2315,7 @@ var ONE_TEXT_LINE = "\xA0";
|
|
|
2316
2315
|
var SOURCE_CHIP_SKELETON_COUNT = 1;
|
|
2317
2316
|
function SourceChipSkeleton(props) {
|
|
2318
2317
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "aria-hidden": true, className: "pointer-events-none inline-flex shrink-0 items-center", ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), children: [
|
|
2319
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className:
|
|
2318
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkHML3JUXFcjs.chatChipClass.call(void 0, { tone: "secondary" }), children: [
|
|
2320
2319
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkPMUCEUFQcjs.SKELETON_SURFACE_CLASS, "inline-block h-3.5 w-3.5 rounded-sm") }),
|
|
2321
2320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkPMUCEUFQcjs.SKELETON_SURFACE_CLASS, "w-28 rounded-sm"), children: ONE_TEXT_LINE })
|
|
2322
2321
|
] }),
|
|
@@ -2327,7 +2326,7 @@ function SourceChip(props) {
|
|
|
2327
2326
|
const { src, onDiscuss } = props;
|
|
2328
2327
|
const marks = _chunk63A4GZMBcjs.loadingItemProps.call(void 0, props);
|
|
2329
2328
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2330
|
-
const cta =
|
|
2329
|
+
const cta = _chunkHML3JUXFcjs.resolveSourceRowCTA.call(void 0,
|
|
2331
2330
|
{
|
|
2332
2331
|
sourceRepo: src.sourceRepo,
|
|
2333
2332
|
documentType: src.documentType,
|
|
@@ -2337,16 +2336,16 @@ function SourceChip(props) {
|
|
|
2337
2336
|
targetPlatform: _nullishCoalesce(src.targetPlatform, () => ( null)),
|
|
2338
2337
|
path: src.path
|
|
2339
2338
|
},
|
|
2340
|
-
|
|
2339
|
+
_chunkHML3JUXFcjs.sourceRowCtxFromRuntime.call(void 0, runtime)
|
|
2341
2340
|
);
|
|
2342
2341
|
const Icon = cta.icon;
|
|
2343
2342
|
const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "h-3.5 w-3.5" });
|
|
2344
|
-
const chipClass =
|
|
2343
|
+
const chipClass = _chunkHML3JUXFcjs.chatChipClass.call(void 0, { tone: "secondary" });
|
|
2345
2344
|
if (src.items && src.items.length > 0) {
|
|
2346
2345
|
const itemIndices = src.items.flatMap((item) => item.index === void 0 ? [] : [item.index]);
|
|
2347
2346
|
const rowLabels = groupedRowLabels(src.items);
|
|
2348
2347
|
const dropdownItems = src.items.map((item, i) => {
|
|
2349
|
-
const itemCta =
|
|
2348
|
+
const itemCta = _chunkHML3JUXFcjs.resolveSourceRowCTA.call(void 0,
|
|
2350
2349
|
{
|
|
2351
2350
|
sourceRepo: src.sourceRepo,
|
|
2352
2351
|
documentType: item.documentType,
|
|
@@ -2356,7 +2355,7 @@ function SourceChip(props) {
|
|
|
2356
2355
|
targetPlatform: _nullishCoalesce(item.targetPlatform, () => ( null)),
|
|
2357
2356
|
path: item.path
|
|
2358
2357
|
},
|
|
2359
|
-
|
|
2358
|
+
_chunkHML3JUXFcjs.sourceRowCtxFromRuntime.call(void 0, runtime)
|
|
2360
2359
|
);
|
|
2361
2360
|
const ItemIcon = itemCta.icon;
|
|
2362
2361
|
const itemChatRef = itemCta.chatRef;
|
|
@@ -2373,13 +2372,13 @@ function SourceChip(props) {
|
|
|
2373
2372
|
} : void 0
|
|
2374
2373
|
};
|
|
2375
2374
|
});
|
|
2376
|
-
const groupIndices = itemIndices.length > 0 ?
|
|
2375
|
+
const groupIndices = itemIndices.length > 0 ? _chunkHML3JUXFcjs.formatCitationIndices.call(void 0, itemIndices) : `${src.index}`;
|
|
2377
2376
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex", ...marks, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2378
|
-
|
|
2377
|
+
_chunkKZAQPRTAcjs.HoverDropdown,
|
|
2379
2378
|
{
|
|
2380
2379
|
items: dropdownItems,
|
|
2381
2380
|
renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2382
|
-
|
|
2381
|
+
_chunkHML3JUXFcjs.NavLinkAnchorViaRuntime,
|
|
2383
2382
|
{
|
|
2384
2383
|
href,
|
|
2385
2384
|
targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)),
|
|
@@ -2412,13 +2411,13 @@ function SourceChip(props) {
|
|
|
2412
2411
|
] });
|
|
2413
2412
|
const wrapChip = (clickable) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "inline-flex items-center", ...marks, children: [
|
|
2414
2413
|
clickable,
|
|
2415
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2414
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.SourceActionButton, { chatRef: cta.chatRef, onDiscuss, density: "inline", className: "-mr-1 ml-1" })
|
|
2416
2415
|
] });
|
|
2417
2416
|
if (cta.href) {
|
|
2418
2417
|
const isEntity = !!src.externalUrl;
|
|
2419
2418
|
return wrapChip(
|
|
2420
2419
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2421
|
-
|
|
2420
|
+
_chunkHML3JUXFcjs.NavLinkAnchorViaRuntime,
|
|
2422
2421
|
{
|
|
2423
2422
|
href: cta.href,
|
|
2424
2423
|
path: isEntity ? null : src.path,
|
|
@@ -2444,7 +2443,7 @@ function SourceChips({
|
|
|
2444
2443
|
const [expanded, setExpanded] = _react.useState.call(void 0, false);
|
|
2445
2444
|
if (loading) {
|
|
2446
2445
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": true, className: "mt-2 flex flex-col gap-1.5 border-t border-ods-border pt-2", children: [
|
|
2447
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase text-ods-text-muted text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2446
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "uppercase text-ods-text-muted text-h6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.TextHold, { children: "Sources" }) }),
|
|
2448
2447
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-nowrap gap-1.5 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: skeletonCount, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SourceChipSkeleton, { "data-loading-item": true }) }) })
|
|
2449
2448
|
] });
|
|
2450
2449
|
}
|
|
@@ -2509,7 +2508,7 @@ function EmbeddableChatInner({
|
|
|
2509
2508
|
defaultActiveMode,
|
|
2510
2509
|
shell = "drawer",
|
|
2511
2510
|
closable = true,
|
|
2512
|
-
appearance =
|
|
2511
|
+
appearance = _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC,
|
|
2513
2512
|
onCollapse,
|
|
2514
2513
|
collapseTo = "list",
|
|
2515
2514
|
onExpand,
|
|
@@ -2548,13 +2547,13 @@ function EmbeddableChatInner({
|
|
|
2548
2547
|
handleRef
|
|
2549
2548
|
}) {
|
|
2550
2549
|
const shellLess = shell !== "drawer";
|
|
2551
|
-
const isV2 = appearance ===
|
|
2550
|
+
const isV2 = appearance === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
|
|
2552
2551
|
const splitMode = threadContainer !== void 0;
|
|
2553
2552
|
const hostOwnsList = rail === "none" || splitMode;
|
|
2554
2553
|
const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
|
|
2555
2554
|
const source = _nullishCoalesce(runtime.source, () => ( ""));
|
|
2556
2555
|
const commandsUrl = runtime.endpoints.commandsUrl;
|
|
2557
|
-
const { attachmentsEnabled, user: identityUser } =
|
|
2556
|
+
const { attachmentsEnabled, user: identityUser } = _chunkHML3JUXFcjs.useChatIdentity.call(void 0, );
|
|
2558
2557
|
const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
|
|
2559
2558
|
_react.useEffect.call(void 0, () => {
|
|
2560
2559
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -2607,11 +2606,11 @@ function EmbeddableChatInner({
|
|
|
2607
2606
|
const chatInputRef = _react.useRef.call(void 0, null);
|
|
2608
2607
|
const slashCommandsProp = _react.useMemo.call(void 0,
|
|
2609
2608
|
() => ({
|
|
2610
|
-
fetchCommands: (prefix, signal) =>
|
|
2609
|
+
fetchCommands: (prefix, signal) => _chunkHML3JUXFcjs.fetchSlashCommands.call(void 0, prefix, signal, commandsUrl),
|
|
2611
2610
|
resolveSourceIcon: (sourceId) => {
|
|
2612
|
-
const iconName =
|
|
2611
|
+
const iconName = _chunkHML3JUXFcjs.getSourceIconName.call(void 0, sourceId);
|
|
2613
2612
|
if (!iconName) return void 0;
|
|
2614
|
-
return { Icon:
|
|
2613
|
+
return { Icon: _chunkRY7INTYUcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }), label: sourceId };
|
|
2615
2614
|
},
|
|
2616
2615
|
onAction: (cmd, actionId) => {
|
|
2617
2616
|
dispatchSlashCommandAction(actionId, cmd.id, chatInputRef);
|
|
@@ -2638,7 +2637,7 @@ function EmbeddableChatInner({
|
|
|
2638
2637
|
},
|
|
2639
2638
|
[controlledActiveMode, onActiveModeChange]
|
|
2640
2639
|
);
|
|
2641
|
-
const { commands: commandsList, loaded: commandsLoaded } =
|
|
2640
|
+
const { commands: commandsList, loaded: commandsLoaded } = _chunkHML3JUXFcjs.useSlashCommandRegistry.call(void 0, commandsUrl, {
|
|
2642
2641
|
enabled: activeMode === "guide"
|
|
2643
2642
|
});
|
|
2644
2643
|
const commandsById = _react.useMemo.call(void 0, () => {
|
|
@@ -2649,7 +2648,7 @@ function EmbeddableChatInner({
|
|
|
2649
2648
|
const resolveAgentConfigUrl = _nullishCoalesce(_nullishCoalesce(aiAgentConfigUrlProp, () => ( runtime.endpoints.aiAgentConfigUrl)), () => ( DEFAULT_AI_AGENT_CONFIG_URL));
|
|
2650
2649
|
const agentConfigUrl = activeAgentSlug ? resolveAgentConfigUrl(activeAgentSlug) : void 0;
|
|
2651
2650
|
const emptyStateUrl = _nullishCoalesce(agentConfigUrl, () => ( runtime.endpoints.emptyStateUrl));
|
|
2652
|
-
const { config: emptyStateConfig, loading: emptyStateLoading } =
|
|
2651
|
+
const { config: emptyStateConfig, loading: emptyStateLoading } = _chunkHML3JUXFcjs.useEmptyStateConfig.call(void 0, emptyStateUrl, {
|
|
2653
2652
|
enabled: activeMode === "guide" || !!activeAgentSlug
|
|
2654
2653
|
});
|
|
2655
2654
|
const effectiveGreeting = _nullishCoalesce(emptyStateConfig.greeting, () => ( emptyStateGreeting));
|
|
@@ -2695,7 +2694,7 @@ function EmbeddableChatInner({
|
|
|
2695
2694
|
hasMoreMessages,
|
|
2696
2695
|
loadMoreMessages,
|
|
2697
2696
|
dialogCapabilities
|
|
2698
|
-
} =
|
|
2697
|
+
} = _chunkHML3JUXFcjs.useUnifiedChat.call(void 0, {
|
|
2699
2698
|
modes: effectiveModes,
|
|
2700
2699
|
activeMode,
|
|
2701
2700
|
mingoStateOverride: mingoState,
|
|
@@ -2742,8 +2741,8 @@ function EmbeddableChatInner({
|
|
|
2742
2741
|
addFiles: addAttachmentFiles,
|
|
2743
2742
|
removeAttachment,
|
|
2744
2743
|
clear: clearAttachments
|
|
2745
|
-
} =
|
|
2746
|
-
const { panelRef: galleryPanelRef, modal: galleryModal } =
|
|
2744
|
+
} = _chunkHML3JUXFcjs.useChatAttachments.call(void 0, );
|
|
2745
|
+
const { panelRef: galleryPanelRef, modal: galleryModal } = _chunkHML3JUXFcjs.useChatAttachmentImageGallery.call(void 0, );
|
|
2747
2746
|
const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _16 => _16.maxItems]), () => ( 10));
|
|
2748
2747
|
const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
|
|
2749
2748
|
const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
|
|
@@ -2874,7 +2873,7 @@ function EmbeddableChatInner({
|
|
|
2874
2873
|
const askAboutRef = _react.useRef.call(void 0, discussRef);
|
|
2875
2874
|
const askAbout = _react.useCallback.call(void 0, (reference) => askAboutRef.current(reference), []);
|
|
2876
2875
|
const renderEntityCard = _react.useCallback.call(void 0,
|
|
2877
|
-
(reference) =>
|
|
2876
|
+
(reference) => _chunkHML3JUXFcjs.renderChatInlineEntityCard.call(void 0, reference, {
|
|
2878
2877
|
onDiscuss: askAbout,
|
|
2879
2878
|
onDisplay: displayRef,
|
|
2880
2879
|
extras
|
|
@@ -2882,7 +2881,7 @@ function EmbeddableChatInner({
|
|
|
2882
2881
|
[askAbout, displayRef, extras]
|
|
2883
2882
|
);
|
|
2884
2883
|
const mingoAssistantIcon = _react.useMemo.call(void 0,
|
|
2885
|
-
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
2884
|
+
() => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-6 w-6" }),
|
|
2886
2885
|
[effectiveAssistantIcon]
|
|
2887
2886
|
);
|
|
2888
2887
|
const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
|
|
@@ -2894,13 +2893,13 @@ function EmbeddableChatInner({
|
|
|
2894
2893
|
pruneTimestampCache(timestampCache, new Set(rawMessages.map((m) => m.id)));
|
|
2895
2894
|
return mapped;
|
|
2896
2895
|
}, [rawMessages, guideUserName, guideUserAvatar, timestampCache]);
|
|
2897
|
-
const whatToAsk =
|
|
2896
|
+
const whatToAsk = _chunkHML3JUXFcjs.useWhatToAsk.call(void 0, {
|
|
2898
2897
|
dialogId: activeDialogId,
|
|
2899
2898
|
content: typeof whatToAskContent === "function" ? void 0 : whatToAskContent,
|
|
2900
2899
|
user: {
|
|
2901
2900
|
name: _nullishCoalesce(headerUserName, () => ( "You")),
|
|
2902
2901
|
avatar: _optionalChain([identityUser, 'optionalAccess', _42 => _42.avatarUrl, 'optionalAccess', _43 => _43.trim, 'call', _44 => _44()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _45 => _45.trim, 'call', _46 => _46()]) || null,
|
|
2903
|
-
authorType:
|
|
2902
|
+
authorType: _chunk65NMKAPQcjs.AUTHOR_TYPE.ADMIN
|
|
2904
2903
|
},
|
|
2905
2904
|
assistant: { name: "Mingo", assistantType: "mingo" }
|
|
2906
2905
|
});
|
|
@@ -2913,7 +2912,7 @@ function EmbeddableChatInner({
|
|
|
2913
2912
|
noteWhatToAskSend();
|
|
2914
2913
|
let augmentedText = text;
|
|
2915
2914
|
if (readyAttachments.length > 0) {
|
|
2916
|
-
const markdown = readyAttachments.map((att) =>
|
|
2915
|
+
const markdown = readyAttachments.map((att) => _chunkHML3JUXFcjs.formatChatAttachmentMarkdownForBubble.call(void 0, att, viewUrlPrefix)).join("");
|
|
2917
2916
|
augmentedText = `${text}${markdown}`;
|
|
2918
2917
|
}
|
|
2919
2918
|
void sendMessage(augmentedText, {
|
|
@@ -2952,7 +2951,7 @@ function EmbeddableChatInner({
|
|
|
2952
2951
|
// agent/persona (`icon_props.color`) wins; the built-in slug map
|
|
2953
2952
|
// (fae→pink, mingo→cyan) is only the fallback for unconfigured
|
|
2954
2953
|
// built-in agents.
|
|
2955
|
-
accent: _nullishCoalesce(
|
|
2954
|
+
accent: _nullishCoalesce(_chunkHML3JUXFcjs.accentFromIdentityIcon.call(void 0, effectiveAssistantIcon), () => ( _chunkHML3JUXFcjs.getAgentAccent.call(void 0, activeAgentSlug)))
|
|
2956
2955
|
}));
|
|
2957
2956
|
}
|
|
2958
2957
|
return (_nullishCoalesce(effectiveSuggestedQueries, () => ( []))).map((q, i) => ({
|
|
@@ -3000,7 +2999,7 @@ function EmbeddableChatInner({
|
|
|
3000
2999
|
unarchiveDialog: mingoCaps.unarchiveDialog
|
|
3001
3000
|
});
|
|
3002
3001
|
const handleOpen = _react.useCallback.call(void 0, () => setIsOpen(true), [setIsOpen]);
|
|
3003
|
-
|
|
3002
|
+
_chunkHML3JUXFcjs.useCloseOnNavigation.call(void 0, handleNavigationClose, null);
|
|
3004
3003
|
_react.useEffect.call(void 0, () => {
|
|
3005
3004
|
const handler = (e) => {
|
|
3006
3005
|
const detail = e.detail;
|
|
@@ -3008,8 +3007,8 @@ function EmbeddableChatInner({
|
|
|
3008
3007
|
setIsOpen(true);
|
|
3009
3008
|
setTimeout(() => askAbout(detail.ref), 0);
|
|
3010
3009
|
};
|
|
3011
|
-
window.addEventListener(
|
|
3012
|
-
return () => window.removeEventListener(
|
|
3010
|
+
window.addEventListener(_chunkHML3JUXFcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3011
|
+
return () => window.removeEventListener(_chunkHML3JUXFcjs.ASK_AI_OPEN_WITH_REF_EVENT, handler);
|
|
3013
3012
|
}, [source, askAbout, setIsOpen]);
|
|
3014
3013
|
const pendingAskRef = _react.useRef.call(void 0, null);
|
|
3015
3014
|
const isDraft = activeDialogId == null && messages.length === 0;
|
|
@@ -3043,10 +3042,10 @@ function EmbeddableChatInner({
|
|
|
3043
3042
|
const prompt = typeof detail.prompt === "string" ? detail.prompt.trim() : "";
|
|
3044
3043
|
if (prompt) setTimeout(() => sendAskPrompt(prompt), 0);
|
|
3045
3044
|
};
|
|
3046
|
-
window.addEventListener(
|
|
3047
|
-
return () => window.removeEventListener(
|
|
3045
|
+
window.addEventListener(_chunkHML3JUXFcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3046
|
+
return () => window.removeEventListener(_chunkHML3JUXFcjs.ASK_AI_OPEN_EVENT, handler);
|
|
3048
3047
|
}, [source, setIsOpen, sendAskPrompt]);
|
|
3049
|
-
_react.useEffect.call(void 0, () =>
|
|
3048
|
+
_react.useEffect.call(void 0, () => _chunkHML3JUXFcjs.chatListensForAskAiOpens.call(void 0, ), []);
|
|
3050
3049
|
const hasMessages = messages.length > 0;
|
|
3051
3050
|
const dialogsInitialLoading = isDialogsLoading && dialogs.length === 0;
|
|
3052
3051
|
const dialogsLoadError = dialogsError && dialogs.length === 0;
|
|
@@ -3084,7 +3083,7 @@ function EmbeddableChatInner({
|
|
|
3084
3083
|
if (sourceSkeletonCount <= 0) return null;
|
|
3085
3084
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SourceChips, { loading: true, skeletonCount: sourceSkeletonCount, cited: [], uncited: [] }) });
|
|
3086
3085
|
}
|
|
3087
|
-
const { cited, uncited } = splitCitedSources(message.sources,
|
|
3086
|
+
const { cited, uncited } = splitCitedSources(message.sources, _chunkHML3JUXFcjs.flattenAssistantContent.call(void 0, message.content));
|
|
3088
3087
|
if (cited.length === 0 && uncited.length === 0) return null;
|
|
3089
3088
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pb-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SourceChips, { cited, uncited, onDiscuss: askAbout, skeletonCount: sourceSkeletonCount }) });
|
|
3090
3089
|
},
|
|
@@ -3094,7 +3093,7 @@ function EmbeddableChatInner({
|
|
|
3094
3093
|
const [panelBoundary, setPanelBoundary] = _react.useState.call(void 0, null);
|
|
3095
3094
|
const [threadPortalHost, setThreadPortalHost] = _react.useState.call(void 0, null);
|
|
3096
3095
|
const [threadBoundary, setThreadBoundary] = _react.useState.call(void 0, null);
|
|
3097
|
-
const splitMinWidth = (isV2 ?
|
|
3096
|
+
const splitMinWidth = (isV2 ? _chunkHML3JUXFcjs.MINGO_V2_RAIL_WIDTH : HISTORY_RAIL_WIDTH) + _chunkHML3JUXFcjs.CHAT_BLOCK_MIN_WIDTH;
|
|
3098
3097
|
const [canSplit, setCanSplit] = _react.useState.call(void 0, false);
|
|
3099
3098
|
_react.useEffect.call(void 0, () => {
|
|
3100
3099
|
if (!panelBoundary || typeof ResizeObserver === "undefined") return void 0;
|
|
@@ -3113,7 +3112,7 @@ function EmbeddableChatInner({
|
|
|
3113
3112
|
[splitMinWidth]
|
|
3114
3113
|
);
|
|
3115
3114
|
const [railCollapsed, setRailCollapsed] = _react.useState.call(void 0, false);
|
|
3116
|
-
const railStorageHydrated =
|
|
3115
|
+
const railStorageHydrated = _chunkHML3JUXFcjs.useIsHydrated.call(void 0, );
|
|
3117
3116
|
const [railStorageRead, setRailStorageRead] = _react.useState.call(void 0, false);
|
|
3118
3117
|
if (railStorageHydrated && !railStorageRead) {
|
|
3119
3118
|
setRailStorageRead(true);
|
|
@@ -3167,7 +3166,7 @@ function EmbeddableChatInner({
|
|
|
3167
3166
|
resetToNewChat();
|
|
3168
3167
|
}, [clearWhatToAskDraft, resetToNewChat]);
|
|
3169
3168
|
const activeDialogStatus = activeDialog && dialogStatusOf ? dialogStatusOf(activeDialog) : void 0;
|
|
3170
|
-
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _67 => _67.length]), () => ( 0))) > 0 ||
|
|
3169
|
+
const isChatBlocked = !!composerLock || chatLoading || activeDialogStatus === "working" || activeDialogStatus === "approval" || (_nullishCoalesce(_optionalChain([pendingApprovals, 'optionalAccess', _67 => _67.length]), () => ( 0))) > 0 || _chunkHML3JUXFcjs.awaitsDecision.call(void 0, hostMessages);
|
|
3171
3170
|
const showWhatToAsk = (content) => {
|
|
3172
3171
|
whatToAsk.clearDraft();
|
|
3173
3172
|
resetToNewChat();
|
|
@@ -3267,7 +3266,7 @@ function EmbeddableChatInner({
|
|
|
3267
3266
|
}),
|
|
3268
3267
|
[resetToNewChat, contextMaxItems, contextPicker, openContextPicker]
|
|
3269
3268
|
);
|
|
3270
|
-
const splitHeaderMenuItems =
|
|
3269
|
+
const splitHeaderMenuItems = _chunkHML3JUXFcjs.chatDialogMenuItems.call(void 0, {
|
|
3271
3270
|
onCopyLink: headerOnCopyLink,
|
|
3272
3271
|
onRename: headerOnRename,
|
|
3273
3272
|
onCompact: headerOnCompact,
|
|
@@ -3286,7 +3285,7 @@ function EmbeddableChatInner({
|
|
|
3286
3285
|
});
|
|
3287
3286
|
};
|
|
3288
3287
|
const cancelInlineRename = () => setInlineRenameId(null);
|
|
3289
|
-
const mingoHeaderMenuItems =
|
|
3288
|
+
const mingoHeaderMenuItems = _chunkHML3JUXFcjs.chatDialogMenuItems.call(void 0, {
|
|
3290
3289
|
onCopyLink: headerOnCopyLink,
|
|
3291
3290
|
onRename: mingoHeaderOnRename,
|
|
3292
3291
|
onCompact: headerOnCompact,
|
|
@@ -3369,7 +3368,7 @@ function EmbeddableChatInner({
|
|
|
3369
3368
|
onRetry: reloadDialogs
|
|
3370
3369
|
};
|
|
3371
3370
|
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,
|
|
3372
|
-
|
|
3371
|
+
_chunkHML3JUXFcjs.MingoChatHeader,
|
|
3373
3372
|
{
|
|
3374
3373
|
title: archiveOpen ? "Chat Archive" : headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3375
3374
|
subtitle: archiveOpen ? void 0 : headerPersonName,
|
|
@@ -3390,7 +3389,7 @@ function EmbeddableChatInner({
|
|
|
3390
3389
|
}
|
|
3391
3390
|
) }) : null;
|
|
3392
3391
|
const archiveListNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3393
|
-
|
|
3392
|
+
_chunkHML3JUXFcjs.MingoArchiveList,
|
|
3394
3393
|
{
|
|
3395
3394
|
dialogs: archivedDialogs,
|
|
3396
3395
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3418,7 +3417,7 @@ function EmbeddableChatInner({
|
|
|
3418
3417
|
hasAboveComposer && !splitMode && "min-h-32"
|
|
3419
3418
|
),
|
|
3420
3419
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col duration-200 animate-in fade-in-0", 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,
|
|
3421
|
-
|
|
3420
|
+
_chunkHML3JUXFcjs.ChatMessageList,
|
|
3422
3421
|
{
|
|
3423
3422
|
messages,
|
|
3424
3423
|
isLoading: messagesInitialLoading,
|
|
@@ -3437,7 +3436,7 @@ function EmbeddableChatInner({
|
|
|
3437
3436
|
renderMention,
|
|
3438
3437
|
renderAfterMessage: renderMessageSources,
|
|
3439
3438
|
onAskSelect: chatLoading || previewMode ? void 0 : handleAskSelect,
|
|
3440
|
-
NavLinkAnchor:
|
|
3439
|
+
NavLinkAnchor: _chunkHML3JUXFcjs.NavLinkAnchorViaRuntime,
|
|
3441
3440
|
className: previewMode ? "pointer-events-auto flex-1" : "flex-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3442
3441
|
contentClassName: _chunk63A4GZMBcjs.cn.call(void 0, "max-w-none pb-0", splitMode && threadContentClassName),
|
|
3443
3442
|
fullWidth: true,
|
|
@@ -3451,7 +3450,7 @@ function EmbeddableChatInner({
|
|
|
3451
3450
|
quick-action chips. Guide mode keeps the slash-command
|
|
3452
3451
|
onboarding list below. */
|
|
3453
3452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3454
|
-
|
|
3453
|
+
_chunkHML3JUXFcjs.MingoWelcome,
|
|
3455
3454
|
{
|
|
3456
3455
|
onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
|
|
3457
3456
|
historyPageSize,
|
|
@@ -3471,7 +3470,7 @@ function EmbeddableChatInner({
|
|
|
3471
3470
|
+ slash-command onboarding list share one scroll region,
|
|
3472
3471
|
with a pinned quick-action chip row above the composer. */
|
|
3473
3472
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3474
|
-
|
|
3473
|
+
_chunkHML3JUXFcjs.GuideWelcome,
|
|
3475
3474
|
{
|
|
3476
3475
|
subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
|
|
3477
3476
|
subtitleLoading: emptyStateLoading,
|
|
@@ -3482,9 +3481,9 @@ function EmbeddableChatInner({
|
|
|
3482
3481
|
quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _75 => _75.quickActions]), () => ( guideSuggestedActions)),
|
|
3483
3482
|
onQuickAction: (action) => handleSend(_nullishCoalesce(action.prompt, () => ( action.label))),
|
|
3484
3483
|
children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
|
|
3485
|
-
!commandsLoaded && chipCommands.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count:
|
|
3484
|
+
!commandsLoaded && chipCommands.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.LoadingItems, { count: _chunk65NMKAPQcjs.MINGO_ONBOARDING_SKELETON_ROWS, children: (i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.MingoOnboardingCard, { loading: true, "data-loading-item": true, skeletonIndex: i, title: "" }) }),
|
|
3486
3485
|
chipCommands.map((cmd) => {
|
|
3487
|
-
const Icon =
|
|
3486
|
+
const Icon = _chunkRY7INTYUcjs.resolveIcon.call(void 0, cmd.iconName);
|
|
3488
3487
|
const cmdId = cmd.id;
|
|
3489
3488
|
const label = _nullishCoalesce(cmd.label, () => ( `/${cmdId}`));
|
|
3490
3489
|
const cardActions = cmd.actions.map((action) => ({
|
|
@@ -3493,7 +3492,7 @@ function EmbeddableChatInner({
|
|
|
3493
3492
|
onClick: () => dispatchSlashCommandAction(action.id, cmdId, chatInputRef)
|
|
3494
3493
|
}));
|
|
3495
3494
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3496
|
-
|
|
3495
|
+
_chunk65NMKAPQcjs.MingoOnboardingCard,
|
|
3497
3496
|
{
|
|
3498
3497
|
icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { size: 16 }),
|
|
3499
3498
|
title: label,
|
|
@@ -3519,9 +3518,9 @@ function EmbeddableChatInner({
|
|
|
3519
3518
|
children: aboveComposer
|
|
3520
3519
|
}
|
|
3521
3520
|
) : null;
|
|
3522
|
-
const attachmentStrip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3521
|
+
const attachmentStrip = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.ChatAttachmentChipStrip, { attachments: stagedAttachments, onRemove: removeAttachment, disabled: chatLoading });
|
|
3523
3522
|
const composerNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3524
|
-
|
|
3523
|
+
_chunkHML3JUXFcjs.ChatComposer,
|
|
3525
3524
|
{
|
|
3526
3525
|
archived: isViewingArchived,
|
|
3527
3526
|
lock: composerLock,
|
|
@@ -3571,7 +3570,7 @@ function EmbeddableChatInner({
|
|
|
3571
3570
|
composerKey
|
|
3572
3571
|
);
|
|
3573
3572
|
const dialogModals = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3574
|
-
|
|
3573
|
+
_chunkHML3JUXFcjs.ChatDialogModals,
|
|
3575
3574
|
{
|
|
3576
3575
|
renameTarget,
|
|
3577
3576
|
setRenameTarget,
|
|
@@ -3587,7 +3586,7 @@ function EmbeddableChatInner({
|
|
|
3587
3586
|
const classicBody = (
|
|
3588
3587
|
// The whole panel reads the appearance (the composer's footer too), not
|
|
3589
3588
|
// only the thread `ChatMessageList` provides it to.
|
|
3590
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3589
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVCFQHPOOcjs.CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
|
|
3591
3590
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3592
3591
|
"div",
|
|
3593
3592
|
{
|
|
@@ -3595,7 +3594,7 @@ function EmbeddableChatInner({
|
|
|
3595
3594
|
"data-surface": isV2 ? "mingo" : void 0,
|
|
3596
3595
|
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" : ""}`,
|
|
3597
3596
|
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,
|
|
3598
|
-
|
|
3597
|
+
_chunkHML3JUXFcjs.ChatArchivePage,
|
|
3599
3598
|
{
|
|
3600
3599
|
dialogs: archivedDialogs,
|
|
3601
3600
|
onSelectDialog: handleArchivedSelect,
|
|
@@ -3625,7 +3624,7 @@ function EmbeddableChatInner({
|
|
|
3625
3624
|
narrow: true,
|
|
3626
3625
|
className: "col-start-1 row-span-3 row-start-1",
|
|
3627
3626
|
innerClassName: "flex min-h-0 flex-col",
|
|
3628
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3627
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.MingoChatRail, { ...mingoRailProps, className: "w-full border-r-0" })
|
|
3629
3628
|
}
|
|
3630
3629
|
),
|
|
3631
3630
|
isV2 ? v2Header : showWideHeader ? (
|
|
@@ -3664,7 +3663,7 @@ function EmbeddableChatInner({
|
|
|
3664
3663
|
// (Figma 116:51217) and the magnifier toggle is hidden.
|
|
3665
3664
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
3666
3665
|
railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3667
|
-
|
|
3666
|
+
_chunkHML3JUXFcjs.ChatHeaderSearchField,
|
|
3668
3667
|
{
|
|
3669
3668
|
initialValue: mingoCaps.searchQuery,
|
|
3670
3669
|
onSearchChange: mingoCaps.onSearchChange,
|
|
@@ -3719,7 +3718,7 @@ function EmbeddableChatInner({
|
|
|
3719
3718
|
headerAvatar ? (
|
|
3720
3719
|
// Owner avatar at the title cell's right edge (Figma 113:63273).
|
|
3721
3720
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3722
|
-
|
|
3721
|
+
_chunkYSXVRTGTcjs.SquareAvatar,
|
|
3723
3722
|
{
|
|
3724
3723
|
variant: "round",
|
|
3725
3724
|
sizePx: 32,
|
|
@@ -3751,10 +3750,10 @@ function EmbeddableChatInner({
|
|
|
3751
3750
|
// guide, resolved into `narrowHeaderProps` above. (Wide layouts,
|
|
3752
3751
|
// including rail-collapsed, use the wide header above.) Embedded
|
|
3753
3752
|
// previews (hero demo tabs) force the compact bar via `compact`.
|
|
3754
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3753
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
|
|
3755
3754
|
),
|
|
3756
3755
|
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3757
|
-
|
|
3756
|
+
_chunkHML3JUXFcjs.GuideModeBanner,
|
|
3758
3757
|
{
|
|
3759
3758
|
className: _chunk63A4GZMBcjs.cn.call(void 0, "duration-200 animate-in fade-in-0", isV2 && "col-start-2 row-start-2")
|
|
3760
3759
|
}
|
|
@@ -3764,7 +3763,7 @@ function EmbeddableChatInner({
|
|
|
3764
3763
|
// Archive list inside the rail (header lives in the split
|
|
3765
3764
|
// header's left cell above). Right chat block stays put.
|
|
3766
3765
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3767
|
-
|
|
3766
|
+
_chunkHML3JUXFcjs.ChatArchivePage,
|
|
3768
3767
|
{
|
|
3769
3768
|
embedded: true,
|
|
3770
3769
|
dialogs: archivedDialogs,
|
|
@@ -3778,7 +3777,7 @@ function EmbeddableChatInner({
|
|
|
3778
3777
|
}
|
|
3779
3778
|
)
|
|
3780
3779
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3781
|
-
|
|
3780
|
+
_chunkHML3JUXFcjs.MingoHistoryRail,
|
|
3782
3781
|
{
|
|
3783
3782
|
dialogs,
|
|
3784
3783
|
activeDialogId: _nullishCoalesce(activeDialogId, () => ( void 0)),
|
|
@@ -3807,7 +3806,7 @@ function EmbeddableChatInner({
|
|
|
3807
3806
|
// header; the list stays, and "Chat Archive" there toggles back.
|
|
3808
3807
|
archiveListNode
|
|
3809
3808
|
) : stackedListView && isV2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3810
|
-
|
|
3809
|
+
_chunkHML3JUXFcjs.MingoChatRail,
|
|
3811
3810
|
{
|
|
3812
3811
|
...mingoRailProps,
|
|
3813
3812
|
onNewChat: () => setComposeOpen(true),
|
|
@@ -3826,7 +3825,7 @@ function EmbeddableChatInner({
|
|
|
3826
3825
|
// single-column view. No composer here; "Start New Chat" opens
|
|
3827
3826
|
// the compose view.
|
|
3828
3827
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3829
|
-
|
|
3828
|
+
_chunkHML3JUXFcjs.MingoHistoryRail,
|
|
3830
3829
|
{
|
|
3831
3830
|
className: "duration-200 animate-in fade-in-0",
|
|
3832
3831
|
dialogs,
|
|
@@ -3870,11 +3869,11 @@ function EmbeddableChatInner({
|
|
|
3870
3869
|
] }) }) })
|
|
3871
3870
|
);
|
|
3872
3871
|
const pageHeader = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3873
|
-
|
|
3872
|
+
_chunkHML3JUXFcjs.MingoChatHeader,
|
|
3874
3873
|
{
|
|
3875
3874
|
variant: "page",
|
|
3876
3875
|
title: archiveOpen ? "Chat Archive" : headerShowBack || isGuideEmpty ? headerTitle : freshConversationTitle,
|
|
3877
|
-
meta: archiveOpen || !hasConversation ? void 0 : [headerPersonName,
|
|
3876
|
+
meta: archiveOpen || !hasConversation ? void 0 : [headerPersonName, _chunkHML3JUXFcjs.chatDayLabel.call(void 0, _optionalChain([activeDialog, 'optionalAccess', _81 => _81.timestamp]))],
|
|
3878
3877
|
menuItems: headerShowBack && !isViewingArchived && !archiveOpen ? mingoHeaderMenuItems : [],
|
|
3879
3878
|
extraMenuItems: isViewingArchived || archiveOpen ? void 0 : chatMenuExtraItems,
|
|
3880
3879
|
onRestore: isViewingArchived && !archiveOpen ? headerOnRestore : void 0,
|
|
@@ -3894,7 +3893,7 @@ function EmbeddableChatInner({
|
|
|
3894
3893
|
),
|
|
3895
3894
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: threadPortalHost, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVCFQHPOOcjs.CollisionBoundaryContext.Provider, { value: threadBoundary, children: [
|
|
3896
3895
|
pageHeader,
|
|
3897
|
-
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3896
|
+
activeMode === "guide" && hasMingoMode && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.GuideModeBanner, { className: "duration-200 animate-in fade-in-0" }),
|
|
3898
3897
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 min-w-0 flex-1 flex-col", children: archiveOpen ? archiveListNode : threadArea }),
|
|
3899
3898
|
galleryModal,
|
|
3900
3899
|
dialogModals,
|
|
@@ -3902,7 +3901,7 @@ function EmbeddableChatInner({
|
|
|
3902
3901
|
] }) })
|
|
3903
3902
|
}
|
|
3904
3903
|
);
|
|
3905
|
-
const body = splitMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3904
|
+
const body = splitMode ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: portalHost, children: [
|
|
3906
3905
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3907
3906
|
"div",
|
|
3908
3907
|
{
|
|
@@ -3920,14 +3919,14 @@ function EmbeddableChatInner({
|
|
|
3920
3919
|
threadContainer ? null : dialogModals,
|
|
3921
3920
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, style: { display: "contents" } })
|
|
3922
3921
|
] }) }) : classicBody;
|
|
3923
|
-
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3922
|
+
const panel = shellLess ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkHML3JUXFcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: [
|
|
3924
3923
|
shell === "none" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPrimitive.Title, { children: [
|
|
3925
3924
|
sourceLabel,
|
|
3926
3925
|
" AI Assistant"
|
|
3927
3926
|
] }) }),
|
|
3928
3927
|
body
|
|
3929
|
-
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3930
|
-
|
|
3928
|
+
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKZAQPRTAcjs.Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHML3JUXFcjs.ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
3929
|
+
_chunkKZAQPRTAcjs.DrawerContent,
|
|
3931
3930
|
{
|
|
3932
3931
|
side: "right",
|
|
3933
3932
|
flush: true,
|
|
@@ -3959,7 +3958,7 @@ function EmbeddableChatInner({
|
|
|
3959
3958
|
_chunkFCZAUK4Dcjs.Button,
|
|
3960
3959
|
{
|
|
3961
3960
|
onClick: handleOpen,
|
|
3962
|
-
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3961
|
+
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-5 w-5" }),
|
|
3963
3962
|
tabIndex: isOpen ? -1 : 0,
|
|
3964
3963
|
className: `pointer-events-auto !w-auto shadow-lg ${isOpen ? "!pointer-events-none" : ""}`,
|
|
3965
3964
|
children: "Ask AI"
|