@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.
Files changed (128) hide show
  1. package/dist/cjs/ai-agent-error.cjs.entry.js +3 -3
  2. package/dist/cjs/ai-card.cjs.entry.js +3 -3
  3. package/dist/cjs/ai-chat-container.cjs.entry.js +89 -14
  4. package/dist/cjs/ai-chat-header.cjs.entry.js +114 -14
  5. package/dist/cjs/ai-chat-message.cjs.entry.js +10 -4
  6. package/dist/cjs/ai-conversation-list.cjs.entry.js +37 -12
  7. package/dist/cjs/ai-conversation-summary.cjs.entry.js +3 -3
  8. package/dist/cjs/ai-icon.cjs.entry.js +2 -2
  9. package/dist/cjs/ai-in-chat-browser.cjs.entry.js +50 -0
  10. package/dist/cjs/ai-link.cjs.entry.js +3 -3
  11. package/dist/cjs/ai-loading.cjs.entry.js +3 -3
  12. package/dist/cjs/ai-message-input.cjs.entry.js +12 -7
  13. package/dist/cjs/ai-rating.cjs.entry.js +26 -18
  14. package/dist/cjs/ai-route-decision.cjs.entry.js +3 -3
  15. package/dist/cjs/ai-suggestion.cjs.entry.js +3 -3
  16. package/dist/cjs/ai-voice-input.cjs.entry.js +2 -2
  17. package/dist/cjs/icon-registry-D-m8GW4D.js +126 -0
  18. package/dist/cjs/{index-Bs23yVuF.js → index-Cc05u4ND.js} +86 -1
  19. package/dist/cjs/loader.cjs.js +2 -2
  20. package/dist/cjs/ui-ai-kit.cjs.js +2 -2
  21. package/dist/collection/collection-manifest.json +2 -1
  22. package/dist/collection/components/ai-agent-error/ai-agent-error.js +1 -1
  23. package/dist/collection/components/ai-card/ai-card.js +2 -2
  24. package/dist/collection/components/ai-chat-container/ai-chat-container.css +175 -3
  25. package/dist/collection/components/ai-chat-container/ai-chat-container.js +263 -16
  26. package/dist/collection/components/ai-chat-header/ai-chat-header.css +98 -0
  27. package/dist/collection/components/ai-chat-header/ai-chat-header.js +298 -26
  28. package/dist/collection/components/ai-chat-message/ai-chat-message.js +8 -2
  29. package/dist/collection/components/ai-conversation-list/ai-conversation-list.css +116 -7
  30. package/dist/collection/components/ai-conversation-list/ai-conversation-list.js +128 -9
  31. package/dist/collection/components/ai-conversation-summary/ai-conversation-summary.js +1 -1
  32. package/dist/collection/components/ai-icon/ai-icon.js +1 -1
  33. package/dist/collection/components/ai-in-chat-browser/ai-in-chat-browser.css +78 -0
  34. package/dist/collection/components/ai-in-chat-browser/ai-in-chat-browser.js +102 -0
  35. package/dist/collection/components/ai-link/ai-link.js +1 -1
  36. package/dist/collection/components/ai-loading/ai-loading.js +1 -1
  37. package/dist/collection/components/ai-message-input/ai-message-input.css +46 -5
  38. package/dist/collection/components/ai-message-input/ai-message-input.js +10 -5
  39. package/dist/collection/components/ai-rating/ai-rating.css +22 -2
  40. package/dist/collection/components/ai-rating/ai-rating.js +46 -17
  41. package/dist/collection/components/ai-route-decision/ai-route-decision.js +1 -1
  42. package/dist/collection/components/ai-suggestion/ai-suggestion.js +2 -2
  43. package/dist/collection/components/ai-voice-input/ai-voice-input.js +1 -1
  44. package/dist/collection/utils/icon-registry.js +27 -7
  45. package/dist/components/ai-agent-error.js +1 -1
  46. package/dist/components/ai-card.js +1 -1
  47. package/dist/components/ai-chat-container.js +1 -1
  48. package/dist/components/ai-chat-header.js +1 -1
  49. package/dist/components/ai-chat-message.js +2 -2
  50. package/dist/components/ai-conversation-list.js +1 -1
  51. package/dist/components/ai-conversation-summary.js +1 -1
  52. package/dist/components/ai-icon.js +1 -1
  53. package/dist/components/ai-in-chat-browser.d.ts +11 -0
  54. package/dist/components/ai-in-chat-browser.js +1 -0
  55. package/dist/components/ai-link.js +1 -1
  56. package/dist/components/ai-loading.js +1 -1
  57. package/dist/components/ai-message-input.js +1 -1
  58. package/dist/components/ai-rating.js +1 -1
  59. package/dist/components/ai-route-decision.js +1 -1
  60. package/dist/components/ai-suggestion.js +1 -1
  61. package/dist/components/ai-voice-input.js +1 -1
  62. package/dist/components/index.js +1 -1
  63. package/dist/components/p-BPkf7wZg.js +1 -0
  64. package/dist/components/p-Ba0urr6Q.js +1 -0
  65. package/dist/components/p-CJzVwMlS.js +1 -0
  66. package/dist/components/{p-Bbmjx9lq.js → p-DZuBxUde.js} +1 -1
  67. package/dist/components/p-DlD8m3rf.js +1 -0
  68. package/dist/components/{p-C5gkZloN.js → p-bGFmyIp1.js} +1 -1
  69. package/dist/esm/ai-agent-error.entry.js +3 -3
  70. package/dist/esm/ai-card.entry.js +3 -3
  71. package/dist/esm/ai-chat-container.entry.js +89 -14
  72. package/dist/esm/ai-chat-header.entry.js +114 -14
  73. package/dist/esm/ai-chat-message.entry.js +10 -4
  74. package/dist/esm/ai-conversation-list.entry.js +37 -12
  75. package/dist/esm/ai-conversation-summary.entry.js +3 -3
  76. package/dist/esm/ai-icon.entry.js +2 -2
  77. package/dist/esm/ai-in-chat-browser.entry.js +48 -0
  78. package/dist/esm/ai-link.entry.js +3 -3
  79. package/dist/esm/ai-loading.entry.js +3 -3
  80. package/dist/esm/ai-message-input.entry.js +12 -7
  81. package/dist/esm/ai-rating.entry.js +26 -18
  82. package/dist/esm/ai-route-decision.entry.js +3 -3
  83. package/dist/esm/ai-suggestion.entry.js +3 -3
  84. package/dist/esm/ai-voice-input.entry.js +2 -2
  85. package/dist/esm/icon-registry-DlD8m3rf.js +124 -0
  86. package/dist/esm/{index-hxWjzqcH.js → index-VMEwYfaX.js} +86 -1
  87. package/dist/esm/loader.js +3 -3
  88. package/dist/esm/ui-ai-kit.js +3 -3
  89. package/dist/types/components/ai-chat-container/ai-chat-container.d.ts +38 -2
  90. package/dist/types/components/ai-chat-header/ai-chat-header.d.ts +41 -4
  91. package/dist/types/components/ai-conversation-list/ai-conversation-list.d.ts +11 -0
  92. package/dist/types/components/ai-in-chat-browser/ai-in-chat-browser.d.ts +13 -0
  93. package/dist/types/components/ai-rating/ai-rating.d.ts +4 -1
  94. package/dist/types/components.d.ts +275 -18
  95. package/dist/types/index.d.ts +1 -0
  96. package/dist/types/utils/icon-registry.d.ts +1 -1
  97. package/dist/ui-ai-kit/{p-889c6b00.entry.js → p-062cad02.entry.js} +1 -1
  98. package/dist/ui-ai-kit/{p-27bf454d.entry.js → p-187db371.entry.js} +1 -1
  99. package/dist/ui-ai-kit/p-1b247096.entry.js +1 -0
  100. package/dist/ui-ai-kit/p-338d55d3.entry.js +1 -0
  101. package/dist/ui-ai-kit/{p-210b11dc.entry.js → p-4359a116.entry.js} +1 -1
  102. package/dist/ui-ai-kit/{p-ccaec7b4.entry.js → p-5f005ec5.entry.js} +1 -1
  103. package/dist/ui-ai-kit/p-6a4b66ed.entry.js +1 -0
  104. package/dist/ui-ai-kit/{p-5ea933a4.entry.js → p-6b644d32.entry.js} +1 -1
  105. package/dist/ui-ai-kit/{p-b33e92ea.entry.js → p-6bd54e29.entry.js} +1 -1
  106. package/dist/ui-ai-kit/{p-0da537b1.entry.js → p-83f46030.entry.js} +2 -2
  107. package/dist/ui-ai-kit/p-8ac8febb.entry.js +1 -0
  108. package/dist/ui-ai-kit/{p-72c6e3d1.entry.js → p-8fabdbe8.entry.js} +1 -1
  109. package/dist/ui-ai-kit/p-953d4348.entry.js +1 -0
  110. package/dist/ui-ai-kit/p-DlD8m3rf.js +1 -0
  111. package/dist/ui-ai-kit/p-VMEwYfaX.js +2 -0
  112. package/dist/ui-ai-kit/{p-cf6caba5.entry.js → p-cae762e0.entry.js} +1 -1
  113. package/dist/ui-ai-kit/p-d02f2db5.entry.js +1 -0
  114. package/dist/ui-ai-kit/{p-999dd7c8.entry.js → p-e6236df2.entry.js} +1 -1
  115. package/dist/ui-ai-kit/ui-ai-kit.css +1 -1
  116. package/dist/ui-ai-kit/ui-ai-kit.esm.js +1 -1
  117. package/package.json +1 -1
  118. package/dist/cjs/icon-registry-BKb9-2Nt.js +0 -106
  119. package/dist/components/p-CAnlgwx0.js +0 -1
  120. package/dist/components/p-SJZ6Ujn9.js +0 -1
  121. package/dist/esm/icon-registry-SJZ6Ujn9.js +0 -104
  122. package/dist/ui-ai-kit/p-1cce63d4.entry.js +0 -1
  123. package/dist/ui-ai-kit/p-70836960.entry.js +0 -1
  124. package/dist/ui-ai-kit/p-8f721843.entry.js +0 -1
  125. package/dist/ui-ai-kit/p-95b50b7b.entry.js +0 -1
  126. package/dist/ui-ai-kit/p-SJZ6Ujn9.js +0 -1
  127. package/dist/ui-ai-kit/p-c9ec615f.entry.js +0 -1
  128. 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-shadow-watermark:drop-shadow(0 4px 6px hsl(var(--dark) / 0.05));--ai-hover-overlay:rgba(0, 0, 0, 0.06);--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-glow-gradient:linear-gradient(90deg, hsl(var(--gray)) 0%, hsl(var(--dark-300)) 50%, hsl(var(--gray)) 100%);--ai-input-glow:linear-gradient(to right, hsl(var(--secondary-400)), hsl(var(--secondary-100)) 10%, hsl(var(--secondary)));--ai-watermark-filter:invert(0.7);--ai-watermark-opacity:0.8}";
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;
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Bs23yVuF.js');
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-container.cjs",[[769,"ai-chat-container",{"isOpen":[4,"is-open"],"position":[1],"width":[1],"autoScroll":[4,"auto-scroll"],"showWatermark":[4,"show-watermark"],"floatHeight":[1,"float-height"],"theme":[1],"isMobile":[32],"floatLeft":[32],"floatTop":[32],"scrollToBottom":[64]},null,{"isOpen":[{"isOpenChanged":0}],"position":[{"positionChanged":0}]}]]],["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-card.cjs",[[769,"ai-card",{"noPadding":[4,"no-padding"],"noShadow":[4,"no-shadow"]}]]],["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"],"isDraggable":[4,"is-draggable"],"statusIndicator":[1,"status-indicator"],"avatarError":[32],"dropdownOpen":[32]}]]],["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-list.cjs",[[513,"ai-conversation-list",{"items":[16],"activeId":[1,"active-id"],"loading":[4]}]]],["ai-conversation-summary.cjs",[[769,"ai-conversation-summary",{"conversation":[1],"summary":[1],"messageCount":[2,"message-count"],"language":[1]}]]],["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-rating.cjs",[[513,"ai-rating",{"question":[1],"subtitle":[1],"value":[1026],"disabled":[4],"hovered":[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-icon.cjs",[[513,"ai-icon",{"name":[1],"size":[2]}]]],["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]}]]]], options);
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-Bs23yVuF.js');
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-container.cjs",[[769,"ai-chat-container",{"isOpen":[4,"is-open"],"position":[1],"width":[1],"autoScroll":[4,"auto-scroll"],"showWatermark":[4,"show-watermark"],"floatHeight":[1,"float-height"],"theme":[1],"isMobile":[32],"floatLeft":[32],"floatTop":[32],"scrollToBottom":[64]},null,{"isOpen":[{"isOpenChanged":0}],"position":[{"positionChanged":0}]}]]],["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-card.cjs",[[769,"ai-card",{"noPadding":[4,"no-padding"],"noShadow":[4,"no-shadow"]}]]],["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"],"isDraggable":[4,"is-draggable"],"statusIndicator":[1,"status-indicator"],"avatarError":[32],"dropdownOpen":[32]}]]],["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-list.cjs",[[513,"ai-conversation-list",{"items":[16],"activeId":[1,"active-id"],"loading":[4]}]]],["ai-conversation-summary.cjs",[[769,"ai-conversation-summary",{"conversation":[1],"summary":[1],"messageCount":[2,"message-count"],"language":[1]}]]],["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-rating.cjs",[[513,"ai-rating",{"question":[1],"subtitle":[1],"value":[1026],"disabled":[4],"hovered":[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-icon.cjs",[[513,"ai-icon",{"name":[1],"size":[2]}]]],["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]}]]]], options);
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: '0376a351dfcff6612ddbbf9ec38afd90b51e4a42' }, h("div", { key: '4085f93755a8cd3b74ec182ebe510bb8a6626133', class: "error-card" }, h("div", { key: '61d42da5ed3d8bbc69cd9604e600437fc241edb0', class: "error-body" }, h("div", { key: '0d98c6ad7bfc320164ba5308b8f1f8f5557eccf2', class: "error-icon-wrap" }, this.renderIcon('warning', 20, 20)), h("div", { key: '7b75d807a6227d335b26965cd959471c7ae8f20b', class: "error-content" }, h("div", { key: 'd46f618bb685bb3ce20ba11fb59f524e4ffe6238', class: "error-headline-row" }, h("span", { key: '6ee0b1d651d6a037073e6ad8917b2fe5495d0ee0', class: "error-headline" }, this.headline), this.errorCode && (h("span", { key: 'b541eee2462ff33791e3975102841845297335d4', class: "error-code-badge" }, this.errorCode))), this.message && (h("p", { key: '34d133731a7512ebe16a873bf52eb97120463335', class: "error-message" }, this.message))), this.dismissible && (h("button", { key: '0e3bc48998e3e7e2379557e2c6c7503d5c021a42', class: "dismiss-btn", "aria-label": "\u0625\u063A\u0644\u0627\u0642", onClick: () => this.dismissClick.emit() }, this.renderIcon('cancel', 16, 16)))), this.retryable && (h("div", { key: 'f1865b3e69d946be9833943b66e1b8de046d343d', class: "error-footer" }, h("button", { key: '11c72fbbfbaabf60e5da178ac07177185c0046b8', class: "retry-btn", onClick: () => this.retryClick.emit() }, this.renderIcon('reload', 16, 16), h("span", { key: 'fafdec1b9bc0aa727ada94d011bd1e66da53df0e' }, this.retryLabel)))))));
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: 'b9af2e825faa2dc3ba5a0c145a9c9399a75e048a' }, h("div", { key: 'f698c538583908fc84f4987e574c9f6740047791', class: {
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: '8012eba0a43945d4354f51f97badf87df072e0ea' }))));
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 ai-icon {
102
- opacity: var(--ai-watermark-opacity, 0.8);
103
- filter: var(--ai-watermark-filter, var(--ai-shadow-watermark));
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
+ }