@opencx/widget 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.
Files changed (125) hide show
  1. package/README.md +105 -0
  2. package/dist/basic.cjs +259 -0
  3. package/dist/basic.cjs.map +1 -0
  4. package/dist/basic.d.ts +2 -0
  5. package/dist/basic.js +40507 -0
  6. package/dist/basic.js.map +1 -0
  7. package/dist/core/client/api.d.ts +15 -0
  8. package/dist/core/client/client.d.ts +39 -0
  9. package/dist/core/client/index.d.ts +1 -0
  10. package/dist/core/errors/index.d.ts +21 -0
  11. package/dist/core/index.d.ts +3 -0
  12. package/dist/core/managers/chathistory-manager.d.ts +61 -0
  13. package/dist/core/managers/session-manager.d.ts +35 -0
  14. package/dist/core/platform/index.d.ts +20 -0
  15. package/dist/core/transport/http.transport.d.ts +17 -0
  16. package/dist/core/transport/transport.d.ts +25 -0
  17. package/dist/core/types/helpers.d.ts +5 -0
  18. package/dist/core/types/index.d.ts +32 -0
  19. package/dist/core/types/messages.d.ts +43 -0
  20. package/dist/core/types/prelude.d.ts +14 -0
  21. package/dist/core/types/pub-sub.d.ts +94 -0
  22. package/dist/core/types/schemas.d.ts +489 -0
  23. package/dist/core/types/transport.d.ts +31 -0
  24. package/dist/core/utils/genId.d.ts +2 -0
  25. package/dist/core/utils/genId.test.d.ts +1 -0
  26. package/dist/core/utils/history-to-widget-messages.d.ts +4 -0
  27. package/dist/history-to-widget-messages-CP0hKjhv.js +195 -0
  28. package/dist/history-to-widget-messages-CP0hKjhv.js.map +1 -0
  29. package/dist/history-to-widget-messages-CdbZolRN.cjs +2 -0
  30. package/dist/history-to-widget-messages-CdbZolRN.cjs.map +1 -0
  31. package/dist/index-C11ivBh5.js +2604 -0
  32. package/dist/index-C11ivBh5.js.map +1 -0
  33. package/dist/index-DQmRZV3b.cjs +18 -0
  34. package/dist/index-DQmRZV3b.cjs.map +1 -0
  35. package/dist/index.cjs +2 -0
  36. package/dist/index.cjs.map +1 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.js +445 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/react-lib/Root.d.ts +6 -0
  41. package/dist/react-lib/hooks/handle-socket-messages.d.ts +27 -0
  42. package/dist/react-lib/hooks/index.d.ts +6 -0
  43. package/dist/react-lib/hooks/socket.d.ts +11 -0
  44. package/dist/react-lib/hooks/socketState.d.ts +2 -0
  45. package/dist/react-lib/hooks/use-sound.d.ts +13 -0
  46. package/dist/react-lib/hooks/use-sound.test.d.ts +1 -0
  47. package/dist/react-lib/hooks/use-sync-state.test.d.ts +1 -0
  48. package/dist/react-lib/hooks/useAbstractChat.d.ts +159 -0
  49. package/dist/react-lib/hooks/useAxiosInstance.d.ts +121 -0
  50. package/dist/react-lib/hooks/useBaseClient.d.ts +2 -0
  51. package/dist/react-lib/hooks/useScrollTo.d.ts +2 -0
  52. package/dist/react-lib/hooks/useSyncState.d.ts +4 -0
  53. package/dist/react-lib/hooks/useTimeoutState.d.ts +3 -0
  54. package/dist/react-lib/hooks/useUploadFiles.d.ts +21 -0
  55. package/dist/react-lib/hooks/useVote.d.ts +2 -0
  56. package/dist/react-lib/hooks/useWidgetContentHeight.d.ts +9 -0
  57. package/dist/react-lib/index.d.ts +10 -0
  58. package/dist/react-lib/locales/ar.locale.d.ts +2 -0
  59. package/dist/react-lib/locales/de.locale.d.ts +2 -0
  60. package/dist/react-lib/locales/en.locale.d.ts +55 -0
  61. package/dist/react-lib/locales/fr.locale.d.ts +2 -0
  62. package/dist/react-lib/locales/helper.d.ts +65 -0
  63. package/dist/react-lib/locales/index.d.ts +3 -0
  64. package/dist/react-lib/locales/nl.locale.d.ts +2 -0
  65. package/dist/react-lib/locales/pt.locale.d.ts +2 -0
  66. package/dist/react-lib/providers/ChatProvider.d.ts +135 -0
  67. package/dist/react-lib/providers/ClientProvider.d.ts +7 -0
  68. package/dist/react-lib/providers/ConfigDataProvider.d.ts +62 -0
  69. package/dist/react-lib/providers/ContactProvider.d.ts +58 -0
  70. package/dist/react-lib/providers/LocalesProvider.d.ts +11 -0
  71. package/dist/react-lib/providers/componentRegistry.d.ts +13 -0
  72. package/dist/react-lib/providers/use-widget-sfx.d.ts +7 -0
  73. package/dist/react-lib/providers/usePreludeData.d.ts +2 -0
  74. package/dist/react-lib/types/components.d.ts +10 -0
  75. package/dist/react-lib/types/index.d.ts +6 -0
  76. package/dist/react-lib/types/options.d.ts +43 -0
  77. package/dist/react-lib/utils/create-safe-context.d.ts +1 -0
  78. package/dist/react-lib/utils/debug.d.ts +2 -0
  79. package/dist/react-lib/utils/getters.d.ts +24 -0
  80. package/dist/react-lib/utils/index.d.ts +1 -0
  81. package/dist/react.cjs +2 -0
  82. package/dist/react.cjs.map +1 -0
  83. package/dist/react.d.ts +2 -0
  84. package/dist/react.js +41 -0
  85. package/dist/react.js.map +1 -0
  86. package/dist/src/@components/BotMessage.d.ts +9 -0
  87. package/dist/src/@components/BotMessageWrapper.d.ts +7 -0
  88. package/dist/src/@components/ChatEvent.component.d.ts +9 -0
  89. package/dist/src/@components/Fallback.component.d.ts +8 -0
  90. package/dist/src/@components/Loading.component.d.ts +2 -0
  91. package/dist/src/@components/OpenLogoSvg.d.ts +4 -0
  92. package/dist/src/@components/Text.component.d.ts +3 -0
  93. package/dist/src/@components/index.d.ts +6 -0
  94. package/dist/src/@components/markdown.d.ts +3 -0
  95. package/dist/src/components/MotionDiv.d.ts +18 -0
  96. package/dist/src/components/RenderFile.d.ts +7 -0
  97. package/dist/src/components/avatar.d.ts +6 -0
  98. package/dist/src/components/button.d.ts +11 -0
  99. package/dist/src/components/dialog.d.ts +276 -0
  100. package/dist/src/components/dropdown-menu.d.ts +27 -0
  101. package/dist/src/components/input.d.ts +5 -0
  102. package/dist/src/components/keyboard.d.ts +7 -0
  103. package/dist/src/components/popover.d.ts +8 -0
  104. package/dist/src/components/skeleton.d.ts +3 -0
  105. package/dist/src/components/switch.d.ts +4 -0
  106. package/dist/src/components/tooltip.d.ts +10 -0
  107. package/dist/src/components/userMessage.d.ts +8 -0
  108. package/dist/src/components/wobble.d.ts +15 -0
  109. package/dist/src/designs/basic/WidgetPopoverTrigger.d.ts +5 -0
  110. package/dist/src/designs/basic/index.d.ts +5 -0
  111. package/dist/src/designs/basic/screens/chat-screen/ChatFooter.d.ts +2 -0
  112. package/dist/src/designs/basic/screens/chat-screen/ChatHeader.d.ts +2 -0
  113. package/dist/src/designs/basic/screens/chat-screen/ChatScreen.d.ts +2 -0
  114. package/dist/src/designs/basic/screens/chat-screen/SessionClosedDialog.d.ts +2 -0
  115. package/dist/src/designs/basic/screens/root-screen.d.ts +2 -0
  116. package/dist/src/designs/basic/screens/welcome-screen/WelcomeScreen.d.ts +2 -0
  117. package/dist/src/designs/constants.d.ts +15 -0
  118. package/dist/src/hooks/useShouldCollectData.d.ts +3 -0
  119. package/dist/src/index.d.ts +9 -0
  120. package/dist/src/render.d.ts +2 -0
  121. package/dist/src/utils.d.ts +2 -0
  122. package/dist/style.css +1 -0
  123. package/dist-embed/script.js +476 -0
  124. package/dist-embed/script.js.map +1 -0
  125. package/package.json +153 -0
