mongodb-chatbot-ui
Version:
UI React components for the MongoDB Chatbot Framework
780 lines (779 loc) • 32.5 kB
JavaScript
import { c as _e, g as qe, j as D } from "./jsx-runtime.js";
import { c as Q } from "./Transition.js";
import { h as sr, J as ur, j as cr, t as le } from "./index4.js";
import { r as Je, m as O, F as y, v as G, Q as z, j as be, T as pe, d as W, n as K, R as ne, U as se, X as dr } from "./index2.js";
import b, { forwardRef as Y, useState as ie, useRef as Qe } from "react";
import { E as ge } from "./index7.js";
import { l as fr } from "./X.js";
import { H as mr } from "./index8.js";
import { z as br, X as pr, B as gr } from "./index19.js";
import { d as vr, W as yr } from "./Warning.js";
import { z as hr } from "./index11.js";
import { C as xr } from "./InputBar.js";
import "react-dom";
import "./OpenNewTab.js";
import "./index9.js";
import "./index10.js";
import "./index5.js";
import "./index6.js";
import "./index12.js";
import "./useChatbotContext.js";
import "./ChatbotProvider.js";
var Ke = { exports: {} };
(function(e, t) {
(function(r, n) {
e.exports = n(b, Je);
})(_e, function(r, n) {
function a(i) {
if (i && typeof i == "object" && "default" in i)
return i;
var l = /* @__PURE__ */ Object.create(null);
return i && Object.keys(i).forEach(function(s) {
if (s !== "default") {
var c = Object.getOwnPropertyDescriptor(i, s);
Object.defineProperty(l, s, c.get ? c : { enumerable: !0, get: function() {
return i[s];
} });
}
}), l.default = i, Object.freeze(l);
}
var o = a(r);
function u(i, l, s) {
return (l = function(c) {
var h = function(v, x) {
if (typeof v != "object" || !v)
return v;
var C = v[Symbol.toPrimitive];
if (C !== void 0) {
var P = C.call(v, x);
if (typeof P != "object")
return P;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(v);
}(c, "string");
return typeof h == "symbol" ? h : h + "";
}(l)) in i ? Object.defineProperty(i, l, { value: s, enumerable: !0, configurable: !0, writable: !0 }) : i[l] = s, i;
}
function d() {
return d = Object.assign ? Object.assign.bind() : function(i) {
for (var l = 1; l < arguments.length; l++) {
var s = arguments[l];
for (var c in s)
({}).hasOwnProperty.call(s, c) && (i[c] = s[c]);
}
return i;
}, d.apply(null, arguments);
}
function f(i, l) {
return l || (l = i.slice(0)), Object.freeze(Object.defineProperties(i, { raw: { value: Object.freeze(l) } }));
}
var m, p, g = { small: 14, default: 16, large: 20, xlarge: 24 }, w = ["className", "size", "title", "aria-label", "aria-labelledby", "fill", "role"], j = function(i) {
var l = i.className, s = i.size, c = s === void 0 ? 16 : s, h = i.title, v = i["aria-label"], x = i["aria-labelledby"], C = i.fill, P = i.role, M = P === void 0 ? "img" : P, V = function(S, F) {
if (S == null)
return {};
var k, $, T = function(N, q) {
if (N == null)
return {};
var H = {};
for (var L in N)
if ({}.hasOwnProperty.call(N, L)) {
if (q.indexOf(L) !== -1)
continue;
H[L] = N[L];
}
return H;
}(S, F);
if (Object.getOwnPropertySymbols) {
var A = Object.getOwnPropertySymbols(S);
for ($ = 0; $ < A.length; $++)
k = A[$], F.indexOf(k) === -1 && {}.propertyIsEnumerable.call(S, k) && (T[k] = S[k]);
}
return T;
}(i, w), E = n.css(m || (m = f([`
color: `, `;
`])), C), B = n.css(p || (p = f([`
flex-shrink: 0;
`]))), _ = function(S, F, k) {
var $, T = k["aria-label"], A = k["aria-labelledby"], N = k.title;
switch (S) {
case "img":
return T || A || N ? u(u(u({}, "aria-labelledby", A), "aria-label", T), "title", N) : { "aria-label": ($ = F, "".concat($.replace(/([a-z])([A-Z])/g, "$1 $2"), " Icon")) };
case "presentation":
return { "aria-hidden": !0, alt: "" };
}
}(M, "ThumbsDown", u(u({ title: h }, "aria-label", v), "aria-labelledby", x));
return o.createElement("svg", d({ className: n.cx(u({}, E, C != null), B, l), height: typeof c == "number" ? c : g[c], width: typeof c == "number" ? c : g[c], role: M }, _, V, { viewBox: "0 0 16 16" }), o.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.01852 15C8.53023 15 8.99812 14.7199 9.22744 14.2764L11.728 9.43945C11.7542 9.38879 11.7773 9.33683 11.7972 9.28386C11.8277 9.28652 11.8584 9.28788 11.8896 9.28788L13.9843 9.28788C14.5453 9.28788 15 8.84694 15 8.30303L15 3.18182C15 2.6379 14.5453 2 13.9844 2L11.8896 2C11.6144 2 11 2 11 2C11 2 10.3639 2 9.85827 2L3.99311 2C3.02273 2 2.18787 2.66552 2.00017 3.5887L1.03904 8.31597C0.791531 9.53331 1.7524 10.6667 3.03198 10.6667L5.31958 10.6667L5.31958 12.3829C5.31958 13.8283 6.52794 15 8.01852 15ZM9.85827 8.66091L7.65371 12.9252C7.47137 12.8096 7.35088 12.6099 7.35088 12.3829L7.35088 10.0758C7.35088 9.31427 6.71427 8.69697 5.92897 8.69697L3.64387 8.69697C3.32769 8.69697 3.09089 8.40718 3.15389 8.09735L3.9117 4.37008C3.95907 4.1371 4.16394 3.9697 4.40168 3.9697L9.85827 3.9697L9.85827 8.66091Z", fill: "currentColor" }));
};
return j.displayName = "ThumbsDown", j.isGlyph = !0, j;
});
})(Ke);
var Or = Ke.exports;
const jr = /* @__PURE__ */ qe(Or);
var Ye = { exports: {} };
(function(e, t) {
(function(r, n) {
e.exports = n(b, Je);
})(_e, function(r, n) {
function a(i) {
if (i && typeof i == "object" && "default" in i)
return i;
var l = /* @__PURE__ */ Object.create(null);
return i && Object.keys(i).forEach(function(s) {
if (s !== "default") {
var c = Object.getOwnPropertyDescriptor(i, s);
Object.defineProperty(l, s, c.get ? c : { enumerable: !0, get: function() {
return i[s];
} });
}
}), l.default = i, Object.freeze(l);
}
var o = a(r);
function u(i, l, s) {
return (l = function(c) {
var h = function(v, x) {
if (typeof v != "object" || !v)
return v;
var C = v[Symbol.toPrimitive];
if (C !== void 0) {
var P = C.call(v, x);
if (typeof P != "object")
return P;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(v);
}(c, "string");
return typeof h == "symbol" ? h : h + "";
}(l)) in i ? Object.defineProperty(i, l, { value: s, enumerable: !0, configurable: !0, writable: !0 }) : i[l] = s, i;
}
function d() {
return d = Object.assign ? Object.assign.bind() : function(i) {
for (var l = 1; l < arguments.length; l++) {
var s = arguments[l];
for (var c in s)
({}).hasOwnProperty.call(s, c) && (i[c] = s[c]);
}
return i;
}, d.apply(null, arguments);
}
function f(i, l) {
return l || (l = i.slice(0)), Object.freeze(Object.defineProperties(i, { raw: { value: Object.freeze(l) } }));
}
var m, p, g = { small: 14, default: 16, large: 20, xlarge: 24 }, w = ["className", "size", "title", "aria-label", "aria-labelledby", "fill", "role"], j = function(i) {
var l = i.className, s = i.size, c = s === void 0 ? 16 : s, h = i.title, v = i["aria-label"], x = i["aria-labelledby"], C = i.fill, P = i.role, M = P === void 0 ? "img" : P, V = function(S, F) {
if (S == null)
return {};
var k, $, T = function(N, q) {
if (N == null)
return {};
var H = {};
for (var L in N)
if ({}.hasOwnProperty.call(N, L)) {
if (q.indexOf(L) !== -1)
continue;
H[L] = N[L];
}
return H;
}(S, F);
if (Object.getOwnPropertySymbols) {
var A = Object.getOwnPropertySymbols(S);
for ($ = 0; $ < A.length; $++)
k = A[$], F.indexOf(k) === -1 && {}.propertyIsEnumerable.call(S, k) && (T[k] = S[k]);
}
return T;
}(i, w), E = n.css(m || (m = f([`
color: `, `;
`])), C), B = n.css(p || (p = f([`
flex-shrink: 0;
`]))), _ = function(S, F, k) {
var $, T = k["aria-label"], A = k["aria-labelledby"], N = k.title;
switch (S) {
case "img":
return T || A || N ? u(u(u({}, "aria-labelledby", A), "aria-label", T), "title", N) : { "aria-label": ($ = F, "".concat($.replace(/([a-z])([A-Z])/g, "$1 $2"), " Icon")) };
case "presentation":
return { "aria-hidden": !0, alt: "" };
}
}(M, "ThumbsUp", u(u({ title: h }, "aria-label", v), "aria-labelledby", x));
return o.createElement("svg", d({ className: n.cx(u({}, E, C != null), B, l), height: typeof c == "number" ? c : g[c], width: typeof c == "number" ? c : g[c], role: M }, _, V, { viewBox: "0 0 16 16" }), o.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.98148 1C7.46977 1 7.00188 1.28007 6.77256 1.72365L4.27198 6.56054C4.24579 6.61121 4.22269 6.66317 4.20275 6.71614C4.17234 6.71348 4.14155 6.71212 4.11043 6.71212H2.01565C1.45472 6.71212 1 7.15306 1 7.69697V12.8182C1 13.3621 1.45472 14 2.01565 14H4.11043C4.38564 14 5 14 5 14C5 14 5.63614 14 6.14173 14H12.0069C12.9773 14 13.8121 13.3345 13.9998 12.4113L14.961 7.68402C15.2085 6.46669 14.2476 5.33333 12.968 5.33333H10.6804V3.61709C10.6804 2.17171 9.47206 1 7.98148 1ZM6.14173 7.33909L8.34629 3.0748C8.52863 3.19038 8.64912 3.39009 8.64912 3.61709V5.92424C8.64912 6.68572 9.28573 7.30303 10.071 7.30303H12.3561C12.6723 7.30303 12.9091 7.59282 12.8461 7.90265L12.0883 11.6299C12.0409 11.8629 11.8361 12.0303 11.5983 12.0303L6.14173 12.0303V7.33909Z", fill: "currentColor" }));
};
return j.displayName = "ThumbsUp", j.isGlyph = !0, j;
});
})(Ye);
var wr = Ye.exports;
const kr = /* @__PURE__ */ qe(wr);
function ve(e, t) {
t > e.length && (t = e.length);
for (var r = 0, n = Array(t); r < t; r++)
n[r] = e[r];
return n;
}
function X(e, t, r) {
return (t = function(n) {
var a = function(o, u) {
if (typeof o != "object" || !o)
return o;
var d = o[Symbol.toPrimitive];
if (d !== void 0) {
var f = d.call(o, u);
if (typeof f != "object")
return f;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(o);
}(n, "string");
return typeof a == "symbol" ? a : a + "";
}(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
}
function ae() {
return ae = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var r = arguments[t];
for (var n in r)
({}).hasOwnProperty.call(r, n) && (e[n] = r[n]);
}
return e;
}, ae.apply(null, arguments);
}
function er(e, t) {
if (e == null)
return {};
var r, n, a = function(u, d) {
if (u == null)
return {};
var f = {};
for (var m in u)
if ({}.hasOwnProperty.call(u, m)) {
if (d.indexOf(m) !== -1)
continue;
f[m] = u[m];
}
return f;
}(e, t);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
for (n = 0; n < o.length; n++)
r = o[n], t.indexOf(r) === -1 && {}.propertyIsEnumerable.call(e, r) && (a[r] = e[r]);
}
return a;
}
function Cr(e, t) {
return function(r) {
if (Array.isArray(r))
return r;
}(e) || function(r, n) {
var a = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"];
if (a != null) {
var o, u, d, f, m = [], p = !0, g = !1;
try {
if (d = (a = a.call(r)).next, n !== 0)
for (; !(p = (o = d.call(a)).done) && (m.push(o.value), m.length !== n); p = !0)
;
} catch (w) {
g = !0, u = w;
} finally {
try {
if (!p && a.return != null && (f = a.return(), Object(f) !== f))
return;
} finally {
if (g)
throw u;
}
}
return m;
}
}(e, t) || function(r, n) {
if (r) {
if (typeof r == "string")
return ve(r, n);
var a = {}.toString.call(r).slice(8, -1);
return a === "Object" && r.constructor && (a = r.constructor.name), a === "Map" || a === "Set" ? Array.from(r) : a === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a) ? ve(r, n) : void 0;
}
}(e, t) || function() {
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}();
}
function U(e, t) {
return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
}
var ye, he, xe, Oe, je, we, ke, Ce, Pe, Ee, Pr = X(X({}, G.Dark, O(ye || (ye = U([`
border-color: `, `;
background: `, `;
&:hover {
border-color: `, `;
background: `, `;
box-shadow: none;
}
`])), y.white, y.gray.light2, y.white, y.gray.light2)), G.Light, O(he || (he = U([`
background: `, `;
&:hover {
background: `, `; // override default hover
box-shadow: none;
}
&:focus-visible {
box-shadow: none;
}
`])), y.black, y.black)), Er = O(xe || (xe = U([`
overflow: hidden; // for ripple
display: flex;
height: 22px; // Matches X-Small Button height
justify-content: center;
align-items: center;
gap: `, `px;
flex-shrink: 0;
align-self: stretch;
border-radius: 6px;
cursor: pointer;
position: relative;
z-index: 0;
border: 1px solid;
`])), z[150]), $r = X(X({}, G.Dark, O(Oe || (Oe = U([`
border: 1px solid `, `;
background: `, `;
&:hover {
box-shadow: `, `;
background: `, `;
}
&:focus-visible {
box-shadow: `, `;
background: `, `;
}
`])), y.gray.dark1, y.gray.dark2, be.dark.gray, y.gray.dark1, pe.dark.default, y.gray.dark1)), G.Light, O(je || (je = U([`
border: 1px solid `, `;
background: `, `;
&:hover {
box-shadow: `, `;
}
&:focus-visible {
box-shadow: `, `;
}
`])), y.gray.dark1, y.gray.light3, be.light.gray, pe.light.default)), Sr = O(we || (we = U([`
display: flex;
justify-content: center;
align-items: center;
padding: `, "px ", `px;
height: 100%;
cursor: pointer;
`])), z[100], z[200]);
O(ke || (ke = U([`
overflow: hidden;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 5px;
`])));
var Nr = ["id", "className", "name", "children", "darkMode", "checked"], oe = Y(function(e, t) {
var r = e.id, n = e.className, a = e.name, o = e.children, u = e.darkMode, d = e.checked, f = er(e, Nr), m = W(u).theme;
return b.createElement("div", { className: K(Er, $r[m], X({}, Pr[m], d), n), ref: t, tabIndex: 0 }, b.createElement("input", ae({ id: r, type: "radio", name: a, defaultChecked: d, "aria-checked": d, hidden: !0 }, f)), b.createElement("label", { htmlFor: r, className: Sr }, o));
});
oe.displayName = "RadioButton";
var Mr = O(Ce || (Ce = U([`
display: flex;
align-items: center;
gap: `, `px;
`])), z[200]), Tr = O(Pe || (Pe = U([`
display: flex;
align-items: center;
gap: `, `px;
`])), z[100]), $e = function(e, t) {
return e ? t ? y.black : y.gray.light2 : t ? y.gray.light3 : y.gray.dark1;
}, Se = O(Ee || (Ee = U([`
display: none;
`]))), zr = ["description", "className", "value", "onChange", "darkMode", "hideThumbsDown", "hideThumbsUp"], rr = Y(function(e, t) {
var r = e.description, n = r === void 0 ? "How was the response?" : r, a = e.className, o = e.value, u = e.onChange, d = e.darkMode, f = e.hideThumbsDown, m = e.hideThumbsUp, p = er(e, zr), g = o !== void 0, w = Cr(ie(), 2), j = w[0], i = w[1], l = W(d).darkMode, s = g ? o === "liked" : j === "liked", c = g ? o === "disliked" : j === "disliked", h = ne({ prefix: "message-rating" }), v = function(x) {
u(x), g || i(x.target.value);
};
return b.createElement(se, { darkMode: l }, b.createElement("div", ae({ className: K(Mr, a) }, p, { ref: t }), b.createElement(sr, null, n), b.createElement("div", { className: Tr }, b.createElement(oe, { id: "like-".concat(h), "aria-label": "Thumbs up this message", name: h, value: "liked", onChange: v, checked: s, className: K(X({}, Se, m)) }, b.createElement(kr, { fill: $e(l, s) })), b.createElement(oe, { id: "dislike-".concat(h), name: h, value: "disliked", "aria-label": "Thumbs down this message", onChange: v, checked: c, className: K(X({}, Se, f)) }, b.createElement(jr, { fill: $e(l, c) })))));
});
rr.displayName = "MessageRating";
function Ne(e, t) {
t > e.length && (t = e.length);
for (var r = 0, n = Array(t); r < t; r++)
n[r] = e[r];
return n;
}
function Br(e, t, r) {
return (t = function(n) {
var a = function(o, u) {
if (typeof o != "object" || !o)
return o;
var d = o[Symbol.toPrimitive];
if (d !== void 0) {
var f = d.call(o, u);
if (typeof f != "object")
return f;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(o);
}(n, "string");
return typeof a == "symbol" ? a : a + "";
}(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
}
function Me(e, t) {
var r = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter(function(a) {
return Object.getOwnPropertyDescriptor(e, a).enumerable;
})), r.push.apply(r, n);
}
return r;
}
function Te(e) {
for (var t = 1; t < arguments.length; t++) {
var r = arguments[t] != null ? arguments[t] : {};
t % 2 ? Me(Object(r), !0).forEach(function(n) {
Br(e, n, r[n]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Me(Object(r)).forEach(function(n) {
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
});
}
return e;
}
function Ar(e, t) {
return function(r) {
if (Array.isArray(r))
return r;
}(e) || function(r, n) {
var a = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"];
if (a != null) {
var o, u, d, f, m = [], p = !0, g = !1;
try {
if (d = (a = a.call(r)).next, n !== 0)
for (; !(p = (o = d.call(a)).done) && (m.push(o.value), m.length !== n); p = !0)
;
} catch (w) {
g = !0, u = w;
} finally {
try {
if (!p && a.return != null && (f = a.return(), Object(f) !== f))
return;
} finally {
if (g)
throw u;
}
}
return m;
}
}(e, t) || function(r, n) {
if (r) {
if (typeof r == "string")
return Ne(r, n);
var a = {}.toString.call(r).slice(8, -1);
return a === "Object" && r.constructor && (a = r.constructor.name), a === "Map" || a === "Set" ? Array.from(r) : a === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a) ? Ne(r, n) : void 0;
}
}(e, t) || function() {
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}();
}
function tr(e, t) {
return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
}
var ze, Be, Lr = "lg-text_area", Ir = function() {
return { root: arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Lr };
}, Dr = O(ze || (ze = tr([`
height: auto;
display: flex;
padding: 0;
`]))), Fr = O(Be || (Be = tr([`
width: 100%;
min-height: `, `px;
display: flex;
resize: none;
padding: `, "px ", `px;
`])), 64, z[200], z[300]), Rr = gr, Ur = ["readOnly", "label", "description", "className", "errorMessage", "successMessage", "darkMode", "disabled", "state", "id", "value", "onChange", "onBlur", "handleValidation", "aria-label", "aria-labelledby", "aria-invalid", "baseFontSize", "data-lgid", "defaultValue"], nr = Y(function(e, t) {
var r = e.readOnly, n = e.label, a = e.description, o = e.className, u = e.errorMessage, d = u === void 0 ? "This input needs your attention" : u, f = e.successMessage, m = f === void 0 ? "Success" : f, p = e.darkMode, g = e.disabled, w = g !== void 0 && g, j = e.state, i = j === void 0 ? Rr.None : j, l = e.id, s = e.value, c = e.onChange, h = e.onBlur, v = e.handleValidation, x = e["aria-label"], C = e["aria-labelledby"], P = e["aria-invalid"], M = e.baseFontSize, V = e["data-lgid"], E = e.defaultValue, B = E === void 0 ? "" : E, _ = function(I, ce) {
if (I == null)
return {};
var J, ee, de = function(re, lr) {
if (re == null)
return {};
var me = {};
for (var te in re)
if ({}.hasOwnProperty.call(re, te)) {
if (lr.indexOf(te) !== -1)
continue;
me[te] = re[te];
}
return me;
}(I, ce);
if (Object.getOwnPropertySymbols) {
var fe = Object.getOwnPropertySymbols(I);
for (ee = 0; ee < fe.length; ee++)
J = fe[ee], ce.indexOf(J) === -1 && {}.propertyIsEnumerable.call(I, J) && (de[J] = I[J]);
}
return de;
}(e, Ur), S = ur(M), F = ne({ prefix: "textarea", id: l }), k = W(p).darkMode, $ = typeof s == "string", T = Ar(ie(B), 2), A = T[0], N = T[1], q = $ ? s : A, H = Ir(V), L = dr(v);
n || C || console.error("For screen-reader accessibility, label or aria-labelledby must be provided to TextArea.");
var ar = { "aria-invalid": P, "aria-label": x, "aria-labelledby": C }, ir = Te({ baseFontSize: S, className: o, darkMode: k, "data-lgid": H.root, "data-testid": H.root, description: a, disabled: w, errorMessage: d, id: F, label: n, state: i, successMessage: m, readOnly: r }, ar), or = Te({ className: Fr, onBlur: function(I) {
h && h(I), L.onBlur(I);
}, onChange: function(I) {
c && c(I), $ || N(I.target.value), L.onChange(I);
}, ref: t, title: n ?? void 0, value: q }, _);
return b.createElement(br, ir, b.createElement(pr, { className: Dr }, b.createElement("textarea", or)));
});
nr.displayName = "TextArea";
function Ae(e, t) {
t > e.length && (t = e.length);
for (var r = 0, n = Array(t); r < t; r++)
n[r] = e[r];
return n;
}
function Le(e, t, r) {
return (t = function(n) {
var a = function(o, u) {
if (typeof o != "object" || !o)
return o;
var d = o[Symbol.toPrimitive];
if (d !== void 0) {
var f = d.call(o, u);
if (typeof f != "object")
return f;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(o);
}(n, "string");
return typeof a == "symbol" ? a : a + "";
}(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
}
function Z() {
return Z = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var r = arguments[t];
for (var n in r)
({}).hasOwnProperty.call(r, n) && (e[n] = r[n]);
}
return e;
}, Z.apply(null, arguments);
}
function Hr(e, t) {
return function(r) {
if (Array.isArray(r))
return r;
}(e) || function(r, n) {
var a = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"];
if (a != null) {
var o, u, d, f, m = [], p = !0, g = !1;
try {
if (d = (a = a.call(r)).next, n !== 0)
for (; !(p = (o = d.call(a)).done) && (m.push(o.value), m.length !== n); p = !0)
;
} catch (w) {
g = !0, u = w;
} finally {
try {
if (!p && a.return != null && (f = a.return(), Object(f) !== f))
return;
} finally {
if (g)
throw u;
}
}
return m;
}
}(e, t) || function(r, n) {
if (r) {
if (typeof r == "string")
return Ae(r, n);
var a = {}.toString.call(r).slice(8, -1);
return a === "Object" && r.constructor && (a = r.constructor.name), a === "Map" || a === "Set" ? Array.from(r) : a === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a) ? Ae(r, n) : void 0;
}
}(e, t) || function() {
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}();
}
function R(e, t) {
return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
}
var Ie, De, Fe, Re, Ue, He, Ve, Xe, Ze, Ge, We, Vr = O(Ie || (Ie = R([`
display: flex;
gap: `, `px;
align-items: center;
`])), z[1]), Xr = O(De || (De = R([`
color: `, `;
`])), y.gray.dark1), Zr = function(e) {
var t = e.submittedMessage;
return b.createElement("div", { className: Vr }, b.createElement(vr, { color: y.green.dark1 }), b.createElement(le, { className: Xr }, t));
}, Gr = O(Fe || (Fe = R([`
width: 100%;
`]))), Wr = O(Re || (Re = R([`
display: flex;
justify-content: end;
`]))), _r = O(Ue || (Ue = R([`
flex: 1;
padding-top: 3px; // to match icon button padding
`]))), qr = O(He || (He = R([`
margin-top: `, `px;
`])), z[100]), Jr = O(Ve || (Ve = R([`
margin-top: `, `px;
display: flex;
gap: `, `px;
justify-content: end;
`])), z[200], z[2]), ue = Y(function(e, t) {
var r = e.label, n = e.cancelButtonText, a = n === void 0 ? "Cancel" : n, o = e.onCancel, u = e.cancelButtonProps, d = e.submitButtonText, f = d === void 0 ? "Submit" : d, m = e.submitButtonProps, p = e.isSubmitted, g = e.submittedMessage, w = g === void 0 ? "Submitted! Thanks for your feedback." : g, j = e.onSubmit, i = e.darkMode, l = e.onClose, s = e.textareaProps, c = W(i).darkMode, h = ne({ prefix: "lg-chat-imf-input" }), v = ne({ prefix: "lg-chat-imf-label" }), x = Qe(null), C = function() {
var E, B;
return ((s == null ? void 0 : s.value) === void 0 || (s == null ? void 0 : s.value.length) < 1) && ((x == null || (E = x.current) === null || E === void 0 ? void 0 : E.value) === void 0 || (x == null || (B = x.current) === null || B === void 0 ? void 0 : B.value.length) < 1);
}, P = Hr(ie(C()), 2), M = P[0], V = P[1];
return b.createElement(se, { darkMode: c }, b.createElement("div", { ref: t }, p ? b.createElement(Zr, { submittedMessage: w }) : b.createElement("form", { className: Gr, onSubmit: function(E) {
E.preventDefault(), j == null || j(E);
} }, b.createElement("div", { className: Wr }, b.createElement(cr, { id: v, className: _r }, r), l && b.createElement(mr, { "aria-label": "Close feedback window", onClick: l }, b.createElement(fr, null))), b.createElement(nr, Z({ id: h, "aria-labelledby": v, autoFocus: !0, className: qr }, s, { ref: function(E) {
s != null && s.ref && (s.ref.current = E), x.current = E;
}, onChange: function(E) {
var B;
V(C()), s == null || (B = s.onChange) === null || B === void 0 || B.call(s, E);
} })), b.createElement("div", { className: Jr }, b.createElement(ge, Z({ type: "button", variant: "default", size: "small", onClick: o }, u), a), b.createElement(ge, Z({ type: "submit", variant: "primary", size: "small", disabled: !!M }, m), f)))));
});
ue.displayName = "InlineMessageFeedback";
var Qr = O(Xe || (Xe = R([`
width: 372px;
border-radius: 16px;
border: 1px solid;
`]))), Kr = O(Ze || (Ze = R([`
padding: `, `px;
`])), z[3]), Yr = Le(Le({}, G.Dark, O(Ge || (Ge = R([`
background-color: `, `;
border-color: `, `;
`])), y.gray.dark3, y.gray.dark2)), G.Light, O(We || (We = R([`
background-color: `, `;
border-color: `, `;
`])), y.black, y.black)), et = ["darkMode", "cancelButtonText", "onCancel", "cancelButtonProps", "submitButtonText", "submitButtonProps", "onSubmit", "textareaProps", "onClose", "label"], rt = Y(function(e, t) {
var r = e.darkMode, n = e.cancelButtonText, a = e.onCancel, o = e.cancelButtonProps, u = e.submitButtonText, d = e.submitButtonProps, f = e.onSubmit, m = e.textareaProps, p = e.onClose, g = e.label, w = function(i, l) {
if (i == null)
return {};
var s, c, h = function(x, C) {
if (x == null)
return {};
var P = {};
for (var M in x)
if ({}.hasOwnProperty.call(x, M)) {
if (C.indexOf(M) !== -1)
continue;
P[M] = x[M];
}
return P;
}(i, l);
if (Object.getOwnPropertySymbols) {
var v = Object.getOwnPropertySymbols(i);
for (c = 0; c < v.length; c++)
s = v[c], l.indexOf(s) === -1 && {}.propertyIsEnumerable.call(i, s) && (h[s] = i[s]);
}
return h;
}(e, et), j = W(r).theme;
return b.createElement(se, { darkMode: !0 }, b.createElement(hr, Z({ ref: t, spacing: z[3] }, w, { className: K(Qr, Yr[j]) }), b.createElement("div", { className: Kr }, b.createElement(ue, { cancelButtonText: n, onCancel: a, cancelButtonProps: o, submitButtonText: u, submitButtonProps: d, onSubmit: f, textareaProps: m, onClose: p, label: g }))));
});
rt.displayName = "PopoverMessageFeedback";
function kt(e) {
const {
submit: t,
abandon: r,
status: n,
errorMessage: a,
maxCommentCharacterCount: o,
messageRatingProps: u
} = e, d = u.value !== void 0, f = Qe(null), m = n === "submitted", [p, g] = ie(0), w = o ? p > o : !1;
return /* @__PURE__ */ D.jsxs(
"div",
{
className: Q`
& > div + div {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
`,
children: [
/* @__PURE__ */ D.jsx(rr, { ...u }),
d && n !== "abandoned" ? /* @__PURE__ */ D.jsxs(D.Fragment, { children: [
/* @__PURE__ */ D.jsx(
ue,
{
className: "",
ref: f,
cancelButtonText: "Cancel",
onCancel: () => r(),
submitButtonText: "Submit",
onSubmit: async (j) => {
const l = j.target.querySelector("textarea");
w || await t((l == null ? void 0 : l.value) ?? "");
},
textareaProps: {
onChange: (j) => {
const i = j.target;
g(i.value.length);
},
// @ts-expect-error Hacky fix for https://jira.mongodb.org/browse/LG-3964
label: u.value === "liked" ? "Provide additional feedback here. What did you like about this response?" : "Provide additional feedback here. How can we improve?"
},
isSubmitted: m,
submittedMessage: "Submitted! Thank you for your feedback."
}
),
o && n !== "submitted" ? /* @__PURE__ */ D.jsxs(
"div",
{
className: Q`
margin-top: -2rem !important;
display: flex;
flex-direction: row;
gap: 0.5rem;
`,
children: [
/* @__PURE__ */ D.jsx(
xr,
{
current: p,
max: o
}
),
w ? /* @__PURE__ */ D.jsx(
le,
{
className: Q`
color: ${y.red.base};
`,
children: `Message must contain ${o} characters or fewer`
}
) : null
]
}
) : null,
a ? /* @__PURE__ */ D.jsx(tt, { errorMessage: a }) : null
] }) : null
]
}
);
}
function tt({
errorMessage: e
}) {
const { darkMode: t } = W();
return /* @__PURE__ */ D.jsxs(
"div",
{
className: Q`
display: flex;
gap: ${z[100]}px;
align-items: center;
`,
children: [
/* @__PURE__ */ D.jsx(yr, { color: y.red.base }),
/* @__PURE__ */ D.jsx(
le,
{
className: Q`
color: ${t ? y.gray.light1 : y.gray.dark2};
`,
children: e
}
)
]
}
);
}
export {
tt as InlineMessageFeedbackErrorState,
kt as MessageRatingWithFeedbackComment
};