@botuyo/chat-widget-standalone 1.0.2 → 1.0.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/ChatWidget-DQS2YAHX.js +33 -0
- package/dist/ChatWidget-DQS2YAHX.js.map +1 -0
- package/dist/botuyo-chat.css +1 -1
- package/dist/{botuyo-chat.js → botuyo-chat.es.js} +2 -2
- package/dist/botuyo-chat.es.js.map +1 -0
- package/dist/botuyo-chat.umd.css +1 -0
- package/dist/botuyo-chat.umd.js +2 -0
- package/dist/botuyo-chat.umd.js.map +1 -0
- package/dist/{chunk-audio-BT2WWPfS.js → chunk-audio-DG36n3qS.js} +2 -2
- package/dist/{chunk-audio-BT2WWPfS.js.map → chunk-audio-DG36n3qS.js.map} +1 -1
- package/dist/{chunk-chat-ui-BHfnFN_3.js → chunk-chat-ui-TnfA4tMe.js} +42 -41
- package/dist/chunk-chat-ui-TnfA4tMe.js.map +1 -0
- package/dist/{chunk-gallery-CHMxgXlB.js → chunk-gallery-DsrT5sHg.js} +2 -2
- package/dist/{chunk-gallery-CHMxgXlB.js.map → chunk-gallery-DsrT5sHg.js.map} +1 -1
- package/dist/src/chat-widget/ChatWidget.d.ts +1 -0
- package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -1
- package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.d.ts +1 -0
- package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +1 -0
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -1
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts +69 -0
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +1 -1
- package/dist/src/chat-widget/types/index.d.ts +52 -0
- package/dist/src/chat-widget/types/index.d.ts.map +1 -1
- package/dist/src/chat-widget/utils/theme.d.ts +2 -2
- package/dist/src/chat-widget/utils/theme.d.ts.map +1 -1
- package/dist/src/chat-widget/utils/theme.examples.d.ts +2 -2
- package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -1
- package/dist/stats-umd.html +4949 -0
- package/dist/stats.html +1 -1
- package/package.json +6 -2
- package/dist/ChatWidget-BCHSZnMy.js +0 -33
- package/dist/ChatWidget-BCHSZnMy.js.map +0 -1
- package/dist/botuyo-chat.js.map +0 -1
- package/dist/chunk-chat-ui-BHfnFN_3.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,j as r}from"./vendor-react-CtfcjTlq.js";import{g as s,c as t,L as a,P as l,a as o}from"./chunk-chat-ui-
|
|
1
|
+
import{r as e,j as r}from"./vendor-react-CtfcjTlq.js";import{g as s,c as t,L as a,P as l,a as o}from"./chunk-chat-ui-TnfA4tMe.js";const n=e.memo(function({url:n,isBot:i,primaryColor:c}){const[d,u]=e.useState(!1),[f,m]=e.useState(0),[h,x]=e.useState(0),[p,j]=e.useState(!0),y=e.useRef(null),w=e.useMemo(()=>s({primaryColor:c}),[c]);/* @__PURE__ */
|
|
2
2
|
return r.jsxs("div",{className:t("flex items-center gap-3 py-1 min-w-[200px]",i?"text-foreground":"text-primary-foreground"),children:[
|
|
3
3
|
/* @__PURE__ */r.jsx("audio",{ref:y,src:n,onLoadedMetadata:()=>{m(y.current?.duration||0),j(!1)},onTimeUpdate:()=>x(y.current?.currentTime||0),onEnded:()=>u(!1)}),
|
|
4
4
|
/* @__PURE__ */r.jsx("button",{onClick:()=>{d?y.current?.pause():y.current?.play(),u(!d)},disabled:p,className:"w-8 h-8 rounded-full flex items-center justify-center shrink-0",style:{backgroundColor:i?w:"hsl(var(--card))",color:i?"white":w},children:p?/* @__PURE__ */r.jsx(a,{className:"w-4 h-4 animate-spin"}):d?/* @__PURE__ */r.jsx(l,{className:"w-4 h-4 fill-current"}):/* @__PURE__ */r.jsx(o,{className:"w-4 h-4 fill-current ml-0.5"})}),
|
|
@@ -7,4 +7,4 @@ return r.jsxs("div",{className:t("flex items-center gap-3 py-1 min-w-[200px]",i?
|
|
|
7
7
|
/* @__PURE__ */r.jsxs("div",{className:"flex justify-between text-[9px] font-bold opacity-60",children:[
|
|
8
8
|
/* @__PURE__ */r.jsxs("span",{children:[Math.floor(h/60),":",Math.floor(h%60).toString().padStart(2,"0")]}),
|
|
9
9
|
/* @__PURE__ */r.jsxs("span",{children:[Math.floor(f/60),":",Math.floor(f%60).toString().padStart(2,"0")]})]})]})]})});export{n as AudioPlayer};
|
|
10
|
-
//# sourceMappingURL=chunk-audio-
|
|
10
|
+
//# sourceMappingURL=chunk-audio-DG36n3qS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-audio-
|
|
1
|
+
{"version":3,"file":"chunk-audio-DG36n3qS.js","sources":["../src/chat-widget/components/AudioPlayer.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { useState, useRef, useMemo, memo } from 'react'\r\nimport { Play, Pause, Loader2 } from './Icons'\r\nimport { cn } from '@/lib/utils'\r\nimport { getPrimaryColor } from '../utils/theme'\r\n\r\ninterface AudioPlayerProps {\r\n url: string\r\n isBot: boolean\r\n primaryColor?: string\r\n}\r\n\r\nexport type { AudioPlayerProps }\r\n\r\nexport const AudioPlayer = memo(function AudioPlayer({\r\n url,\r\n isBot,\r\n primaryColor,\r\n}: AudioPlayerProps) {\r\n const [isPlaying, setIsPlaying] = useState(false)\r\n const [duration, setDuration] = useState(0)\r\n const [currentTime, setCurrentTime] = useState(0)\r\n const [isLoading, setIsLoading] = useState(true)\r\n const audioRef = useRef<HTMLAudioElement>(null)\r\n\r\n const brandColor = useMemo(() => getPrimaryColor({ primaryColor }), [primaryColor])\r\n\r\n const togglePlay = () => {\r\n if (isPlaying) audioRef.current?.pause()\r\n else audioRef.current?.play()\r\n setIsPlaying(!isPlaying)\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\r\n 'flex items-center gap-3 py-1 min-w-[200px]',\r\n isBot ? 'text-foreground' : 'text-primary-foreground'\r\n )}\r\n >\r\n <audio\r\n ref={audioRef}\r\n src={url}\r\n onLoadedMetadata={() => {\r\n setDuration(audioRef.current?.duration || 0)\r\n setIsLoading(false)\r\n }}\r\n onTimeUpdate={() => setCurrentTime(audioRef.current?.currentTime || 0)}\r\n onEnded={() => setIsPlaying(false)}\r\n />\r\n <button\r\n onClick={togglePlay}\r\n disabled={isLoading}\r\n className=\"w-8 h-8 rounded-full flex items-center justify-center shrink-0\"\r\n style={{\r\n backgroundColor: isBot ? brandColor : 'hsl(var(--card))',\r\n color: isBot ? 'white' : brandColor,\r\n }}\r\n >\r\n {isLoading ? (\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n ) : isPlaying ? (\r\n <Pause className=\"w-4 h-4 fill-current\" />\r\n ) : (\r\n <Play className=\"w-4 h-4 fill-current ml-0.5\" />\r\n )}\r\n </button>\r\n <div className=\"flex-1 space-y-1\">\r\n <div className=\"relative h-1 w-full bg-current/20 rounded-full overflow-hidden\">\r\n <div\r\n className=\"absolute h-full bg-current rounded-full\"\r\n style={{ width: `${(currentTime / duration) * 100 || 0}%` }}\r\n />\r\n </div>\r\n <div className=\"flex justify-between text-[9px] font-bold opacity-60\">\r\n <span>\r\n {Math.floor(currentTime / 60)}:\r\n {Math.floor(currentTime % 60)\r\n .toString()\r\n .padStart(2, '0')}\r\n </span>\r\n <span>\r\n {Math.floor(duration / 60)}:\r\n {Math.floor(duration % 60)\r\n .toString()\r\n .padStart(2, '0')}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n})\r\n"],"names":["AudioPlayer","memo","url","isBot","primaryColor","isPlaying","setIsPlaying","useState","duration","setDuration","currentTime","setCurrentTime","isLoading","setIsLoading","audioRef","useRef","brandColor","useMemo","getPrimaryColor","jsxs","className","cn","children","jsx","ref","src","onLoadedMetadata","current","onTimeUpdate","onEnded","onClick","pause","play","disabled","style","backgroundColor","color","Loader2","Pause","Play","width","Math","floor","toString","padStart"],"mappings":"kIAeO,MAAMA,EAAcC,EAAAA,KAAK,UAAqBC,IACnDA,EAAAC,MACAA,EAAAC,aACAA,IAEA,MAAOC,EAAWC,GAAgBC,EAAAA,UAAS,IACpCC,EAAUC,GAAeF,EAAAA,SAAS,IAClCG,EAAaC,GAAkBJ,EAAAA,SAAS,IACxCK,EAAWC,GAAgBN,EAAAA,UAAS,GACrCO,EAAWC,EAAAA,OAAyB,MAEpCC,EAAaC,EAAAA,QAAQ,IAAMC,EAAgB,CAAEd,iBAAiB,CAACA;AAQrE,OACEe,EAAAA,KAAC,MAAA,CACCC,UAAWC,EACT,6CACAlB,EAAQ,kBAAoB,2BAG9BmB,SAAA;eAAAC,EAAAA,IAAC,QAAA,CACCC,IAAKV,EACLW,IAAKvB,EACLwB,iBAAkB,KAChBjB,EAAYK,EAASa,SAASnB,UAAY,GAC1CK,GAAa,IAEfe,aAAc,IAAMjB,EAAeG,EAASa,SAASjB,aAAe,GACpEmB,QAAS,IAAMvB,GAAa;eAE9BiB,EAAAA,IAAC,SAAA,CACCO,QAxBa,KACbzB,EAAWS,EAASa,SAASI,QAC5BjB,EAASa,SAASK,OACvB1B,GAAcD,IAsBV4B,SAAUrB,EACVQ,UAAU,iEACVc,MAAO,CACLC,gBAAiBhC,EAAQa,EAAa,mBACtCoB,MAAOjC,EAAQ,QAAUa,GAG1BM,SAAAV,iBACCW,EAAAA,IAACc,EAAA,CAAQjB,UAAU,yBACjBf,iBACFkB,EAAAA,IAACe,EAAA,CAAMlB,UAAU,wCAEjBG,EAAAA,IAACgB,EAAA,CAAKnB,UAAU;iBAGpBD,KAAC,MAAA,CAAIC,UAAU,mBACbE,SAAA;iBAAAC,IAAC,MAAA,CAAIH,UAAU,iEACbE,wBAAAC,EAAAA,IAAC,MAAA,CACCH,UAAU,0CACVc,MAAO,CAAEM,MAAO,GAAI9B,EAAcF,EAAY,KAAO;iBAGzDW,KAAC,MAAA,CAAIC,UAAU,uDACbE,SAAA;eAAAH,OAAC,OAAA,CACEG,SAAA,CAAAmB,KAAKC,MAAMhC,EAAc,IAAI,IAC7B+B,KAAKC,MAAMhC,EAAc,IACvBiC,WACAC,SAAS,EAAG;sBAEhB,OAAA,CACEtB,SAAA,CAAAmB,KAAKC,MAAMlC,EAAW,IAAI,IAC1BiC,KAAKC,MAAMlC,EAAW,IACpBmC,WACAC,SAAS,EAAG,gBAM3B"}
|