@salla.sa/ui-ai-kit-core 2.2.1 → 2.2.3
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-header.cjs.entry.js +19 -2
- package/dist/cjs/ai-chat-message.cjs.entry.js +1 -1
- package/dist/cjs/ai-conversation-list.cjs.entry.js +10 -4
- package/dist/cjs/ai-conversation-summary.cjs.entry.js +1 -1
- package/dist/cjs/ai-in-chat-browser.cjs.entry.js +1 -1
- package/dist/cjs/ai-link.cjs.entry.js +1 -1
- package/dist/cjs/ai-route-decision.cjs.entry.js +1 -1
- package/dist/cjs/ai-suggestion.cjs.entry.js +2 -2
- package/dist/cjs/ai-voice-input.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ui-ai-kit.cjs.js +1 -1
- package/dist/collection/components/ai-card/ai-card.css +22 -0
- package/dist/collection/components/ai-card/ai-card.js +1 -1
- package/dist/collection/components/ai-chat-header/ai-chat-header.js +133 -2
- package/dist/collection/components/ai-chat-message/ai-chat-message.js +1 -1
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.css +20 -0
- package/dist/collection/components/ai-conversation-list/ai-conversation-list.js +29 -3
- package/dist/collection/components/ai-conversation-summary/ai-conversation-summary.js +1 -1
- package/dist/collection/components/ai-in-chat-browser/ai-in-chat-browser.js +1 -1
- package/dist/collection/components/ai-link/ai-link.js +1 -1
- package/dist/collection/components/ai-route-decision/ai-route-decision.js +1 -1
- package/dist/collection/components/ai-suggestion/ai-suggestion.js +2 -2
- package/dist/collection/components/ai-voice-input/ai-voice-input.js +1 -1
- package/dist/components/ai-card.js +1 -1
- package/dist/components/ai-chat-header.js +1 -1
- package/dist/components/ai-chat-message.js +1 -1
- package/dist/components/ai-conversation-list.js +1 -1
- package/dist/components/ai-conversation-summary.js +1 -1
- package/dist/components/ai-in-chat-browser.js +1 -1
- package/dist/components/ai-link.js +1 -1
- package/dist/components/ai-message-input.js +1 -1
- package/dist/components/ai-rating.js +1 -1
- package/dist/components/ai-route-decision.js +1 -1
- package/dist/components/ai-suggestion.js +1 -1
- package/dist/components/ai-voice-input.js +1 -1
- package/dist/components/{p-bGFmyIp1.js → p-BlCeQ9Hu.js} +1 -1
- package/dist/components/p-CFSr3KcL.js +1 -0
- package/dist/components/p-DCJWSYj-.js +1 -0
- package/dist/esm/ai-card.entry.js +2 -2
- package/dist/esm/ai-chat-header.entry.js +19 -2
- package/dist/esm/ai-chat-message.entry.js +1 -1
- package/dist/esm/ai-conversation-list.entry.js +10 -4
- package/dist/esm/ai-conversation-summary.entry.js +1 -1
- package/dist/esm/ai-in-chat-browser.entry.js +1 -1
- package/dist/esm/ai-link.entry.js +1 -1
- package/dist/esm/ai-route-decision.entry.js +1 -1
- package/dist/esm/ai-suggestion.entry.js +2 -2
- package/dist/esm/ai-voice-input.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/ui-ai-kit.js +1 -1
- package/dist/types/components/ai-chat-header/ai-chat-header.d.ts +13 -0
- package/dist/types/components/ai-conversation-list/ai-conversation-list.d.ts +2 -0
- package/dist/types/components.d.ts +71 -0
- package/dist/ui-ai-kit/{p-5f005ec5.entry.js → p-11c960d8.entry.js} +1 -1
- package/dist/ui-ai-kit/p-17e5d542.entry.js +1 -0
- package/dist/ui-ai-kit/p-2fd7529e.entry.js +1 -0
- package/dist/ui-ai-kit/{p-d02f2db5.entry.js → p-79309690.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-6bd54e29.entry.js → p-9a8614d0.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-062cad02.entry.js → p-9af03dbd.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-83f46030.entry.js → p-a1ee6005.entry.js} +1 -1
- package/dist/ui-ai-kit/{p-187db371.entry.js → p-a5f53c8c.entry.js} +1 -1
- package/dist/ui-ai-kit/p-cde479ea.entry.js +1 -0
- package/dist/ui-ai-kit/{p-e6236df2.entry.js → p-e1a2a622.entry.js} +1 -1
- package/dist/ui-ai-kit/ui-ai-kit.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/p-Ba0urr6Q.js +0 -1
- package/dist/components/p-CJzVwMlS.js +0 -1
- package/dist/ui-ai-kit/p-8ac8febb.entry.js +0 -1
- package/dist/ui-ai-kit/p-8fabdbe8.entry.js +0 -1
- package/dist/ui-ai-kit/p-953d4348.entry.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,H as t,c as i,h as r,d as a,t as n}from"./p-BPkf7wZg.js";import{i as s}from"./p-DlD8m3rf.js";const o=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.conversationSelect=i(this,"conversationSelect"),this.conversationDelete=i(this,"conversationDelete"),this.retryClick=i(this,"retryClick")}items=[];activeId="";loading=!1;emptyText="لا توجد محادثات";error=!1;errorText="تعذّر تحميل المحادثات";retryLabel="إعادة المحاولة";conversationSelect;conversationDelete;retryClick;renderIcon(e,t,i){const a=s[e];return a?r("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}formatRelativeTime(e){if(!e)return"";try{const t=new Date(e);if(isNaN(t.getTime()))return e;const i=Date.now()-t.getTime(),r=Math.floor(i/6e4),a=Math.floor(r/60),n=Math.floor(a/24),s="undefined"!=typeof document&&document.documentElement.lang||"ar",o=new Intl.RelativeTimeFormat(s,{numeric:"auto"});return r<1?o.format(0,"second"):r<60?o.format(-r,"minute"):a<24?o.format(-a,"hour"):o.format(-n,"day")}catch{return e}}renderRatingDots(e){return r("div",{class:"rating-dots","aria-label":e?`تقييم ${e} من 5`:void 0},Array.from({length:5},((t,i)=>r("span",{class:"rating-dot "+(i<(e??0)?"rating-dot--filled":"")}))))}renderSkeleton(){return r("div",{class:"skeleton-list"},[1,2,3,4].map((e=>r("div",{key:e,class:"skeleton-item"},r("div",{class:"skeleton-line skeleton-line--title"}),r("div",{class:"skeleton-line skeleton-line--preview"}),r("div",{class:"skeleton-line skeleton-line--meta"})))))}renderEmpty(){return r("div",{class:"empty-state"},r("div",{class:"empty-state__icon"},this.renderIcon("list",24,24)),r("p",{class:"empty-state__text"},this.emptyText))}renderError(){return r("div",{class:"error-state"},r("div",{class:"error-state__icon"},this.renderIcon("wifi-off",24,24)),r("p",{class:"error-state__text"},this.errorText),r("button",{class:"error-state__retry",onClick:()=>this.retryClick.emit()},this.renderIcon("reload",14,14),r("span",null,this.retryLabel)))}render(){const e=!this.loading&&!this.error&&0===this.items.length;return r(a,{key:"9be146c657629a6f7ac7f4325e1fbfdbea27f4de"},r("div",{key:"2e7f5daebdde0c69c5e22d581f9f31fc9f232308",class:"conversation-list"},r("div",{key:"f87e9462d0cac6e5d601528ada588aa18385b252",class:"list-scroll",role:"list"},this.loading?this.renderSkeleton():this.error?this.renderError():e?this.renderEmpty():this.items.map((e=>{const t=e.id===this.activeId;return r("div",{key:e.id,class:{"conv-item":!0,"conv-item--active":t},role:"listitem","aria-current":t?"true":void 0,onClick:()=>this.conversationSelect.emit(e.id)},r("div",{class:"conv-item__body"},r("p",{class:"conv-item__title"},e.title),r("p",{class:"conv-item__preview"},e.preview),r("div",{class:"conv-item__meta"},r("span",{class:"conv-item__time"},this.formatRelativeTime(e.timestamp)),null!=e.rating&&this.renderRatingDots(e.rating))),r("button",{class:"delete-btn","aria-label":"حذف المحادثة",onClick:t=>{t.stopPropagation(),this.conversationDelete.emit(e.id)}},this.renderIcon("cancel",14,14)))})))))}static get style(){return":host{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.conversation-list{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;background:var(--ai-bg-surface)}.list-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px;scrollbar-width:thin;scrollbar-color:var(--ai-scrollbar-thumb) transparent}.list-scroll::-webkit-scrollbar{width:3px}.list-scroll::-webkit-scrollbar-track{background:transparent}.list-scroll::-webkit-scrollbar-thumb{background:var(--ai-scrollbar-thumb);border-radius:99px}.list-scroll::-webkit-scrollbar-thumb:hover{background:var(--ai-scrollbar-thumb-hover)}.conv-item{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:10px 10px 10px 6px;border-radius:10px;cursor:pointer;transition:background 0.15s;position:relative}.conv-item:hover{background:var(--ai-bg-card)}.conv-item--active{background:var(--ai-bg-card);box-shadow:var(--ai-shadow-sm)}.conv-item__body{flex:1;min-width:0}.conv-item__title{margin:0 0 3px;font-size:13px;font-weight:600;color:var(--ai-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item__preview{margin:0 0 5px;font-size:12px;color:var(--ai-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conv-item__meta{display:flex;align-items:center;gap:8px}.conv-item__time{font-size:11px;color:var(--ai-text-muted);flex-shrink:0}.rating-dots{display:flex;align-items:center;gap:3px}.rating-dot{width:6px;height:6px;border-radius:50%;background:var(--ai-border-default);transition:background 0.15s}.rating-dot--filled{background:var(--ai-accent-warning, #ffaf44)}.delete-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--ai-text-muted);opacity:0;transition:opacity 0.15s, background 0.15s, color 0.15s;margin-block-start:2px}.conv-item:hover .delete-btn,.conv-item--active .delete-btn{opacity:1}.delete-btn:hover{background:var(--ai-status-danger-bg, rgba(239, 68, 68, 0.1));color:var(--ai-status-danger, #ef4444)}.delete-btn .icon-wrap{display:inline-flex;align-items:center;line-height:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--ai-bg-card);color:var(--ai-text-muted);line-height:0}.empty-state__icon .icon-wrap{display:inline-flex;align-items:center;line-height:0}.empty-state__text{margin:0;font-size:13px;color:var(--ai-text-muted);line-height:1.4}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.error-state__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--ai-status-danger-bg, rgba(239, 68, 68, 0.1));color:var(--ai-status-danger, #ef4444);line-height:0}.error-state__icon .icon-wrap{display:inline-flex;align-items:center;line-height:0}.error-state__text{margin:0;font-size:13px;color:var(--ai-text-muted);line-height:1.4}.error-state__retry{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--ai-text-primary);background:var(--ai-bg-card);border:1px solid var(--ai-border-default);border-radius:8px;cursor:pointer;transition:background 0.15s, box-shadow 0.15s}.error-state__retry:hover{box-shadow:var(--ai-shadow-sm)}.error-state__retry .icon-wrap{display:inline-flex;align-items:center;line-height:0}.skeleton-list{display:flex;flex-direction:column;gap:4px}.skeleton-item{padding:10px;border-radius:10px;display:flex;flex-direction:column;gap:6px}.skeleton-line{border-radius:6px;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%));background-size:200% 100%;animation:shimmer 2s linear infinite;height:12px}.skeleton-line--title{width:65%;height:13px}.skeleton-line--preview{width:100%}.skeleton-line--meta{width:35%;height:10px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}"}},[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"]}]);function l(){"undefined"!=typeof customElements&&["ai-conversation-list"].forEach((e=>{"ai-conversation-list"===e&&(customElements.get(n(e))||customElements.define(n(e),o))}))}export{o as A,l as d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as i,H as r}from"./p-VMEwYfaX.js";import{i as a}from"./p-DlD8m3rf.js";const n=class{constructor(i){e(this,i),this.conversationSelect=t(this,"conversationSelect"),this.conversationDelete=t(this,"conversationDelete"),this.retryClick=t(this,"retryClick")}items=[];activeId="";loading=!1;emptyText="لا توجد محادثات";error=!1;errorText="تعذّر تحميل المحادثات";retryLabel="إعادة المحاولة";conversationSelect;conversationDelete;retryClick;renderIcon(e,t,r){const n=a[e];return n?i("span",{class:"icon-wrap",innerHTML:`<svg width="${t}" height="${r}" viewBox="${n.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${n.content}</svg>`}):null}formatRelativeTime(e){if(!e)return"";try{const t=new Date(e);if(isNaN(t.getTime()))return e;const i=Date.now()-t.getTime(),r=Math.floor(i/6e4),a=Math.floor(r/60),n=Math.floor(a/24),s="undefined"!=typeof document&&document.documentElement.lang||"ar",o=new Intl.RelativeTimeFormat(s,{numeric:"auto"});return r<1?o.format(0,"second"):r<60?o.format(-r,"minute"):a<24?o.format(-a,"hour"):o.format(-n,"day")}catch{return e}}renderRatingDots(e){return i("div",{class:"rating-dots","aria-label":e?`تقييم ${e} من 5`:void 0},Array.from({length:5},((t,r)=>i("span",{class:"rating-dot "+(r<(e??0)?"rating-dot--filled":"")}))))}renderSkeleton(){return i("div",{class:"skeleton-list"},[1,2,3,4].map((e=>i("div",{key:e,class:"skeleton-item"},i("div",{class:"skeleton-line skeleton-line--title"}),i("div",{class:"skeleton-line skeleton-line--preview"}),i("div",{class:"skeleton-line skeleton-line--meta"})))))}renderEmpty(){return i("div",{class:"empty-state"},i("div",{class:"empty-state__icon"},this.renderIcon("list",24,24)),i("p",{class:"empty-state__text"},this.emptyText))}renderError(){return i("div",{class:"error-state"},i("div",{class:"error-state__icon"},this.renderIcon("wifi-off",24,24)),i("p",{class:"error-state__text"},this.errorText),i("button",{class:"error-state__retry",onClick:()=>this.retryClick.emit()},this.renderIcon("reload",14,14),i("span",null,this.retryLabel)))}render(){const e=!this.loading&&!this.error&&0===this.items.length;return i(r,{key:"9be146c657629a6f7ac7f4325e1fbfdbea27f4de"},i("div",{key:"2e7f5daebdde0c69c5e22d581f9f31fc9f232308",class:"conversation-list"},i("div",{key:"f87e9462d0cac6e5d601528ada588aa18385b252",class:"list-scroll",role:"list"},this.loading?this.renderSkeleton():this.error?this.renderError():e?this.renderEmpty():this.items.map((e=>{const t=e.id===this.activeId;return i("div",{key:e.id,class:{"conv-item":!0,"conv-item--active":t},role:"listitem","aria-current":t?"true":void 0,onClick:()=>this.conversationSelect.emit(e.id)},i("div",{class:"conv-item__body"},i("p",{class:"conv-item__title"},e.title),i("p",{class:"conv-item__preview"},e.preview),i("div",{class:"conv-item__meta"},i("span",{class:"conv-item__time"},this.formatRelativeTime(e.timestamp)),null!=e.rating&&this.renderRatingDots(e.rating))),i("button",{class:"delete-btn","aria-label":"حذف المحادثة",onClick:t=>{t.stopPropagation(),this.conversationDelete.emit(e.id)}},this.renderIcon("cancel",14,14)))})))))}};n.style=":host{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.conversation-list{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;background:var(--ai-bg-surface)}.list-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px;scrollbar-width:thin;scrollbar-color:var(--ai-scrollbar-thumb) transparent}.list-scroll::-webkit-scrollbar{width:3px}.list-scroll::-webkit-scrollbar-track{background:transparent}.list-scroll::-webkit-scrollbar-thumb{background:var(--ai-scrollbar-thumb);border-radius:99px}.list-scroll::-webkit-scrollbar-thumb:hover{background:var(--ai-scrollbar-thumb-hover)}.conv-item{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:10px 10px 10px 6px;border-radius:10px;cursor:pointer;transition:background 0.15s;position:relative}.conv-item:hover{background:var(--ai-bg-card)}.conv-item--active{background:var(--ai-bg-card);box-shadow:var(--ai-shadow-sm)}.conv-item__body{flex:1;min-width:0}.conv-item__title{margin:0 0 3px;font-size:13px;font-weight:600;color:var(--ai-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item__preview{margin:0 0 5px;font-size:12px;color:var(--ai-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conv-item__meta{display:flex;align-items:center;gap:8px}.conv-item__time{font-size:11px;color:var(--ai-text-muted);flex-shrink:0}.rating-dots{display:flex;align-items:center;gap:3px}.rating-dot{width:6px;height:6px;border-radius:50%;background:var(--ai-border-default);transition:background 0.15s}.rating-dot--filled{background:var(--ai-accent-warning, #ffaf44)}.delete-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--ai-text-muted);opacity:0;transition:opacity 0.15s, background 0.15s, color 0.15s;margin-block-start:2px}.conv-item:hover .delete-btn,.conv-item--active .delete-btn{opacity:1}.delete-btn:hover{background:var(--ai-status-danger-bg, rgba(239, 68, 68, 0.1));color:var(--ai-status-danger, #ef4444)}.delete-btn .icon-wrap{display:inline-flex;align-items:center;line-height:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--ai-bg-card);color:var(--ai-text-muted);line-height:0}.empty-state__icon .icon-wrap{display:inline-flex;align-items:center;line-height:0}.empty-state__text{margin:0;font-size:13px;color:var(--ai-text-muted);line-height:1.4}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.error-state__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--ai-status-danger-bg, rgba(239, 68, 68, 0.1));color:var(--ai-status-danger, #ef4444);line-height:0}.error-state__icon .icon-wrap{display:inline-flex;align-items:center;line-height:0}.error-state__text{margin:0;font-size:13px;color:var(--ai-text-muted);line-height:1.4}.error-state__retry{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--ai-text-primary);background:var(--ai-bg-card);border:1px solid var(--ai-border-default);border-radius:8px;cursor:pointer;transition:background 0.15s, box-shadow 0.15s}.error-state__retry:hover{box-shadow:var(--ai-shadow-sm)}.error-state__retry .icon-wrap{display:inline-flex;align-items:center;line-height:0}.skeleton-list{display:flex;flex-direction:column;gap:4px}.skeleton-item{padding:10px;border-radius:10px;display:flex;flex-direction:column;gap:6px}.skeleton-line{border-radius:6px;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%));background-size:200% 100%;animation:shimmer 2s linear infinite;height:12px}.skeleton-line--title{width:65%;height:13px}.skeleton-line--preview{width:100%}.skeleton-line--meta{width:35%;height:10px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}";export{n as ai_conversation_list}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,h as d,H as r}from"./p-VMEwYfaX.js";const i=class{constructor(d){a(this,d)}noPadding=!1;noShadow=!1;render(){return d(r,{key:"849dbf8d8eac913c76e71a10cb9b30f9fda3c320"},d("div",{key:"5d9f75428e6d94cf2c3729698e87fd3185c20129",class:{card:!0,"card--no-padding":this.noPadding,"card--no-shadow":this.noShadow}},d("slot",{key:"f604568228c02514ff0f569cfa4fd706c247652e"})))}};i.style=":host{--ai-card-border:1px solid var(--ai-border-default);--ai-card-radius:16px;--ai-card-padding:16px;--ai-card-gap:12px;--ai-card-shadow:var(--ai-shadow-sm);display:block}.card{background:var(--ai-bg-card);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-primary);width:100%;display:flex;flex-direction:column;gap:var(--ai-card-gap);text-align:start;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,a as e,h as a,H as n}from"./p-VMEwYfaX.js";import{i as o}from"./p-DlD8m3rf.js";const s=class{constructor(e){t(this,e),this.closeClick=i(this,"closeClick"),this.newChatClick=i(this,"newChatClick"),this.dropdownClick=i(this,"dropdownClick"),this.positionClick=i(this,"positionClick"),this.headerPositionClick=i(this,"headerPositionClick"),this.backClick=i(this,"backClick"),this.headerDragStart=i(this,"headerDragStart"),this.openExternal=i(this,"openExternal"),this.conversationSelect=i(this,"conversationSelect"),this.conversationDelete=i(this,"conversationDelete")}get el(){return e(this)}mode="agent";conversation="محادثة جديدة";agentName="";agentStatus="";agentAvatar="";showBack=!0;statusIndicator="online";pageTitle="";pageUrl="";conversationItems=[];conversationActiveId="";conversationLoading=!1;titleLoading=!1;avatarError=!1;dropdownOpen=!1;isFloating=!1;parentPositionObserver=null;closeClick;newChatClick;dropdownClick;positionClick;headerPositionClick;backClick;headerDragStart;openExternal;conversationSelect;conversationDelete;handleDocumentClick(t){this.dropdownOpen&&!this.el.contains(t.target)&&(this.dropdownOpen=!1)}connectedCallback(){}componentDidLoad(){requestAnimationFrame((()=>{this.syncFloatingState(),this.observeParentPosition()}))}disconnectedCallback(){this.parentPositionObserver?.disconnect(),this.parentPositionObserver=null}observeParentPosition(){if(this.parentPositionObserver)return;const t=this.el.closest("ai-chat-container");t&&(this.parentPositionObserver=new MutationObserver((()=>this.syncFloatingState())),this.parentPositionObserver.observe(t,{attributes:!0,attributeFilter:["position"]}))}syncFloatingState(){const t=this.el.closest("ai-chat-container");if(t){const i="float"===t.getAttribute("position");this.isFloating!==i&&(this.isFloating=i)}else!1!==this.isFloating&&(this.isFloating=!1)}renderIcon(t,i,e){const n=o[t];return n?a("span",{class:"icon-wrap",innerHTML:`<svg width="${i}" height="${e}" viewBox="${n.viewBox}" fill="none" xmlns="http://www.w3.org/2000/svg">${n.content}</svg>`}):null}renderAvatar(){const t=this.agentName?this.agentName.charAt(0):"?";return!this.agentAvatar||this.avatarError?a("div",{class:"avatar-fallback"},t):a("img",{class:"avatar",src:this.agentAvatar,alt:this.agentName,onError:()=>{this.avatarError=!0}})}renderDragBtn(){return this.isFloating&&a("button",{class:"action-btn drag-btn","aria-label":"سحب / Drag",onPointerDown:t=>{t.preventDefault(),this.headerDragStart.emit({clientX:t.clientX,clientY:t.clientY})}},this.renderIcon("drag",11,15))}handleConversationSelect=t=>{t.stopPropagation(),this.conversationSelect.emit(t.detail),this.dropdownOpen=!1};handleConversationDelete=t=>{t.stopPropagation(),this.conversationDelete.emit(t.detail)};renderConversationDropdown(){return this.dropdownOpen&&"agent"===this.mode?a("div",{class:"conversation-dropdown"},a("ai-conversation-list",{items:this.conversationItems,activeId:this.conversationActiveId,loading:this.conversationLoading,onConversationSelect:this.handleConversationSelect,onConversationDelete:this.handleConversationDelete})):null}renderAgentMode(){return[this.renderDragBtn(),a("div",{class:"content agent dropdown-trigger",role:"button",onClick:()=>{this.titleLoading||(this.dropdownOpen=!this.dropdownOpen,this.dropdownClick.emit())},"aria-haspopup":"listbox","aria-expanded":this.dropdownOpen,"aria-label":`${this.conversation}, افتح قائمة المحادثات`},this.titleLoading?a("span",{class:"title-skeleton","aria-busy":"true","aria-label":"جاري التحميل"}):a("span",{class:"title"},this.conversation),!this.titleLoading&&a("span",{class:"dropdown-chevron"+(this.dropdownOpen?" open":"")},this.renderIcon("chevron-down",24,24))),a("div",{class:"actions"},a("button",{class:"action-btn","aria-label":"محادثة جديدة / New Chat",onClick:()=>this.newChatClick.emit()},this.renderIcon("pencil-edit",22,22)),a("button",{class:"action-btn","aria-label":"العرض / Position",onClick:()=>{this.positionClick.emit(),this.headerPositionClick.emit()}},this.renderIcon("hand",22,22)),a("button",{class:"action-btn","aria-label":"إغلاق / Close",onClick:()=>this.closeClick.emit()},this.renderIcon("cancel",22,22)))]}renderHumanMode(){return[this.renderDragBtn(),a("div",{class:"content human"},this.showBack&&a("button",{class:"back-btn","aria-label":"رجوع / Back",onClick:()=>this.backClick.emit()},this.renderIcon("arrow-right",24,24)),a("div",{class:"avatar-wrapper"},this.renderAvatar(),a("span",{class:`online-dot status-${this.statusIndicator}`},this.renderIcon("online-dot",10,10))),a("div",{class:"text-block"},a("span",{class:"agent-name"},this.agentName),this.agentStatus&&a("span",{class:"agent-status"},this.agentStatus))),a("div",{class:"actions"},a("button",{class:"action-btn","aria-label":"العرض / Position",onClick:()=>{this.positionClick.emit(),this.headerPositionClick.emit()}},this.renderIcon("hand",22,22)),a("button",{class:"action-btn","aria-label":"إغلاق / Close",onClick:()=>this.closeClick.emit()},this.renderIcon("cancel",22,22)))]}renderBrowserMode(){return[this.renderDragBtn(),a("div",{class:"content browser"},a("button",{class:"back-btn","aria-label":"رجوع / Back",onClick:()=>this.backClick.emit()},this.renderIcon("arrow-right",24,24)),a("span",{class:"browser-title"},this.pageTitle),a("button",{class:"browser-link-btn","aria-label":"فتح في نافذة جديدة / Open externally",onClick:()=>this.openExternal.emit(this.pageUrl)},this.renderIcon("link",14,14))),a("div",{class:"actions"},a("button",{class:"action-btn","aria-label":"العرض / Position",onClick:()=>{this.positionClick.emit(),this.headerPositionClick.emit()}},this.renderIcon("hand",22,22)),a("button",{class:"action-btn","aria-label":"إغلاق / Close",onClick:()=>this.closeClick.emit()},this.renderIcon("cancel",22,22)))]}render(){return a(n,{key:"b11b4d03d7f1980ec91b0fdba7db314971b7e7d3"},a("div",{key:"47f40b54a6861b69adee00bea45ab8a6691c13f2",class:"header-wrapper"},a("div",{key:"dcc18d4cb88457c2eb959bfccb2c8d72655d610a",class:"header-container"},"agent"===this.mode?this.renderAgentMode():"human"===this.mode?this.renderHumanMode():this.renderBrowserMode()),this.renderConversationDropdown()))}};s.style=":host{display:block;position:relative;z-index:10}.header-wrapper{position:relative;display:flex;flex-direction:column}.header-container{display:flex;align-items:center;gap:8px;padding:16px;background:var(--ai-bg-card);border-bottom:1px solid var(--ai-border-light);width:100%;box-sizing:border-box}.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);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)}.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)}.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}.content.browser{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-chevron{display:inline-flex;transition:transform 0.2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.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);white-space:nowrap;line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis}@keyframes title-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.title-skeleton{display:inline-block;width:120px;height:16px;border-radius:8px;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%));background-size:200% 100%;animation:title-shimmer 1.6s ease-in-out infinite}.browser-title{font-size:14px;font-weight:600;color:var(--ai-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:20px}.browser-link-btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;flex-shrink:0;color:var(--ai-text-secondary)}.browser-link-btn:focus-visible{outline:2px solid var(--ai-focus-ring);outline-offset:2px}.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);object-fit:cover;display:block}.avatar-fallback{width:40px;height:40px;border-radius:9999px;border:1px solid var(--ai-border-default);background:var(--ai-bg-surface);color:var(--ai-text-primary);font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.online-dot{position:absolute;bottom:0;inset-inline-end:0;width:10px;height:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ai-bg-card);}.online-dot.status-online{color:#22c55e;}.online-dot.status-offline{color:#9ca3af;}.online-dot.status-busy{color:#ef4444;}.online-dot.status-away{color:#f59e0b;}.text-block{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex-shrink:0}.agent-name{font-size:14px;font-weight:500;color:var(--ai-text-primary);line-height:20px;white-space:nowrap}.agent-status{font-size:14px;font-weight:400;color:var(--ai-text-secondary);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}:host-context([dir='ltr']) .back-btn .icon-wrap,:host([dir='ltr']) .back-btn .icon-wrap{transform:scaleX(-1)}.conversation-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;height:360px;display:flex;flex-direction:column;background:var(--ai-bg-surface);border-bottom:1px solid var(--ai-border-light);box-shadow:var(--ai-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));animation:slideDown 0.2s ease;overflow:hidden}.conversation-dropdown ai-conversation-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}";export{s as ai_chat_header}
|