@useknest/widget-web 0.1.0 → 0.1.2

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/widget.js CHANGED
@@ -17264,11 +17264,13 @@ const d0 = {
17264
17264
  }
17265
17265
  }.loading-text.svelte-7fg7a1 {font-size:0.875rem;font-weight:500;color:#6b7280;margin:0;}.error-container.svelte-7fg7a1 {display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);padding:2rem;}.error-content.svelte-7fg7a1 {text-align:center;max-width:300px;}.error-text.svelte-7fg7a1 {font-size:0.875rem;color:#991b1b;margin:0;line-height:1.5;}.messages-container.svelte-7fg7a1 {flex:1;overflow-y:auto;}.separator.svelte-7fg7a1 {margin:0 1.5rem;border-bottom:1px solid #e5e7eb;}.examples.svelte-7fg7a1 {border-top:1px solid #e5e7eb;padding:1.25rem 1.5rem;}.examples.svelte-7fg7a1 h3:where(.svelte-7fg7a1) {font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280;margin:0 0 1rem 0;}.example-btn.svelte-7fg7a1 {width:100%;padding:0.75rem;margin-bottom:0.75rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:white;text-align:left;font-size:0.875rem;color:#374151;cursor:pointer;transition:background 0.15s;}.example-btn.svelte-7fg7a1:hover {background:#f9fafb;}.presence-caption.svelte-7fg7a1 {display:flex;align-items:center;gap:0.375rem;font-size:0.75rem;color:#6b7280;margin:0 0 0.375rem 0;}.online-dot.svelte-7fg7a1 {display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;}.human-takeover-caption.svelte-7fg7a1 {font-size:0.75rem;color:#9ca3af;text-align:center;margin:0.75rem 0 0 0;}.input-section.svelte-7fg7a1 {border-top:1px solid #f3f4f6;padding:1rem;}.input-wrapper.svelte-7fg7a1 {display:flex;align-items:center;gap:0.5rem;}.input-field.svelte-7fg7a1 {flex:1;padding:0.75rem 1rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:#f9fafb;font-size:0.875rem;color:#374151;outline:none;}.input-field.svelte-7fg7a1:focus {background:white;border-color:#d1d5db;}.input-field.svelte-7fg7a1:disabled {opacity:0.5;}.attach-btn.svelte-7fg7a1 {width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.5rem;background:#e5e7eb;color:#6b7280;cursor:pointer;transition:background 0.15s;flex-shrink:0;}.attach-btn.svelte-7fg7a1:hover:not(:disabled) {background:#d1d5db;}.attach-btn.svelte-7fg7a1:disabled {opacity:0.4;cursor:not-allowed;}.attach-icon.svelte-7fg7a1 {width:1rem;height:1rem;}.file-preview.svelte-7fg7a1 {display:flex;flex-wrap:wrap;gap:0.375rem;margin-bottom:0.5rem;}.file-chip.svelte-7fg7a1 {display:inline-flex;align-items:center;gap:0.25rem;padding:0.25rem 0.5rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;font-size:0.75rem;color:#374151;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.chip-remove.svelte-7fg7a1 {background:none;border:none;padding:0;font-size:1rem;line-height:1;color:#9ca3af;cursor:pointer;flex-shrink:0;}.chip-remove.svelte-7fg7a1:hover {color:#374151;}.attach-error.svelte-7fg7a1 {font-size:0.75rem;color:#dc2626;margin:0 0 0.375rem 0;}.send-btn.svelte-7fg7a1 {width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.5rem;background:#e5e7eb;color:#6b7280;cursor:pointer;transition:background 0.15s;}.send-btn.svelte-7fg7a1:hover:not(:disabled) {background:#d1d5db;}.send-btn.svelte-7fg7a1:disabled {opacity:0.5;cursor:not-allowed;}.send-icon.svelte-7fg7a1 {width:1rem;height:1rem;}.reset-row.svelte-7fg7a1 {display:flex;justify-content:center;margin-top:0.5rem;}.reset-btn.svelte-7fg7a1 {background:none;border:none;padding:0;font-size:0.75rem;color:#9ca3af;cursor:pointer;transition:color 0.15s;}.reset-btn.svelte-7fg7a1:hover {color:#6b7280;}.footer.svelte-7fg7a1 {margin-top:0.75rem;display:flex;justify-content:center;}.powered-by.svelte-7fg7a1 {display:flex;align-items:center;gap:0.125rem;font-size:0.75rem;color:#6b7280;text-decoration:none;transition:color 0.15s;}.powered-by.svelte-7fg7a1:hover {color:#374151;text-decoration:underline;}
17266
17266
 
17267
- /* Bubble Mode */.bubble-container.svelte-7fg7a1 {position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:16px;}.bubble-button.svelte-7fg7a1 {width:56px;height:56px;border-radius:50%;border:none;color:white;cursor:pointer;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,
17267
+ /* Bubble Mode */.bubble-container.svelte-7fg7a1 {position:fixed;bottom:24px;right:24px;z-index:2147483647; /* WIDGET_Z_INDEX from widget-core/constants.ts */display:flex;flex-direction:column;align-items:flex-end;gap:16px;}.bubble-button.svelte-7fg7a1 {width:56px;height:56px;border-radius:50%;border:none;color:white;cursor:pointer;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,
17268
17268
  box-shadow 0.2s;}.bubble-button.svelte-7fg7a1:hover {transform:scale(1.05);box-shadow:0 6px 16px rgba(0, 0, 0, 0.2);}.bubble-spinner.svelte-7fg7a1 {
17269
- animation: svelte-7fg7a1-spin 1s linear infinite;}.bubble-panel.svelte-7fg7a1 {position:relative;width:380px;height:520px;max-width:calc(100vw - 48px);max-height:calc(100vh - 100px);border-radius:1rem;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);overflow:hidden;}.bubble-panel.svelte-7fg7a1 .chat-card:where(.svelte-7fg7a1) {height:100%;}.bubble-close-btn.svelte-7fg7a1 {display:none;position:absolute;top:0.75rem;right:0.75rem;z-index:10;width:2rem;height:2rem;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(0, 0, 0, 0.06);color:#374151;cursor:pointer;}.bubble-close-btn.svelte-7fg7a1:hover {background:rgba(0, 0, 0, 0.12);}
17269
+ animation: svelte-7fg7a1-spin 1s linear infinite;}.bubble-panel.svelte-7fg7a1 {position:relative;width:380px;height:520px;max-width:calc(100vw - 48px);max-height:calc(100vh - 100px);border-radius:1rem;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);overflow:hidden;}.bubble-panel.svelte-7fg7a1 .chat-card:where(.svelte-7fg7a1) {height:100%;}.bubble-close-btn.svelte-7fg7a1 {display:none;position:absolute;top:0.75rem;right:0.75rem;z-index:2147483646; /* WIDGET_CLOSE_BTN_Z_INDEX from widget-core/constants.ts */width:2rem;height:2rem;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(0, 0, 0, 0.06);color:#374151;cursor:pointer;}.bubble-close-btn.svelte-7fg7a1:hover {background:rgba(0, 0, 0, 0.12);}
17270
17270
 
17271
17271
  @media (max-width: 440px) {.bubble-container.bubble-open.svelte-7fg7a1 {inset:0;bottom:0;right:0;}.bubble-container.bubble-open.svelte-7fg7a1 .bubble-button:where(.svelte-7fg7a1) {display:none;}.bubble-panel.svelte-7fg7a1 {width:100%;height:100dvh;max-width:none;max-height:none;border-radius:0;border:none;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}.bubble-close-btn.svelte-7fg7a1 {display:flex;}.bubble-panel.svelte-7fg7a1 .messages-container:where(.svelte-7fg7a1) > :where(.svelte-7fg7a1):first-child {padding-right:2.5rem;}
17272
+
17273
+ /* iOS Safari auto-zooms on inputs with font-size < 16px. */.input-field.svelte-7fg7a1 {font-size:1rem;}
17272
17274
  }`
17273
17275
  };
17274
17276
  function hd(t, e) {
@@ -154,9 +154,11 @@ Url: ${Bs(t)}`),!0}return!1}function wv(t,e){return e?.length?gu(t).some(n=>Ns(n
154
154
  }
155
155
  }.loading-text.svelte-7fg7a1 {font-size:0.875rem;font-weight:500;color:#6b7280;margin:0;}.error-container.svelte-7fg7a1 {display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg, #fef2f2 0%, #ffffff 100%);padding:2rem;}.error-content.svelte-7fg7a1 {text-align:center;max-width:300px;}.error-text.svelte-7fg7a1 {font-size:0.875rem;color:#991b1b;margin:0;line-height:1.5;}.messages-container.svelte-7fg7a1 {flex:1;overflow-y:auto;}.separator.svelte-7fg7a1 {margin:0 1.5rem;border-bottom:1px solid #e5e7eb;}.examples.svelte-7fg7a1 {border-top:1px solid #e5e7eb;padding:1.25rem 1.5rem;}.examples.svelte-7fg7a1 h3:where(.svelte-7fg7a1) {font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280;margin:0 0 1rem 0;}.example-btn.svelte-7fg7a1 {width:100%;padding:0.75rem;margin-bottom:0.75rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:white;text-align:left;font-size:0.875rem;color:#374151;cursor:pointer;transition:background 0.15s;}.example-btn.svelte-7fg7a1:hover {background:#f9fafb;}.presence-caption.svelte-7fg7a1 {display:flex;align-items:center;gap:0.375rem;font-size:0.75rem;color:#6b7280;margin:0 0 0.375rem 0;}.online-dot.svelte-7fg7a1 {display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;}.human-takeover-caption.svelte-7fg7a1 {font-size:0.75rem;color:#9ca3af;text-align:center;margin:0.75rem 0 0 0;}.input-section.svelte-7fg7a1 {border-top:1px solid #f3f4f6;padding:1rem;}.input-wrapper.svelte-7fg7a1 {display:flex;align-items:center;gap:0.5rem;}.input-field.svelte-7fg7a1 {flex:1;padding:0.75rem 1rem;border:1px solid #e5e7eb;border-radius:0.5rem;background:#f9fafb;font-size:0.875rem;color:#374151;outline:none;}.input-field.svelte-7fg7a1:focus {background:white;border-color:#d1d5db;}.input-field.svelte-7fg7a1:disabled {opacity:0.5;}.attach-btn.svelte-7fg7a1 {width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.5rem;background:#e5e7eb;color:#6b7280;cursor:pointer;transition:background 0.15s;flex-shrink:0;}.attach-btn.svelte-7fg7a1:hover:not(:disabled) {background:#d1d5db;}.attach-btn.svelte-7fg7a1:disabled {opacity:0.4;cursor:not-allowed;}.attach-icon.svelte-7fg7a1 {width:1rem;height:1rem;}.file-preview.svelte-7fg7a1 {display:flex;flex-wrap:wrap;gap:0.375rem;margin-bottom:0.5rem;}.file-chip.svelte-7fg7a1 {display:inline-flex;align-items:center;gap:0.25rem;padding:0.25rem 0.5rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;font-size:0.75rem;color:#374151;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.chip-remove.svelte-7fg7a1 {background:none;border:none;padding:0;font-size:1rem;line-height:1;color:#9ca3af;cursor:pointer;flex-shrink:0;}.chip-remove.svelte-7fg7a1:hover {color:#374151;}.attach-error.svelte-7fg7a1 {font-size:0.75rem;color:#dc2626;margin:0 0 0.375rem 0;}.send-btn.svelte-7fg7a1 {width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0.5rem;background:#e5e7eb;color:#6b7280;cursor:pointer;transition:background 0.15s;}.send-btn.svelte-7fg7a1:hover:not(:disabled) {background:#d1d5db;}.send-btn.svelte-7fg7a1:disabled {opacity:0.5;cursor:not-allowed;}.send-icon.svelte-7fg7a1 {width:1rem;height:1rem;}.reset-row.svelte-7fg7a1 {display:flex;justify-content:center;margin-top:0.5rem;}.reset-btn.svelte-7fg7a1 {background:none;border:none;padding:0;font-size:0.75rem;color:#9ca3af;cursor:pointer;transition:color 0.15s;}.reset-btn.svelte-7fg7a1:hover {color:#6b7280;}.footer.svelte-7fg7a1 {margin-top:0.75rem;display:flex;justify-content:center;}.powered-by.svelte-7fg7a1 {display:flex;align-items:center;gap:0.125rem;font-size:0.75rem;color:#6b7280;text-decoration:none;transition:color 0.15s;}.powered-by.svelte-7fg7a1:hover {color:#374151;text-decoration:underline;}
156
156
 
157
- /* Bubble Mode */.bubble-container.svelte-7fg7a1 {position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:16px;}.bubble-button.svelte-7fg7a1 {width:56px;height:56px;border-radius:50%;border:none;color:white;cursor:pointer;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,
157
+ /* Bubble Mode */.bubble-container.svelte-7fg7a1 {position:fixed;bottom:24px;right:24px;z-index:2147483647; /* WIDGET_Z_INDEX from widget-core/constants.ts */display:flex;flex-direction:column;align-items:flex-end;gap:16px;}.bubble-button.svelte-7fg7a1 {width:56px;height:56px;border-radius:50%;border:none;color:white;cursor:pointer;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,
158
158
  box-shadow 0.2s;}.bubble-button.svelte-7fg7a1:hover {transform:scale(1.05);box-shadow:0 6px 16px rgba(0, 0, 0, 0.2);}.bubble-spinner.svelte-7fg7a1 {
159
- animation: svelte-7fg7a1-spin 1s linear infinite;}.bubble-panel.svelte-7fg7a1 {position:relative;width:380px;height:520px;max-width:calc(100vw - 48px);max-height:calc(100vh - 100px);border-radius:1rem;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);overflow:hidden;}.bubble-panel.svelte-7fg7a1 .chat-card:where(.svelte-7fg7a1) {height:100%;}.bubble-close-btn.svelte-7fg7a1 {display:none;position:absolute;top:0.75rem;right:0.75rem;z-index:10;width:2rem;height:2rem;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(0, 0, 0, 0.06);color:#374151;cursor:pointer;}.bubble-close-btn.svelte-7fg7a1:hover {background:rgba(0, 0, 0, 0.12);}
159
+ animation: svelte-7fg7a1-spin 1s linear infinite;}.bubble-panel.svelte-7fg7a1 {position:relative;width:380px;height:520px;max-width:calc(100vw - 48px);max-height:calc(100vh - 100px);border-radius:1rem;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1);overflow:hidden;}.bubble-panel.svelte-7fg7a1 .chat-card:where(.svelte-7fg7a1) {height:100%;}.bubble-close-btn.svelte-7fg7a1 {display:none;position:absolute;top:0.75rem;right:0.75rem;z-index:2147483646; /* WIDGET_CLOSE_BTN_Z_INDEX from widget-core/constants.ts */width:2rem;height:2rem;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(0, 0, 0, 0.06);color:#374151;cursor:pointer;}.bubble-close-btn.svelte-7fg7a1:hover {background:rgba(0, 0, 0, 0.12);}
160
160
 
161
161
  @media (max-width: 440px) {.bubble-container.bubble-open.svelte-7fg7a1 {inset:0;bottom:0;right:0;}.bubble-container.bubble-open.svelte-7fg7a1 .bubble-button:where(.svelte-7fg7a1) {display:none;}.bubble-panel.svelte-7fg7a1 {width:100%;height:100dvh;max-width:none;max-height:none;border-radius:0;border:none;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}.bubble-close-btn.svelte-7fg7a1 {display:flex;}.bubble-panel.svelte-7fg7a1 .messages-container:where(.svelte-7fg7a1) > :where(.svelte-7fg7a1):first-child {padding-right:2.5rem;}
162
+
163
+ /* iOS Safari auto-zooms on inputs with font-size < 16px. */.input-field.svelte-7fg7a1 {font-size:1rem;}
162
164
  }`};function cd(t,e){Jr(e,!0),Zo(t,Kw);const n=R=>{var M=Fw(),q=J(M);{var te=ne=>{var fe=Ew();L(ne,fe)},Te=ne=>{var fe=It(),ut=rt(fe);{var ie=ye=>{var Ne=kw(),dt=J(Ne),Lt=J(dt),lr=J(Lt,!0);z(Lt),z(dt),z(Ne),Ae(()=>gt(lr,Ku)),L(ye,Ne)},Rn=ye=>{var Ne=Uw(),dt=rt(Ne),Lt=J(dt);vr(Lt,19,()=>w(_),(D,V)=>D.id??V,(D,V,Je)=>{var On=Tw(),In=rt(On);{let wt=jn(()=>!w(V).content&&w(S)&&w(V).role==="assistant"),Wa=jn(()=>o()?.baseUrl);qa(In,{get message(){return w(V)},get isLoading(){return w(wt)},get avatarUrl(){return w(h)},get brandColor(){return w(m)},get publishableApiKey(){return r()},get baseUrl(){return w(Wa)}})}var $n=Q(In,2);{var yt=wt=>{var Wa=Sw();L(wt,Wa)};ae($n,wt=>{w(Je)<w(_).length-1&&wt(yt)})}L(D,On)});var lr=Q(Lt,2);{var Yt=D=>{var V=Rw(),Je=Q(J(V),2);vr(Je,17,()=>w(f),Yo,(On,In,$n)=>{var yt=Aw();yt.__click=[xw,K,In];var wt=J(yt,!0);z(yt),Ae(()=>{cs(yt,$n===0?`border-color: ${w(m)}; border-width: 2px;`:""),gt(wt,w(In))}),L(On,yt)}),z(V),L(D,V)};ae(lr,D=>{w(_).length===1&&!w(c)&&D(Yt)})}var cr=Q(lr,2);{var Vw=D=>{var V=Ow(),Je=J(V,!0);z(V),Ae(()=>gt(Je,ky)),L(D,V)};ae(cr,D=>{w($)&&D(Vw)})}var Jw=Q(cr,2);rl(Jw,D=>O(g,D),()=>w(g)),z(dt);var ud=Q(dt,2),dd=J(ud);{var Yw=D=>{var V=Iw(),Je=Q(J(V),1,!0);z(V),Ae(()=>gt(Je,Sy)),L(D,V)};ae(dd,D=>{w(H)&&D(Yw)})}var Xs=Q(dd,2);Xs.__change=Ee,rl(Xs,D=>O(x,D),()=>w(x));var hd=Q(Xs,2);{var Xw=D=>{var V=Cw();vr(V,21,()=>w(k),Yo,(Je,On,In)=>{var $n=$w(),yt=J($n),wt=Q(yt);wt.__click=()=>oe(In),z($n),Ae(()=>{gt(yt,`${w(On).name??""} `),Qe(wt,"aria-label",`Remove ${w(On).name??""}`)}),L(Je,$n)}),z(V),L(D,V)};ae(hd,D=>{w(k).length>0&&D(Xw)})}var fd=Q(hd,2);{var Zw=D=>{var V=Pw(),Je=J(V,!0);z(V),Ae(()=>gt(Je,w(T))),L(D,V)};ae(fd,D=>{w(T)&&D(Zw)})}var za=Q(fd,2),Mr=J(za);Ph(Mr);var Zs=Q(Mr,2);Zs.__click=[Nw,x];var pd=Q(Zs,2);pd.__click=[Lw,_e],z(za);var gd=Q(za,2);{var Qw=D=>{var V=jw(),Je=J(V);Je.__click=[ww,r,p,_,l,v,k,T,$,H],z(V),L(D,V)};ae(gd,D=>{w(_).length>1&&!w(S)&&D(Qw)})}var e0=Q(gd,2);{var t0=D=>{var V=Dw();L(D,V)};ae(e0,D=>{D(t0)})}z(ud),Ae(D=>{Qe(Xs,"accept",_y),Mr.disabled=w(S)||w(A)||!w(d),Zs.disabled=!w(p)||w(S)||w(A),Qe(Zs,"title",w(p)?"Attach file":"Send a message first to enable attachments"),pd.disabled=D},[()=>w(S)||w(A)||!w(v).trim()||!w(d)]),Wo("keypress",Mr,Ve),jh(Mr,()=>w(v),D=>O(v,D)),L(ye,Ne)};ae(ut,ye=>{w(u)==="auth"?ye(ie):ye(Rn,!1)},!0)}L(ne,fe)};ae(q,ne=>{w(c)?ne(te):ne(Te,!1)})}z(M),L(R,M)};let r=Se(e,"publishableApiKey"),s=Se(e,"mode",7,"inline"),i=Se(e,"defaultOpen",7,!1),a=Se(e,"user"),o=Se(e,"_internal"),l=X(null),c=X(!0),u=X(null),d=X(!1),h=jn(()=>w(l)?.avatarUrl||py),f=jn(()=>w(l)?.exampleQuestions||gy),m=jn(()=>w(l)?.brandColor||Fa),_=X(xt([])),v=X(""),S=X(!1),g=X(void 0),p=X(void 0),y=X(xt(i())),E=X(!1),b=null,k=X(xt([])),A=X(!1),T=X(null),x=X(void 0),$=X(!1),H=X(!1);Th(()=>{typeof requestIdleCallback<"u"?requestIdleCallback(()=>ad()):setTimeout(()=>ad(),0)}),Dn(()=>{if(!r()||w(E))return;O(E,!0);const R=o()?.supabaseUrl||ly,M=o()?.supabasePublishableKey||cy;b=Iy(R,M),ce()});async function ce(){const R=await Oy(r(),o()?.baseUrl,q=>{O(l,q,!0)});if(R.error){O(u,R.error,!0),O(c,!1);return}O(l,R.config,!0),O(c,!1);const M=nw(r());if(M&&M.messages.length>0?(O(_,M.messages,!0),O(p,M.threadId,!0),O(v,M.input,!0)):O(_,[{role:"assistant",content:R.config?.welcomeMessage||Vu}],!0),b){const q=await b;q||console.warn("Widget auth initialization failed"),O(d,q,!0)}}Dn(()=>{w(_).length>0&&w(g)&&w(g).scrollIntoView({behavior:"smooth"})}),Dn(()=>{if(!(!w(p)||!w(d)))return Zy(w(p),R=>{if(R.role!=="human"||w(_).some(q=>q.id===R.id))return;const M=R.metadata?.attachments??[];O(_,[...w(_),{id:R.id,role:"assistant",content:R.content,...M.length>0?{attachments:M}:{}}],!0)},{role:"visitor",onPresenceChange:R=>O(H,R,!0)})});function Ee(R){const M=R.target,q=Array.from(M.files||[]);M.value="",O(T,null);for(const Te of q){const ne=zy(Te);if(ne){O(T,ne,!0);return}}const te=by-w(k).length;O(k,[...w(k),...q.slice(0,te)],!0)}function oe(R){O(k,w(k).filter((M,q)=>q!==R),!0)}async function _e(R){const M=R??w(v);if(!M.trim()||w(S)||!w(d))return;const q=M.trim();O(v,""),O(S,!0),O(T,null);let te=[];if(w(k).length>0&&w(p)){O(A,!0);try{te=await Promise.all(w(k).map(ie=>Ky({publishableApiKey:r(),threadId:w(p),file:ie,baseUrl:o()?.baseUrl})))}catch(ie){od(ie instanceof Error?ie.message:"Upload failed",{threadId:w(p),baseUrl:o()?.baseUrl}),O(T,ie instanceof Error?ie.message:"Upload failed.",!0),O(S,!1),O(A,!1);return}O(A,!1),O(k,[],!0)}const Te=te.length>0?{attachments:te}:void 0;O(_,[...w(_),{role:"user",content:q,...te.length>0?{attachments:te}:{}}],!0);const ne=w(_).length;O(_,[...w(_),{role:"assistant",content:""}],!0);let fe="",ut=[];await Py({publishableApiKey:r(),content:q,threadId:w(p),baseUrl:o()?.baseUrl,metadata:Te,user:a(),callbacks:{onInit:ie=>{w(p)||O(p,ie,!0)},onContent:ie=>{fe+=ie,O(_,[...w(_).slice(0,ne),{role:"assistant",content:fe},...w(_).slice(ne+1)],!0)},onComplete:ie=>{ut=ie,O(_,[...w(_).slice(0,ne),{role:"assistant",content:fe,sources:ut},...w(_).slice(ne+1)],!0)},onDone:({humanTakeover:ie})=>{O($,!!ie),ie&&!fe&&O(_,[...w(_).slice(0,ne),...w(_).slice(ne+1)],!0)},onError:ie=>{od(ie,{userMessage:q,threadId:w(p),baseUrl:o()?.baseUrl}),O(_,[...w(_).slice(0,ne),{role:"assistant",content:`Error: ${ie}`},...w(_).slice(ne+1)],!0)}}}),O(S,!1)}function Ve(R){R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),_e())}function K(R){_e(R)}Dn(()=>{const R=w(_),M=w(p),q=w(v);R.length<=1&&!q||sw(r(),{threadId:M,messages:R,input:q,savedAt:Date.now()})}),Dn(()=>{const R=window.matchMedia(`(max-width: ${aw}px)`);return w(y)&&R.matches?ow():ld(),()=>ld()});var le={get publishableApiKey(){return r()},set publishableApiKey(R){r(R),pe()},get mode(){return s()},set mode(R="inline"){s(R),pe()},get defaultOpen(){return i()},set defaultOpen(R=!1){i(R),pe()},get user(){return a()},set user(R){a(R),pe()},get _internal(){return o()},set _internal(R){o(R),pe()}},ue=It(),de=rt(ue);{var se=R=>{n(R)},Ue=R=>{const M=jn(()=>w(c)?"#9ca3af":w(m));var q=Gw();let te;var Te=J(q);{var ne=ye=>{var Ne=Bw(),dt=J(Ne);dt.__click=[Mw,y];var Lt=Q(dt,2);n(Lt),z(Ne),L(ye,Ne)};ae(Te,ye=>{w(y)&&ye(ne)})}var fe=Q(Te,2);fe.__click=[qw,y];var ut=J(fe);{var ie=ye=>{var Ne=Hw();L(ye,Ne)},Rn=ye=>{var Ne=It(),dt=rt(Ne);{var Lt=Yt=>{var cr=zw();L(Yt,cr)},lr=Yt=>{var cr=Ww();L(Yt,cr)};ae(dt,Yt=>{w(y)?Yt(Lt):Yt(lr,!1)},!0)}L(ye,Ne)};ae(ut,ye=>{w(c)?ye(ie):ye(Rn,!1)})}z(fe),z(q),Ae(ye=>{te=el(q,1,"bubble-container svelte-7fg7a1",null,te,ye),Qe(fe,"aria-label",w(c)?"Loading chat":w(y)?"Close chat":"Open chat"),cs(fe,`background-color: ${w(M)??""}`)},[()=>({"bubble-open":w(y)})]),L(R,q)};ae(de,R=>{s()==="inline"?R(se):R(Ue,!1)})}return L(t,ue),Yr(le)}bh(["click","change"]),ki(cd,{publishableApiKey:{},mode:{},defaultOpen:{},user:{},_internal:{}},[],[],!0);function Ha(t,e){Jr(e,!0);let n=Se(e,"publishableApiKey"),r=Se(e,"mode",7,"inline"),s=Se(e,"defaultOpen",7,!1),i=Se(e,"user"),a=Se(e,"_internal");var o={get publishableApiKey(){return n()},set publishableApiKey(l){n(l),pe()},get mode(){return r()},set mode(l="inline"){r(l),pe()},get defaultOpen(){return s()},set defaultOpen(l=!1){s(l),pe()},get user(){return i()},set user(l){i(l),pe()},get _internal(){return a()},set _internal(l){a(l),pe()}};return cd(t,{get publishableApiKey(){return n()},get mode(){return r()},get defaultOpen(){return s()},get user(){return i()},get _internal(){return a()}}),Yr(o)}customElements.define("knest-chat",ki(Ha,{publishableApiKey:{attribute:"publishable-api-key",type:"String"},mode:{attribute:"mode",type:"String"},defaultOpen:{attribute:"default-open",type:"Boolean"},user:{type:"Object"},_internal:{type:"Object"}},[],[],!0)),jt.ChatMessage=qa,jt.ChatWidget=Ha,jt.default=Ha,Object.defineProperties(jt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useknest/widget-web",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "description": "Svelte web component for Knest chat widget",
6
6
  "files": [
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@useknest/widget-core": "0.1.0"
23
+ "@useknest/widget-core": "0.1.1"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@sveltejs/vite-plugin-svelte": "^6.2.0",