@opencx/widget 2.0.0
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 +105 -0
- package/dist/basic.cjs +259 -0
- package/dist/basic.cjs.map +1 -0
- package/dist/basic.d.ts +2 -0
- package/dist/basic.js +40507 -0
- package/dist/basic.js.map +1 -0
- package/dist/core/client/api.d.ts +15 -0
- package/dist/core/client/client.d.ts +39 -0
- package/dist/core/client/index.d.ts +1 -0
- package/dist/core/errors/index.d.ts +21 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/managers/chathistory-manager.d.ts +61 -0
- package/dist/core/managers/session-manager.d.ts +35 -0
- package/dist/core/platform/index.d.ts +20 -0
- package/dist/core/transport/http.transport.d.ts +17 -0
- package/dist/core/transport/transport.d.ts +25 -0
- package/dist/core/types/helpers.d.ts +5 -0
- package/dist/core/types/index.d.ts +32 -0
- package/dist/core/types/messages.d.ts +43 -0
- package/dist/core/types/prelude.d.ts +14 -0
- package/dist/core/types/pub-sub.d.ts +94 -0
- package/dist/core/types/schemas.d.ts +489 -0
- package/dist/core/types/transport.d.ts +31 -0
- package/dist/core/utils/genId.d.ts +2 -0
- package/dist/core/utils/genId.test.d.ts +1 -0
- package/dist/core/utils/history-to-widget-messages.d.ts +4 -0
- package/dist/history-to-widget-messages-CP0hKjhv.js +195 -0
- package/dist/history-to-widget-messages-CP0hKjhv.js.map +1 -0
- package/dist/history-to-widget-messages-CdbZolRN.cjs +2 -0
- package/dist/history-to-widget-messages-CdbZolRN.cjs.map +1 -0
- package/dist/index-C11ivBh5.js +2604 -0
- package/dist/index-C11ivBh5.js.map +1 -0
- package/dist/index-DQmRZV3b.cjs +18 -0
- package/dist/index-DQmRZV3b.cjs.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +445 -0
- package/dist/index.js.map +1 -0
- package/dist/react-lib/Root.d.ts +6 -0
- package/dist/react-lib/hooks/handle-socket-messages.d.ts +27 -0
- package/dist/react-lib/hooks/index.d.ts +6 -0
- package/dist/react-lib/hooks/socket.d.ts +11 -0
- package/dist/react-lib/hooks/socketState.d.ts +2 -0
- package/dist/react-lib/hooks/use-sound.d.ts +13 -0
- package/dist/react-lib/hooks/use-sound.test.d.ts +1 -0
- package/dist/react-lib/hooks/use-sync-state.test.d.ts +1 -0
- package/dist/react-lib/hooks/useAbstractChat.d.ts +159 -0
- package/dist/react-lib/hooks/useAxiosInstance.d.ts +121 -0
- package/dist/react-lib/hooks/useBaseClient.d.ts +2 -0
- package/dist/react-lib/hooks/useScrollTo.d.ts +2 -0
- package/dist/react-lib/hooks/useSyncState.d.ts +4 -0
- package/dist/react-lib/hooks/useTimeoutState.d.ts +3 -0
- package/dist/react-lib/hooks/useUploadFiles.d.ts +21 -0
- package/dist/react-lib/hooks/useVote.d.ts +2 -0
- package/dist/react-lib/hooks/useWidgetContentHeight.d.ts +9 -0
- package/dist/react-lib/index.d.ts +10 -0
- package/dist/react-lib/locales/ar.locale.d.ts +2 -0
- package/dist/react-lib/locales/de.locale.d.ts +2 -0
- package/dist/react-lib/locales/en.locale.d.ts +55 -0
- package/dist/react-lib/locales/fr.locale.d.ts +2 -0
- package/dist/react-lib/locales/helper.d.ts +65 -0
- package/dist/react-lib/locales/index.d.ts +3 -0
- package/dist/react-lib/locales/nl.locale.d.ts +2 -0
- package/dist/react-lib/locales/pt.locale.d.ts +2 -0
- package/dist/react-lib/providers/ChatProvider.d.ts +135 -0
- package/dist/react-lib/providers/ClientProvider.d.ts +7 -0
- package/dist/react-lib/providers/ConfigDataProvider.d.ts +62 -0
- package/dist/react-lib/providers/ContactProvider.d.ts +58 -0
- package/dist/react-lib/providers/LocalesProvider.d.ts +11 -0
- package/dist/react-lib/providers/componentRegistry.d.ts +13 -0
- package/dist/react-lib/providers/use-widget-sfx.d.ts +7 -0
- package/dist/react-lib/providers/usePreludeData.d.ts +2 -0
- package/dist/react-lib/types/components.d.ts +10 -0
- package/dist/react-lib/types/index.d.ts +6 -0
- package/dist/react-lib/types/options.d.ts +43 -0
- package/dist/react-lib/utils/create-safe-context.d.ts +1 -0
- package/dist/react-lib/utils/debug.d.ts +2 -0
- package/dist/react-lib/utils/getters.d.ts +24 -0
- package/dist/react-lib/utils/index.d.ts +1 -0
- package/dist/react.cjs +2 -0
- package/dist/react.cjs.map +1 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +41 -0
- package/dist/react.js.map +1 -0
- package/dist/src/@components/BotMessage.d.ts +9 -0
- package/dist/src/@components/BotMessageWrapper.d.ts +7 -0
- package/dist/src/@components/ChatEvent.component.d.ts +9 -0
- package/dist/src/@components/Fallback.component.d.ts +8 -0
- package/dist/src/@components/Loading.component.d.ts +2 -0
- package/dist/src/@components/OpenLogoSvg.d.ts +4 -0
- package/dist/src/@components/Text.component.d.ts +3 -0
- package/dist/src/@components/index.d.ts +6 -0
- package/dist/src/@components/markdown.d.ts +3 -0
- package/dist/src/components/MotionDiv.d.ts +18 -0
- package/dist/src/components/RenderFile.d.ts +7 -0
- package/dist/src/components/avatar.d.ts +6 -0
- package/dist/src/components/button.d.ts +11 -0
- package/dist/src/components/dialog.d.ts +276 -0
- package/dist/src/components/dropdown-menu.d.ts +27 -0
- package/dist/src/components/input.d.ts +5 -0
- package/dist/src/components/keyboard.d.ts +7 -0
- package/dist/src/components/popover.d.ts +8 -0
- package/dist/src/components/skeleton.d.ts +3 -0
- package/dist/src/components/switch.d.ts +4 -0
- package/dist/src/components/tooltip.d.ts +10 -0
- package/dist/src/components/userMessage.d.ts +8 -0
- package/dist/src/components/wobble.d.ts +15 -0
- package/dist/src/designs/basic/WidgetPopoverTrigger.d.ts +5 -0
- package/dist/src/designs/basic/index.d.ts +5 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatFooter.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatHeader.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/ChatScreen.d.ts +2 -0
- package/dist/src/designs/basic/screens/chat-screen/SessionClosedDialog.d.ts +2 -0
- package/dist/src/designs/basic/screens/root-screen.d.ts +2 -0
- package/dist/src/designs/basic/screens/welcome-screen/WelcomeScreen.d.ts +2 -0
- package/dist/src/designs/constants.d.ts +15 -0
- package/dist/src/hooks/useShouldCollectData.d.ts +3 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/render.d.ts +2 -0
- package/dist/src/utils.d.ts +2 -0
- package/dist/style.css +1 -0
- package/dist-embed/script.js +476 -0
- package/dist-embed/script.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,2604 @@
|
|
|
1
|
+
var on = Object.defineProperty;
|
|
2
|
+
var sn = (e, t, n) => t in e ? on(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
|
+
var st = (e, t, n) => sn(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
|
+
import { g as he, m as it, S as mt, A as an } from "./history-to-widget-messages-CP0hKjhv.js";
|
|
5
|
+
import ue, { useMemo as ee, useState as fe, useCallback as F, useEffect as H, createContext as yt, useContext as St, useRef as oe, useReducer as cn, useLayoutEffect as un, useDebugValue as ln } from "react";
|
|
6
|
+
import { jsx as $ } from "react/jsx-runtime";
|
|
7
|
+
import { create as dn } from "mutative";
|
|
8
|
+
import { io as fn } from "socket.io-client";
|
|
9
|
+
import pn from "lodash.set";
|
|
10
|
+
import gn from "axios";
|
|
11
|
+
const hn = typeof window > "u", at = {
|
|
12
|
+
getItem: () => null,
|
|
13
|
+
setItem: () => {
|
|
14
|
+
},
|
|
15
|
+
removeItem: () => {
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
function mn(e) {
|
|
19
|
+
return hn ? at : e === "local" ? localStorage : e === "session" ? sessionStorage : at;
|
|
20
|
+
}
|
|
21
|
+
function Ze(e, t, n = "session") {
|
|
22
|
+
const r = ee(() => mn(n), [n]), [o, s] = fe(() => {
|
|
23
|
+
const g = r.getItem(e);
|
|
24
|
+
if (g !== null)
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(g);
|
|
27
|
+
} catch (d) {
|
|
28
|
+
console.error(`Error parsing stored value for key '${e}':`, d);
|
|
29
|
+
}
|
|
30
|
+
return typeof t == "function" ? t() : t ?? null;
|
|
31
|
+
}), i = F(
|
|
32
|
+
(g) => {
|
|
33
|
+
if (s(g), g === null)
|
|
34
|
+
r.removeItem(e);
|
|
35
|
+
else
|
|
36
|
+
try {
|
|
37
|
+
r.setItem(e, JSON.stringify(g));
|
|
38
|
+
} catch (d) {
|
|
39
|
+
console.error(
|
|
40
|
+
`Error saving state to storage for key '${e}':`,
|
|
41
|
+
d
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
[e, r]
|
|
46
|
+
), l = F(() => {
|
|
47
|
+
s(null), r.removeItem(e);
|
|
48
|
+
}, [e, r]);
|
|
49
|
+
return H(() => {
|
|
50
|
+
const g = (d) => {
|
|
51
|
+
d.key === e && d.newValue !== JSON.stringify(o) && s(d.newValue ? JSON.parse(d.newValue) : null);
|
|
52
|
+
};
|
|
53
|
+
return window.addEventListener("storage", g), () => {
|
|
54
|
+
window.removeEventListener("storage", g);
|
|
55
|
+
};
|
|
56
|
+
}, [e, o]), [o, i, l];
|
|
57
|
+
}
|
|
58
|
+
const yn = "@opencx/widget", vt = "2.0.0", Sn = "module", vn = {
|
|
59
|
+
access: "public"
|
|
60
|
+
}, En = {
|
|
61
|
+
clean: "rm -rf ./dist ./dist-embed",
|
|
62
|
+
"clean:dist": "rm -rf ./dist ./dist-embed",
|
|
63
|
+
prepublishOnly: "pnpm clean && pnpm test && pnpm batman",
|
|
64
|
+
"build:lib": "vite build",
|
|
65
|
+
dev: "vite -c vite.config.ts",
|
|
66
|
+
"build:embed": "vite build -c vite.embed.config.ts",
|
|
67
|
+
test: "vitest run",
|
|
68
|
+
batman: "pnpm build:lib && pnpm build:embed",
|
|
69
|
+
"test:watch": "vitest --watch",
|
|
70
|
+
cs: "changeset",
|
|
71
|
+
csv: "changeset version",
|
|
72
|
+
csp: "changeset publish",
|
|
73
|
+
"type-check": "tsc --noEmit",
|
|
74
|
+
lint: "biome lint --fix",
|
|
75
|
+
format: "biome format --fix"
|
|
76
|
+
}, bn = {
|
|
77
|
+
"lucide-react": "^0.412.0",
|
|
78
|
+
react: "^18.3.1",
|
|
79
|
+
"rehype-raw": "^7.0.0"
|
|
80
|
+
}, wn = {
|
|
81
|
+
react: {
|
|
82
|
+
optional: !0
|
|
83
|
+
}
|
|
84
|
+
}, On = {
|
|
85
|
+
axios: "^1.7.5",
|
|
86
|
+
"socket.io-client": "^4.7.5",
|
|
87
|
+
zod: "^3.23.8"
|
|
88
|
+
}, An = {
|
|
89
|
+
"@radix-ui/react-avatar": "^1.1.0",
|
|
90
|
+
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
|
91
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
92
|
+
"@radix-ui/react-switch": "^1.1.0",
|
|
93
|
+
"@radix-ui/react-tooltip": "^1.1.2",
|
|
94
|
+
clsx: "^2.1.1",
|
|
95
|
+
"date-fns": "^4.1.0",
|
|
96
|
+
"framer-motion": "^11.3.30",
|
|
97
|
+
"lodash.set": "^4.3.2",
|
|
98
|
+
"lucide-react": "^0.436.0",
|
|
99
|
+
mutative: "^1.0.11",
|
|
100
|
+
"react-dropzone": "^14.3.5",
|
|
101
|
+
"react-hot-toast": "^2.4.1",
|
|
102
|
+
tinycolor2: "^1.6.0",
|
|
103
|
+
zod: "^3.23.8"
|
|
104
|
+
}, Rn = {
|
|
105
|
+
"@opencx/widget": {
|
|
106
|
+
react: {
|
|
107
|
+
optional: !0,
|
|
108
|
+
dependencies: {
|
|
109
|
+
"react-hot-toast": "^2.4.1",
|
|
110
|
+
"react-markdown": "^9.0.1",
|
|
111
|
+
"framer-motion": "^11.3.30",
|
|
112
|
+
"date-fns": "^4.1.0"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}, Tn = {
|
|
117
|
+
react: {
|
|
118
|
+
"react-hot-toast": "^2.4.1",
|
|
119
|
+
"react-markdown": "^9.0.1",
|
|
120
|
+
"framer-motion": "^11.3.30",
|
|
121
|
+
"date-fns": "^4.1.0"
|
|
122
|
+
}
|
|
123
|
+
}, Cn = [
|
|
124
|
+
"dist",
|
|
125
|
+
"dist-embed"
|
|
126
|
+
], Dn = {
|
|
127
|
+
url: "https://github.com/openchatai/OpenCopilot/issues"
|
|
128
|
+
}, Nn = {
|
|
129
|
+
name: "openchatai",
|
|
130
|
+
url: "https://github.com/openchatai"
|
|
131
|
+
}, Pn = "./dist/index.js", kn = "./dist/index.js", In = "./dist/index.d.ts", jn = !1, _n = {
|
|
132
|
+
".": {
|
|
133
|
+
types: "./dist/index.d.ts",
|
|
134
|
+
import: "./dist/index.js",
|
|
135
|
+
require: "./dist/index.cjs"
|
|
136
|
+
},
|
|
137
|
+
"./basic": {
|
|
138
|
+
types: "./dist/basic.d.ts",
|
|
139
|
+
import: "./dist/basic.js",
|
|
140
|
+
require: "./dist/basic.cjs"
|
|
141
|
+
},
|
|
142
|
+
"./react": {
|
|
143
|
+
types: "./dist/react.d.ts",
|
|
144
|
+
import: "./dist/react.js",
|
|
145
|
+
require: "./dist/react.cjs"
|
|
146
|
+
},
|
|
147
|
+
"./package.json": "./package.json",
|
|
148
|
+
"./dist/*.css": "./dist/*.css"
|
|
149
|
+
}, Mn = {
|
|
150
|
+
"@biomejs/biome": "1.9.4",
|
|
151
|
+
"@changesets/cli": "^2.27.9",
|
|
152
|
+
"@radix-ui/react-popover": "^1.1.2",
|
|
153
|
+
"@tailwindcss/typography": "^0.5.15",
|
|
154
|
+
"@testing-library/dom": "^10.4.0",
|
|
155
|
+
"@testing-library/jest-dom": "^6.5.0",
|
|
156
|
+
"@testing-library/react": "^16.0.1",
|
|
157
|
+
"@types/lodash.debounce": "^4.0.9",
|
|
158
|
+
"@types/lodash.set": "^4.3.9",
|
|
159
|
+
"@types/node": "^20.14.8",
|
|
160
|
+
"@types/react": "^18.3.4",
|
|
161
|
+
"@types/react-dom": "^18.3.0",
|
|
162
|
+
"@types/tinycolor2": "^1.4.6",
|
|
163
|
+
"@uiw/react-iframe": "^1.0.3",
|
|
164
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
165
|
+
autoprefixer: "^10.4.20",
|
|
166
|
+
axios: "^1.7.5",
|
|
167
|
+
"class-variance-authority": "^0.7.0",
|
|
168
|
+
jsdom: "^25.0.1",
|
|
169
|
+
mutative: "^1.0.11",
|
|
170
|
+
postcss: "^8.4.41",
|
|
171
|
+
"postcss-prefix-selector": "^1.16.1",
|
|
172
|
+
react: "^18.3.1",
|
|
173
|
+
"react-dom": "^18.3.1",
|
|
174
|
+
"react-markdown": "^9.0.1",
|
|
175
|
+
"react-use": "^17.5.1",
|
|
176
|
+
"rehype-raw": "^7.0.0",
|
|
177
|
+
"remark-gfm": "^4.0.0",
|
|
178
|
+
"socket.io-client": "^4.7.5",
|
|
179
|
+
swr: "^2.2.5",
|
|
180
|
+
"tailwind-merge": "^2.4.0",
|
|
181
|
+
tailwindcss: "^3.4.6",
|
|
182
|
+
"tailwindcss-animate": "^1.0.7",
|
|
183
|
+
typescript: "^5.5.4",
|
|
184
|
+
vite: "^5.4.2",
|
|
185
|
+
"vite-plugin-dts": "4.0.3",
|
|
186
|
+
"vite-plugin-externalize-deps": "^0.8.0",
|
|
187
|
+
"vite-tsconfig-paths": "^5.0.1",
|
|
188
|
+
vitest: "^2.0.5"
|
|
189
|
+
}, ct = {
|
|
190
|
+
name: yn,
|
|
191
|
+
private: !1,
|
|
192
|
+
version: vt,
|
|
193
|
+
type: Sn,
|
|
194
|
+
publishConfig: vn,
|
|
195
|
+
scripts: En,
|
|
196
|
+
peerDependencies: bn,
|
|
197
|
+
peerDependenciesMeta: wn,
|
|
198
|
+
optionalDependencies: On,
|
|
199
|
+
dependencies: An,
|
|
200
|
+
overrides: Rn,
|
|
201
|
+
conditionalDependencies: Tn,
|
|
202
|
+
files: Cn,
|
|
203
|
+
bugs: Dn,
|
|
204
|
+
author: Nn,
|
|
205
|
+
main: Pn,
|
|
206
|
+
module: kn,
|
|
207
|
+
types: In,
|
|
208
|
+
sideEffects: jn,
|
|
209
|
+
exports: _n,
|
|
210
|
+
devDependencies: Mn
|
|
211
|
+
}, Fn = "X-Bot-Token", Ln = "X-Widget-Version";
|
|
212
|
+
function Et(e) {
|
|
213
|
+
const t = ee(() => gn.create({
|
|
214
|
+
baseURL: e.apiUrl,
|
|
215
|
+
headers: {
|
|
216
|
+
[Fn]: e.botToken,
|
|
217
|
+
[Ln]: vt,
|
|
218
|
+
"X-Use-Guard": !0
|
|
219
|
+
}
|
|
220
|
+
}), [e]);
|
|
221
|
+
return { apis: ee(
|
|
222
|
+
() => ({
|
|
223
|
+
createSession: (r) => {
|
|
224
|
+
if (!r)
|
|
225
|
+
throw new Error("Bot token is required");
|
|
226
|
+
return t.post("/chat-session/" + r);
|
|
227
|
+
},
|
|
228
|
+
/**
|
|
229
|
+
* get session data by id
|
|
230
|
+
* @param sessionId
|
|
231
|
+
*/
|
|
232
|
+
fetchSession: (r) => {
|
|
233
|
+
if (!r)
|
|
234
|
+
throw new Error("Session id is required");
|
|
235
|
+
return t.get(`widget/session/${r}`);
|
|
236
|
+
},
|
|
237
|
+
fetchPreludeData: async () => (await t.get("/widget/prelude")).data,
|
|
238
|
+
/**
|
|
239
|
+
* get the organization office working hours.
|
|
240
|
+
*/
|
|
241
|
+
getOfficeHours: () => t.get("/copilot/office-hours/public"),
|
|
242
|
+
fetchHistory: (r) => {
|
|
243
|
+
if (!r)
|
|
244
|
+
throw new Error("Session id is required");
|
|
245
|
+
return t.get(
|
|
246
|
+
`widget/session/history/${r}`
|
|
247
|
+
);
|
|
248
|
+
},
|
|
249
|
+
downvote: (r) => t.delete(`/chat/vote/${r}`),
|
|
250
|
+
upvote: (r) => t.post(`/chat/vote/${r}`),
|
|
251
|
+
/**
|
|
252
|
+
* given the userData object we will create or update the contact + get the related conversations/tickets/sessions
|
|
253
|
+
*/
|
|
254
|
+
dumpContact: (r) => t.post("/widget/contact/upsert", r),
|
|
255
|
+
/**
|
|
256
|
+
* get the completions for the given input
|
|
257
|
+
*/
|
|
258
|
+
getCompletions: (r) => t.post("/widget/chat/completions", { input: r }),
|
|
259
|
+
/**
|
|
260
|
+
* @param file
|
|
261
|
+
* @param options
|
|
262
|
+
*/
|
|
263
|
+
uploadFile: async (r, o) => {
|
|
264
|
+
const s = new FormData();
|
|
265
|
+
return s.append("file", r.file), t.post(`/widget/upload?fileId=${r.id}`, s, {
|
|
266
|
+
headers: {
|
|
267
|
+
"Content-Type": "multipart/form-data"
|
|
268
|
+
},
|
|
269
|
+
...o
|
|
270
|
+
});
|
|
271
|
+
},
|
|
272
|
+
getHistoryPooling: async ({
|
|
273
|
+
lastMessageTimestamp: r,
|
|
274
|
+
sessionId: o
|
|
275
|
+
}) => {
|
|
276
|
+
const s = new URLSearchParams();
|
|
277
|
+
return s.append(
|
|
278
|
+
"lastMessageTimestamp",
|
|
279
|
+
r.toString()
|
|
280
|
+
), t.get(
|
|
281
|
+
`/widget/session/history/${o}/?${s.toString()}`
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
}),
|
|
285
|
+
[t]
|
|
286
|
+
), options: e };
|
|
287
|
+
}
|
|
288
|
+
function Pe(e) {
|
|
289
|
+
const t = yt({});
|
|
290
|
+
return [() => {
|
|
291
|
+
const r = St(t);
|
|
292
|
+
if (r === void 0)
|
|
293
|
+
throw new Error("useSafeContext must be used within a Provider");
|
|
294
|
+
return r;
|
|
295
|
+
}, t.Provider];
|
|
296
|
+
}
|
|
297
|
+
const xn = {
|
|
298
|
+
ok: "حسنا",
|
|
299
|
+
yes: "نعم",
|
|
300
|
+
no: "لا",
|
|
301
|
+
agree: "موافق",
|
|
302
|
+
cancel: "إلغاء",
|
|
303
|
+
"yes-exit": "نعم، اخرج",
|
|
304
|
+
"yes-reset": "نعم، إعادة تعيين",
|
|
305
|
+
"no-cancel": "لا، إلغاء",
|
|
306
|
+
"are-you-sure": "هل أنت متأكد؟",
|
|
307
|
+
recording: "تسجيل",
|
|
308
|
+
"thank-you": "شكرا",
|
|
309
|
+
"sorry-try-again": "عذرا، حاول مرة أخرى",
|
|
310
|
+
"error-occurred": "حدث خطأ",
|
|
311
|
+
"please-try-again": "يرجى المحاولة مرة أخرى",
|
|
312
|
+
"write-a-message": "اكتب رسالة...",
|
|
313
|
+
"send-message": "إرسال رسالة",
|
|
314
|
+
connected: "متصل",
|
|
315
|
+
connecting: "جاري الاتصال",
|
|
316
|
+
reconnecting: "جاري إعادة الاتصال",
|
|
317
|
+
reconnected: "تم إعادة الاتصال",
|
|
318
|
+
disconnecting: "جاري قطع الاتصال",
|
|
319
|
+
disconnected: "قطع الاتصال",
|
|
320
|
+
error: "خطأ",
|
|
321
|
+
"persist-session": "حفظ الجلسة",
|
|
322
|
+
settings: "إعدادات",
|
|
323
|
+
close: "إغلاق",
|
|
324
|
+
help: "مساعدة",
|
|
325
|
+
chat: "محادثة",
|
|
326
|
+
send: "إرسال",
|
|
327
|
+
copy: "نسخ",
|
|
328
|
+
copied: "تم النسخ",
|
|
329
|
+
"sound-effects": "التاثيرات الصوتية",
|
|
330
|
+
language: "اللغة",
|
|
331
|
+
select: "اختر",
|
|
332
|
+
agent: "الوكيل",
|
|
333
|
+
user: "المستخدم",
|
|
334
|
+
bot: "البوت",
|
|
335
|
+
"reset-conversation-confirm": "هل أنت متأكد من أنك تريد إعادة تعيين المحادثة؟",
|
|
336
|
+
"close-widget": "إغلاق الودجة",
|
|
337
|
+
"got-any-questions": "هل لديك أي أسئلة؟ تحدث معنا!",
|
|
338
|
+
"typical-response-time": "عادة ما نرد في أقل من دقيقة واحدة",
|
|
339
|
+
"session-closed-lead": "تم حل مشكلتك!",
|
|
340
|
+
exit: "خروج",
|
|
341
|
+
"create-new-ticket": "إنشاء تذكرة جديدة",
|
|
342
|
+
"reset-conversation": "إعادة تعيين المحادثة",
|
|
343
|
+
"welcome-title": "مرحبًا بك في دردشة الدعم الخاصة بنا",
|
|
344
|
+
"welcome-description": "نحن هنا للمساعدة! ابدأ محادثة وسنرد عليك في أقرب وقت ممكن.",
|
|
345
|
+
"your-name": "اسمك",
|
|
346
|
+
"your-email": "عنوان بريدك الإلكتروني",
|
|
347
|
+
"start-chat": "تحدث إلى الدعم",
|
|
348
|
+
"starting-chat": "جاري الاتصال...",
|
|
349
|
+
"hello-greeting": "مرحبًا! كيف يمكننا مساعدتك اليوم؟"
|
|
350
|
+
}, Vn = {
|
|
351
|
+
ok: "OK",
|
|
352
|
+
yes: "Ja",
|
|
353
|
+
no: "Nein",
|
|
354
|
+
agree: "Zustimmen",
|
|
355
|
+
cancel: "Stornieren",
|
|
356
|
+
"yes-exit": "Ja, beenden",
|
|
357
|
+
"yes-reset": "Ja, zurücksetzen",
|
|
358
|
+
"no-cancel": "Nein, abbrechen",
|
|
359
|
+
"are-you-sure": "Sind Sie sicher?",
|
|
360
|
+
recording: "Aufnahme läuft",
|
|
361
|
+
"thank-you": "Vielen Dank",
|
|
362
|
+
"sorry-try-again": "Entschuldigung, bitte versuchen Sie es erneut",
|
|
363
|
+
"error-occurred": "Ein Fehler ist aufgetreten",
|
|
364
|
+
"please-try-again": "Bitte versuchen Sie es erneut",
|
|
365
|
+
"write-a-message": "Nachricht schreiben...",
|
|
366
|
+
"send-message": "Nachricht senden",
|
|
367
|
+
connected: "Verbunden",
|
|
368
|
+
connecting: "Verbindung wird hergestellt",
|
|
369
|
+
reconnecting: "Verbindung wird wiederhergestellt",
|
|
370
|
+
reconnected: "Wieder verbunden",
|
|
371
|
+
disconnecting: "Verbindung wird getrennt",
|
|
372
|
+
disconnected: "Verbindung getrennt",
|
|
373
|
+
error: "Fehler",
|
|
374
|
+
"persist-session": "Sitzung beibehalten",
|
|
375
|
+
settings: "Einstellungen",
|
|
376
|
+
close: "Schließen",
|
|
377
|
+
help: "Hilfe",
|
|
378
|
+
chat: "Chat",
|
|
379
|
+
send: "Senden",
|
|
380
|
+
copy: "Kopieren",
|
|
381
|
+
copied: "Kopiert",
|
|
382
|
+
"sound-effects": "Soundeffekte",
|
|
383
|
+
language: "Sprache",
|
|
384
|
+
select: "Auswählen",
|
|
385
|
+
agent: "Agent",
|
|
386
|
+
user: "Benutzer",
|
|
387
|
+
bot: "Bot",
|
|
388
|
+
"got-any-questions": "Haben Sie Fragen? Chatten Sie mit uns!",
|
|
389
|
+
"typical-response-time": "Üblicherweise antworten wir in weniger als 1 Minute",
|
|
390
|
+
"reset-conversation-confirm": "Möchten Sie die Konversation wirklich zurücksetzen?",
|
|
391
|
+
"close-widget": "Widget schließen",
|
|
392
|
+
"session-closed-lead": "Ihr Problem wurde gelöst!",
|
|
393
|
+
"create-new-ticket": "Neues Ticket erstellen",
|
|
394
|
+
exit: "Beenden",
|
|
395
|
+
"reset-conversation": "Konversation zurücksetzen",
|
|
396
|
+
"welcome-title": "Willkommen in unserem Support-Chat",
|
|
397
|
+
"welcome-description": "Wir sind hier, um zu helfen! Beginnen Sie ein Gespräch und wir werden so schnell wie möglich antworten.",
|
|
398
|
+
"your-name": "Ihr Name",
|
|
399
|
+
"your-email": "Ihre E-Mail-Adresse",
|
|
400
|
+
"start-chat": "Mit dem Support sprechen",
|
|
401
|
+
"starting-chat": "Verbindung wird hergestellt...",
|
|
402
|
+
"hello-greeting": "Hallo! Wie können wir Ihnen heute helfen?"
|
|
403
|
+
}, Un = {
|
|
404
|
+
ok: "OK",
|
|
405
|
+
yes: "Yes",
|
|
406
|
+
no: "No",
|
|
407
|
+
agree: "Agree",
|
|
408
|
+
cancel: "Cancel",
|
|
409
|
+
"yes-exit": "Yes, exit",
|
|
410
|
+
"yes-reset": "Yes, reset",
|
|
411
|
+
"no-cancel": "No, cancel",
|
|
412
|
+
"are-you-sure": "Are you sure?",
|
|
413
|
+
recording: "Recording...",
|
|
414
|
+
"thank-you": "Thank you",
|
|
415
|
+
"sorry-try-again": "Sorry, please try again",
|
|
416
|
+
"error-occurred": "An error occurred",
|
|
417
|
+
"please-try-again": "Please try again",
|
|
418
|
+
"write-a-message": "Write a message...",
|
|
419
|
+
"send-message": "Send message",
|
|
420
|
+
connected: "Connected",
|
|
421
|
+
connecting: "Connecting",
|
|
422
|
+
reconnecting: "Reconnecting",
|
|
423
|
+
reconnected: "Reconnected",
|
|
424
|
+
disconnecting: "Disconnecting",
|
|
425
|
+
disconnected: "Disconnected",
|
|
426
|
+
error: "Error",
|
|
427
|
+
"persist-session": "Persist session",
|
|
428
|
+
settings: "Settings",
|
|
429
|
+
close: "Close",
|
|
430
|
+
help: "Help",
|
|
431
|
+
chat: "Chat",
|
|
432
|
+
send: "Send",
|
|
433
|
+
copy: "Copy",
|
|
434
|
+
copied: "Copied",
|
|
435
|
+
"sound-effects": "Sound effects",
|
|
436
|
+
language: "Language",
|
|
437
|
+
select: "Select",
|
|
438
|
+
agent: "Agent",
|
|
439
|
+
user: "User",
|
|
440
|
+
bot: "Bot",
|
|
441
|
+
"reset-conversation-confirm": "Are you sure you want to reset the conversation?",
|
|
442
|
+
"close-widget": "Close widget",
|
|
443
|
+
"got-any-questions": "Got any questions? Chat with us!",
|
|
444
|
+
"typical-response-time": "Typically respond in less than 1 minute",
|
|
445
|
+
"session-closed-lead": "Your issue has been resolved!",
|
|
446
|
+
"create-new-ticket": "Create new ticket",
|
|
447
|
+
exit: "Exit",
|
|
448
|
+
"reset-conversation": "Reset conversation",
|
|
449
|
+
"welcome-title": "Welcome to our support chat",
|
|
450
|
+
"welcome-description": "We're here to help! Start a conversation and we'll get back to you as soon as possible.",
|
|
451
|
+
"your-name": "Your name",
|
|
452
|
+
"your-email": "Your email address",
|
|
453
|
+
"start-chat": "Talk to support",
|
|
454
|
+
"starting-chat": "Connecting...",
|
|
455
|
+
"hello-greeting": "Hi there!"
|
|
456
|
+
}, Hn = {
|
|
457
|
+
ok: "D'accord",
|
|
458
|
+
yes: "Oui",
|
|
459
|
+
no: "Non",
|
|
460
|
+
agree: "Accepter",
|
|
461
|
+
cancel: "Annuler",
|
|
462
|
+
"yes-exit": "Oui, quitter",
|
|
463
|
+
"yes-reset": "Oui, réinitialiser",
|
|
464
|
+
"no-cancel": "Non, annuler",
|
|
465
|
+
"are-you-sure": "Êtes-vous sûr ?",
|
|
466
|
+
recording: "Enregistrement...",
|
|
467
|
+
"thank-you": "Merci",
|
|
468
|
+
"sorry-try-again": "Désolé, veuillez réessayer",
|
|
469
|
+
"error-occurred": "Une erreur s'est produite",
|
|
470
|
+
"please-try-again": "Veuillez réessayer",
|
|
471
|
+
"write-a-message": "Écrivez un message...",
|
|
472
|
+
"send-message": "Envoyer le message",
|
|
473
|
+
connected: "Connecté",
|
|
474
|
+
connecting: "Connexion en cours",
|
|
475
|
+
reconnecting: "Reconnexion en cours",
|
|
476
|
+
reconnected: "Reconnecté",
|
|
477
|
+
disconnecting: "Déconnexion en cours",
|
|
478
|
+
disconnected: "Déconnecté",
|
|
479
|
+
error: "Erreur",
|
|
480
|
+
"persist-session": "Conserver la session",
|
|
481
|
+
settings: "Paramètres",
|
|
482
|
+
close: "Fermer",
|
|
483
|
+
help: "Aide",
|
|
484
|
+
chat: "Chat",
|
|
485
|
+
send: "Envoyer",
|
|
486
|
+
copy: "Copier",
|
|
487
|
+
copied: "Copié",
|
|
488
|
+
"sound-effects": "Effets sonores",
|
|
489
|
+
language: "Langue",
|
|
490
|
+
select: "Sélectionner",
|
|
491
|
+
agent: "Agent",
|
|
492
|
+
user: "Utilisateur",
|
|
493
|
+
bot: "Bot",
|
|
494
|
+
"reset-conversation-confirm": "Êtes-vous sûr de vouloir réinitialiser la conversation ?",
|
|
495
|
+
"close-widget": "Fermer le widget",
|
|
496
|
+
"got-any-questions": "Vous avez des questions ? Chattez avec nous !",
|
|
497
|
+
"typical-response-time": "Nous répondons généralement en moins d'une minute",
|
|
498
|
+
"session-closed-lead": "Votre problème a été résolu !",
|
|
499
|
+
"create-new-ticket": "Créer un nouveau ticket",
|
|
500
|
+
exit: "Sortie",
|
|
501
|
+
"reset-conversation": "Réinitialiser la conversation",
|
|
502
|
+
"welcome-title": "Bienvenue dans notre chat de support",
|
|
503
|
+
"welcome-description": "Nous sommes là pour vous aider ! Commencez une conversation et nous vous répondrons dès que possible.",
|
|
504
|
+
"your-name": "Votre nom",
|
|
505
|
+
"your-email": "Votre adresse e-mail",
|
|
506
|
+
"start-chat": "Parler au support",
|
|
507
|
+
"starting-chat": "Connexion...",
|
|
508
|
+
"hello-greeting": "Bonjour ! Comment pouvons-nous vous aider aujourd'hui ?"
|
|
509
|
+
}, Gn = {
|
|
510
|
+
ok: "OK",
|
|
511
|
+
yes: "Ja",
|
|
512
|
+
no: "Nee",
|
|
513
|
+
agree: "Akkoord",
|
|
514
|
+
cancel: "Annuleren",
|
|
515
|
+
"yes-exit": "Ja, afsluiten",
|
|
516
|
+
"yes-reset": "Ja, resetten",
|
|
517
|
+
"no-cancel": "Nee, annuleren",
|
|
518
|
+
"are-you-sure": "Weet u het zeker?",
|
|
519
|
+
recording: "Opname...",
|
|
520
|
+
"thank-you": "Dank u",
|
|
521
|
+
"sorry-try-again": "Sorry, probeer het opnieuw",
|
|
522
|
+
"error-occurred": "Er is een fout opgetreden",
|
|
523
|
+
"please-try-again": "Probeer het opnieuw",
|
|
524
|
+
"write-a-message": "Schrijf een bericht...",
|
|
525
|
+
"send-message": "Bericht verzenden",
|
|
526
|
+
connected: "Verbonden",
|
|
527
|
+
connecting: "Verbinding maken",
|
|
528
|
+
reconnecting: "Opnieuw verbinding maken",
|
|
529
|
+
reconnected: "Opnieuw verbonden",
|
|
530
|
+
disconnecting: "Verbinding verbreken",
|
|
531
|
+
disconnected: "Verbinding verbroken",
|
|
532
|
+
error: "Fout",
|
|
533
|
+
"persist-session": "Sessie behouden",
|
|
534
|
+
settings: "Instellingen",
|
|
535
|
+
close: "Sluiten",
|
|
536
|
+
help: "Help",
|
|
537
|
+
chat: "Chat",
|
|
538
|
+
send: "Verzenden",
|
|
539
|
+
copy: "Kopiëren",
|
|
540
|
+
copied: "Gekopieerd",
|
|
541
|
+
"sound-effects": "Geluidseffecten",
|
|
542
|
+
language: "Taal",
|
|
543
|
+
select: "Selecteren",
|
|
544
|
+
agent: "Agent",
|
|
545
|
+
user: "Gebruiker",
|
|
546
|
+
bot: "Bot",
|
|
547
|
+
"reset-conversation-confirm": "Weet u zeker dat u het gesprek wilt resetten?",
|
|
548
|
+
"close-widget": "Widget sluiten",
|
|
549
|
+
"got-any-questions": "Heeft u vragen? Chat met ons!",
|
|
550
|
+
"typical-response-time": "We reageren doorgaans binnen 1 minuut",
|
|
551
|
+
"session-closed-lead": "Uw probleem is opgelost!",
|
|
552
|
+
"create-new-ticket": "Nieuw ticket aanmaken",
|
|
553
|
+
exit: "Afsluiten",
|
|
554
|
+
"reset-conversation": "Gesprek resetten",
|
|
555
|
+
"welcome-title": "Welkom bij onze supportchat",
|
|
556
|
+
"welcome-description": "We zijn hier om te helpen! Begin een gesprek en we nemen zo snel mogelijk contact met u op.",
|
|
557
|
+
"your-name": "Uw naam",
|
|
558
|
+
"your-email": "Uw e-mailadres",
|
|
559
|
+
"start-chat": "Praat met ondersteuning",
|
|
560
|
+
"starting-chat": "Verbinding maken...",
|
|
561
|
+
"hello-greeting": "Hallo! Hoe kunnen we u vandaag helpen?"
|
|
562
|
+
}, zn = {
|
|
563
|
+
ok: "OK",
|
|
564
|
+
yes: "Sim",
|
|
565
|
+
no: "Não",
|
|
566
|
+
agree: "Concordo",
|
|
567
|
+
cancel: "Cancelar",
|
|
568
|
+
"yes-exit": "Sim, sair",
|
|
569
|
+
"yes-reset": "Sim, redefinir",
|
|
570
|
+
"no-cancel": "Não, cancelar",
|
|
571
|
+
"are-you-sure": "Você tem certeza?",
|
|
572
|
+
recording: "Gravando...",
|
|
573
|
+
"thank-you": "Obrigado",
|
|
574
|
+
"sorry-try-again": "Desculpe, tente novamente",
|
|
575
|
+
"error-occurred": "Ocorreu um erro",
|
|
576
|
+
"please-try-again": "Por favor, tente novamente",
|
|
577
|
+
"write-a-message": "Escreva uma mensagem...",
|
|
578
|
+
"send-message": "Enviar mensagem",
|
|
579
|
+
connected: "Conectado",
|
|
580
|
+
connecting: "Conectando",
|
|
581
|
+
reconnecting: "Reconectando",
|
|
582
|
+
reconnected: "Reconectado",
|
|
583
|
+
disconnecting: "Desconectando",
|
|
584
|
+
disconnected: "Desconectado",
|
|
585
|
+
error: "Erro",
|
|
586
|
+
"persist-session": "Persistir sessão",
|
|
587
|
+
settings: "Configurações",
|
|
588
|
+
close: "Fechar",
|
|
589
|
+
help: "Ajuda",
|
|
590
|
+
chat: "Bate-papo",
|
|
591
|
+
send: "Enviar",
|
|
592
|
+
copy: "Copiar",
|
|
593
|
+
copied: "Copiado",
|
|
594
|
+
"sound-effects": "Efeitos sonoros",
|
|
595
|
+
language: "Idioma",
|
|
596
|
+
select: "Selecionar",
|
|
597
|
+
agent: "Agente",
|
|
598
|
+
user: "Usuário",
|
|
599
|
+
bot: "Bot",
|
|
600
|
+
"reset-conversation-confirm": "Você tem certeza de que deseja redefinir a conversa?",
|
|
601
|
+
"close-widget": "Fechar widget",
|
|
602
|
+
"got-any-questions": "Tem alguma dúvida? Converse conosco!",
|
|
603
|
+
"typical-response-time": "Geralmente respondemos em menos de 1 minuto",
|
|
604
|
+
"session-closed-lead": "Seu problema foi resolvido!",
|
|
605
|
+
"create-new-ticket": "Criar novo ticket",
|
|
606
|
+
exit: "Sair",
|
|
607
|
+
"reset-conversation": "Redefinir conversa",
|
|
608
|
+
"welcome-title": "Bem-vindo ao nosso chat de suporte",
|
|
609
|
+
"welcome-description": "Estamos aqui para ajudar! Inicie uma conversa e responderemos o mais rápido possível.",
|
|
610
|
+
"your-name": "Seu nome",
|
|
611
|
+
"your-email": "Seu endereço de email",
|
|
612
|
+
"start-chat": "Falar com o suporte",
|
|
613
|
+
"starting-chat": "Conectando...",
|
|
614
|
+
"hello-greeting": "Olá! Como podemos ajudar você hoje?"
|
|
615
|
+
}, Yn = {
|
|
616
|
+
en: Un,
|
|
617
|
+
ar: xn,
|
|
618
|
+
nl: Gn,
|
|
619
|
+
fr: Hn,
|
|
620
|
+
de: Vn,
|
|
621
|
+
pt: zn
|
|
622
|
+
};
|
|
623
|
+
function Bn(e, t) {
|
|
624
|
+
const n = Yn[t];
|
|
625
|
+
return n && n[e] || "";
|
|
626
|
+
}
|
|
627
|
+
const [qn, Xn] = Pe();
|
|
628
|
+
function bt({ children: e }) {
|
|
629
|
+
const t = ae();
|
|
630
|
+
return /* @__PURE__ */ $(
|
|
631
|
+
Xn,
|
|
632
|
+
{
|
|
633
|
+
value: {
|
|
634
|
+
get: (n, r) => Bn(n, t.language ?? "en") + (r ?? ""),
|
|
635
|
+
lang: t.language
|
|
636
|
+
},
|
|
637
|
+
children: e
|
|
638
|
+
}
|
|
639
|
+
);
|
|
640
|
+
}
|
|
641
|
+
class Qn {
|
|
642
|
+
constructor(t) {
|
|
643
|
+
st(this, "components", [
|
|
644
|
+
{
|
|
645
|
+
key: "FALLBACK",
|
|
646
|
+
component: (t) => "fallback"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
key: "LOADING",
|
|
650
|
+
component: (t) => "loading"
|
|
651
|
+
}
|
|
652
|
+
]);
|
|
653
|
+
const { components: n } = t;
|
|
654
|
+
if (n && n.forEach((r) => this.register(r)), this.components.length === 0)
|
|
655
|
+
throw new Error("No components registered");
|
|
656
|
+
if (!this.get("FALLBACK"))
|
|
657
|
+
throw new Error("No fallback component registered");
|
|
658
|
+
}
|
|
659
|
+
register(t) {
|
|
660
|
+
const n = this.components.findIndex((r) => r.key === t.key);
|
|
661
|
+
return n !== -1 ? this.components[n] = t : this.components.push(t), this;
|
|
662
|
+
}
|
|
663
|
+
get(t) {
|
|
664
|
+
const n = this.components.find(
|
|
665
|
+
(r) => r.key.toUpperCase() === t.toUpperCase()
|
|
666
|
+
);
|
|
667
|
+
return n || null;
|
|
668
|
+
}
|
|
669
|
+
getOrFallback(t) {
|
|
670
|
+
return t ? this.get(t) || this.get("FALLBACK") : this.get("FALLBACK");
|
|
671
|
+
}
|
|
672
|
+
getComponent(t, n) {
|
|
673
|
+
var r;
|
|
674
|
+
return n ? this.getOrFallback(t).component : (r = this.get(t)) == null ? void 0 : r.component;
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
const Wn = "data:image/png;base64,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", Kn = {
|
|
678
|
+
primaryColor: "hsl(0,0%,0%)",
|
|
679
|
+
triggerOffset: "20px"
|
|
680
|
+
};
|
|
681
|
+
function Jn(e) {
|
|
682
|
+
return ee(() => {
|
|
683
|
+
var o, s, i, l;
|
|
684
|
+
const t = {
|
|
685
|
+
messageArrived: "https://cloud.opencopilot.so/sfx/notification3.mp3",
|
|
686
|
+
...e.soundEffectFiles
|
|
687
|
+
}, n = Object.assign({}, Kn, e.theme ?? {}), r = {
|
|
688
|
+
id: "555",
|
|
689
|
+
is_ai: !0,
|
|
690
|
+
profile_picture: ((o = e.bot) == null ? void 0 : o.avatarUrl) || Wn,
|
|
691
|
+
name: ((s = e.bot) == null ? void 0 : s.name) || "Bot"
|
|
692
|
+
};
|
|
693
|
+
return {
|
|
694
|
+
...e,
|
|
695
|
+
bot: r,
|
|
696
|
+
apiUrl: e.apiUrl ?? "https://api-v2.opencopilot.so/backend",
|
|
697
|
+
socketUrl: e.socketUrl ?? "https://api-v2.opencopilot.so",
|
|
698
|
+
language: e.language ?? $n,
|
|
699
|
+
botToken: e.token,
|
|
700
|
+
headers: e.headers ?? {},
|
|
701
|
+
pathParams: e.pathParams ?? {},
|
|
702
|
+
queryParams: e.queryParams ?? {},
|
|
703
|
+
user: e.user ?? {},
|
|
704
|
+
theme: n,
|
|
705
|
+
soundEffectFiles: t,
|
|
706
|
+
collectUserData: e.collectUserData ?? !1,
|
|
707
|
+
defaultSettings: {
|
|
708
|
+
persistSession: ((i = e.settings) == null ? void 0 : i.persistSession) ?? !1,
|
|
709
|
+
useSoundEffects: ((l = e.settings) == null ? void 0 : l.useSoundEffects) ?? !1
|
|
710
|
+
}
|
|
711
|
+
};
|
|
712
|
+
}, [e]);
|
|
713
|
+
}
|
|
714
|
+
const [ae, Zn] = Pe(), $n = "en";
|
|
715
|
+
function er({
|
|
716
|
+
children: e,
|
|
717
|
+
data: t
|
|
718
|
+
}) {
|
|
719
|
+
const n = ee(
|
|
720
|
+
() => new Qn({
|
|
721
|
+
components: t.components
|
|
722
|
+
}),
|
|
723
|
+
[t]
|
|
724
|
+
), r = Jn(t), o = Et({
|
|
725
|
+
apiUrl: r.apiUrl,
|
|
726
|
+
botToken: r.token
|
|
727
|
+
}), [s, i] = Ze(
|
|
728
|
+
"open_settings",
|
|
729
|
+
r.defaultSettings,
|
|
730
|
+
"local"
|
|
731
|
+
);
|
|
732
|
+
return /* @__PURE__ */ $(
|
|
733
|
+
Zn,
|
|
734
|
+
{
|
|
735
|
+
value: { ...r, http: o, componentStore: n, widgetSettings: s, setSettings: (g) => {
|
|
736
|
+
const d = Object.assign(
|
|
737
|
+
{},
|
|
738
|
+
r.defaultSettings,
|
|
739
|
+
s,
|
|
740
|
+
g
|
|
741
|
+
);
|
|
742
|
+
i(d);
|
|
743
|
+
} },
|
|
744
|
+
children: /* @__PURE__ */ $(bt, { children: e })
|
|
745
|
+
}
|
|
746
|
+
);
|
|
747
|
+
}
|
|
748
|
+
var po = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
749
|
+
function go(e) {
|
|
750
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
751
|
+
}
|
|
752
|
+
function tr(e) {
|
|
753
|
+
if (e.__esModule) return e;
|
|
754
|
+
var t = e.default;
|
|
755
|
+
if (typeof t == "function") {
|
|
756
|
+
var n = function r() {
|
|
757
|
+
return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
|
|
758
|
+
};
|
|
759
|
+
n.prototype = t.prototype;
|
|
760
|
+
} else n = {};
|
|
761
|
+
return Object.defineProperty(n, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
|
|
762
|
+
var o = Object.getOwnPropertyDescriptor(e, r);
|
|
763
|
+
Object.defineProperty(n, r, o.get ? o : {
|
|
764
|
+
enumerable: !0,
|
|
765
|
+
get: function() {
|
|
766
|
+
return e[r];
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
}), n;
|
|
770
|
+
}
|
|
771
|
+
var wt = {}, Ye = function(e, t) {
|
|
772
|
+
return Ye = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, r) {
|
|
773
|
+
n.__proto__ = r;
|
|
774
|
+
} || function(n, r) {
|
|
775
|
+
for (var o in r) Object.prototype.hasOwnProperty.call(r, o) && (n[o] = r[o]);
|
|
776
|
+
}, Ye(e, t);
|
|
777
|
+
};
|
|
778
|
+
function Ot(e, t) {
|
|
779
|
+
if (typeof t != "function" && t !== null)
|
|
780
|
+
throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
|
|
781
|
+
Ye(e, t);
|
|
782
|
+
function n() {
|
|
783
|
+
this.constructor = e;
|
|
784
|
+
}
|
|
785
|
+
e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());
|
|
786
|
+
}
|
|
787
|
+
var Ce = function() {
|
|
788
|
+
return Ce = Object.assign || function(t) {
|
|
789
|
+
for (var n, r = 1, o = arguments.length; r < o; r++) {
|
|
790
|
+
n = arguments[r];
|
|
791
|
+
for (var s in n) Object.prototype.hasOwnProperty.call(n, s) && (t[s] = n[s]);
|
|
792
|
+
}
|
|
793
|
+
return t;
|
|
794
|
+
}, Ce.apply(this, arguments);
|
|
795
|
+
};
|
|
796
|
+
function At(e, t) {
|
|
797
|
+
var n = {};
|
|
798
|
+
for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
|
|
799
|
+
if (e != null && typeof Object.getOwnPropertySymbols == "function")
|
|
800
|
+
for (var o = 0, r = Object.getOwnPropertySymbols(e); o < r.length; o++)
|
|
801
|
+
t.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[o]) && (n[r[o]] = e[r[o]]);
|
|
802
|
+
return n;
|
|
803
|
+
}
|
|
804
|
+
function Rt(e, t, n, r) {
|
|
805
|
+
var o = arguments.length, s = o < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, i;
|
|
806
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function") s = Reflect.decorate(e, t, n, r);
|
|
807
|
+
else for (var l = e.length - 1; l >= 0; l--) (i = e[l]) && (s = (o < 3 ? i(s) : o > 3 ? i(t, n, s) : i(t, n)) || s);
|
|
808
|
+
return o > 3 && s && Object.defineProperty(t, n, s), s;
|
|
809
|
+
}
|
|
810
|
+
function Tt(e, t) {
|
|
811
|
+
return function(n, r) {
|
|
812
|
+
t(n, r, e);
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
function Ct(e, t, n, r, o, s) {
|
|
816
|
+
function i(a) {
|
|
817
|
+
if (a !== void 0 && typeof a != "function") throw new TypeError("Function expected");
|
|
818
|
+
return a;
|
|
819
|
+
}
|
|
820
|
+
for (var l = r.kind, g = l === "getter" ? "get" : l === "setter" ? "set" : "value", d = !t && e ? r.static ? e : e.prototype : null, c = t || (d ? Object.getOwnPropertyDescriptor(d, r.name) : {}), u, p = !1, f = n.length - 1; f >= 0; f--) {
|
|
821
|
+
var m = {};
|
|
822
|
+
for (var h in r) m[h] = h === "access" ? {} : r[h];
|
|
823
|
+
for (var h in r.access) m.access[h] = r.access[h];
|
|
824
|
+
m.addInitializer = function(a) {
|
|
825
|
+
if (p) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
826
|
+
s.push(i(a || null));
|
|
827
|
+
};
|
|
828
|
+
var D = (0, n[f])(l === "accessor" ? { get: c.get, set: c.set } : c[g], m);
|
|
829
|
+
if (l === "accessor") {
|
|
830
|
+
if (D === void 0) continue;
|
|
831
|
+
if (D === null || typeof D != "object") throw new TypeError("Object expected");
|
|
832
|
+
(u = i(D.get)) && (c.get = u), (u = i(D.set)) && (c.set = u), (u = i(D.init)) && o.unshift(u);
|
|
833
|
+
} else (u = i(D)) && (l === "field" ? o.unshift(u) : c[g] = u);
|
|
834
|
+
}
|
|
835
|
+
d && Object.defineProperty(d, r.name, c), p = !0;
|
|
836
|
+
}
|
|
837
|
+
function Dt(e, t, n) {
|
|
838
|
+
for (var r = arguments.length > 2, o = 0; o < t.length; o++)
|
|
839
|
+
n = r ? t[o].call(e, n) : t[o].call(e);
|
|
840
|
+
return r ? n : void 0;
|
|
841
|
+
}
|
|
842
|
+
function Nt(e) {
|
|
843
|
+
return typeof e == "symbol" ? e : "".concat(e);
|
|
844
|
+
}
|
|
845
|
+
function Pt(e, t, n) {
|
|
846
|
+
return typeof t == "symbol" && (t = t.description ? "[".concat(t.description, "]") : ""), Object.defineProperty(e, "name", { configurable: !0, value: n ? "".concat(n, " ", t) : t });
|
|
847
|
+
}
|
|
848
|
+
function kt(e, t) {
|
|
849
|
+
if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
|
|
850
|
+
}
|
|
851
|
+
function It(e, t, n, r) {
|
|
852
|
+
function o(s) {
|
|
853
|
+
return s instanceof n ? s : new n(function(i) {
|
|
854
|
+
i(s);
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
return new (n || (n = Promise))(function(s, i) {
|
|
858
|
+
function l(c) {
|
|
859
|
+
try {
|
|
860
|
+
d(r.next(c));
|
|
861
|
+
} catch (u) {
|
|
862
|
+
i(u);
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
function g(c) {
|
|
866
|
+
try {
|
|
867
|
+
d(r.throw(c));
|
|
868
|
+
} catch (u) {
|
|
869
|
+
i(u);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
function d(c) {
|
|
873
|
+
c.done ? s(c.value) : o(c.value).then(l, g);
|
|
874
|
+
}
|
|
875
|
+
d((r = r.apply(e, t || [])).next());
|
|
876
|
+
});
|
|
877
|
+
}
|
|
878
|
+
function jt(e, t) {
|
|
879
|
+
var n = { label: 0, sent: function() {
|
|
880
|
+
if (s[0] & 1) throw s[1];
|
|
881
|
+
return s[1];
|
|
882
|
+
}, trys: [], ops: [] }, r, o, s, i = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype);
|
|
883
|
+
return i.next = l(0), i.throw = l(1), i.return = l(2), typeof Symbol == "function" && (i[Symbol.iterator] = function() {
|
|
884
|
+
return this;
|
|
885
|
+
}), i;
|
|
886
|
+
function l(d) {
|
|
887
|
+
return function(c) {
|
|
888
|
+
return g([d, c]);
|
|
889
|
+
};
|
|
890
|
+
}
|
|
891
|
+
function g(d) {
|
|
892
|
+
if (r) throw new TypeError("Generator is already executing.");
|
|
893
|
+
for (; i && (i = 0, d[0] && (n = 0)), n; ) try {
|
|
894
|
+
if (r = 1, o && (s = d[0] & 2 ? o.return : d[0] ? o.throw || ((s = o.return) && s.call(o), 0) : o.next) && !(s = s.call(o, d[1])).done) return s;
|
|
895
|
+
switch (o = 0, s && (d = [d[0] & 2, s.value]), d[0]) {
|
|
896
|
+
case 0:
|
|
897
|
+
case 1:
|
|
898
|
+
s = d;
|
|
899
|
+
break;
|
|
900
|
+
case 4:
|
|
901
|
+
return n.label++, { value: d[1], done: !1 };
|
|
902
|
+
case 5:
|
|
903
|
+
n.label++, o = d[1], d = [0];
|
|
904
|
+
continue;
|
|
905
|
+
case 7:
|
|
906
|
+
d = n.ops.pop(), n.trys.pop();
|
|
907
|
+
continue;
|
|
908
|
+
default:
|
|
909
|
+
if (s = n.trys, !(s = s.length > 0 && s[s.length - 1]) && (d[0] === 6 || d[0] === 2)) {
|
|
910
|
+
n = 0;
|
|
911
|
+
continue;
|
|
912
|
+
}
|
|
913
|
+
if (d[0] === 3 && (!s || d[1] > s[0] && d[1] < s[3])) {
|
|
914
|
+
n.label = d[1];
|
|
915
|
+
break;
|
|
916
|
+
}
|
|
917
|
+
if (d[0] === 6 && n.label < s[1]) {
|
|
918
|
+
n.label = s[1], s = d;
|
|
919
|
+
break;
|
|
920
|
+
}
|
|
921
|
+
if (s && n.label < s[2]) {
|
|
922
|
+
n.label = s[2], n.ops.push(d);
|
|
923
|
+
break;
|
|
924
|
+
}
|
|
925
|
+
s[2] && n.ops.pop(), n.trys.pop();
|
|
926
|
+
continue;
|
|
927
|
+
}
|
|
928
|
+
d = t.call(e, n);
|
|
929
|
+
} catch (c) {
|
|
930
|
+
d = [6, c], o = 0;
|
|
931
|
+
} finally {
|
|
932
|
+
r = s = 0;
|
|
933
|
+
}
|
|
934
|
+
if (d[0] & 5) throw d[1];
|
|
935
|
+
return { value: d[0] ? d[1] : void 0, done: !0 };
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
var ke = Object.create ? function(e, t, n, r) {
|
|
939
|
+
r === void 0 && (r = n);
|
|
940
|
+
var o = Object.getOwnPropertyDescriptor(t, n);
|
|
941
|
+
(!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) && (o = { enumerable: !0, get: function() {
|
|
942
|
+
return t[n];
|
|
943
|
+
} }), Object.defineProperty(e, r, o);
|
|
944
|
+
} : function(e, t, n, r) {
|
|
945
|
+
r === void 0 && (r = n), e[r] = t[n];
|
|
946
|
+
};
|
|
947
|
+
function _t(e, t) {
|
|
948
|
+
for (var n in e) n !== "default" && !Object.prototype.hasOwnProperty.call(t, n) && ke(t, e, n);
|
|
949
|
+
}
|
|
950
|
+
function De(e) {
|
|
951
|
+
var t = typeof Symbol == "function" && Symbol.iterator, n = t && e[t], r = 0;
|
|
952
|
+
if (n) return n.call(e);
|
|
953
|
+
if (e && typeof e.length == "number") return {
|
|
954
|
+
next: function() {
|
|
955
|
+
return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e };
|
|
956
|
+
}
|
|
957
|
+
};
|
|
958
|
+
throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
959
|
+
}
|
|
960
|
+
function $e(e, t) {
|
|
961
|
+
var n = typeof Symbol == "function" && e[Symbol.iterator];
|
|
962
|
+
if (!n) return e;
|
|
963
|
+
var r = n.call(e), o, s = [], i;
|
|
964
|
+
try {
|
|
965
|
+
for (; (t === void 0 || t-- > 0) && !(o = r.next()).done; ) s.push(o.value);
|
|
966
|
+
} catch (l) {
|
|
967
|
+
i = { error: l };
|
|
968
|
+
} finally {
|
|
969
|
+
try {
|
|
970
|
+
o && !o.done && (n = r.return) && n.call(r);
|
|
971
|
+
} finally {
|
|
972
|
+
if (i) throw i.error;
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
return s;
|
|
976
|
+
}
|
|
977
|
+
function Mt() {
|
|
978
|
+
for (var e = [], t = 0; t < arguments.length; t++)
|
|
979
|
+
e = e.concat($e(arguments[t]));
|
|
980
|
+
return e;
|
|
981
|
+
}
|
|
982
|
+
function Ft() {
|
|
983
|
+
for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length;
|
|
984
|
+
for (var r = Array(e), o = 0, t = 0; t < n; t++)
|
|
985
|
+
for (var s = arguments[t], i = 0, l = s.length; i < l; i++, o++)
|
|
986
|
+
r[o] = s[i];
|
|
987
|
+
return r;
|
|
988
|
+
}
|
|
989
|
+
function Lt(e, t, n) {
|
|
990
|
+
if (n || arguments.length === 2) for (var r = 0, o = t.length, s; r < o; r++)
|
|
991
|
+
(s || !(r in t)) && (s || (s = Array.prototype.slice.call(t, 0, r)), s[r] = t[r]);
|
|
992
|
+
return e.concat(s || Array.prototype.slice.call(t));
|
|
993
|
+
}
|
|
994
|
+
function pe(e) {
|
|
995
|
+
return this instanceof pe ? (this.v = e, this) : new pe(e);
|
|
996
|
+
}
|
|
997
|
+
function xt(e, t, n) {
|
|
998
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
999
|
+
var r = n.apply(e, t || []), o, s = [];
|
|
1000
|
+
return o = Object.create((typeof AsyncIterator == "function" ? AsyncIterator : Object).prototype), l("next"), l("throw"), l("return", i), o[Symbol.asyncIterator] = function() {
|
|
1001
|
+
return this;
|
|
1002
|
+
}, o;
|
|
1003
|
+
function i(f) {
|
|
1004
|
+
return function(m) {
|
|
1005
|
+
return Promise.resolve(m).then(f, u);
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
function l(f, m) {
|
|
1009
|
+
r[f] && (o[f] = function(h) {
|
|
1010
|
+
return new Promise(function(D, a) {
|
|
1011
|
+
s.push([f, h, D, a]) > 1 || g(f, h);
|
|
1012
|
+
});
|
|
1013
|
+
}, m && (o[f] = m(o[f])));
|
|
1014
|
+
}
|
|
1015
|
+
function g(f, m) {
|
|
1016
|
+
try {
|
|
1017
|
+
d(r[f](m));
|
|
1018
|
+
} catch (h) {
|
|
1019
|
+
p(s[0][3], h);
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
function d(f) {
|
|
1023
|
+
f.value instanceof pe ? Promise.resolve(f.value.v).then(c, u) : p(s[0][2], f);
|
|
1024
|
+
}
|
|
1025
|
+
function c(f) {
|
|
1026
|
+
g("next", f);
|
|
1027
|
+
}
|
|
1028
|
+
function u(f) {
|
|
1029
|
+
g("throw", f);
|
|
1030
|
+
}
|
|
1031
|
+
function p(f, m) {
|
|
1032
|
+
f(m), s.shift(), s.length && g(s[0][0], s[0][1]);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
function Vt(e) {
|
|
1036
|
+
var t, n;
|
|
1037
|
+
return t = {}, r("next"), r("throw", function(o) {
|
|
1038
|
+
throw o;
|
|
1039
|
+
}), r("return"), t[Symbol.iterator] = function() {
|
|
1040
|
+
return this;
|
|
1041
|
+
}, t;
|
|
1042
|
+
function r(o, s) {
|
|
1043
|
+
t[o] = e[o] ? function(i) {
|
|
1044
|
+
return (n = !n) ? { value: pe(e[o](i)), done: !1 } : s ? s(i) : i;
|
|
1045
|
+
} : s;
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
function Ut(e) {
|
|
1049
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
1050
|
+
var t = e[Symbol.asyncIterator], n;
|
|
1051
|
+
return t ? t.call(e) : (e = typeof De == "function" ? De(e) : e[Symbol.iterator](), n = {}, r("next"), r("throw"), r("return"), n[Symbol.asyncIterator] = function() {
|
|
1052
|
+
return this;
|
|
1053
|
+
}, n);
|
|
1054
|
+
function r(s) {
|
|
1055
|
+
n[s] = e[s] && function(i) {
|
|
1056
|
+
return new Promise(function(l, g) {
|
|
1057
|
+
i = e[s](i), o(l, g, i.done, i.value);
|
|
1058
|
+
});
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
function o(s, i, l, g) {
|
|
1062
|
+
Promise.resolve(g).then(function(d) {
|
|
1063
|
+
s({ value: d, done: l });
|
|
1064
|
+
}, i);
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
function Ht(e, t) {
|
|
1068
|
+
return Object.defineProperty ? Object.defineProperty(e, "raw", { value: t }) : e.raw = t, e;
|
|
1069
|
+
}
|
|
1070
|
+
var nr = Object.create ? function(e, t) {
|
|
1071
|
+
Object.defineProperty(e, "default", { enumerable: !0, value: t });
|
|
1072
|
+
} : function(e, t) {
|
|
1073
|
+
e.default = t;
|
|
1074
|
+
};
|
|
1075
|
+
function Gt(e) {
|
|
1076
|
+
if (e && e.__esModule) return e;
|
|
1077
|
+
var t = {};
|
|
1078
|
+
if (e != null) for (var n in e) n !== "default" && Object.prototype.hasOwnProperty.call(e, n) && ke(t, e, n);
|
|
1079
|
+
return nr(t, e), t;
|
|
1080
|
+
}
|
|
1081
|
+
function zt(e) {
|
|
1082
|
+
return e && e.__esModule ? e : { default: e };
|
|
1083
|
+
}
|
|
1084
|
+
function Yt(e, t, n, r) {
|
|
1085
|
+
if (n === "a" && !r) throw new TypeError("Private accessor was defined without a getter");
|
|
1086
|
+
if (typeof t == "function" ? e !== t || !r : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
1087
|
+
return n === "m" ? r : n === "a" ? r.call(e) : r ? r.value : t.get(e);
|
|
1088
|
+
}
|
|
1089
|
+
function Bt(e, t, n, r, o) {
|
|
1090
|
+
if (r === "m") throw new TypeError("Private method is not writable");
|
|
1091
|
+
if (r === "a" && !o) throw new TypeError("Private accessor was defined without a setter");
|
|
1092
|
+
if (typeof t == "function" ? e !== t || !o : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
1093
|
+
return r === "a" ? o.call(e, n) : o ? o.value = n : t.set(e, n), n;
|
|
1094
|
+
}
|
|
1095
|
+
function qt(e, t) {
|
|
1096
|
+
if (t === null || typeof t != "object" && typeof t != "function") throw new TypeError("Cannot use 'in' operator on non-object");
|
|
1097
|
+
return typeof e == "function" ? t === e : e.has(t);
|
|
1098
|
+
}
|
|
1099
|
+
function Xt(e, t, n) {
|
|
1100
|
+
if (t != null) {
|
|
1101
|
+
if (typeof t != "object" && typeof t != "function") throw new TypeError("Object expected.");
|
|
1102
|
+
var r, o;
|
|
1103
|
+
if (n) {
|
|
1104
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
1105
|
+
r = t[Symbol.asyncDispose];
|
|
1106
|
+
}
|
|
1107
|
+
if (r === void 0) {
|
|
1108
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
1109
|
+
r = t[Symbol.dispose], n && (o = r);
|
|
1110
|
+
}
|
|
1111
|
+
if (typeof r != "function") throw new TypeError("Object not disposable.");
|
|
1112
|
+
o && (r = function() {
|
|
1113
|
+
try {
|
|
1114
|
+
o.call(this);
|
|
1115
|
+
} catch (s) {
|
|
1116
|
+
return Promise.reject(s);
|
|
1117
|
+
}
|
|
1118
|
+
}), e.stack.push({ value: t, dispose: r, async: n });
|
|
1119
|
+
} else n && e.stack.push({ async: !0 });
|
|
1120
|
+
return t;
|
|
1121
|
+
}
|
|
1122
|
+
var rr = typeof SuppressedError == "function" ? SuppressedError : function(e, t, n) {
|
|
1123
|
+
var r = new Error(n);
|
|
1124
|
+
return r.name = "SuppressedError", r.error = e, r.suppressed = t, r;
|
|
1125
|
+
};
|
|
1126
|
+
function Qt(e) {
|
|
1127
|
+
function t(s) {
|
|
1128
|
+
e.error = e.hasError ? new rr(s, e.error, "An error was suppressed during disposal.") : s, e.hasError = !0;
|
|
1129
|
+
}
|
|
1130
|
+
var n, r = 0;
|
|
1131
|
+
function o() {
|
|
1132
|
+
for (; n = e.stack.pop(); )
|
|
1133
|
+
try {
|
|
1134
|
+
if (!n.async && r === 1) return r = 0, e.stack.push(n), Promise.resolve().then(o);
|
|
1135
|
+
if (n.dispose) {
|
|
1136
|
+
var s = n.dispose.call(n.value);
|
|
1137
|
+
if (n.async) return r |= 2, Promise.resolve(s).then(o, function(i) {
|
|
1138
|
+
return t(i), o();
|
|
1139
|
+
});
|
|
1140
|
+
} else r |= 1;
|
|
1141
|
+
} catch (i) {
|
|
1142
|
+
t(i);
|
|
1143
|
+
}
|
|
1144
|
+
if (r === 1) return e.hasError ? Promise.reject(e.error) : Promise.resolve();
|
|
1145
|
+
if (e.hasError) throw e.error;
|
|
1146
|
+
}
|
|
1147
|
+
return o();
|
|
1148
|
+
}
|
|
1149
|
+
function Wt(e, t) {
|
|
1150
|
+
return typeof e == "string" && /^\.\.?\//.test(e) ? e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(n, r, o, s, i) {
|
|
1151
|
+
return r ? t ? ".jsx" : ".js" : o && (!s || !i) ? n : o + s + "." + i.toLowerCase() + "js";
|
|
1152
|
+
}) : e;
|
|
1153
|
+
}
|
|
1154
|
+
const or = {
|
|
1155
|
+
__extends: Ot,
|
|
1156
|
+
__assign: Ce,
|
|
1157
|
+
__rest: At,
|
|
1158
|
+
__decorate: Rt,
|
|
1159
|
+
__param: Tt,
|
|
1160
|
+
__esDecorate: Ct,
|
|
1161
|
+
__runInitializers: Dt,
|
|
1162
|
+
__propKey: Nt,
|
|
1163
|
+
__setFunctionName: Pt,
|
|
1164
|
+
__metadata: kt,
|
|
1165
|
+
__awaiter: It,
|
|
1166
|
+
__generator: jt,
|
|
1167
|
+
__createBinding: ke,
|
|
1168
|
+
__exportStar: _t,
|
|
1169
|
+
__values: De,
|
|
1170
|
+
__read: $e,
|
|
1171
|
+
__spread: Mt,
|
|
1172
|
+
__spreadArrays: Ft,
|
|
1173
|
+
__spreadArray: Lt,
|
|
1174
|
+
__await: pe,
|
|
1175
|
+
__asyncGenerator: xt,
|
|
1176
|
+
__asyncDelegator: Vt,
|
|
1177
|
+
__asyncValues: Ut,
|
|
1178
|
+
__makeTemplateObject: Ht,
|
|
1179
|
+
__importStar: Gt,
|
|
1180
|
+
__importDefault: zt,
|
|
1181
|
+
__classPrivateFieldGet: Yt,
|
|
1182
|
+
__classPrivateFieldSet: Bt,
|
|
1183
|
+
__classPrivateFieldIn: qt,
|
|
1184
|
+
__addDisposableResource: Xt,
|
|
1185
|
+
__disposeResources: Qt,
|
|
1186
|
+
__rewriteRelativeImportExtension: Wt
|
|
1187
|
+
}, sr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1188
|
+
__proto__: null,
|
|
1189
|
+
__addDisposableResource: Xt,
|
|
1190
|
+
get __assign() {
|
|
1191
|
+
return Ce;
|
|
1192
|
+
},
|
|
1193
|
+
__asyncDelegator: Vt,
|
|
1194
|
+
__asyncGenerator: xt,
|
|
1195
|
+
__asyncValues: Ut,
|
|
1196
|
+
__await: pe,
|
|
1197
|
+
__awaiter: It,
|
|
1198
|
+
__classPrivateFieldGet: Yt,
|
|
1199
|
+
__classPrivateFieldIn: qt,
|
|
1200
|
+
__classPrivateFieldSet: Bt,
|
|
1201
|
+
__createBinding: ke,
|
|
1202
|
+
__decorate: Rt,
|
|
1203
|
+
__disposeResources: Qt,
|
|
1204
|
+
__esDecorate: Ct,
|
|
1205
|
+
__exportStar: _t,
|
|
1206
|
+
__extends: Ot,
|
|
1207
|
+
__generator: jt,
|
|
1208
|
+
__importDefault: zt,
|
|
1209
|
+
__importStar: Gt,
|
|
1210
|
+
__makeTemplateObject: Ht,
|
|
1211
|
+
__metadata: kt,
|
|
1212
|
+
__param: Tt,
|
|
1213
|
+
__propKey: Nt,
|
|
1214
|
+
__read: $e,
|
|
1215
|
+
__rest: At,
|
|
1216
|
+
__rewriteRelativeImportExtension: Wt,
|
|
1217
|
+
__runInitializers: Dt,
|
|
1218
|
+
__setFunctionName: Pt,
|
|
1219
|
+
__spread: Mt,
|
|
1220
|
+
__spreadArray: Lt,
|
|
1221
|
+
__spreadArrays: Ft,
|
|
1222
|
+
__values: De,
|
|
1223
|
+
default: or
|
|
1224
|
+
}, Symbol.toStringTag, { value: "Module" })), ir = /* @__PURE__ */ tr(sr);
|
|
1225
|
+
var Ae = {}, ut;
|
|
1226
|
+
function ar() {
|
|
1227
|
+
if (ut) return Ae;
|
|
1228
|
+
ut = 1, Object.defineProperty(Ae, "__esModule", { value: !0 });
|
|
1229
|
+
var e = ue;
|
|
1230
|
+
function t() {
|
|
1231
|
+
var n = e.useRef(!1), r = e.useCallback(function() {
|
|
1232
|
+
return n.current;
|
|
1233
|
+
}, []);
|
|
1234
|
+
return e.useEffect(function() {
|
|
1235
|
+
return n.current = !0, function() {
|
|
1236
|
+
n.current = !1;
|
|
1237
|
+
};
|
|
1238
|
+
}, []), r;
|
|
1239
|
+
}
|
|
1240
|
+
return Ae.default = t, Ae;
|
|
1241
|
+
}
|
|
1242
|
+
Object.defineProperty(wt, "__esModule", { value: !0 });
|
|
1243
|
+
var Be = ir, Fe = ue, cr = Be.__importDefault(ar());
|
|
1244
|
+
function ur(e, t, n) {
|
|
1245
|
+
t === void 0 && (t = []), n === void 0 && (n = { loading: !1 });
|
|
1246
|
+
var r = Fe.useRef(0), o = cr.default(), s = Fe.useState(n), i = s[0], l = s[1], g = Fe.useCallback(function() {
|
|
1247
|
+
for (var d = [], c = 0; c < arguments.length; c++)
|
|
1248
|
+
d[c] = arguments[c];
|
|
1249
|
+
var u = ++r.current;
|
|
1250
|
+
return i.loading || l(function(p) {
|
|
1251
|
+
return Be.__assign(Be.__assign({}, p), { loading: !0 });
|
|
1252
|
+
}), e.apply(void 0, d).then(function(p) {
|
|
1253
|
+
return o() && u === r.current && l({ value: p, loading: !1 }), p;
|
|
1254
|
+
}, function(p) {
|
|
1255
|
+
return o() && u === r.current && l({ error: p, loading: !1 }), p;
|
|
1256
|
+
});
|
|
1257
|
+
}, t);
|
|
1258
|
+
return [i, g];
|
|
1259
|
+
}
|
|
1260
|
+
var Ne = wt.default = ur;
|
|
1261
|
+
const re = /* @__PURE__ */ new Map();
|
|
1262
|
+
function ho() {
|
|
1263
|
+
const [e, t] = fe([]), { http: n } = ae();
|
|
1264
|
+
function r(c) {
|
|
1265
|
+
const u = c.map((p) => ({
|
|
1266
|
+
file: p,
|
|
1267
|
+
id: he(10),
|
|
1268
|
+
status: "pending",
|
|
1269
|
+
progress: 0
|
|
1270
|
+
}));
|
|
1271
|
+
t((p) => [...p, ...u]), u.forEach(i);
|
|
1272
|
+
}
|
|
1273
|
+
function o(c, u) {
|
|
1274
|
+
t(
|
|
1275
|
+
(p) => p.map((f) => f.id === c ? { ...f, ...u } : f)
|
|
1276
|
+
);
|
|
1277
|
+
}
|
|
1278
|
+
function s(c) {
|
|
1279
|
+
t((u) => u.filter((p) => p.id !== c));
|
|
1280
|
+
}
|
|
1281
|
+
const i = async (c) => {
|
|
1282
|
+
const u = new AbortController();
|
|
1283
|
+
re.set(c.id, u);
|
|
1284
|
+
try {
|
|
1285
|
+
t(
|
|
1286
|
+
(f) => f.map(
|
|
1287
|
+
(m) => m.id === c.id ? { ...m, status: "uploading", progress: 0 } : m
|
|
1288
|
+
)
|
|
1289
|
+
);
|
|
1290
|
+
const p = await n.apis.uploadFile(c, {
|
|
1291
|
+
signal: u.signal,
|
|
1292
|
+
onUploadProgress: (f) => {
|
|
1293
|
+
if (!f.total) return;
|
|
1294
|
+
const m = Math.round(
|
|
1295
|
+
f.loaded * 100 / f.total
|
|
1296
|
+
);
|
|
1297
|
+
o(c.id, { progress: m });
|
|
1298
|
+
}
|
|
1299
|
+
});
|
|
1300
|
+
o(c.id, {
|
|
1301
|
+
status: "success",
|
|
1302
|
+
fileUrl: p.data.fileUrl,
|
|
1303
|
+
progress: 100
|
|
1304
|
+
});
|
|
1305
|
+
} catch (p) {
|
|
1306
|
+
u.signal.aborted || o(c.id, {
|
|
1307
|
+
status: "error",
|
|
1308
|
+
error: p instanceof Error ? p.message : "Upload failed",
|
|
1309
|
+
progress: 0
|
|
1310
|
+
});
|
|
1311
|
+
} finally {
|
|
1312
|
+
re.delete(c.id);
|
|
1313
|
+
}
|
|
1314
|
+
}, l = (c) => {
|
|
1315
|
+
const u = re.get(c);
|
|
1316
|
+
u && (u.abort(), re.delete(c)), s(c);
|
|
1317
|
+
}, g = ee(() => e.filter((c) => c.status === "success" && c.fileUrl), [e]);
|
|
1318
|
+
function d() {
|
|
1319
|
+
re.forEach((c) => c.abort()), re.clear(), t([]);
|
|
1320
|
+
}
|
|
1321
|
+
return H(() => () => {
|
|
1322
|
+
re.forEach((c) => c.abort()), re.clear();
|
|
1323
|
+
}, []), {
|
|
1324
|
+
allFiles: e,
|
|
1325
|
+
appendFiles: r,
|
|
1326
|
+
handleCancelUpload: l,
|
|
1327
|
+
successFiles: g,
|
|
1328
|
+
emptyTheFiles: d,
|
|
1329
|
+
getFileById: (c) => e.find((u) => u.id === c),
|
|
1330
|
+
getUploadProgress: (c) => {
|
|
1331
|
+
var u;
|
|
1332
|
+
return ((u = e.find((p) => p.id === c)) == null ? void 0 : u.progress) ?? 0;
|
|
1333
|
+
},
|
|
1334
|
+
getUploadStatus: (c) => {
|
|
1335
|
+
var u;
|
|
1336
|
+
return (u = e.find((p) => p.id === c)) == null ? void 0 : u.status;
|
|
1337
|
+
},
|
|
1338
|
+
hasErrors: e.some((c) => c.status === "error"),
|
|
1339
|
+
isUploading: e.some((c) => c.status === "uploading")
|
|
1340
|
+
};
|
|
1341
|
+
}
|
|
1342
|
+
function lr(e, t) {
|
|
1343
|
+
const [n, r] = fe(e);
|
|
1344
|
+
return H(() => {
|
|
1345
|
+
const o = setTimeout(() => r(e), t);
|
|
1346
|
+
return () => clearTimeout(o);
|
|
1347
|
+
}, [e, t, n]), [n, r];
|
|
1348
|
+
}
|
|
1349
|
+
function dr(e) {
|
|
1350
|
+
var n, r, o, s, i, l, g;
|
|
1351
|
+
const t = e._message;
|
|
1352
|
+
switch (t && ((n = e.onAny) == null || n.call(e, t, e)), t.type) {
|
|
1353
|
+
case "message": {
|
|
1354
|
+
(r = e.onBotMessage) == null || r.call(
|
|
1355
|
+
e,
|
|
1356
|
+
{
|
|
1357
|
+
type: "FROM_BOT",
|
|
1358
|
+
component: "TEXT",
|
|
1359
|
+
id: t.server_message_id,
|
|
1360
|
+
timestamp: t.timestamp,
|
|
1361
|
+
attachments: t.attachments,
|
|
1362
|
+
data: {
|
|
1363
|
+
message: t.value
|
|
1364
|
+
},
|
|
1365
|
+
agent: t.agent.is_ai ? e._config.bot : t.agent
|
|
1366
|
+
},
|
|
1367
|
+
e
|
|
1368
|
+
);
|
|
1369
|
+
break;
|
|
1370
|
+
}
|
|
1371
|
+
case "info":
|
|
1372
|
+
(o = e.onInfo) == null || o.call(e, t, e);
|
|
1373
|
+
break;
|
|
1374
|
+
case "chat_event": {
|
|
1375
|
+
(s = e.onChatEvent) == null || s.call(
|
|
1376
|
+
e,
|
|
1377
|
+
{
|
|
1378
|
+
component: "CHAT_EVENT",
|
|
1379
|
+
type: "FROM_BOT",
|
|
1380
|
+
id: he(),
|
|
1381
|
+
data: {
|
|
1382
|
+
event: t.value.event,
|
|
1383
|
+
message: t.value.message
|
|
1384
|
+
},
|
|
1385
|
+
timestamp: t.timestamp
|
|
1386
|
+
},
|
|
1387
|
+
e
|
|
1388
|
+
);
|
|
1389
|
+
break;
|
|
1390
|
+
}
|
|
1391
|
+
case "session_update":
|
|
1392
|
+
(i = e.onSessionUpdate) == null || i.call(e, t, e);
|
|
1393
|
+
break;
|
|
1394
|
+
case "options":
|
|
1395
|
+
(l = e.onOptions) == null || l.call(e, t, e);
|
|
1396
|
+
break;
|
|
1397
|
+
case "ui": {
|
|
1398
|
+
const d = t.value;
|
|
1399
|
+
(g = e.onUi) == null || g.call(
|
|
1400
|
+
e,
|
|
1401
|
+
{
|
|
1402
|
+
type: "FROM_BOT",
|
|
1403
|
+
component: d.name,
|
|
1404
|
+
data: d.request_response,
|
|
1405
|
+
id: he(),
|
|
1406
|
+
timestamp: t.timestamp
|
|
1407
|
+
},
|
|
1408
|
+
e
|
|
1409
|
+
);
|
|
1410
|
+
break;
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
function fr(e, t, n = []) {
|
|
1415
|
+
const [r, o] = fe(null), [s, i] = fe("disconnected"), l = (a) => {
|
|
1416
|
+
i(a);
|
|
1417
|
+
}, g = () => {
|
|
1418
|
+
r && (r.disconnect(), o(null), l("disconnected"));
|
|
1419
|
+
}, d = F(() => l("connected"), [l]), c = F(
|
|
1420
|
+
() => l("disconnected"),
|
|
1421
|
+
[l]
|
|
1422
|
+
), u = F(() => l("error"), [l]), p = F(
|
|
1423
|
+
() => l("reconnected"),
|
|
1424
|
+
[l]
|
|
1425
|
+
), f = F(
|
|
1426
|
+
() => l("reconnecting"),
|
|
1427
|
+
[l]
|
|
1428
|
+
), m = F(
|
|
1429
|
+
() => l("error"),
|
|
1430
|
+
[l]
|
|
1431
|
+
), h = F(
|
|
1432
|
+
() => l("error"),
|
|
1433
|
+
[l]
|
|
1434
|
+
);
|
|
1435
|
+
H(() => {
|
|
1436
|
+
if (!e) return;
|
|
1437
|
+
const a = fn(e, t);
|
|
1438
|
+
return o(a), () => {
|
|
1439
|
+
a.disconnect(), o(null);
|
|
1440
|
+
};
|
|
1441
|
+
}, [e]);
|
|
1442
|
+
const D = (a, G, O = []) => {
|
|
1443
|
+
H(() => {
|
|
1444
|
+
if (r)
|
|
1445
|
+
return r.on(a, G), () => {
|
|
1446
|
+
r.off(a, G);
|
|
1447
|
+
};
|
|
1448
|
+
}, [r, a, G, ...O]);
|
|
1449
|
+
};
|
|
1450
|
+
return H(() => {
|
|
1451
|
+
if (r)
|
|
1452
|
+
return r.on("connect", d), r.on("disconnect", c), r.on("connect_error", u), r.on("reconnect", p), r.on("reconnecting", f), r.on("reconnect_error", m), r.on("reconnect_failed", h), () => {
|
|
1453
|
+
r.off("connect", d), r.off("disconnect", c), r.off("connect_error", u), r.off("reconnect", p), r.off("reconnecting", f), r.off("reconnect_error", m), r.off("reconnect_failed", h);
|
|
1454
|
+
};
|
|
1455
|
+
}, [
|
|
1456
|
+
d,
|
|
1457
|
+
u,
|
|
1458
|
+
c,
|
|
1459
|
+
p,
|
|
1460
|
+
m,
|
|
1461
|
+
h,
|
|
1462
|
+
f,
|
|
1463
|
+
r
|
|
1464
|
+
]), {
|
|
1465
|
+
socket: r,
|
|
1466
|
+
socketState: s,
|
|
1467
|
+
disconnect: g,
|
|
1468
|
+
useListen: D
|
|
1469
|
+
};
|
|
1470
|
+
}
|
|
1471
|
+
function pr(e, t) {
|
|
1472
|
+
switch (e) {
|
|
1473
|
+
case "connected":
|
|
1474
|
+
return t("connected", "🟢");
|
|
1475
|
+
case "connecting":
|
|
1476
|
+
return t("connecting", "🟡");
|
|
1477
|
+
case "reconnecting":
|
|
1478
|
+
return t("reconnecting", "🟡");
|
|
1479
|
+
case "reconnected":
|
|
1480
|
+
return t("reconnected", "🟢");
|
|
1481
|
+
case "disconnecting":
|
|
1482
|
+
return t("disconnecting", "🔴");
|
|
1483
|
+
case "disconnected":
|
|
1484
|
+
return t("disconnected", "🔴");
|
|
1485
|
+
case "error":
|
|
1486
|
+
return t("error", "❌");
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
function gr(e) {
|
|
1490
|
+
const t = oe(null);
|
|
1491
|
+
return H(() => {
|
|
1492
|
+
if (!t.current) {
|
|
1493
|
+
const n = new Audio(e.src);
|
|
1494
|
+
n.volume = e.volume, n.loop = !1, n.preload = "auto", t.current = n;
|
|
1495
|
+
}
|
|
1496
|
+
return () => {
|
|
1497
|
+
var n, r;
|
|
1498
|
+
(n = t.current) == null || n.pause(), (r = t.current) == null || r.remove();
|
|
1499
|
+
};
|
|
1500
|
+
}, [e]), {
|
|
1501
|
+
play: () => {
|
|
1502
|
+
var n;
|
|
1503
|
+
e.soundEnabled && ((n = t.current) == null || n.play());
|
|
1504
|
+
},
|
|
1505
|
+
stop: () => {
|
|
1506
|
+
var n;
|
|
1507
|
+
(n = t.current) == null || n.pause();
|
|
1508
|
+
}
|
|
1509
|
+
};
|
|
1510
|
+
}
|
|
1511
|
+
function hr() {
|
|
1512
|
+
const { soundEffectFiles: e, widgetSettings: t, defaultSettings: n } = ae(), r = (t == null ? void 0 : t.useSoundEffects) ?? n.useSoundEffects;
|
|
1513
|
+
return {
|
|
1514
|
+
messageArrivedSound: gr({
|
|
1515
|
+
src: e.messageArrived,
|
|
1516
|
+
soundEnabled: r,
|
|
1517
|
+
volume: 0.5
|
|
1518
|
+
})
|
|
1519
|
+
};
|
|
1520
|
+
}
|
|
1521
|
+
function mr(e, t) {
|
|
1522
|
+
return dn(e, (n) => {
|
|
1523
|
+
const r = () => {
|
|
1524
|
+
n.lastUpdated = Date.now();
|
|
1525
|
+
};
|
|
1526
|
+
switch (t.type) {
|
|
1527
|
+
case "ADD_RESPONSE_MESSAGE": {
|
|
1528
|
+
n.messages.push(t.payload), r();
|
|
1529
|
+
break;
|
|
1530
|
+
}
|
|
1531
|
+
case "APPEND_USER_MESSAGE": {
|
|
1532
|
+
n.messages.push(t.payload), r();
|
|
1533
|
+
break;
|
|
1534
|
+
}
|
|
1535
|
+
case "RESET": {
|
|
1536
|
+
n.messages = [], n.lastUpdated = null, n.keyboard = null;
|
|
1537
|
+
break;
|
|
1538
|
+
}
|
|
1539
|
+
case "PREPEND_HISTORY": {
|
|
1540
|
+
const o = t.payload.map((s) => s.id);
|
|
1541
|
+
n.messages = n.messages.filter(
|
|
1542
|
+
(s) => !o.includes(s.id)
|
|
1543
|
+
), n.messages = [...t.payload, ...n.messages], r();
|
|
1544
|
+
break;
|
|
1545
|
+
}
|
|
1546
|
+
case "SET_KEYBOARD": {
|
|
1547
|
+
n.keyboard = t.payload;
|
|
1548
|
+
break;
|
|
1549
|
+
}
|
|
1550
|
+
case "SET_DELIVERED_AT": {
|
|
1551
|
+
const o = n.messages.find((s) => {
|
|
1552
|
+
var i;
|
|
1553
|
+
if (s.type === "FROM_USER" && s.id === ((i = t.payload) == null ? void 0 : i.clientMessageId))
|
|
1554
|
+
return !0;
|
|
1555
|
+
});
|
|
1556
|
+
(o == null ? void 0 : o.type) === "FROM_USER" && pn(o, "deliveredAt", t.payload.deliveredAt);
|
|
1557
|
+
break;
|
|
1558
|
+
}
|
|
1559
|
+
case "SET_MESSAGES": {
|
|
1560
|
+
n.messages = t.payload;
|
|
1561
|
+
break;
|
|
1562
|
+
}
|
|
1563
|
+
case "APPEND_MESSAGES": {
|
|
1564
|
+
const o = t.payload.filter((s) => !n.messages.some((i) => i.id === s.id));
|
|
1565
|
+
n.messages.push(...o);
|
|
1566
|
+
break;
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
});
|
|
1570
|
+
}
|
|
1571
|
+
function yr({
|
|
1572
|
+
persist: e,
|
|
1573
|
+
sessionKey: t = (n, { external_id: r }) => `[OPEN_SESSION_${n}]_${r || "session"}`
|
|
1574
|
+
}) {
|
|
1575
|
+
const { botToken: n, http: r, user: o } = ae(), [s, i, l] = Ze(
|
|
1576
|
+
t(n, o),
|
|
1577
|
+
void 0,
|
|
1578
|
+
e ? "local" : "memory"
|
|
1579
|
+
), g = s ? {
|
|
1580
|
+
...s,
|
|
1581
|
+
isSessionClosed: s.status !== mt.OPEN,
|
|
1582
|
+
isAssignedToAi: s.assignee_id === 555,
|
|
1583
|
+
isAssignedToHuman: s.assignee_id !== 555,
|
|
1584
|
+
isPendingHuman: s.assignee_id === 555 && s.ai_closure_type === an.handed_off
|
|
1585
|
+
} : null, [d, c] = Ne(
|
|
1586
|
+
async (p) => {
|
|
1587
|
+
let f = await r.apis.fetchSession(p);
|
|
1588
|
+
return f.data && i(f.data), f.data;
|
|
1589
|
+
},
|
|
1590
|
+
[r, i]
|
|
1591
|
+
);
|
|
1592
|
+
function u() {
|
|
1593
|
+
i(null), l();
|
|
1594
|
+
}
|
|
1595
|
+
return {
|
|
1596
|
+
session: g,
|
|
1597
|
+
refreshSession: c,
|
|
1598
|
+
refreshSessionState: d,
|
|
1599
|
+
deleteSession: u,
|
|
1600
|
+
setSession: i
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1603
|
+
function Sr() {
|
|
1604
|
+
const [e, t] = fe({ state: "idle" });
|
|
1605
|
+
return [e, t];
|
|
1606
|
+
}
|
|
1607
|
+
function vr({ onSessionDestroy: e }) {
|
|
1608
|
+
const [t, n] = cn(mr, {
|
|
1609
|
+
lastUpdated: null,
|
|
1610
|
+
messages: [],
|
|
1611
|
+
keyboard: null
|
|
1612
|
+
}), r = qn(), {
|
|
1613
|
+
botToken: o,
|
|
1614
|
+
http: s,
|
|
1615
|
+
socketUrl: i,
|
|
1616
|
+
widgetSettings: l,
|
|
1617
|
+
defaultSettings: g,
|
|
1618
|
+
language: d,
|
|
1619
|
+
...c
|
|
1620
|
+
} = ae(), { messageArrivedSound: u } = hr(), [p, f] = Ne(
|
|
1621
|
+
async (v) => {
|
|
1622
|
+
if (a)
|
|
1623
|
+
try {
|
|
1624
|
+
const { data: A } = await s.apis.fetchHistory(v);
|
|
1625
|
+
if (!A) return [];
|
|
1626
|
+
if (Array.isArray(A))
|
|
1627
|
+
return it(A ?? []);
|
|
1628
|
+
} catch (A) {
|
|
1629
|
+
return console.error(A), [];
|
|
1630
|
+
}
|
|
1631
|
+
return [];
|
|
1632
|
+
},
|
|
1633
|
+
[c.bot]
|
|
1634
|
+
), m = (l == null ? void 0 : l.persistSession) || g.persistSession, {
|
|
1635
|
+
refreshSession: h,
|
|
1636
|
+
refreshSessionState: D,
|
|
1637
|
+
session: a,
|
|
1638
|
+
deleteSession: G,
|
|
1639
|
+
setSession: O
|
|
1640
|
+
} = yr({
|
|
1641
|
+
persist: m
|
|
1642
|
+
}), [E, w] = Sr();
|
|
1643
|
+
function S(v) {
|
|
1644
|
+
const A = (a == null ? void 0 : a.isAssignedToHuman) || (a == null ? void 0 : a.isPendingHuman) || (a == null ? void 0 : a.isSessionClosed) || !(a != null && a.isAssignedToAi);
|
|
1645
|
+
w(A ? {
|
|
1646
|
+
state: "idle"
|
|
1647
|
+
} : v);
|
|
1648
|
+
}
|
|
1649
|
+
const { socket: y, socketState: R, useListen: N } = fr(i, {
|
|
1650
|
+
transports: ["websocket"],
|
|
1651
|
+
closeOnBeforeunload: !0,
|
|
1652
|
+
autoConnect: !0,
|
|
1653
|
+
query: {
|
|
1654
|
+
botToken: o,
|
|
1655
|
+
sessionId: a == null ? void 0 : a.id,
|
|
1656
|
+
client: "widget",
|
|
1657
|
+
clientVersion: ct.version,
|
|
1658
|
+
language: d
|
|
1659
|
+
}
|
|
1660
|
+
});
|
|
1661
|
+
H(() => {
|
|
1662
|
+
async function v() {
|
|
1663
|
+
if (!a) return;
|
|
1664
|
+
const A = await h(a == null ? void 0 : a.id);
|
|
1665
|
+
if (A) {
|
|
1666
|
+
const I = await f(A.id);
|
|
1667
|
+
I && n({ type: "PREPEND_HISTORY", payload: I });
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1670
|
+
v();
|
|
1671
|
+
}, []), H(() => {
|
|
1672
|
+
let v;
|
|
1673
|
+
if (a && y) {
|
|
1674
|
+
const I = {
|
|
1675
|
+
sessionId: a.id,
|
|
1676
|
+
client: "widget",
|
|
1677
|
+
botToken: o,
|
|
1678
|
+
user: c.user,
|
|
1679
|
+
timestamp: Date.now()
|
|
1680
|
+
};
|
|
1681
|
+
async function U() {
|
|
1682
|
+
y == null || y.emit("heartbeat", I);
|
|
1683
|
+
}
|
|
1684
|
+
U(), v = setInterval(() => {
|
|
1685
|
+
U();
|
|
1686
|
+
}, 50 * 1e3);
|
|
1687
|
+
}
|
|
1688
|
+
return () => {
|
|
1689
|
+
clearInterval(v);
|
|
1690
|
+
};
|
|
1691
|
+
}, [y, a, o, c.user]), N(
|
|
1692
|
+
"heartbeat:ack",
|
|
1693
|
+
(v) => {
|
|
1694
|
+
},
|
|
1695
|
+
[a]
|
|
1696
|
+
);
|
|
1697
|
+
const [M, Y] = lr(
|
|
1698
|
+
() => pr(R, r.get),
|
|
1699
|
+
1e3
|
|
1700
|
+
), B = () => {
|
|
1701
|
+
a && y && y.emit("join_session", { session_id: a.id });
|
|
1702
|
+
}, L = () => {
|
|
1703
|
+
a && y && y.emit("join_session", { session_id: a.id });
|
|
1704
|
+
};
|
|
1705
|
+
H(() => {
|
|
1706
|
+
if (y)
|
|
1707
|
+
return y.on("connect", B), y.on("reconnect", L), () => {
|
|
1708
|
+
y.off("connect", B), y.off("reconnect", L);
|
|
1709
|
+
};
|
|
1710
|
+
}, [B, y, L]);
|
|
1711
|
+
function Q(v) {
|
|
1712
|
+
y == null || y.emit("join_session", {
|
|
1713
|
+
session_id: v
|
|
1714
|
+
});
|
|
1715
|
+
}
|
|
1716
|
+
function Se() {
|
|
1717
|
+
y == null || y.emit("leave_session", { session_id: a == null ? void 0 : a.id }), G(), n({ type: "RESET" }), e == null || e(), S({ state: "idle" });
|
|
1718
|
+
}
|
|
1719
|
+
function ve() {
|
|
1720
|
+
Se(), s.apis.createSession(o).then(({ data: v }) => {
|
|
1721
|
+
O(v), Q(v.id);
|
|
1722
|
+
});
|
|
1723
|
+
}
|
|
1724
|
+
const Ee = (v) => {
|
|
1725
|
+
dr({
|
|
1726
|
+
_message: v,
|
|
1727
|
+
_socket: y,
|
|
1728
|
+
_config: { bot: c.bot },
|
|
1729
|
+
onSessionUpdate(A, I) {
|
|
1730
|
+
O(A.value.session);
|
|
1731
|
+
},
|
|
1732
|
+
onBotMessage(A, I) {
|
|
1733
|
+
S({
|
|
1734
|
+
state: "idle"
|
|
1735
|
+
}), n({ type: "ADD_RESPONSE_MESSAGE", payload: A });
|
|
1736
|
+
try {
|
|
1737
|
+
u.play();
|
|
1738
|
+
} catch (U) {
|
|
1739
|
+
console.error(U);
|
|
1740
|
+
}
|
|
1741
|
+
},
|
|
1742
|
+
onChatEvent() {
|
|
1743
|
+
a && h(a.id);
|
|
1744
|
+
},
|
|
1745
|
+
onUi(A, I) {
|
|
1746
|
+
A.type === "FROM_BOT" && a && h(a.id), S({
|
|
1747
|
+
state: "idle"
|
|
1748
|
+
}), n({ type: "ADD_RESPONSE_MESSAGE", payload: A });
|
|
1749
|
+
},
|
|
1750
|
+
onForm(A, I) {
|
|
1751
|
+
S({
|
|
1752
|
+
state: "idle"
|
|
1753
|
+
}), n({ type: "ADD_RESPONSE_MESSAGE", payload: A });
|
|
1754
|
+
},
|
|
1755
|
+
onOptions(A, I) {
|
|
1756
|
+
n({
|
|
1757
|
+
type: "SET_KEYBOARD",
|
|
1758
|
+
payload: {
|
|
1759
|
+
options: A.value.options
|
|
1760
|
+
}
|
|
1761
|
+
}), S({
|
|
1762
|
+
state: "idle"
|
|
1763
|
+
});
|
|
1764
|
+
}
|
|
1765
|
+
});
|
|
1766
|
+
}, te = F(
|
|
1767
|
+
(v) => {
|
|
1768
|
+
Y(v);
|
|
1769
|
+
},
|
|
1770
|
+
[Y]
|
|
1771
|
+
);
|
|
1772
|
+
H(() => {
|
|
1773
|
+
var I;
|
|
1774
|
+
if (!a) return;
|
|
1775
|
+
const v = (I = t.messages.at(-1)) == null ? void 0 : I.timestamp;
|
|
1776
|
+
if (!v) return;
|
|
1777
|
+
const A = setInterval(() => {
|
|
1778
|
+
s.apis.getHistoryPooling({
|
|
1779
|
+
sessionId: a.id,
|
|
1780
|
+
lastMessageTimestamp: v
|
|
1781
|
+
}).then((U) => {
|
|
1782
|
+
U.data && n({
|
|
1783
|
+
type: "APPEND_MESSAGES",
|
|
1784
|
+
payload: it(U.data)
|
|
1785
|
+
});
|
|
1786
|
+
});
|
|
1787
|
+
}, 20 * 1e3);
|
|
1788
|
+
return () => {
|
|
1789
|
+
clearInterval(A);
|
|
1790
|
+
};
|
|
1791
|
+
}, [a, t.messages]);
|
|
1792
|
+
const be = F((v) => {
|
|
1793
|
+
n({
|
|
1794
|
+
type: "APPEND_USER_MESSAGE",
|
|
1795
|
+
payload: {
|
|
1796
|
+
user: v == null ? void 0 : v.user,
|
|
1797
|
+
type: "FROM_USER",
|
|
1798
|
+
deliveredAt: null,
|
|
1799
|
+
content: v.content,
|
|
1800
|
+
id: v.id ?? he(10),
|
|
1801
|
+
attachments: []
|
|
1802
|
+
}
|
|
1803
|
+
});
|
|
1804
|
+
}, []), je = F((v) => {
|
|
1805
|
+
n({
|
|
1806
|
+
type: "SET_DELIVERED_AT",
|
|
1807
|
+
payload: {
|
|
1808
|
+
clientMessageId: v.id,
|
|
1809
|
+
deliveredAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
1810
|
+
}
|
|
1811
|
+
});
|
|
1812
|
+
}, []);
|
|
1813
|
+
N("structured_message", Ee), N("ack:chat_message:delivered", je), N("info", te), N("user_message_broadcast", be);
|
|
1814
|
+
const W = t.messages.length === 0, [ce, ne] = Ne(
|
|
1815
|
+
async ({ content: v, user: A, ...I }) => {
|
|
1816
|
+
let U = a;
|
|
1817
|
+
if (S({
|
|
1818
|
+
state: "loading"
|
|
1819
|
+
}), !a && W)
|
|
1820
|
+
try {
|
|
1821
|
+
const { data: j } = await s.apis.createSession(o);
|
|
1822
|
+
if (j)
|
|
1823
|
+
O(j), Q(j.id), U = {
|
|
1824
|
+
...j,
|
|
1825
|
+
// will be updated anyway when the component rerenders
|
|
1826
|
+
isSessionClosed: j.status !== mt.OPEN,
|
|
1827
|
+
isAssignedToAi: j.assignee_id === 555,
|
|
1828
|
+
isAssignedToHuman: !1,
|
|
1829
|
+
isPendingHuman: !1
|
|
1830
|
+
};
|
|
1831
|
+
else
|
|
1832
|
+
throw new Error("Failed to create session");
|
|
1833
|
+
} catch (j) {
|
|
1834
|
+
return console.error("Error creating session:", j), null;
|
|
1835
|
+
}
|
|
1836
|
+
if (U && y) {
|
|
1837
|
+
const j = he(), { headers: Oe, pathParams: C, queryParams: T } = c, k = {
|
|
1838
|
+
id: j,
|
|
1839
|
+
bot_token: o,
|
|
1840
|
+
content: v.text,
|
|
1841
|
+
attachments: I.attachments,
|
|
1842
|
+
session_id: U.id,
|
|
1843
|
+
headers: Oe,
|
|
1844
|
+
pathParams: C,
|
|
1845
|
+
query_params: T,
|
|
1846
|
+
queryParams: T,
|
|
1847
|
+
user: {
|
|
1848
|
+
...c.user,
|
|
1849
|
+
...A
|
|
1850
|
+
},
|
|
1851
|
+
language: d,
|
|
1852
|
+
...I
|
|
1853
|
+
};
|
|
1854
|
+
try {
|
|
1855
|
+
return n({
|
|
1856
|
+
type: "APPEND_USER_MESSAGE",
|
|
1857
|
+
payload: {
|
|
1858
|
+
type: "FROM_USER",
|
|
1859
|
+
id: j,
|
|
1860
|
+
content: v.text,
|
|
1861
|
+
user: k.user,
|
|
1862
|
+
deliveredAt: null,
|
|
1863
|
+
attachments: I.attachments
|
|
1864
|
+
}
|
|
1865
|
+
}), t.keyboard && n({
|
|
1866
|
+
type: "SET_KEYBOARD",
|
|
1867
|
+
payload: null
|
|
1868
|
+
}), y.emit("send_chat", k), k;
|
|
1869
|
+
} catch (P) {
|
|
1870
|
+
return console.error("Error sending message:", P), null;
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
return null;
|
|
1874
|
+
},
|
|
1875
|
+
[S, a, y, c.user, c, o, d]
|
|
1876
|
+
), we = F(
|
|
1877
|
+
(v) => {
|
|
1878
|
+
ne({
|
|
1879
|
+
content: {
|
|
1880
|
+
text: v
|
|
1881
|
+
}
|
|
1882
|
+
}), n({
|
|
1883
|
+
type: "SET_KEYBOARD",
|
|
1884
|
+
payload: null
|
|
1885
|
+
});
|
|
1886
|
+
},
|
|
1887
|
+
[n, ne, y]
|
|
1888
|
+
), le = ee(() => a != null && a.isSessionClosed ? {
|
|
1889
|
+
canSend: !1,
|
|
1890
|
+
reason: "closedSession"
|
|
1891
|
+
} : {
|
|
1892
|
+
canSend: !0
|
|
1893
|
+
}, [a]);
|
|
1894
|
+
return {
|
|
1895
|
+
version: ct.version,
|
|
1896
|
+
state: t,
|
|
1897
|
+
session: a,
|
|
1898
|
+
unstable__canSend: le,
|
|
1899
|
+
noMessages: W,
|
|
1900
|
+
fetchHistoryState: p,
|
|
1901
|
+
refreshSessionState: D,
|
|
1902
|
+
recreateSession: ve,
|
|
1903
|
+
clearSession: Se,
|
|
1904
|
+
sendMessage: ne,
|
|
1905
|
+
info: M,
|
|
1906
|
+
handleKeyboard: we,
|
|
1907
|
+
hookState: E
|
|
1908
|
+
};
|
|
1909
|
+
}
|
|
1910
|
+
const [mo, Er] = Pe();
|
|
1911
|
+
function br({
|
|
1912
|
+
children: e
|
|
1913
|
+
}) {
|
|
1914
|
+
const { settings: t } = ae(), n = vr({
|
|
1915
|
+
defaultHookSettings: {
|
|
1916
|
+
persistSession: (t == null ? void 0 : t.persistSession) ?? !0,
|
|
1917
|
+
useSoundEffects: (t == null ? void 0 : t.useSoundEffects) ?? !1
|
|
1918
|
+
}
|
|
1919
|
+
});
|
|
1920
|
+
return /* @__PURE__ */ $(Er, { value: n, children: e });
|
|
1921
|
+
}
|
|
1922
|
+
function wr() {
|
|
1923
|
+
const { http: e, botToken: t, user: n, collectUserData: r } = ae(), [o, s] = Ze(
|
|
1924
|
+
`${t}:contact:${n.external_id}`,
|
|
1925
|
+
null,
|
|
1926
|
+
"local"
|
|
1927
|
+
), [i, l] = Ne(
|
|
1928
|
+
async (d) => {
|
|
1929
|
+
var c;
|
|
1930
|
+
try {
|
|
1931
|
+
if (!d || !d.email) return null;
|
|
1932
|
+
const u = await e.apis.dumpContact(d);
|
|
1933
|
+
return (c = u == null ? void 0 : u.data) != null && c.id && s(u.data), u == null ? void 0 : u.data;
|
|
1934
|
+
} catch (u) {
|
|
1935
|
+
console.error(u);
|
|
1936
|
+
}
|
|
1937
|
+
return null;
|
|
1938
|
+
},
|
|
1939
|
+
[e.apis]
|
|
1940
|
+
);
|
|
1941
|
+
H(() => {
|
|
1942
|
+
n && t && l(n);
|
|
1943
|
+
}, [n, t]);
|
|
1944
|
+
const g = ee(() => !(o != null && o.id) && r ? {
|
|
1945
|
+
should: !0,
|
|
1946
|
+
reason: "No contact id and collectUserData is true"
|
|
1947
|
+
} : {
|
|
1948
|
+
should: !1
|
|
1949
|
+
}, [o]);
|
|
1950
|
+
return {
|
|
1951
|
+
creatingContactState: i,
|
|
1952
|
+
createContactAsync: l,
|
|
1953
|
+
contact: o,
|
|
1954
|
+
shouldCollectData: g
|
|
1955
|
+
};
|
|
1956
|
+
}
|
|
1957
|
+
const [yo, Or] = Pe();
|
|
1958
|
+
function Ar({ children: e }) {
|
|
1959
|
+
const t = wr();
|
|
1960
|
+
return /* @__PURE__ */ $(Or, { value: t, children: e });
|
|
1961
|
+
}
|
|
1962
|
+
function So({
|
|
1963
|
+
children: e,
|
|
1964
|
+
options: t
|
|
1965
|
+
}) {
|
|
1966
|
+
return /* @__PURE__ */ $(er, { data: t, children: /* @__PURE__ */ $(Ar, { children: /* @__PURE__ */ $(bt, { children: /* @__PURE__ */ $(br, { children: e }) }) }) });
|
|
1967
|
+
}
|
|
1968
|
+
var qe = { exports: {} }, Le = {};
|
|
1969
|
+
/**
|
|
1970
|
+
* @license React
|
|
1971
|
+
* use-sync-external-store-shim.production.min.js
|
|
1972
|
+
*
|
|
1973
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
1974
|
+
*
|
|
1975
|
+
* This source code is licensed under the MIT license found in the
|
|
1976
|
+
* LICENSE file in the root directory of this source tree.
|
|
1977
|
+
*/
|
|
1978
|
+
var lt;
|
|
1979
|
+
function Rr() {
|
|
1980
|
+
if (lt) return Le;
|
|
1981
|
+
lt = 1;
|
|
1982
|
+
var e = ue;
|
|
1983
|
+
function t(u, p) {
|
|
1984
|
+
return u === p && (u !== 0 || 1 / u === 1 / p) || u !== u && p !== p;
|
|
1985
|
+
}
|
|
1986
|
+
var n = typeof Object.is == "function" ? Object.is : t, r = e.useState, o = e.useEffect, s = e.useLayoutEffect, i = e.useDebugValue;
|
|
1987
|
+
function l(u, p) {
|
|
1988
|
+
var f = p(), m = r({ inst: { value: f, getSnapshot: p } }), h = m[0].inst, D = m[1];
|
|
1989
|
+
return s(function() {
|
|
1990
|
+
h.value = f, h.getSnapshot = p, g(h) && D({ inst: h });
|
|
1991
|
+
}, [u, f, p]), o(function() {
|
|
1992
|
+
return g(h) && D({ inst: h }), u(function() {
|
|
1993
|
+
g(h) && D({ inst: h });
|
|
1994
|
+
});
|
|
1995
|
+
}, [u]), i(f), f;
|
|
1996
|
+
}
|
|
1997
|
+
function g(u) {
|
|
1998
|
+
var p = u.getSnapshot;
|
|
1999
|
+
u = u.value;
|
|
2000
|
+
try {
|
|
2001
|
+
var f = p();
|
|
2002
|
+
return !n(u, f);
|
|
2003
|
+
} catch {
|
|
2004
|
+
return !0;
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
function d(u, p) {
|
|
2008
|
+
return p();
|
|
2009
|
+
}
|
|
2010
|
+
var c = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? d : l;
|
|
2011
|
+
return Le.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : c, Le;
|
|
2012
|
+
}
|
|
2013
|
+
var xe = {};
|
|
2014
|
+
/**
|
|
2015
|
+
* @license React
|
|
2016
|
+
* use-sync-external-store-shim.development.js
|
|
2017
|
+
*
|
|
2018
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
2019
|
+
*
|
|
2020
|
+
* This source code is licensed under the MIT license found in the
|
|
2021
|
+
* LICENSE file in the root directory of this source tree.
|
|
2022
|
+
*/
|
|
2023
|
+
var dt;
|
|
2024
|
+
function Tr() {
|
|
2025
|
+
return dt || (dt = 1, process.env.NODE_ENV !== "production" && function() {
|
|
2026
|
+
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
2027
|
+
var e = ue, t = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
2028
|
+
function n(O) {
|
|
2029
|
+
{
|
|
2030
|
+
for (var E = arguments.length, w = new Array(E > 1 ? E - 1 : 0), S = 1; S < E; S++)
|
|
2031
|
+
w[S - 1] = arguments[S];
|
|
2032
|
+
r("error", O, w);
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
function r(O, E, w) {
|
|
2036
|
+
{
|
|
2037
|
+
var S = t.ReactDebugCurrentFrame, y = S.getStackAddendum();
|
|
2038
|
+
y !== "" && (E += "%s", w = w.concat([y]));
|
|
2039
|
+
var R = w.map(function(N) {
|
|
2040
|
+
return String(N);
|
|
2041
|
+
});
|
|
2042
|
+
R.unshift("Warning: " + E), Function.prototype.apply.call(console[O], console, R);
|
|
2043
|
+
}
|
|
2044
|
+
}
|
|
2045
|
+
function o(O, E) {
|
|
2046
|
+
return O === E && (O !== 0 || 1 / O === 1 / E) || O !== O && E !== E;
|
|
2047
|
+
}
|
|
2048
|
+
var s = typeof Object.is == "function" ? Object.is : o, i = e.useState, l = e.useEffect, g = e.useLayoutEffect, d = e.useDebugValue, c = !1, u = !1;
|
|
2049
|
+
function p(O, E, w) {
|
|
2050
|
+
c || e.startTransition !== void 0 && (c = !0, n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));
|
|
2051
|
+
var S = E();
|
|
2052
|
+
if (!u) {
|
|
2053
|
+
var y = E();
|
|
2054
|
+
s(S, y) || (n("The result of getSnapshot should be cached to avoid an infinite loop"), u = !0);
|
|
2055
|
+
}
|
|
2056
|
+
var R = i({
|
|
2057
|
+
inst: {
|
|
2058
|
+
value: S,
|
|
2059
|
+
getSnapshot: E
|
|
2060
|
+
}
|
|
2061
|
+
}), N = R[0].inst, M = R[1];
|
|
2062
|
+
return g(function() {
|
|
2063
|
+
N.value = S, N.getSnapshot = E, f(N) && M({
|
|
2064
|
+
inst: N
|
|
2065
|
+
});
|
|
2066
|
+
}, [O, S, E]), l(function() {
|
|
2067
|
+
f(N) && M({
|
|
2068
|
+
inst: N
|
|
2069
|
+
});
|
|
2070
|
+
var Y = function() {
|
|
2071
|
+
f(N) && M({
|
|
2072
|
+
inst: N
|
|
2073
|
+
});
|
|
2074
|
+
};
|
|
2075
|
+
return O(Y);
|
|
2076
|
+
}, [O]), d(S), S;
|
|
2077
|
+
}
|
|
2078
|
+
function f(O) {
|
|
2079
|
+
var E = O.getSnapshot, w = O.value;
|
|
2080
|
+
try {
|
|
2081
|
+
var S = E();
|
|
2082
|
+
return !s(w, S);
|
|
2083
|
+
} catch {
|
|
2084
|
+
return !0;
|
|
2085
|
+
}
|
|
2086
|
+
}
|
|
2087
|
+
function m(O, E, w) {
|
|
2088
|
+
return E();
|
|
2089
|
+
}
|
|
2090
|
+
var h = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", D = !h, a = D ? m : p, G = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : a;
|
|
2091
|
+
xe.useSyncExternalStore = G, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
2092
|
+
}()), xe;
|
|
2093
|
+
}
|
|
2094
|
+
process.env.NODE_ENV === "production" ? qe.exports = Rr() : qe.exports = Tr();
|
|
2095
|
+
var Cr = qe.exports;
|
|
2096
|
+
const se = () => {
|
|
2097
|
+
}, V = (
|
|
2098
|
+
/*#__NOINLINE__*/
|
|
2099
|
+
se()
|
|
2100
|
+
), Ve = Object, b = (e) => e === V, X = (e) => typeof e == "function", ie = (e, t) => ({
|
|
2101
|
+
...e,
|
|
2102
|
+
...t
|
|
2103
|
+
}), Dr = (e) => X(e.then), Re = /* @__PURE__ */ new WeakMap();
|
|
2104
|
+
let Nr = 0;
|
|
2105
|
+
const me = (e) => {
|
|
2106
|
+
const t = typeof e, n = e && e.constructor, r = n == Date;
|
|
2107
|
+
let o, s;
|
|
2108
|
+
if (Ve(e) === e && !r && n != RegExp) {
|
|
2109
|
+
if (o = Re.get(e), o) return o;
|
|
2110
|
+
if (o = ++Nr + "~", Re.set(e, o), n == Array) {
|
|
2111
|
+
for (o = "@", s = 0; s < e.length; s++)
|
|
2112
|
+
o += me(e[s]) + ",";
|
|
2113
|
+
Re.set(e, o);
|
|
2114
|
+
}
|
|
2115
|
+
if (n == Ve) {
|
|
2116
|
+
o = "#";
|
|
2117
|
+
const i = Ve.keys(e).sort();
|
|
2118
|
+
for (; !b(s = i.pop()); )
|
|
2119
|
+
b(e[s]) || (o += s + ":" + me(e[s]) + ",");
|
|
2120
|
+
Re.set(e, o);
|
|
2121
|
+
}
|
|
2122
|
+
} else
|
|
2123
|
+
o = r ? e.toJSON() : t == "symbol" ? e.toString() : t == "string" ? JSON.stringify(e) : "" + e;
|
|
2124
|
+
return o;
|
|
2125
|
+
}, Z = /* @__PURE__ */ new WeakMap(), Ue = {}, Te = {}, et = "undefined", Ie = typeof window != et, Xe = typeof document != et, Pr = () => Ie && typeof window.requestAnimationFrame != et, Kt = (e, t) => {
|
|
2126
|
+
const n = Z.get(e);
|
|
2127
|
+
return [
|
|
2128
|
+
// Getter
|
|
2129
|
+
() => !b(t) && e.get(t) || Ue,
|
|
2130
|
+
// Setter
|
|
2131
|
+
(r) => {
|
|
2132
|
+
if (!b(t)) {
|
|
2133
|
+
const o = e.get(t);
|
|
2134
|
+
t in Te || (Te[t] = o), n[5](t, ie(o, r), o || Ue);
|
|
2135
|
+
}
|
|
2136
|
+
},
|
|
2137
|
+
// Subscriber
|
|
2138
|
+
n[6],
|
|
2139
|
+
// Get server cache snapshot
|
|
2140
|
+
() => !b(t) && t in Te ? Te[t] : !b(t) && e.get(t) || Ue
|
|
2141
|
+
];
|
|
2142
|
+
};
|
|
2143
|
+
let Qe = !0;
|
|
2144
|
+
const kr = () => Qe, [We, Ke] = Ie && window.addEventListener ? [
|
|
2145
|
+
window.addEventListener.bind(window),
|
|
2146
|
+
window.removeEventListener.bind(window)
|
|
2147
|
+
] : [
|
|
2148
|
+
se,
|
|
2149
|
+
se
|
|
2150
|
+
], Ir = () => {
|
|
2151
|
+
const e = Xe && document.visibilityState;
|
|
2152
|
+
return b(e) || e !== "hidden";
|
|
2153
|
+
}, jr = (e) => (Xe && document.addEventListener("visibilitychange", e), We("focus", e), () => {
|
|
2154
|
+
Xe && document.removeEventListener("visibilitychange", e), Ke("focus", e);
|
|
2155
|
+
}), _r = (e) => {
|
|
2156
|
+
const t = () => {
|
|
2157
|
+
Qe = !0, e();
|
|
2158
|
+
}, n = () => {
|
|
2159
|
+
Qe = !1;
|
|
2160
|
+
};
|
|
2161
|
+
return We("online", t), We("offline", n), () => {
|
|
2162
|
+
Ke("online", t), Ke("offline", n);
|
|
2163
|
+
};
|
|
2164
|
+
}, Mr = {
|
|
2165
|
+
isOnline: kr,
|
|
2166
|
+
isVisible: Ir
|
|
2167
|
+
}, Fr = {
|
|
2168
|
+
initFocus: jr,
|
|
2169
|
+
initReconnect: _r
|
|
2170
|
+
}, ft = !ue.useId, ye = !Ie || "Deno" in window, Lr = (e) => Pr() ? window.requestAnimationFrame(e) : setTimeout(e, 1), He = ye ? H : un, Ge = typeof navigator < "u" && navigator.connection, pt = !ye && Ge && ([
|
|
2171
|
+
"slow-2g",
|
|
2172
|
+
"2g"
|
|
2173
|
+
].includes(Ge.effectiveType) || Ge.saveData), tt = (e) => {
|
|
2174
|
+
if (X(e))
|
|
2175
|
+
try {
|
|
2176
|
+
e = e();
|
|
2177
|
+
} catch {
|
|
2178
|
+
e = "";
|
|
2179
|
+
}
|
|
2180
|
+
const t = e;
|
|
2181
|
+
return e = typeof e == "string" ? e : (Array.isArray(e) ? e.length : e) ? me(e) : "", [
|
|
2182
|
+
e,
|
|
2183
|
+
t
|
|
2184
|
+
];
|
|
2185
|
+
};
|
|
2186
|
+
let xr = 0;
|
|
2187
|
+
const Je = () => ++xr, Jt = 0, Zt = 1, $t = 2, Vr = 3;
|
|
2188
|
+
var ge = {
|
|
2189
|
+
__proto__: null,
|
|
2190
|
+
ERROR_REVALIDATE_EVENT: Vr,
|
|
2191
|
+
FOCUS_EVENT: Jt,
|
|
2192
|
+
MUTATE_EVENT: $t,
|
|
2193
|
+
RECONNECT_EVENT: Zt
|
|
2194
|
+
};
|
|
2195
|
+
async function en(...e) {
|
|
2196
|
+
const [t, n, r, o] = e, s = ie({
|
|
2197
|
+
populateCache: !0,
|
|
2198
|
+
throwOnError: !0
|
|
2199
|
+
}, typeof o == "boolean" ? {
|
|
2200
|
+
revalidate: o
|
|
2201
|
+
} : o || {});
|
|
2202
|
+
let i = s.populateCache;
|
|
2203
|
+
const l = s.rollbackOnError;
|
|
2204
|
+
let g = s.optimisticData;
|
|
2205
|
+
const d = (p) => typeof l == "function" ? l(p) : l !== !1, c = s.throwOnError;
|
|
2206
|
+
if (X(n)) {
|
|
2207
|
+
const p = n, f = [], m = t.keys();
|
|
2208
|
+
for (const h of m)
|
|
2209
|
+
// Skip the special useSWRInfinite and useSWRSubscription keys.
|
|
2210
|
+
!/^\$(inf|sub)\$/.test(h) && p(t.get(h)._k) && f.push(h);
|
|
2211
|
+
return Promise.all(f.map(u));
|
|
2212
|
+
}
|
|
2213
|
+
return u(n);
|
|
2214
|
+
async function u(p) {
|
|
2215
|
+
const [f] = tt(p);
|
|
2216
|
+
if (!f) return;
|
|
2217
|
+
const [m, h] = Kt(t, f), [D, a, G, O] = Z.get(t), E = () => {
|
|
2218
|
+
const L = D[f];
|
|
2219
|
+
return (X(s.revalidate) ? s.revalidate(m().data, p) : s.revalidate !== !1) && (delete G[f], delete O[f], L && L[0]) ? L[0]($t).then(() => m().data) : m().data;
|
|
2220
|
+
};
|
|
2221
|
+
if (e.length < 3)
|
|
2222
|
+
return E();
|
|
2223
|
+
let w = r, S;
|
|
2224
|
+
const y = Je();
|
|
2225
|
+
a[f] = [
|
|
2226
|
+
y,
|
|
2227
|
+
0
|
|
2228
|
+
];
|
|
2229
|
+
const R = !b(g), N = m(), M = N.data, Y = N._c, B = b(Y) ? M : Y;
|
|
2230
|
+
if (R && (g = X(g) ? g(B, M) : g, h({
|
|
2231
|
+
data: g,
|
|
2232
|
+
_c: B
|
|
2233
|
+
})), X(w))
|
|
2234
|
+
try {
|
|
2235
|
+
w = w(B);
|
|
2236
|
+
} catch (L) {
|
|
2237
|
+
S = L;
|
|
2238
|
+
}
|
|
2239
|
+
if (w && Dr(w))
|
|
2240
|
+
if (w = await w.catch((L) => {
|
|
2241
|
+
S = L;
|
|
2242
|
+
}), y !== a[f][0]) {
|
|
2243
|
+
if (S) throw S;
|
|
2244
|
+
return w;
|
|
2245
|
+
} else S && R && d(S) && (i = !0, h({
|
|
2246
|
+
data: B,
|
|
2247
|
+
_c: V
|
|
2248
|
+
}));
|
|
2249
|
+
if (i && !S)
|
|
2250
|
+
if (X(i)) {
|
|
2251
|
+
const L = i(w, B);
|
|
2252
|
+
h({
|
|
2253
|
+
data: L,
|
|
2254
|
+
error: V,
|
|
2255
|
+
_c: V
|
|
2256
|
+
});
|
|
2257
|
+
} else
|
|
2258
|
+
h({
|
|
2259
|
+
data: w,
|
|
2260
|
+
error: V,
|
|
2261
|
+
_c: V
|
|
2262
|
+
});
|
|
2263
|
+
if (a[f][1] = Je(), Promise.resolve(E()).then(() => {
|
|
2264
|
+
h({
|
|
2265
|
+
_c: V
|
|
2266
|
+
});
|
|
2267
|
+
}), S) {
|
|
2268
|
+
if (c) throw S;
|
|
2269
|
+
return;
|
|
2270
|
+
}
|
|
2271
|
+
return w;
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
const gt = (e, t) => {
|
|
2275
|
+
for (const n in e)
|
|
2276
|
+
e[n][0] && e[n][0](t);
|
|
2277
|
+
}, Ur = (e, t) => {
|
|
2278
|
+
if (!Z.has(e)) {
|
|
2279
|
+
const n = ie(Fr, t), r = {}, o = en.bind(V, e);
|
|
2280
|
+
let s = se;
|
|
2281
|
+
const i = {}, l = (c, u) => {
|
|
2282
|
+
const p = i[c] || [];
|
|
2283
|
+
return i[c] = p, p.push(u), () => p.splice(p.indexOf(u), 1);
|
|
2284
|
+
}, g = (c, u, p) => {
|
|
2285
|
+
e.set(c, u);
|
|
2286
|
+
const f = i[c];
|
|
2287
|
+
if (f)
|
|
2288
|
+
for (const m of f)
|
|
2289
|
+
m(u, p);
|
|
2290
|
+
}, d = () => {
|
|
2291
|
+
if (!Z.has(e) && (Z.set(e, [
|
|
2292
|
+
r,
|
|
2293
|
+
{},
|
|
2294
|
+
{},
|
|
2295
|
+
{},
|
|
2296
|
+
o,
|
|
2297
|
+
g,
|
|
2298
|
+
l
|
|
2299
|
+
]), !ye)) {
|
|
2300
|
+
const c = n.initFocus(setTimeout.bind(V, gt.bind(V, r, Jt))), u = n.initReconnect(setTimeout.bind(V, gt.bind(V, r, Zt)));
|
|
2301
|
+
s = () => {
|
|
2302
|
+
c && c(), u && u(), Z.delete(e);
|
|
2303
|
+
};
|
|
2304
|
+
}
|
|
2305
|
+
};
|
|
2306
|
+
return d(), [
|
|
2307
|
+
e,
|
|
2308
|
+
o,
|
|
2309
|
+
d,
|
|
2310
|
+
s
|
|
2311
|
+
];
|
|
2312
|
+
}
|
|
2313
|
+
return [
|
|
2314
|
+
e,
|
|
2315
|
+
Z.get(e)[4]
|
|
2316
|
+
];
|
|
2317
|
+
}, Hr = (e, t, n, r, o) => {
|
|
2318
|
+
const s = n.errorRetryCount, i = o.retryCount, l = ~~((Math.random() + 0.5) * (1 << (i < 8 ? i : 8))) * n.errorRetryInterval;
|
|
2319
|
+
!b(s) && i > s || setTimeout(r, l, o);
|
|
2320
|
+
}, Gr = (e, t) => me(e) == me(t), [tn, zr] = Ur(/* @__PURE__ */ new Map()), Yr = ie(
|
|
2321
|
+
{
|
|
2322
|
+
// events
|
|
2323
|
+
onLoadingSlow: se,
|
|
2324
|
+
onSuccess: se,
|
|
2325
|
+
onError: se,
|
|
2326
|
+
onErrorRetry: Hr,
|
|
2327
|
+
onDiscarded: se,
|
|
2328
|
+
// switches
|
|
2329
|
+
revalidateOnFocus: !0,
|
|
2330
|
+
revalidateOnReconnect: !0,
|
|
2331
|
+
revalidateIfStale: !0,
|
|
2332
|
+
shouldRetryOnError: !0,
|
|
2333
|
+
// timeouts
|
|
2334
|
+
errorRetryInterval: pt ? 1e4 : 5e3,
|
|
2335
|
+
focusThrottleInterval: 5 * 1e3,
|
|
2336
|
+
dedupingInterval: 2 * 1e3,
|
|
2337
|
+
loadingTimeout: pt ? 5e3 : 3e3,
|
|
2338
|
+
// providers
|
|
2339
|
+
compare: Gr,
|
|
2340
|
+
isPaused: () => !1,
|
|
2341
|
+
cache: tn,
|
|
2342
|
+
mutate: zr,
|
|
2343
|
+
fallback: {}
|
|
2344
|
+
},
|
|
2345
|
+
// use web preset by default
|
|
2346
|
+
Mr
|
|
2347
|
+
), Br = (e, t) => {
|
|
2348
|
+
const n = ie(e, t);
|
|
2349
|
+
if (t) {
|
|
2350
|
+
const { use: r, fallback: o } = e, { use: s, fallback: i } = t;
|
|
2351
|
+
r && s && (n.use = r.concat(s)), o && i && (n.fallback = ie(o, i));
|
|
2352
|
+
}
|
|
2353
|
+
return n;
|
|
2354
|
+
}, qr = yt({}), Xr = "$inf$", nn = Ie && window.__SWR_DEVTOOLS_USE__, Qr = nn ? window.__SWR_DEVTOOLS_USE__ : [], Wr = () => {
|
|
2355
|
+
nn && (window.__SWR_DEVTOOLS_REACT__ = ue);
|
|
2356
|
+
}, Kr = (e) => X(e[1]) ? [
|
|
2357
|
+
e[0],
|
|
2358
|
+
e[1],
|
|
2359
|
+
e[2] || {}
|
|
2360
|
+
] : [
|
|
2361
|
+
e[0],
|
|
2362
|
+
null,
|
|
2363
|
+
(e[1] === null ? e[2] : e[1]) || {}
|
|
2364
|
+
], Jr = () => ie(Yr, St(qr)), Zr = (e) => (t, n, r) => e(t, n && ((...s) => {
|
|
2365
|
+
const [i] = tt(t), [, , , l] = Z.get(tn);
|
|
2366
|
+
if (i.startsWith(Xr))
|
|
2367
|
+
return n(...s);
|
|
2368
|
+
const g = l[i];
|
|
2369
|
+
return b(g) ? n(...s) : (delete l[i], g);
|
|
2370
|
+
}), r), $r = Qr.concat(Zr), eo = (e) => function(...n) {
|
|
2371
|
+
const r = Jr(), [o, s, i] = Kr(n), l = Br(r, i);
|
|
2372
|
+
let g = e;
|
|
2373
|
+
const { use: d } = l, c = (d || []).concat($r);
|
|
2374
|
+
for (let u = c.length; u--; )
|
|
2375
|
+
g = c[u](g);
|
|
2376
|
+
return g(o, s || l.fetcher || null, l);
|
|
2377
|
+
}, to = (e, t, n) => {
|
|
2378
|
+
const r = t[e] || (t[e] = []);
|
|
2379
|
+
return r.push(n), () => {
|
|
2380
|
+
const o = r.indexOf(n);
|
|
2381
|
+
o >= 0 && (r[o] = r[r.length - 1], r.pop());
|
|
2382
|
+
};
|
|
2383
|
+
};
|
|
2384
|
+
Wr();
|
|
2385
|
+
const ht = ue.use || ((e) => {
|
|
2386
|
+
if (e.status === "pending")
|
|
2387
|
+
throw e;
|
|
2388
|
+
if (e.status === "fulfilled")
|
|
2389
|
+
return e.value;
|
|
2390
|
+
throw e.status === "rejected" ? e.reason : (e.status = "pending", e.then((t) => {
|
|
2391
|
+
e.status = "fulfilled", e.value = t;
|
|
2392
|
+
}, (t) => {
|
|
2393
|
+
e.status = "rejected", e.reason = t;
|
|
2394
|
+
}), e);
|
|
2395
|
+
}), ze = {
|
|
2396
|
+
dedupe: !0
|
|
2397
|
+
}, no = (e, t, n) => {
|
|
2398
|
+
const { cache: r, compare: o, suspense: s, fallbackData: i, revalidateOnMount: l, revalidateIfStale: g, refreshInterval: d, refreshWhenHidden: c, refreshWhenOffline: u, keepPreviousData: p } = n, [f, m, h, D] = Z.get(r), [a, G] = tt(e), O = oe(!1), E = oe(!1), w = oe(a), S = oe(t), y = oe(n), R = () => y.current, N = () => R().isVisible() && R().isOnline(), [M, Y, B, L] = Kt(r, a), Q = oe({}).current, Se = b(i) ? n.fallback[a] : i, ve = (C, T) => {
|
|
2399
|
+
for (const k in Q) {
|
|
2400
|
+
const P = k;
|
|
2401
|
+
if (P === "data") {
|
|
2402
|
+
if (!o(C[P], T[P]) && (!b(C[P]) || !o(le, T[P])))
|
|
2403
|
+
return !1;
|
|
2404
|
+
} else if (T[P] !== C[P])
|
|
2405
|
+
return !1;
|
|
2406
|
+
}
|
|
2407
|
+
return !0;
|
|
2408
|
+
}, Ee = ee(() => {
|
|
2409
|
+
const C = !a || !t ? !1 : b(l) ? R().isPaused() || s ? !1 : b(g) ? !0 : g : l, T = (x) => {
|
|
2410
|
+
const K = ie(x);
|
|
2411
|
+
return delete K._k, C ? {
|
|
2412
|
+
isValidating: !0,
|
|
2413
|
+
isLoading: !0,
|
|
2414
|
+
...K
|
|
2415
|
+
} : K;
|
|
2416
|
+
}, k = M(), P = L(), q = T(k), de = k === P ? q : T(P);
|
|
2417
|
+
let _ = q;
|
|
2418
|
+
return [
|
|
2419
|
+
() => {
|
|
2420
|
+
const x = T(M());
|
|
2421
|
+
return ve(x, _) ? (_.data = x.data, _.isLoading = x.isLoading, _.isValidating = x.isValidating, _.error = x.error, _) : (_ = x, x);
|
|
2422
|
+
},
|
|
2423
|
+
() => de
|
|
2424
|
+
];
|
|
2425
|
+
}, [
|
|
2426
|
+
r,
|
|
2427
|
+
a
|
|
2428
|
+
]), te = Cr.useSyncExternalStore(F(
|
|
2429
|
+
(C) => B(a, (T, k) => {
|
|
2430
|
+
ve(k, T) || C();
|
|
2431
|
+
}),
|
|
2432
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2433
|
+
[
|
|
2434
|
+
r,
|
|
2435
|
+
a
|
|
2436
|
+
]
|
|
2437
|
+
), Ee[0], Ee[1]), be = !O.current, je = f[a] && f[a].length > 0, W = te.data, ce = b(W) ? Se : W, ne = te.error, we = oe(ce), le = p ? b(W) ? we.current : W : ce, v = je && !b(ne) ? !1 : be && !b(l) ? l : R().isPaused() ? !1 : s ? b(ce) ? !1 : g : b(ce) || g, A = !!(a && t && be && v), I = b(te.isValidating) ? A : te.isValidating, U = b(te.isLoading) ? A : te.isLoading, j = F(
|
|
2438
|
+
async (C) => {
|
|
2439
|
+
const T = S.current;
|
|
2440
|
+
if (!a || !T || E.current || R().isPaused())
|
|
2441
|
+
return !1;
|
|
2442
|
+
let k, P, q = !0;
|
|
2443
|
+
const de = C || {}, _ = !h[a] || !de.dedupe, x = () => ft ? !E.current && a === w.current && O.current : a === w.current, K = {
|
|
2444
|
+
isValidating: !1,
|
|
2445
|
+
isLoading: !1
|
|
2446
|
+
}, nt = () => {
|
|
2447
|
+
Y(K);
|
|
2448
|
+
}, rt = () => {
|
|
2449
|
+
const z = h[a];
|
|
2450
|
+
z && z[1] === P && delete h[a];
|
|
2451
|
+
}, ot = {
|
|
2452
|
+
isValidating: !0
|
|
2453
|
+
};
|
|
2454
|
+
b(M().data) && (ot.isLoading = !0);
|
|
2455
|
+
try {
|
|
2456
|
+
if (_ && (Y(ot), n.loadingTimeout && b(M().data) && setTimeout(() => {
|
|
2457
|
+
q && x() && R().onLoadingSlow(a, n);
|
|
2458
|
+
}, n.loadingTimeout), h[a] = [
|
|
2459
|
+
T(G),
|
|
2460
|
+
Je()
|
|
2461
|
+
]), [k, P] = h[a], k = await k, _ && setTimeout(rt, n.dedupingInterval), !h[a] || h[a][1] !== P)
|
|
2462
|
+
return _ && x() && R().onDiscarded(a), !1;
|
|
2463
|
+
K.error = V;
|
|
2464
|
+
const z = m[a];
|
|
2465
|
+
if (!b(z) && // case 1
|
|
2466
|
+
(P <= z[0] || // case 2
|
|
2467
|
+
P <= z[1] || // case 3
|
|
2468
|
+
z[1] === 0))
|
|
2469
|
+
return nt(), _ && x() && R().onDiscarded(a), !1;
|
|
2470
|
+
const J = M().data;
|
|
2471
|
+
K.data = o(J, k) ? J : k, _ && x() && R().onSuccess(k, a, n);
|
|
2472
|
+
} catch (z) {
|
|
2473
|
+
rt();
|
|
2474
|
+
const J = R(), { shouldRetryOnError: _e } = J;
|
|
2475
|
+
J.isPaused() || (K.error = z, _ && x() && (J.onError(z, a, J), (_e === !0 || X(_e) && _e(z)) && (!R().revalidateOnFocus || !R().revalidateOnReconnect || N()) && J.onErrorRetry(z, a, J, (rn) => {
|
|
2476
|
+
const Me = f[a];
|
|
2477
|
+
Me && Me[0] && Me[0](ge.ERROR_REVALIDATE_EVENT, rn);
|
|
2478
|
+
}, {
|
|
2479
|
+
retryCount: (de.retryCount || 0) + 1,
|
|
2480
|
+
dedupe: !0
|
|
2481
|
+
})));
|
|
2482
|
+
}
|
|
2483
|
+
return q = !1, nt(), !0;
|
|
2484
|
+
},
|
|
2485
|
+
// `setState` is immutable, and `eventsCallback`, `fnArg`, and
|
|
2486
|
+
// `keyValidating` are depending on `key`, so we can exclude them from
|
|
2487
|
+
// the deps array.
|
|
2488
|
+
//
|
|
2489
|
+
// FIXME:
|
|
2490
|
+
// `fn` and `config` might be changed during the lifecycle,
|
|
2491
|
+
// but they might be changed every render like this.
|
|
2492
|
+
// `useSWR('key', () => fetch('/api/'), { suspense: true })`
|
|
2493
|
+
// So we omit the values from the deps array
|
|
2494
|
+
// even though it might cause unexpected behaviors.
|
|
2495
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2496
|
+
[
|
|
2497
|
+
a,
|
|
2498
|
+
r
|
|
2499
|
+
]
|
|
2500
|
+
), Oe = F(
|
|
2501
|
+
// Use callback to make sure `keyRef.current` returns latest result every time
|
|
2502
|
+
(...C) => en(r, w.current, ...C),
|
|
2503
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2504
|
+
[]
|
|
2505
|
+
);
|
|
2506
|
+
if (He(() => {
|
|
2507
|
+
S.current = t, y.current = n, b(W) || (we.current = W);
|
|
2508
|
+
}), He(() => {
|
|
2509
|
+
if (!a) return;
|
|
2510
|
+
const C = j.bind(V, ze);
|
|
2511
|
+
let T = 0;
|
|
2512
|
+
const P = to(a, f, (q, de = {}) => {
|
|
2513
|
+
if (q == ge.FOCUS_EVENT) {
|
|
2514
|
+
const _ = Date.now();
|
|
2515
|
+
R().revalidateOnFocus && _ > T && N() && (T = _ + R().focusThrottleInterval, C());
|
|
2516
|
+
} else if (q == ge.RECONNECT_EVENT)
|
|
2517
|
+
R().revalidateOnReconnect && N() && C();
|
|
2518
|
+
else {
|
|
2519
|
+
if (q == ge.MUTATE_EVENT)
|
|
2520
|
+
return j();
|
|
2521
|
+
if (q == ge.ERROR_REVALIDATE_EVENT)
|
|
2522
|
+
return j(de);
|
|
2523
|
+
}
|
|
2524
|
+
});
|
|
2525
|
+
return E.current = !1, w.current = a, O.current = !0, Y({
|
|
2526
|
+
_k: G
|
|
2527
|
+
}), v && (b(ce) || ye ? C() : Lr(C)), () => {
|
|
2528
|
+
E.current = !0, P();
|
|
2529
|
+
};
|
|
2530
|
+
}, [
|
|
2531
|
+
a
|
|
2532
|
+
]), He(() => {
|
|
2533
|
+
let C;
|
|
2534
|
+
function T() {
|
|
2535
|
+
const P = X(d) ? d(M().data) : d;
|
|
2536
|
+
P && C !== -1 && (C = setTimeout(k, P));
|
|
2537
|
+
}
|
|
2538
|
+
function k() {
|
|
2539
|
+
!M().error && (c || R().isVisible()) && (u || R().isOnline()) ? j(ze).then(T) : T();
|
|
2540
|
+
}
|
|
2541
|
+
return T(), () => {
|
|
2542
|
+
C && (clearTimeout(C), C = -1);
|
|
2543
|
+
};
|
|
2544
|
+
}, [
|
|
2545
|
+
d,
|
|
2546
|
+
c,
|
|
2547
|
+
u,
|
|
2548
|
+
a
|
|
2549
|
+
]), ln(le), s && b(ce) && a) {
|
|
2550
|
+
if (!ft && ye)
|
|
2551
|
+
throw new Error("Fallback data is required when using suspense in SSR.");
|
|
2552
|
+
S.current = t, y.current = n, E.current = !1;
|
|
2553
|
+
const C = D[a];
|
|
2554
|
+
if (!b(C)) {
|
|
2555
|
+
const T = Oe(C);
|
|
2556
|
+
ht(T);
|
|
2557
|
+
}
|
|
2558
|
+
if (b(ne)) {
|
|
2559
|
+
const T = j(ze);
|
|
2560
|
+
b(le) || (T.status = "fulfilled", T.value = !0), ht(T);
|
|
2561
|
+
} else
|
|
2562
|
+
throw ne;
|
|
2563
|
+
}
|
|
2564
|
+
return {
|
|
2565
|
+
mutate: Oe,
|
|
2566
|
+
get data() {
|
|
2567
|
+
return Q.data = !0, le;
|
|
2568
|
+
},
|
|
2569
|
+
get error() {
|
|
2570
|
+
return Q.error = !0, ne;
|
|
2571
|
+
},
|
|
2572
|
+
get isValidating() {
|
|
2573
|
+
return Q.isValidating = !0, I;
|
|
2574
|
+
},
|
|
2575
|
+
get isLoading() {
|
|
2576
|
+
return Q.isLoading = !0, U;
|
|
2577
|
+
}
|
|
2578
|
+
};
|
|
2579
|
+
}, ro = eo(no);
|
|
2580
|
+
function vo() {
|
|
2581
|
+
const { apiUrl: e, botToken: t } = ae(), n = Et({
|
|
2582
|
+
apiUrl: e,
|
|
2583
|
+
botToken: t
|
|
2584
|
+
});
|
|
2585
|
+
return ro(n.options, n.apis.fetchPreludeData);
|
|
2586
|
+
}
|
|
2587
|
+
export {
|
|
2588
|
+
So as W,
|
|
2589
|
+
Ne as _,
|
|
2590
|
+
yo as a,
|
|
2591
|
+
vo as b,
|
|
2592
|
+
po as c,
|
|
2593
|
+
qn as d,
|
|
2594
|
+
mo as e,
|
|
2595
|
+
Pe as f,
|
|
2596
|
+
go as g,
|
|
2597
|
+
ho as h,
|
|
2598
|
+
Ce as i,
|
|
2599
|
+
At as j,
|
|
2600
|
+
Lt as k,
|
|
2601
|
+
hr as l,
|
|
2602
|
+
ae as u
|
|
2603
|
+
};
|
|
2604
|
+
//# sourceMappingURL=index-C11ivBh5.js.map
|