@epam/ai-dial-conversation-messages 1.3.0-dev.45 → 1.3.0-dev.49
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/components/MessageBubble/MessageBubble.d.ts.map +1 -1
- package/components/MessageBubble/UserMessageBubble.d.ts.map +1 -1
- package/index.css +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +278 -239
- package/models/message-bubble.d.ts +34 -27
- package/models/message-bubble.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAKtE,wGAAwG;AACxG,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAKtE,wGAAwG;AACxG,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA0ChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/UserMessageBubble.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/UserMessageBubble.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAmB1E,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAmOxD,CAAC"}
|
package/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
._activeRating_ygoee_1{color:var(--ma-active-rating-text,var(--text-accent,#1d4ed8))}._userBubble_cq829_1{border-color:var(--cm-bubble-user-border,var(--stroke-secondary,#d1dbea));background:var(--cm-bubble-user-bg,var(--bg-layer-sunken,#eef1f7))}._collapsibleText_cq829_6{max-height:var(--cm-bubble-collapsed-height);transition:max-height .2s ease-out}._expandedText_cq829_11{max-height:var(--cm-bubble-expanded-height)}._collapsedText_cq829_15:after{content:"";pointer-events:none;background:linear-gradient(to bottom, var(--cm-bubble-fade-start,var(--shadow-xs-2,#161b2d08)), var(--cm-bubble-user-bg,var(--bg-layer-sunken,#eef1f7)));height:3rem;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){._collapsibleText_cq829_6{transition:none}}._startersDivider_cq829_26{border-color:var(--cm-starters-divider,var(--stroke-secondary,#d1dbea))}._text_cq829_30{color:var(--cm-bubble-text,var(--text-primary,#161b2d))}._button_tqo4d_3._button_tqo4d_3{color:var(--cm-reply-text,var(--text-primary,#161b2d));background:var(--cm-reply-background,var(--bg-layer-raised,#fcfcfc))!important}._button_tqo4d_3._button_tqo4d_3:hover{color:var(--cm-reply-text,var(--text-primary,#161b2d));background:var(--cm-reply-hover-background,var(--bg-layer-base,#f5f7fa))!important}
|
|
2
|
-
/*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.start-0{inset-inline-start:0}.top-0{top:0}.z-50{z-index:50}.-me-1{margin-inline-end:-.25rem}.-ms-1{margin-inline-start:-.25rem}.ms-auto{margin-inline-start:auto}.mt-3{margin-top:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.h-8{height:2rem}.min-h-8{min-height:2rem}.w-\[calc\(100\%\+8px\)\]{width:calc(100% + 8px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.min-w-\[40px\]{min-width:40px}.max-w-\[640px\]{max-width:640px}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-full{max-width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.overflow-hidden{overflow:hidden}.
|
|
2
|
+
/*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.start-0{inset-inline-start:0}.top-0{top:0}.z-50{z-index:50}.-me-1{margin-inline-end:-.25rem}.-ms-1{margin-inline-start:-.25rem}.ms-auto{margin-inline-start:auto}.mt-3{margin-top:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.h-8{height:2rem}.min-h-8{min-height:2rem}.w-\[calc\(100\%\+8px\)\]{width:calc(100% + 8px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.min-w-\[40px\]{min-width:40px}.max-w-\[640px\]{max-width:640px}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-full{max-width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.overflow-hidden{overflow:hidden}.rounded-ee-2xl{border-end-end-radius:1rem}.rounded-ee-md{border-end-end-radius:.375rem}.rounded-es-2xl{border-end-start-radius:1rem}.rounded-se-2xl{border-start-end-radius:1rem}.rounded-se-md{border-start-end-radius:.375rem}.rounded-ss-2xl{border-start-start-radius:1rem}.border{border-width:1px}.border-t{border-top-width:1px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pe-1{padding-inline-end:.25rem}.ps-1{padding-inline-start:.25rem}.pt-5{padding-top:1.25rem}.text-start{text-align:start}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 8px 44px 0 var(--shadow-lg,#2764d914);--tw-shadow-colored:0 8px 44px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group:hover .group-hover\:opacity-100{opacity:1}@media (max-width:1279px){.mobile\:h-11{height:2.75rem}.mobile\:min-h-11{min-height:2.75rem}}.rtl\:scale-x-\[-1\]:where([dir=rtl],[dir=rtl] *){--tw-scale-x:-1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>\.cm-bubble-markdown\>div\>\*\:first-child\]\:indent-\[var\(--cm-bubble-first-line-indent\2c 0px\)\]>.cm-bubble-markdown>div>:first-child{text-indent:var(--cm-bubble-first-line-indent,0)}.\[\&\>div\>\*\:first-child\]\:mt-0>div>:first-child{margin-top:0}.\[\&\>div\>\*\:last-child\]\:mb-0>div>:last-child{margin-bottom:0}
|
package/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { StatusMessageBubble } from './components/MessageBubble/StatusMessageBub
|
|
|
6
6
|
export { MessageActions } from './components/MessageActions/MessageActions';
|
|
7
7
|
export { MessageSelectionReply } from './components/MessageSelectionReply/MessageSelectionReply';
|
|
8
8
|
export { BubblePosition } from './types/bubble-position';
|
|
9
|
-
export type { MessageBubbleProps, UserMessageBubbleProps, AssistantMessageBubbleProps, MessageBubbleStyles, MessageBubbleColors, MessageBubbleTypography, MessageBubbleLabels, AssistantMessageBubbleLabels, } from './models/message-bubble';
|
|
9
|
+
export type { MessageBubbleProps, UserMessageBubbleProps, AssistantMessageBubbleProps, MessageBubbleStyles, MessageBubbleColors, MessageBubbleTypography, MessageBubbleLabels, AssistantMessageBubbleLabels, UserMessageBubbleLabels, MarkdownContentLabels, } from './models/message-bubble';
|
|
10
10
|
export type { MessageSelectionReplyColors, MessageSelectionReplyLabels, MessageSelectionReplyProps, MessageSelectionReplyStyles, MessageSelectionReplyTypography, } from './components/MessageSelectionReply/MessageSelectionReply';
|
|
11
11
|
export type { StatusMessageBubbleLabels, StatusMessageBubbleProps, } from './components/MessageBubble/StatusMessageBubble';
|
|
12
12
|
export type { MessageActionsProps, MessageActionColors, MessageActionLabels, MessageActionTooltips, MessageActionAriaLabels, } from './models/message-actions';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,0DAA0D,CAAC;AAClE,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,gDAAgD,CAAC;AACxD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC"}
|
package/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { AttachmentType as e, CopyIconButton as t, DeploymentIcon as n, MDMessageViewer as r, MessageRating as i, MessageRole as a, ResponseFormat as o, buildCssVars as s,
|
|
2
|
-
import { AttachmentGroup as
|
|
3
|
-
import { Button as
|
|
4
|
-
import { useCallback as
|
|
5
|
-
import { IconArrowBackUp as
|
|
1
|
+
import { AttachmentType as e, CopyIconButton as t, DeploymentIcon as n, MDMessageViewer as r, MessageRating as i, MessageRole as a, ResponseFormat as o, buildCssVars as s, buildInlineSegmentSource as c, createInlineSegmentComponents as l, createRehypeInlineSegments as u, mergeClasses as d, useCollapsedText as f } from "@epam/ai-dial-chat-shared";
|
|
2
|
+
import { AttachmentGroup as p } from "@epam/ai-dial-attachment-input";
|
|
3
|
+
import { Button as m, ButtonVariant as h, DIAL_ICON_SIZE as g, DIAL_KIT_ICON_STROKE as _, ElementSize as v, GhostIconButton as y, InfoMessageNotification as b, LinkButton as x, NeutralButton as ee } from "@epam/ai-dial-ui-kit";
|
|
4
|
+
import { useCallback as S, useEffect as C, useId as w, useLayoutEffect as T, useMemo as E, useRef as D, useState as O } from "react";
|
|
5
|
+
import { IconArrowBackUp as k, IconChevronDown as A, IconChevronUp as te, IconMarkdown as ne, IconPencilMinus as j, IconRefresh as M, IconThumbDown as re, IconThumbDownFilled as ie, IconThumbUp as N, IconThumbUpFilled as P, IconTrashX as ae } from "@tabler/icons-react";
|
|
6
6
|
import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
|
|
7
7
|
import { createPortal as R } from "react-dom";
|
|
8
8
|
//#region src/constants/public-class-names.ts
|
|
9
9
|
var z = {
|
|
10
10
|
userBubble: "dial-cm-user-bubble",
|
|
11
11
|
assistantContent: "dial-cm-assistant-content"
|
|
12
|
-
}, B = 4,
|
|
13
|
-
let t =
|
|
14
|
-
return
|
|
12
|
+
}, B = 4, oe = (e) => {
|
|
13
|
+
let t = D(null), [n, r] = O(0);
|
|
14
|
+
return C(() => {
|
|
15
15
|
if (!e) return;
|
|
16
16
|
let n = t.current;
|
|
17
17
|
if (n == null) return;
|
|
@@ -24,242 +24,242 @@ var z = {
|
|
|
24
24
|
slotRef: t,
|
|
25
25
|
firstLineIndent: e ? `calc(${n}px + ${B}px)` : void 0
|
|
26
26
|
};
|
|
27
|
-
},
|
|
27
|
+
}, se = [
|
|
28
28
|
"href",
|
|
29
29
|
"src",
|
|
30
30
|
"alt",
|
|
31
31
|
"colspan",
|
|
32
32
|
"rowspan",
|
|
33
33
|
"start"
|
|
34
|
-
],
|
|
34
|
+
], ce = new Set([
|
|
35
35
|
"pre",
|
|
36
36
|
"pre-wrap",
|
|
37
37
|
"pre-line",
|
|
38
38
|
"break-spaces"
|
|
39
|
-
]),
|
|
39
|
+
]), V = (e) => {
|
|
40
40
|
let t = document.createElement(e.tagName.toLowerCase());
|
|
41
|
-
|
|
41
|
+
se.forEach((n) => {
|
|
42
42
|
let r = e.getAttribute(n);
|
|
43
43
|
r !== null && t.setAttribute(n, r);
|
|
44
44
|
});
|
|
45
45
|
let { whiteSpace: n } = window.getComputedStyle(e);
|
|
46
|
-
return
|
|
47
|
-
},
|
|
46
|
+
return ce.has(n) && (t.style.whiteSpace = "pre-wrap"), t;
|
|
47
|
+
}, le = (e) => e instanceof SVGElement || window.getComputedStyle(e).display === "none", H = (e, t) => {
|
|
48
48
|
if (!t.intersectsNode(e)) return null;
|
|
49
49
|
if (e.nodeType === Node.TEXT_NODE) {
|
|
50
50
|
let n = e.data, r = e === t.startContainer ? t.startOffset : 0, i = e === t.endContainer ? t.endOffset : n.length;
|
|
51
51
|
return document.createTextNode(n.slice(r, i));
|
|
52
52
|
}
|
|
53
|
-
if (!(e instanceof Element) ||
|
|
54
|
-
let n =
|
|
53
|
+
if (!(e instanceof Element) || le(e)) return null;
|
|
54
|
+
let n = V(e);
|
|
55
55
|
return e.childNodes.forEach((e) => {
|
|
56
|
-
let r =
|
|
56
|
+
let r = H(e, t);
|
|
57
57
|
r && n.appendChild(r);
|
|
58
58
|
}), n;
|
|
59
|
-
},
|
|
59
|
+
}, U = (e, t, n) => {
|
|
60
60
|
let r = e, i = t;
|
|
61
61
|
for (; i && i !== n && n.contains(i);) {
|
|
62
|
-
let e =
|
|
62
|
+
let e = V(i);
|
|
63
63
|
e.appendChild(r), r = e, i = i.parentElement;
|
|
64
64
|
}
|
|
65
65
|
return r;
|
|
66
|
-
},
|
|
66
|
+
}, W = (e, t) => {
|
|
67
67
|
let n = e.commonAncestorContainer, r = n instanceof Element ? n : n.parentElement;
|
|
68
68
|
if (!r) return null;
|
|
69
|
-
let i =
|
|
70
|
-
return i ?
|
|
71
|
-
},
|
|
69
|
+
let i = H(r, e);
|
|
70
|
+
return i ? U(i, r.parentElement, t) : null;
|
|
71
|
+
}, ue = (e) => {
|
|
72
72
|
let t = window.getSelection();
|
|
73
73
|
if (!t || t.isCollapsed || t.rangeCount === 0 || !e.clipboardData) return;
|
|
74
74
|
let n = t.toString();
|
|
75
75
|
if (!n) return;
|
|
76
76
|
let r = document.createElement("div");
|
|
77
77
|
for (let n = 0; n < t.rangeCount; n++) {
|
|
78
|
-
let i =
|
|
78
|
+
let i = W(t.getRangeAt(n), e.currentTarget);
|
|
79
79
|
i && r.appendChild(i);
|
|
80
80
|
}
|
|
81
81
|
e.clipboardData.setData("text/html", r.innerHTML), e.clipboardData.setData("text/plain", n), e.preventDefault();
|
|
82
|
-
},
|
|
83
|
-
let { tooltips: w, ariaLabels:
|
|
84
|
-
|
|
82
|
+
}, G = { activeRating: "_activeRating_ygoee_1" }, K = 2e3, de = ({ role: e = a.User, onEdit: n, onEditHover: r, onDelete: o, onRegenerate: c, onCopy: l, onCopyMarkdown: u, onLike: f, onDislike: p, activeRating: m, isAlwaysVisible: h, isDisabled: b = !1, className: x, labels: ee, colors: C }) => {
|
|
83
|
+
let { tooltips: w, ariaLabels: T } = ee ?? {}, [E, D] = O(null), [k, A] = O(""), te = n != null || o != null || c != null || l != null || u != null || f != null || p != null, R = s({ "--ma-active-rating-text": C?.activeRatingText }), z = S(() => {
|
|
84
|
+
l?.(), D("copy"), A(e === a.User ? T?.copiedMessageStatus ?? "Message copied to clipboard" : T?.copiedStatus ?? "Copied to clipboard"), setTimeout(() => D(null), K);
|
|
85
85
|
}, [
|
|
86
|
-
|
|
86
|
+
l,
|
|
87
87
|
e,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
]),
|
|
91
|
-
|
|
92
|
-
}, [
|
|
93
|
-
return
|
|
88
|
+
T?.copiedStatus,
|
|
89
|
+
T?.copiedMessageStatus
|
|
90
|
+
]), B = S(() => {
|
|
91
|
+
u?.(), D("markdown"), A(T?.copiedMarkdownStatus ?? "Copied as Markdown to clipboard"), setTimeout(() => D(null), K);
|
|
92
|
+
}, [u, T?.copiedMarkdownStatus]);
|
|
93
|
+
return te ? /* @__PURE__ */ L("div", {
|
|
94
94
|
role: "toolbar",
|
|
95
|
-
"aria-label":
|
|
96
|
-
style:
|
|
97
|
-
className:
|
|
95
|
+
"aria-label": T?.actionsGroup ?? "Message actions",
|
|
96
|
+
style: R,
|
|
97
|
+
className: d("flex gap-1", !h && "opacity-0 group-hover:opacity-100", x),
|
|
98
98
|
children: [/* @__PURE__ */ I("span", {
|
|
99
99
|
role: "status",
|
|
100
100
|
"aria-live": "polite",
|
|
101
101
|
className: "sr-only",
|
|
102
|
-
children:
|
|
102
|
+
children: k
|
|
103
103
|
}), e === a.User ? /* @__PURE__ */ L(F, { children: [
|
|
104
|
-
|
|
105
|
-
iconSize:
|
|
106
|
-
onClick:
|
|
107
|
-
size:
|
|
108
|
-
isCopied:
|
|
104
|
+
l && /* @__PURE__ */ I(t, {
|
|
105
|
+
iconSize: g.SM,
|
|
106
|
+
onClick: z,
|
|
107
|
+
size: v.Small,
|
|
108
|
+
isCopied: E === "copy",
|
|
109
109
|
copyLabel: w?.copyMessage ?? "Copy message",
|
|
110
110
|
copiedLabel: w?.copied ?? "Copied!",
|
|
111
|
-
ariaLabel:
|
|
112
|
-
isDisabled:
|
|
111
|
+
ariaLabel: T?.copyMessage ?? "Copy message",
|
|
112
|
+
isDisabled: b
|
|
113
113
|
}),
|
|
114
|
-
n && /* @__PURE__ */ I(
|
|
115
|
-
icon: /* @__PURE__ */ I(
|
|
116
|
-
size:
|
|
114
|
+
n && /* @__PURE__ */ I(y, {
|
|
115
|
+
icon: /* @__PURE__ */ I(j, {
|
|
116
|
+
size: g.SM,
|
|
117
117
|
"aria-hidden": !0,
|
|
118
|
-
stroke:
|
|
118
|
+
stroke: _
|
|
119
119
|
}),
|
|
120
|
-
size:
|
|
121
|
-
"aria-label":
|
|
120
|
+
size: v.Small,
|
|
121
|
+
"aria-label": T?.editMessage ?? "Edit message",
|
|
122
122
|
tooltipProps: { tooltip: w?.edit ?? "Edit" },
|
|
123
123
|
onClick: n,
|
|
124
124
|
onMouseEnter: r,
|
|
125
125
|
onFocus: r,
|
|
126
|
-
disabled:
|
|
126
|
+
disabled: b
|
|
127
127
|
}),
|
|
128
|
-
o && /* @__PURE__ */ I(
|
|
129
|
-
icon: /* @__PURE__ */ I(
|
|
130
|
-
size:
|
|
128
|
+
o && /* @__PURE__ */ I(y, {
|
|
129
|
+
icon: /* @__PURE__ */ I(ae, {
|
|
130
|
+
size: g.SM,
|
|
131
131
|
"aria-hidden": !0,
|
|
132
|
-
stroke:
|
|
132
|
+
stroke: _
|
|
133
133
|
}),
|
|
134
|
-
size:
|
|
135
|
-
"aria-label":
|
|
134
|
+
size: v.Small,
|
|
135
|
+
"aria-label": T?.deleteMessage ?? "Delete message",
|
|
136
136
|
tooltipProps: { tooltip: w?.delete ?? "Delete" },
|
|
137
137
|
onClick: o,
|
|
138
|
-
disabled:
|
|
138
|
+
disabled: b
|
|
139
139
|
})
|
|
140
140
|
] }) : /* @__PURE__ */ L(F, { children: [
|
|
141
|
-
|
|
142
|
-
icon: /* @__PURE__ */ I(
|
|
143
|
-
size:
|
|
141
|
+
c && /* @__PURE__ */ I(y, {
|
|
142
|
+
icon: /* @__PURE__ */ I(M, {
|
|
143
|
+
size: g.SM,
|
|
144
144
|
"aria-hidden": !0,
|
|
145
|
-
stroke:
|
|
145
|
+
stroke: _
|
|
146
146
|
}),
|
|
147
|
-
size:
|
|
148
|
-
"aria-label":
|
|
147
|
+
size: v.Small,
|
|
148
|
+
"aria-label": T?.regenerateResponse ?? "Regenerate response",
|
|
149
149
|
tooltipProps: { tooltip: w?.regenerate ?? "Regenerate" },
|
|
150
|
-
onClick:
|
|
151
|
-
disabled:
|
|
150
|
+
onClick: c,
|
|
151
|
+
disabled: b
|
|
152
152
|
}),
|
|
153
|
-
|
|
154
|
-
iconSize:
|
|
155
|
-
onClick:
|
|
156
|
-
size:
|
|
157
|
-
isCopied:
|
|
153
|
+
l && /* @__PURE__ */ I(t, {
|
|
154
|
+
iconSize: g.SM,
|
|
155
|
+
onClick: z,
|
|
156
|
+
size: v.Small,
|
|
157
|
+
isCopied: E === "copy",
|
|
158
158
|
copyLabel: w?.copy ?? "Copy",
|
|
159
159
|
copiedLabel: w?.copied ?? "Copied!",
|
|
160
|
-
ariaLabel:
|
|
161
|
-
isDisabled:
|
|
160
|
+
ariaLabel: T?.copyResponse ?? "Copy response",
|
|
161
|
+
isDisabled: b
|
|
162
162
|
}),
|
|
163
|
-
|
|
164
|
-
iconSize:
|
|
165
|
-
onClick:
|
|
166
|
-
size:
|
|
167
|
-
isCopied:
|
|
168
|
-
iconCopy: /* @__PURE__ */ I(
|
|
169
|
-
size:
|
|
163
|
+
u && /* @__PURE__ */ I(t, {
|
|
164
|
+
iconSize: g.SM,
|
|
165
|
+
onClick: B,
|
|
166
|
+
size: v.Small,
|
|
167
|
+
isCopied: E === "markdown",
|
|
168
|
+
iconCopy: /* @__PURE__ */ I(ne, {
|
|
169
|
+
size: g.SM,
|
|
170
170
|
"aria-hidden": !0,
|
|
171
|
-
stroke:
|
|
171
|
+
stroke: _
|
|
172
172
|
}),
|
|
173
173
|
copyLabel: w?.copyMarkdown ?? "Copy as Markdown",
|
|
174
174
|
copiedLabel: w?.copiedMarkdown ?? "Copied!",
|
|
175
|
-
ariaLabel:
|
|
176
|
-
isDisabled:
|
|
175
|
+
ariaLabel: T?.copyAsMarkdown ?? "Copy as markdown",
|
|
176
|
+
isDisabled: b
|
|
177
177
|
}),
|
|
178
|
-
f && /* @__PURE__ */ I(
|
|
179
|
-
icon:
|
|
180
|
-
className:
|
|
181
|
-
size:
|
|
178
|
+
f && /* @__PURE__ */ I(y, {
|
|
179
|
+
icon: m === i.Like ? /* @__PURE__ */ I(P, {
|
|
180
|
+
className: G.activeRating,
|
|
181
|
+
size: g.SM,
|
|
182
182
|
"aria-hidden": !0
|
|
183
|
-
}) : /* @__PURE__ */ I(
|
|
184
|
-
size:
|
|
183
|
+
}) : /* @__PURE__ */ I(N, {
|
|
184
|
+
size: g.SM,
|
|
185
185
|
"aria-hidden": !0,
|
|
186
|
-
stroke:
|
|
186
|
+
stroke: _
|
|
187
187
|
}),
|
|
188
|
-
size:
|
|
189
|
-
"aria-label":
|
|
190
|
-
"aria-pressed":
|
|
188
|
+
size: v.Small,
|
|
189
|
+
"aria-label": T?.likeResponse ?? "Like response",
|
|
190
|
+
"aria-pressed": m === i.Like,
|
|
191
191
|
tooltipProps: { tooltip: w?.like ?? "Like" },
|
|
192
192
|
onClick: f,
|
|
193
|
-
disabled:
|
|
193
|
+
disabled: b
|
|
194
194
|
}),
|
|
195
|
-
|
|
196
|
-
icon:
|
|
197
|
-
className:
|
|
198
|
-
size:
|
|
195
|
+
p && /* @__PURE__ */ I(y, {
|
|
196
|
+
icon: m === i.Dislike ? /* @__PURE__ */ I(ie, {
|
|
197
|
+
className: G.activeRating,
|
|
198
|
+
size: g.SM,
|
|
199
199
|
"aria-hidden": !0
|
|
200
|
-
}) : /* @__PURE__ */ I(
|
|
201
|
-
size:
|
|
200
|
+
}) : /* @__PURE__ */ I(re, {
|
|
201
|
+
size: g.SM,
|
|
202
202
|
"aria-hidden": !0,
|
|
203
|
-
stroke:
|
|
203
|
+
stroke: _
|
|
204
204
|
}),
|
|
205
|
-
size:
|
|
206
|
-
"aria-label":
|
|
207
|
-
"aria-pressed":
|
|
205
|
+
size: v.Small,
|
|
206
|
+
"aria-label": T?.dislikeResponse ?? "Dislike response",
|
|
207
|
+
"aria-pressed": m === i.Dislike,
|
|
208
208
|
tooltipProps: { tooltip: w?.dislike ?? "Dislike" },
|
|
209
|
-
onClick:
|
|
210
|
-
disabled:
|
|
209
|
+
onClick: p,
|
|
210
|
+
disabled: b
|
|
211
211
|
})
|
|
212
212
|
] })]
|
|
213
213
|
}) : null;
|
|
214
|
-
},
|
|
214
|
+
}, q = {
|
|
215
215
|
userBubble: "_userBubble_cq829_1",
|
|
216
216
|
collapsibleText: "_collapsibleText_cq829_6",
|
|
217
217
|
expandedText: "_expandedText_cq829_11",
|
|
218
218
|
collapsedText: "_collapsedText_cq829_15",
|
|
219
219
|
startersDivider: "_startersDivider_cq829_26",
|
|
220
220
|
text: "_text_cq829_30"
|
|
221
|
-
},
|
|
222
|
-
let { colors:
|
|
223
|
-
copyLabel:
|
|
224
|
-
copiedLabel:
|
|
225
|
-
downloadCsvLabel:
|
|
226
|
-
openInCanvasLabel:
|
|
221
|
+
}, fe = "[&>.cm-bubble-markdown>div>*:first-child]:indent-[var(--cm-bubble-first-line-indent,0px)]", J = ({ text: t, contentRef: i, styles: c, actions: l, hasAlwaysVisibleActions: u, isStreaming: f, attachments: m, beforeContent: h, responseFormat: g, afterContent: _, hasThinkingPlaceholder: v = !0, starters: y, onSelectStarter: b, deploymentIconUrl: x, deploymentDisplayName: S, markdownComponents: C, markdownClassNames: w, markdownUrlTransform: T, onAttachmentClick: D, onDownloadAll: O, onAttachmentRetry: k, codeBlockTheme: A, tableOnOpenInCanvas: te, labels: ne, selectedAttachmentId: j }) => {
|
|
222
|
+
let { colors: M, typography: re, className: ie, bubbleClassName: N } = c ?? {}, { attachmentClickLabel: P, attachmentDownloadLabel: ae, attachmentRetryLabel: F, attachmentOpenInNewTabLabel: R, startersAriaLabel: B = "Quick reply buttons", thinkingLabel: se, codeBlockCopyLabel: ce, codeBlockCopiedLabel: V, codeBlockDownloadLabel: le, tableCopyLabel: H, tableCopiedLabel: U, tableDownloadCsvLabel: W, tableOpenInCanvasLabel: G, tableDownloadFilename: K, tableScrollRegionAriaLabel: J, mathScrollRegionAriaLabel: Y, assistantMessageAriaLabel: X = "Assistant message", deploymentIconFallbackLabel: pe = "AI" } = ne ?? {}, me = E(() => ({
|
|
223
|
+
copyLabel: H,
|
|
224
|
+
copiedLabel: U,
|
|
225
|
+
downloadCsvLabel: W,
|
|
226
|
+
openInCanvasLabel: G
|
|
227
227
|
}), [
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
]),
|
|
233
|
-
"--cm-bubble-text":
|
|
234
|
-
"--cm-starters-divider":
|
|
235
|
-
"--cm-bubble-first-line-indent":
|
|
236
|
-
}),
|
|
228
|
+
H,
|
|
229
|
+
U,
|
|
230
|
+
W,
|
|
231
|
+
G
|
|
232
|
+
]), he = f ? (m ?? []).filter((t) => t.type !== e.Audio) : m ?? [], Z = !!t?.trim(), { slotRef: ge, firstLineIndent: _e } = oe(h != null && Z), ve = s({
|
|
233
|
+
"--cm-bubble-text": M?.text,
|
|
234
|
+
"--cm-starters-divider": M?.startersDivider,
|
|
235
|
+
"--cm-bubble-first-line-indent": _e
|
|
236
|
+
}), Q = d(q.text, re?.fontClassName), ye = !!(x || S);
|
|
237
237
|
return /* @__PURE__ */ L("div", {
|
|
238
238
|
role: "group",
|
|
239
|
-
"aria-label":
|
|
240
|
-
style:
|
|
241
|
-
onCopy:
|
|
242
|
-
className:
|
|
243
|
-
children: [
|
|
244
|
-
src:
|
|
239
|
+
"aria-label": X,
|
|
240
|
+
style: ve,
|
|
241
|
+
onCopy: ue,
|
|
242
|
+
className: d("flex w-full items-start gap-3", ie),
|
|
243
|
+
children: [ye && /* @__PURE__ */ I(n, {
|
|
244
|
+
src: x,
|
|
245
245
|
size: 28,
|
|
246
|
-
initialsName:
|
|
247
|
-
labels: { tooltip:
|
|
246
|
+
initialsName: S || pe,
|
|
247
|
+
labels: { tooltip: S ?? pe }
|
|
248
248
|
}), /* @__PURE__ */ L("div", {
|
|
249
249
|
className: "flex w-full min-w-0 max-w-full flex-col items-start gap-5",
|
|
250
250
|
children: [/* @__PURE__ */ L("div", {
|
|
251
|
-
className:
|
|
251
|
+
className: d("flex w-full min-w-0 max-w-full flex-col items-start gap-4", N),
|
|
252
252
|
children: [
|
|
253
|
-
h != null &&
|
|
253
|
+
h != null && !Z && /* @__PURE__ */ I("div", {
|
|
254
254
|
className: "min-w-0",
|
|
255
255
|
children: h
|
|
256
256
|
}),
|
|
257
|
-
(
|
|
257
|
+
(Z || f && v) && /* @__PURE__ */ L("div", {
|
|
258
258
|
"aria-live": "polite",
|
|
259
259
|
"aria-atomic": "false",
|
|
260
|
-
className:
|
|
261
|
-
children: [h != null &&
|
|
262
|
-
ref:
|
|
260
|
+
className: d(Q, "relative min-w-0 max-w-full text-start", h != null && Z && fe, z.assistantContent),
|
|
261
|
+
children: [h != null && Z && /* @__PURE__ */ I("div", {
|
|
262
|
+
ref: ge,
|
|
263
263
|
className: "absolute start-0 top-0",
|
|
264
264
|
children: h
|
|
265
265
|
}), /* @__PURE__ */ I("div", {
|
|
@@ -268,25 +268,25 @@ var z = {
|
|
|
268
268
|
children: /* @__PURE__ */ I(r, {
|
|
269
269
|
content: t ?? "",
|
|
270
270
|
isPlainText: g === o.PlainText,
|
|
271
|
-
isStreaming:
|
|
272
|
-
thinkingLabel:
|
|
273
|
-
components:
|
|
274
|
-
classNames:
|
|
275
|
-
urlTransform:
|
|
276
|
-
codeBlockCopyLabel:
|
|
277
|
-
codeBlockCopiedLabel:
|
|
278
|
-
codeBlockDownloadLabel:
|
|
271
|
+
isStreaming: f,
|
|
272
|
+
thinkingLabel: se,
|
|
273
|
+
components: C,
|
|
274
|
+
classNames: w,
|
|
275
|
+
urlTransform: T,
|
|
276
|
+
codeBlockCopyLabel: ce,
|
|
277
|
+
codeBlockCopiedLabel: V,
|
|
278
|
+
codeBlockDownloadLabel: le,
|
|
279
279
|
codeBlockTheme: A,
|
|
280
|
-
tableActionLabels:
|
|
281
|
-
tableDownloadFilename:
|
|
282
|
-
tableOnOpenInCanvas:
|
|
283
|
-
tableScrollRegionAriaLabel:
|
|
284
|
-
mathScrollRegionAriaLabel:
|
|
280
|
+
tableActionLabels: me,
|
|
281
|
+
tableDownloadFilename: K,
|
|
282
|
+
tableOnOpenInCanvas: te,
|
|
283
|
+
tableScrollRegionAriaLabel: J,
|
|
284
|
+
mathScrollRegionAriaLabel: Y
|
|
285
285
|
})
|
|
286
286
|
})]
|
|
287
287
|
}),
|
|
288
|
-
/* @__PURE__ */ I(
|
|
289
|
-
attachments:
|
|
288
|
+
/* @__PURE__ */ I(p, {
|
|
289
|
+
attachments: he,
|
|
290
290
|
onAttachmentClick: D ? (e) => {
|
|
291
291
|
let t = m?.find((t) => t.id === e);
|
|
292
292
|
t && D(t);
|
|
@@ -294,144 +294,183 @@ var z = {
|
|
|
294
294
|
onDownloadAll: O,
|
|
295
295
|
onRetry: k,
|
|
296
296
|
labels: {
|
|
297
|
-
clickLabel:
|
|
298
|
-
downloadLabel:
|
|
299
|
-
retryLabel:
|
|
300
|
-
openInNewTabLabel:
|
|
297
|
+
clickLabel: P,
|
|
298
|
+
downloadLabel: ae,
|
|
299
|
+
retryLabel: F,
|
|
300
|
+
openInNewTabLabel: R
|
|
301
301
|
},
|
|
302
|
-
selectedAttachmentId:
|
|
302
|
+
selectedAttachmentId: j
|
|
303
303
|
}),
|
|
304
304
|
_,
|
|
305
|
-
/* @__PURE__ */ I(
|
|
306
|
-
...
|
|
307
|
-
isAlwaysVisible:
|
|
305
|
+
/* @__PURE__ */ I(de, {
|
|
306
|
+
...l,
|
|
307
|
+
isAlwaysVisible: u,
|
|
308
308
|
role: a.Assistant
|
|
309
309
|
})
|
|
310
310
|
]
|
|
311
|
-
}),
|
|
311
|
+
}), y && y.length > 0 && b && /* @__PURE__ */ I("div", {
|
|
312
312
|
role: "list",
|
|
313
|
-
"aria-label":
|
|
314
|
-
className:
|
|
315
|
-
children:
|
|
313
|
+
"aria-label": B,
|
|
314
|
+
className: d("flex w-full flex-wrap gap-2 border-t pt-5", q.startersDivider),
|
|
315
|
+
children: y.map((e, t) => /* @__PURE__ */ I("div", {
|
|
316
316
|
role: "listitem",
|
|
317
317
|
className: "min-w-[40px]",
|
|
318
|
-
children: /* @__PURE__ */ I(
|
|
318
|
+
children: /* @__PURE__ */ I(ee, {
|
|
319
319
|
label: e.title,
|
|
320
320
|
className: "min-w-[40px]",
|
|
321
|
-
onClick: () =>
|
|
321
|
+
onClick: () => b(e)
|
|
322
322
|
})
|
|
323
323
|
}, t))
|
|
324
324
|
})]
|
|
325
325
|
})]
|
|
326
326
|
});
|
|
327
|
-
},
|
|
327
|
+
}, Y = ({ labels: { titleText: e = "Model switched.", bodyText: t } }) => /* @__PURE__ */ I("div", {
|
|
328
328
|
role: "status",
|
|
329
329
|
"aria-live": "polite",
|
|
330
|
-
children: /* @__PURE__ */ I(
|
|
330
|
+
children: /* @__PURE__ */ I(b, {
|
|
331
331
|
title: e,
|
|
332
332
|
message: t,
|
|
333
333
|
textClassName: "flex-row flex-wrap gap-1"
|
|
334
334
|
})
|
|
335
|
-
}),
|
|
335
|
+
}), X = /* @__PURE__ */ function(e) {
|
|
336
336
|
return e.Bottom = "Bottom", e.Top = "Top", e;
|
|
337
|
-
}({}),
|
|
338
|
-
let { colors:
|
|
337
|
+
}({}), pe = 10, me = "[&>div>*:first-child]:mt-0 [&>div>*:last-child]:mb-0", he = [], Z = ({ text: e, contentRef: t, position: n = X.Bottom, styles: i, actions: o, hasAlwaysVisibleActions: m, attachments: h, collapsedLineCount: _ = pe, labels: y, textSegments: b, onAttachmentClick: ee, onDownloadAll: S, onAttachmentRetry: C, selectedAttachmentId: T, markdownClassNames: D, markdownUrlTransform: O, codeBlockTheme: k, tableOnOpenInCanvas: ne }) => {
|
|
338
|
+
let { colors: j, typography: M, className: re, bubbleClassName: ie } = i ?? {}, { showMoreLabel: N = "Show more", showLessLabel: P = "Show less", showMoreAriaLabel: ae, showLessAriaLabel: R, attachmentClickLabel: B, attachmentDownloadLabel: oe, attachmentRetryLabel: se, attachmentOpenInNewTabLabel: ce, userMessageAriaLabel: V = "User message", codeBlockCopyLabel: le, codeBlockCopiedLabel: H, codeBlockDownloadLabel: U, tableCopyLabel: W, tableCopiedLabel: G, tableDownloadCsvLabel: K, tableOpenInCanvasLabel: fe, tableDownloadFilename: J, tableScrollRegionAriaLabel: Y, mathScrollRegionAriaLabel: Z } = y ?? {}, ge = E(() => ({
|
|
339
|
+
copyLabel: W,
|
|
340
|
+
copiedLabel: G,
|
|
341
|
+
downloadCsvLabel: K,
|
|
342
|
+
openInCanvasLabel: fe
|
|
343
|
+
}), [
|
|
344
|
+
W,
|
|
345
|
+
G,
|
|
346
|
+
K,
|
|
347
|
+
fe
|
|
348
|
+
]), { textRef: _e, isTextCollapsed: ve, isOverflowing: Q, collapsedMaxHeight: ye, expandedMaxHeight: be, isCollapsed: $, toggleCollapsed: xe } = f({
|
|
339
349
|
text: e ?? "",
|
|
340
|
-
collapsedLineCount:
|
|
341
|
-
}),
|
|
342
|
-
"--cm-bubble-user-bg":
|
|
343
|
-
"--cm-bubble-user-border":
|
|
344
|
-
"--cm-bubble-fade-start":
|
|
345
|
-
"--cm-bubble-text":
|
|
346
|
-
"--cm-bubble-collapsed-height":
|
|
347
|
-
"--cm-bubble-expanded-height":
|
|
348
|
-
}),
|
|
350
|
+
collapsedLineCount: _
|
|
351
|
+
}), Se = s({
|
|
352
|
+
"--cm-bubble-user-bg": j?.userBackground,
|
|
353
|
+
"--cm-bubble-user-border": j?.userBorder,
|
|
354
|
+
"--cm-bubble-fade-start": j?.fadeStart,
|
|
355
|
+
"--cm-bubble-text": j?.text,
|
|
356
|
+
"--cm-bubble-collapsed-height": Q ? `${ye}px` : void 0,
|
|
357
|
+
"--cm-bubble-expanded-height": Q ? `${be}px` : void 0
|
|
358
|
+
}), Ce = n === X.Top ? "rounded-ee-md rounded-se-2xl" : "rounded-se-md rounded-ee-2xl", we = d(q.text, M?.fontClassName), { markdownSource: Te, segmentRehypePlugins: Ee, segmentComponents: De } = E(() => {
|
|
359
|
+
if (b == null) return {
|
|
360
|
+
markdownSource: e ?? "",
|
|
361
|
+
segmentRehypePlugins: he,
|
|
362
|
+
segmentComponents: void 0
|
|
363
|
+
};
|
|
364
|
+
let { source: t, inlineSegments: n } = c(b);
|
|
365
|
+
return {
|
|
366
|
+
markdownSource: t,
|
|
367
|
+
segmentRehypePlugins: [u(n)],
|
|
368
|
+
segmentComponents: l(n)
|
|
369
|
+
};
|
|
370
|
+
}, [e, b]), Oe = ae ?? N, ke = R ?? P, Ae = $ ? N : P, je = $ ? Oe : ke, Me = $ ? A : te, Ne = w();
|
|
349
371
|
return /* @__PURE__ */ I("div", {
|
|
350
372
|
role: "group",
|
|
351
|
-
"aria-label":
|
|
352
|
-
style:
|
|
353
|
-
onCopy:
|
|
354
|
-
className:
|
|
373
|
+
"aria-label": V,
|
|
374
|
+
style: Se,
|
|
375
|
+
onCopy: ue,
|
|
376
|
+
className: d("flex w-full", re),
|
|
355
377
|
children: /* @__PURE__ */ L("div", {
|
|
356
378
|
className: "ms-auto flex w-fit min-w-0 max-w-full flex-col items-end gap-4",
|
|
357
379
|
children: [
|
|
358
|
-
/* @__PURE__ */ I(
|
|
359
|
-
attachments:
|
|
360
|
-
onAttachmentClick:
|
|
361
|
-
let t =
|
|
362
|
-
t &&
|
|
380
|
+
/* @__PURE__ */ I(p, {
|
|
381
|
+
attachments: h ?? [],
|
|
382
|
+
onAttachmentClick: ee ? (e) => {
|
|
383
|
+
let t = h?.find((t) => t.id === e);
|
|
384
|
+
t && ee(t);
|
|
363
385
|
} : void 0,
|
|
364
|
-
onDownloadAll:
|
|
365
|
-
onRetry:
|
|
386
|
+
onDownloadAll: S,
|
|
387
|
+
onRetry: C,
|
|
366
388
|
labels: {
|
|
367
|
-
clickLabel:
|
|
368
|
-
downloadLabel:
|
|
369
|
-
retryLabel:
|
|
370
|
-
openInNewTabLabel:
|
|
389
|
+
clickLabel: B,
|
|
390
|
+
downloadLabel: oe,
|
|
391
|
+
retryLabel: se,
|
|
392
|
+
openInNewTabLabel: ce
|
|
371
393
|
},
|
|
372
394
|
styles: { className: "max-w-[640px]" },
|
|
373
|
-
selectedAttachmentId:
|
|
395
|
+
selectedAttachmentId: T
|
|
374
396
|
}),
|
|
375
397
|
e && /* @__PURE__ */ I("div", {
|
|
376
|
-
className:
|
|
398
|
+
className: d(q.userBubble, "flex w-fit items-center justify-end rounded-es-2xl rounded-ss-2xl border px-6 py-4", Ce, ie, z.userBubble),
|
|
377
399
|
children: /* @__PURE__ */ L("div", {
|
|
378
400
|
className: "flex min-w-0 flex-col items-start",
|
|
379
401
|
children: [/* @__PURE__ */ I("div", {
|
|
380
|
-
id:
|
|
402
|
+
id: Ne,
|
|
381
403
|
ref: t,
|
|
382
|
-
className:
|
|
383
|
-
children: /* @__PURE__ */ I("
|
|
384
|
-
ref:
|
|
385
|
-
className:
|
|
386
|
-
children:
|
|
404
|
+
className: d("relative -me-1 -ms-1 w-[calc(100%+8px)] overflow-hidden pe-1 ps-1", Q && q.collapsibleText, Q && !$ && q.expandedText, ve && q.collapsedText),
|
|
405
|
+
children: /* @__PURE__ */ I("div", {
|
|
406
|
+
ref: _e,
|
|
407
|
+
className: d(we, "min-w-0 max-w-full text-start", me),
|
|
408
|
+
children: /* @__PURE__ */ I(r, {
|
|
409
|
+
content: Te,
|
|
410
|
+
isRawHtmlEnabled: !1,
|
|
411
|
+
rehypePlugins: Ee,
|
|
412
|
+
components: De,
|
|
413
|
+
classNames: D,
|
|
414
|
+
urlTransform: O,
|
|
415
|
+
codeBlockCopyLabel: le,
|
|
416
|
+
codeBlockCopiedLabel: H,
|
|
417
|
+
codeBlockDownloadLabel: U,
|
|
418
|
+
codeBlockTheme: k,
|
|
419
|
+
tableActionLabels: ge,
|
|
420
|
+
tableDownloadFilename: J,
|
|
421
|
+
tableOnOpenInCanvas: ne,
|
|
422
|
+
tableScrollRegionAriaLabel: Y,
|
|
423
|
+
mathScrollRegionAriaLabel: Z
|
|
424
|
+
})
|
|
387
425
|
})
|
|
388
|
-
}),
|
|
389
|
-
label: /* @__PURE__ */ I(F, { children:
|
|
390
|
-
iconBefore: /* @__PURE__ */ I(
|
|
391
|
-
size:
|
|
426
|
+
}), Q && /* @__PURE__ */ I(x, {
|
|
427
|
+
label: /* @__PURE__ */ I(F, { children: Ae }),
|
|
428
|
+
iconBefore: /* @__PURE__ */ I(Me, {
|
|
429
|
+
size: g.SM,
|
|
392
430
|
"aria-hidden": "true"
|
|
393
431
|
}),
|
|
394
|
-
"aria-label":
|
|
395
|
-
"aria-expanded":
|
|
396
|
-
"aria-controls":
|
|
432
|
+
"aria-label": je,
|
|
433
|
+
"aria-expanded": !$,
|
|
434
|
+
"aria-controls": Ne,
|
|
397
435
|
className: "mt-3",
|
|
398
|
-
onClick:
|
|
399
|
-
size:
|
|
436
|
+
onClick: xe,
|
|
437
|
+
size: v.Small
|
|
400
438
|
})]
|
|
401
439
|
})
|
|
402
440
|
}),
|
|
403
|
-
/* @__PURE__ */ I(
|
|
404
|
-
...
|
|
405
|
-
isAlwaysVisible:
|
|
441
|
+
/* @__PURE__ */ I(de, {
|
|
442
|
+
...o,
|
|
443
|
+
isAlwaysVisible: m,
|
|
406
444
|
role: a.User
|
|
407
445
|
})
|
|
408
446
|
]
|
|
409
447
|
})
|
|
410
448
|
});
|
|
411
|
-
},
|
|
449
|
+
}, ge = ({ role: e, beforeContent: t, textSegments: n, onAttachmentClick: r, responseFormat: i, markdownComponents: o, markdownUrlTransform: s, ...c }) => e === a.Status ? /* @__PURE__ */ I(Y, { labels: {
|
|
412
450
|
titleText: c.labels?.statusTitleText,
|
|
413
451
|
bodyText: c.labels?.statusBodyText ?? ""
|
|
414
|
-
} }) : e === a.User ? /* @__PURE__ */ I(
|
|
452
|
+
} }) : e === a.User ? /* @__PURE__ */ I(Z, {
|
|
415
453
|
...c,
|
|
416
454
|
textSegments: n,
|
|
455
|
+
markdownUrlTransform: s,
|
|
417
456
|
onAttachmentClick: r
|
|
418
|
-
}) : /* @__PURE__ */ I(
|
|
457
|
+
}) : /* @__PURE__ */ I(J, {
|
|
419
458
|
...c,
|
|
420
459
|
beforeContent: t,
|
|
421
460
|
responseFormat: i,
|
|
422
461
|
markdownComponents: o,
|
|
423
462
|
markdownUrlTransform: s,
|
|
424
463
|
onAttachmentClick: r
|
|
425
|
-
}),
|
|
426
|
-
let { colors:
|
|
427
|
-
"--cm-reply-background":
|
|
428
|
-
"--cm-reply-hover-background":
|
|
429
|
-
"--cm-reply-text":
|
|
430
|
-
}), [b, x] =
|
|
464
|
+
}), _e = { button: "_button_tqo4d_3" }, ve = ({ rect: e, actionRef: t, onReply: n, addedRevision: r, labels: i, styles: a, portalContainer: o }) => {
|
|
465
|
+
let { colors: c, typography: l, className: u, buttonClassName: f } = a ?? {}, p = l?.fontClassName ?? "dial-small-text", g = o === void 0 ? typeof document > "u" ? null : document.body : o, y = s({
|
|
466
|
+
"--cm-reply-background": c?.background,
|
|
467
|
+
"--cm-reply-hover-background": c?.hoverBackground,
|
|
468
|
+
"--cm-reply-text": c?.text
|
|
469
|
+
}), [b, x] = O({
|
|
431
470
|
x: 0,
|
|
432
471
|
y: 0
|
|
433
472
|
});
|
|
434
|
-
return
|
|
473
|
+
return T(() => {
|
|
435
474
|
if (!e || !t.current) return;
|
|
436
475
|
let n = t.current.getBoundingClientRect(), r = window.visualViewport, i = r?.offsetLeft ?? 0, a = r?.offsetTop ?? 0, o = r?.width ?? document.documentElement.clientWidth, s = r?.height ?? document.documentElement.clientHeight, c = e.top - n.height - 8 >= a + 8 ? e.top - n.height - 8 : e.bottom + 8;
|
|
437
476
|
x({
|
|
@@ -441,28 +480,28 @@ var z = {
|
|
|
441
480
|
}, [
|
|
442
481
|
e,
|
|
443
482
|
t,
|
|
444
|
-
v,
|
|
445
|
-
p,
|
|
446
483
|
g,
|
|
447
|
-
|
|
484
|
+
u,
|
|
485
|
+
f,
|
|
486
|
+
p,
|
|
448
487
|
i.reply
|
|
449
|
-
]),
|
|
488
|
+
]), g ? R(/* @__PURE__ */ L(F, { children: [e && /* @__PURE__ */ I("div", {
|
|
450
489
|
ref: t,
|
|
451
|
-
className:
|
|
490
|
+
className: d("fixed left-0 top-0 z-50 max-w-[calc(100vw-16px)]", u),
|
|
452
491
|
style: {
|
|
453
492
|
...y,
|
|
454
493
|
transform: `translate(${b.x}px, ${b.y}px)`
|
|
455
494
|
},
|
|
456
|
-
children: /* @__PURE__ */ I(
|
|
457
|
-
variant:
|
|
458
|
-
size:
|
|
495
|
+
children: /* @__PURE__ */ I(m, {
|
|
496
|
+
variant: h.Neutral,
|
|
497
|
+
size: v.Small,
|
|
459
498
|
label: i.reply,
|
|
460
499
|
onClick: n,
|
|
461
|
-
textClassName:
|
|
462
|
-
className:
|
|
463
|
-
iconAfter: /* @__PURE__ */ I(
|
|
500
|
+
textClassName: p,
|
|
501
|
+
className: d(_e.button, "h-8 min-h-8 min-w-11 px-2 shadow-lg mobile:h-11 mobile:min-h-11", f),
|
|
502
|
+
iconAfter: /* @__PURE__ */ I(k, {
|
|
464
503
|
size: 16,
|
|
465
|
-
stroke:
|
|
504
|
+
stroke: _,
|
|
466
505
|
"aria-hidden": "true",
|
|
467
506
|
className: "rtl:scale-x-[-1]"
|
|
468
507
|
})
|
|
@@ -472,7 +511,7 @@ var z = {
|
|
|
472
511
|
"aria-live": "polite",
|
|
473
512
|
className: "sr-only",
|
|
474
513
|
children: e ? i.selectionAvailable : r > 0 ? /* @__PURE__ */ I("span", { children: i.attachmentAdded }, r) : null
|
|
475
|
-
})] }),
|
|
514
|
+
})] }), g) : null;
|
|
476
515
|
};
|
|
477
516
|
//#endregion
|
|
478
|
-
export {
|
|
517
|
+
export { J as AssistantMessageBubble, X as BubblePosition, z as CONVERSATION_MESSAGES_CLASS, de as MessageActions, ge as MessageBubble, ve as MessageSelectionReply, Y as StatusMessageBubble, Z as UserMessageBubble };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodeBlockTheme, DisplayAttachment, MarkdownRendererClassNames, MessageRole, ResponseFormat, StarterOption } from '@epam/ai-dial-chat-shared';
|
|
1
|
+
import { CodeBlockTheme, DisplayAttachment, MarkdownRendererClassNames, MessageRole, ResponseFormat, StarterOption, TextSegment } from '@epam/ai-dial-chat-shared';
|
|
2
2
|
import { ReactNode, Ref } from 'react';
|
|
3
3
|
import { Components } from 'react-markdown';
|
|
4
4
|
import { BubblePosition } from '../types/bubble-position';
|
|
@@ -59,12 +59,8 @@ export interface MessageBubbleLabels {
|
|
|
59
59
|
/** Body text for the status banner. Required when `role === MessageRole.Status`. */
|
|
60
60
|
statusBodyText?: string;
|
|
61
61
|
}
|
|
62
|
-
/** Localised labels for
|
|
63
|
-
export interface
|
|
64
|
-
/** aria-label for the quick-reply list. Defaults to `"Quick reply buttons"`. */
|
|
65
|
-
startersAriaLabel?: string;
|
|
66
|
-
/** Shimmer placeholder shown while streaming and message text is empty. Defaults to `'Thinking'`. */
|
|
67
|
-
thinkingLabel?: string;
|
|
62
|
+
/** Localised labels for markdown content (code blocks, tables, formulas) inside a message bubble. */
|
|
63
|
+
export interface MarkdownContentLabels {
|
|
68
64
|
/** aria-label for the code block copy button. */
|
|
69
65
|
codeBlockCopyLabel?: string;
|
|
70
66
|
/** aria-label for the code block copy button after copying. */
|
|
@@ -85,6 +81,16 @@ export interface AssistantMessageBubbleLabels extends MessageBubbleLabels {
|
|
|
85
81
|
tableScrollRegionAriaLabel?: string;
|
|
86
82
|
/** Accessible label for a block formula's scrollable region. */
|
|
87
83
|
mathScrollRegionAriaLabel?: string;
|
|
84
|
+
}
|
|
85
|
+
/** Localised labels for the `UserMessageBubble` component. */
|
|
86
|
+
export interface UserMessageBubbleLabels extends MessageBubbleLabels, MarkdownContentLabels {
|
|
87
|
+
}
|
|
88
|
+
/** Localised labels for the `AssistantMessageBubble` component. */
|
|
89
|
+
export interface AssistantMessageBubbleLabels extends MessageBubbleLabels, MarkdownContentLabels {
|
|
90
|
+
/** aria-label for the quick-reply list. Defaults to `"Quick reply buttons"`. */
|
|
91
|
+
startersAriaLabel?: string;
|
|
92
|
+
/** Shimmer placeholder shown while streaming and message text is empty. Defaults to `'Thinking'`. */
|
|
93
|
+
thinkingLabel?: string;
|
|
88
94
|
/** Fallback aria-label for the deployment icon. Defaults to `'AI'`. */
|
|
89
95
|
deploymentIconFallbackLabel?: string;
|
|
90
96
|
}
|
|
@@ -114,6 +120,18 @@ interface BaseMessageBubbleProps {
|
|
|
114
120
|
onAttachmentRetry?: (id: string) => void;
|
|
115
121
|
/** ID of the attachment currently open in the canvas panel, if any. Renders that tile's selected visual state. */
|
|
116
122
|
selectedAttachmentId?: string;
|
|
123
|
+
/** Per-element markdown typography classes. Defaults to the renderer's full-size scale; pass `COMPACT_MARKDOWN_CLASS_NAMES` for the smaller body scale. */
|
|
124
|
+
markdownClassNames?: MarkdownRendererClassNames;
|
|
125
|
+
/**
|
|
126
|
+
* Rewrites markdown `href`/`src` values before they are rendered. Forwarded
|
|
127
|
+
* to `MDMessageViewer`. Hosts use this to map DIAL file ids to download URLs.
|
|
128
|
+
* Defaults to no extra rewrite.
|
|
129
|
+
*/
|
|
130
|
+
markdownUrlTransform?: (url: string) => string;
|
|
131
|
+
/** Syntax highlight theme for code blocks. Defaults to `'dark'`. */
|
|
132
|
+
codeBlockTheme?: CodeBlockTheme;
|
|
133
|
+
/** Opens serialized Markdown table content in the host canvas. */
|
|
134
|
+
tableOnOpenInCanvas?: (markdown: string) => void;
|
|
117
135
|
}
|
|
118
136
|
/** Props for `UserMessageBubble`. */
|
|
119
137
|
export interface UserMessageBubbleProps extends BaseMessageBubbleProps {
|
|
@@ -122,15 +140,16 @@ export interface UserMessageBubbleProps extends BaseMessageBubbleProps {
|
|
|
122
140
|
/** Maximum number of text lines shown while a long user message is collapsed. Defaults to `10`. */
|
|
123
141
|
collapsedLineCount?: number;
|
|
124
142
|
/**
|
|
125
|
-
* Ordered content
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* identity
|
|
130
|
-
* (`useCollapsedText`)
|
|
131
|
-
* rendered. Absent renders `text` directly, byte-identical to today.
|
|
143
|
+
* Ordered content rendered in place of `text` when present: markdown
|
|
144
|
+
* string runs interleaved with inline segments (e.g. skill-mention chips),
|
|
145
|
+
* each rendered at its position within the markdown output, or as its
|
|
146
|
+
* literal `text` inside code and link text. `text` is still required
|
|
147
|
+
* alongside this: it remains the identity input for the collapse state
|
|
148
|
+
* (`useCollapsedText`). Absent renders `text` as markdown directly.
|
|
132
149
|
*/
|
|
133
|
-
textSegments?:
|
|
150
|
+
textSegments?: TextSegment[];
|
|
151
|
+
/** Localised labels for the toggle button, attachment rows, and markdown code/table actions. */
|
|
152
|
+
labels?: UserMessageBubbleLabels;
|
|
134
153
|
}
|
|
135
154
|
/** Props for `AssistantMessageBubble`. */
|
|
136
155
|
export interface AssistantMessageBubbleProps extends BaseMessageBubbleProps {
|
|
@@ -155,14 +174,6 @@ export interface AssistantMessageBubbleProps extends BaseMessageBubbleProps {
|
|
|
155
174
|
beforeContent?: ReactNode;
|
|
156
175
|
/** react-markdown component overrides. Use to inject custom renderers (e.g. citation markers) into markdown elements. */
|
|
157
176
|
markdownComponents?: Components;
|
|
158
|
-
/** Per-element markdown typography classes. Defaults to the renderer's full-size scale; pass `COMPACT_MARKDOWN_CLASS_NAMES` for the smaller body scale. */
|
|
159
|
-
markdownClassNames?: MarkdownRendererClassNames;
|
|
160
|
-
/**
|
|
161
|
-
* Rewrites markdown `href`/`src` values before they are rendered. Forwarded
|
|
162
|
-
* to `MDMessageViewer`. Hosts use this to map DIAL file ids to download URLs.
|
|
163
|
-
* Defaults to no extra rewrite.
|
|
164
|
-
*/
|
|
165
|
-
markdownUrlTransform?: (url: string) => string;
|
|
166
177
|
/** Quick-reply buttons rendered below the message text when non-empty. */
|
|
167
178
|
starters?: StarterOption[];
|
|
168
179
|
/** Fires with the clicked `StarterOption`. */
|
|
@@ -175,10 +186,6 @@ export interface AssistantMessageBubbleProps extends BaseMessageBubbleProps {
|
|
|
175
186
|
deploymentIconUrl?: string;
|
|
176
187
|
/** Deployment name used as the icon's accessible label. */
|
|
177
188
|
deploymentDisplayName?: string;
|
|
178
|
-
/** Syntax highlight theme for code blocks. Defaults to `'dark'`. */
|
|
179
|
-
codeBlockTheme?: CodeBlockTheme;
|
|
180
|
-
/** Opens serialized Markdown table content in the host canvas. */
|
|
181
|
-
tableOnOpenInCanvas?: (markdown: string) => void;
|
|
182
189
|
/** Localised labels for quick replies, the thinking indicator, and code block copy actions. */
|
|
183
190
|
labels?: AssistantMessageBubbleLabels;
|
|
184
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-bubble.d.ts","sourceRoot":"","sources":["../../src/models/message-bubble.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"message-bubble.d.ts","sourceRoot":"","sources":["../../src/models/message-bubble.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-conversation-messages",
|
|
3
3
|
"description": "Message bubble components for rendering conversation history with actions and source citations",
|
|
4
|
-
"version": "1.3.0-dev.
|
|
4
|
+
"version": "1.3.0-dev.49",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@tabler/icons-react": "^3.44.0",
|
|
21
21
|
"react-markdown": "^10.1.0",
|
|
22
|
-
"@epam/ai-dial-attachment-input": "1.3.0-dev.
|
|
22
|
+
"@epam/ai-dial-attachment-input": "1.3.0-dev.49"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^19.2.8",
|
|
26
26
|
"react-dom": "^19.2.8",
|
|
27
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
28
|
-
"@epam/ai-dial-ui-kit": "^0.15.
|
|
27
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.49",
|
|
28
|
+
"@epam/ai-dial-ui-kit": "^0.15.4"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"type": "git",
|