UNPKG

mongodb-chatbot-ui

Version:

UI React components for the MongoDB Chatbot Framework

780 lines (779 loc) 32.5 kB
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 };