@blockspark/chat-widget 1.0.7 → 1.0.9
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 +117 -140
- package/dist/_virtual/_plugin-vue_export-helper.cjs.js +2 -0
- package/dist/_virtual/_plugin-vue_export-helper.cjs.js.map +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.esm.js +11 -0
- package/dist/_virtual/_plugin-vue_export-helper.esm.js.map +1 -0
- package/dist/components/ChatWidget.cjs.js +2 -0
- package/dist/components/ChatWidget.cjs.js.map +1 -0
- package/dist/components/ChatWidget.d.ts.map +1 -1
- package/dist/components/ChatWidget.esm.js +1129 -0
- package/dist/components/ChatWidget.esm.js.map +1 -0
- package/dist/components/ChatWidget.vue.cjs.js +2 -0
- package/dist/components/ChatWidget.vue.cjs.js.map +1 -0
- package/dist/components/ChatWidget.vue.cjs2.js +2 -0
- package/dist/components/ChatWidget.vue.cjs2.js.map +1 -0
- package/dist/components/ChatWidget.vue.esm.js +8 -0
- package/dist/components/ChatWidget.vue.esm.js.map +1 -0
- package/dist/components/ChatWidget.vue.esm2.js +374 -0
- package/dist/components/ChatWidget.vue.esm2.js.map +1 -0
- package/dist/composables/useChatWidget.cjs.js +2 -0
- package/dist/composables/useChatWidget.cjs.js.map +1 -0
- package/dist/composables/useChatWidget.d.ts +35 -0
- package/dist/composables/useChatWidget.d.ts.map +1 -0
- package/dist/composables/useChatWidget.esm.js +75 -0
- package/dist/composables/useChatWidget.esm.js.map +1 -0
- package/dist/core/stateManager.cjs.js +2 -0
- package/dist/core/stateManager.cjs.js.map +1 -0
- package/dist/core/stateManager.esm.js +915 -0
- package/dist/core/stateManager.esm.js.map +1 -0
- package/dist/entry/nuxt.d.ts +9 -4
- package/dist/entry/nuxt.d.ts.map +1 -1
- package/dist/entry/vanilla.cjs.js +2 -0
- package/dist/entry/vanilla.cjs.js.map +1 -0
- package/dist/entry/vanilla.esm.js +50 -0
- package/dist/entry/vanilla.esm.js.map +1 -0
- package/dist/entry/vue.d.ts +8 -5
- package/dist/entry/vue.d.ts.map +1 -1
- package/dist/hooks/useChatMode.cjs.js +2 -0
- package/dist/hooks/useChatMode.cjs.js.map +1 -0
- package/dist/hooks/useChatMode.esm.js +61 -0
- package/dist/hooks/useChatMode.esm.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +16 -2
- package/dist/index.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jws/compact/sign.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/jws/compact/sign.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jws/compact/sign.esm.js +21 -0
- package/dist/node_modules/jose/dist/browser/jws/compact/sign.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jws/flattened/sign.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/jws/flattened/sign.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jws/flattened/sign.esm.js +84 -0
- package/dist/node_modules/jose/dist/browser/jws/flattened/sign.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jwt/produce.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/jwt/produce.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jwt/produce.esm.js +72 -0
- package/dist/node_modules/jose/dist/browser/jwt/produce.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jwt/sign.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/jwt/sign.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/jwt/sign.esm.js +22 -0
- package/dist/node_modules/jose/dist/browser/jwt/sign.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/key/import.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/key/import.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/key/import.esm.js +11 -0
- package/dist/node_modules/jose/dist/browser/key/import.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/buffer_utils.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/buffer_utils.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/buffer_utils.esm.js +18 -0
- package/dist/node_modules/jose/dist/browser/lib/buffer_utils.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/check_key_type.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/check_key_type.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/check_key_type.esm.js +77 -0
- package/dist/node_modules/jose/dist/browser/lib/check_key_type.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/crypto_key.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/crypto_key.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/crypto_key.esm.js +101 -0
- package/dist/node_modules/jose/dist/browser/lib/crypto_key.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/epoch.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/epoch.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/epoch.esm.js +5 -0
- package/dist/node_modules/jose/dist/browser/lib/epoch.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/invalid_key_input.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/invalid_key_input.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/invalid_key_input.esm.js +32 -0
- package/dist/node_modules/jose/dist/browser/lib/invalid_key_input.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_disjoint.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/is_disjoint.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_disjoint.esm.js +25 -0
- package/dist/node_modules/jose/dist/browser/lib/is_disjoint.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_jwk.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/is_jwk.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_jwk.esm.js +20 -0
- package/dist/node_modules/jose/dist/browser/lib/is_jwk.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_object.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/is_object.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/is_object.esm.js +20 -0
- package/dist/node_modules/jose/dist/browser/lib/is_object.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/secs.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/secs.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/secs.esm.js +59 -0
- package/dist/node_modules/jose/dist/browser/lib/secs.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/validate_crit.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/lib/validate_crit.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/lib/validate_crit.esm.js +34 -0
- package/dist/node_modules/jose/dist/browser/lib/validate_crit.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/asn1.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/asn1.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/asn1.esm.js +103 -0
- package/dist/node_modules/jose/dist/browser/runtime/asn1.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/base64url.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/base64url.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/base64url.esm.js +43 -0
- package/dist/node_modules/jose/dist/browser/runtime/base64url.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/check_key_length.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/check_key_length.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/check_key_length.esm.js +12 -0
- package/dist/node_modules/jose/dist/browser/runtime/check_key_length.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/get_sign_verify_key.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/get_sign_verify_key.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/get_sign_verify_key.esm.js +25 -0
- package/dist/node_modules/jose/dist/browser/runtime/get_sign_verify_key.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/is_key_like.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/is_key_like.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/is_key_like.esm.js +13 -0
- package/dist/node_modules/jose/dist/browser/runtime/is_key_like.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/jwk_to_key.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/jwk_to_key.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/jwk_to_key.esm.js +107 -0
- package/dist/node_modules/jose/dist/browser/runtime/jwk_to_key.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/normalize_key.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/normalize_key.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/normalize_key.esm.js +71 -0
- package/dist/node_modules/jose/dist/browser/runtime/normalize_key.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/sign.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/sign.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/sign.esm.js +14 -0
- package/dist/node_modules/jose/dist/browser/runtime/sign.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/subtle_dsa.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/subtle_dsa.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/subtle_dsa.esm.js +32 -0
- package/dist/node_modules/jose/dist/browser/runtime/subtle_dsa.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/webcrypto.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/runtime/webcrypto.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/runtime/webcrypto.esm.js +7 -0
- package/dist/node_modules/jose/dist/browser/runtime/webcrypto.esm.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/util/errors.cjs.js +2 -0
- package/dist/node_modules/jose/dist/browser/util/errors.cjs.js.map +1 -0
- package/dist/node_modules/jose/dist/browser/util/errors.esm.js +131 -0
- package/dist/node_modules/jose/dist/browser/util/errors.esm.js.map +1 -0
- package/dist/node_modules/react-dom/client.cjs.js +2 -0
- package/dist/node_modules/react-dom/client.cjs.js.map +1 -0
- package/dist/node_modules/react-dom/client.esm.js +21 -0
- package/dist/node_modules/react-dom/client.esm.js.map +1 -0
- package/dist/nuxt.cjs.js +2 -0
- package/dist/nuxt.cjs.js.map +1 -0
- package/dist/nuxt.esm.js +10 -0
- package/dist/nuxt.esm.js.map +1 -0
- package/dist/services/chatService.cjs.js +2 -0
- package/dist/services/chatService.cjs.js.map +1 -0
- package/dist/services/chatService.esm.js +482 -0
- package/dist/services/chatService.esm.js.map +1 -0
- package/dist/services/dialogflowClient.cjs.js +2 -0
- package/dist/services/dialogflowClient.cjs.js.map +1 -0
- package/dist/services/dialogflowClient.esm.js +282 -0
- package/dist/services/dialogflowClient.esm.js.map +1 -0
- package/dist/services/sessionManager.cjs.js +2 -0
- package/dist/services/sessionManager.cjs.js.map +1 -0
- package/dist/services/sessionManager.esm.js +48 -0
- package/dist/services/sessionManager.esm.js.map +1 -0
- package/dist/styles.css +1 -596
- package/dist/utils/frameworkDetector.cjs.js +2 -0
- package/dist/utils/frameworkDetector.cjs.js.map +1 -0
- package/dist/utils/frameworkDetector.esm.js +125 -0
- package/dist/utils/frameworkDetector.esm.js.map +1 -0
- package/dist/utils/sanitize.cjs.js +2 -0
- package/dist/utils/sanitize.cjs.js.map +1 -0
- package/dist/utils/sanitize.d.ts +25 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.esm.js +52 -0
- package/dist/utils/sanitize.esm.js.map +1 -0
- package/dist/utils/ssr.d.ts +35 -0
- package/dist/utils/ssr.d.ts.map +1 -0
- package/dist/vue.cjs.js +2 -1
- package/dist/vue.cjs.js.map +1 -0
- package/dist/vue.esm.js +10 -1
- package/dist/vue.esm.js.map +1 -0
- package/package.json +30 -23
- package/dist/index.cjs.js.LICENSE.txt +0 -27
- package/dist/index.esm.js.LICENSE.txt +0 -27
- package/dist/index.js +0 -2
- package/dist/index.js.LICENSE.txt +0 -9
- package/dist/index.umd.js +0 -2
- package/dist/index.umd.js.LICENSE.txt +0 -27
- package/dist/react.cjs.js +0 -2
- package/dist/react.cjs.js.LICENSE.txt +0 -9
- package/dist/react.esm.js +0 -2
- package/dist/react.esm.js.LICENSE.txt +0 -9
- package/dist/vue/ChatWidgetWrapper.d.ts +0 -182
- package/dist/vue/ChatWidgetWrapper.d.ts.map +0 -1
- package/dist/vue/index.d.ts +0 -191
- package/dist/vue/index.d.ts.map +0 -1
- package/dist/vue.js +0 -2
- package/dist/vue.js.LICENSE.txt +0 -39
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
function detectFramework() {
|
|
2
|
+
const isSSR = typeof window === "undefined";
|
|
3
|
+
if (typeof process !== "undefined" && process.env?.NEXT_RUNTIME) {
|
|
4
|
+
return {
|
|
5
|
+
name: "next",
|
|
6
|
+
version: process.env.NEXT_VERSION,
|
|
7
|
+
isSSR
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
if (typeof process !== "undefined" && (process.env?.NUXT || globalThis.__NUXT__)) {
|
|
11
|
+
return {
|
|
12
|
+
name: "nuxt",
|
|
13
|
+
version: process.env.NUXT_VERSION,
|
|
14
|
+
isSSR
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (typeof import.meta !== "undefined") {
|
|
18
|
+
const meta = import.meta;
|
|
19
|
+
if (meta.env?.DEV) {
|
|
20
|
+
return {
|
|
21
|
+
name: "vite",
|
|
22
|
+
version: meta.env?.VITE_VERSION,
|
|
23
|
+
isSSR
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (detectReact()) {
|
|
28
|
+
return {
|
|
29
|
+
name: "react",
|
|
30
|
+
version: getReactVersion(),
|
|
31
|
+
isSSR
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (detectVue()) {
|
|
35
|
+
return {
|
|
36
|
+
name: "vue",
|
|
37
|
+
version: getVueVersion(),
|
|
38
|
+
isSSR
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
name: "vanilla",
|
|
43
|
+
isSSR
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function detectReact() {
|
|
47
|
+
if (typeof window !== "undefined") {
|
|
48
|
+
if (window.React || window.react) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (typeof require !== "undefined") {
|
|
53
|
+
try {
|
|
54
|
+
const resolved = require.resolve("react");
|
|
55
|
+
return !!resolved;
|
|
56
|
+
} catch {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (typeof module !== "undefined" && module.hot) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
function getReactVersion() {
|
|
66
|
+
try {
|
|
67
|
+
if (typeof window !== "undefined" && window.React?.version) {
|
|
68
|
+
return window.React.version;
|
|
69
|
+
}
|
|
70
|
+
if (typeof require !== "undefined") {
|
|
71
|
+
const react = require("react");
|
|
72
|
+
return react.version;
|
|
73
|
+
}
|
|
74
|
+
} catch {
|
|
75
|
+
}
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
function detectVue() {
|
|
79
|
+
if (typeof window !== "undefined") {
|
|
80
|
+
if (window.Vue || window.vue) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (typeof require !== "undefined") {
|
|
85
|
+
try {
|
|
86
|
+
const resolved = require.resolve("vue");
|
|
87
|
+
return !!resolved;
|
|
88
|
+
} catch {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
function getVueVersion() {
|
|
95
|
+
try {
|
|
96
|
+
if (typeof window !== "undefined" && window.Vue?.version) {
|
|
97
|
+
return window.Vue.version;
|
|
98
|
+
}
|
|
99
|
+
if (typeof require !== "undefined") {
|
|
100
|
+
const vue = require("vue");
|
|
101
|
+
return vue.version;
|
|
102
|
+
}
|
|
103
|
+
} catch {
|
|
104
|
+
}
|
|
105
|
+
return void 0;
|
|
106
|
+
}
|
|
107
|
+
let forcedFramework = null;
|
|
108
|
+
function setFramework(framework) {
|
|
109
|
+
forcedFramework = framework;
|
|
110
|
+
}
|
|
111
|
+
function getFramework() {
|
|
112
|
+
if (forcedFramework) {
|
|
113
|
+
return {
|
|
114
|
+
name: forcedFramework,
|
|
115
|
+
isSSR: typeof window === "undefined"
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return detectFramework();
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
detectFramework,
|
|
122
|
+
getFramework,
|
|
123
|
+
setFramework
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=frameworkDetector.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameworkDetector.esm.js","sources":["../../src/utils/frameworkDetector.ts"],"sourcesContent":["/**\n * Framework Detection Utility\n * Detects which framework is available in the runtime environment\n */\n\nexport type Framework = 'react' | 'vue' | 'next' | 'nuxt' | 'vite' | 'vanilla';\n\nexport interface FrameworkInfo {\n name: Framework;\n version?: string;\n isSSR: boolean;\n}\n\n/**\n * Detects the framework in the current environment\n */\nexport function detectFramework(): FrameworkInfo {\n const isSSR = typeof window === 'undefined';\n \n // Check for Next.js\n if (typeof process !== 'undefined' && process.env?.NEXT_RUNTIME) {\n return {\n name: 'next',\n version: process.env.NEXT_VERSION,\n isSSR,\n };\n }\n \n // Check for Nuxt\n if (typeof process !== 'undefined' && (process.env?.NUXT || (globalThis as any).__NUXT__)) {\n return {\n name: 'nuxt',\n version: (process.env as any).NUXT_VERSION,\n isSSR,\n };\n }\n \n // Check for Vite (development)\n if (typeof import.meta !== 'undefined') {\n const meta = import.meta as any;\n if (meta.env?.DEV) {\n return {\n name: 'vite',\n version: meta.env?.VITE_VERSION,\n isSSR,\n };\n }\n }\n \n // Check for React\n if (detectReact()) {\n return {\n name: 'react',\n version: getReactVersion(),\n isSSR,\n };\n }\n \n // Check for Vue\n if (detectVue()) {\n return {\n name: 'vue',\n version: getVueVersion(),\n isSSR,\n };\n }\n \n // Default to vanilla\n return {\n name: 'vanilla',\n isSSR,\n };\n}\n\n/**\n * Detects if React is available\n */\nfunction detectReact(): boolean {\n // Check global React\n if (typeof window !== 'undefined') {\n if ((window as any).React || (window as any).react) {\n return true;\n }\n }\n \n // Check for React in CommonJS\n if (typeof require !== 'undefined') {\n try {\n // Use a try-catch to handle module resolution errors gracefully\n const resolved = require.resolve('react');\n return !!resolved;\n } catch {\n // React not found - this is expected if React is not installed\n return false;\n }\n }\n \n // Check for React in ES modules (runtime)\n if (typeof module !== 'undefined' && (module as any).hot) {\n // Likely in a module environment that supports React\n return true;\n }\n \n return false;\n}\n\n/**\n * Gets React version if available\n */\nfunction getReactVersion(): string | undefined {\n try {\n if (typeof window !== 'undefined' && (window as any).React?.version) {\n return (window as any).React.version;\n }\n \n if (typeof require !== 'undefined') {\n const react = require('react');\n return react.version;\n }\n } catch {\n // Version not available\n }\n \n return undefined;\n}\n\n/**\n * Detects if Vue is available\n */\nfunction detectVue(): boolean {\n // Check global Vue\n if (typeof window !== 'undefined') {\n if ((window as any).Vue || (window as any).vue) {\n return true;\n }\n }\n \n // Check for Vue in CommonJS\n if (typeof require !== 'undefined') {\n try {\n // Use a try-catch to handle module resolution errors gracefully\n const resolved = require.resolve('vue');\n return !!resolved;\n } catch {\n // Vue not found - this is expected if Vue is not installed\n return false;\n }\n }\n \n return false;\n}\n\n/**\n * Gets Vue version if available\n */\nfunction getVueVersion(): string | undefined {\n try {\n if (typeof window !== 'undefined' && (window as any).Vue?.version) {\n return (window as any).Vue.version;\n }\n \n if (typeof require !== 'undefined') {\n const vue = require('vue');\n return vue.version;\n }\n } catch {\n // Version not available\n }\n \n return undefined;\n}\n\n/**\n * Forces a specific framework (useful for testing or explicit configuration)\n */\nlet forcedFramework: Framework | null = null;\n\nexport function setFramework(framework: Framework): void {\n forcedFramework = framework;\n}\n\nexport function getFramework(): FrameworkInfo {\n if (forcedFramework) {\n return {\n name: forcedFramework,\n isSSR: typeof window === 'undefined',\n };\n }\n return detectFramework();\n}\n"],"names":[],"mappings":"AAgBO,SAAS,kBAAiC;AAC/C,QAAM,QAAQ,OAAO,WAAW;AAGhC,MAAI,OAAO,YAAY,eAAe,QAAQ,KAAK,cAAc;AAC/D,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,QAAQ,IAAI;AAAA,MACrB;AAAA,IAAA;AAAA,EAEJ;AAGA,MAAI,OAAO,YAAY,gBAAgB,QAAQ,KAAK,QAAS,WAAmB,WAAW;AACzF,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAU,QAAQ,IAAY;AAAA,MAC9B;AAAA,IAAA;AAAA,EAEJ;AAGA,MAAI,OAAO,gBAAgB,aAAa;AACtC,UAAM,OAAO;AACb,QAAI,KAAK,KAAK,KAAK;AACjB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,KAAK,KAAK;AAAA,QACnB;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF;AAGA,MAAI,eAAe;AACjB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,gBAAA;AAAA,MACT;AAAA,IAAA;AAAA,EAEJ;AAGA,MAAI,aAAa;AACf,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,cAAA;AAAA,MACT;AAAA,IAAA;AAAA,EAEJ;AAGA,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,EAAA;AAEJ;AAKA,SAAS,cAAuB;AAE9B,MAAI,OAAO,WAAW,aAAa;AACjC,QAAK,OAAe,SAAU,OAAe,OAAO;AAClD,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,OAAO,YAAY,aAAa;AAClC,QAAI;AAEF,YAAM,WAAW,gBAAgB,OAAO;AACxC,aAAO,CAAC,CAAC;AAAA,IACX,QAAQ;AAEN,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,OAAO,WAAW,eAAgB,OAAe,KAAK;AAExD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAKA,SAAS,kBAAsC;AAC7C,MAAI;AACF,QAAI,OAAO,WAAW,eAAgB,OAAe,OAAO,SAAS;AACnE,aAAQ,OAAe,MAAM;AAAA,IAC/B;AAEA,QAAI,OAAO,YAAY,aAAa;AAClC,YAAM,QAAQ,QAAQ,OAAO;AAC7B,aAAO,MAAM;AAAA,IACf;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,SAAO;AACT;AAKA,SAAS,YAAqB;AAE5B,MAAI,OAAO,WAAW,aAAa;AACjC,QAAK,OAAe,OAAQ,OAAe,KAAK;AAC9C,aAAO;AAAA,IACT;AAAA,EACF;AAGA,MAAI,OAAO,YAAY,aAAa;AAClC,QAAI;AAEF,YAAM,WAAW,gBAAgB,KAAK;AACtC,aAAO,CAAC,CAAC;AAAA,IACX,QAAQ;AAEN,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAKA,SAAS,gBAAoC;AAC3C,MAAI;AACF,QAAI,OAAO,WAAW,eAAgB,OAAe,KAAK,SAAS;AACjE,aAAQ,OAAe,IAAI;AAAA,IAC7B;AAEA,QAAI,OAAO,YAAY,aAAa;AAClC,YAAM,MAAM,QAAQ,KAAK;AACzB,aAAO,IAAI;AAAA,IACb;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,SAAO;AACT;AAKA,IAAI,kBAAoC;AAEjC,SAAS,aAAa,WAA4B;AACvD,oBAAkB;AACpB;AAEO,SAAS,eAA8B;AAC5C,MAAI,iBAAiB;AACnB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,OAAO,WAAW;AAAA,IAAA;AAAA,EAE7B;AACA,SAAO,gBAAA;AACT;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";let e;function t(t,r){const o="undefined"!=typeof window?(e||(e=require("dompurify")),e):(e||(e=require("isomorphic-dompurify")),e),a={ALLOWED_TAGS:["a","b","strong","i","em","u","br","p","span"],ALLOWED_ATTR:["href","target","rel"],ALLOW_DATA_ATTR:!1,...r?.allowedTags&&{ALLOWED_TAGS:r.allowedTags},...r?.allowedAttributes&&{ALLOWED_ATTR:Object.keys(r.allowedAttributes).flatMap(e=>r.allowedAttributes[e])}};return o.sanitize(t,a)}function r(e){return t(e.replace(/(https?:\/\/[^\s]+)/g,'<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>'),{allowedTags:["a"],allowedAttributes:{a:["href","target","rel"]}})}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),exports.linkifyText=r,exports.safeLinkifyText=function(e){return r(e)},exports.sanitizeHtml=t;
|
|
2
|
+
//# sourceMappingURL=sanitize.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.cjs.js","sources":["../../src/utils/sanitize.ts"],"sourcesContent":["/**\n * HTML Sanitization Utilities\n * Safe HTML rendering with XSS protection\n */\n\n// Use isomorphic-dompurify for SSR compatibility\nlet DOMPurify: any;\n\n// Lazy load DOMPurify to avoid SSR issues\nfunction getDOMPurify() {\n if (typeof window !== 'undefined') {\n // Browser: use regular DOMPurify\n if (!DOMPurify) {\n DOMPurify = require('dompurify');\n }\n return DOMPurify;\n } else {\n // SSR: use isomorphic-dompurify\n if (!DOMPurify) {\n DOMPurify = require('isomorphic-dompurify');\n }\n return DOMPurify;\n }\n}\n\n/**\n * Sanitize HTML string\n * Removes dangerous scripts while preserving safe HTML\n */\nexport function sanitizeHtml(html: string, options?: {\n allowedTags?: string[];\n allowedAttributes?: Record<string, string[]>;\n}): string {\n const DOMPurifyInstance = getDOMPurify();\n \n const defaultOptions = {\n ALLOWED_TAGS: ['a', 'b', 'strong', 'i', 'em', 'u', 'br', 'p', 'span'],\n ALLOWED_ATTR: ['href', 'target', 'rel'],\n ALLOW_DATA_ATTR: false,\n };\n\n const config: any = {\n ...defaultOptions,\n ...(options?.allowedTags && { ALLOWED_TAGS: options.allowedTags }),\n ...(options?.allowedAttributes && { \n ALLOWED_ATTR: Object.keys(options.allowedAttributes).flatMap(key => \n options.allowedAttributes![key]\n )\n }),\n };\n\n return DOMPurifyInstance.sanitize(html, config);\n}\n\n/**\n * Linkify text (convert URLs to links) with sanitization\n */\nexport function linkifyText(text: string): string {\n // Simple regex to find URLs\n const urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n \n // Replace URLs with anchor tags\n const linked = text.replace(\n urlRegex,\n '<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'\n );\n\n // Sanitize the result\n return sanitizeHtml(linked, {\n allowedTags: ['a'],\n allowedAttributes: { a: ['href', 'target', 'rel'] },\n });\n}\n\n/**\n * Safe linkify for Vue v-html (alias for linkifyText)\n */\nexport function safeLinkifyText(text: string): string {\n return linkifyText(text);\n}\n\n/**\n * Sanitize plain text (remove all HTML)\n */\nexport function sanitizeText(text: string): string {\n const DOMPurifyInstance = getDOMPurify();\n return DOMPurifyInstance.sanitize(text, { ALLOWED_TAGS: [] });\n}\n"],"names":["DOMPurify","sanitizeHtml","html","options","DOMPurifyInstance","window","require","config","ALLOWED_TAGS","ALLOWED_ATTR","ALLOW_DATA_ATTR","allowedTags","allowedAttributes","Object","keys","flatMap","key","sanitize","linkifyText","text","replace","a"],"mappings":"aAMA,IAAIA,EAuBG,SAASC,EAAaC,EAAcC,GAIzC,MAAMC,EAvBgB,oBAAXC,QAEJL,IACHA,EAAYM,QAAQ,cAEfN,IAGFA,IACHA,EAAYM,QAAQ,yBAEfN,GAoBHO,EAAc,CALlBC,aAAc,CAAC,IAAK,IAAK,SAAU,IAAK,KAAM,IAAK,KAAM,IAAK,QAC9DC,aAAc,CAAC,OAAQ,SAAU,OACjCC,iBAAiB,KAKbP,GAASQ,aAAe,CAAEH,aAAcL,EAAQQ,gBAChDR,GAASS,mBAAqB,CAChCH,aAAcI,OAAOC,KAAKX,EAAQS,mBAAmBG,QAAQC,GAC3Db,EAAQS,kBAAmBI,MAKjC,OAAOZ,EAAkBa,SAASf,EAAMK,EAC1C,CAKO,SAASW,EAAYC,GAW1B,OAAOlB,EANQkB,EAAKC,QAHH,uBAKf,iEAI0B,CAC1BT,YAAa,CAAC,KACdC,kBAAmB,CAAES,EAAG,CAAC,OAAQ,SAAU,SAE/C,kHAKO,SAAyBF,GAC9B,OAAOD,EAAYC,EACrB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML Sanitization Utilities
|
|
3
|
+
* Safe HTML rendering with XSS protection
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Sanitize HTML string
|
|
7
|
+
* Removes dangerous scripts while preserving safe HTML
|
|
8
|
+
*/
|
|
9
|
+
export declare function sanitizeHtml(html: string, options?: {
|
|
10
|
+
allowedTags?: string[];
|
|
11
|
+
allowedAttributes?: Record<string, string[]>;
|
|
12
|
+
}): string;
|
|
13
|
+
/**
|
|
14
|
+
* Linkify text (convert URLs to links) with sanitization
|
|
15
|
+
*/
|
|
16
|
+
export declare function linkifyText(text: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Safe linkify for Vue v-html (alias for linkifyText)
|
|
19
|
+
*/
|
|
20
|
+
export declare function safeLinkifyText(text: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Sanitize plain text (remove all HTML)
|
|
23
|
+
*/
|
|
24
|
+
export declare function sanitizeText(text: string): string;
|
|
25
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9C,GAAG,MAAM,CAoBT;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAehD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
let DOMPurify;
|
|
2
|
+
function getDOMPurify() {
|
|
3
|
+
if (typeof window !== "undefined") {
|
|
4
|
+
if (!DOMPurify) {
|
|
5
|
+
DOMPurify = require("dompurify");
|
|
6
|
+
}
|
|
7
|
+
return DOMPurify;
|
|
8
|
+
} else {
|
|
9
|
+
if (!DOMPurify) {
|
|
10
|
+
DOMPurify = require("isomorphic-dompurify");
|
|
11
|
+
}
|
|
12
|
+
return DOMPurify;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function sanitizeHtml(html, options) {
|
|
16
|
+
const DOMPurifyInstance = getDOMPurify();
|
|
17
|
+
const defaultOptions = {
|
|
18
|
+
ALLOWED_TAGS: ["a", "b", "strong", "i", "em", "u", "br", "p", "span"],
|
|
19
|
+
ALLOWED_ATTR: ["href", "target", "rel"],
|
|
20
|
+
ALLOW_DATA_ATTR: false
|
|
21
|
+
};
|
|
22
|
+
const config = {
|
|
23
|
+
...defaultOptions,
|
|
24
|
+
...options?.allowedTags && { ALLOWED_TAGS: options.allowedTags },
|
|
25
|
+
...options?.allowedAttributes && {
|
|
26
|
+
ALLOWED_ATTR: Object.keys(options.allowedAttributes).flatMap(
|
|
27
|
+
(key) => options.allowedAttributes[key]
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return DOMPurifyInstance.sanitize(html, config);
|
|
32
|
+
}
|
|
33
|
+
function linkifyText(text) {
|
|
34
|
+
const urlRegex = /(https?:\/\/[^\s]+)/g;
|
|
35
|
+
const linked = text.replace(
|
|
36
|
+
urlRegex,
|
|
37
|
+
'<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>'
|
|
38
|
+
);
|
|
39
|
+
return sanitizeHtml(linked, {
|
|
40
|
+
allowedTags: ["a"],
|
|
41
|
+
allowedAttributes: { a: ["href", "target", "rel"] }
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function safeLinkifyText(text) {
|
|
45
|
+
return linkifyText(text);
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
linkifyText,
|
|
49
|
+
safeLinkifyText,
|
|
50
|
+
sanitizeHtml
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=sanitize.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.esm.js","sources":["../../src/utils/sanitize.ts"],"sourcesContent":["/**\n * HTML Sanitization Utilities\n * Safe HTML rendering with XSS protection\n */\n\n// Use isomorphic-dompurify for SSR compatibility\nlet DOMPurify: any;\n\n// Lazy load DOMPurify to avoid SSR issues\nfunction getDOMPurify() {\n if (typeof window !== 'undefined') {\n // Browser: use regular DOMPurify\n if (!DOMPurify) {\n DOMPurify = require('dompurify');\n }\n return DOMPurify;\n } else {\n // SSR: use isomorphic-dompurify\n if (!DOMPurify) {\n DOMPurify = require('isomorphic-dompurify');\n }\n return DOMPurify;\n }\n}\n\n/**\n * Sanitize HTML string\n * Removes dangerous scripts while preserving safe HTML\n */\nexport function sanitizeHtml(html: string, options?: {\n allowedTags?: string[];\n allowedAttributes?: Record<string, string[]>;\n}): string {\n const DOMPurifyInstance = getDOMPurify();\n \n const defaultOptions = {\n ALLOWED_TAGS: ['a', 'b', 'strong', 'i', 'em', 'u', 'br', 'p', 'span'],\n ALLOWED_ATTR: ['href', 'target', 'rel'],\n ALLOW_DATA_ATTR: false,\n };\n\n const config: any = {\n ...defaultOptions,\n ...(options?.allowedTags && { ALLOWED_TAGS: options.allowedTags }),\n ...(options?.allowedAttributes && { \n ALLOWED_ATTR: Object.keys(options.allowedAttributes).flatMap(key => \n options.allowedAttributes![key]\n )\n }),\n };\n\n return DOMPurifyInstance.sanitize(html, config);\n}\n\n/**\n * Linkify text (convert URLs to links) with sanitization\n */\nexport function linkifyText(text: string): string {\n // Simple regex to find URLs\n const urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n \n // Replace URLs with anchor tags\n const linked = text.replace(\n urlRegex,\n '<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'\n );\n\n // Sanitize the result\n return sanitizeHtml(linked, {\n allowedTags: ['a'],\n allowedAttributes: { a: ['href', 'target', 'rel'] },\n });\n}\n\n/**\n * Safe linkify for Vue v-html (alias for linkifyText)\n */\nexport function safeLinkifyText(text: string): string {\n return linkifyText(text);\n}\n\n/**\n * Sanitize plain text (remove all HTML)\n */\nexport function sanitizeText(text: string): string {\n const DOMPurifyInstance = getDOMPurify();\n return DOMPurifyInstance.sanitize(text, { ALLOWED_TAGS: [] });\n}\n"],"names":[],"mappings":"AAMA,IAAI;AAGJ,SAAS,eAAe;AACtB,MAAI,OAAO,WAAW,aAAa;AAEjC,QAAI,CAAC,WAAW;AACd,kBAAY,QAAQ,WAAW;AAAA,IACjC;AACA,WAAO;AAAA,EACT,OAAO;AAEL,QAAI,CAAC,WAAW;AACd,kBAAY,QAAQ,sBAAsB;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AACF;AAMO,SAAS,aAAa,MAAc,SAGhC;AACT,QAAM,oBAAoB,aAAA;AAE1B,QAAM,iBAAiB;AAAA,IACrB,cAAc,CAAC,KAAK,KAAK,UAAU,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM;AAAA,IACpE,cAAc,CAAC,QAAQ,UAAU,KAAK;AAAA,IACtC,iBAAiB;AAAA,EAAA;AAGnB,QAAM,SAAc;AAAA,IAClB,GAAG;AAAA,IACH,GAAI,SAAS,eAAe,EAAE,cAAc,QAAQ,YAAA;AAAA,IACpD,GAAI,SAAS,qBAAqB;AAAA,MAChC,cAAc,OAAO,KAAK,QAAQ,iBAAiB,EAAE;AAAA,QAAQ,CAAA,QAC3D,QAAQ,kBAAmB,GAAG;AAAA,MAAA;AAAA,IAChC;AAAA,EACF;AAGF,SAAO,kBAAkB,SAAS,MAAM,MAAM;AAChD;AAKO,SAAS,YAAY,MAAsB;AAEhD,QAAM,WAAW;AAGjB,QAAM,SAAS,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,EAAA;AAIF,SAAO,aAAa,QAAQ;AAAA,IAC1B,aAAa,CAAC,GAAG;AAAA,IACjB,mBAAmB,EAAE,GAAG,CAAC,QAAQ,UAAU,KAAK,EAAA;AAAA,EAAE,CACnD;AACH;AAKO,SAAS,gBAAgB,MAAsB;AACpD,SAAO,YAAY,IAAI;AACzB;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR-Safe Utilities
|
|
3
|
+
* Safe access to browser APIs that don't exist in SSR
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Safe localStorage access
|
|
7
|
+
*/
|
|
8
|
+
export declare function safeLocalStorage(): Storage | {
|
|
9
|
+
getItem: () => null;
|
|
10
|
+
setItem: () => void;
|
|
11
|
+
removeItem: () => void;
|
|
12
|
+
clear: () => void;
|
|
13
|
+
key: () => null;
|
|
14
|
+
length: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Safe sessionStorage access
|
|
18
|
+
*/
|
|
19
|
+
export declare function safeSessionStorage(): Storage | {
|
|
20
|
+
getItem: () => null;
|
|
21
|
+
setItem: () => void;
|
|
22
|
+
removeItem: () => void;
|
|
23
|
+
clear: () => void;
|
|
24
|
+
key: () => null;
|
|
25
|
+
length: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Check if code is running in browser
|
|
29
|
+
*/
|
|
30
|
+
export declare function isBrowser(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Safe document access
|
|
33
|
+
*/
|
|
34
|
+
export declare function safeDocument(): Document | null;
|
|
35
|
+
//# sourceMappingURL=ssr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../src/utils/ssr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,GAAG;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAYA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,GAAG;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAYA;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAK9C"}
|
package/dist/vue.cjs.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./components/ChatWidget.vue.cjs.js"),t=require("./composables/useChatWidget.cjs.js"),s=require("./core/stateManager.cjs.js");exports.ChatWidget=e.default,exports.default=e.default,exports.useChatWidget=t.useChatWidget,exports.WidgetStateManager=s.WidgetStateManager;
|
|
2
|
+
//# sourceMappingURL=vue.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/vue.esm.js
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import ChatWidgetComponent from "./components/ChatWidget.vue.esm.js";
|
|
2
|
+
import { useChatWidget } from "./composables/useChatWidget.esm.js";
|
|
3
|
+
import { WidgetStateManager } from "./core/stateManager.esm.js";
|
|
4
|
+
export {
|
|
5
|
+
ChatWidgetComponent as ChatWidget,
|
|
6
|
+
WidgetStateManager,
|
|
7
|
+
ChatWidgetComponent as default,
|
|
8
|
+
useChatWidget
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=vue.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockspark/chat-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "BlockSpark AI Chat Widget - Universal JavaScript library supporting React, Next.js, Vue, Nuxt, and Vite",
|
|
5
5
|
"main": "./dist/index.cjs.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"style": "./dist/styles.css",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"*.css",
|
|
11
|
+
"*.vue"
|
|
12
|
+
],
|
|
8
13
|
"exports": {
|
|
9
14
|
".": {
|
|
10
15
|
"import": {
|
|
@@ -42,7 +47,7 @@
|
|
|
42
47
|
"./vue": {
|
|
43
48
|
"import": {
|
|
44
49
|
"types": "./dist/entry/vue.d.ts",
|
|
45
|
-
"default": "./
|
|
50
|
+
"default": "./dist/vue.esm.js"
|
|
46
51
|
},
|
|
47
52
|
"require": {
|
|
48
53
|
"types": "./dist/entry/vue.d.ts",
|
|
@@ -52,14 +57,14 @@
|
|
|
52
57
|
},
|
|
53
58
|
"./nuxt": {
|
|
54
59
|
"import": {
|
|
55
|
-
"types": "./dist/nuxt.d.ts",
|
|
56
|
-
"default": "./dist/
|
|
60
|
+
"types": "./dist/entry/nuxt.d.ts",
|
|
61
|
+
"default": "./dist/nuxt.esm.js"
|
|
57
62
|
},
|
|
58
63
|
"require": {
|
|
59
|
-
"types": "./dist/nuxt.d.ts",
|
|
60
|
-
"default": "./dist/
|
|
64
|
+
"types": "./dist/entry/nuxt.d.ts",
|
|
65
|
+
"default": "./dist/nuxt.cjs.js"
|
|
61
66
|
},
|
|
62
|
-
"types": "./dist/nuxt.d.ts"
|
|
67
|
+
"types": "./dist/entry/nuxt.d.ts"
|
|
63
68
|
},
|
|
64
69
|
"./vite": {
|
|
65
70
|
"import": {
|
|
@@ -73,7 +78,6 @@
|
|
|
73
78
|
"types": "./dist/vite.d.ts"
|
|
74
79
|
},
|
|
75
80
|
"./styles": "./dist/styles.css",
|
|
76
|
-
"./styles.css": "./dist/styles.css",
|
|
77
81
|
"./dist/styles.css": "./dist/styles.css",
|
|
78
82
|
"./package.json": "./package.json"
|
|
79
83
|
},
|
|
@@ -83,14 +87,15 @@
|
|
|
83
87
|
"ARCHITECTURE.md"
|
|
84
88
|
],
|
|
85
89
|
"scripts": {
|
|
86
|
-
"build": "
|
|
87
|
-
"dev": "
|
|
90
|
+
"build": "vite build && tsc --emitDeclarationOnly --outDir dist",
|
|
91
|
+
"dev": "vite build --watch",
|
|
88
92
|
"prepublishOnly": "npm run build",
|
|
89
93
|
"type-check": "tsc --noEmit"
|
|
90
94
|
},
|
|
91
95
|
"peerDependencies": {
|
|
92
96
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
93
|
-
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
97
|
+
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
98
|
+
"vue": "^3.0.0 || ^3.1.0 || ^3.2.0 || ^3.3.0 || ^3.4.0 || ^3.5.0"
|
|
94
99
|
},
|
|
95
100
|
"peerDependenciesMeta": {
|
|
96
101
|
"react": {
|
|
@@ -98,27 +103,29 @@
|
|
|
98
103
|
},
|
|
99
104
|
"react-dom": {
|
|
100
105
|
"optional": true
|
|
106
|
+
},
|
|
107
|
+
"vue": {
|
|
108
|
+
"optional": true
|
|
101
109
|
}
|
|
102
110
|
},
|
|
103
111
|
"dependencies": {
|
|
104
112
|
"jose": "^5.0.0",
|
|
105
|
-
"
|
|
106
|
-
"
|
|
113
|
+
"dompurify": "^3.0.0",
|
|
114
|
+
"isomorphic-dompurify": "^2.9.0"
|
|
107
115
|
},
|
|
108
116
|
"devDependencies": {
|
|
117
|
+
"@types/node": "^25.3.0",
|
|
109
118
|
"@types/react": "^18.3.5",
|
|
110
119
|
"@types/react-dom": "^18.3.0",
|
|
111
|
-
"@
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
120
|
+
"@vitejs/plugin-react": "^4.3.1",
|
|
121
|
+
"@vitejs/plugin-vue": "^5.0.0",
|
|
122
|
+
"@vue/compiler-sfc": "^3.5.0",
|
|
123
|
+
"react": "^18.3.1",
|
|
124
|
+
"react-dom": "^18.3.1",
|
|
125
|
+
"terser": "^5.31.0",
|
|
117
126
|
"typescript": "^5.6.2",
|
|
118
|
-
"
|
|
119
|
-
"vue
|
|
120
|
-
"webpack": "^5.94.0",
|
|
121
|
-
"webpack-cli": "^5.1.4"
|
|
127
|
+
"vite": "^5.0.0",
|
|
128
|
+
"vue": "^3.5.28"
|
|
122
129
|
},
|
|
123
130
|
"keywords": [
|
|
124
131
|
"chat",
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @vue/runtime-core v3.5.28
|
|
13
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
14
|
-
* @license MIT
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @vue/runtime-dom v3.5.28
|
|
19
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
20
|
-
* @license MIT
|
|
21
|
-
**/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @vue/shared v3.5.28
|
|
25
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
26
|
-
* @license MIT
|
|
27
|
-
**/
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @vue/runtime-core v3.5.28
|
|
13
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
14
|
-
* @license MIT
|
|
15
|
-
**/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @vue/runtime-dom v3.5.28
|
|
19
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
20
|
-
* @license MIT
|
|
21
|
-
**/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @vue/shared v3.5.28
|
|
25
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
26
|
-
* @license MIT
|
|
27
|
-
**/
|