sitemana-widget-embed 0.1.33 → 0.1.34
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 +1 -1
- package/package.json +1 -1
package/dist/widget.js
CHANGED
|
@@ -3476,7 +3476,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error
|
|
|
3476
3476
|
max-width: none !important;
|
|
3477
3477
|
}
|
|
3478
3478
|
}
|
|
3479
|
-
`;function ktr(e){return typeof e=="number"&&!Number.isNaN(e)&&e>=0}function Etr(e,t){const r=document.getElementById(e);if(r instanceof HTMLElement)return t(r),()=>{};const n=document.body??document.documentElement;if(!n)return()=>{};let i=!1;const a=new MutationObserver(()=>{if(i)return;const s=document.getElementById(e);s instanceof HTMLElement&&(i=!0,a.disconnect(),t(s))});return a.observe(n,{childList:!0,subtree:!0}),()=>{i=!0,a.disconnect()}}function Ctr(e){const[t,r]=(0,Fe.useState)(e==null);return(typeof window>"u"?Fe.useEffect:Fe.useLayoutEffect)(()=>{let n=!1;const i=()=>{n||r(!0)};if(!e)return r(!0),()=>{n=!0};r(!1);let a=()=>{};switch(e.triggerRuleType){case"time_delay":{if(!ktr(e.timeDelay))return i(),()=>{n=!0};const s=window.setTimeout(i,e.timeDelay*1e3);a=()=>{window.clearTimeout(s)};break}case"scroll_to_bottom":{if(!e.scrollToBottom)return i(),()=>{n=!0};const s=()=>{const o=window.scrollY,l=window.innerHeight,u=document.documentElement.scrollHeight;o+l>=u-1&&i()};s(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s),a=()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s)};break}case"element_displayed":{if(!e.elementDisplayed)return i(),()=>{n=!0};let s=null;const o=Etr(e.elementDisplayed,l=>{s=new IntersectionObserver(u=>{u.some(h=>h.isIntersecting)&&i()}),s.observe(l)});a=()=>{s?.disconnect(),o()};break}case"element_clicked":{if(!e.elementClicked)return i(),()=>{n=!0};const s=`#${CSS.escape(e.elementClicked)}`,o=l=>{const u=l.target;u instanceof Element&&u.closest(s)&&i()};document.addEventListener("click",o,!0),a=()=>{document.removeEventListener("click",o,!0)};break}default:return i(),()=>{n=!0}}return()=>{n=!0,a()}},[e]),{ready:t||e==null}}var Str={default:fot,box:ytr,chatbar:Ttr};function _tr({mode:e,agentId:t,variant:r,placement:n,appearance:i,agentAvatarUrl:a,widgetTitle:s,spotlights:o,open:l,status:u,messages:h,errorMessage:d,triggerRule:f,emptyAction:p,sendDisabled:g=!1,onOpenChange:y,onSendMessage:b,onStopConversation:x,onConfirmationDecision:w,portalContainer:T}){const{ready:C}=Ctr(f),{horizontal:R,vertical:_}=wue(n),S=Str[r]??fot,A=Atr(e,n),M=a?.trim()||void 0,O=Eyt(h)!=null,P=O||u==="booting"||u==="sending",H=g||O||u==="booting";return C?(0,rt.jsxs)(rt.Fragment,{children:[(0,rt.jsx)("style",{children:wtr}),(0,rt.jsx)("div",{"data-agent-id":t,"data-mode":e,"data-horizontal":R,"data-vertical":_,"data-variant":r,"data-open":String(l),"data-status":u,style:A,className:"widget-shell",children:(0,rt.jsx)("div",{style:{pointerEvents:"auto"},children:(0,rt.jsx)(S,{agentName:s,agentAvatarUrl:M,appearance:i,spotlightMessages:o,messages:h,status:u,errorMessage:d,emptyAction:p,sendDisabled:H,onSendMessage:b,open:l,onOpenChange:y,onStopConversation:x,stopDisabled:P,onConfirmationDecision:w,portalContainer:T})})})]}):null}function Atr(e,t){const r={pointerEvents:"none"};if(e==="preview"){const{horizontal:n,vertical:i}=wue(t);return Object.assign(r,{position:"relative",display:"flex",width:"100%",minHeight:"720px",padding:"24px",overflow:"hidden",alignItems:i==="top"?"flex-start":"flex-end",justifyContent:n==="left"?"flex-start":n==="center"?"center":"flex-end"}),r}switch(Object.assign(r,{position:"fixed",zIndex:2147483646}),t){case"top-left":Object.assign(r,{left:"24px",top:"24px"});break;case"top-center":Object.assign(r,{left:"50%",top:"24px",transform:"translateX(-50%)"});break;case"top-right":Object.assign(r,{right:"24px",top:"24px"});break;case"bottom-left":Object.assign(r,{left:"24px",bottom:"24px"});break;case"bottom-center":Object.assign(r,{left:"50%",bottom:"24px",transform:"translateX(-50%)"});break;default:Object.assign(r,{right:"24px",bottom:"24px"});break}return r}function yot(e){const t=e?.trim();return t?t.replace(/\/+$/,""):null}function Ltr(){const e="
|
|
3479
|
+
`;function ktr(e){return typeof e=="number"&&!Number.isNaN(e)&&e>=0}function Etr(e,t){const r=document.getElementById(e);if(r instanceof HTMLElement)return t(r),()=>{};const n=document.body??document.documentElement;if(!n)return()=>{};let i=!1;const a=new MutationObserver(()=>{if(i)return;const s=document.getElementById(e);s instanceof HTMLElement&&(i=!0,a.disconnect(),t(s))});return a.observe(n,{childList:!0,subtree:!0}),()=>{i=!0,a.disconnect()}}function Ctr(e){const[t,r]=(0,Fe.useState)(e==null);return(typeof window>"u"?Fe.useEffect:Fe.useLayoutEffect)(()=>{let n=!1;const i=()=>{n||r(!0)};if(!e)return r(!0),()=>{n=!0};r(!1);let a=()=>{};switch(e.triggerRuleType){case"time_delay":{if(!ktr(e.timeDelay))return i(),()=>{n=!0};const s=window.setTimeout(i,e.timeDelay*1e3);a=()=>{window.clearTimeout(s)};break}case"scroll_to_bottom":{if(!e.scrollToBottom)return i(),()=>{n=!0};const s=()=>{const o=window.scrollY,l=window.innerHeight,u=document.documentElement.scrollHeight;o+l>=u-1&&i()};s(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s),a=()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s)};break}case"element_displayed":{if(!e.elementDisplayed)return i(),()=>{n=!0};let s=null;const o=Etr(e.elementDisplayed,l=>{s=new IntersectionObserver(u=>{u.some(h=>h.isIntersecting)&&i()}),s.observe(l)});a=()=>{s?.disconnect(),o()};break}case"element_clicked":{if(!e.elementClicked)return i(),()=>{n=!0};const s=`#${CSS.escape(e.elementClicked)}`,o=l=>{const u=l.target;u instanceof Element&&u.closest(s)&&i()};document.addEventListener("click",o,!0),a=()=>{document.removeEventListener("click",o,!0)};break}default:return i(),()=>{n=!0}}return()=>{n=!0,a()}},[e]),{ready:t||e==null}}var Str={default:fot,box:ytr,chatbar:Ttr};function _tr({mode:e,agentId:t,variant:r,placement:n,appearance:i,agentAvatarUrl:a,widgetTitle:s,spotlights:o,open:l,status:u,messages:h,errorMessage:d,triggerRule:f,emptyAction:p,sendDisabled:g=!1,onOpenChange:y,onSendMessage:b,onStopConversation:x,onConfirmationDecision:w,portalContainer:T}){const{ready:C}=Ctr(f),{horizontal:R,vertical:_}=wue(n),S=Str[r]??fot,A=Atr(e,n),M=a?.trim()||void 0,O=Eyt(h)!=null,P=O||u==="booting"||u==="sending",H=g||O||u==="booting";return C?(0,rt.jsxs)(rt.Fragment,{children:[(0,rt.jsx)("style",{children:wtr}),(0,rt.jsx)("div",{"data-agent-id":t,"data-mode":e,"data-horizontal":R,"data-vertical":_,"data-variant":r,"data-open":String(l),"data-status":u,style:A,className:"widget-shell",children:(0,rt.jsx)("div",{style:{pointerEvents:"auto"},children:(0,rt.jsx)(S,{agentName:s,agentAvatarUrl:M,appearance:i,spotlightMessages:o,messages:h,status:u,errorMessage:d,emptyAction:p,sendDisabled:H,onSendMessage:b,open:l,onOpenChange:y,onStopConversation:x,stopDisabled:P,onConfirmationDecision:w,portalContainer:T})})})]}):null}function Atr(e,t){const r={pointerEvents:"none"};if(e==="preview"){const{horizontal:n,vertical:i}=wue(t);return Object.assign(r,{position:"relative",display:"flex",width:"100%",minHeight:"720px",padding:"24px",overflow:"hidden",alignItems:i==="top"?"flex-start":"flex-end",justifyContent:n==="left"?"flex-start":n==="center"?"center":"flex-end"}),r}switch(Object.assign(r,{position:"fixed",zIndex:2147483646}),t){case"top-left":Object.assign(r,{left:"24px",top:"24px"});break;case"top-center":Object.assign(r,{left:"50%",top:"24px",transform:"translateX(-50%)"});break;case"top-right":Object.assign(r,{right:"24px",top:"24px"});break;case"bottom-left":Object.assign(r,{left:"24px",bottom:"24px"});break;case"bottom-center":Object.assign(r,{left:"50%",bottom:"24px",transform:"translateX(-50%)"});break;default:Object.assign(r,{right:"24px",bottom:"24px"});break}return r}function yot(e){const t=e?.trim();return t?t.replace(/\/+$/,""):null}function Ltr(){const e="http://localhost:4000",t=globalThis.__SITEMANA_WIDGET_API_BASE__;return yot(e)??yot(t)??"http://localhost:4000"}async function YT(e,t){const r=await fetch(new URL(e,`${Ltr()}/`).toString(),{...t,headers:{"Content-Type":"application/json",...t.headers??{}},credentials:"omit"}),n=await r.text(),i=n?JSON.parse(n):null;if(!r.ok)throw new Error(typeof i=="object"&&i&&"error"in i?String(i.error??r.statusText):r.statusText);return i}async function Rtr(e){return YT("/api/widget/sessions",{method:"POST",body:JSON.stringify(e)})}async function Ntr(e){return YT("/api/conversations/public/start",{method:"POST",headers:{Authorization:`Bearer ${e.sessionToken}`},body:JSON.stringify({agentId:e.agentId})})}async function Dtr(e){return YT(`/api/conversations/public/${encodeURIComponent(e.conversationId)}/messages`,{method:"POST",headers:{Authorization:`Bearer ${e.sessionToken}`},body:JSON.stringify({content:e.content})})}async function Itr(e){return YT(`/api/conversations/public/${encodeURIComponent(e.conversationId)}/messages`,{method:"POST",headers:{Authorization:`Bearer ${e.sessionToken}`},body:JSON.stringify({content:e.content})})}async function Mtr(e){return YT("/api/conversations/public/current",{method:"GET",headers:{Authorization:`Bearer ${e}`}})}async function Otr(e){const t=new URLSearchParams;return e.cursor&&t.set("cursor",e.cursor),YT(`/api/conversations/public/${encodeURIComponent(e.conversationId)}/messages?${t.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${e.sessionToken}`}})}function dle(e){return`sitemana-widget:${e}`}function Ptr(e){try{const t=sessionStorage.getItem(dle(e));if(!t)return null;const r=JSON.parse(t);return!r?.sessionToken||!r?.expiresAt||!r?.widgetConfig?.agentId||!r?.widgetConfig?.name?null:r}catch{return null}}function zO(e,t){sessionStorage.setItem(dle(e),JSON.stringify(t))}function Btr(e){sessionStorage.removeItem(dle(e))}function UO(e){return[...e].sort((t,r)=>new Date(t.createdAt).getTime()-new Date(r.createdAt).getTime())}var vot={loadSession:Ptr,saveSession:zO,mintWidgetSession:Rtr,getCurrentConversation:Mtr,listConversationMessages:Otr,getOrigin:()=>window.location.origin,now:()=>Date.now()};function $tr(e,t=Date.now()){if(!e)return!1;const r=new Date(e.expiresAt).getTime();return Number.isFinite(r)&&r>t}async function HO(e,t=vot){const r=t.loadSession(e.agentId);if($tr(r,t.now()))return r;const n=await t.mintWidgetSession({agentId:e.agentId,origin:t.getOrigin(),pageUrl:e.pageUrl,referrer:e.referrer}),i={sessionToken:n.sessionToken,expiresAt:n.expiresAt,widgetConfig:n.widgetConfig};return t.saveSession(e.agentId,i),i}async function Ftr(e,t){const r=await HO(e,t);let n=r.conversationId,i=[];if(n)try{i=UO((await t.listConversationMessages({conversationId:n,sessionToken:r.sessionToken})).data)}catch{n=void 0,i=[]}else try{n=(await t.getCurrentConversation(r.sessionToken)).conversation?.id??void 0,n&&(i=UO((await t.listConversationMessages({conversationId:n,sessionToken:r.sessionToken})).data))}catch{n=void 0,i=[]}const a={...r,conversationId:n};return t.saveSession(e.agentId,a),{session:a,conversationId:n,messages:i}}async function ztr(e){return Ftr(e,vot)}async function Utr(e){const t=await HO({agentId:e.agentId,pageUrl:window.location.href,referrer:document.referrer||void 0});if(!t.conversationId)throw new Error("Widget conversation not started");const r=await Dtr({conversationId:t.conversationId,sessionToken:t.sessionToken,content:e.content}),n={...t,conversationId:t.conversationId};return zO(e.agentId,n),{session:n,conversationId:t.conversationId,messages:UO([r.userMessage,...r.assistantMessages]),userMessage:r.userMessage,assistantMessages:r.assistantMessages}}async function bot(e){const t=await HO({agentId:e.agentId,pageUrl:window.location.href,referrer:document.referrer||void 0});if(!t.conversationId)throw new Error("Widget conversation not started");const r=e.decision!=null?wyt({confirmationId:e.confirmationId,decision:e.decision}):Tyt({confirmationId:e.confirmationId,prompt:e.prompt}),n=await Itr({conversationId:t.conversationId,sessionToken:t.sessionToken,content:r}),i={...t,conversationId:t.conversationId};return zO(e.agentId,i),{session:i,conversationId:t.conversationId,confirmationMessage:n.confirmationMessage}}async function Htr(e){const t=await HO({agentId:e.agentId,pageUrl:window.location.href,referrer:document.referrer||void 0}),r=await Ntr({agentId:e.agentId,sessionToken:t.sessionToken}),n={...t,conversationId:r.conversation.id};return zO(e.agentId,n),{session:n,conversationId:r.conversation.id,messages:UO([r.welcomeMessage]),welcomeMessage:r.welcomeMessage}}async function Vtr(e){Btr(e)}var qtr=`
|
|
3480
3480
|
:host {
|
|
3481
3481
|
color-scheme: light;
|
|
3482
3482
|
--tw-border-style: solid;
|