@foisit/vue-wrapper 2.4.2 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -3
- package/index.mjs +56 -52
- package/package.json +16 -6
package/README.md
CHANGED
|
@@ -562,8 +562,6 @@ onMounted(() => {
|
|
|
562
562
|
### Full Type Definitions
|
|
563
563
|
|
|
564
564
|
```typescript
|
|
565
|
-
import type { AssistantCommand, InteractiveResponse } from '@foisit/core';
|
|
566
|
-
|
|
567
565
|
// Type-safe command definition
|
|
568
566
|
const myCommand: AssistantCommand = {
|
|
569
567
|
command: 'update settings',
|
|
@@ -674,7 +672,6 @@ test('renders assistant', () => {
|
|
|
674
672
|
|
|
675
673
|
## Related Packages
|
|
676
674
|
|
|
677
|
-
- **[@foisit/core](../core)** - Core engine (auto-installed)
|
|
678
675
|
- **[@foisit/angular-wrapper](../angular-wrapper)** - Angular integration
|
|
679
676
|
- **[@foisit/react-wrapper](../react-wrapper)** - React integration
|
|
680
677
|
|
package/index.mjs
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
6
|
-
const ie = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {}, qe = process.env.NODE_ENV !== "production" ? Object.freeze([]) : [],
|
|
6
|
+
const ie = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {}, qe = process.env.NODE_ENV !== "production" ? Object.freeze([]) : [], we = () => {
|
|
7
7
|
}, ze = (t) => t.charCodeAt(0) === 111 && t.charCodeAt(1) === 110 && // uppercase letter
|
|
8
|
-
(t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97), z = Object.assign, k = Array.isArray, R = (t) => typeof t == "function", T = (t) => typeof t == "string",
|
|
8
|
+
(t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97), z = Object.assign, k = Array.isArray, R = (t) => typeof t == "function", T = (t) => typeof t == "string", ve = (t) => typeof t == "symbol", O = (t) => t !== null && typeof t == "object";
|
|
9
9
|
let me;
|
|
10
10
|
const Q = () => me || (me = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {});
|
|
11
11
|
function ae(t) {
|
|
@@ -21,12 +21,12 @@ function ae(t) {
|
|
|
21
21
|
} else if (T(t) || O(t))
|
|
22
22
|
return t;
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const Be = /;(?![^(]*\))/g, Ue = /:([^]+)/, We = /\/\*[^]*?\*\//g;
|
|
25
25
|
function je(t) {
|
|
26
26
|
const e = {};
|
|
27
|
-
return t.replace(We, "").split(
|
|
27
|
+
return t.replace(We, "").split(Be).forEach((n) => {
|
|
28
28
|
if (n) {
|
|
29
|
-
const i = n.split(
|
|
29
|
+
const i = n.split(Ue);
|
|
30
30
|
i.length > 1 && (e[i[0].trim()] = i[1].trim());
|
|
31
31
|
}
|
|
32
32
|
}), e;
|
|
@@ -54,7 +54,7 @@ process.env.NODE_ENV;
|
|
|
54
54
|
process.env.NODE_ENV;
|
|
55
55
|
process.env.NODE_ENV;
|
|
56
56
|
new Set(
|
|
57
|
-
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((t) => t !== "arguments" && t !== "caller").map((t) => Symbol[t]).filter(
|
|
57
|
+
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((t) => t !== "arguments" && t !== "caller").map((t) => Symbol[t]).filter(ve)
|
|
58
58
|
);
|
|
59
59
|
function xe(t) {
|
|
60
60
|
return se(t) ? xe(t.__v_raw) : !!(t && t.__v_isReactive);
|
|
@@ -282,7 +282,7 @@ function ot(t) {
|
|
|
282
282
|
const H = (t) => t.id == null ? t.flags & 2 ? -1 : 1 / 0 : t.id;
|
|
283
283
|
function _e(t) {
|
|
284
284
|
process.env.NODE_ENV !== "production" && (t = t || /* @__PURE__ */ new Map());
|
|
285
|
-
const e = process.env.NODE_ENV !== "production" ? (n) => Ie(t, n) :
|
|
285
|
+
const e = process.env.NODE_ENV !== "production" ? (n) => Ie(t, n) : we;
|
|
286
286
|
try {
|
|
287
287
|
for (I = 0; I < C.length; I++) {
|
|
288
288
|
const n = C[I];
|
|
@@ -437,7 +437,7 @@ function gt(t, e, n = {}, i, s) {
|
|
|
437
437
|
r && r.key, c = ge(
|
|
438
438
|
q,
|
|
439
439
|
{
|
|
440
|
-
key: (a && !
|
|
440
|
+
key: (a && !ve(a) ? a : `_${e}`) + // #7256 force differentiate fallback content from actual content
|
|
441
441
|
(!r && i ? "_fb" : "")
|
|
442
442
|
},
|
|
443
443
|
r || [],
|
|
@@ -453,7 +453,7 @@ process.env.NODE_ENV !== "production" && (yt.ownKeys = (t) => (_(
|
|
|
453
453
|
"Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."
|
|
454
454
|
), Reflect.ownKeys(t)));
|
|
455
455
|
let bt = null;
|
|
456
|
-
const
|
|
456
|
+
const wt = {}, Le = (t) => Object.getPrototypeOf(t) === wt, vt = (t) => t.__isSuspense, q = /* @__PURE__ */ Symbol.for("v-fgt"), xt = /* @__PURE__ */ Symbol.for("v-txt"), Te = /* @__PURE__ */ Symbol.for("v-cmt"), K = [];
|
|
457
457
|
let E = null;
|
|
458
458
|
function pe(t = !1) {
|
|
459
459
|
K.push(E = t ? null : []);
|
|
@@ -542,7 +542,7 @@ function Pe(t, e = null, n = null, i = 0, s = null, o = !1) {
|
|
|
542
542
|
let { class: a, style: c } = e;
|
|
543
543
|
a && !T(a) && (e.class = le(a)), O(c) && (oe(c) && !k(c) && (c = z({}, c)), e.style = ae(c));
|
|
544
544
|
}
|
|
545
|
-
const r = T(t) ? 1 :
|
|
545
|
+
const r = T(t) ? 1 : vt(t) ? 128 : ft(t) ? 64 : O(t) ? 4 : R(t) ? 2 : 0;
|
|
546
546
|
return process.env.NODE_ENV !== "production" && r & 4 && oe(t) && (t = M(t), _(
|
|
547
547
|
"Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.",
|
|
548
548
|
`
|
|
@@ -926,7 +926,7 @@ class Mt {
|
|
|
926
926
|
const c = this.getCommandById(r);
|
|
927
927
|
return c ? this.safeRunAction(c, a) : { message: "That action is no longer available.", type: "error" };
|
|
928
928
|
}
|
|
929
|
-
return ["no", "n", "cancel", "stop"].includes(o) ? (this.pendingConfirmation = null, { message: "
|
|
929
|
+
return ["no", "n", "cancel", "stop"].includes(o) ? (this.pendingConfirmation = null, { message: "Cancelled.", type: "success" }) : {
|
|
930
930
|
message: "Please confirm: Yes or No.",
|
|
931
931
|
type: "confirm",
|
|
932
932
|
options: [
|
|
@@ -1065,7 +1065,7 @@ class Mt {
|
|
|
1065
1065
|
}
|
|
1066
1066
|
buildConfirmResponse(e) {
|
|
1067
1067
|
return {
|
|
1068
|
-
message:
|
|
1068
|
+
message: `Are you sure you want to run "${e.command}"?`,
|
|
1069
1069
|
type: "confirm",
|
|
1070
1070
|
options: [
|
|
1071
1071
|
{ label: "Yes", value: "yes" },
|
|
@@ -1170,19 +1170,19 @@ class Mt {
|
|
|
1170
1170
|
}
|
|
1171
1171
|
class He {
|
|
1172
1172
|
constructor() {
|
|
1173
|
-
this.synth = window.speechSynthesis;
|
|
1173
|
+
this.synth = typeof window < "u" ? window.speechSynthesis : null;
|
|
1174
1174
|
}
|
|
1175
1175
|
speak(e, n) {
|
|
1176
1176
|
if (!this.synth) {
|
|
1177
|
-
console.error("SpeechSynthesis API is not supported in this
|
|
1177
|
+
console.error("SpeechSynthesis API is not supported in this environment.");
|
|
1178
1178
|
return;
|
|
1179
1179
|
}
|
|
1180
1180
|
const i = new SpeechSynthesisUtterance(e);
|
|
1181
|
-
n && (i.pitch = n.pitch || 1, i.rate = n.rate || 1, i.volume = n.volume || 1), i.onstart = () => {
|
|
1181
|
+
n && (i.pitch = n.pitch || 1, i.rate = n.rate || 1, i.volume = n.volume || 1), typeof window < "u" && (i.onstart = () => {
|
|
1182
1182
|
window.dispatchEvent(new CustomEvent("foisit:tts-start"));
|
|
1183
1183
|
}, i.onend = () => {
|
|
1184
1184
|
console.log("Speech finished."), window.dispatchEvent(new CustomEvent("foisit:tts-end"));
|
|
1185
|
-
}, i.onerror = (s) => {
|
|
1185
|
+
}), i.onerror = (s) => {
|
|
1186
1186
|
console.error("Error during speech synthesis:", s.error);
|
|
1187
1187
|
}, this.synth.speak(i);
|
|
1188
1188
|
}
|
|
@@ -1205,6 +1205,7 @@ class Pt {
|
|
|
1205
1205
|
}
|
|
1206
1206
|
}
|
|
1207
1207
|
const be = () => {
|
|
1208
|
+
if (typeof window > "u") return null;
|
|
1208
1209
|
const t = window;
|
|
1209
1210
|
return t.SpeechRecognition ?? t.webkitSpeechRecognition ?? null;
|
|
1210
1211
|
};
|
|
@@ -1230,16 +1231,16 @@ class Vt {
|
|
|
1230
1231
|
s.onaudiostart = () => this.log("onaudiostart"), s.onsoundstart = () => this.log("onsoundstart"), s.onspeechstart = () => this.log("onspeechstart"), s.onspeechend = () => this.log("onspeechend"), s.onsoundend = () => this.log("onsoundend"), s.onaudioend = () => this.log("onaudioend"), this.recognition.onerror = (o) => this.handleError(o);
|
|
1231
1232
|
} else
|
|
1232
1233
|
this.recognition = null, this.emitStatus("unsupported");
|
|
1233
|
-
window.addEventListener("foisit:tts-start", this.onTTSStart), window.addEventListener("foisit:tts-end", this.onTTSEnd), this.visibilityHandler = () => {
|
|
1234
|
+
typeof window < "u" ? (window.addEventListener("foisit:tts-start", this.onTTSStart), window.addEventListener("foisit:tts-end", this.onTTSEnd), this.visibilityHandler = () => {
|
|
1234
1235
|
var s;
|
|
1235
|
-
if (document.hidden) {
|
|
1236
|
+
if (typeof document < "u" && document.hidden) {
|
|
1236
1237
|
try {
|
|
1237
1238
|
(s = this.recognition) == null || s.stop();
|
|
1238
1239
|
} catch {
|
|
1239
1240
|
}
|
|
1240
1241
|
this.emitStatus(this.ttsSpeaking ? "speaking" : "idle");
|
|
1241
1242
|
} else this.isListening && !this.ttsSpeaking && this.safeRestart();
|
|
1242
|
-
}, document.addEventListener("visibilitychange", this.visibilityHandler);
|
|
1243
|
+
}, typeof document < "u" && document.addEventListener("visibilitychange", this.visibilityHandler)) : this.visibilityHandler = void 0;
|
|
1243
1244
|
}
|
|
1244
1245
|
// Debug logger helpers
|
|
1245
1246
|
log(e) {
|
|
@@ -1445,7 +1446,10 @@ function Ht() {
|
|
|
1445
1446
|
const t = document.querySelector("#gradient-indicator");
|
|
1446
1447
|
t && (t.remove(), console.log("Gradient indicator removed from the DOM"));
|
|
1447
1448
|
}
|
|
1448
|
-
|
|
1449
|
+
function qt() {
|
|
1450
|
+
return typeof window < "u" && typeof document < "u";
|
|
1451
|
+
}
|
|
1452
|
+
class zt {
|
|
1449
1453
|
constructor() {
|
|
1450
1454
|
this.state = "idle", this.subscribers = [];
|
|
1451
1455
|
}
|
|
@@ -1463,9 +1467,9 @@ class qt {
|
|
|
1463
1467
|
this.subscribers.forEach((e) => e(this.state));
|
|
1464
1468
|
}
|
|
1465
1469
|
}
|
|
1466
|
-
class
|
|
1470
|
+
class Bt {
|
|
1467
1471
|
constructor(e) {
|
|
1468
|
-
this.container = null, this.chatWindow = null, this.messagesContainer = null, this.input = null, this.isOpen = !1, this.loadingEl = null, this.config = e, this.init();
|
|
1472
|
+
this.container = null, this.chatWindow = null, this.messagesContainer = null, this.input = null, this.isOpen = !1, this.loadingEl = null, this.active = qt(), this.config = e, this.active && this.init();
|
|
1469
1473
|
}
|
|
1470
1474
|
init() {
|
|
1471
1475
|
var n, i;
|
|
@@ -1505,17 +1509,17 @@ class zt {
|
|
|
1505
1509
|
}), s.appendChild(this.input), this.chatWindow.appendChild(e), this.chatWindow.appendChild(this.messagesContainer), this.chatWindow.appendChild(s), (o = this.container) == null || o.appendChild(this.chatWindow);
|
|
1506
1510
|
}
|
|
1507
1511
|
registerCallbacks(e, n) {
|
|
1508
|
-
this.onSubmit = e, this.onClose = n;
|
|
1512
|
+
this.active && (this.onSubmit = e, this.onClose = n);
|
|
1509
1513
|
}
|
|
1510
1514
|
toggle(e, n) {
|
|
1511
|
-
e && (this.onSubmit = e), n && (this.onClose = n), this.isOpen = !this.isOpen, this.chatWindow && (this.isOpen ? (this.chatWindow.style.display = "flex", requestAnimationFrame(() => {
|
|
1515
|
+
this.active && (e && (this.onSubmit = e), n && (this.onClose = n), this.isOpen = !this.isOpen, this.chatWindow && (this.isOpen ? (this.chatWindow.style.display = "flex", requestAnimationFrame(() => {
|
|
1512
1516
|
this.chatWindow && (this.chatWindow.style.opacity = "1", this.chatWindow.style.transform = "translateY(0) scale(1)");
|
|
1513
1517
|
}), setTimeout(() => {
|
|
1514
1518
|
var i;
|
|
1515
1519
|
return (i = this.input) == null ? void 0 : i.focus();
|
|
1516
1520
|
}, 100)) : (this.chatWindow.style.opacity = "0", this.chatWindow.style.transform = "translateY(20px) scale(0.95)", setTimeout(() => {
|
|
1517
1521
|
this.chatWindow && !this.isOpen && (this.chatWindow.style.display = "none");
|
|
1518
|
-
}, 200), this.onClose && this.onClose()));
|
|
1522
|
+
}, 200), this.onClose && this.onClose())));
|
|
1519
1523
|
}
|
|
1520
1524
|
addMessage(e, n) {
|
|
1521
1525
|
if (!this.messagesContainer) return;
|
|
@@ -1562,8 +1566,8 @@ class zt {
|
|
|
1562
1566
|
if (d.type === "select") {
|
|
1563
1567
|
const u = document.createElement("select");
|
|
1564
1568
|
u.className = "foisit-form-input";
|
|
1565
|
-
const
|
|
1566
|
-
|
|
1569
|
+
const w = document.createElement("option");
|
|
1570
|
+
w.value = "", w.textContent = "Select...", u.appendChild(w);
|
|
1567
1571
|
const x = (p) => {
|
|
1568
1572
|
(p ?? []).forEach((S) => {
|
|
1569
1573
|
const b = document.createElement("option");
|
|
@@ -1585,17 +1589,17 @@ class zt {
|
|
|
1585
1589
|
}
|
|
1586
1590
|
d.defaultValue != null && (u.value = String(d.defaultValue)), m = u;
|
|
1587
1591
|
} else if (d.type === "file") {
|
|
1588
|
-
const u = d,
|
|
1589
|
-
|
|
1590
|
-
const x = Array.from(
|
|
1592
|
+
const u = d, w = document.createElement("input");
|
|
1593
|
+
w.className = "foisit-form-input", w.type = "file", u.accept && Array.isArray(u.accept) && (w.accept = u.accept.join(",")), u.multiple && (w.multiple = !0), u.capture && (u.capture === !0 ? w.setAttribute("capture", "") : w.setAttribute("capture", String(u.capture))), w.addEventListener("change", async () => {
|
|
1594
|
+
const x = Array.from(w.files || []), p = y;
|
|
1591
1595
|
if (p.style.display = "none", p.textContent = "", x.length === 0) return;
|
|
1592
1596
|
const S = u.maxFiles ?? (u.multiple ? 10 : 1);
|
|
1593
1597
|
if (x.length > S) {
|
|
1594
1598
|
p.textContent = `Please select at most ${S} file(s).`, p.style.display = "block";
|
|
1595
1599
|
return;
|
|
1596
1600
|
}
|
|
1597
|
-
const b = u.maxSizeBytes ?? 1 / 0, g = x.reduce((
|
|
1598
|
-
if (x.some((
|
|
1601
|
+
const b = u.maxSizeBytes ?? 1 / 0, g = x.reduce((v, B) => v + B.size, 0);
|
|
1602
|
+
if (x.some((v) => v.size > b)) {
|
|
1599
1603
|
p.textContent = `One or more files exceed the maximum size of ${Math.round(b / 1024)} KB.`, p.style.display = "block";
|
|
1600
1604
|
return;
|
|
1601
1605
|
}
|
|
@@ -1605,13 +1609,13 @@ class zt {
|
|
|
1605
1609
|
return;
|
|
1606
1610
|
}
|
|
1607
1611
|
if (u.accept && Array.isArray(u.accept)) {
|
|
1608
|
-
const
|
|
1609
|
-
if (!x.every((
|
|
1612
|
+
const v = u.accept;
|
|
1613
|
+
if (!x.every((U) => U.type ? v.some((W) => W.startsWith(".") ? U.name.toLowerCase().endsWith(W.toLowerCase()) : U.type === W || U.type.startsWith(W.split("/")[0] + "/")) : !0)) {
|
|
1610
1614
|
p.textContent = "One or more files have an unsupported type.", p.style.display = "block";
|
|
1611
1615
|
return;
|
|
1612
1616
|
}
|
|
1613
1617
|
}
|
|
1614
|
-
}), m =
|
|
1618
|
+
}), m = w;
|
|
1615
1619
|
} else {
|
|
1616
1620
|
const u = document.createElement("input");
|
|
1617
1621
|
u.className = "foisit-form-input", d.type === "string" && (u.placeholder = d.placeholder || "Type here..."), d.type === "number" ? (u.type = "number", typeof d.min == "number" && (u.min = String(d.min)), typeof d.max == "number" && (u.max = String(d.max)), typeof d.step == "number" && (u.step = String(d.step)), d.defaultValue != null && (u.value = String(d.defaultValue))) : d.type === "date" ? (u.type = "date", typeof d.min == "string" && (u.min = d.min), typeof d.max == "string" && (u.max = d.max), d.defaultValue != null && (u.value = String(d.defaultValue))) : (u.type = "text", d.defaultValue != null && (u.value = String(d.defaultValue))), m = u;
|
|
@@ -1644,15 +1648,15 @@ class zt {
|
|
|
1644
1648
|
continue;
|
|
1645
1649
|
}
|
|
1646
1650
|
if (b.length === 0) continue;
|
|
1647
|
-
const g = (n ?? []).find((
|
|
1651
|
+
const g = (n ?? []).find((v) => v.name === m.name), $ = (g == null ? void 0 : g.delivery) ?? "file";
|
|
1648
1652
|
if (g != null && g.maxWidth || g != null && g.maxHeight)
|
|
1649
1653
|
try {
|
|
1650
|
-
const
|
|
1651
|
-
if (g.maxWidth &&
|
|
1654
|
+
const v = await this.getImageDimensions(b[0]);
|
|
1655
|
+
if (g.maxWidth && v.width > g.maxWidth) {
|
|
1652
1656
|
f = !0, p && (p.textContent = `Image width must be ≤ ${g.maxWidth}px`, p.style.display = "block");
|
|
1653
1657
|
continue;
|
|
1654
1658
|
}
|
|
1655
|
-
if (g.maxHeight &&
|
|
1659
|
+
if (g.maxHeight && v.height > g.maxHeight) {
|
|
1656
1660
|
f = !0, p && (p.textContent = `Image height must be ≤ ${g.maxHeight}px`, p.style.display = "block");
|
|
1657
1661
|
continue;
|
|
1658
1662
|
}
|
|
@@ -1660,8 +1664,8 @@ class zt {
|
|
|
1660
1664
|
}
|
|
1661
1665
|
if (g != null && g.maxDurationSec)
|
|
1662
1666
|
try {
|
|
1663
|
-
const
|
|
1664
|
-
if (
|
|
1667
|
+
const v = await this.getMediaDuration(b[0]);
|
|
1668
|
+
if (v && v > g.maxDurationSec) {
|
|
1665
1669
|
f = !0, p && (p.textContent = `Media duration must be ≤ ${g.maxDurationSec}s`, p.style.display = "block");
|
|
1666
1670
|
continue;
|
|
1667
1671
|
}
|
|
@@ -1671,17 +1675,17 @@ class zt {
|
|
|
1671
1675
|
l[m.name] = g != null && g.multiple ? b : b[0];
|
|
1672
1676
|
else if ($ === "base64")
|
|
1673
1677
|
try {
|
|
1674
|
-
const
|
|
1675
|
-
l[m.name] = g != null && g.multiple ?
|
|
1678
|
+
const v = await Promise.all(b.map((B) => this.readFileAsDataURL(B)));
|
|
1679
|
+
l[m.name] = g != null && g.multiple ? v : v[0];
|
|
1676
1680
|
} catch {
|
|
1677
1681
|
f = !0, p && (p.textContent = "Failed to encode file(s) to base64.", p.style.display = "block");
|
|
1678
1682
|
continue;
|
|
1679
1683
|
}
|
|
1680
1684
|
continue;
|
|
1681
1685
|
}
|
|
1682
|
-
const y = (m.el.value ?? "").toString().trim(), u = m.el.parentElement,
|
|
1686
|
+
const y = (m.el.value ?? "").toString().trim(), u = m.el.parentElement, w = u == null ? void 0 : u.querySelector(".foisit-form-error");
|
|
1683
1687
|
if (m.required && (y == null || y === "")) {
|
|
1684
|
-
f = !0, m.el.classList.add("foisit-error-border"),
|
|
1688
|
+
f = !0, m.el.classList.add("foisit-error-border"), w && (w.textContent = "This field is required", w.style.display = "block");
|
|
1685
1689
|
continue;
|
|
1686
1690
|
}
|
|
1687
1691
|
if (y !== "")
|
|
@@ -2095,7 +2099,7 @@ class Ut {
|
|
|
2095
2099
|
this.config = e, this.isActivated = !1, this.lastProcessedInput = "", this.processingLock = !1, this.defaultIntroMessage = "How can I help you?", this.commandHandler = new Mt({
|
|
2096
2100
|
enableSmartIntent: this.config.enableSmartIntent !== !1,
|
|
2097
2101
|
intentEndpoint: this.config.intentEndpoint
|
|
2098
|
-
}), this.fallbackHandler = new Pt(), this.voiceProcessor = new Vt(), this.textToSpeech = new He(), this.stateManager = new
|
|
2102
|
+
}), this.fallbackHandler = new Pt(), this.voiceProcessor = new Vt(), this.textToSpeech = new He(), this.stateManager = new zt(), this.gestureHandler = new Ft(), this.overlayManager = new Bt({
|
|
2099
2103
|
floatingButton: this.config.floatingButton,
|
|
2100
2104
|
inputPlaceholder: this.config.inputPlaceholder
|
|
2101
2105
|
}), this.config.commands.forEach((n) => this.commandHandler.addCommand(n)), this.config.fallbackResponse && this.fallbackHandler.setFallbackMessage(this.config.fallbackResponse), this.gestureHandler.setupDoubleTapListener(() => this.toggle()), this.overlayManager.registerCallbacks(
|
|
@@ -2239,7 +2243,7 @@ class Ut {
|
|
|
2239
2243
|
return typeof i == "string" && i.trim() ? i.trim() : null;
|
|
2240
2244
|
}
|
|
2241
2245
|
}
|
|
2242
|
-
const
|
|
2246
|
+
const Wt = /* @__PURE__ */ mt({
|
|
2243
2247
|
name: "AssistantProvider",
|
|
2244
2248
|
props: {
|
|
2245
2249
|
config: {
|
|
@@ -2254,23 +2258,23 @@ const Bt = /* @__PURE__ */ mt({
|
|
|
2254
2258
|
return (i = e.default) == null ? void 0 : i.call(e);
|
|
2255
2259
|
};
|
|
2256
2260
|
}
|
|
2257
|
-
}),
|
|
2261
|
+
}), jt = (t, e) => {
|
|
2258
2262
|
const n = t.__vccOpts || t;
|
|
2259
2263
|
for (const [i, s] of e)
|
|
2260
2264
|
n[i] = s;
|
|
2261
2265
|
return n;
|
|
2262
2266
|
};
|
|
2263
|
-
function
|
|
2267
|
+
function Kt(t, e, n, i, s, o) {
|
|
2264
2268
|
return gt(t.$slots, "default");
|
|
2265
2269
|
}
|
|
2266
|
-
const
|
|
2270
|
+
const Yt = /* @__PURE__ */ jt(Wt, [["render", Kt]]), Jt = () => {
|
|
2267
2271
|
const t = ut("assistantService");
|
|
2268
2272
|
if (!t)
|
|
2269
2273
|
throw new Error("useAssistant must be used within an AssistantProvider");
|
|
2270
2274
|
return t;
|
|
2271
2275
|
};
|
|
2272
2276
|
export {
|
|
2273
|
-
|
|
2277
|
+
Yt as AssistantProvider,
|
|
2274
2278
|
Ut as AssistantService,
|
|
2275
|
-
|
|
2279
|
+
Jt as useAssistant
|
|
2276
2280
|
};
|
package/package.json
CHANGED
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foisit/vue-wrapper",
|
|
3
|
-
"version": "2.4.
|
|
4
|
-
"main": "./index.
|
|
3
|
+
"version": "2.4.4",
|
|
4
|
+
"main": "./index.mjs",
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
8
|
"import": "./index.mjs",
|
|
9
|
-
"require": "./index.js",
|
|
10
9
|
"types": "./index.d.ts"
|
|
11
10
|
}
|
|
12
11
|
},
|
|
13
12
|
"files": [
|
|
14
|
-
"index.js",
|
|
15
13
|
"index.mjs",
|
|
16
14
|
"index.d.ts",
|
|
17
15
|
"lib",
|
|
18
|
-
"style.css",
|
|
19
16
|
"README.md"
|
|
20
17
|
],
|
|
21
18
|
"sideEffects": false,
|
|
22
|
-
"description": "
|
|
19
|
+
"description": "A powerful AI assistant library for Vue applications, providing seamless chatbot functionality and intelligent interactions for websites.",
|
|
20
|
+
"keywords": [
|
|
21
|
+
"ai-assistant",
|
|
22
|
+
"chatbot",
|
|
23
|
+
"vue",
|
|
24
|
+
"ai",
|
|
25
|
+
"assistant",
|
|
26
|
+
"accessibility",
|
|
27
|
+
"website-integration"
|
|
28
|
+
],
|
|
29
|
+
"homepage": "https://github.com/boluwatifee4/foisit#readme",
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/boluwatifee4/foisit/issues"
|
|
32
|
+
},
|
|
23
33
|
"repository": {
|
|
24
34
|
"type": "git",
|
|
25
35
|
"url": "git+https://github.com/boluwatifee4/foisit.git"
|