UNPKG

mongodb-chatbot-ui

Version:

UI React components for the MongoDB Chatbot Framework

775 lines (774 loc) 31.9 kB
import { c as Fe, g as Re, j as N } from "./jsx-runtime.js"; import { c as q } from "./Transition.js"; import { s as Qe, G as Xe, k as Ye, Q as te } from "./index4.js"; import g, { forwardRef as Q, useState as ee, useRef as Ue } from "react"; import { r as He, m as x, F as h, b as G, B as oe, w as ie, d as Z, o as K, R as X, j as ne, e as A, $ as er } from "./index2.js"; import { I as le } from "./index7.js"; import { l as rr } from "./X.js"; import { J as tr } from "./index9.js"; import { j as nr, A as ar, K as or } from "./index18.js"; import { p as ir, W as lr } from "./Warning.js"; import { z as sr } from "./index11.js"; import { C as cr } from "./InputBar.js"; import "react-dom"; import "./has.js"; import "./index8.js"; import "./index3.js"; import "./index10.js"; import "./index5.js"; import "./index6.js"; import "./index12.js"; import "./useChatbotContext.js"; import "./ChatbotProvider.js"; var Ve = { exports: {} }; (function(e, t) { (function(r, a) { e.exports = a(g, He); })(Fe, function(r, a) { function o(n) { if (n && typeof n == "object" && "default" in n) return n; var l = /* @__PURE__ */ Object.create(null); return n && Object.keys(n).forEach(function(i) { if (i !== "default") { var c = Object.getOwnPropertyDescriptor(n, i); Object.defineProperty(l, i, c.get ? c : { enumerable: !0, get: function() { return n[i]; } }); } }), l.default = n, Object.freeze(l); } var s = o(r); function b(n) { var l = function(i, c) { if (typeof i != "object" || !i) return i; var v = i[Symbol.toPrimitive]; if (v !== void 0) { var w = v.call(i, c); if (typeof w != "object") return w; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(i); }(n, "string"); return typeof l == "symbol" ? l : l + ""; } function d(n, l, i) { return (l = b(l)) in n ? Object.defineProperty(n, l, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : n[l] = i, n; } function u() { return u = Object.assign ? Object.assign.bind() : function(n) { for (var l = 1; l < arguments.length; l++) { var i = arguments[l]; for (var c in i) Object.prototype.hasOwnProperty.call(i, c) && (n[c] = i[c]); } return n; }, u.apply(this, arguments); } function f(n, l) { if (n == null) return {}; var i, c, v = function(P, E) { if (P == null) return {}; var C, y, $ = {}, M = Object.keys(P); for (y = 0; y < M.length; y++) C = M[y], E.indexOf(C) >= 0 || ($[C] = P[C]); return $; }(n, l); if (Object.getOwnPropertySymbols) { var w = Object.getOwnPropertySymbols(n); for (c = 0; c < w.length; c++) i = w[c], l.indexOf(i) >= 0 || Object.prototype.propertyIsEnumerable.call(n, i) && (v[i] = n[i]); } return v; } function m(n, l) { return l || (l = n.slice(0)), Object.freeze(Object.defineProperties(n, { raw: { value: Object.freeze(l) } })); } var p, j, k = { small: 14, default: 16, large: 20, xlarge: 24 }, S = ["className", "size", "title", "aria-label", "aria-labelledby", "fill", "role"], O = function(n) { var l = n.className, i = n.size, c = i === void 0 ? 16 : i, v = n.title, w = n["aria-label"], P = n["aria-labelledby"], E = n.fill, C = n.role, y = C === void 0 ? "img" : C, $ = f(n, S), M = a.css(p || (p = m([` color: `, `; `])), E), W = a.css(j || (j = m([` flex-shrink: 0; `]))), _ = function(J, U, z) { var L, D = z["aria-label"], F = z["aria-labelledby"], I = z.title; switch (J) { case "img": return D || F || I ? d(d(d({}, "aria-labelledby", F), "aria-label", D), "title", I) : { "aria-label": (L = U, "".concat(L.replace(/([a-z])([A-Z])/g, "$1 $2"), " Icon")) }; case "presentation": return { "aria-hidden": !0, alt: "" }; } }(y, "ThumbsDown", d(d({ title: v }, "aria-label", w), "aria-labelledby", P)); return s.createElement("svg", u({ className: a.cx(d({}, M, E != null), W, l), height: typeof c == "number" ? c : k[c], width: typeof c == "number" ? c : k[c], role: y }, _, $, { viewBox: "0 0 16 16" }), s.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 O.displayName = "ThumbsDown", O.isGlyph = !0, O; }); })(Ve); var ur = Ve.exports; const dr = /* @__PURE__ */ Re(ur); var Ge = { exports: {} }; (function(e, t) { (function(r, a) { e.exports = a(g, He); })(Fe, function(r, a) { function o(n) { if (n && typeof n == "object" && "default" in n) return n; var l = /* @__PURE__ */ Object.create(null); return n && Object.keys(n).forEach(function(i) { if (i !== "default") { var c = Object.getOwnPropertyDescriptor(n, i); Object.defineProperty(l, i, c.get ? c : { enumerable: !0, get: function() { return n[i]; } }); } }), l.default = n, Object.freeze(l); } var s = o(r); function b(n) { var l = function(i, c) { if (typeof i != "object" || !i) return i; var v = i[Symbol.toPrimitive]; if (v !== void 0) { var w = v.call(i, c); if (typeof w != "object") return w; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(i); }(n, "string"); return typeof l == "symbol" ? l : l + ""; } function d(n, l, i) { return (l = b(l)) in n ? Object.defineProperty(n, l, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : n[l] = i, n; } function u() { return u = Object.assign ? Object.assign.bind() : function(n) { for (var l = 1; l < arguments.length; l++) { var i = arguments[l]; for (var c in i) Object.prototype.hasOwnProperty.call(i, c) && (n[c] = i[c]); } return n; }, u.apply(this, arguments); } function f(n, l) { if (n == null) return {}; var i, c, v = function(P, E) { if (P == null) return {}; var C, y, $ = {}, M = Object.keys(P); for (y = 0; y < M.length; y++) C = M[y], E.indexOf(C) >= 0 || ($[C] = P[C]); return $; }(n, l); if (Object.getOwnPropertySymbols) { var w = Object.getOwnPropertySymbols(n); for (c = 0; c < w.length; c++) i = w[c], l.indexOf(i) >= 0 || Object.prototype.propertyIsEnumerable.call(n, i) && (v[i] = n[i]); } return v; } function m(n, l) { return l || (l = n.slice(0)), Object.freeze(Object.defineProperties(n, { raw: { value: Object.freeze(l) } })); } var p, j, k = { small: 14, default: 16, large: 20, xlarge: 24 }, S = ["className", "size", "title", "aria-label", "aria-labelledby", "fill", "role"], O = function(n) { var l = n.className, i = n.size, c = i === void 0 ? 16 : i, v = n.title, w = n["aria-label"], P = n["aria-labelledby"], E = n.fill, C = n.role, y = C === void 0 ? "img" : C, $ = f(n, S), M = a.css(p || (p = m([` color: `, `; `])), E), W = a.css(j || (j = m([` flex-shrink: 0; `]))), _ = function(J, U, z) { var L, D = z["aria-label"], F = z["aria-labelledby"], I = z.title; switch (J) { case "img": return D || F || I ? d(d(d({}, "aria-labelledby", F), "aria-label", D), "title", I) : { "aria-label": (L = U, "".concat(L.replace(/([a-z])([A-Z])/g, "$1 $2"), " Icon")) }; case "presentation": return { "aria-hidden": !0, alt: "" }; } }(y, "ThumbsUp", d(d({ title: v }, "aria-label", w), "aria-labelledby", P)); return s.createElement("svg", u({ className: a.cx(d({}, M, E != null), W, l), height: typeof c == "number" ? c : k[c], width: typeof c == "number" ? c : k[c], role: y }, _, $, { viewBox: "0 0 16 16" }), s.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 O.displayName = "ThumbsUp", O.isGlyph = !0, O; }); })(Ge); var fr = Ge.exports; const br = /* @__PURE__ */ Re(fr); function mr(e) { var t = function(r, a) { if (typeof r != "object" || !r) return r; var o = r[Symbol.toPrimitive]; if (o !== void 0) { var s = o.call(r, a); if (typeof s != "object") return s; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(r); }(e, "string"); return typeof t == "symbol" ? t : t + ""; } function R(e, t, r) { return (t = mr(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Y() { return Y = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && (e[a] = r[a]); } return e; }, Y.apply(this, arguments); } function Ze(e, t) { if (e == null) return {}; var r, a, o = function(b, d) { if (b == null) return {}; var u, f, m = {}, p = Object.keys(b); for (f = 0; f < p.length; f++) u = p[f], d.indexOf(u) >= 0 || (m[u] = b[u]); return m; }(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (a = 0; a < s.length; a++) r = s[a], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r]); } return o; } function B(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); } function pr(e, t) { return function(r) { if (Array.isArray(r)) return r; }(e) || function(r, a) { var o = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"]; if (o != null) { var s, b, d, u, f = [], m = !0, p = !1; try { if (d = (o = o.call(r)).next, a !== 0) for (; !(m = (s = d.call(o)).done) && (f.push(s.value), f.length !== a); m = !0) ; } catch (j) { p = !0, b = j; } finally { try { if (!m && o.return != null && (u = o.return(), Object(u) !== u)) return; } finally { if (p) throw b; } } return f; } }(e, t) || function(r, a) { if (r) { if (typeof r == "string") return se(r, a); var o = Object.prototype.toString.call(r).slice(8, -1); if (o === "Object" && r.constructor && (o = r.constructor.name), o === "Map" || o === "Set") return Array.from(r); if (o === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)) return se(r, a); } }(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 se(e, t) { t > e.length && (t = e.length); for (var r = 0, a = new Array(t); r < t; r++) a[r] = e[r]; return a; } var ce, ue, de, fe, be, me, pe, ge, ye, ve, gr = R(R({}, G.Dark, x(ce || (ce = B([` border-color: `, `; background: `, `; &:hover { border-color: `, `; background: `, `; box-shadow: none; } `])), h.white, h.gray.light2, h.white, h.gray.light2)), G.Light, x(ue || (ue = B([` background: `, `; &:hover { background: `, `; // override default hover box-shadow: none; } &:focus-visible { box-shadow: none; } `])), h.black, h.black)), yr = x(de || (de = B([` overflow: hidden; // for ripple display: flex; height: 28px; justify-content: center; align-items: center; gap: 6px; flex-shrink: 0; align-self: stretch; border-radius: 6px; cursor: pointer; position: relative; z-index: 0; border: 1px solid; `]))), vr = R(R({}, G.Dark, x(fe || (fe = B([` border: 1px solid `, `; background: `, `; &:hover { box-shadow: `, `; background: `, `; } &:focus-visible { box-shadow: `, `; background: `, `; } `])), h.gray.dark1, h.gray.dark2, oe.dark.gray, h.gray.dark1, ie.dark.default, h.gray.dark1)), G.Light, x(be || (be = B([` border: 1px solid `, `; background: `, `; &:hover { box-shadow: `, `; } &:focus-visible { box-shadow: `, `; } `])), h.gray.dark1, h.gray.light3, oe.light.gray, ie.light.default)), hr = x(me || (me = B([` display: flex; justify-content: center; align-items: center; padding: 4px 12px; height: 100%; cursor: pointer; `]))); x(pe || (pe = B([` overflow: hidden; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 5px; `]))); var jr = ["id", "className", "name", "children", "darkMode", "checked"], re = Q(function(e, t) { var r = e.id, a = e.className, o = e.name, s = e.children, b = e.darkMode, d = e.checked, u = Ze(e, jr), f = Z(b).theme; return g.createElement("div", { className: K(yr, vr[f], R({}, gr[f], d), a), ref: t, tabIndex: 0 }, g.createElement("input", Y({ id: r, type: "radio", name: o, defaultChecked: d, "aria-checked": d, hidden: !0 }, u)), g.createElement("label", { htmlFor: r, className: hr }, s)); }); re.displayName = "RadioButton"; var xr = x(ge || (ge = B([` display: flex; align-items: center; gap: 12px; `]))), Or = x(ye || (ye = B([` display: flex; align-items: center; gap: 4px; `]))), he = function(e, t) { return e ? t ? h.black : h.gray.light2 : t ? h.gray.light3 : h.gray.dark1; }, je = x(ve || (ve = B([` display: none; `]))), wr = ["description", "className", "value", "onChange", "darkMode", "hideThumbsDown", "hideThumbsUp"], We = Q(function(e, t) { var r = e.description, a = r === void 0 ? "How was the response?" : r, o = e.className, s = e.value, b = e.onChange, d = e.darkMode, u = e.hideThumbsDown, f = e.hideThumbsUp, m = Ze(e, wr), p = s !== void 0, j = pr(ee(), 2), k = j[0], S = j[1], O = Z(d).darkMode, n = p ? s === "liked" : k === "liked", l = p ? s === "disliked" : k === "disliked", i = X({ prefix: "message-rating" }), c = function(v) { b(v), p || S(v.target.value); }; return g.createElement(ne, { darkMode: O }, g.createElement("div", Y({ className: K(xr, o) }, m, { ref: t }), g.createElement(Qe, null, a), g.createElement("div", { className: Or }, g.createElement(re, { id: "like-".concat(i), "aria-label": "Thumbs up this message", name: i, value: "liked", onChange: c, checked: n, className: K(R({}, je, f)) }, g.createElement(br, { fill: he(O, n) })), g.createElement(re, { id: "dislike-".concat(i), name: i, value: "disliked", "aria-label": "Thumbs down this message", onChange: c, checked: l, className: K(R({}, je, u)) }, g.createElement(dr, { fill: he(O, l) }))))); }); We.displayName = "MessageRating"; function xe(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); t && (a = a.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, a); } return r; } function Oe(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? xe(Object(r), !0).forEach(function(a) { Cr(e, a, r[a]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : xe(Object(r)).forEach(function(a) { Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(r, a)); }); } return e; } function kr(e) { var t = function(r, a) { if (typeof r != "object" || !r) return r; var o = r[Symbol.toPrimitive]; if (o !== void 0) { var s = o.call(r, a); if (typeof s != "object") return s; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(r); }(e, "string"); return typeof t == "symbol" ? t : t + ""; } function Cr(e, t, r) { return (t = kr(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function $r(e, t) { if (e == null) return {}; var r, a, o = function(b, d) { if (b == null) return {}; var u, f, m = {}, p = Object.keys(b); for (f = 0; f < p.length; f++) u = p[f], d.indexOf(u) >= 0 || (m[u] = b[u]); return m; }(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (a = 0; a < s.length; a++) r = s[a], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r]); } return o; } function _e(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); } function Pr(e, t) { return function(r) { if (Array.isArray(r)) return r; }(e) || function(r, a) { var o = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"]; if (o != null) { var s, b, d, u, f = [], m = !0, p = !1; try { if (d = (o = o.call(r)).next, a !== 0) for (; !(m = (s = d.call(o)).done) && (f.push(s.value), f.length !== a); m = !0) ; } catch (j) { p = !0, b = j; } finally { try { if (!m && o.return != null && (u = o.return(), Object(u) !== u)) return; } finally { if (p) throw b; } } return f; } }(e, t) || function(r, a) { if (r) { if (typeof r == "string") return we(r, a); var o = Object.prototype.toString.call(r).slice(8, -1); if (o === "Object" && r.constructor && (o = r.constructor.name), o === "Map" || o === "Set") return Array.from(r); if (o === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)) return we(r, a); } }(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 we(e, t) { t > e.length && (t = e.length); for (var r = 0, a = new Array(t); r < t; r++) a[r] = e[r]; return a; } var ke, Ce, Er = "lg-text_area", Sr = x(ke || (ke = _e([` height: auto; display: flex; padding: 0; `]))), Nr = x(Ce || (Ce = _e([` width: 100%; min-height: `, `px; display: flex; resize: none; padding: `, "px ", `px; `])), 64, A[200], A[300]), Mr = or, Tr = ["label", "description", "className", "errorMessage", "successMessage", "darkMode", "disabled", "state", "id", "value", "onChange", "onBlur", "handleValidation", "aria-label", "aria-labelledby", "aria-invalid", "baseFontSize", "data-lgid", "defaultValue"], Je = Q(function(e, t) { var r = e.label, a = e.description, o = e.className, s = e.errorMessage, b = s === void 0 ? "This input needs your attention" : s, d = e.successMessage, u = d === void 0 ? "Success" : d, f = e.darkMode, m = e.disabled, p = m !== void 0 && m, j = e.state, k = j === void 0 ? Mr.None : j, S = e.id, O = e.value, n = e.onChange, l = e.onBlur, i = e.handleValidation, c = e["aria-label"], v = e["aria-labelledby"], w = e["aria-invalid"], P = e.baseFontSize, E = e["data-lgid"], C = E === void 0 ? Er : E, y = e.defaultValue, $ = y === void 0 ? "" : y, M = $r(e, Tr), W = Xe(P), _ = X({ prefix: "textarea", id: S }), J = Z(f).darkMode, U = typeof O == "string", z = Pr(ee($), 2), L = z[0], D = z[1], F = U ? O : L, I = er(i); r || v || console.error("For screen-reader accessibility, label or aria-labelledby must be provided to TextArea."); var qe = Oe({ baseFontSize: W, className: o, darkMode: J, "data-lgid": C, description: a, disabled: p, errorMessage: b, id: _, label: r, state: k, successMessage: u }, { "aria-invalid": w, "aria-label": c, "aria-labelledby": v }), Ke = Oe({ className: Nr, onBlur: function(H) { l && l(H), I.onBlur(H); }, onChange: function(H) { n && n(H), U || D(H.target.value), I.onChange(H); }, ref: t, title: r ?? void 0, value: F }, M); return g.createElement(nr, qe, g.createElement(ar, { className: Sr }, g.createElement("textarea", Ke))); }); Je.displayName = "TextArea"; function zr(e) { var t = function(r, a) { if (typeof r != "object" || !r) return r; var o = r[Symbol.toPrimitive]; if (o !== void 0) { var s = o.call(r, a); if (typeof s != "object") return s; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(r); }(e, "string"); return typeof t == "symbol" ? t : t + ""; } function $e(e, t, r) { return (t = zr(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function V() { return V = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && (e[a] = r[a]); } return e; }, V.apply(this, arguments); } function Br(e, t) { if (e == null) return {}; var r, a, o = function(b, d) { if (b == null) return {}; var u, f, m = {}, p = Object.keys(b); for (f = 0; f < p.length; f++) u = p[f], d.indexOf(u) >= 0 || (m[u] = b[u]); return m; }(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (a = 0; a < s.length; a++) r = s[a], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r]); } return o; } function T(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); } function Ar(e, t) { return function(r) { if (Array.isArray(r)) return r; }(e) || function(r, a) { var o = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"]; if (o != null) { var s, b, d, u, f = [], m = !0, p = !1; try { if (d = (o = o.call(r)).next, a !== 0) for (; !(m = (s = d.call(o)).done) && (f.push(s.value), f.length !== a); m = !0) ; } catch (j) { p = !0, b = j; } finally { try { if (!m && o.return != null && (u = o.return(), Object(u) !== u)) return; } finally { if (p) throw b; } } return f; } }(e, t) || function(r, a) { if (r) { if (typeof r == "string") return Pe(r, a); var o = Object.prototype.toString.call(r).slice(8, -1); if (o === "Object" && r.constructor && (o = r.constructor.name), o === "Map" || o === "Set") return Array.from(r); if (o === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)) return Pe(r, a); } }(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 Pe(e, t) { t > e.length && (t = e.length); for (var r = 0, a = new Array(t); r < t; r++) a[r] = e[r]; return a; } var Ee, Se, Ne, Me, Te, ze, Be, Ae, Ie, Le, De, Ir = x(Ee || (Ee = T([` display: flex; gap: `, `px; align-items: center; `])), A[1]), Lr = x(Se || (Se = T([` color: `, `; `])), h.gray.dark1), Dr = function(e) { var t = e.submittedMessage; return g.createElement("div", { className: Ir }, g.createElement(ir, { color: h.green.dark1 }), g.createElement(te, { className: Lr }, t)); }, Fr = x(Ne || (Ne = T([` width: 100%; `]))), Rr = x(Me || (Me = T([` display: flex; justify-content: end; `]))), Ur = x(Te || (Te = T([` flex: 1; padding-top: 3px; // to match icon button padding `]))), Hr = x(ze || (ze = T([` margin-top: `, `px; `])), A[100]), Vr = x(Be || (Be = T([` margin-top: `, `px; display: flex; gap: `, `px; justify-content: end; `])), A[200], A[2]), ae = Q(function(e, t) { var r = e.label, a = e.cancelButtonText, o = a === void 0 ? "Cancel" : a, s = e.onCancel, b = e.cancelButtonProps, d = e.submitButtonText, u = d === void 0 ? "Submit" : d, f = e.submitButtonProps, m = e.isSubmitted, p = e.submittedMessage, j = p === void 0 ? "Submitted! Thanks for your feedback." : p, k = e.onSubmit, S = e.darkMode, O = e.onClose, n = e.textareaProps, l = Z(S).darkMode, i = X({ prefix: "lg-chat-imf-input" }), c = X({ prefix: "lg-chat-imf-label" }), v = Ue(null), w = function() { var y, $; return ((n == null ? void 0 : n.value) === void 0 || (n == null ? void 0 : n.value.length) < 1) && ((v == null || (y = v.current) === null || y === void 0 ? void 0 : y.value) === void 0 || (v == null || ($ = v.current) === null || $ === void 0 ? void 0 : $.value.length) < 1); }, P = Ar(ee(w()), 2), E = P[0], C = P[1]; return g.createElement(ne, { darkMode: l }, g.createElement("div", { ref: t }, m ? g.createElement(Dr, { submittedMessage: j }) : g.createElement("form", { className: Fr, onSubmit: function(y) { y.preventDefault(), k == null || k(y); } }, g.createElement("div", { className: Rr }, g.createElement(Ye, { id: c, className: Ur }, r), O && g.createElement(tr, { "aria-label": "Close feedback window", onClick: O }, g.createElement(rr, null))), g.createElement(Je, V({ id: i, "aria-labelledby": c, autoFocus: !0, className: Hr }, n, { ref: function(y) { n != null && n.ref && (n.ref.current = y), v.current = y; }, onChange: function(y) { var $; C(w()), n == null || ($ = n.onChange) === null || $ === void 0 || $.call(n, y); } })), g.createElement("div", { className: Vr }, g.createElement(le, V({ type: "button", variant: "default", size: "small", onClick: s }, b), o), g.createElement(le, V({ type: "submit", variant: "primary", size: "small", disabled: !!E }, f), u))))); }); ae.displayName = "InlineMessageFeedback"; var Gr = x(Ae || (Ae = T([` width: 372px; border-radius: 16px; border: 1px solid; `]))), Zr = x(Ie || (Ie = T([` padding: `, `px; `])), A[3]), Wr = $e($e({}, G.Dark, x(Le || (Le = T([` background-color: `, `; border-color: `, `; `])), h.gray.dark3, h.gray.dark2)), G.Light, x(De || (De = T([` background-color: `, `; border-color: `, `; `])), h.black, h.black)), _r = ["darkMode", "cancelButtonText", "onCancel", "cancelButtonProps", "submitButtonText", "submitButtonProps", "onSubmit", "textareaProps", "onClose", "label"], Jr = Q(function(e, t) { var r = e.darkMode, a = e.cancelButtonText, o = e.onCancel, s = e.cancelButtonProps, b = e.submitButtonText, d = e.submitButtonProps, u = e.onSubmit, f = e.textareaProps, m = e.onClose, p = e.label, j = Br(e, _r), k = Z(r).theme; return g.createElement(ne, { darkMode: !0 }, g.createElement(sr, V({ ref: t, spacing: A[3] }, j, { className: K(Gr, Wr[k]) }), g.createElement("div", { className: Zr }, g.createElement(ae, { cancelButtonText: a, onCancel: o, cancelButtonProps: s, submitButtonText: b, submitButtonProps: d, onSubmit: u, textareaProps: f, onClose: m, label: p })))); }); Jr.displayName = "PopoverMessageFeedback"; function vt(e) { const { submit: t, abandon: r, status: a, errorMessage: o, maxCommentCharacterCount: s, messageRatingProps: b } = e, d = b.value !== void 0, u = Ue(null), f = a === "submitted", [m, p] = ee(0), j = s ? m > s : !1; return /* @__PURE__ */ N.jsxs( "div", { className: q` & > div + div { margin-top: 0.5rem; } `, children: [ /* @__PURE__ */ N.jsx(We, { ...b }), d && a !== "abandoned" ? /* @__PURE__ */ N.jsxs(N.Fragment, { children: [ /* @__PURE__ */ N.jsx( ae, { ref: u, cancelButtonText: "Cancel", onCancel: () => r(), submitButtonText: "Submit", onSubmit: async (k) => { const O = k.target.querySelector("textarea"); j || await t((O == null ? void 0 : O.value) ?? ""); }, textareaProps: { onChange: (k) => { const S = k.target; p(S.value.length); }, // @ts-expect-error Hacky fix for https://jira.mongodb.org/browse/LG-3964 label: b.value === "liked" ? "Provide additional feedback here. What did you like about this response?" : "Provide additional feedback here. How can we improve?" }, isSubmitted: f, submittedMessage: "Submitted! Thank you for your feedback." } ), s && a !== "submitted" ? /* @__PURE__ */ N.jsxs( "div", { className: q` margin-top: -2rem !important; display: flex; flex-direction: row; gap: 0.5rem; `, children: [ /* @__PURE__ */ N.jsx( cr, { current: m, max: s } ), j ? /* @__PURE__ */ N.jsx( te, { className: q` color: ${h.red.base}; `, children: `Message must contain ${s} characters or fewer` } ) : null ] } ) : null, o ? /* @__PURE__ */ N.jsx(qr, { errorMessage: o }) : null ] }) : null ] } ); } function qr({ errorMessage: e }) { const { darkMode: t } = Z(); return /* @__PURE__ */ N.jsxs( "div", { className: q` display: flex; gap: ${A[100]}px; align-items: center; `, children: [ /* @__PURE__ */ N.jsx(lr, { color: h.red.base }), /* @__PURE__ */ N.jsx( te, { className: q` color: ${t ? h.gray.light1 : h.gray.dark2}; `, children: e } ) ] } ); } export { qr as InlineMessageFeedbackErrorState, vt as MessageRatingWithFeedbackComment };