@salla.sa/ui-ai-kit-core 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ai-card.cjs.entry.js +2 -2
- package/dist/cjs/ai-chat-container.cjs.entry.js +84 -57
- package/dist/cjs/ai-chat-header.cjs.entry.js +29 -19
- package/dist/cjs/ai-chat-message.cjs.entry.js +1456 -21
- package/dist/cjs/ai-conversation-list.cjs.entry.js +80 -0
- package/dist/cjs/ai-conversation-summary.cjs.entry.js +33 -0
- package/dist/cjs/ai-icon.cjs.entry.js +2 -2
- package/dist/cjs/ai-link.cjs.entry.js +4 -4
- package/dist/cjs/ai-loading.cjs.entry.js +35 -22
- package/dist/cjs/ai-message-input.cjs.entry.js +48 -15
- package/dist/cjs/ai-rating.cjs.entry.js +2 -2
- package/dist/cjs/ai-route-decision.cjs.entry.js +48 -0
- package/dist/cjs/ai-suggestion.cjs.entry.js +4 -4
- package/dist/cjs/ai-voice-input.cjs.entry.js +75 -21
- package/dist/cjs/{icon-registry-dmfLA-Dj.js → icon-registry-BKb9-2Nt.js} +24 -0
- package/dist/cjs/{index-DLJcLHFH.js → index-BkNg07SW.js} +1 -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 +3 -0
- package/dist/collection/components/ai-card/ai-card.css +5 -8
- package/dist/collection/components/ai-chat-container/ai-chat-container.css +17 -14
- package/dist/collection/components/ai-chat-container/ai-chat-container.js +125 -53
- package/dist/collection/components/ai-chat-header/ai-chat-header.css +50 -17
- package/dist/collection/components/ai-chat-header/ai-chat-header.js +53 -18
- package/dist/collection/components/ai-chat-message/ai-chat-message.css +47 -38
- package/dist/collection/components/ai-chat-message/ai-chat-message.js +68 -18
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.css +196 -0
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.js +176 -0
- package/dist/collection/components/ai-conversation-summary/ai-conversation-summary.css +103 -0
- package/dist/collection/components/ai-conversation-summary/ai-conversation-summary.js +118 -0
- package/dist/collection/components/ai-icon/ai-icon.js +1 -1
- package/dist/collection/components/ai-link/ai-link.css +3 -7
- package/dist/collection/components/ai-link/ai-link.js +1 -1
- package/dist/collection/components/ai-loading/ai-loading.css +149 -20
- package/dist/collection/components/ai-loading/ai-loading.js +100 -23
- package/dist/collection/components/ai-message-input/ai-message-input.css +41 -37
- package/dist/collection/components/ai-message-input/ai-message-input.js +100 -19
- package/dist/collection/components/ai-rating/ai-rating.css +8 -14
- package/dist/collection/components/ai-route-decision/ai-route-decision.css +132 -0
- package/dist/collection/components/ai-route-decision/ai-route-decision.js +195 -0
- package/dist/collection/components/ai-suggestion/ai-suggestion.css +5 -11
- package/dist/collection/components/ai-suggestion/ai-suggestion.js +2 -2
- package/dist/collection/components/ai-voice-input/ai-voice-input.css +27 -22
- package/dist/collection/components/ai-voice-input/ai-voice-input.js +116 -20
- package/dist/collection/utils/icon-registry.js +24 -0
- 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 -1
- package/dist/components/ai-conversation-list.d.ts +11 -0
- package/dist/components/ai-conversation-list.js +1 -0
- package/dist/components/ai-conversation-summary.d.ts +11 -0
- package/dist/components/ai-conversation-summary.js +1 -0
- package/dist/components/ai-icon.js +1 -1
- 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.d.ts +11 -0
- package/dist/components/ai-route-decision.js +1 -0
- 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-CX1Yp79q.js +1 -0
- package/dist/components/p-DnO4dikr.js +1 -0
- package/dist/components/{p-CY6emva2.js → p-Dr2tAPV7.js} +1 -1
- package/dist/{ui-ai-kit/p-DYv5ef4M.js → components/p-SJZ6Ujn9.js} +1 -1
- package/dist/esm/ai-card.entry.js +2 -2
- package/dist/esm/ai-chat-container.entry.js +84 -57
- package/dist/esm/ai-chat-header.entry.js +29 -19
- package/dist/esm/ai-chat-message.entry.js +1456 -21
- package/dist/esm/ai-conversation-list.entry.js +78 -0
- package/dist/esm/ai-conversation-summary.entry.js +31 -0
- package/dist/esm/ai-icon.entry.js +2 -2
- package/dist/esm/ai-link.entry.js +4 -4
- package/dist/esm/ai-loading.entry.js +35 -22
- package/dist/esm/ai-message-input.entry.js +48 -15
- package/dist/esm/ai-rating.entry.js +2 -2
- package/dist/esm/ai-route-decision.entry.js +46 -0
- package/dist/esm/ai-suggestion.entry.js +4 -4
- package/dist/esm/ai-voice-input.entry.js +75 -21
- package/dist/esm/{icon-registry-DYv5ef4M.js → icon-registry-SJZ6Ujn9.js} +24 -0
- package/dist/esm/{index-7hrZ8FOQ.js → index-B0yIzgh4.js} +1 -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 +11 -1
- package/dist/types/components/ai-chat-header/ai-chat-header.d.ts +7 -2
- package/dist/types/components/ai-conversation-list/ai-conversation-list.d.ts +24 -0
- package/dist/types/components/ai-conversation-summary/ai-conversation-summary.d.ts +12 -0
- package/dist/types/components/ai-loading/ai-loading.d.ts +12 -6
- package/dist/types/components/ai-message-input/ai-message-input.d.ts +17 -3
- package/dist/types/components/ai-route-decision/ai-route-decision.d.ts +21 -0
- package/dist/types/components/ai-voice-input/ai-voice-input.d.ts +7 -0
- package/dist/types/components.d.ts +335 -11
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/icon-registry.d.ts +1 -1
- package/dist/ui-ai-kit/p-2955439f.entry.js +1 -0
- package/dist/ui-ai-kit/p-5c9e9822.entry.js +1 -0
- package/dist/ui-ai-kit/p-5caf1c38.entry.js +1 -0
- package/dist/ui-ai-kit/p-74c5c83f.entry.js +1 -0
- package/dist/ui-ai-kit/p-76195745.entry.js +1 -0
- package/dist/ui-ai-kit/p-79c78d8e.entry.js +1 -0
- package/dist/ui-ai-kit/p-87e9739b.entry.js +1 -0
- package/dist/ui-ai-kit/p-9c4c6c01.entry.js +1 -0
- package/dist/ui-ai-kit/p-B0yIzgh4.js +2 -0
- package/dist/{components/p-DYv5ef4M.js → ui-ai-kit/p-SJZ6Ujn9.js} +1 -1
- package/dist/ui-ai-kit/p-a099fcfb.entry.js +1 -0
- package/dist/ui-ai-kit/p-b28af13a.entry.js +1 -0
- package/dist/ui-ai-kit/p-d1bb1ad0.entry.js +1 -0
- package/dist/ui-ai-kit/p-eb0c7e7a.entry.js +1 -0
- package/dist/ui-ai-kit/{p-455daa17.entry.js → p-eec6f083.entry.js} +1 -1
- package/dist/ui-ai-kit/p-ef07638f.entry.js +2 -0
- 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 +5 -13
- package/dist/collection/components/ai-card/ai-card.stories.js +0 -52
- package/dist/collection/components/ai-chat-container/ai-chat-container.stories.js +0 -160
- package/dist/collection/components/ai-chat-header/ai-chat-header.stories.js +0 -138
- package/dist/collection/components/ai-chat-message/ai-chat-message.stories.js +0 -164
- package/dist/collection/components/ai-link/ai-link.stories.js +0 -79
- package/dist/collection/components/ai-loading/ai-loading.stories.js +0 -145
- package/dist/collection/components/ai-message-input/ai-message-input.stories.js +0 -125
- package/dist/collection/components/ai-rating/ai-rating.stories.js +0 -78
- package/dist/collection/components/ai-suggestion/ai-suggestion.stories.js +0 -62
- package/dist/collection/components/ai-voice-input/ai-voice-input.stories.js +0 -118
- package/dist/components/p-CWjXxYJI.js +0 -1
- package/dist/types/components/ai-card/ai-card.stories.d.ts +0 -7
- package/dist/types/components/ai-chat-container/ai-chat-container.stories.d.ts +0 -7
- package/dist/types/components/ai-chat-header/ai-chat-header.stories.d.ts +0 -8
- package/dist/types/components/ai-chat-message/ai-chat-message.stories.d.ts +0 -10
- package/dist/types/components/ai-link/ai-link.stories.d.ts +0 -8
- package/dist/types/components/ai-loading/ai-loading.stories.d.ts +0 -10
- package/dist/types/components/ai-message-input/ai-message-input.stories.d.ts +0 -13
- package/dist/types/components/ai-rating/ai-rating.stories.d.ts +0 -8
- package/dist/types/components/ai-suggestion/ai-suggestion.stories.d.ts +0 -8
- package/dist/types/components/ai-voice-input/ai-voice-input.stories.d.ts +0 -9
- package/dist/ui-ai-kit/p-11facfad.entry.js +0 -1
- package/dist/ui-ai-kit/p-128a2ed4.entry.js +0 -1
- package/dist/ui-ai-kit/p-227bdb8f.entry.js +0 -1
- package/dist/ui-ai-kit/p-56163e8c.entry.js +0 -1
- package/dist/ui-ai-kit/p-6d21d0fd.entry.js +0 -1
- package/dist/ui-ai-kit/p-6ddcd77b.entry.js +0 -1
- package/dist/ui-ai-kit/p-7hrZ8FOQ.js +0 -2
- package/dist/ui-ai-kit/p-8e90143e.entry.js +0 -1
- package/dist/ui-ai-kit/p-9938c277.entry.js +0 -1
- package/dist/ui-ai-kit/p-dc5b4a7f.entry.js +0 -1
- package/dist/ui-ai-kit/p-fb1702de.entry.js +0 -1
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
-
declare const meta: Meta;
|
|
3
|
-
export default meta;
|
|
4
|
-
type Story = StoryObj;
|
|
5
|
-
export declare const Default: Story;
|
|
6
|
-
export declare const AutoStart: Story;
|
|
7
|
-
export declare const WithoutWaveform: Story;
|
|
8
|
-
export declare const Disabled: Story;
|
|
9
|
-
export declare const WithEventHandlers: Story;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as a,H as i}from"./p-7hrZ8FOQ.js";import{i as r}from"./p-DYv5ef4M.js";const s=class{constructor(a){e(this,a),this.messageCopy=t(this,"messageCopy"),this.messageFeedback=t(this,"messageFeedback"),this.messageRegenerate=t(this,"messageRegenerate")}role="user";content="";format="text";agentName="";timestamp="";showActions=!0;enableRegenerate=!1;feedbackValue=null;messageCopy;messageFeedback;messageRegenerate;copySuccess=!1;copyTimeout;disconnectedCallback(){this.copyTimeout&&clearTimeout(this.copyTimeout)}renderIcon(e,t=16){const i=r[e];return i?a("span",{class:"icon-wrap",innerHTML:`<svg width="${t}" height="${t}" viewBox="${i.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${i.content}</svg>`}):null}parseMarkdown(e){let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");const a=[];return t=t.replace(/```(?:\w+)?\n?([\s\S]*?)```/g,((e,t)=>{const i=a.length;return a.push(`<pre><code>${t}</code></pre>`),`\0BLOCK${i}\0`})),t=t.replace(/`([^`]+)`/g,"<code>$1</code>"),t=t.replace(/^## (.+)$/gm,"<h2>$1</h2>"),t=t.replace(/^### (.+)$/gm,"<h3>$1</h3>"),t=t.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),t=t.replace(/\*([^*\n]+)\*/g,"<em>$1</em>"),t=t.replace(/((?:^[ \t]*[-*] .+\n?)+)/gm,(e=>{const t=e.trim().split("\n").filter((e=>e.trim())).map((e=>`<li>${e.replace(/^[ \t]*[-*] /,"")}</li>`)).join("");return`\0BLOCK${a.length}\0${a.push(`<ul>${t}</ul>`),""}`})),t=t.replace(/((?:^[ \t]*\d+\. .+\n?)+)/gm,(e=>{const t=e.trim().split("\n").filter((e=>e.trim())).map((e=>`<li>${e.replace(/^[ \t]*\d+\. /,"")}</li>`)).join("");return`\0BLOCK${a.length}\0${a.push(`<ol>${t}</ol>`),""}`})),t=t.split(/\n{2,}/).map((e=>{const t=e.trim();return t?/^\x00BLOCK\d+\x00$/.test(t)?t:`<p>${t.replace(/\n/g,"<br>")}</p>`:""})).join(""),t=t.replace(/\x00BLOCK(\d+)\x00/g,((e,t)=>a[parseInt(t,10)]||"")),t}getRenderedContent(){return this.content?this.parseMarkdown(this.content):""}getRelativeTime(){if(!this.timestamp)return"";try{const e=new Date(this.timestamp);if(isNaN(e.getTime()))return this.timestamp;const t=Math.floor((Date.now()-e.getTime())/6e4);if(t<1)return"الآن";if(t<60)return`منذ ${t} دقيقة`;const a=Math.floor(t/60);return a<24?`منذ ${a} ساعة`:`منذ ${Math.floor(a/24)} يوم`}catch{return this.timestamp}}async handleCopy(){try{await navigator.clipboard.writeText(this.content)}catch(e){}this.copySuccess=!0,this.messageCopy.emit(),this.copyTimeout=setTimeout((()=>this.copySuccess=!1),1500)}handleFeedback(e){this.feedbackValue=this.feedbackValue===e?null:e,this.messageFeedback.emit(e)}renderActionsBar(){return a("div",{class:"actions-bar"},this.enableRegenerate&&a("button",{class:"action-btn",onClick:()=>this.messageRegenerate.emit(),title:"إعادة تحميل"},this.renderIcon("reload",16)),a("button",{class:"action-btn copy-btn"+(this.copySuccess?" copy-success":""),onClick:()=>this.handleCopy(),title:"نسخ"},this.renderIcon("copy",16)),a("div",{class:"feedback-group"},a("button",{class:"feedback-btn thumbs-down-btn"+("down"===this.feedbackValue?" active":""),onClick:()=>this.handleFeedback("down"),title:"غير مفيد"},this.renderIcon("thumbs-down",16)),a("button",{class:"feedback-btn thumbs-up-btn"+("up"===this.feedbackValue?" active":""),onClick:()=>this.handleFeedback("up"),title:"مفيد"},this.renderIcon("thumbs-up",16))))}renderUserMessage(){return a("div",{class:"message-row user-row"},a("div",{class:"bubble user-bubble"},a("div",{class:"message-content",ref:e=>{e&&("markdown"===this.format?e.innerHTML=this.getRenderedContent():e.textContent=this.content)}})))}renderAgentMessage(){const e=this.showActions;return a("div",{class:"message-row agent-row"},a("div",{class:"agent-bubble-wrapper"},a("div",{class:"bubble agent-bubble"},this.content&&a("div",{class:"message-content",ref:e=>{e&&("markdown"===this.format?e.innerHTML=this.getRenderedContent():e.textContent=this.content)}}),a("slot",null),e&&this.renderActionsBar()),(this.agentName||this.timestamp)&&a("div",{class:"agent-info"},this.agentName&&a("span",{class:"agent-info-name"},this.agentName),this.agentName&&this.timestamp&&this.renderIcon("eclipse",10),this.timestamp&&a("span",{class:"agent-info-time"},this.getRelativeTime()))))}render(){return a(i,{key:"77dd0c46a676c211fdfba283d51bd0e0d2594b24"},"user"===this.role?this.renderUserMessage():this.renderAgentMessage())}};s.style=':host{--ai-msg-user-bg:var(--ai-user-bubble-bg, #F4F4F4);--ai-msg-user-color:var(--ai-text-primary, #333333);--ai-msg-user-border:1px solid var(--ai-border-default, #eee);--ai-msg-agent-bg:var(--ai-agent-bubble-bg, #ffffff);--ai-msg-agent-color:var(--ai-text-primary, #333333);--ai-msg-agent-border:1px solid var(--ai-border-default, #eee);--ai-msg-border-radius:16px;--ai-msg-padding:16px;--ai-msg-font-size:14px;--ai-msg-action-active-bg:var(--ai-accent, #a4ffe5);--ai-msg-timestamp-color:var(--ai-text-secondary, #737373);--ai-user-msg-max-width:80%;--ai-agent-msg-max-width:80%;display:block;direction:rtl;font-family:var(--ai-font-family, "PingARLT", sans-serif)}.message-row{display:flex}.user-row{flex-direction:column;align-items:flex-end}.user-bubble{background:var(--ai-msg-user-bg);color:var(--ai-msg-user-color);border:var(--ai-msg-user-border);border-radius:var(--ai-msg-border-radius);padding:var(--ai-msg-padding);font-size:var(--ai-msg-font-size);max-width:var(--ai-user-msg-max-width);line-height:1.5;word-break:break-word;box-shadow:0px 1px 2px 0px rgba(18, 18, 23, 0.05)}.user-row .timestamp{font-size:12px;color:var(--ai-msg-timestamp-color);margin-top:4px}.agent-row{flex-direction:row;justify-content:flex-start}.agent-bubble-wrapper{display:flex;flex-direction:column;gap:6px;width:100%;max-width:var(--ai-msg-agent-max-width);min-width:0}.agent-bubble{background:var(--ai-msg-agent-bg);color:var(--ai-msg-agent-color);border:var(--ai-msg-agent-border);border-radius:var(--ai-msg-border-radius);padding:var(--ai-msg-padding);font-size:var(--ai-msg-font-size);line-height:1.6;word-break:break-word;box-shadow:0px 1px 2px 0px rgba(18, 18, 23, 0.05);display:flex;flex-direction:column;gap:12px}.message-content{white-space:pre-wrap}.message-content p{margin:0 0 8px 0}.message-content p:last-child{margin-bottom:0}.message-content h2{font-size:16px;font-weight:700;margin:0 0 8px 0}.message-content h3{font-size:15px;font-weight:600;margin:0 0 6px 0}.message-content strong{font-weight:700}.message-content em{font-style:italic}.message-content code{background:var(--ai-bg-surface, #f3f4f6);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:13px;color:var(--ai-text-primary, #374151)}.message-content pre{background:var(--ai-bg-surface, #f3f4f6);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:8px 0}.message-content pre code{background:none;padding:0;font-size:13px}.message-content ul,.message-content ol{padding-inline-start:20px;margin:4px 0 8px 0}.message-content li{margin-bottom:3px}.actions-bar{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;height:0;overflow:hidden;opacity:0;pointer-events:none;transition:height 0.15s ease, opacity 0.15s ease}.agent-bubble:hover .actions-bar{height:32px;opacity:1;pointer-events:auto}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--ai-bg-card, #ffffff);border:1px solid var(--ai-border-default, #eee);cursor:pointer;color:var(--ai-text-primary, #333333);transition:background 0.15s, color 0.15s;padding:0;flex-shrink:0}.action-btn:hover{background:var(--ai-bg-surface, #f3f4f6)}.action-btn.copy-success{background:var(--ai-msg-action-active-bg);color:var(--ai-accent-text);border-color:var(--ai-accent)}.feedback-group{display:flex;align-items:center;border:1px solid var(--ai-border-default, #eee);border-radius:8px;overflow:hidden;background:var(--ai-bg-card, #ffffff)}.feedback-btn{display:flex;align-items:center;justify-content:center;height:32px;padding:0 8px;background:var(--ai-bg-card, #ffffff);border:none;border-inline-start:1px solid var(--ai-border-default, #eee);cursor:pointer;color:var(--ai-text-primary, #333333);transition:background 0.15s, color 0.15s}.feedback-btn:first-child{border-inline-start:none}.feedback-btn:hover{background:var(--ai-bg-surface, #f3f4f6)}.feedback-btn.active{background:var(--ai-msg-action-active-bg);color:var(--ai-accent-text)}.icon-wrap{display:flex;align-items:center;justify-content:center;line-height:0}.agent-info{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;color:var(--ai-text-muted, #9ca3af)}.agent-info-name,.agent-info-time{font-size:12px;color:inherit;line-height:16px;white-space:nowrap}.agent-info .icon-wrap{display:flex;align-items:center;color:inherit;opacity:0.6;flex-shrink:0}.typing-indicator{display:flex;align-items:center;gap:5px;padding:4px 2px}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--ai-text-muted, #9ca3af);animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:0.2s}.typing-dot:nth-child(3){animation-delay:0.4s}@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}.streaming-cursor{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:text-bottom;margin-inline-start:2px;animation:cursorBlink 0.8s step-start infinite}@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}';export{s as ai_chat_message}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,c as a,h as e,H as s}from"./p-7hrZ8FOQ.js";const t=class{constructor(e){i(this,e),this.suggestionClick=a(this,"suggestionClick")}label="";disabled=!1;suggestionClick;handleClick(){this.disabled||this.suggestionClick.emit(this.label)}render(){return e(s,{key:"642ab1b74098e6cd3cebab33a127757cddd2a450"},e("button",{key:"d75585d53f5996d06a96bdfad5dc11a85b101b23",class:{chip:!0,"chip--disabled":this.disabled},disabled:this.disabled,onClick:()=>this.handleClick()},e("span",{key:"532a8cc6168accab91bc10f0b4383d4173b8c887",class:"chip__label"},this.label,e("slot",{key:"691ae51253a08ff2005733a263153f8470e77472"}))))}};t.style=':host{--ai-suggestion-bg:var(--ai-bg-card);--ai-suggestion-bg-hover:var(--ai-accent-bg);--ai-suggestion-bg-active:var(--ai-accent-bg);--ai-suggestion-border:1px solid var(--ai-accent);--ai-suggestion-border-hover:1px solid var(--ai-accent);--ai-suggestion-radius:9999px;--ai-suggestion-padding:8px 12px;--ai-suggestion-gap:4px;--ai-suggestion-color:var(--ai-accent-dark);--ai-suggestion-font-size:14px;--ai-suggestion-line-height:20px;display:inline-block;direction:rtl;font-family:var(--ai-font-family, "PingARLT", sans-serif)}.chip{display:inline-flex;align-items:center;justify-content:center;gap:var(--ai-suggestion-gap);background:var(--ai-suggestion-bg);border:var(--ai-suggestion-border);border-radius:var(--ai-suggestion-radius);padding:var(--ai-suggestion-padding);color:var(--ai-suggestion-color);font-size:var(--ai-suggestion-font-size);font-weight:400;line-height:var(--ai-suggestion-line-height);font-family:inherit;white-space:nowrap;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease;outline:none;text-align:right}.chip:hover:not(:disabled){background:var(--ai-suggestion-bg-hover);border:var(--ai-suggestion-border-hover)}.chip:active:not(:disabled){background:var(--ai-suggestion-bg-active)}.chip:focus-visible{outline:2px solid var(--ai-accent);outline-offset:2px}.chip--disabled,.chip:disabled{opacity:0.45;cursor:not-allowed;pointer-events:none}.chip__label{display:inline-flex;align-items:center;gap:var(--ai-suggestion-gap)}';export{t as ai_suggestion}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as a,a as t,h as i,H as o}from"./p-7hrZ8FOQ.js";const r=class{constructor(t){e(this,t),this.sendMessage=a(this,"sendMessage"),this.voiceButtonClick=a(this,"voiceButtonClick")}get el(){return t(this)}placeholder="ايش في بالك؟";disabled=!1;showVoiceButton=!0;inputValue="";textareaRef;sendMessage;voiceButtonClick;async setInputValue(e){this.inputValue=e,this.textareaRef&&(this.textareaRef.style.height="auto",this.textareaRef.style.height=`${this.textareaRef.scrollHeight}px`,this.textareaRef.focus())}handleSendMessage=()=>{this.inputValue.trim()&&!this.disabled&&(this.sendMessage.emit(this.inputValue.trim()),this.inputValue="",this.textareaRef&&(this.textareaRef.style.height="auto"))};handleKeyPress=e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),this.handleSendMessage())};handleInputChange=e=>{this.inputValue=e.target.value,this.textareaRef&&(this.textareaRef.style.height="auto",this.textareaRef.style.height=`${this.textareaRef.scrollHeight}px`)};render(){const e=!!this.inputValue.trim()&&!this.disabled;return i(o,{key:"97dfe627b89657d36e4f7281a8bdb708cc913374"},i("div",{key:"a3efb2a0b95ec3a86cc5f575d0fdb2bb6dd2eb6c",part:"wrapper",class:"wrapper"},i("div",{key:"5986fa2946a44757c143999a72b25ea3b6e7c336",part:"glow",class:"glow","aria-hidden":"true"}),i("div",{key:"d5b9d346495de00e8b0e0900ef3e766756844626",part:"container",class:"input-container"},i("div",{key:"8313695b2e4d7557a5362e9b9d2a5c5803a4ec0c",class:"input-row"},i("div",{key:"9c184f8097e28527b5d18fccf92010fb36b14a9c",class:"actions"},i("button",{key:"39ad3feb24a53fd5a08e8a8388f7bcee71413a91",part:"send-button",class:"send-button"+(e?" active":""),onClick:this.handleSendMessage,disabled:!e,type:"button","aria-label":"Send message"},i("ai-icon",{key:"1fe555709288d33551696312fb3329b1c656d063",name:"send",size:16})),this.showVoiceButton&&!this.inputValue&&i("button",{key:"a7bcc3b9ca5f5e59c32a34ab33c2fbbd607bb298",part:"voice-button",class:"voice-button",onClick:()=>this.voiceButtonClick.emit(),disabled:this.disabled,type:"button","aria-label":"Record voice"},i("ai-icon",{key:"98fea04c79e841e4a2b8ee50a480bb554212b055",name:"mic",size:16}))),i("textarea",{key:"798af74ca2298a31f37459dfa1c176182d740839",part:"textarea",ref:e=>this.textareaRef=e,value:this.inputValue,onInput:this.handleInputChange,onKeyPress:this.handleKeyPress,disabled:this.disabled,placeholder:this.placeholder,rows:1,class:"textarea"})))))}};r.style=":host{display:block;font-family:var(--ai-font-family, \"PingARLT\", sans-serif);width:100%;--ai-input-bg:var(--ai-bg-input, #ffffff);--ai-input-border-color:var(--ai-border-default, #eeeeee);--ai-input-text-color:var(--ai-text-primary, #333333);--ai-input-placeholder-color:var(--ai-text-secondary, #737373);--ai-voice-button-color:var(--ai-text-secondary, #737373);--ai-send-button-bg:var(--ai-border-default, #eeeeee);--ai-send-button-border:var(--ai-border-default, #eeeeee);--ai-send-button-color:var(--ai-text-secondary, #737373);--ai-send-button-active-color:var(--ai-text-primary, #333333)}.wrapper{position:relative;padding:var(--ai-input-wrapper-padding, 16px)}.glow{position:absolute;bottom:20px;left:39px;right:39px;height:29px;border-radius:9999px;background:var(--ai-input-glow);filter:blur(20px);opacity:0.9;pointer-events:none}.input-container{position:relative;background-color:var(--ai-input-bg, #ffffff);border-radius:var(--ai-input-border-radius, 9999px);border:1px solid var(--ai-input-border-color, #eeeeee);box-shadow:0 1px 2px 0 var(--ai-input-shadow-color, rgba(18, 18, 23, 0.05));padding:var(--ai-input-padding, 12px);overflow:hidden}.input-row{display:flex;align-items:center;gap:var(--ai-input-gap, 12px)}.actions{display:flex;align-items:center;gap:var(--ai-actions-gap, 8px);flex-shrink:0}.send-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;max-height:32px;padding:4px 8px;border-radius:32px;border:2px solid var(--ai-send-button-border, #eeeeee);background-color:var(--ai-send-button-bg, #eeeeee);color:var(--ai-send-button-color, #737373);cursor:not-allowed;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;flex-shrink:0}.send-button.active{background-color:var(--ai-send-button-active-bg, var(--ai-accent));border-color:var(--ai-send-button-active-border, var(--ai-accent));color:var(--ai-accent-text);cursor:pointer}.send-button.active:hover{background-color:var(--ai-send-button-active-hover-bg, var(--ai-accent));border-color:var(--ai-send-button-active-hover-border, var(--ai-accent))}.send-button:focus{outline:none}.voice-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:32px;border:none;background-color:transparent;color:var(--ai-voice-button-color, #737373);cursor:pointer;transition:background-color 0.2s ease, color 0.2s ease;flex-shrink:0}.voice-button:hover:not(:disabled){background-color:var(--ai-voice-button-hover-bg, rgba(0, 0, 0, 0.06));color:var(--ai-voice-button-hover-color, var(--ai-text-secondary))}.voice-button:disabled{cursor:not-allowed;opacity:0.5}.voice-button:focus{outline:none;box-shadow:0 0 0 2px var(--ai-focus-ring-color, var(--ai-focus-ring))}.textarea{flex:1;resize:none;outline:none;border:none;background:transparent;font-size:var(--ai-input-font-size, 14px);line-height:var(--ai-input-line-height, 20px);color:var(--ai-input-text-color, #333333);font-family:inherit;min-height:20px;text-align:right;direction:rtl;padding:0;overflow:hidden}.textarea::placeholder{color:var(--ai-input-placeholder-color, #737373)}.textarea:disabled{cursor:not-allowed;opacity:0.6}.input-container:focus-within{border-color:var(--ai-input-focus-border-color, var(--ai-accent));box-shadow:0 0 10px 4px rgba(227, 255, 247, 0.4)}:host([disabled]) .wrapper{opacity:0.6;pointer-events:none}:host([dir='ltr']) .textarea{text-align:left;direction:ltr}";export{r as ai_message_input}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,h as e,H as n}from"./p-7hrZ8FOQ.js";import{i as a}from"./p-DYv5ef4M.js";const l=class{constructor(e){i(this,e)}label="";href="#";target="_blank";rel="";renderShareIcon(){const i=a.share;return i?e("span",{class:"link__icon",innerHTML:`<svg width="16" height="16" viewBox="${i.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${i.content}</svg>`}):null}render(){const i=this.rel||("_blank"===this.target?"noopener noreferrer":void 0);return e(n,{key:"58a742b11ef7dcc1094031e804be6032311cea9d"},e("span",{key:"bf45468deb328c2d8ed70ac299d36968c16ababe",class:"link__label"},this.label,e("slot",{key:"bd43bc12d120ab806c895922ede0a08d4ec2f882"})),e("a",{key:"b7c75a59bf18b1f1dc2e713b9e78c045afaa82e2",class:"link",href:this.href,target:this.target,rel:i},this.renderShareIcon()))}};l.style=":host{--ai-link-color:var(--ai-accent-dark);--ai-link-color-hover:var(--ai-accent-dark);--ai-link-font-size:14px;--ai-link-font-weight:700;--ai-link-line-height:20px;--ai-link-gap:4px;--ai-link-icon-size:16px;display:flex;align-items:center;gap:var(--ai-link-gap);direction:rtl;font-family:var(--ai-font-family, 'PingARLT', sans-serif)}.link{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--ai-link-gap);color:var(--ai-link-color);font-size:var(--ai-link-font-size);font-weight:var(--ai-link-font-weight);font-family:inherit;line-height:var(--ai-link-line-height);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color 0.15s ease;outline:none}.link:hover{color:var(--ai-link-color-hover);text-decoration:underline}.link:focus-visible{outline:2px solid var(--ai-accent);outline-offset:2px;border-radius:4px}.link__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--ai-link-icon-size);height:var(--ai-link-icon-size);flex-shrink:0;line-height:0}.link__label{color:var(--ai-link-color);font-weight:bold}";export{l as ai_link}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,a,h as e,H as r}from"./p-7hrZ8FOQ.js";const i=class{constructor(a){t(this,a)}get el(){return a(this)}isOpen=!1;position="right";width="28rem";autoScroll=!0;showWatermark=!1;floatHeight="600px";isMobile=!1;containerRef;dragState=null;resizeObserver;componentWillLoad(){this.checkMobile()}componentDidLoad(){"undefined"!=typeof window&&(this.resizeObserver=new ResizeObserver((()=>{this.checkMobile()})),this.resizeObserver.observe(document.body),"float"===this.position&&this.setupDrag())}positionChanged(t){"float"===t&&this.setupDrag()}disconnectedCallback(){this.resizeObserver&&this.resizeObserver.disconnect()}checkMobile(){"undefined"!=typeof window&&(this.isMobile=window.innerWidth<768)}setupDrag(){const t=this.containerRef;t&&this.el.addEventListener("headerDragStart",(a=>{const{clientX:e,clientY:r}=a.detail,i=t.getBoundingClientRect();this.dragState={startX:e,startY:r,initLeft:i.left,initTop:i.top},t.style.right="auto",t.style.bottom="auto",t.style.left=`${i.left}px`,t.style.top=`${i.top}px`;const o=a=>{if(!this.dragState)return;let e=this.dragState.initLeft+(a.clientX-this.dragState.startX),r=this.dragState.initTop+(a.clientY-this.dragState.startY);const i=window.innerWidth,o=window.innerHeight,n=t.offsetHeight;e=Math.max(0,Math.min(e,i-t.offsetWidth)),r=Math.max(0,Math.min(r,o-n)),t.style.left=`${e}px`,t.style.top=`${r}px`},n=()=>{this.dragState=null,document.removeEventListener("pointermove",o),document.removeEventListener("pointerup",n)};document.addEventListener("pointermove",o),document.addEventListener("pointerup",n)}))}getContainerClasses(){const t=["chat-container",this.position];return this.isOpen&&t.push("open"),this.isMobile&&t.push("mobile"),t.join(" ")}getContainerStyle(){const t={};return this.isMobile||("float"===this.position?(t.width=this.width,t.height=this.floatHeight):t.width=this.width),t}render(){return e(r,{key:"5048010bf45a26985c92bfb9a6caf01d8aa938c0"},e("div",{key:"08491cff2361071bc0635914cc665281b80321ac",class:this.getContainerClasses(),style:this.getContainerStyle(),ref:t=>this.containerRef=t},this.showWatermark&&e("div",{key:"366140a61929689fc522dddfb1485bbd4d2cbef9",class:"watermark"},e("ai-icon",{key:"5e210929feeb519889344385fa2fb75373ff8fed",name:"watermark",size:133})),e("slot",{key:"57eef4d0c273009feeeb4f03400e05352acdf6cd",name:"header"}),e("div",{key:"15b14f49819f886ce1d56de87c770bb7241dcd77",class:"messages-area"},e("slot",{key:"050cd0fde5bc3de75df0747031dc84214c125d5d"})),e("slot",{key:"195ab33291da775299e0d7c0c53df92fcf46a4ca",name:"footer"})))}static get watchers(){return{position:[{positionChanged:0}]}}};i.style=":host{display:contents}.chat-container{font-family:var(--ai-font-family, 'PingARLT', sans-serif);display:flex;flex-direction:column;overflow:hidden;position:relative;background-color:var(--ai-container-bg, var(--ai-bg-card, white));border:1px solid var(--border-default, var(--ai-border-default, #eee));z-index:50;box-sizing:border-box}.messages-area{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--ai-scrollbar-thumb, rgba(0, 0, 0, 0.15)) transparent}.messages-area::-webkit-scrollbar{width:3px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:var(--ai-scrollbar-thumb, rgba(0, 0, 0, 0.15));border-radius:99px}.messages-area::-webkit-scrollbar-thumb:hover{background:var(--ai-scrollbar-thumb, rgba(0, 0, 0, 0.28))}.chat-container.left,.chat-container.right{position:fixed;top:0;bottom:0;transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1)}.chat-container.left{left:0;transform:translateX(-100%)}.chat-container.right{right:0;transform:translateX(100%)}.chat-container.left.open,.chat-container.right.open{transform:translateX(0)}.chat-container.float{position:fixed;top:24px;left:24px;border-radius:16px;box-shadow:0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);display:none}.chat-container.float.open{display:flex}.watermark{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}.watermark ai-icon{opacity:0.8;filter:drop-shadow(0 4px 6px rgba(0, 0, 0, 0.05))}.chat-container.mobile{width:100% !important}.chat-container.float.mobile{left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;height:100% !important;border-radius:0 !important}@media (max-width: 767px){.chat-container{width:100% !important}.chat-container.float{left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;height:100% !important;border-radius:0 !important}}:host(.dark) .watermark ai-icon{opacity:0.6}";export{i as ai_chat_container}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,c as i,h as e,H as t}from"./p-7hrZ8FOQ.js";const r=[{value:1,emoji:"😠",label:"سيئ جداً"},{value:2,emoji:"☹️",label:"سيئ"},{value:3,emoji:"😐",label:"مقبول"},{value:4,emoji:"🙂",label:"جيد"},{value:5,emoji:"😍",label:"ممتاز"}],n=class{constructor(e){a(this,e),this.ratingChange=i(this,"ratingChange")}question="كيف كانت تجربتك؟";subtitle="رأيك يساعدنا نحسن الخدمة";value=null;disabled=!1;hovered=null;ratingChange;select(a){this.disabled||(this.value=this.value===a?null:a,null!==this.value&&this.ratingChange.emit(this.value))}get selectedLabel(){return null===this.value?null:r.find((a=>a.value===this.value))?.label??null}render(){const a=this.selectedLabel;return e(t,{key:"e540c94762552fbf2bc8a60f37a9059e1f9b6610"},e("div",{key:"0e5ff97267ee692a19e6e1ba5d6f32b456d6401e",class:"rating"},e("div",{key:"00c30cb515c0d51d7c1f9e8393f15b1d0475ffc7",class:"rating__text"},e("p",{key:"2a390c9465eed30fac0d8f8291f6a7c2dab35a47",class:"rating__question"},this.question),e("p",{key:"09a1010df00e31aa05946e6a1cf1fc23d9fa77a0",class:"rating__subtitle"},this.subtitle)),e("div",{key:"777a46e4157d1c1bc3691bdd0783a7023f7e3d8d",class:"rating__icons",role:"group","aria-label":this.question},r.map((a=>{const i=this.value===a.value;return e("button",{key:a.value,class:{"emoji-btn":!0,"emoji-btn--active":i,"emoji-btn--hovered":this.hovered===a.value&&!i,"emoji-btn--disabled":this.disabled},"aria-label":a.label,"aria-pressed":i?"true":"false",disabled:this.disabled,onClick:()=>this.select(a.value),onMouseEnter:()=>this.hovered=a.value,onMouseLeave:()=>this.hovered=null},e("span",{class:"emoji-btn__icon","aria-hidden":"true"},a.emoji))}))),a&&e("p",{key:"bba5b2ff2bcdd371cb3aefc761a5d7653bbf8630",class:"rating__selected-label"},a)))}};n.style=':host{--ai-rating-question-color:var(--ai-text-primary, #333333);--ai-rating-subtitle-color:var(--ai-text-secondary, #737373);--ai-rating-question-size:16px;--ai-rating-subtitle-size:14px;--ai-rating-gap:8px;--ai-rating-emoji-size:24px;--ai-rating-btn-padding:6px;--ai-rating-btn-border:1px solid var(--ai-border-light, #f4f4f4);--ai-rating-btn-radius:9999px;--ai-rating-btn-bg-hover:var(--ai-bg-surface, #f9fafb);--ai-rating-btn-border-hover:1px solid var(--ai-border-default);--ai-rating-btn-bg-active:var(--ai-warning-bg, #fff9eb);--ai-rating-btn-border-active:1px solid var(--ai-warning-border, #ffaf44);--ai-rating-btn-shadow-active:0px 4px 6px -1px rgba(18, 18, 23, 0.08), 0px 2px 4px -1px rgba(18, 18, 23, 0.06);--ai-rating-label-color:var(--ai-text-primary, #333333);--ai-rating-label-size:16px;display:block;direction:rtl;font-family:var(--ai-font-family, "PingARLT", sans-serif)}.rating{display:flex;flex-direction:column;align-items:center;gap:var(--ai-rating-gap);width:100%}.rating__text{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;text-align:center}.rating__question{margin:0;font-size:var(--ai-rating-question-size);font-weight:500;line-height:24px;color:var(--ai-rating-question-color)}.rating__subtitle{margin:0;font-size:var(--ai-rating-subtitle-size);font-weight:400;line-height:20px;color:var(--ai-rating-subtitle-color)}.rating__icons{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;flex-wrap:wrap}.emoji-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--ai-rating-btn-padding);border:var(--ai-rating-btn-border);border-radius:var(--ai-rating-btn-radius);background:transparent;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;outline:none}.emoji-btn:focus-visible{outline:2px solid var(--ai-warning-border);outline-offset:2px}.emoji-btn:hover:not(:disabled),.emoji-btn--hovered{background:var(--ai-rating-btn-bg-hover);border:var(--ai-rating-btn-border-hover);transform:scale(1.1)}.emoji-btn--active{background:var(--ai-rating-btn-bg-active) !important;border:var(--ai-rating-btn-border-active) !important;box-shadow:var(--ai-rating-btn-shadow-active);transform:scale(1.18) !important}.emoji-btn--disabled{opacity:0.45;cursor:not-allowed;pointer-events:none}.emoji-btn__icon{font-size:var(--ai-rating-emoji-size);line-height:1;display:inline-flex;align-items:center;justify-content:center;width:var(--ai-rating-emoji-size);height:var(--ai-rating-emoji-size);pointer-events:none}.rating__selected-label{margin:0;font-size:var(--ai-rating-label-size);font-weight:500;line-height:24px;color:var(--ai-rating-label-color);text-align:center;width:100%;animation:fadeIn 0.15s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}';export{n as ai_rating}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=()=>{},t='@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-glow-gradient:linear-gradient(90deg, hsl(var(--dark-100)) 0%, hsl(var(--gray)) 50%, hsl(var(--dark-100)) 100%);--ai-input-glow:linear-gradient(to right, hsl(var(--secondary-400)), hsl(var(--secondary-100)) 10%, hsl(var(--secondary)))}.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-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)))}';function n(e,t,n){const r="undefined"!=typeof HTMLElement?HTMLElement.prototype:null;for(;e&&e!==r;){const r=Object.getOwnPropertyDescriptor(e,t);if(r&&(!n||r.get))return r;e=Object.getPrototypeOf(e)}}var r,s=(e,t)=>{var r;Object.entries(null!=(r=t.l.t)?r:{}).map((([r,[s]])=>{if(31&s||32&s){const s=e[r],l=n(Object.getPrototypeOf(e),r,!0)||Object.getOwnPropertyDescriptor(e,r);l&&Object.defineProperty(e,r,{get(){return l.get.call(this)},set(e){l.set.call(this,e)},configurable:!0,enumerable:!0}),t.i.has(r)?e[r]=t.i.get(r):void 0!==s&&(e[r]=s)}}))},l=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},i=(e,t)=>{t&&(e.__stencil__getHostRef=()=>t,t.o=e,512&t.l.u&&s(e,t))},a=(e,t)=>t in e,o=(e,t)=>(0,console.error)(e,t),c=new Map,u=new Map,f="undefined"!=typeof window?window:{},d={u:0,h:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},h=e=>Promise.resolve(e),v=(()=>{try{return!!f.document.adoptedStyleSheets&&(new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync)}catch(e){}return!1})(),g=!!v&&(()=>!!f.document&&Object.getOwnPropertyDescriptor(f.document.adoptedStyleSheets,"length").writable)(),b=!1,p=[],y=[],m=(e,t)=>n=>{e.push(n),b||(b=!0,t&&4&d.u?j($):d.raf($))},w=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){o(e)}e.length=0},$=()=>{w(p),w(y),(b=p.length>0)&&d.raf($)},j=e=>h().then(e),S=m(y,!0);function k(){var e;const n=this.attachShadow({mode:"open"});if(void 0===r&&(r=null!=(e=function(e){if(!v)return;const t=new CSSStyleSheet;return t.replaceSync(e),t}(t))?e:null),r)g?n.adoptedStyleSheets.push(r):n.adoptedStyleSheets=[...n.adoptedStyleSheets,r];else if(!v){const e=document.createElement("style");e.innerHTML=t,n.prepend(e)}}function O(e){var t,n,r;return null!=(r=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?r:void 0}var x,E=new WeakMap,M=e=>"sc-"+e.v,C=e=>"object"==(e=typeof e)||"function"===e,A=(e,t,...n)=>{let r=null,s=null,l=!1,i=!1;const a=[],o=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?o(r):null!=r&&"boolean"!=typeof r&&((l="function"!=typeof e&&!C(r))&&(r+=""),l&&i?a[a.length-1].p+=r:a.push(l?L(null,r):r),i=l)};if(o(n),t){t.key&&(s=t.key);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}const c=L(e,null);return c.m=t,a.length>0&&(c.$=a),c.j=s,c},L=(e,t)=>({u:0,S:e,p:null!=t?t:null,k:null,$:null,m:null,j:null}),P={},R=(e,t)=>null==e||C(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?"string"==typeof e?parseFloat(e):"number"==typeof e?e:NaN:1&t?e+"":e,N=e=>{var t;return null==(t=l(e))?void 0:t.$hostElement$},T=(e,t)=>{const n=N(e);return{emit:e=>D(n,t,{bubbles:!0,composed:!0,cancelable:!0,detail:e})}},D=(e,t,n)=>{const r=d.ce(t,n);return e.dispatchEvent(r),r},H=(e,t,n,r,s,i)=>{if(n===r)return;let o=a(e,t),c=t.toLowerCase();if("class"===t){const t=e.classList,s=W(n);let l=W(r);t.remove(...s.filter((e=>e&&!l.includes(e)))),t.add(...l.filter((e=>e&&!s.includes(e))))}else if("style"===t){for(const t in n)r&&null!=r[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in r)n&&r[t]===n[t]||(t.includes("-")?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if("key"===t);else if("ref"===t)r&&ee(r,e);else if(o||"o"!==t[0]||"n"!==t[1]){if("a"===t[0]&&t.startsWith("attr:")){const n=t.slice(5);let s;{const t=l(e);if(t&&t.l&&t.l.t){const e=t.l.t[n];e&&e[1]&&(s=e[1])}}return s||(s=n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),void(null==r||!1===r?!1===r&&""!==e.getAttribute(s)||e.removeAttribute(s):e.setAttribute(s,!0===r?"":r))}if("p"===t[0]&&t.startsWith("prop:")){const n=t.slice(5);try{e[n]=r}catch(e){}return}{const l=C(r);if((o||l&&null!==r)&&!s)try{if(e.tagName.includes("-"))e[t]!==r&&(e[t]=r);else{const s=null==r?"":r;"list"===t?o=!1:null!=n&&e[t]===s||("function"==typeof e.__lookupSetter__(t)?e[t]=s:e.setAttribute(t,s))}}catch(e){}null==r||!1===r?!1===r&&""!==e.getAttribute(t)||e.removeAttribute(t):(!o||4&i||s)&&!l&&1===e.nodeType&&e.setAttribute(t,r=!0===r?"":r)}}else if(t="-"===t[2]?t.slice(3):a(f,c)?c.slice(2):c[2]+t.slice(3),n||r){const s=t.endsWith(z);t=t.replace(F,""),n&&d.rel(e,t,n,s),r&&d.ael(e,t,r,s)}},U=/\s/,W=e=>("object"==typeof e&&e&&"baseVal"in e&&(e=e.baseVal),e&&"string"==typeof e?e.split(U):[]),z="Capture",F=RegExp(z+"$"),V=(e,t,n)=>{const r=11===t.k.nodeType&&t.k.host?t.k.host:t.k,s=e&&e.m||{},l=t.m||{};for(const e of q(Object.keys(s)))e in l||H(r,e,s[e],void 0,n,t.u);for(const e of q(Object.keys(l)))H(r,e,s[e],l[e],n,t.u)};function q(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var G=!1,Y=!1,Z=[],_=[],B=(e,t,n)=>{const r=t.$[n];let s,l,i=0;if(null!=r.p)s=r.k=f.document.createTextNode(r.p);else{if(Y||(Y="svg"===r.S),!f.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");if(s=r.k=f.document.createElementNS(Y?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",r.S),Y&&"foreignObject"===r.S&&(Y=!1),V(null,r,Y),r.$){const t="template"===r.S?s.content:s;for(i=0;i<r.$.length;++i)l=B(e,r,i),l&&t.appendChild(l)}"svg"===r.S?Y=!1:"foreignObject"===s.tagName&&(Y=!0)}return s["s-hn"]=x,s},I=(e,t,n,r,s,l)=>{let i,a=e;for(a.shadowRoot&&a.tagName===x&&(a=a.shadowRoot),"template"===n.S&&(a=a.content);s<=l;++s)r[s]&&(i=B(null,n,s),i&&(r[s].k=i,te(a,i,t)))},J=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.k;X(t),e&&e.remove()}}},K=(e,t,n=!1)=>e.S===t.S&&(n?(n&&!e.j&&t.j&&(e.j=t.j),!0):e.j===t.j),Q=(e,t,n=!1)=>{const r=t.k=e.k,s=e.$,l=t.$,i=t.S,a=t.p;null==a?(Y="svg"===i||"foreignObject"!==i&&Y,"slot"!==i||G||e.O!==t.O&&(t.k["s-sn"]=t.O||"",(e=>{d.u|=1;const t=e.closest(x.toLowerCase());if(null!=t){const n=Array.from(t.__childNodes||t.childNodes).find((e=>e["s-cr"])),r=Array.from(e.__childNodes||e.childNodes);for(const e of n?r.reverse():r)null!=e["s-sh"]&&(te(t,e,null!=n?n:null),e["s-sh"]=void 0)}d.u&=-2})(t.k.parentElement)),V(e,t,Y),null!==s&&null!==l?((e,t,n,r,s=!1)=>{let l,i,a=0,o=0,c=0,u=0,f=t.length-1,d=t[0],h=t[f],v=r.length-1,g=r[0],b=r[v];const p="template"===n.S?e.content:e;for(;a<=f&&o<=v;)if(null==d)d=t[++a];else if(null==h)h=t[--f];else if(null==g)g=r[++o];else if(null==b)b=r[--v];else if(K(d,g,s))Q(d,g,s),d=t[++a],g=r[++o];else if(K(h,b,s))Q(h,b,s),h=t[--f],b=r[--v];else if(K(d,b,s))Q(d,b,s),te(p,d.k,h.k.nextSibling),d=t[++a],b=r[--v];else if(K(h,g,s))Q(h,g,s),te(p,h.k,d.k),h=t[--f],g=r[++o];else{for(c=-1,u=a;u<=f;++u)if(t[u]&&null!==t[u].j&&t[u].j===g.j){c=u;break}c>=0?(i=t[c],i.S!==g.S?l=B(t&&t[o],n,c):(Q(i,g,s),t[c]=void 0,l=i.k),g=r[++o]):(l=B(t&&t[o],n,o),g=r[++o]),l&&te(d.k.parentNode,l,d.k)}a>f?I(e,null==r[v+1]?null:r[v+1].k,n,r,o,v):o>v&&J(t,a,f)})(r,s,t,l,n):null!==l?(null!==e.p&&(r.textContent=""),I(r,null,t,l,0,l.length-1)):!n&&null!==s&&J(s,0,s.length-1),Y&&"svg"===i&&(Y=!1)):e.p!==a&&(r.data=a)},X=e=>{e.m&&e.m.ref&&Z.push((()=>e.m.ref(null))),e.$&&e.$.map(X)},ee=(e,t)=>{_.push((()=>e(t)))},te=(e,t,n)=>e.__insertBefore?e.__insertBefore(t,n):null==e?void 0:e.insertBefore(t,n),ne=(e,t)=>{if(t&&!e.M&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e.M=()=>{t["s-p"].splice(n-1,1),r()})))}},re=(e,t)=>{if(e.u|=16,4&e.u)return void(e.u|=512);ne(e,e.C);const n=()=>se(e,t);if(!t)return S(n);queueMicrotask((()=>{n()}))},se=(e,t)=>{const n=e.$hostElement$,r=e.o;if(!r)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let s;return t?(e.A.length&&e.A.forEach((e=>e(n))),s=fe(r,"componentWillLoad",void 0,n)):s=fe(r,"componentWillUpdate",void 0,n),s=le(s,(()=>fe(r,"componentWillRender",void 0,n))),le(s,(()=>ae(e,r,t)))},le=(e,t)=>ie(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),ie=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,ae=async(e,t,n)=>{var r;const s=e.$hostElement$,l=s["s-rc"];n&&(e=>{const t=e.l,n=e.$hostElement$,r=t.u,s=((e,t)=>{var n,r,s;const l=M(t),i=u.get(l);if(!f.document)return l;if(e=11===e.nodeType?e:f.document,i)if("string"==typeof i){let s,a=E.get(e=e.head||e);if(a||E.set(e,a=new Set),!a.has(l)){s=f.document.createElement("style"),s.textContent=i;const o=null!=(n=d.L)?n:O(f.document);if(null!=o&&s.setAttribute("nonce",o),!(1&t.u))if("HEAD"===e.nodeName){const t=e.querySelectorAll("link[rel=preconnect]"),n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(s,(null==n?void 0:n.parentNode)===e?n:null)}else if("host"in e)if(v){const t=new(null!=(r=e.defaultView)?r:e.ownerDocument.defaultView).CSSStyleSheet;t.replaceSync(i),g?e.adoptedStyleSheets.unshift(t):e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");t?t.textContent=i+t.textContent:e.prepend(s)}else e.append(s);1&t.u&&e.insertBefore(s,null),4&t.u&&(s.textContent+="slot-fb{display:contents}slot-fb[hidden]{display:none}"),a&&a.add(l)}}else{let t=E.get(e);if(t||E.set(e,t=new Set),!t.has(l)){const n=null!=(s=e.defaultView)?s:e.ownerDocument.defaultView;let r;if(i.constructor===n.CSSStyleSheet)r=i;else{r=new n.CSSStyleSheet;for(let e=0;e<i.cssRules.length;e++)r.insertRule(i.cssRules[e].cssText,e)}g?e.adoptedStyleSheets.push(r):e.adoptedStyleSheets=[...e.adoptedStyleSheets,r],t.add(l)}}return l})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&r&&(n["s-sc"]=s,n.classList.add(s+"-h"))})(e);oe(e,t,s,n),l&&(l.map((e=>e())),s["s-rc"]=void 0);{const t=null!=(r=s["s-p"])?r:[],n=()=>ce(e);0===t.length?n():(Promise.all(t).then(n).catch(n),e.u|=4,t.length=0)}},oe=(e,t,n,r)=>{try{t=t.render(),e.u&=-17,e.u|=2,((e,t,n=!1)=>{const r=e.$hostElement$,s=e.l,l=e.P||L(null,null),i=(e=>e&&e.S===P)(t)?t:A(null,null,t);if(x=r.tagName,n&&i.m)for(const e of Object.keys(i.m))r.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(i.m[e]=r[e]);i.S=null,i.u|=4,e.P=i,i.k=l.k=r.shadowRoot||r,G=!(!(1&s.u)||128&s.u),Q(l,i,n),Z.forEach((e=>e())),Z.length=0,_.forEach((e=>e())),_.length=0})(e,t,r)}catch(t){o(t,e.$hostElement$)}return null},ce=e=>{const t=e.$hostElement$,n=e.o,r=e.C;fe(n,"componentDidRender",void 0,t),64&e.u?fe(n,"componentDidUpdate",void 0,t):(e.u|=64,de(t),fe(n,"componentDidLoad",void 0,t),e.R(t),r||ue()),e.N(t),e.M&&(e.M(),e.M=void 0),512&e.u&&j((()=>re(e,!1))),e.u&=-517},ue=()=>{j((()=>D(f,"appload",{detail:{namespace:"ui-ai-kit"}})))},fe=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){o(e,r)}},de=e=>e.classList.add("hydrated"),he=(e,t,n,r)=>{const s=l(e);if(!s)return;if(!s)throw Error(`Couldn't find host element for "${r.v}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const i=s.$hostElement$,a=s.i.get(t),c=s.u,u=s.o;if(n=R(n,r.t[t][0]),!(8&c&&void 0!==a||n===a||Number.isNaN(a)&&Number.isNaN(n))){if(s.i.set(t,n),r.T){const e=r.T[t];e&&e.map((e=>{try{const[[r,l]]=Object.entries(e);(128&c||1&l)&&(u?u[r](n,a,t):s.A.push((()=>{s.o[r](n,a,t)})))}catch(e){o(e,i)}}))}if(2&c){if(u.componentShouldUpdate&&!1===u.componentShouldUpdate(n,a,t)&&!(16&c))return;16&c||re(s,!1)}}},ve=(e,t,r)=>{var s,i;const a=e.prototype;{e.watchers&&!t.T&&(t.T=e.watchers),e.deserializers&&!t.D&&(t.D=e.deserializers),e.serializers&&!t.H&&(t.H=e.serializers);const o=Object.entries(null!=(s=t.t)?s:{});if(o.map((([e,[s]])=>{if(31&s||2&r&&32&s){const{get:i,set:o}=n(a,e)||{};i&&(t.t[e][0]|=2048),o&&(t.t[e][0]|=4096),(1&r||!i)&&Object.defineProperty(a,e,{get(){{if(!(2048&t.t[e][0]))return((e,t)=>l(this).i.get(t))(0,e);const n=l(this),r=n?n.o:a;if(!r)return;return r[e]}},configurable:!0,enumerable:!0}),Object.defineProperty(a,e,{set(n){const i=l(this);if(i){if(o)return void 0===(32&s?this[e]:i.$hostElement$[e])&&i.i.get(e)&&(n=i.i.get(e)),o.call(this,R(n,s)),void he(this,e,n=32&s?this[e]:i.$hostElement$[e],t);{if(!(1&r&&4096&t.t[e][0]))return he(this,e,n,t),void(1&r&&!i.o&&i.A.push((()=>{4096&t.t[e][0]&&i.o[e]!==i.i.get(e)&&(i.o[e]=n)})));const l=()=>{const r=i.o[e];!i.i.get(e)&&r&&i.i.set(e,r),i.o[e]=R(n,s),he(this,e,i.o[e],t)};i.o?l():i.A.push((()=>{l()}))}}}})}else 1&r&&64&s&&Object.defineProperty(a,e,{value(...t){var n;const r=l(this);return null==(n=null==r?void 0:r.U)?void 0:n.then((()=>{var n;return null==(n=r.o)?void 0:n[e](...t)}))}})})),1&r){const n=new Map;a.attributeChangedCallback=function(e,r,s){d.jmp((()=>{var i;const c=n.get(e),u=l(this);if(this.hasOwnProperty(c)&&(s=this[c],delete this[c]),a.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const n=null==u?void 0:u.u;if(u&&n&&!(8&n)&&s!==r){const l=u.o,a=null==(i=t.T)?void 0:i[e];null==a||a.forEach((t=>{const[[i,a]]=Object.entries(t);null!=l[i]&&(128&n||1&a)&&l[i].call(l,s,r,e)}))}return}const f=o.find((([e])=>e===c));f&&4&f[1][0]&&(s=null!==s&&"false"!==s);const d=Object.getOwnPropertyDescriptor(a,c);s==this[c]||d.get&&!d.set||(this[c]=s)}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=t.T)?i:{}),...o.filter((([e,t])=>31&t[0])).map((([e,t])=>{const r=t[1]||e;return n.set(r,e),r}))]))}}return e},ge=(e,t)=>{fe(e,"connectedCallback",void 0,t)},be=(e,t)=>{fe(e,"disconnectedCallback",void 0,t||e)},pe=(e,t={})=>{var n;if(!f.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const r=[],s=t.exclude||[],i=f.customElements,a=f.document.head,h=a.querySelector("meta[charset]"),g=f.document.createElement("style"),b=[];let p,y=!0;if(Object.assign(d,t),d.h=new URL(t.resourcesUrl||"./",f.document.baseURI).href,e.map((e=>{e[1].map((t=>{var n,a,f;const h={u:t[0],v:t[1],t:t[2],W:t[3]};h.t=t[2],h.T=null!=(n=t[4])?n:{},h.H=null!=(a=t[5])?a:{},h.D=null!=(f=t[6])?f:{};const g=h.v,m=class extends HTMLElement{"s-p";"s-rc";hasRegisteredEventListeners=!1;constructor(e){if(super(e),((e,t)=>{const n={u:0,$hostElement$:e,l:t,i:new Map,F:new Map};n.U=new Promise((e=>n.N=e)),n.V=new Promise((e=>n.R=e)),e["s-p"]=[],e["s-rc"]=[],n.A=[];const r=n;e.__stencil__getHostRef=()=>r})(e=this,h),1&h.u)if(e.shadowRoot){if("open"!==e.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${h.v}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else k.call(e,h)}connectedCallback(){l(this)&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),p&&(clearTimeout(p),p=null),y?b.push(this):d.jmp((()=>(e=>{if(!(1&d.u)){const t=l(e);if(!t)return;const n=t.l,r=()=>{};if(1&t.u)(null==t?void 0:t.o)?ge(t.o,e):(null==t?void 0:t.V)&&t.V.then((()=>ge(t.o,e)));else{t.u|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){ne(t,t.C=n);break}}n.t&&Object.entries(n.t).map((([t,[n]])=>{if(31&n&&Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n)=>{let r;try{if(!(32&t.u)){if(t.u|=32,n.q){const s=((e,t)=>{const n=e.v.replace(/-/g,"_"),r=e.q;if(!r)return;const s=c.get(r);return s?s[n]:import(`./${r}.entry.js`).then((e=>(c.set(r,e),e[n])),(e=>{o(e,t.$hostElement$)}))
|
|
2
|
-
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,t);if(s&&"then"in s){const e=()=>{};r=await s,e()}else r=s;if(!r)throw Error(`Constructor for "${n.v}#${t.G}" was not found`);r.isProxied||(n.T=r.watchers,n.H=r.serializers,n.D=r.deserializers,ve(r,n,2),r.isProxied=!0);const l=()=>{};t.u|=8;try{new r(t)}catch(t){o(t,e)}t.u&=-9,t.u|=128,l(),ge(t.o,e)}else r=e.constructor,customElements.whenDefined(e.localName).then((()=>t.u|=128));if(r&&r.style){let e;"string"==typeof r.style&&(e=r.style);const t=M(n);if(!u.has(t)){const r=()=>{};((e,t,n)=>{let r=u.get(e);v&&n?(r=r||new CSSStyleSheet,"string"==typeof r?r=t:r.replaceSync(t)):r=t,u.set(e,r)})(t,e,!!(1&n.u)),r()}}}const s=t.C,l=()=>re(t,!0);s&&s["s-rc"]?s["s-rc"].push(l):l()}catch(n){o(n,e),t.M&&(t.M(),t.M=void 0),t.R&&t.R(e)}})(e,t,n)}r()}})(this))))}disconnectedCallback(){d.jmp((()=>(async e=>{if(!(1&d.u)){const t=l(e);(null==t?void 0:t.o)?be(t.o,e):(null==t?void 0:t.V)&&t.V.then((()=>be(t.o,e)))}E.has(e)&&E.delete(e),e.shadowRoot&&E.has(e.shadowRoot)&&E.delete(e.shadowRoot)})(this))),d.raf((()=>{var e;const t=l(this);if(!t)return;const n=b.findIndex((e=>e===this));n>-1&&b.splice(n,1),(null==(e=null==t?void 0:t.P)?void 0:e.k)instanceof Node&&!t.P.k.isConnected&&delete t.P.k}))}componentOnReady(){var e;return null==(e=l(this))?void 0:e.V}};h.q=e[0],s.includes(g)||i.get(g)||(r.push(g),i.define(g,ve(m,h,1)))}))})),r.length>0&&(g.textContent+=r.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",g.innerHTML.length)){g.setAttribute("data-styles","");const e=null!=(n=d.L)?n:O(f.document);null!=e&&g.setAttribute("nonce",e),a.insertBefore(g,h?h.nextSibling:a.firstChild)}y=!1,b.length?b.map((e=>e.connectedCallback())):d.jmp((()=>p=setTimeout(ue,30)))},ye=e=>d.L=e;export{P as H,N as a,pe as b,T as c,e as g,A as h,h as p,i as r,ye as s}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,h as d,H as r}from"./p-7hrZ8FOQ.js";const i=class{constructor(d){a(this,d)}noPadding=!1;noShadow=!1;render(){return d(r,{key:"4805b02b4eee8e01d0233de788a58770a85db2aa"},d("div",{key:"75576f8a791fc49c3a750d491b0e835d0e5ce8cb",class:{card:!0,"card--no-padding":this.noPadding,"card--no-shadow":this.noShadow}},d("slot",{key:"e16cdb10e803451fdd47006a98656168fe2495f4"})))}};i.style=":host{--ai-card-bg:var(--ai-bg-card, #ffffff);--ai-card-border:1px solid var(--ai-border-default, #eeeeee);--ai-card-radius:16px;--ai-card-padding:16px;--ai-card-gap:12px;--ai-card-shadow:0px 1px 2px 0px rgba(18, 18, 23, 0.05);--ai-text-color:var(--ai-text-primary, #333333);display:block;direction:rtl}.card{background:var(--ai-card-bg);border:var(--ai-card-border);border-radius:var(--ai-card-radius);padding:var(--ai-card-padding);box-shadow:var(--ai-card-shadow);box-sizing:border-box;overflow:hidden;color:var(--ai-text-color);width:100%;display:flex;flex-direction:column;gap:var(--ai-card-gap);text-align:right;font-size:14px;line-height:20px}.card--no-padding{padding:0}.card--no-shadow{box-shadow:none}";export{i as ai_card}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as a,H as e}from"./p-7hrZ8FOQ.js";import{i as n}from"./p-DYv5ef4M.js";const s=class{constructor(a){t(this,a),this.closeClick=i(this,"closeClick"),this.editClick=i(this,"editClick"),this.dropdownClick=i(this,"dropdownClick"),this.moreClick=i(this,"moreClick"),this.backClick=i(this,"backClick"),this.headerDragStart=i(this,"headerDragStart")}mode="agent";conversation="محادثة جديدة";agentName="";agentStatus="";agentAvatar="";showBack=!0;isDraggable=!1;closeClick;editClick;dropdownClick;moreClick;backClick;headerDragStart;renderIcon(t,i,e){const s=n[t];return s?a("span",{class:"icon-wrap",innerHTML:`<svg width="${i}" height="${e}" viewBox="${s.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${s.content}</svg>`}):null}renderAgentMode(){return[this.isDraggable&&a("button",{class:"action-btn drag-btn",onPointerDown:t=>{t.preventDefault(),this.headerDragStart.emit({clientX:t.clientX,clientY:t.clientY})}},this.renderIcon("drag",11,15)),a("div",{class:"content agent"},a("span",{class:"title"},this.conversation),a("button",{class:"dropdown-trigger",onClick:()=>this.dropdownClick.emit()},this.renderIcon("chevron-down",24,24))),a("div",{class:"actions"},a("button",{class:"action-btn",onClick:()=>this.editClick.emit()},this.renderIcon("pencil-edit",22,22)),a("button",{class:"action-btn",onClick:()=>this.moreClick.emit()},this.renderIcon("hand",22,22)),a("button",{class:"action-btn",onClick:()=>this.closeClick.emit()},this.renderIcon("cancel",22,22)))]}renderHumanMode(){return[this.isDraggable&&a("button",{class:"action-btn drag-btn",onPointerDown:t=>{t.preventDefault(),this.headerDragStart.emit({clientX:t.clientX,clientY:t.clientY})}},this.renderIcon("drag",11,15)),a("div",{class:"content human"},this.showBack&&a("button",{class:"back-btn",onClick:()=>this.backClick.emit()},this.renderIcon("arrow-right",24,24)),a("div",{class:"avatar-wrapper"},a("img",{class:"avatar",src:this.agentAvatar,alt:this.agentName}),a("span",{class:"online-dot"},this.renderIcon("online-dot",10,10))),a("div",{class:"text-block"},a("span",{class:"agent-name"},this.agentName),a("span",{class:"agent-status"},this.agentStatus))),a("div",{class:"actions"},a("button",{class:"action-btn",onClick:()=>this.moreClick.emit()},this.renderIcon("hand",22,22)),a("button",{class:"action-btn",onClick:()=>this.closeClick.emit()},this.renderIcon("cancel",22,22)))]}render(){return a(e,{key:"93fe332abe1339f7235aa18717d63aa65d9aac13"},a("div",{key:"b496695911f7d1f959c4f98506b0d230e77a86c3",class:"header-container"},"agent"===this.mode?this.renderAgentMode():this.renderHumanMode()))}};s.style=':host{display:block;font-family:var(--ai-font-family, "PingARLT", sans-serif)}.header-container{display:flex;align-items:center;gap:8px;padding:16px;background:var(--ai-bg-card, white);border-bottom:1px solid var(--ai-border-light, #f4f4f4);width:100%;box-sizing:border-box}.header-container{direction:rtl}.drag-btn{cursor:grab;color:var(--ai-text-muted)}.drag-btn:active{cursor:grabbing}.action-btn,.back-btn{width:40px;height:40px;padding:4px;display:flex;align-items:center;justify-content:center;background:var(--ai-bg-card, white);border:none;border-radius:8px;cursor:pointer;flex-shrink:0;color:var(--ai-text-primary);transition:background 0.15s ease}.action-btn:hover,.back-btn:hover{background:var(--ai-bg-surface, #f9fafb)}.action-btn:focus-visible,.back-btn:focus-visible{outline:2px solid var(--ai-focus-ring);outline-offset:2px}.action-btn:active,.back-btn:active{background:var(--ai-bg-surface, #f3f4f6)}.actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.content{flex:1 0 0;display:flex;align-items:center;justify-content:flex-start;min-width:0}.content.agent{gap:4px;height:40px}.content.human{gap:8px}.dropdown-trigger{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;color:var(--ai-text-primary)}.dropdown-trigger:focus-visible{outline:2px solid var(--ai-focus-ring);outline-offset:2px}.title{font-size:16px;font-weight:700;color:var(--ai-text-primary, #444444);white-space:nowrap;line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis}.avatar-wrapper{position:relative;width:40px;height:40px;flex-shrink:0}.avatar{width:40px;height:40px;border-radius:9999px;border:1px solid var(--ai-border-default, #eeeeee);object-fit:cover;display:block}.online-dot{position:absolute;bottom:0;left:0;width:10px;height:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ai-bg-card);}.text-block{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0}.agent-name{font-size:14px;font-weight:500;color:var(--ai-text-primary, #333333);line-height:20px;white-space:nowrap}.agent-status{font-size:14px;font-weight:400;color:var(--ai-text-secondary, #737373);line-height:20px;white-space:nowrap}.icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-wrap svg{display:block}';export{s as ai_chat_header}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as s,H as i}from"./p-7hrZ8FOQ.js";import{i as r}from"./p-DYv5ef4M.js";const a=class{constructor(s){e(this,s),this.toggleExpand=t(this,"toggleExpand"),this.stepClick=t(this,"stepClick")}mode="thinking";statusText="جاري التفكير...";steps="[]";headerTitle="خطة التنفيذ";expanded=!0;collapsible=!0;toggleExpand;stepClick;_expanded=!0;componentWillLoad(){this._expanded=this.expanded}renderIcon(e,t,i){const a=r[e];return a?s("span",{class:"icon-wrap",innerHTML:`<svg width="${t}" height="${i}" viewBox="${a.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${a.content}</svg>`}):null}renderSparkleAvatar(){return s("div",{class:"sparkle-avatar"},this.renderIcon("sparkle",14,14))}renderStepBadge(e,t){const i="completed"===e.status;return s("div",{class:"step-badge-outer"},s("div",{class:"step-badge-inner "+(i?"completed":"")},i?this.renderIcon("check",14,14):s("span",{class:"step-number"},t+1)))}getStepsList(){try{return JSON.parse(this.steps)||[]}catch{return[]}}handleToggle(){this.collapsible&&(this._expanded=!this._expanded,this.expanded=this._expanded,this.toggleExpand.emit(this._expanded))}renderThinkingMode(){return s("div",{class:"thinking-row"},this.renderSparkleAvatar(),s("span",{class:"shimmer-text"},this.statusText))}renderStepsMode(){const e=this.getStepsList(),t=e.filter((e=>"completed"===e.status)).length,i=e.length,r=i>0&&t===i;return s("div",{class:"steps-card"},s("div",{class:"steps-header "+(this.collapsible?"collapsible":""),onClick:()=>this.handleToggle()},this.renderSparkleAvatar(),s("div",{class:"steps-header-center"},s("span",{class:"steps-title"},this.headerTitle),i>0&&s("span",{class:"progress-badge"},r?"مكتمل":`${t}/${i}`)),this.collapsible&&s("button",{class:"collapse-btn "+(this._expanded?"expanded":"")},this.renderIcon("chevron-down",20,20))),this._expanded&&e.length>0&&s("div",{class:"steps-body"},e.map(((t,i)=>s("div",{class:"step-row",onClick:()=>this.stepClick.emit(t)},s("div",{class:"step-badge-col"},this.renderStepBadge(t,i),i<e.length-1&&s("div",{class:"step-separator"})),s("span",{class:"step-text"},t.title))))))}render(){return s(i,{key:"8a994758abe21c8a333088eeda498d158631bae6"},"thinking"===this.mode?this.renderThinkingMode():this.renderStepsMode())}};a.style=":host{display:block;direction:rtl}.icon-wrap{display:inline-flex;align-items:center;justify-content:center;line-height:0}.sparkle-avatar{width:24px;height:24px;border-radius:9999px;background:var(--ai-bg-card, #FCFCFC);box-shadow:inset 0px 0px 3px 1px rgba(18, 18, 23, 0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ai-amber)}.thinking-row{display:inline-flex;align-items:center;gap:8px;flex-direction:row}@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}.shimmer-text{font-size:14px;font-weight:400;line-height:1.5;background:var(--ai-glow-gradient, linear-gradient(90deg, #737373 0%, #c5c5c5 50%, #737373 100%));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 2s linear infinite}.steps-card{background:var(--ai-bg-card, #ffffff);border:1px solid var(--ai-border-default, #eeeeee);border-radius:16px;box-shadow:0px 1px 2px 0px rgba(18, 18, 23, 0.05);overflow:hidden}.steps-header{padding:16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ai-border-default, #eeeeee)}.steps-header.collapsible{cursor:pointer;user-select:none}.steps-header-center{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.steps-title{font-size:16px;font-weight:500;color:var(--ai-text-primary, #333333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-badge{font-size:12px;font-weight:500;color:var(--ai-accent-dark);background:var(--ai-accent-bg);padding:2px 8px;border-radius:9999px;white-space:nowrap;flex-shrink:0}.collapse-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:var(--ai-text-secondary, #737373);flex-shrink:0;transition:transform 0.2s ease;transform:rotate(180deg)}.collapse-btn.expanded{transform:rotate(0deg)}.steps-body{padding:12px 16px;display:flex;flex-direction:column}.step-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:4px 0}.step-row:hover .step-text{color:var(--ai-text-primary, #333333)}.step-text{flex:1;font-size:14px;font-weight:400;color:var(--ai-text-secondary, #737373);line-height:1.5;padding-top:4px}.step-badge-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.step-separator{width:1px;height:16px;background:var(--ai-border-default, #eeeeee);margin:2px 0}.step-badge-outer{padding:2px;border-radius:9999px;background:var(--ai-bg-surface, #f4f4f4);display:inline-flex;align-items:center;justify-content:center}.step-badge-inner{width:26px;height:26px;border-radius:9999px;background:var(--ai-bg-card, #ffffff);box-shadow:0px 0px 2px 1px rgba(18, 18, 23, 0.08);display:flex;align-items:center;justify-content:center;color:var(--ai-text-secondary, #737373)}.step-badge-inner.completed{background:var(--ai-success-bg);color:var(--ai-success-text)}.step-number{font-size:14px;font-weight:500;color:var(--ai-text-secondary, #737373);line-height:1}";export{a as ai_loading}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,c as e,h as t,H as r}from"./p-7hrZ8FOQ.js";const a=class{constructor(t){i(this,t),this.audioRecorded=e(this,"audioRecorded"),this.recordingCancel=e(this,"recordingCancel")}disabled=!1;showWaveform=!0;autoStart=!1;state="idle";error=null;recordingDuration=0;audioRecorded;recordingCancel;streamRef=null;audioContextRef=null;analyserRef=null;mediaRecorderRef=null;audioChunks=[];recordingStartTime=0;recordingTimer=null;maxTimeoutRef=null;canvasRef;animationFrameId=0;prevHeights=[];componentDidLoad(){this.autoStart&&this.startRecording()}disconnectedCallback(){this.cleanup()}cleanup=()=>{this.recordingTimer&&(clearInterval(this.recordingTimer),this.recordingTimer=null),this.maxTimeoutRef&&(clearTimeout(this.maxTimeoutRef),this.maxTimeoutRef=null),this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=0),this.mediaRecorderRef&&"inactive"!==this.mediaRecorderRef.state&&(this.mediaRecorderRef.stop(),this.mediaRecorderRef=null),this.audioContextRef&&(this.audioContextRef.close(),this.audioContextRef=null),this.analyserRef&&(this.analyserRef=null),this.streamRef&&(this.streamRef.getTracks().forEach((i=>i.stop())),this.streamRef=null)};startRecording=async()=>{try{this.error=null,this.audioChunks=[];const i=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});this.streamRef=i;const e=new AudioContext;if(this.audioContextRef=e,this.showWaveform){const t=e.createAnalyser();t.fftSize=256,t.smoothingTimeConstant=.8,this.analyserRef=t,e.createMediaStreamSource(i).connect(t)}this.setupMediaRecorder(i),this.recordingStartTime=Date.now(),this.recordingDuration=0,this.prevHeights=[],this.state="recording",this.showWaveform&&requestAnimationFrame((()=>{this.drawWaveform()})),this.recordingTimer=window.setInterval((()=>{this.recordingDuration=Math.floor((Date.now()-this.recordingStartTime)/1e3)}),100),this.maxTimeoutRef=window.setTimeout((()=>{this.stopRecording()}),6e4)}catch(i){console.error("Error starting recording:",i),this.error="Microphone access denied",this.state="idle"}};setupMediaRecorder=i=>{const e=new MediaRecorder(i,{mimeType:"audio/webm"});e.ondataavailable=i=>{i.data.size>0&&this.audioChunks.push(i.data)},e.onstop=()=>{const i=new Blob(this.audioChunks,{type:"audio/webm"});this.audioRecorded.emit({blob:i,duration:this.recordingDuration})},this.mediaRecorderRef=e,e.start(100)};stopRecording=()=>{this.recordingTimer&&(clearInterval(this.recordingTimer),this.recordingTimer=null),this.maxTimeoutRef&&(clearTimeout(this.maxTimeoutRef),this.maxTimeoutRef=null),this.cleanup(),this.state="idle"};cancelRecording=()=>{this.mediaRecorderRef&&"inactive"!==this.mediaRecorderRef.state&&(this.mediaRecorderRef.ondataavailable=null,this.mediaRecorderRef.onstop=null),this.cleanup(),this.state="idle",this.recordingCancel.emit()};drawWaveform=()=>{if(!this.canvasRef||!this.analyserRef)return;const i=this.canvasRef,e=i.getContext("2d");if(!e)return;const t=100,r=this.analyserRef.frequencyBinCount,a=new Uint8Array(r),o=Math.max(1,Math.floor(r/t));this.prevHeights.length!==t&&(this.prevHeights=new Array(t).fill(4));const n=()=>{if("recording"!==this.state)return;this.animationFrameId=requestAnimationFrame(n),this.analyserRef.getByteFrequencyData(a),e.clearRect(0,0,i.width,i.height);const s=i.height/2,c=(i.width-300)/2,d=i.height-4;for(let i=0;i<t;i++){let t=0;for(let e=0;e<o;e++){const n=i*o+e;n<r&&(t+=a[n])}const n=Math.min(1,t/o/255);this.prevHeights[i]=.7*this.prevHeights[i]+.3*(4+n*(d-4));const l=this.prevHeights[i],h=c+3*i,u=s-l/2;e.fillStyle="#9ca3af",e.beginPath(),e.roundRect(h,u,1,l,.5),e.fill()}};n()};formatDuration=i=>`${Math.floor(i/60)}:${(i%60).toString().padStart(2,"0")}`;render(){const i=60-this.recordingDuration;return t(r,{key:"c8bfc86b0c3951460ec23b66e6e018d25c8fa950"},t("div",{key:"114eae0be8e5ebcbda11cdff7fd0714221c0e27a",class:"wrapper"},"recording"===this.state&&t("div",{key:"203008d77352bd2fda62a2f7728f061ea4b1ea4f",class:"glow","aria-hidden":"true"}),t("div",{key:"a92db7f67500d731faca57e1634aec4a383a9ab7",class:"input-container"},"idle"===this.state?t("div",{class:"recording-row"},t("button",{type:"button",class:"submit-button",onClick:this.startRecording,disabled:this.disabled,"aria-label":"Start recording"},t("ai-icon",{name:"mic",size:16})),this.error&&t("div",{class:"error-message",role:"alert"},this.error)):t("div",{class:"recording-row"},t("button",{type:"button",class:"cancel-button",onClick:this.cancelRecording,"aria-label":"Cancel"},t("ai-icon",{name:"cancel",size:14})),t("div",{class:"timer"+(i<=5?" warning":"")},this.formatDuration(this.recordingDuration)),this.showWaveform&&t("canvas",{ref:i=>this.canvasRef=i,class:"waveform",width:"260",height:"32"}),t("button",{type:"button",class:"submit-button",onClick:this.stopRecording,"aria-label":"Send"},t("ai-icon",{name:"arrow-up",size:14}))))))}};a.style=':host{display:block;width:100%;font-family:var(--ai-font-family, "PingARLT", sans-serif);--ai-input-bg:var(--ai-bg-input, #ffffff);--ai-input-border-color:var(--ai-border-default, #eeeeee);--ai-send-button-bg:var(--ai-border-default, #eeeeee);--ai-send-button-border:var(--ai-border-default, #eeeeee);--ai-send-button-color:var(--ai-text-secondary, #737373);--ai-send-button-active-color:var(--ai-text-primary, #333333);--ai-voice-timer-color:var(--ai-text-secondary, #737373)}.wrapper{position:relative;padding:var(--ai-input-wrapper-padding, 16px)}.glow{position:absolute;bottom:20px;left:39px;right:39px;height:29px;border-radius:9999px;background:var(--ai-input-glow);filter:blur(20px);opacity:0.9;pointer-events:none}.input-container{position:relative;background-color:var(--ai-input-bg, #ffffff);border-radius:var(--ai-input-border-radius, 9999px);border:1px solid var(--ai-input-border-color, #eeeeee);box-shadow:0 1px 2px 0 var(--ai-input-shadow-color, rgba(18, 18, 23, 0.05));padding:var(--ai-input-padding, 12px);overflow:hidden}.recording-row{display:flex;align-items:center;gap:var(--ai-input-gap, 10px)}.cancel-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;max-height:32px;padding:4px 8px;border-radius:32px;border:2px solid var(--ai-send-button-border, var(--ai-border-default));background-color:var(--ai-send-button-bg, var(--ai-border-default));color:var(--ai-send-button-color, var(--ai-text-secondary));cursor:pointer;flex-shrink:0;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease}.cancel-button:hover{background-color:var(--ai-bg-surface);border-color:var(--ai-bg-surface)}.submit-button{display:inline-flex;align-items:center;justify-content:center;height:32px;width:32px;min-width:32px;padding:4px 8px;border-radius:32px;border:2px solid var(--ai-send-button-active-border, var(--ai-accent));background-color:var(--ai-send-button-active-bg, var(--ai-accent));color:var(--ai-accent-text);cursor:pointer;flex-shrink:0;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease}.submit-button:hover{background-color:var(--ai-send-button-active-hover-bg, var(--ai-accent));border-color:var(--ai-send-button-active-hover-border, var(--ai-accent))}.timer{font-size:13px;font-weight:500;font-family:var(--ai-font-family, "PingARLT", sans-serif);color:var(--ai-voice-timer-color, #737373);min-width:36px;text-align:center;flex-shrink:0}.timer.warning{color:var(--ai-voice-timer-warning-color, var(--ai-danger-text))}.waveform{flex:1;height:32px;max-width:100%}.error-message{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);background:var(--ai-voice-error-bg, var(--ai-danger-bg));color:var(--ai-voice-error-color, var(--ai-danger-text));font-size:11px;padding:6px 12px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(0, 0, 0, 0.15);border:1px solid var(--ai-voice-error-border, var(--ai-danger-border));z-index:10}';export{a as ai_voice_input}
|