@@ -0,0 +1,18 @@
1
+ "use strict";var Kt=Object.defineProperty;var Jt=(e,t,n)=>t in e?Kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var tt=(e,t,n)=>Jt(e,typeof t!="symbol"?t+"":t,n);const B=require("./history-to-widget-messages-CdbZolRN.cjs"),h=require("react"),$=require("react/jsx-runtime"),Zt=require("mutative"),$t=require("socket.io-client"),en=require("lodash.set"),tn=require("axios"),nn=typeof window>"u",nt={getItem:()=>null,setItem:()=>{},removeItem:()=>{}};function rn(e){return nn?nt:e==="local"?localStorage:e==="session"?sessionStorage:nt}function Be(e,t,n="session"){const r=h.useMemo(()=>rn(n),[n]),[o,s]=h.useState(()=>{const g=r.getItem(e);if(g!==null)try{return JSON.parse(g)}catch(d){console.error(`Error parsing stored value for key '${e}':`,d)}return typeof t=="function"?t():t??null}),a=h.useCallback(g=>{if(s(g),g===null)r.removeItem(e);else try{r.setItem(e,JSON.stringify(g))}catch(d){console.error(`Error saving state to storage for key '${e}':`,d)}},[e,r]),l=h.useCallback(()=>{s(null),r.removeItem(e)},[e,r]);return h.useEffect(()=>{const g=d=>{d.key===e&&d.newValue!==JSON.stringify(o)&&s(d.newValue?JSON.parse(d.newValue):null)};return window.addEventListener("storage",g),()=>{window.removeEventListener("storage",g)}},[e,o]),[o,a,l]}const on="@opencx/widget",dt="2.0.0",sn="module",an={access:"public"},cn={clean:"rm -rf ./dist ./dist-embed","clean:dist":"rm -rf ./dist ./dist-embed",prepublishOnly:"pnpm clean && pnpm test && pnpm batman","build:lib":"vite build",dev:"vite -c vite.config.ts","build:embed":"vite build -c vite.embed.config.ts",test:"vitest run",batman:"pnpm build:lib && pnpm build:embed","test:watch":"vitest --watch",cs:"changeset",csv:"changeset version",csp:"changeset publish","type-check":"tsc --noEmit",lint:"biome lint --fix",format:"biome format --fix"},un={"lucide-react":"^0.412.0",react:"^18.3.1","rehype-raw":"^7.0.0"},ln={react:{optional:!0}},dn={axios:"^1.7.5","socket.io-client":"^4.7.5",zod:"^3.23.8"},fn={"@radix-ui/react-avatar":"^1.1.0","@radix-ui/react-dropdown-menu":"^2.1.4","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-switch":"^1.1.0","@radix-ui/react-tooltip":"^1.1.2",clsx:"^2.1.1","date-fns":"^4.1.0","framer-motion":"^11.3.30","lodash.set":"^4.3.2","lucide-react":"^0.436.0",mutative:"^1.0.11","react-dropzone":"^14.3.5","react-hot-toast":"^2.4.1",tinycolor2:"^1.6.0",zod:"^3.23.8"},pn={"@opencx/widget":{react:{optional:!0,dependencies:{"react-hot-toast":"^2.4.1","react-markdown":"^9.0.1","framer-motion":"^11.3.30","date-fns":"^4.1.0"}}}},gn={react:{"react-hot-toast":"^2.4.1","react-markdown":"^9.0.1","framer-motion":"^11.3.30","date-fns":"^4.1.0"}},hn=["dist","dist-embed"],mn={url:"https://github.com/openchatai/OpenCopilot/issues"},yn={name:"openchatai",url:"https://github.com/openchatai"},Sn="./dist/index.js",vn="./dist/index.js",En="./dist/index.d.ts",bn=!1,wn={".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./basic":{types:"./dist/basic.d.ts",import:"./dist/basic.js",require:"./dist/basic.cjs"},"./react":{types:"./dist/react.d.ts",import:"./dist/react.js",require:"./dist/react.cjs"},"./package.json":"./package.json","./dist/*.css":"./dist/*.css"},On={"@biomejs/biome":"1.9.4","@changesets/cli":"^2.27.9","@radix-ui/react-popover":"^1.1.2","@tailwindcss/typography":"^0.5.15","@testing-library/dom":"^10.4.0","@testing-library/jest-dom":"^6.5.0","@testing-library/react":"^16.0.1","@types/lodash.debounce":"^4.0.9","@types/lodash.set":"^4.3.9","@types/node":"^20.14.8","@types/react":"^18.3.4","@types/react-dom":"^18.3.0","@types/tinycolor2":"^1.4.6","@uiw/react-iframe":"^1.0.3","@vitejs/plugin-react":"^4.3.4",autoprefixer:"^10.4.20",axios:"^1.7.5","class-variance-authority":"^0.7.0",jsdom:"^25.0.1",mutative:"^1.0.11",postcss:"^8.4.41","postcss-prefix-selector":"^1.16.1",react:"^18.3.1","react-dom":"^18.3.1","react-markdown":"^9.0.1","react-use":"^17.5.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","socket.io-client":"^4.7.5",swr:"^2.2.5","tailwind-merge":"^2.4.0",tailwindcss:"^3.4.6","tailwindcss-animate":"^1.0.7",typescript:"^5.5.4",vite:"^5.4.2","vite-plugin-dts":"4.0.3","vite-plugin-externalize-deps":"^0.8.0","vite-tsconfig-paths":"^5.0.1",vitest:"^2.0.5"},rt={name:on,private:!1,version:dt,type:sn,publishConfig:an,scripts:cn,peerDependencies:un,peerDependenciesMeta:ln,optionalDependencies:dn,dependencies:fn,overrides:pn,conditionalDependencies:gn,files:hn,bugs:mn,author:yn,main:Sn,module:vn,types:En,sideEffects:bn,exports:wn,devDependencies:On},An="X-Bot-Token",Cn="X-Widget-Version";function ft(e){const t=h.useMemo(()=>tn.create({baseURL:e.apiUrl,headers:{[An]:e.botToken,[Cn]:dt,"X-Use-Guard":!0}}),[e]);return{apis:h.useMemo(()=>({createSession:r=>{if(!r)throw new Error("Bot token is required");return t.post("/chat-session/"+r)},fetchSession:r=>{if(!r)throw new Error("Session id is required");return t.get(`widget/session/${r}`)},fetchPreludeData:async()=>(await t.get("/widget/prelude")).data,getOfficeHours:()=>t.get("/copilot/office-hours/public"),fetchHistory:r=>{if(!r)throw new Error("Session id is required");return t.get(`widget/session/history/${r}`)},downvote:r=>t.delete(`/chat/vote/${r}`),upvote:r=>t.post(`/chat/vote/${r}`),dumpContact:r=>t.post("/widget/contact/upsert",r),getCompletions:r=>t.post("/widget/chat/completions",{input:r}),uploadFile:async(r,o)=>{const s=new FormData;return s.append("file",r.file),t.post(`/widget/upload?fileId=${r.id}`,s,{headers:{"Content-Type":"multipart/form-data"},...o})},getHistoryPooling:async({lastMessageTimestamp:r,sessionId:o})=>{const s=new URLSearchParams;return s.append("lastMessageTimestamp",r.toString()),t.get(`/widget/session/history/${o}/?${s.toString()}`)}}),[t]),options:e}}function ge(e){const t=h.createContext({});return[()=>{const r=h.useContext(t);if(r===void 0)throw new Error("useSafeContext must be used within a Provider");return r},t.Provider]}const Rn={ok:"حسنا",yes:"نعم",no:"لا",agree:"موافق",cancel:"إلغاء","yes-exit":"نعم، اخرج","yes-reset":"نعم، إعادة تعيين","no-cancel":"لا، إلغاء","are-you-sure":"هل أنت متأكد؟",recording:"تسجيل","thank-you":"شكرا","sorry-try-again":"عذرا، حاول مرة أخرى","error-occurred":"حدث خطأ","please-try-again":"يرجى المحاولة مرة أخرى","write-a-message":"اكتب رسالة...","send-message":"إرسال رسالة",connected:"متصل",connecting:"جاري الاتصال",reconnecting:"جاري إعادة الاتصال",reconnected:"تم إعادة الاتصال",disconnecting:"جاري قطع الاتصال",disconnected:"قطع الاتصال",error:"خطأ","persist-session":"حفظ الجلسة",settings:"إعدادات",close:"إغلاق",help:"مساعدة",chat:"محادثة",send:"إرسال",copy:"نسخ",copied:"تم النسخ","sound-effects":"التاثيرات الصوتية",language:"اللغة",select:"اختر",agent:"الوكيل",user:"المستخدم",bot:"البوت","reset-conversation-confirm":"هل أنت متأكد من أنك تريد إعادة تعيين المحادثة؟","close-widget":"إغلاق الودجة","got-any-questions":"هل لديك أي أسئلة؟ تحدث معنا!","typical-response-time":"عادة ما نرد في أقل من دقيقة واحدة","session-closed-lead":"تم حل مشكلتك!",exit:"خروج","create-new-ticket":"إنشاء تذكرة جديدة","reset-conversation":"إعادة تعيين المحادثة","welcome-title":"مرحبًا بك في دردشة الدعم الخاصة بنا","welcome-description":"نحن هنا للمساعدة! ابدأ محادثة وسنرد عليك في أقرب وقت ممكن.","your-name":"اسمك","your-email":"عنوان بريدك الإلكتروني","start-chat":"تحدث إلى الدعم","starting-chat":"جاري الاتصال...","hello-greeting":"مرحبًا! كيف يمكننا مساعدتك اليوم؟"},Tn={ok:"OK",yes:"Ja",no:"Nein",agree:"Zustimmen",cancel:"Stornieren","yes-exit":"Ja, beenden","yes-reset":"Ja, zurücksetzen","no-cancel":"Nein, abbrechen","are-you-sure":"Sind Sie sicher?",recording:"Aufnahme läuft","thank-you":"Vielen Dank","sorry-try-again":"Entschuldigung, bitte versuchen Sie es erneut","error-occurred":"Ein Fehler ist aufgetreten","please-try-again":"Bitte versuchen Sie es erneut","write-a-message":"Nachricht schreiben...","send-message":"Nachricht senden",connected:"Verbunden",connecting:"Verbindung wird hergestellt",reconnecting:"Verbindung wird wiederhergestellt",reconnected:"Wieder verbunden",disconnecting:"Verbindung wird getrennt",disconnected:"Verbindung getrennt",error:"Fehler","persist-session":"Sitzung beibehalten",settings:"Einstellungen",close:"Schließen",help:"Hilfe",chat:"Chat",send:"Senden",copy:"Kopieren",copied:"Kopiert","sound-effects":"Soundeffekte",language:"Sprache",select:"Auswählen",agent:"Agent",user:"Benutzer",bot:"Bot","got-any-questions":"Haben Sie Fragen? Chatten Sie mit uns!","typical-response-time":"Üblicherweise antworten wir in weniger als 1 Minute","reset-conversation-confirm":"Möchten Sie die Konversation wirklich zurücksetzen?","close-widget":"Widget schließen","session-closed-lead":"Ihr Problem wurde gelöst!","create-new-ticket":"Neues Ticket erstellen",exit:"Beenden","reset-conversation":"Konversation zurücksetzen","welcome-title":"Willkommen in unserem Support-Chat","welcome-description":"Wir sind hier, um zu helfen! Beginnen Sie ein Gespräch und wir werden so schnell wie möglich antworten.","your-name":"Ihr Name","your-email":"Ihre E-Mail-Adresse","start-chat":"Mit dem Support sprechen","starting-chat":"Verbindung wird hergestellt...","hello-greeting":"Hallo! Wie können wir Ihnen heute helfen?"},Dn={ok:"OK",yes:"Yes",no:"No",agree:"Agree",cancel:"Cancel","yes-exit":"Yes, exit","yes-reset":"Yes, reset","no-cancel":"No, cancel","are-you-sure":"Are you sure?",recording:"Recording...","thank-you":"Thank you","sorry-try-again":"Sorry, please try again","error-occurred":"An error occurred","please-try-again":"Please try again","write-a-message":"Write a message...","send-message":"Send message",connected:"Connected",connecting:"Connecting",reconnecting:"Reconnecting",reconnected:"Reconnected",disconnecting:"Disconnecting",disconnected:"Disconnected",error:"Error","persist-session":"Persist session",settings:"Settings",close:"Close",help:"Help",chat:"Chat",send:"Send",copy:"Copy",copied:"Copied","sound-effects":"Sound effects",language:"Language",select:"Select",agent:"Agent",user:"User",bot:"Bot","reset-conversation-confirm":"Are you sure you want to reset the conversation?","close-widget":"Close widget","got-any-questions":"Got any questions? Chat with us!","typical-response-time":"Typically respond in less than 1 minute","session-closed-lead":"Your issue has been resolved!","create-new-ticket":"Create new ticket",exit:"Exit","reset-conversation":"Reset conversation","welcome-title":"Welcome to our support chat","welcome-description":"We're here to help! Start a conversation and we'll get back to you as soon as possible.","your-name":"Your name","your-email":"Your email address","start-chat":"Talk to support","starting-chat":"Connecting...","hello-greeting":"Hi there!"},kn={ok:"D'accord",yes:"Oui",no:"Non",agree:"Accepter",cancel:"Annuler","yes-exit":"Oui, quitter","yes-reset":"Oui, réinitialiser","no-cancel":"Non, annuler","are-you-sure":"Êtes-vous sûr ?",recording:"Enregistrement...","thank-you":"Merci","sorry-try-again":"Désolé, veuillez réessayer","error-occurred":"Une erreur s'est produite","please-try-again":"Veuillez réessayer","write-a-message":"Écrivez un message...","send-message":"Envoyer le message",connected:"Connecté",connecting:"Connexion en cours",reconnecting:"Reconnexion en cours",reconnected:"Reconnecté",disconnecting:"Déconnexion en cours",disconnected:"Déconnecté",error:"Erreur","persist-session":"Conserver la session",settings:"Paramètres",close:"Fermer",help:"Aide",chat:"Chat",send:"Envoyer",copy:"Copier",copied:"Copié","sound-effects":"Effets sonores",language:"Langue",select:"Sélectionner",agent:"Agent",user:"Utilisateur",bot:"Bot","reset-conversation-confirm":"Êtes-vous sûr de vouloir réinitialiser la conversation ?","close-widget":"Fermer le widget","got-any-questions":"Vous avez des questions ? Chattez avec nous !","typical-response-time":"Nous répondons généralement en moins d'une minute","session-closed-lead":"Votre problème a été résolu !","create-new-ticket":"Créer un nouveau ticket",exit:"Sortie","reset-conversation":"Réinitialiser la conversation","welcome-title":"Bienvenue dans notre chat de support","welcome-description":"Nous sommes là pour vous aider ! Commencez une conversation et nous vous répondrons dès que possible.","your-name":"Votre nom","your-email":"Votre adresse e-mail","start-chat":"Parler au support","starting-chat":"Connexion...","hello-greeting":"Bonjour ! Comment pouvons-nous vous aider aujourd'hui ?"},Nn={ok:"OK",yes:"Ja",no:"Nee",agree:"Akkoord",cancel:"Annuleren","yes-exit":"Ja, afsluiten","yes-reset":"Ja, resetten","no-cancel":"Nee, annuleren","are-you-sure":"Weet u het zeker?",recording:"Opname...","thank-you":"Dank u","sorry-try-again":"Sorry, probeer het opnieuw","error-occurred":"Er is een fout opgetreden","please-try-again":"Probeer het opnieuw","write-a-message":"Schrijf een bericht...","send-message":"Bericht verzenden",connected:"Verbonden",connecting:"Verbinding maken",reconnecting:"Opnieuw verbinding maken",reconnected:"Opnieuw verbonden",disconnecting:"Verbinding verbreken",disconnected:"Verbinding verbroken",error:"Fout","persist-session":"Sessie behouden",settings:"Instellingen",close:"Sluiten",help:"Help",chat:"Chat",send:"Verzenden",copy:"Kopiëren",copied:"Gekopieerd","sound-effects":"Geluidseffecten",language:"Taal",select:"Selecteren",agent:"Agent",user:"Gebruiker",bot:"Bot","reset-conversation-confirm":"Weet u zeker dat u het gesprek wilt resetten?","close-widget":"Widget sluiten","got-any-questions":"Heeft u vragen? Chat met ons!","typical-response-time":"We reageren doorgaans binnen 1 minuut","session-closed-lead":"Uw probleem is opgelost!","create-new-ticket":"Nieuw ticket aanmaken",exit:"Afsluiten","reset-conversation":"Gesprek resetten","welcome-title":"Welkom bij onze supportchat","welcome-description":"We zijn hier om te helpen! Begin een gesprek en we nemen zo snel mogelijk contact met u op.","your-name":"Uw naam","your-email":"Uw e-mailadres","start-chat":"Praat met ondersteuning","starting-chat":"Verbinding maken...","hello-greeting":"Hallo! Hoe kunnen we u vandaag helpen?"},Pn={ok:"OK",yes:"Sim",no:"Não",agree:"Concordo",cancel:"Cancelar","yes-exit":"Sim, sair","yes-reset":"Sim, redefinir","no-cancel":"Não, cancelar","are-you-sure":"Você tem certeza?",recording:"Gravando...","thank-you":"Obrigado","sorry-try-again":"Desculpe, tente novamente","error-occurred":"Ocorreu um erro","please-try-again":"Por favor, tente novamente","write-a-message":"Escreva uma mensagem...","send-message":"Enviar mensagem",connected:"Conectado",connecting:"Conectando",reconnecting:"Reconectando",reconnected:"Reconectado",disconnecting:"Desconectando",disconnected:"Desconectado",error:"Erro","persist-session":"Persistir sessão",settings:"Configurações",close:"Fechar",help:"Ajuda",chat:"Bate-papo",send:"Enviar",copy:"Copiar",copied:"Copiado","sound-effects":"Efeitos sonoros",language:"Idioma",select:"Selecionar",agent:"Agente",user:"Usuário",bot:"Bot","reset-conversation-confirm":"Você tem certeza de que deseja redefinir a conversa?","close-widget":"Fechar widget","got-any-questions":"Tem alguma dúvida? Converse conosco!","typical-response-time":"Geralmente respondemos em menos de 1 minuto","session-closed-lead":"Seu problema foi resolvido!","create-new-ticket":"Criar novo ticket",exit:"Sair","reset-conversation":"Redefinir conversa","welcome-title":"Bem-vindo ao nosso chat de suporte","welcome-description":"Estamos aqui para ajudar! Inicie uma conversa e responderemos o mais rápido possível.","your-name":"Seu nome","your-email":"Seu endereço de email","start-chat":"Falar com o suporte","starting-chat":"Conectando...","hello-greeting":"Olá! Como podemos ajudar você hoje?"},In={en:Dn,ar:Rn,nl:Nn,fr:kn,de:Tn,pt:Pn};function jn(e,t){const n=In[t];return n&&n[e]||""}const[pt,_n]=ge();function gt({children:e}){const t=ee();return $.jsx(_n,{value:{get:(n,r)=>jn(n,t.language??"en")+(r??""),lang:t.language},children:e})}class Mn{constructor(t){tt(this,"components",[{key:"FALLBACK",component:t=>"fallback"},{key:"LOADING",component:t=>"loading"}]);const{components:n}=t;if(n&&n.forEach(r=>this.register(r)),this.components.length===0)throw new Error("No components registered");if(!this.get("FALLBACK"))throw new Error("No fallback component registered")}register(t){const n=this.components.findIndex(r=>r.key===t.key);return n!==-1?this.components[n]=t:this.components.push(t),this}get(t){const n=this.components.find(r=>r.key.toUpperCase()===t.toUpperCase());return n||null}getOrFallback(t){return t?this.get(t)||this.get("FALLBACK"):this.get("FALLBACK")}getComponent(t,n){var r;return n?this.getOrFallback(t).component:(r=this.get(t))==null?void 0:r.component}}const xn="data:image/png;base64,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",Fn={primaryColor:"hsl(0,0%,0%)",triggerOffset:"20px"};function Ln(e){return h.useMemo(()=>{var o,s,a,l;const t={messageArrived:"https://cloud.opencopilot.so/sfx/notification3.mp3",...e.soundEffectFiles},n=Object.assign({},Fn,e.theme??{}),r={id:"555",is_ai:!0,profile_picture:((o=e.bot)==null?void 0:o.avatarUrl)||xn,name:((s=e.bot)==null?void 0:s.name)||"Bot"};return{...e,bot:r,apiUrl:e.apiUrl??"https://api-v2.opencopilot.so/backend",socketUrl:e.socketUrl??"https://api-v2.opencopilot.so",language:e.language??Un,botToken:e.token,headers:e.headers??{},pathParams:e.pathParams??{},queryParams:e.queryParams??{},user:e.user??{},theme:n,soundEffectFiles:t,collectUserData:e.collectUserData??!1,defaultSettings:{persistSession:((a=e.settings)==null?void 0:a.persistSession)??!1,useSoundEffects:((l=e.settings)==null?void 0:l.useSoundEffects)??!1}}},[e])}const[ee,Vn]=ge(),Un="en";function Hn({children:e,data:t}){const n=h.useMemo(()=>new Mn({components:t.components}),[t]),r=Ln(t),o=ft({apiUrl:r.apiUrl,botToken:r.token}),[s,a]=Be("open_settings",r.defaultSettings,"local"),l=g=>{const d=Object.assign({},r.defaultSettings,s,g);a(d)};return $.jsx(Vn,{value:{...r,http:o,componentStore:n,widgetSettings:s,setSettings:l},children:$.jsx(gt,{children:e})})}var Gn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function qn(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var ht={},Le=function(e,t){return Le=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])},Le(e,t)};function mt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Le(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}exports.__assign=function(){return exports.__assign=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},exports.__assign.apply(this,arguments)};function Xe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function yt(e,t,n,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(s=(o<3?a(s):o>3?a(t,n,s):a(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function St(e,t){return function(n,r){t(n,r,e)}}function vt(e,t,n,r,o,s){function a(i){if(i!==void 0&&typeof i!="function")throw new TypeError("Function expected");return i}for(var l=r.kind,g=l==="getter"?"get":l==="setter"?"set":"value",d=!t&&e?r.static?e:e.prototype:null,c=t||(d?Object.getOwnPropertyDescriptor(d,r.name):{}),u,p=!1,f=n.length-1;f>=0;f--){var y={};for(var m in r)y[m]=m==="access"?{}:r[m];for(var m in r.access)y.access[m]=r.access[m];y.addInitializer=function(i){if(p)throw new TypeError("Cannot add initializers after decoration has completed");s.push(a(i||null))};var k=(0,n[f])(l==="accessor"?{get:c.get,set:c.set}:c[g],y);if(l==="accessor"){if(k===void 0)continue;if(k===null||typeof k!="object")throw new TypeError("Object expected");(u=a(k.get))&&(c.get=u),(u=a(k.set))&&(c.set=u),(u=a(k.init))&&o.unshift(u)}else(u=a(k))&&(l==="field"?o.unshift(u):c[g]=u)}d&&Object.defineProperty(d,r.name,c),p=!0}function Et(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function bt(e){return typeof e=="symbol"?e:"".concat(e)}function wt(e,t,n){return typeof t=="symbol"&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function Ot(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function At(e,t,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function l(c){try{d(r.next(c))}catch(u){a(u)}}function g(c){try{d(r.throw(c))}catch(u){a(u)}}function d(c){c.done?s(c.value):o(c.value).then(l,g)}d((r=r.apply(e,t||[])).next())})}function Ct(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(d){return function(c){return g([d,c])}}function g(d){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,d[0]&&(n=0)),n;)try{if(r=1,o&&(s=d[0]&2?o.return:d[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,d[1])).done)return s;switch(o=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,o=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=t.call(e,n)}catch(c){d=[6,c],o=0}finally{r=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var Ce=Object.create?function(e,t,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]};function Rt(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&Ce(t,e,n)}function Ae(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Qe(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,s=[],a;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(l){a={error:l}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Tt(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Qe(arguments[t]));return e}function Dt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),o=0,t=0;t<n;t++)for(var s=arguments[t],a=0,l=s.length;a<l;a++,o++)r[o]=s[a];return r}function We(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return e.concat(s||Array.prototype.slice.call(t))}function ue(e){return this instanceof ue?(this.v=e,this):new ue(e)}function kt(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",a),o[Symbol.asyncIterator]=function(){return this},o;function a(f){return function(y){return Promise.resolve(y).then(f,u)}}function l(f,y){r[f]&&(o[f]=function(m){return new Promise(function(k,i){s.push([f,m,k,i])>1||g(f,m)})},y&&(o[f]=y(o[f])))}function g(f,y){try{d(r[f](y))}catch(m){p(s[0][3],m)}}function d(f){f.value instanceof ue?Promise.resolve(f.value.v).then(c,u):p(s[0][2],f)}function c(f){g("next",f)}function u(f){g("throw",f)}function p(f,y){f(y),s.shift(),s.length&&g(s[0][0],s[0][1])}}function Nt(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,s){t[o]=e[o]?function(a){return(n=!n)?{value:ue(e[o](a)),done:!1}:s?s(a):a}:s}}function Pt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof Ae=="function"?Ae(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(a){return new Promise(function(l,g){a=e[s](a),o(l,g,a.done,a.value)})}}function o(s,a,l,g){Promise.resolve(g).then(function(d){s({value:d,done:l})},a)}}function It(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var Yn=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function jt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&Ce(t,e,n);return Yn(t,e),t}function _t(e){return e&&e.__esModule?e:{default:e}}function Mt(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function xt(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ft(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function Lt(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Bn=typeof SuppressedError=="function"?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Vt(e){function t(s){e.error=e.hasError?new Bn(s,e.error,"An error was suppressed during disposal."):s,e.hasError=!0}var n,r=0;function o(){for(;n=e.stack.pop();)try{if(!n.async&&r===1)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(o,function(a){return t(a),o()})}else r|=1}catch(a){t(a)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return o()}function Ut(e,t){return typeof e=="string"&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,r,o,s,a){return r?t?".jsx":".js":o&&(!s||!a)?n:o+s+"."+a.toLowerCase()+"js"}):e}const Xn={__extends:mt,__assign:exports.__assign,__rest:Xe,__decorate:yt,__param:St,__esDecorate:vt,__runInitializers:Et,__propKey:bt,__setFunctionName:wt,__metadata:Ot,__awaiter:At,__generator:Ct,__createBinding:Ce,__exportStar:Rt,__values:Ae,__read:Qe,__spread:Tt,__spreadArrays:Dt,__spreadArray:We,__await:ue,__asyncGenerator:kt,__asyncDelegator:Nt,__asyncValues:Pt,__makeTemplateObject:It,__importStar:jt,__importDefault:_t,__classPrivateFieldGet:Mt,__classPrivateFieldSet:xt,__classPrivateFieldIn:Ft,__addDisposableResource:Lt,__disposeResources:Vt,__rewriteRelativeImportExtension:Ut},Qn=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Lt,get __assign(){return exports.__assign},__asyncDelegator:Nt,__asyncGenerator:kt,__asyncValues:Pt,__await:ue,__awaiter:At,__classPrivateFieldGet:Mt,__classPrivateFieldIn:Ft,__classPrivateFieldSet:xt,__createBinding:Ce,__decorate:yt,__disposeResources:Vt,__esDecorate:vt,__exportStar:Rt,__extends:mt,__generator:Ct,__importDefault:_t,__importStar:jt,__makeTemplateObject:It,__metadata:Ot,__param:St,__propKey:bt,__read:Qe,__rest:Xe,__rewriteRelativeImportExtension:Ut,__runInitializers:Et,__setFunctionName:wt,__spread:Tt,__spreadArray:We,__spreadArrays:Dt,__values:Ae,default:Xn},Symbol.toStringTag,{value:"Module"})),Wn=qn(Qn);var be={},ot;function Kn(){if(ot)return be;ot=1,Object.defineProperty(be,"__esModule",{value:!0});var e=h;function t(){var n=e.useRef(!1),r=e.useCallback(function(){return n.current},[]);return e.useEffect(function(){return n.current=!0,function(){n.current=!1}},[]),r}return be.default=t,be}Object.defineProperty(ht,"__esModule",{value:!0});var Ve=Wn,Ne=h,Jn=Ve.__importDefault(Kn());function Zn(e,t,n){t===void 0&&(t=[]),n===void 0&&(n={loading:!1});var r=Ne.useRef(0),o=Jn.default(),s=Ne.useState(n),a=s[0],l=s[1],g=Ne.useCallback(function(){for(var d=[],c=0;c<arguments.length;c++)d[c]=arguments[c];var u=++r.current;return a.loading||l(function(p){return Ve.__assign(Ve.__assign({},p),{loading:!0})}),e.apply(void 0,d).then(function(p){return o()&&u===r.current&&l({value:p,loading:!1}),p},function(p){return o()&&u===r.current&&l({error:p,loading:!1}),p})},t);return[a,g]}var de=ht.default=Zn;const re=new Map;function $n(){const[e,t]=h.useState([]),{http:n}=ee();function r(c){const u=c.map(p=>({file:p,id:B.genId(10),status:"pending",progress:0}));t(p=>[...p,...u]),u.forEach(a)}function o(c,u){t(p=>p.map(f=>f.id===c?{...f,...u}:f))}function s(c){t(u=>u.filter(p=>p.id!==c))}const a=async c=>{const u=new AbortController;re.set(c.id,u);try{t(f=>f.map(y=>y.id===c.id?{...y,status:"uploading",progress:0}:y));const p=await n.apis.uploadFile(c,{signal:u.signal,onUploadProgress:f=>{if(!f.total)return;const y=Math.round(f.loaded*100/f.total);o(c.id,{progress:y})}});o(c.id,{status:"success",fileUrl:p.data.fileUrl,progress:100})}catch(p){u.signal.aborted||o(c.id,{status:"error",error:p instanceof Error?p.message:"Upload failed",progress:0})}finally{re.delete(c.id)}},l=c=>{const u=re.get(c);u&&(u.abort(),re.delete(c)),s(c)},g=h.useMemo(()=>e.filter(c=>c.status==="success"&&c.fileUrl),[e]);function d(){re.forEach(c=>c.abort()),re.clear(),t([])}return h.useEffect(()=>()=>{re.forEach(c=>c.abort()),re.clear()},[]),{allFiles:e,appendFiles:r,handleCancelUpload:l,successFiles:g,emptyTheFiles:d,getFileById:c=>e.find(u=>u.id===c),getUploadProgress:c=>{var u;return((u=e.find(p=>p.id===c))==null?void 0:u.progress)??0},getUploadStatus:c=>{var u;return(u=e.find(p=>p.id===c))==null?void 0:u.status},hasErrors:e.some(c=>c.status==="error"),isUploading:e.some(c=>c.status==="uploading")}}function er(e,t){const[n,r]=h.useState(e);return h.useEffect(()=>{const o=setTimeout(()=>r(e),t);return()=>clearTimeout(o)},[e,t,n]),[n,r]}function tr(e){var n,r,o,s,a,l,g;const t=e._message;switch(t&&((n=e.onAny)==null||n.call(e,t,e)),t.type){case"message":{(r=e.onBotMessage)==null||r.call(e,{type:"FROM_BOT",component:"TEXT",id:t.server_message_id,timestamp:t.timestamp,attachments:t.attachments,data:{message:t.value},agent:t.agent.is_ai?e._config.bot:t.agent},e);break}case"info":(o=e.onInfo)==null||o.call(e,t,e);break;case"chat_event":{(s=e.onChatEvent)==null||s.call(e,{component:"CHAT_EVENT",type:"FROM_BOT",id:B.genId(),data:{event:t.value.event,message:t.value.message},timestamp:t.timestamp},e);break}case"session_update":(a=e.onSessionUpdate)==null||a.call(e,t,e);break;case"options":(l=e.onOptions)==null||l.call(e,t,e);break;case"ui":{const d=t.value;(g=e.onUi)==null||g.call(e,{type:"FROM_BOT",component:d.name,data:d.request_response,id:B.genId(),timestamp:t.timestamp},e);break}}}function nr(e,t,n=[]){const[r,o]=h.useState(null),[s,a]=h.useState("disconnected"),l=i=>{a(i)},g=()=>{r&&(r.disconnect(),o(null),l("disconnected"))},d=h.useCallback(()=>l("connected"),[l]),c=h.useCallback(()=>l("disconnected"),[l]),u=h.useCallback(()=>l("error"),[l]),p=h.useCallback(()=>l("reconnected"),[l]),f=h.useCallback(()=>l("reconnecting"),[l]),y=h.useCallback(()=>l("error"),[l]),m=h.useCallback(()=>l("error"),[l]);h.useEffect(()=>{if(!e)return;const i=$t.io(e,t);return o(i),()=>{i.disconnect(),o(null)}},[e]);const k=(i,H,A=[])=>{h.useEffect(()=>{if(r)return r.on(i,H),()=>{r.off(i,H)}},[r,i,H,...A])};return h.useEffect(()=>{if(r)return r.on("connect",d),r.on("disconnect",c),r.on("connect_error",u),r.on("reconnect",p),r.on("reconnecting",f),r.on("reconnect_error",y),r.on("reconnect_failed",m),()=>{r.off("connect",d),r.off("disconnect",c),r.off("connect_error",u),r.off("reconnect",p),r.off("reconnecting",f),r.off("reconnect_error",y),r.off("reconnect_failed",m)}},[d,u,c,p,y,m,f,r]),{socket:r,socketState:s,disconnect:g,useListen:k}}function rr(e,t){switch(e){case"connected":return t("connected","🟢");case"connecting":return t("connecting","🟡");case"reconnecting":return t("reconnecting","🟡");case"reconnected":return t("reconnected","🟢");case"disconnecting":return t("disconnecting","🔴");case"disconnected":return t("disconnected","🔴");case"error":return t("error","❌")}}function or(e){const t=h.useRef(null);return h.useEffect(()=>{if(!t.current){const n=new Audio(e.src);n.volume=e.volume,n.loop=!1,n.preload="auto",t.current=n}return()=>{var n,r;(n=t.current)==null||n.pause(),(r=t.current)==null||r.remove()}},[e]),{play:()=>{var n;e.soundEnabled&&((n=t.current)==null||n.play())},stop:()=>{var n;(n=t.current)==null||n.pause()}}}function Ht(){const{soundEffectFiles:e,widgetSettings:t,defaultSettings:n}=ee(),r=(t==null?void 0:t.useSoundEffects)??n.useSoundEffects;return{messageArrivedSound:or({src:e.messageArrived,soundEnabled:r,volume:.5})}}function sr(e,t){return Zt.create(e,n=>{const r=()=>{n.lastUpdated=Date.now()};switch(t.type){case"ADD_RESPONSE_MESSAGE":{n.messages.push(t.payload),r();break}case"APPEND_USER_MESSAGE":{n.messages.push(t.payload),r();break}case"RESET":{n.messages=[],n.lastUpdated=null,n.keyboard=null;break}case"PREPEND_HISTORY":{const o=t.payload.map(s=>s.id);n.messages=n.messages.filter(s=>!o.includes(s.id)),n.messages=[...t.payload,...n.messages],r();break}case"SET_KEYBOARD":{n.keyboard=t.payload;break}case"SET_DELIVERED_AT":{const o=n.messages.find(s=>{var a;if(s.type==="FROM_USER"&&s.id===((a=t.payload)==null?void 0:a.clientMessageId))return!0});(o==null?void 0:o.type)==="FROM_USER"&&en(o,"deliveredAt",t.payload.deliveredAt);break}case"SET_MESSAGES":{n.messages=t.payload;break}case"APPEND_MESSAGES":{const o=t.payload.filter(s=>!n.messages.some(a=>a.id===s.id));n.messages.push(...o);break}}})}function ar({persist:e,sessionKey:t=(n,{external_id:r})=>`[OPEN_SESSION_${n}]_${r||"session"}`}){const{botToken:n,http:r,user:o}=ee(),[s,a,l]=Be(t(n,o),void 0,e?"local":"memory"),g=s?{...s,isSessionClosed:s.status!==B.SessionStatus.OPEN,isAssignedToAi:s.assignee_id===555,isAssignedToHuman:s.assignee_id!==555,isPendingHuman:s.assignee_id===555&&s.ai_closure_type===B.AIClosureType.handed_off}:null,[d,c]=de(async p=>{let f=await r.apis.fetchSession(p);return f.data&&a(f.data),f.data},[r,a]);function u(){a(null),l()}return{session:g,refreshSession:c,refreshSessionState:d,deleteSession:u,setSession:a}}function ir(){const[e,t]=h.useState({state:"idle"});return[e,t]}function cr({onSessionDestroy:e}){const[t,n]=h.useReducer(sr,{lastUpdated:null,messages:[],keyboard:null}),r=pt(),{botToken:o,http:s,socketUrl:a,widgetSettings:l,defaultSettings:g,language:d,...c}=ee(),{messageArrivedSound:u}=Ht(),[p,f]=de(async E=>{if(i)try{const{data:C}=await s.apis.fetchHistory(E);if(!C)return[];if(Array.isArray(C))return B.mapChatHistoryToMessage(C??[])}catch(C){return console.error(C),[]}return[]},[c.bot]),y=(l==null?void 0:l.persistSession)||g.persistSession,{refreshSession:m,refreshSessionState:k,session:i,deleteSession:H,setSession:A}=ar({persist:y}),[b,O]=ir();function v(E){const C=(i==null?void 0:i.isAssignedToHuman)||(i==null?void 0:i.isPendingHuman)||(i==null?void 0:i.isSessionClosed)||!(i!=null&&i.isAssignedToAi);O(C?{state:"idle"}:E)}const{socket:S,socketState:R,useListen:N}=nr(a,{transports:["websocket"],closeOnBeforeunload:!0,autoConnect:!0,query:{botToken:o,sessionId:i==null?void 0:i.id,client:"widget",clientVersion:rt.version,language:d}});h.useEffect(()=>{async function E(){if(!i)return;const C=await m(i==null?void 0:i.id);if(C){const j=await f(C.id);j&&n({type:"PREPEND_HISTORY",payload:j})}}E()},[]),h.useEffect(()=>{let E;if(i&&S){const j={sessionId:i.id,client:"widget",botToken:o,user:c.user,timestamp:Date.now()};async function U(){S==null||S.emit("heartbeat",j)}U(),E=setInterval(()=>{U()},50*1e3)}return()=>{clearInterval(E)}},[S,i,o,c.user]),N("heartbeat:ack",E=>{},[i]);const[x,z]=er(()=>rr(R,r.get),1e3),q=()=>{i&&S&&S.emit("join_session",{session_id:i.id})},F=()=>{i&&S&&S.emit("join_session",{session_id:i.id})};h.useEffect(()=>{if(S)return S.on("connect",q),S.on("reconnect",F),()=>{S.off("connect",q),S.off("reconnect",F)}},[q,S,F]);function Q(E){S==null||S.emit("join_session",{session_id:E})}function he(){S==null||S.emit("leave_session",{session_id:i==null?void 0:i.id}),H(),n({type:"RESET"}),e==null||e(),v({state:"idle"})}function me(){he(),s.apis.createSession(o).then(({data:E})=>{A(E),Q(E.id)})}const ye=E=>{tr({_message:E,_socket:S,_config:{bot:c.bot},onSessionUpdate(C,j){A(C.value.session)},onBotMessage(C,j){v({state:"idle"}),n({type:"ADD_RESPONSE_MESSAGE",payload:C});try{u.play()}catch(U){console.error(U)}},onChatEvent(){i&&m(i.id)},onUi(C,j){C.type==="FROM_BOT"&&i&&m(i.id),v({state:"idle"}),n({type:"ADD_RESPONSE_MESSAGE",payload:C})},onForm(C,j){v({state:"idle"}),n({type:"ADD_RESPONSE_MESSAGE",payload:C})},onOptions(C,j){n({type:"SET_KEYBOARD",payload:{options:C.value.options}}),v({state:"idle"})}})},te=h.useCallback(E=>{z(E)},[z]);h.useEffect(()=>{var j;if(!i)return;const E=(j=t.messages.at(-1))==null?void 0:j.timestamp;if(!E)return;const C=setInterval(()=>{s.apis.getHistoryPooling({sessionId:i.id,lastMessageTimestamp:E}).then(U=>{U.data&&n({type:"APPEND_MESSAGES",payload:B.mapChatHistoryToMessage(U.data)})})},20*1e3);return()=>{clearInterval(C)}},[i,t.messages]);const Se=h.useCallback(E=>{n({type:"APPEND_USER_MESSAGE",payload:{user:E==null?void 0:E.user,type:"FROM_USER",deliveredAt:null,content:E.content,id:E.id??B.genId(10),attachments:[]}})},[]),Te=h.useCallback(E=>{n({type:"SET_DELIVERED_AT",payload:{clientMessageId:E.id,deliveredAt:new Date().toISOString()}})},[]);N("structured_message",ye),N("ack:chat_message:delivered",Te),N("info",te),N("user_message_broadcast",Se);const W=t.messages.length===0,[ae,ne]=de(async({content:E,user:C,...j})=>{let U=i;if(v({state:"loading"}),!i&&W)try{const{data:_}=await s.apis.createSession(o);if(_)A(_),Q(_.id),U={..._,isSessionClosed:_.status!==B.SessionStatus.OPEN,isAssignedToAi:_.assignee_id===555,isAssignedToHuman:!1,isPendingHuman:!1};else throw new Error("Failed to create session")}catch(_){return console.error("Error creating session:",_),null}if(U&&S){const _=B.genId(),{headers:Ee,pathParams:D,queryParams:T}=c,I={id:_,bot_token:o,content:E.text,attachments:j.attachments,session_id:U.id,headers:Ee,pathParams:D,query_params:T,queryParams:T,user:{...c.user,...C},language:d,...j};try{return n({type:"APPEND_USER_MESSAGE",payload:{type:"FROM_USER",id:_,content:E.text,user:I.user,deliveredAt:null,attachments:j.attachments}}),t.keyboard&&n({type:"SET_KEYBOARD",payload:null}),S.emit("send_chat",I),I}catch(P){return console.error("Error sending message:",P),null}}return null},[v,i,S,c.user,c,o,d]),ve=h.useCallback(E=>{ne({content:{text:E}}),n({type:"SET_KEYBOARD",payload:null})},[n,ne,S]),ie=h.useMemo(()=>i!=null&&i.isSessionClosed?{canSend:!1,reason:"closedSession"}:{canSend:!0},[i]);return{version:rt.version,state:t,session:i,unstable__canSend:ie,noMessages:W,fetchHistoryState:p,refreshSessionState:k,recreateSession:me,clearSession:he,sendMessage:ne,info:x,handleKeyboard:ve,hookState:b}}const[ur,lr]=ge();function dr({children:e}){const{settings:t}=ee(),n=cr({defaultHookSettings:{persistSession:(t==null?void 0:t.persistSession)??!0,useSoundEffects:(t==null?void 0:t.useSoundEffects)??!1}});return $.jsx(lr,{value:n,children:e})}function fr(){const{http:e,botToken:t,user:n,collectUserData:r}=ee(),[o,s]=Be(`${t}:contact:${n.external_id}`,null,"local"),[a,l]=de(async d=>{var c;try{if(!d||!d.email)return null;const u=await e.apis.dumpContact(d);return(c=u==null?void 0:u.data)!=null&&c.id&&s(u.data),u==null?void 0:u.data}catch(u){console.error(u)}return null},[e.apis]);h.useEffect(()=>{n&&t&&l(n)},[n,t]);const g=h.useMemo(()=>!(o!=null&&o.id)&&r?{should:!0,reason:"No contact id and collectUserData is true"}:{should:!1},[o]);return{creatingContactState:a,createContactAsync:l,contact:o,shouldCollectData:g}}const[pr,gr]=ge();function hr({children:e}){const t=fr();return $.jsx(gr,{value:t,children:e})}function mr({children:e,options:t}){return $.jsx(Hn,{data:t,children:$.jsx(hr,{children:$.jsx(gt,{children:$.jsx(dr,{children:e})})})})}var Ue={exports:{}},Pe={};/**
2
+ * @license React
3
+ * use-sync-external-store-shim.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var st;function yr(){if(st)return Pe;st=1;var e=h;function t(u,p){return u===p&&(u!==0||1/u===1/p)||u!==u&&p!==p}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,a=e.useDebugValue;function l(u,p){var f=p(),y=r({inst:{value:f,getSnapshot:p}}),m=y[0].inst,k=y[1];return s(function(){m.value=f,m.getSnapshot=p,g(m)&&k({inst:m})},[u,f,p]),o(function(){return g(m)&&k({inst:m}),u(function(){g(m)&&k({inst:m})})},[u]),a(f),f}function g(u){var p=u.getSnapshot;u=u.value;try{var f=p();return!n(u,f)}catch{return!0}}function d(u,p){return p()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:l;return Pe.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,Pe}var Ie={};/**
10
+ * @license React
11
+ * use-sync-external-store-shim.development.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var at;function Sr(){return at||(at=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=h,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(A){{for(var b=arguments.length,O=new Array(b>1?b-1:0),v=1;v<b;v++)O[v-1]=arguments[v];r("error",A,O)}}function r(A,b,O){{var v=t.ReactDebugCurrentFrame,S=v.getStackAddendum();S!==""&&(b+="%s",O=O.concat([S]));var R=O.map(function(N){return String(N)});R.unshift("Warning: "+b),Function.prototype.apply.call(console[A],console,R)}}function o(A,b){return A===b&&(A!==0||1/A===1/b)||A!==A&&b!==b}var s=typeof Object.is=="function"?Object.is:o,a=e.useState,l=e.useEffect,g=e.useLayoutEffect,d=e.useDebugValue,c=!1,u=!1;function p(A,b,O){c||e.startTransition!==void 0&&(c=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=b();if(!u){var S=b();s(v,S)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}var R=a({inst:{value:v,getSnapshot:b}}),N=R[0].inst,x=R[1];return g(function(){N.value=v,N.getSnapshot=b,f(N)&&x({inst:N})},[A,v,b]),l(function(){f(N)&&x({inst:N});var z=function(){f(N)&&x({inst:N})};return A(z)},[A]),d(v),v}function f(A){var b=A.getSnapshot,O=A.value;try{var v=b();return!s(O,v)}catch{return!0}}function y(A,b,O){return b()}var m=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",k=!m,i=k?y:p,H=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:i;Ie.useSyncExternalStore=H,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),Ie}process.env.NODE_ENV==="production"?Ue.exports=yr():Ue.exports=Sr();var vr=Ue.exports;const oe=()=>{},V=oe(),je=Object,w=e=>e===V,X=e=>typeof e=="function",se=(e,t)=>({...e,...t}),Er=e=>X(e.then),we=new WeakMap;let br=0;const fe=e=>{const t=typeof e,n=e&&e.constructor,r=n==Date;let o,s;if(je(e)===e&&!r&&n!=RegExp){if(o=we.get(e),o)return o;if(o=++br+"~",we.set(e,o),n==Array){for(o="@",s=0;s<e.length;s++)o+=fe(e[s])+",";we.set(e,o)}if(n==je){o="#";const a=je.keys(e).sort();for(;!w(s=a.pop());)w(e[s])||(o+=s+":"+fe(e[s])+",");we.set(e,o)}}else o=r?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return o},Z=new WeakMap,_e={},Oe={},Ke="undefined",Re=typeof window!=Ke,He=typeof document!=Ke,wr=()=>Re&&typeof window.requestAnimationFrame!=Ke,Gt=(e,t)=>{const n=Z.get(e);return[()=>!w(t)&&e.get(t)||_e,r=>{if(!w(t)){const o=e.get(t);t in Oe||(Oe[t]=o),n[5](t,se(o,r),o||_e)}},n[6],()=>!w(t)&&t in Oe?Oe[t]:!w(t)&&e.get(t)||_e]};let Ge=!0;const Or=()=>Ge,[ze,qe]=Re&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[oe,oe],Ar=()=>{const e=He&&document.visibilityState;return w(e)||e!=="hidden"},Cr=e=>(He&&document.addEventListener("visibilitychange",e),ze("focus",e),()=>{He&&document.removeEventListener("visibilitychange",e),qe("focus",e)}),Rr=e=>{const t=()=>{Ge=!0,e()},n=()=>{Ge=!1};return ze("online",t),ze("offline",n),()=>{qe("online",t),qe("offline",n)}},Tr={isOnline:Or,isVisible:Ar},Dr={initFocus:Cr,initReconnect:Rr},it=!h.useId,pe=!Re||"Deno"in window,kr=e=>wr()?window.requestAnimationFrame(e):setTimeout(e,1),Me=pe?h.useEffect:h.useLayoutEffect,xe=typeof navigator<"u"&&navigator.connection,ct=!pe&&xe&&(["slow-2g","2g"].includes(xe.effectiveType)||xe.saveData),Je=e=>{if(X(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?fe(e):"",[e,t]};let Nr=0;const Ye=()=>++Nr,zt=0,qt=1,Yt=2,Pr=3;var le={__proto__:null,ERROR_REVALIDATE_EVENT:Pr,FOCUS_EVENT:zt,MUTATE_EVENT:Yt,RECONNECT_EVENT:qt};async function Bt(...e){const[t,n,r,o]=e,s=se({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{});let a=s.populateCache;const l=s.rollbackOnError;let g=s.optimisticData;const d=p=>typeof l=="function"?l(p):l!==!1,c=s.throwOnError;if(X(n)){const p=n,f=[],y=t.keys();for(const m of y)!/^\$(inf|sub)\$/.test(m)&&p(t.get(m)._k)&&f.push(m);return Promise.all(f.map(u))}return u(n);async function u(p){const[f]=Je(p);if(!f)return;const[y,m]=Gt(t,f),[k,i,H,A]=Z.get(t),b=()=>{const F=k[f];return(X(s.revalidate)?s.revalidate(y().data,p):s.revalidate!==!1)&&(delete H[f],delete A[f],F&&F[0])?F[0](Yt).then(()=>y().data):y().data};if(e.length<3)return b();let O=r,v;const S=Ye();i[f]=[S,0];const R=!w(g),N=y(),x=N.data,z=N._c,q=w(z)?x:z;if(R&&(g=X(g)?g(q,x):g,m({data:g,_c:q})),X(O))try{O=O(q)}catch(F){v=F}if(O&&Er(O))if(O=await O.catch(F=>{v=F}),S!==i[f][0]){if(v)throw v;return O}else v&&R&&d(v)&&(a=!0,m({data:q,_c:V}));if(a&&!v)if(X(a)){const F=a(O,q);m({data:F,error:V,_c:V})}else m({data:O,error:V,_c:V});if(i[f][1]=Ye(),Promise.resolve(b()).then(()=>{m({_c:V})}),v){if(c)throw v;return}return O}}const ut=(e,t)=>{for(const n in e)e[n][0]&&e[n][0](t)},Ir=(e,t)=>{if(!Z.has(e)){const n=se(Dr,t),r={},o=Bt.bind(V,e);let s=oe;const a={},l=(c,u)=>{const p=a[c]||[];return a[c]=p,p.push(u),()=>p.splice(p.indexOf(u),1)},g=(c,u,p)=>{e.set(c,u);const f=a[c];if(f)for(const y of f)y(u,p)},d=()=>{if(!Z.has(e)&&(Z.set(e,[r,{},{},{},o,g,l]),!pe)){const c=n.initFocus(setTimeout.bind(V,ut.bind(V,r,zt))),u=n.initReconnect(setTimeout.bind(V,ut.bind(V,r,qt)));s=()=>{c&&c(),u&&u(),Z.delete(e)}}};return d(),[e,o,d,s]}return[e,Z.get(e)[4]]},jr=(e,t,n,r,o)=>{const s=n.errorRetryCount,a=o.retryCount,l=~~((Math.random()+.5)*(1<<(a<8?a:8)))*n.errorRetryInterval;!w(s)&&a>s||setTimeout(r,l,o)},_r=(e,t)=>fe(e)==fe(t),[Xt,Mr]=Ir(new Map),xr=se({onLoadingSlow:oe,onSuccess:oe,onError:oe,onErrorRetry:jr,onDiscarded:oe,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:ct?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:ct?5e3:3e3,compare:_r,isPaused:()=>!1,cache:Xt,mutate:Mr,fallback:{}},Tr),Fr=(e,t)=>{const n=se(e,t);if(t){const{use:r,fallback:o}=e,{use:s,fallback:a}=t;r&&s&&(n.use=r.concat(s)),o&&a&&(n.fallback=se(o,a))}return n},Lr=h.createContext({}),Vr="$inf$",Qt=Re&&window.__SWR_DEVTOOLS_USE__,Ur=Qt?window.__SWR_DEVTOOLS_USE__:[],Hr=()=>{Qt&&(window.__SWR_DEVTOOLS_REACT__=h)},Gr=e=>X(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],zr=()=>se(xr,h.useContext(Lr)),qr=e=>(t,n,r)=>e(t,n&&((...s)=>{const[a]=Je(t),[,,,l]=Z.get(Xt);if(a.startsWith(Vr))return n(...s);const g=l[a];return w(g)?n(...s):(delete l[a],g)}),r),Yr=Ur.concat(qr),Br=e=>function(...n){const r=zr(),[o,s,a]=Gr(n),l=Fr(r,a);let g=e;const{use:d}=l,c=(d||[]).concat(Yr);for(let u=c.length;u--;)g=c[u](g);return g(o,s||l.fetcher||null,l)},Xr=(e,t,n)=>{const r=t[e]||(t[e]=[]);return r.push(n),()=>{const o=r.indexOf(n);o>=0&&(r[o]=r[r.length-1],r.pop())}};Hr();const lt=h.use||(e=>{if(e.status==="pending")throw e;if(e.status==="fulfilled")return e.value;throw e.status==="rejected"?e.reason:(e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e)}),Fe={dedupe:!0},Qr=(e,t,n)=>{const{cache:r,compare:o,suspense:s,fallbackData:a,revalidateOnMount:l,revalidateIfStale:g,refreshInterval:d,refreshWhenHidden:c,refreshWhenOffline:u,keepPreviousData:p}=n,[f,y,m,k]=Z.get(r),[i,H]=Je(e),A=h.useRef(!1),b=h.useRef(!1),O=h.useRef(i),v=h.useRef(t),S=h.useRef(n),R=()=>S.current,N=()=>R().isVisible()&&R().isOnline(),[x,z,q,F]=Gt(r,i),Q=h.useRef({}).current,he=w(a)?n.fallback[i]:a,me=(D,T)=>{for(const I in Q){const P=I;if(P==="data"){if(!o(D[P],T[P])&&(!w(D[P])||!o(ie,T[P])))return!1}else if(T[P]!==D[P])return!1}return!0},ye=h.useMemo(()=>{const D=!i||!t?!1:w(l)?R().isPaused()||s?!1:w(g)?!0:g:l,T=L=>{const K=se(L);return delete K._k,D?{isValidating:!0,isLoading:!0,...K}:K},I=x(),P=F(),Y=T(I),ce=I===P?Y:T(P);let M=Y;return[()=>{const L=T(x());return me(L,M)?(M.data=L.data,M.isLoading=L.isLoading,M.isValidating=L.isValidating,M.error=L.error,M):(M=L,L)},()=>ce]},[r,i]),te=vr.useSyncExternalStore(h.useCallback(D=>q(i,(T,I)=>{me(I,T)||D()}),[r,i]),ye[0],ye[1]),Se=!A.current,Te=f[i]&&f[i].length>0,W=te.data,ae=w(W)?he:W,ne=te.error,ve=h.useRef(ae),ie=p?w(W)?ve.current:W:ae,E=Te&&!w(ne)?!1:Se&&!w(l)?l:R().isPaused()?!1:s?w(ae)?!1:g:w(ae)||g,C=!!(i&&t&&Se&&E),j=w(te.isValidating)?C:te.isValidating,U=w(te.isLoading)?C:te.isLoading,_=h.useCallback(async D=>{const T=v.current;if(!i||!T||b.current||R().isPaused())return!1;let I,P,Y=!0;const ce=D||{},M=!m[i]||!ce.dedupe,L=()=>it?!b.current&&i===O.current&&A.current:i===O.current,K={isValidating:!1,isLoading:!1},Ze=()=>{z(K)},$e=()=>{const G=m[i];G&&G[1]===P&&delete m[i]},et={isValidating:!0};w(x().data)&&(et.isLoading=!0);try{if(M&&(z(et),n.loadingTimeout&&w(x().data)&&setTimeout(()=>{Y&&L()&&R().onLoadingSlow(i,n)},n.loadingTimeout),m[i]=[T(H),Ye()]),[I,P]=m[i],I=await I,M&&setTimeout($e,n.dedupingInterval),!m[i]||m[i][1]!==P)return M&&L()&&R().onDiscarded(i),!1;K.error=V;const G=y[i];if(!w(G)&&(P<=G[0]||P<=G[1]||G[1]===0))return Ze(),M&&L()&&R().onDiscarded(i),!1;const J=x().data;K.data=o(J,I)?J:I,M&&L()&&R().onSuccess(I,i,n)}catch(G){$e();const J=R(),{shouldRetryOnError:De}=J;J.isPaused()||(K.error=G,M&&L()&&(J.onError(G,i,J),(De===!0||X(De)&&De(G))&&(!R().revalidateOnFocus||!R().revalidateOnReconnect||N())&&J.onErrorRetry(G,i,J,Wt=>{const ke=f[i];ke&&ke[0]&&ke[0](le.ERROR_REVALIDATE_EVENT,Wt)},{retryCount:(ce.retryCount||0)+1,dedupe:!0})))}return Y=!1,Ze(),!0},[i,r]),Ee=h.useCallback((...D)=>Bt(r,O.current,...D),[]);if(Me(()=>{v.current=t,S.current=n,w(W)||(ve.current=W)}),Me(()=>{if(!i)return;const D=_.bind(V,Fe);let T=0;const P=Xr(i,f,(Y,ce={})=>{if(Y==le.FOCUS_EVENT){const M=Date.now();R().revalidateOnFocus&&M>T&&N()&&(T=M+R().focusThrottleInterval,D())}else if(Y==le.RECONNECT_EVENT)R().revalidateOnReconnect&&N()&&D();else{if(Y==le.MUTATE_EVENT)return _();if(Y==le.ERROR_REVALIDATE_EVENT)return _(ce)}});return b.current=!1,O.current=i,A.current=!0,z({_k:H}),E&&(w(ae)||pe?D():kr(D)),()=>{b.current=!0,P()}},[i]),Me(()=>{let D;function T(){const P=X(d)?d(x().data):d;P&&D!==-1&&(D=setTimeout(I,P))}function I(){!x().error&&(c||R().isVisible())&&(u||R().isOnline())?_(Fe).then(T):T()}return T(),()=>{D&&(clearTimeout(D),D=-1)}},[d,c,u,i]),h.useDebugValue(ie),s&&w(ae)&&i){if(!it&&pe)throw new Error("Fallback data is required when using suspense in SSR.");v.current=t,S.current=n,b.current=!1;const D=k[i];if(!w(D)){const T=Ee(D);lt(T)}if(w(ne)){const T=_(Fe);w(ie)||(T.status="fulfilled",T.value=!0),lt(T)}else throw ne}return{mutate:Ee,get data(){return Q.data=!0,ie},get error(){return Q.error=!0,ne},get isValidating(){return Q.isValidating=!0,j},get isLoading(){return Q.isLoading=!0,U}}},Wr=Br(Qr);function Kr(){const{apiUrl:e,botToken:t}=ee(),n=ft({apiUrl:e,botToken:t});return Wr(n.options,n.apis.fetchPreludeData)}exports.WidgetRoot=mr;exports.__rest=Xe;exports.__spreadArray=We;exports._default=de;exports.commonjsGlobal=Gn;exports.createSafeContext=ge;exports.getDefaultExportFromCjs=zn;exports.useChat=ur;exports.useConfigData=ee;exports.useContact=pr;exports.useLocale=pt;exports.usePreludeData=Kr;exports.useUploadFiles=$n;exports.useWidgetSoundEffects=Ht;
18
+ //# sourceMappingURL=index-DQmRZV3b.cjs.map