mongodb-chatbot-ui
Version:
UI React components for the MongoDB Chatbot Framework
286 lines (282 loc) • 12.6 kB
JavaScript
import { c as se, g as fe, j as me } from "./jsx-runtime.js";
import { r as de, m as x, b as X, F as C, j as q, T as B, v as I, Q as D, d as ee, n as re, Y as pe } from "./index2.js";
import b, { forwardRef as te, useRef as be, useState as ge } from "react";
import { t as ve } from "./index4.js";
import { q as ye } from "./index13.js";
import { r as he } from "./ChevronDown.js";
import { z as Ce, k as xe, Z as Oe, a as je } from "./index11.js";
import { s as we, a as ke } from "./Transition.js";
import { useChatbotContext as Ee } from "./useChatbotContext.js";
import "./OpenNewTab.js";
import "./index5.js";
import "./index14.js";
import "./index15.js";
import "./index10.js";
import "./index6.js";
import "./X.js";
import "./index8.js";
import "./index9.js";
import "react-dom";
import "./ChatbotProvider.js";
var ne = { exports: {} };
(function(e, a) {
(function(r, t) {
e.exports = t(b, de);
})(se, function(r, t) {
function o(n) {
if (n && typeof n == "object" && "default" in n)
return n;
var c = /* @__PURE__ */ Object.create(null);
return n && Object.keys(n).forEach(function(s) {
if (s !== "default") {
var u = Object.getOwnPropertyDescriptor(n, s);
Object.defineProperty(c, s, u.get ? u : { enumerable: !0, get: function() {
return n[s];
} });
}
}), c.default = n, Object.freeze(c);
}
var i = o(r);
function l(n, c, s) {
return (c = function(u) {
var j = function(g, N) {
if (typeof g != "object" || !g)
return g;
var d = g[Symbol.toPrimitive];
if (d !== void 0) {
var w = d.call(g, N);
if (typeof w != "object")
return w;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(g);
}(u, "string");
return typeof j == "symbol" ? j : j + "";
}(c)) in n ? Object.defineProperty(n, c, { value: s, enumerable: !0, configurable: !0, writable: !0 }) : n[c] = s, n;
}
function f() {
return f = Object.assign ? Object.assign.bind() : function(n) {
for (var c = 1; c < arguments.length; c++) {
var s = arguments[c];
for (var u in s)
({}).hasOwnProperty.call(s, u) && (n[u] = s[u]);
}
return n;
}, f.apply(null, arguments);
}
function m(n, c) {
return c || (c = n.slice(0)), Object.freeze(Object.defineProperties(n, { raw: { value: Object.freeze(c) } }));
}
var p, h, v = { small: 14, default: 16, large: 20, xlarge: 24 }, P = ["className", "size", "title", "aria-label", "aria-labelledby", "fill", "role"], S = function(n) {
var c = n.className, s = n.size, u = s === void 0 ? 16 : s, j = n.title, g = n["aria-label"], N = n["aria-labelledby"], d = n.fill, w = n.role, R = w === void 0 ? "img" : w, oe = function(k, M) {
if (k == null)
return {};
var y, E, T = function(L, ue) {
if (L == null)
return {};
var Z = {};
for (var A in L)
if ({}.hasOwnProperty.call(L, A)) {
if (ue.indexOf(A) !== -1)
continue;
Z[A] = L[A];
}
return Z;
}(k, M);
if (Object.getOwnPropertySymbols) {
var $ = Object.getOwnPropertySymbols(k);
for (E = 0; E < $.length; E++)
y = $[E], M.indexOf(y) === -1 && {}.propertyIsEnumerable.call(k, y) && (T[y] = k[y]);
}
return T;
}(n, P), ie = t.css(p || (p = m([`
color: `, `;
`])), d), le = t.css(h || (h = m([`
flex-shrink: 0;
`]))), ce = function(k, M, y) {
var E, T = y["aria-label"], $ = y["aria-labelledby"], L = y.title;
switch (k) {
case "img":
return T || $ || L ? l(l(l({}, "aria-labelledby", $), "aria-label", T), "title", L) : { "aria-label": (E = M, "".concat(E.replace(/([a-z])([A-Z])/g, "$1 $2"), " Icon")) };
case "presentation":
return { "aria-hidden": !0, alt: "" };
}
}(R, "Sparkle", l(l({ title: j }, "aria-label", g), "aria-labelledby", N));
return i.createElement("svg", f({ className: t.cx(l({}, ie, d != null), le, c), height: typeof u == "number" ? u : v[u], width: typeof u == "number" ? u : v[u], role: R }, ce, oe, { viewBox: "0 0 16 16" }), i.createElement("path", { d: "M6.27334 2.89343L5.27501 5.88842C5.1749 6.18877 4.93922 6.42445 4.63887 6.52456L1.64388 7.52289C1.18537 7.67573 1.18537 8.32427 1.64388 8.47711L4.63887 9.47544C4.93922 9.57555 5.1749 9.81123 5.27501 10.1116L6.27334 13.1066C6.42618 13.5651 7.07472 13.5651 7.22756 13.1066L8.22589 10.1116C8.326 9.81123 8.56168 9.57555 8.86203 9.47544L11.857 8.47711C12.3155 8.32427 12.3155 7.67573 11.857 7.52289L8.86203 6.52456C8.56168 6.42445 8.326 6.18877 8.22589 5.88842L7.22756 2.89343C7.07472 2.43492 6.42618 2.43492 6.27334 2.89343Z", fill: "currentColor" }), i.createElement("path", { d: "M12.5469 1.17194L12.3158 1.8651C12.2157 2.16545 11.98 2.40113 11.6797 2.50125L10.9865 2.7323C10.7573 2.80872 10.7573 3.13299 10.9865 3.20941L11.6797 3.44046C11.98 3.54058 12.2157 3.77626 12.3158 4.0766L12.5469 4.76977C12.6233 4.99902 12.9476 4.99902 13.024 4.76977L13.255 4.0766C13.3552 3.77626 13.5908 3.54058 13.8912 3.44046L14.5843 3.20941C14.8136 3.13299 14.8136 2.80872 14.5843 2.7323L13.8912 2.50125C13.5908 2.40113 13.3552 2.16545 13.255 1.8651L13.024 1.17194C12.9476 0.942687 12.6233 0.942687 12.5469 1.17194Z", fill: "currentColor" }), i.createElement("path", { d: "M12.5469 11.2302L12.3158 11.9234C12.2157 12.2237 11.98 12.4594 11.6797 12.5595L10.9865 12.7906C10.7573 12.867 10.7573 13.1913 10.9865 13.2677L11.6797 13.4988C11.98 13.5989 12.2157 13.8346 12.3158 14.1349L12.5469 14.8281C12.6233 15.0573 12.9476 15.0573 13.024 14.8281L13.255 14.1349C13.3552 13.8346 13.5908 13.5989 13.8912 13.4988L14.5843 13.2677C14.8136 13.1913 14.8136 12.867 14.5843 12.7906L13.8912 12.5595C13.5908 12.4594 13.3552 12.2237 13.255 11.9234L13.024 11.2302C12.9476 11.001 12.6233 11.001 12.5469 11.2302Z", fill: "currentColor" }));
};
return S.displayName = "Sparkle", S.isGlyph = !0, S;
});
})(ne);
var Le = ne.exports;
const Pe = /* @__PURE__ */ fe(Le);
function G(e, a) {
a > e.length && (a = e.length);
for (var r = 0, t = Array(a); r < a; r++)
t[r] = e[r];
return t;
}
function U(e, a, r) {
return (a = function(t) {
var o = function(i, l) {
if (typeof i != "object" || !i)
return i;
var f = i[Symbol.toPrimitive];
if (f !== void 0) {
var m = f.call(i, l);
if (typeof m != "object")
return m;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return String(i);
}(t, "string");
return typeof o == "symbol" ? o : o + "";
}(a)) in e ? Object.defineProperty(e, a, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = r, e;
}
function z() {
return z = Object.assign ? Object.assign.bind() : function(e) {
for (var a = 1; a < arguments.length; a++) {
var r = arguments[a];
for (var t in r)
({}).hasOwnProperty.call(r, t) && (e[t] = r[t]);
}
return e;
}, z.apply(null, arguments);
}
function ae(e, a) {
if (e == null)
return {};
var r, t, o = function(l, f) {
if (l == null)
return {};
var m = {};
for (var p in l)
if ({}.hasOwnProperty.call(l, p)) {
if (f.indexOf(p) !== -1)
continue;
m[p] = l[p];
}
return m;
}(e, a);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (t = 0; t < i.length; t++)
r = i[t], a.indexOf(r) === -1 && {}.propertyIsEnumerable.call(e, r) && (o[r] = e[r]);
}
return o;
}
function Se(e, a) {
return function(r) {
if (Array.isArray(r))
return r;
}(e) || function(r, t) {
var o = r == null ? null : typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"];
if (o != null) {
var i, l, f, m, p = [], h = !0, v = !1;
try {
if (f = (o = o.call(r)).next, t !== 0)
for (; !(h = (i = f.call(o)).done) && (p.push(i.value), p.length !== t); h = !0)
;
} catch (P) {
v = !0, l = P;
} finally {
try {
if (!h && o.return != null && (m = o.return(), Object(m) !== m))
return;
} finally {
if (v)
throw l;
}
}
return p;
}
}(e, a) || function(r, t) {
if (r) {
if (typeof r == "string")
return G(r, t);
var o = {}.toString.call(r).slice(8, -1);
return o === "Object" && r.constructor && (o = r.constructor.name), o === "Map" || o === "Set" ? Array.from(r) : o === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o) ? G(r, t) : void 0;
}
}(e, a) || 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 O(e, a) {
return a || (a = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(a) } }));
}
var W, _, H, J, K, Q, Y, V, Ne = x(W || (W = O([`
border-radius: 40px;
padding: 0px;
outline: none;
border-style: solid;
cursor: pointer;
transition: box-shadow `, `ms ease-in-out;
`])), X.slower), Te = U(U({}, I.Dark, x(_ || (_ = O([`
border-color: `, `;
background-color: `, `;
color: `, `;
&:hover {
box-shadow: `, `;
}
&:focus-visible {
box-shadow: `, `;
}
`])), C.green.dark1, C.black, C.green.light1, q.dark.green, B.dark.default)), I.Light, x(H || (H = O([`
border-color: `, `;
background-color: `, `;
color: `, `;
&:hover {
box-shadow: `, `;
}
&:focus-visible {
box-shadow: `, `;
}
`])), C.green.dark1, C.white, C.green.dark2, q.light.green, B.light.default)), $e = x(J || (J = O([`
display: flex;
gap: `, `px;
align-items: center;
padding: 12px `, `px;
`])), D[2], D[3]), ze = x(K || (K = O([`
color: inherit;
`]))), Me = ["className", "children", "darkMode"], F = te(function(e, a) {
var r = e.className, t = e.children, o = e.darkMode, i = ae(e, Me), l = ee(o).theme;
return b.createElement("button", z({ className: re(Ne, Te[l], r) }, i, { ref: a }), b.createElement("div", { className: $e }, b.createElement(Pe, { fill: l === I.Light ? C.green.dark1 : C.green.light1 }), t && b.createElement(ve, { baseFontSize: pe.Body1, className: ze }, b.createElement("b", null, t))));
});
F.displayName = "ChatTrigger";
var Ae = x(Q || (Q = O([`
position: relative;
`]))), Ie = x(Y || (Y = O([`
transition: all `, `ms ease-in-out;
transform-origin: bottom right;
min-width: 360px;
width: 360px;
`])), X.default), Fe = x(V || (V = O([`
border-radius: 24px;
`]))), Re = ["className", "children", "defaultOpen", "darkMode", "trigger", "badgeText", "triggerText", "title", "open", "onTriggerClick", "onClose", "popoverProps"], Ze = te(function(e, a) {
var r = e.className, t = e.children, o = e.defaultOpen, i = o !== void 0 && o, l = e.darkMode, f = e.trigger, m = e.badgeText, p = e.triggerText, h = e.title, v = e.open, P = e.onTriggerClick, S = e.onClose, n = e.popoverProps, c = ae(e, Re), s = be(null), u = Se(ge(i), 2), j = u[0], g = u[1], N = function(d) {
v === void 0 && g(!1), S == null || S(d);
};
return b.createElement("div", z({ ref: a }, c, { className: re(Ae, r) }), f ?? b.createElement(F, { onClick: function(d) {
v === void 0 && g(function(w) {
return !w;
}), P == null || P(d);
} }, p), b.createElement(Ce, z({ justify: xe.End, align: Oe.Top, renderMode: je.Portal }, n, { active: v ?? j }), b.createElement(we, { nodeRef: s, in: !0, timeout: 100 }, function(d) {
return b.createElement("div", { ref: s, className: Ie, style: { transform: d === "entering" || d === "entered" ? "scale(1)" : "scale(0)", opacity: d === "entering" || d === "entered" ? 1 : 0 } }, b.createElement(ye, { darkMode: l, badgeText: m, className: Fe, title: h, onClose: N, iconSlot: b.createElement(he, null) }, t));
})));
});
Ze.displayName = "FixedChatWindow";
function ir(e) {
const { darkMode: a } = ee(e.darkMode), { chatbotName: r, openChat: t } = Ee(), { className: o, text: i } = e, l = i ?? `Ask ${r ?? "the Chatbot"}`;
return /* @__PURE__ */ me.jsx(
F,
{
className: ke(o),
darkMode: a,
onClick: t,
children: l
}
);
}
export {
ir as ActionButtonTrigger
};