@salla.sa/ui-ai-kit-core 2.1.1 → 2.2.1
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/dist/cjs/ai-agent-error.cjs.entry.js +3 -3
- package/dist/cjs/ai-card.cjs.entry.js +3 -3
- package/dist/cjs/ai-chat-container.cjs.entry.js +89 -14
- package/dist/cjs/ai-chat-header.cjs.entry.js +114 -14
- package/dist/cjs/ai-chat-message.cjs.entry.js +10 -4
- package/dist/cjs/ai-conversation-list.cjs.entry.js +37 -12
- package/dist/cjs/ai-conversation-summary.cjs.entry.js +3 -3
- package/dist/cjs/ai-icon.cjs.entry.js +2 -2
- package/dist/cjs/ai-in-chat-browser.cjs.entry.js +50 -0
- package/dist/cjs/ai-link.cjs.entry.js +3 -3
- package/dist/cjs/ai-loading.cjs.entry.js +3 -3
- package/dist/cjs/ai-message-input.cjs.entry.js +12 -7
- package/dist/cjs/ai-rating.cjs.entry.js +26 -18
- package/dist/cjs/ai-route-decision.cjs.entry.js +3 -3
- package/dist/cjs/ai-suggestion.cjs.entry.js +3 -3
- package/dist/cjs/ai-voice-input.cjs.entry.js +2 -2
- package/dist/cjs/icon-registry-D-m8GW4D.js +126 -0
- package/dist/cjs/{index-Bs23yVuF.js → index-Cc05u4ND.js} +86 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/ui-ai-kit.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/ai-agent-error/ai-agent-error.js +1 -1
- package/dist/collection/components/ai-card/ai-card.js +2 -2
- package/dist/collection/components/ai-chat-container/ai-chat-container.css +175 -3
- package/dist/collection/components/ai-chat-container/ai-chat-container.js +263 -16
- package/dist/collection/components/ai-chat-header/ai-chat-header.css +98 -0
- package/dist/collection/components/ai-chat-header/ai-chat-header.js +298 -26
- package/dist/collection/components/ai-chat-message/ai-chat-message.js +8 -2
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.css +116 -7
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.js +128 -9
- package/dist/collection/components/ai-conversation-summary/ai-conversation-summary.js +1 -1
- package/dist/collection/components/ai-icon/ai-icon.js +1 -1
- package/dist/collection/components/ai-in-chat-browser/ai-in-chat-browser.css +78 -0
- package/dist/collection/components/ai-in-chat-browser/ai-in-chat-browser.js +102 -0
- package/dist/collection/components/ai-link/ai-link.js +1 -1
- package/dist/collection/components/ai-loading/ai-loading.js +1 -1
- package/dist/collection/components/ai-message-input/ai-message-input.css +46 -5
- package/dist/collection/components/ai-message-input/ai-message-input.js +10 -5
- package/dist/collection/components/ai-rating/ai-rating.css +22 -2
- package/dist/collection/components/ai-rating/ai-rating.js +46 -17
- package/dist/collection/components/ai-route-decision/ai-route-decision.js +1 -1
- package/dist/collection/components/ai-suggestion/ai-suggestion.js +2 -2
- package/dist/collection/components/ai-voice-input/ai-voice-input.js +1 -1
- package/dist/collection/utils/icon-registry.js +27 -7
- package/dist/components/ai-agent-error.js +1 -1
- package/dist/components/ai-card.js +1 -1
- package/dist/components/ai-chat-container.js +1 -1
- package/dist/components/ai-chat-header.js +1 -1
- package/dist/components/ai-chat-message.js +2 -2
- package/dist/components/ai-conversation-list.js +1 -1
- package/dist/components/ai-conversation-summary.js +1 -1
- package/dist/components/ai-icon.js +1 -1
- package/dist/components/ai-in-chat-browser.d.ts +11 -0
- package/dist/components/ai-in-chat-browser.js +1 -0
- package/dist/components/ai-link.js +1 -1
- package/dist/components/ai-loading.js +1 -1
- package/dist/components/ai-message-input.js +1 -1
- package/dist/components/ai-rating.js +1 -1
- package/dist/components/ai-route-decision.js +1 -1
- package/dist/components/ai-suggestion.js +1 -1
- package/dist/components/ai-voice-input.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-BPkf7wZg.js +1 -0
- package/dist/components/p-Ba0urr6Q.js +1 -0
- package/dist/components/p-CJzVwMlS.js +1 -0
- package/dist/components/{p-Bbmjx9lq.js → p-DZuBxUde.js} +1 -1
- package/dist/components/p-DlD8m3rf.js +1 -0
- package/dist/components/{p-C5gkZloN.js → p-bGFmyIp1.js} +1 -1
- package/dist/esm/ai-agent-error.entry.js +3 -3
- package/dist/esm/ai-card.entry.js +3 -3
- package/dist/esm/ai-chat-container.entry.js +89 -14
- package/dist/esm/ai-chat-header.entry.js +114 -14
- package/dist/esm/ai-chat-message.entry.js +10 -4
- package/dist/esm/ai-conversation-list.entry.js +37 -12
- package/dist/esm/ai-conversation-summary.entry.js +3 -3
- package/dist/esm/ai-icon.entry.js +2 -2
- package/dist/esm/ai-in-chat-browser.entry.js +48 -0
- package/dist/esm/ai-link.entry.js +3 -3
- package/dist/esm/ai-loading.entry.js +3 -3
- package/dist/esm/ai-message-input.entry.js +12 -7
- package/dist/esm/ai-rating.entry.js +26 -18
- package/dist/esm/ai-route-decision.entry.js +3 -3
- package/dist/esm/ai-suggestion.entry.js +3 -3
- package/dist/esm/ai-voice-input.entry.js +2 -2
- package/dist/esm/icon-registry-DlD8m3rf.js +124 -0
- package/dist/esm/{index-hxWjzqcH.js → index-VMEwYfaX.js} +86 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/ui-ai-kit.js +3 -3
- package/dist/types/components/ai-chat-container/ai-chat-container.d.ts +38 -2
- package/dist/types/components/ai-chat-header/ai-chat-header.d.ts +41 -4
- package/dist/types/components/ai-conversation-list/ai-conversation-list.d.ts +11 -0
- package/dist/types/components/ai-in-chat-browser/ai-in-chat-browser.d.ts +13 -0
- package/dist/types/components/ai-rating/ai-rating.d.ts +4 -1
- package/dist/types/components.d.ts +275 -18
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/icon-registry.d.ts +1 -1
- package/dist/ui-ai-kit/{p-889c6b00.entry.js → p-062cad02.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-27bf454d.entry.js → p-187db371.entry.js} +1 -1
- package/dist/ui-ai-kit/p-1b247096.entry.js +1 -0
- package/dist/ui-ai-kit/p-338d55d3.entry.js +1 -0
- package/dist/ui-ai-kit/{p-210b11dc.entry.js → p-4359a116.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-ccaec7b4.entry.js → p-5f005ec5.entry.js} +1 -1
- package/dist/ui-ai-kit/p-6a4b66ed.entry.js +1 -0
- package/dist/ui-ai-kit/{p-5ea933a4.entry.js → p-6b644d32.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-b33e92ea.entry.js → p-6bd54e29.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-0da537b1.entry.js → p-83f46030.entry.js} +2 -2
- package/dist/ui-ai-kit/p-8ac8febb.entry.js +1 -0
- package/dist/ui-ai-kit/{p-72c6e3d1.entry.js → p-8fabdbe8.entry.js} +1 -1
- package/dist/ui-ai-kit/p-953d4348.entry.js +1 -0
- package/dist/ui-ai-kit/p-DlD8m3rf.js +1 -0
- package/dist/ui-ai-kit/p-VMEwYfaX.js +2 -0
- package/dist/ui-ai-kit/{p-cf6caba5.entry.js → p-cae762e0.entry.js} +1 -1
- package/dist/ui-ai-kit/p-d02f2db5.entry.js +1 -0
- package/dist/ui-ai-kit/{p-999dd7c8.entry.js → p-e6236df2.entry.js} +1 -1
- package/dist/ui-ai-kit/ui-ai-kit.css +1 -1
- package/dist/ui-ai-kit/ui-ai-kit.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/icon-registry-BKb9-2Nt.js +0 -106
- package/dist/components/p-CAnlgwx0.js +0 -1
- package/dist/components/p-SJZ6Ujn9.js +0 -1
- package/dist/esm/icon-registry-SJZ6Ujn9.js +0 -104
- package/dist/ui-ai-kit/p-1cce63d4.entry.js +0 -1
- package/dist/ui-ai-kit/p-70836960.entry.js +0 -1
- package/dist/ui-ai-kit/p-8f721843.entry.js +0 -1
- package/dist/ui-ai-kit/p-95b50b7b.entry.js +0 -1
- package/dist/ui-ai-kit/p-SJZ6Ujn9.js +0 -1
- package/dist/ui-ai-kit/p-c9ec615f.entry.js +0 -1
- package/dist/ui-ai-kit/p-hxWjzqcH.js +0 -2
|
@@ -4,7 +4,7 @@ const NAMESPACE = 'ui-ai-kit';
|
|
|
4
4
|
const BUILD = /* ui-ai-kit */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, state: true, updatable: true};
|
|
5
5
|
|
|
6
6
|
const globalScripts = () => {};
|
|
7
|
-
const globalStyles = "@import url(\"https://cdn.salla.network/fonts/pingarlt.css\");:root{--ai-font-family:\"PingARLT\", sans-serif;font-family:var(--ai-font-family);--ai-bg-card:hsl(var(--white));--ai-bg-surface:hsl(var(--gray-300));--ai-bg-input:hsl(var(--white));--ai-text-primary:hsl(var(--dark));--ai-text-secondary:hsl(var(--dark-100));--ai-text-muted:hsl(var(--gray));--ai-border-default:hsl(var(--gray-400));--ai-border-light:hsl(var(--gray-300));--ai-accent:hsl(var(--secondary));--ai-accent-dark:hsl(var(--primary));--ai-accent-text:hsl(var(--dark));--ai-user-bubble-bg:hsl(var(--gray-300));--ai-agent-bubble-bg:hsl(var(--white));--ai-warning-bg:hsl(var(--warning-100));--ai-warning-border:hsl(var(--warning));--ai-success:hsl(var(--success));--ai-success-text:hsl(var(--success));--ai-success-bg:hsl(var(--success-100));--ai-danger-text:hsl(var(--danger));--ai-danger-bg:hsl(var(--danger-100));--ai-danger-border:hsl(var(--danger-200));--ai-accent-bg:hsl(var(--secondary-100));--ai-focus-ring:hsl(var(--info));--ai-amber:hsl(var(--warning));--ai-scrollbar-thumb:rgba(0, 0, 0, 0.15);--ai-scrollbar-thumb-hover:rgba(0, 0, 0, 0.28);--ai-glow-gradient:linear-gradient(90deg, hsl(var(--dark-100)) 0%, hsl(var(--gray)) 50%, hsl(var(--dark-100)) 100%);--ai-input-glow:linear-gradient(90deg, #73F0EE 0%, #EBF1B1 10%, #A4FFE5 100%);--ai-shadow-sm:0px 1px 2px 0px hsl(var(--dark) / 0.05);--ai-shadow-inner:inset 0px 0px 3px 1px hsl(var(--dark) / 0.06);--ai-shadow-badge:0px 0px 2px 1px hsl(var(--dark) / 0.08);--ai-shadow-active:0px 4px 6px -1px hsl(var(--dark) / 0.08), 0px 2px 4px -1px hsl(var(--dark) / 0.06);--ai-shadow-float:0 8px 32px hsl(var(--dark) / 0.12), 0 2px 8px hsl(var(--dark) / 0.08);--ai-shadow-error:0 2px 8px hsl(var(--dark) / 0.15);--ai-
|
|
7
|
+
const globalStyles = "@import url(\"https://cdn.salla.network/fonts/pingarlt.css\");:root{--ai-font-family:\"PingARLT\", sans-serif;font-family:var(--ai-font-family);--ai-bg-card:hsl(var(--white));--ai-bg-surface:hsl(var(--gray-300));--ai-bg-input:hsl(var(--white));--ai-text-primary:hsl(var(--dark));--ai-text-secondary:hsl(var(--dark-100));--ai-text-muted:hsl(var(--gray));--ai-border-default:hsl(var(--gray-400));--ai-border-light:hsl(var(--gray-300));--ai-accent:hsl(var(--secondary));--ai-accent-dark:hsl(var(--primary));--ai-accent-text:hsl(var(--dark));--ai-user-bubble-bg:hsl(var(--gray-300));--ai-agent-bubble-bg:hsl(var(--white));--ai-warning-bg:hsl(var(--warning-100));--ai-warning-border:hsl(var(--warning));--ai-success:hsl(var(--success));--ai-success-text:hsl(var(--success));--ai-success-bg:hsl(var(--success-100));--ai-danger-text:hsl(var(--danger));--ai-danger-bg:hsl(var(--danger-100));--ai-danger-border:hsl(var(--danger-200));--ai-accent-bg:hsl(var(--secondary-100));--ai-focus-ring:hsl(var(--info));--ai-amber:hsl(var(--warning));--ai-scrollbar-thumb:rgba(0, 0, 0, 0.15);--ai-scrollbar-thumb-hover:rgba(0, 0, 0, 0.28);--ai-glow-gradient:linear-gradient(90deg, hsl(var(--dark-100)) 0%, hsl(var(--gray)) 50%, hsl(var(--dark-100)) 100%);--ai-shimmer-gradient:linear-gradient(90deg, rgba(0, 0, 0, 0.06) 25%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.06) 75%);--ai-input-glow:linear-gradient(90deg, #73F0EE 0%, #EBF1B1 10%, #A4FFE5 100%);--ai-shadow-sm:0px 1px 2px 0px hsl(var(--dark) / 0.05);--ai-shadow-inner:inset 0px 0px 3px 1px hsl(var(--dark) / 0.06);--ai-shadow-badge:0px 0px 2px 1px hsl(var(--dark) / 0.08);--ai-shadow-active:0px 4px 6px -1px hsl(var(--dark) / 0.08), 0px 2px 4px -1px hsl(var(--dark) / 0.06);--ai-shadow-float:0 8px 32px hsl(var(--dark) / 0.12), 0 2px 8px hsl(var(--dark) / 0.08);--ai-shadow-error:0 2px 8px hsl(var(--dark) / 0.15);--ai-hover-overlay:rgba(0, 0, 0, 0.06);--ai-watermark-circle:#FCFCFC;--ai-watermark-star:#FAFAFA;--ai-input-focus-glow:0 0 10px 4px hsl(var(--secondary) / 0.4);--ai-font-family-mono:monospace;--ai-spacing-2xl:var(--Spacing-Sizes-2xl, 16px)}.dark{--ai-bg-card:hsl(var(--gray-100));--ai-bg-surface:hsl(var(--white-300));--ai-bg-input:hsl(var(--gray-100));--ai-text-primary:hsl(var(--dark));--ai-text-secondary:hsl(var(--dark-200));--ai-text-muted:hsl(var(--gray));--ai-border-default:hsl(var(--gray-400));--ai-border-light:hsl(var(--gray-300));--ai-accent:hsl(var(--secondary));--ai-accent-dark:hsl(var(--primary-500));--ai-accent-text:hsl(var(--primary-force));--ai-user-bubble-bg:hsl(var(--gray-400));--ai-agent-bubble-bg:hsl(var(--gray-100));--ai-warning-bg:hsl(var(--warning-100));--ai-warning-border:hsl(var(--warning));--ai-success:hsl(var(--success));--ai-success-text:hsl(var(--success));--ai-success-bg:hsl(var(--success-100));--ai-danger-text:hsl(var(--danger));--ai-danger-bg:hsl(var(--danger-100));--ai-danger-border:hsl(var(--danger-200));--ai-accent-bg:hsl(var(--secondary-100));--ai-focus-ring:hsl(var(--info));--ai-amber:hsl(var(--warning));--ai-scrollbar-thumb:rgba(255, 255, 255, 0.2);--ai-scrollbar-thumb-hover:rgba(255, 255, 255, 0.35);--ai-hover-overlay:rgba(255, 255, 255, 0.08);--ai-watermark-circle:#222222;--ai-watermark-star:#292B2C;--ai-glow-gradient:linear-gradient(90deg, hsl(var(--gray)) 0%, hsl(var(--dark-300)) 50%, hsl(var(--gray)) 100%);--ai-shimmer-gradient:linear-gradient(90deg, rgba(255, 255, 255, 0.06) 25%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.06) 75%);--ai-input-glow:linear-gradient(to right, hsl(var(--secondary-400)), hsl(var(--secondary-100)) 10%, hsl(var(--secondary)))}";
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
Stencil Client Platform v4.43.2 | MIT Licensed | https://stenciljs.com
|
|
@@ -143,6 +143,23 @@ var plt = {
|
|
|
143
143
|
rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
|
|
144
144
|
ce: (eventName, opts) => new CustomEvent(eventName, opts)
|
|
145
145
|
};
|
|
146
|
+
var supportsListenerOptions = /* @__PURE__ */ (() => {
|
|
147
|
+
var _a;
|
|
148
|
+
let supportsListenerOptions2 = false;
|
|
149
|
+
try {
|
|
150
|
+
(_a = win.document) == null ? void 0 : _a.addEventListener(
|
|
151
|
+
"e",
|
|
152
|
+
null,
|
|
153
|
+
Object.defineProperty({}, "passive", {
|
|
154
|
+
get() {
|
|
155
|
+
supportsListenerOptions2 = true;
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
}
|
|
161
|
+
return supportsListenerOptions2;
|
|
162
|
+
})();
|
|
146
163
|
var promiseResolve = (v) => Promise.resolve(v);
|
|
147
164
|
var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
|
|
148
165
|
try {
|
|
@@ -920,6 +937,14 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
920
937
|
const isHostElement = isHost(renderFnResults);
|
|
921
938
|
const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
|
|
922
939
|
hostTagName = hostElm.tagName;
|
|
940
|
+
if (cmpMeta.$attrsToReflect$) {
|
|
941
|
+
rootVnode.$attrs$ = rootVnode.$attrs$ || {};
|
|
942
|
+
cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
|
|
943
|
+
{
|
|
944
|
+
rootVnode.$attrs$[attribute] = hostElm[propName];
|
|
945
|
+
}
|
|
946
|
+
});
|
|
947
|
+
}
|
|
923
948
|
if (isInitialLoad && rootVnode.$attrs$) {
|
|
924
949
|
for (const key of Object.keys(rootVnode.$attrs$)) {
|
|
925
950
|
if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
|
|
@@ -979,6 +1004,13 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
979
1004
|
let maybePromise;
|
|
980
1005
|
if (isInitialLoad) {
|
|
981
1006
|
{
|
|
1007
|
+
{
|
|
1008
|
+
hostRef.$flags$ |= 256 /* isListenReady */;
|
|
1009
|
+
if (hostRef.$queuedListeners$) {
|
|
1010
|
+
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
|
|
1011
|
+
hostRef.$queuedListeners$ = void 0;
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
982
1014
|
if (hostRef.$fetchedCbList$.length) {
|
|
983
1015
|
hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
|
|
984
1016
|
}
|
|
@@ -1307,8 +1339,12 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1307
1339
|
/* @__PURE__ */ new Set([
|
|
1308
1340
|
...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
|
|
1309
1341
|
...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
|
|
1342
|
+
var _a2;
|
|
1310
1343
|
const attrName = m[1] || propName;
|
|
1311
1344
|
attrNameToPropName.set(attrName, propName);
|
|
1345
|
+
if (m[0] & 512 /* ReflectAttr */) {
|
|
1346
|
+
(_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);
|
|
1347
|
+
}
|
|
1312
1348
|
return attrName;
|
|
1313
1349
|
})
|
|
1314
1350
|
])
|
|
@@ -1440,6 +1476,7 @@ var connectedCallback = (elm) => {
|
|
|
1440
1476
|
initializeComponent(elm, hostRef, cmpMeta);
|
|
1441
1477
|
}
|
|
1442
1478
|
} else {
|
|
1479
|
+
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1443
1480
|
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1444
1481
|
fireConnectedCallback(hostRef.$lazyInstance$, elm);
|
|
1445
1482
|
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
@@ -1457,6 +1494,12 @@ var disconnectInstance = (instance, elm) => {
|
|
|
1457
1494
|
var disconnectedCallback = async (elm) => {
|
|
1458
1495
|
if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
|
|
1459
1496
|
const hostRef = getHostRef(elm);
|
|
1497
|
+
{
|
|
1498
|
+
if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
|
|
1499
|
+
hostRef.$rmListeners$.map((rmListener) => rmListener());
|
|
1500
|
+
hostRef.$rmListeners$ = void 0;
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1460
1503
|
if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
|
|
1461
1504
|
disconnectInstance(hostRef.$lazyInstance$, elm);
|
|
1462
1505
|
} else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
|
|
@@ -1502,6 +1545,12 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1502
1545
|
{
|
|
1503
1546
|
cmpMeta.$members$ = compactMeta[2];
|
|
1504
1547
|
}
|
|
1548
|
+
{
|
|
1549
|
+
cmpMeta.$listeners$ = compactMeta[3];
|
|
1550
|
+
}
|
|
1551
|
+
{
|
|
1552
|
+
cmpMeta.$attrsToReflect$ = [];
|
|
1553
|
+
}
|
|
1505
1554
|
{
|
|
1506
1555
|
cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
|
|
1507
1556
|
cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
|
|
@@ -1538,6 +1587,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1538
1587
|
}
|
|
1539
1588
|
if (!this.hasRegisteredEventListeners) {
|
|
1540
1589
|
this.hasRegisteredEventListeners = true;
|
|
1590
|
+
addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
|
|
1541
1591
|
}
|
|
1542
1592
|
if (appLoadFallback) {
|
|
1543
1593
|
clearTimeout(appLoadFallback);
|
|
@@ -1604,6 +1654,41 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1604
1654
|
}
|
|
1605
1655
|
endBootstrap();
|
|
1606
1656
|
};
|
|
1657
|
+
var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
1658
|
+
if (listeners && win.document) {
|
|
1659
|
+
listeners.map(([flags, name, method]) => {
|
|
1660
|
+
const target = getHostListenerTarget(win.document, elm, flags) ;
|
|
1661
|
+
const handler = hostListenerProxy(hostRef, method);
|
|
1662
|
+
const opts = hostListenerOpts(flags);
|
|
1663
|
+
plt.ael(target, name, handler, opts);
|
|
1664
|
+
(hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
};
|
|
1668
|
+
var hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
1669
|
+
var _a;
|
|
1670
|
+
try {
|
|
1671
|
+
{
|
|
1672
|
+
if (hostRef.$flags$ & 256 /* isListenReady */) {
|
|
1673
|
+
(_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);
|
|
1674
|
+
} else {
|
|
1675
|
+
(hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
} catch (e) {
|
|
1679
|
+
consoleError(e, hostRef.$hostElement$);
|
|
1680
|
+
}
|
|
1681
|
+
};
|
|
1682
|
+
var getHostListenerTarget = (doc, elm, flags) => {
|
|
1683
|
+
if (flags & 4 /* TargetDocument */) {
|
|
1684
|
+
return doc;
|
|
1685
|
+
}
|
|
1686
|
+
return elm;
|
|
1687
|
+
};
|
|
1688
|
+
var hostListenerOpts = (flags) => supportsListenerOptions ? {
|
|
1689
|
+
passive: (flags & 1 /* Passive */) !== 0,
|
|
1690
|
+
capture: (flags & 2 /* Capture */) !== 0
|
|
1691
|
+
} : (flags & 2 /* Capture */) !== 0;
|
|
1607
1692
|
|
|
1608
1693
|
// src/runtime/nonce.ts
|
|
1609
1694
|
var setNonce = (nonce) => plt.$nonce$ = nonce;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cc05u4ND.js');
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["ai-message-input.cjs",[[513,"ai-message-input",{"placeholder":[1],"disabled":[4],"showVoiceButton":[4,"show-voice-button"],"maxLength":[2,"max-length"],"isRecording":[4,"is-recording"],"inputValue":[32],"showVoiceRecorder":[32],"isMultiline":[32],"setInputValue":[64]},null,{"isRecording":[{"onIsRecordingChange":0}]}]]],["ai-chat-
|
|
8
|
+
return index.bootstrapLazy([["ai-message-input.cjs",[[513,"ai-message-input",{"placeholder":[1],"disabled":[4],"showVoiceButton":[4,"show-voice-button"],"maxLength":[2,"max-length"],"isRecording":[4,"is-recording"],"inputValue":[32],"showVoiceRecorder":[32],"isMultiline":[32],"setInputValue":[64]},null,{"isRecording":[{"onIsRecordingChange":0}]}]]],["ai-rating.cjs",[[513,"ai-rating",{"question":[1],"subtitle":[1],"successMessage":[1,"success-message"],"value":[1026],"disabled":[4],"hovered":[32],"submitted":[32]}]]],["ai-chat-header.cjs",[[513,"ai-chat-header",{"mode":[1],"conversation":[1],"agentName":[1,"agent-name"],"agentStatus":[1,"agent-status"],"agentAvatar":[1,"agent-avatar"],"showBack":[4,"show-back"],"statusIndicator":[1,"status-indicator"],"pageTitle":[1,"page-title"],"pageUrl":[1,"page-url"],"conversationItems":[16],"conversationActiveId":[1,"conversation-active-id"],"conversationLoading":[4,"conversation-loading"],"titleLoading":[4,"title-loading"],"avatarError":[32],"dropdownOpen":[32],"isFloating":[32]},[[4,"click","handleDocumentClick"]]]]],["ai-agent-error.cjs",[[513,"ai-agent-error",{"headline":[1],"message":[1],"errorCode":[1,"error-code"],"retryable":[4],"retryLabel":[1,"retry-label"],"dismissible":[4]}]]],["ai-chat-container.cjs",[[769,"ai-chat-container",{"isOpen":[4,"is-open"],"position":[1537],"width":[1],"autoScroll":[4,"auto-scroll"],"showWatermark":[4,"show-watermark"],"floatHeight":[1,"float-height"],"theme":[1],"loading":[4],"error":[4],"errorText":[1,"error-text"],"retryLabel":[1,"retry-label"],"direction":[513],"isMobile":[32],"floatLeft":[32],"floatTop":[32],"scrollToBottom":[64],"cyclePosition":[64]},[[0,"headerPositionClick","handleHeaderPositionClick"]],{"isOpen":[{"isOpenChanged":0}],"position":[{"positionChanged":0}]}]]],["ai-chat-message.cjs",[[769,"ai-chat-message",{"role":[1],"content":[1],"format":[1],"agentName":[1,"agent-name"],"timestamp":[1],"showActions":[4,"show-actions"],"enableRegenerate":[4,"enable-regenerate"],"feedbackValue":[1025,"feedback-value"],"copySuccess":[32]}]]],["ai-conversation-summary.cjs",[[769,"ai-conversation-summary",{"conversation":[1],"summary":[1],"messageCount":[2,"message-count"],"language":[1]}]]],["ai-in-chat-browser.cjs",[[513,"ai-in-chat-browser",{"url":[1],"pageTitle":[1,"page-title"],"isLoading":[32],"hasError":[32]},null,{"url":[{"onUrlChange":0}]}]]],["ai-link.cjs",[[769,"ai-link",{"label":[1],"href":[1],"target":[1],"rel":[1]}]]],["ai-loading.cjs",[[513,"ai-loading",{"mode":[1],"statusText":[1,"status-text"],"thinkingSubtext":[1,"thinking-subtext"],"steps":[16],"headerTitle":[1,"header-title"],"currentAgent":[1,"current-agent"],"showAgentBadges":[4,"show-agent-badges"],"expanded":[1028],"collapsible":[4],"_expanded":[32]}]]],["ai-route-decision.cjs",[[513,"ai-route-decision",{"selectedAgent":[1,"selected-agent"],"agentIcon":[1,"agent-icon"],"reason":[1],"confidence":[2],"detectedLanguage":[1,"detected-language"],"expanded":[1028],"_expanded":[32]}]]],["ai-suggestion.cjs",[[769,"ai-suggestion",{"label":[1],"disabled":[4]}]]],["ai-voice-input.cjs",[[513,"ai-voice-input",{"disabled":[4],"showWaveform":[4,"show-waveform"],"autoStart":[4,"auto-start"],"errorText":[1,"error-text"],"waveformColor":[1,"waveform-color"],"state":[32],"error":[32],"recordingDuration":[32],"submitPulse":[32]}]]],["ai-card.cjs",[[769,"ai-card",{"noPadding":[4,"no-padding"],"noShadow":[4,"no-shadow"]}]]],["ai-conversation-list.cjs",[[513,"ai-conversation-list",{"items":[16],"activeId":[1,"active-id"],"loading":[4],"emptyText":[1,"empty-text"],"error":[4],"errorText":[1,"error-text"],"retryLabel":[1,"retry-label"]}]]],["ai-icon.cjs",[[513,"ai-icon",{"name":[1],"size":[2]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Cc05u4ND.js');
|
|
4
4
|
|
|
5
5
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
6
6
|
/*
|
|
@@ -18,7 +18,7 @@ var patchBrowser = () => {
|
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(async (options) => {
|
|
20
20
|
await index.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["ai-message-input.cjs",[[513,"ai-message-input",{"placeholder":[1],"disabled":[4],"showVoiceButton":[4,"show-voice-button"],"maxLength":[2,"max-length"],"isRecording":[4,"is-recording"],"inputValue":[32],"showVoiceRecorder":[32],"isMultiline":[32],"setInputValue":[64]},null,{"isRecording":[{"onIsRecordingChange":0}]}]]],["ai-chat-
|
|
21
|
+
return index.bootstrapLazy([["ai-message-input.cjs",[[513,"ai-message-input",{"placeholder":[1],"disabled":[4],"showVoiceButton":[4,"show-voice-button"],"maxLength":[2,"max-length"],"isRecording":[4,"is-recording"],"inputValue":[32],"showVoiceRecorder":[32],"isMultiline":[32],"setInputValue":[64]},null,{"isRecording":[{"onIsRecordingChange":0}]}]]],["ai-rating.cjs",[[513,"ai-rating",{"question":[1],"subtitle":[1],"successMessage":[1,"success-message"],"value":[1026],"disabled":[4],"hovered":[32],"submitted":[32]}]]],["ai-chat-header.cjs",[[513,"ai-chat-header",{"mode":[1],"conversation":[1],"agentName":[1,"agent-name"],"agentStatus":[1,"agent-status"],"agentAvatar":[1,"agent-avatar"],"showBack":[4,"show-back"],"statusIndicator":[1,"status-indicator"],"pageTitle":[1,"page-title"],"pageUrl":[1,"page-url"],"conversationItems":[16],"conversationActiveId":[1,"conversation-active-id"],"conversationLoading":[4,"conversation-loading"],"titleLoading":[4,"title-loading"],"avatarError":[32],"dropdownOpen":[32],"isFloating":[32]},[[4,"click","handleDocumentClick"]]]]],["ai-agent-error.cjs",[[513,"ai-agent-error",{"headline":[1],"message":[1],"errorCode":[1,"error-code"],"retryable":[4],"retryLabel":[1,"retry-label"],"dismissible":[4]}]]],["ai-chat-container.cjs",[[769,"ai-chat-container",{"isOpen":[4,"is-open"],"position":[1537],"width":[1],"autoScroll":[4,"auto-scroll"],"showWatermark":[4,"show-watermark"],"floatHeight":[1,"float-height"],"theme":[1],"loading":[4],"error":[4],"errorText":[1,"error-text"],"retryLabel":[1,"retry-label"],"direction":[513],"isMobile":[32],"floatLeft":[32],"floatTop":[32],"scrollToBottom":[64],"cyclePosition":[64]},[[0,"headerPositionClick","handleHeaderPositionClick"]],{"isOpen":[{"isOpenChanged":0}],"position":[{"positionChanged":0}]}]]],["ai-chat-message.cjs",[[769,"ai-chat-message",{"role":[1],"content":[1],"format":[1],"agentName":[1,"agent-name"],"timestamp":[1],"showActions":[4,"show-actions"],"enableRegenerate":[4,"enable-regenerate"],"feedbackValue":[1025,"feedback-value"],"copySuccess":[32]}]]],["ai-conversation-summary.cjs",[[769,"ai-conversation-summary",{"conversation":[1],"summary":[1],"messageCount":[2,"message-count"],"language":[1]}]]],["ai-in-chat-browser.cjs",[[513,"ai-in-chat-browser",{"url":[1],"pageTitle":[1,"page-title"],"isLoading":[32],"hasError":[32]},null,{"url":[{"onUrlChange":0}]}]]],["ai-link.cjs",[[769,"ai-link",{"label":[1],"href":[1],"target":[1],"rel":[1]}]]],["ai-loading.cjs",[[513,"ai-loading",{"mode":[1],"statusText":[1,"status-text"],"thinkingSubtext":[1,"thinking-subtext"],"steps":[16],"headerTitle":[1,"header-title"],"currentAgent":[1,"current-agent"],"showAgentBadges":[4,"show-agent-badges"],"expanded":[1028],"collapsible":[4],"_expanded":[32]}]]],["ai-route-decision.cjs",[[513,"ai-route-decision",{"selectedAgent":[1,"selected-agent"],"agentIcon":[1,"agent-icon"],"reason":[1],"confidence":[2],"detectedLanguage":[1,"detected-language"],"expanded":[1028],"_expanded":[32]}]]],["ai-suggestion.cjs",[[769,"ai-suggestion",{"label":[1],"disabled":[4]}]]],["ai-voice-input.cjs",[[513,"ai-voice-input",{"disabled":[4],"showWaveform":[4,"show-waveform"],"autoStart":[4,"auto-start"],"errorText":[1,"error-text"],"waveformColor":[1,"waveform-color"],"state":[32],"error":[32],"recordingDuration":[32],"submitPulse":[32]}]]],["ai-card.cjs",[[769,"ai-card",{"noPadding":[4,"no-padding"],"noShadow":[4,"no-shadow"]}]]],["ai-conversation-list.cjs",[[513,"ai-conversation-list",{"items":[16],"activeId":[1,"active-id"],"loading":[4],"emptyText":[1,"empty-text"],"error":[4],"errorText":[1,"error-text"],"retryLabel":[1,"retry-label"]}]]],["ai-icon.cjs",[[513,"ai-icon",{"name":[1],"size":[2]}]]]], options);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
exports.setNonce = index.setNonce;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
|
+
"components/ai-chat-container/ai-chat-container.js",
|
|
3
4
|
"components/ai-conversation-list/ai-conversation-list.js",
|
|
4
5
|
"components/ai-loading/ai-loading.js",
|
|
5
6
|
"components/ai-rating/ai-rating.js",
|
|
6
7
|
"components/ai-agent-error/ai-agent-error.js",
|
|
7
8
|
"components/ai-card/ai-card.js",
|
|
8
|
-
"components/ai-chat-container/ai-chat-container.js",
|
|
9
9
|
"components/ai-chat-header/ai-chat-header.js",
|
|
10
10
|
"components/ai-chat-message/ai-chat-message.js",
|
|
11
11
|
"components/ai-conversation-summary/ai-conversation-summary.js",
|
|
12
12
|
"components/ai-icon/ai-icon.js",
|
|
13
|
+
"components/ai-in-chat-browser/ai-in-chat-browser.js",
|
|
13
14
|
"components/ai-link/ai-link.js",
|
|
14
15
|
"components/ai-message-input/ai-message-input.js",
|
|
15
16
|
"components/ai-route-decision/ai-route-decision.js",
|
|
@@ -23,7 +23,7 @@ export class AiAgentError {
|
|
|
23
23
|
return h("span", { class: "icon-wrap", innerHTML: svg });
|
|
24
24
|
}
|
|
25
25
|
render() {
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: '5cab52b708c10b0cfec5fdd0dfdc85046a7426a2' }, h("div", { key: 'b4691b7dfd9cbb98e522af9ed5ad2d2b912471fb', class: "error-card" }, h("div", { key: 'e8f5fb9ca5fda7f4cedf09bb4dc9848303d4a339', class: "error-body" }, h("div", { key: 'b1f2e61a60fa4a3fba6a98dc67f3531f9164b662', class: "error-icon-wrap" }, this.renderIcon('warning', 20, 20)), h("div", { key: 'a1e2e6f6096ed6e593e60eadfd792b11b7b117cd', class: "error-content" }, h("div", { key: '5eea71440e7b817732c3aab465f2710a2b198b1a', class: "error-headline-row" }, h("span", { key: '61b90ef0186837770ce10642257ee2ea5f1f6c9d', class: "error-headline" }, this.headline), this.errorCode && (h("span", { key: '12305a917ae3b479340533335203455c48d1bb24', class: "error-code-badge" }, this.errorCode))), this.message && (h("p", { key: 'f400a76fbd2caac0b64799914b9938de3e9eb78c', class: "error-message" }, this.message))), this.dismissible && (h("button", { key: 'f2fa1b1fb86fad249404e5b66ba72f2937c4eb67', class: "dismiss-btn", "aria-label": "\u0625\u063A\u0644\u0627\u0642", onClick: () => this.dismissClick.emit() }, this.renderIcon('cancel', 16, 16)))), this.retryable && (h("div", { key: 'd2c1f2190383345c6101e70b1499e05d59092653', class: "error-footer" }, h("button", { key: '7f8b52b0ac1e2dd4dd4244949e0da9874077f284', class: "retry-btn", onClick: () => this.retryClick.emit() }, this.renderIcon('reload', 16, 16), h("span", { key: '321d51fd3b36f23b7e49b05af3ab85346f87f44f' }, this.retryLabel)))))));
|
|
27
27
|
}
|
|
28
28
|
static get is() { return "ai-agent-error"; }
|
|
29
29
|
static get encapsulation() { return "shadow"; }
|
|
@@ -5,11 +5,11 @@ export class AiCard {
|
|
|
5
5
|
/** Remove the shadow */
|
|
6
6
|
noShadow = false;
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: '849dbf8d8eac913c76e71a10cb9b30f9fda3c320' }, h("div", { key: '5d9f75428e6d94cf2c3729698e87fd3185c20129', class: {
|
|
9
9
|
card: true,
|
|
10
10
|
'card--no-padding': this.noPadding,
|
|
11
11
|
'card--no-shadow': this.noShadow,
|
|
12
|
-
} }, h("slot", { key: '
|
|
12
|
+
} }, h("slot", { key: 'f604568228c02514ff0f569cfa4fd706c247652e' }))));
|
|
13
13
|
}
|
|
14
14
|
static get is() { return "ai-card"; }
|
|
15
15
|
static get encapsulation() { return "shadow"; }
|
|
@@ -96,11 +96,39 @@
|
|
|
96
96
|
left: 50%;
|
|
97
97
|
transform: translate(-50%, -50%);
|
|
98
98
|
pointer-events: none;
|
|
99
|
+
width: 133px;
|
|
100
|
+
height: 133px;
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
.watermark
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
.watermark .watermark-circle-svg {
|
|
104
|
+
position: absolute;
|
|
105
|
+
top: 0;
|
|
106
|
+
left: 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.watermark .watermark-star-svg {
|
|
110
|
+
position: absolute;
|
|
111
|
+
top: 50%;
|
|
112
|
+
left: 50%;
|
|
113
|
+
transform: translate(-50%, -50%);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Light mode fills (from Figma — near-white, subtle on light bg) */
|
|
117
|
+
.watermark .watermark-circle {
|
|
118
|
+
fill: var(--ai-watermark-circle, #FCFCFC);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.watermark .watermark-star {
|
|
122
|
+
fill: var(--ai-watermark-star, #FAFAFA);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Dark mode fills (from Figma — near-black, subtle on dark bg) */
|
|
126
|
+
:host(.dark) .watermark .watermark-circle {
|
|
127
|
+
fill: var(--ai-watermark-circle, #222222);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
:host(.dark) .watermark .watermark-star {
|
|
131
|
+
fill: var(--ai-watermark-star, #292B2C);
|
|
104
132
|
}
|
|
105
133
|
|
|
106
134
|
/* ── Mobile ──────────────────────────────────────────────────────────────── */
|
|
@@ -133,3 +161,147 @@
|
|
|
133
161
|
}
|
|
134
162
|
}
|
|
135
163
|
|
|
164
|
+
/* ── Skeleton loading state ──────────────────────────────────────────────── */
|
|
165
|
+
|
|
166
|
+
@keyframes skeleton-shimmer {
|
|
167
|
+
0% { background-position: 200% 0; }
|
|
168
|
+
100% { background-position: -200% 0; }
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.skeleton-messages {
|
|
172
|
+
display: flex;
|
|
173
|
+
flex-direction: column;
|
|
174
|
+
gap: 20px;
|
|
175
|
+
padding: 8px 0;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.skeleton-row {
|
|
179
|
+
display: flex;
|
|
180
|
+
align-items: flex-start;
|
|
181
|
+
gap: 10px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.skeleton-row.agent {
|
|
185
|
+
flex-direction: row;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.skeleton-row.user {
|
|
189
|
+
flex-direction: row-reverse;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.skeleton-avatar {
|
|
193
|
+
width: 32px;
|
|
194
|
+
height: 32px;
|
|
195
|
+
min-width: 32px;
|
|
196
|
+
border-radius: 50%;
|
|
197
|
+
background: var(--ai-shimmer-gradient, linear-gradient(90deg, rgba(0,0,0,0.06) 25%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.06) 75%));
|
|
198
|
+
background-size: 200% 100%;
|
|
199
|
+
animation: skeleton-shimmer 1.6s ease-in-out infinite;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.skeleton-bubble {
|
|
203
|
+
display: flex;
|
|
204
|
+
flex-direction: column;
|
|
205
|
+
gap: 8px;
|
|
206
|
+
padding: 14px 16px;
|
|
207
|
+
border-radius: 16px;
|
|
208
|
+
background-color: var(--ai-bg-surface, #f9fafb);
|
|
209
|
+
max-width: 75%;
|
|
210
|
+
min-width: 120px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.skeleton-row.user .skeleton-bubble {
|
|
214
|
+
background-color: var(--ai-user-bubble-bg, var(--ai-accent, #004956));
|
|
215
|
+
border-radius: 16px;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.skeleton-line {
|
|
219
|
+
height: 12px;
|
|
220
|
+
border-radius: 6px;
|
|
221
|
+
background: var(--ai-shimmer-gradient, linear-gradient(90deg, rgba(0,0,0,0.06) 25%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.06) 75%));
|
|
222
|
+
background-size: 200% 100%;
|
|
223
|
+
animation: skeleton-shimmer 1.6s ease-in-out infinite;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.skeleton-row.user .skeleton-line {
|
|
227
|
+
background: linear-gradient(90deg, rgba(255,255,255,0.08) 25%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.08) 75%);
|
|
228
|
+
background-size: 200% 100%;
|
|
229
|
+
animation: skeleton-shimmer 1.6s ease-in-out infinite;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* Dark mode skeleton adjustments */
|
|
233
|
+
:host(.dark) .skeleton-avatar {
|
|
234
|
+
background: var(--ai-shimmer-gradient, linear-gradient(90deg, rgba(255,255,255,0.06) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.06) 75%));
|
|
235
|
+
background-size: 200% 100%;
|
|
236
|
+
animation: skeleton-shimmer 1.6s ease-in-out infinite;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
:host(.dark) .skeleton-bubble {
|
|
240
|
+
background-color: var(--ai-bg-surface, #1f2937);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
:host(.dark) .skeleton-line {
|
|
244
|
+
background: var(--ai-shimmer-gradient, linear-gradient(90deg, rgba(255,255,255,0.06) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.06) 75%));
|
|
245
|
+
background-size: 200% 100%;
|
|
246
|
+
animation: skeleton-shimmer 1.6s ease-in-out infinite;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/* ── Error state ─────────────────────────────────────────────────────────── */
|
|
250
|
+
|
|
251
|
+
.error-state {
|
|
252
|
+
display: flex;
|
|
253
|
+
flex-direction: column;
|
|
254
|
+
align-items: center;
|
|
255
|
+
justify-content: center;
|
|
256
|
+
text-align: center;
|
|
257
|
+
gap: 12px;
|
|
258
|
+
padding: 48px 24px;
|
|
259
|
+
flex: 1;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.error-icon {
|
|
263
|
+
color: var(--ai-text-muted, #9ca3af);
|
|
264
|
+
opacity: 0.7;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.error-text {
|
|
268
|
+
margin: 0;
|
|
269
|
+
font-size: 14px;
|
|
270
|
+
line-height: 1.5;
|
|
271
|
+
color: var(--ai-text-secondary, #6b7280);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.error-retry-btn {
|
|
275
|
+
display: inline-flex;
|
|
276
|
+
align-items: center;
|
|
277
|
+
justify-content: center;
|
|
278
|
+
padding: 8px 20px;
|
|
279
|
+
border-radius: 9999px;
|
|
280
|
+
border: 1px solid var(--ai-border-default);
|
|
281
|
+
background-color: var(--ai-bg-surface, #f9fafb);
|
|
282
|
+
color: var(--ai-text-primary);
|
|
283
|
+
font-size: 13px;
|
|
284
|
+
font-weight: 500;
|
|
285
|
+
font-family: inherit;
|
|
286
|
+
cursor: pointer;
|
|
287
|
+
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.error-retry-btn:hover {
|
|
291
|
+
background-color: var(--ai-hover-overlay, rgba(0, 0, 0, 0.04));
|
|
292
|
+
border-color: var(--ai-accent, #004956);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.error-retry-btn:focus-visible {
|
|
296
|
+
outline: 2px solid var(--ai-focus-ring-color, var(--ai-focus-ring));
|
|
297
|
+
outline-offset: 2px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
:host(.dark) .error-retry-btn {
|
|
301
|
+
background-color: var(--ai-bg-surface, #1f2937);
|
|
302
|
+
color: var(--ai-text-primary, #f9fafb);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
:host(.dark) .error-retry-btn:hover {
|
|
306
|
+
background-color: var(--ai-hover-overlay, rgba(255, 255, 255, 0.06));
|
|
307
|
+
}
|