@8wave/ai-elements 0.82.0 → 0.83.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 (383) hide show
  1. package/dist/_chunks/{PkToolShowComparison-D_DtpXRO.js → PkToolShowComparison-CGflZD9j.js} +2 -2
  2. package/dist/_chunks/PkToolShowComparison-CGflZD9j.js.map +1 -0
  3. package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js → PkToolShowProductList-DvSGk45f.js} +2 -2
  4. package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js.map → PkToolShowProductList-DvSGk45f.js.map} +1 -1
  5. package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js → PkToolShowWebPages-C2VvN6sE.js} +2 -2
  6. package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js.map → PkToolShowWebPages-C2VvN6sE.js.map} +1 -1
  7. package/dist/_chunks/{PkUrl-Dsi-Zezs.js → PkUrl-BVv89CMm.js} +2 -2
  8. package/dist/_chunks/{PkUrl-Dsi-Zezs.js.map → PkUrl-BVv89CMm.js.map} +1 -1
  9. package/dist/_chunks/{VvCheckbox.es-LSjS8_8K.js → VvCheckbox.es-BsF_JJw_.js} +2 -2
  10. package/dist/_chunks/VvCheckbox.es-BsF_JJw_.js.map +1 -0
  11. package/dist/_chunks/{VvCheckboxGroup.es-CR5ZTD2H.js → VvCheckboxGroup.es-Blgwe85A.js} +2 -2
  12. package/dist/_chunks/VvCheckboxGroup.es-Blgwe85A.js.map +1 -0
  13. package/dist/_chunks/{VvCombobox.es-B8E1RmUn.js → VvCombobox.es-BQ31qIIa.js} +2 -2
  14. package/dist/_chunks/VvCombobox.es-BQ31qIIa.js.map +1 -0
  15. package/dist/_chunks/{VvInputText.es-BYAhw1yP.js → VvInputText.es-DtzvbGMQ.js} +2 -2
  16. package/dist/_chunks/VvInputText.es-DtzvbGMQ.js.map +1 -0
  17. package/dist/_chunks/{VvRadio.es-CQj6S-QP.js → VvRadio.es-DJY-UZOw.js} +2 -2
  18. package/dist/_chunks/VvRadio.es-DJY-UZOw.js.map +1 -0
  19. package/dist/_chunks/{VvRadioGroup.es-9AWwbBXm.js → VvRadioGroup.es-2xgX8Gdu.js} +2 -2
  20. package/dist/_chunks/VvRadioGroup.es-2xgX8Gdu.js.map +1 -0
  21. package/dist/_chunks/{VvSelect.es-DAmZPvCV.js → VvSelect.es-D5RIWAgh.js} +2 -2
  22. package/dist/_chunks/VvSelect.es-D5RIWAgh.js.map +1 -0
  23. package/dist/_chunks/{VvTextarea.es-BfgLTEPk.js → VvTextarea.es-C_kKlPCs.js} +2 -2
  24. package/dist/_chunks/VvTextarea.es-C_kKlPCs.js.map +1 -0
  25. package/dist/_chunks/index.es-D6JnX5Jz.js.map +1 -1
  26. package/dist/ai-elements.es.js +5538 -5413
  27. package/dist/ai-elements.es.js.map +1 -1
  28. package/dist-vue/PkChatbot.js +1 -1
  29. package/dist-vue/PkChatbotError.js +1 -1
  30. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  31. package/dist-vue/PkChatbotFilePreview.js +1 -1
  32. package/dist-vue/PkChatbotInput.js +1 -1
  33. package/dist-vue/PkChatbotMessages.js +1 -1
  34. package/dist-vue/PkChatbotViewChat.js +1 -1
  35. package/dist-vue/PkChatbotViewConversations.js +1 -1
  36. package/dist-vue/PkChatbotViewProfile.js +1 -1
  37. package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js +191 -0
  38. package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js.map +1 -0
  39. package/dist-vue/_chunks/{PkChatbotError-C1ZxZlwQ.js → PkChatbotError-BlZ4WNup.js} +2 -2
  40. package/dist-vue/_chunks/PkChatbotError-BlZ4WNup.js.map +1 -0
  41. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js → PkChatbotFeedbackForm-Buzwweuj.js} +2 -2
  42. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js.map → PkChatbotFeedbackForm-Buzwweuj.js.map} +1 -1
  43. package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js → PkChatbotFilePreview-0N9ASbIp.js} +1 -1
  44. package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js.map → PkChatbotFilePreview-0N9ASbIp.js.map} +1 -1
  45. package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js → PkChatbotInput-CsazCkTA.js} +3 -3
  46. package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js.map → PkChatbotInput-CsazCkTA.js.map} +1 -1
  47. package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js +472 -0
  48. package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js.map +1 -0
  49. package/dist-vue/_chunks/{PkChatbotViewChat-hqsvz_7X.js → PkChatbotViewChat-BROfuqG3.js} +23 -22
  50. package/dist-vue/_chunks/PkChatbotViewChat-BROfuqG3.js.map +1 -0
  51. package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js → PkChatbotViewConversations-B19iyIBD.js} +3 -3
  52. package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js.map → PkChatbotViewConversations-B19iyIBD.js.map} +1 -1
  53. package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js → PkChatbotViewProfile-D2raknfo.js} +2 -2
  54. package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js.map → PkChatbotViewProfile-D2raknfo.js.map} +1 -1
  55. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js → PkRelativeTime-WZ2aPcp_.js} +1 -1
  56. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js.map → PkRelativeTime-WZ2aPcp_.js.map} +1 -1
  57. package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js → PkStreamingMarkdown-BUiAi-qv.js} +1 -1
  58. package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js.map → PkStreamingMarkdown-BUiAi-qv.js.map} +1 -1
  59. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js → PkToolRequestOAuthConnection-CCVLUbiX.js} +2 -2
  60. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js.map → PkToolRequestOAuthConnection-CCVLUbiX.js.map} +1 -1
  61. package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js → PkToolShowArtifact-B13M7nEV.js} +3 -3
  62. package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js.map → PkToolShowArtifact-B13M7nEV.js.map} +1 -1
  63. package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js → PkToolShowCalendarEvent-BuTDY0xa.js} +2 -2
  64. package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js.map → PkToolShowCalendarEvent-BuTDY0xa.js.map} +1 -1
  65. package/dist-vue/_chunks/{PkToolShowComparison-CZ3kO6PT.js → PkToolShowComparison-By5K23oe.js} +3 -3
  66. package/dist-vue/_chunks/PkToolShowComparison-By5K23oe.js.map +1 -0
  67. package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js +122 -0
  68. package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js.map +1 -0
  69. package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js → PkToolShowEmail-DFM6ClX-.js} +2 -2
  70. package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js.map → PkToolShowEmail-DFM6ClX-.js.map} +1 -1
  71. package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js → PkToolShowImageGallery-By3Evwn4.js} +3 -3
  72. package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js.map → PkToolShowImageGallery-By3Evwn4.js.map} +1 -1
  73. package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js → PkToolShowLocation-DW55PIk2.js} +2 -2
  74. package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js.map → PkToolShowLocation-DW55PIk2.js.map} +1 -1
  75. package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js → PkToolShowMessage-BUujtIdB.js} +2 -2
  76. package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js.map → PkToolShowMessage-BUujtIdB.js.map} +1 -1
  77. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js → PkToolShowMultipleChoice-DoQHEPc0.js} +2 -2
  78. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js.map → PkToolShowMultipleChoice-DoQHEPc0.js.map} +1 -1
  79. package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js → PkToolShowProductList-C6pMC0td.js} +3 -3
  80. package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js.map → PkToolShowProductList-C6pMC0td.js.map} +1 -1
  81. package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js → PkToolShowQrCode-DZNSI7WD.js} +2 -2
  82. package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js.map → PkToolShowQrCode-DZNSI7WD.js.map} +1 -1
  83. package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js → PkToolShowSources-9avCy0zx.js} +4 -4
  84. package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js.map → PkToolShowSources-9avCy0zx.js.map} +1 -1
  85. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js → PkToolShowSuggestedReply-BCdanuPg.js} +2 -2
  86. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js.map → PkToolShowSuggestedReply-BCdanuPg.js.map} +1 -1
  87. package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js → PkToolShowWeather-BAHfvDAa.js} +1 -1
  88. package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js.map → PkToolShowWeather-BAHfvDAa.js.map} +1 -1
  89. package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js → PkToolShowWebPages-CRnjWep6.js} +3 -3
  90. package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js.map → PkToolShowWebPages-CRnjWep6.js.map} +1 -1
  91. package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js → PkUrl-Da1k1VEM.js} +1 -1
  92. package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js.map → PkUrl-Da1k1VEM.js.map} +1 -1
  93. package/dist-vue/_chunks/{apl-Q8pZMVVP.js → apl-BAiRVRB9.js} +1 -1
  94. package/dist-vue/_chunks/{apl-Q8pZMVVP.js.map → apl-BAiRVRB9.js.map} +1 -1
  95. package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js → asciiarmor-CDnl80Cc.js} +1 -1
  96. package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js.map → asciiarmor-CDnl80Cc.js.map} +1 -1
  97. package/dist-vue/_chunks/{asn1-D02Lu2iy.js → asn1-f4a3R9bP.js} +1 -1
  98. package/dist-vue/_chunks/{asn1-D02Lu2iy.js.map → asn1-f4a3R9bP.js.map} +1 -1
  99. package/dist-vue/_chunks/{asterisk-CNRpuZz9.js → asterisk-TbfcWk59.js} +1 -1
  100. package/dist-vue/_chunks/{asterisk-CNRpuZz9.js.map → asterisk-TbfcWk59.js.map} +1 -1
  101. package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js → brainfuck-4PV2XjYq.js} +1 -1
  102. package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js.map → brainfuck-4PV2XjYq.js.map} +1 -1
  103. package/dist-vue/_chunks/{clike-D8bd4tzV.js → clike-BwgfIzU-.js} +1 -1
  104. package/dist-vue/_chunks/{clike-D8bd4tzV.js.map → clike-BwgfIzU-.js.map} +1 -1
  105. package/dist-vue/_chunks/{clojure-wIiobTMZ.js → clojure-D3pGxSKq.js} +1 -1
  106. package/dist-vue/_chunks/{clojure-wIiobTMZ.js.map → clojure-D3pGxSKq.js.map} +1 -1
  107. package/dist-vue/_chunks/{cmake-BXv0H94m.js → cmake-BCnKEIrD.js} +1 -1
  108. package/dist-vue/_chunks/{cmake-BXv0H94m.js.map → cmake-BCnKEIrD.js.map} +1 -1
  109. package/dist-vue/_chunks/{cobol-DHS--Q0E.js → cobol-BYaGw1Yw.js} +1 -1
  110. package/dist-vue/_chunks/{cobol-DHS--Q0E.js.map → cobol-BYaGw1Yw.js.map} +1 -1
  111. package/dist-vue/_chunks/{coffeescript-DuPphqba.js → coffeescript-BkiWHrll.js} +1 -1
  112. package/dist-vue/_chunks/{coffeescript-DuPphqba.js.map → coffeescript-BkiWHrll.js.map} +1 -1
  113. package/dist-vue/_chunks/{commonlisp-C978VsBx.js → commonlisp-BmB0kcsA.js} +1 -1
  114. package/dist-vue/_chunks/{commonlisp-C978VsBx.js.map → commonlisp-BmB0kcsA.js.map} +1 -1
  115. package/dist-vue/_chunks/{createChatbotApiClient-tAXyZCUx.js → createChatbotApiClient-Dcrje955.js} +211 -115
  116. package/dist-vue/_chunks/createChatbotApiClient-Dcrje955.js.map +1 -0
  117. package/dist-vue/_chunks/{crystal-BTi9IGqB.js → crystal-j2Uodr6G.js} +1 -1
  118. package/dist-vue/_chunks/{crystal-BTi9IGqB.js.map → crystal-j2Uodr6G.js.map} +1 -1
  119. package/dist-vue/_chunks/{css-Byc0XEOa.js → css-DikOvTi5.js} +1 -1
  120. package/dist-vue/_chunks/{css-Byc0XEOa.js.map → css-DikOvTi5.js.map} +1 -1
  121. package/dist-vue/_chunks/{cypher-DbIDcgjc.js → cypher-CocRBvf0.js} +1 -1
  122. package/dist-vue/_chunks/{cypher-DbIDcgjc.js.map → cypher-CocRBvf0.js.map} +1 -1
  123. package/dist-vue/_chunks/{d-CfpiXU_s.js → d-By563UA3.js} +1 -1
  124. package/dist-vue/_chunks/{d-CfpiXU_s.js.map → d-By563UA3.js.map} +1 -1
  125. package/dist-vue/_chunks/{diff-Chsz7v8H.js → diff-B1bbhSQg.js} +1 -1
  126. package/dist-vue/_chunks/{diff-Chsz7v8H.js.map → diff-B1bbhSQg.js.map} +1 -1
  127. package/dist-vue/_chunks/{dist-BX9gMnDv.js → dist-1VuiSmDe.js} +3 -3
  128. package/dist-vue/_chunks/{dist-BX9gMnDv.js.map → dist-1VuiSmDe.js.map} +1 -1
  129. package/dist-vue/_chunks/{dist--K3HVPFP.js → dist-4zE2m0cC.js} +2 -2
  130. package/dist-vue/_chunks/{dist--K3HVPFP.js.map → dist-4zE2m0cC.js.map} +1 -1
  131. package/dist-vue/_chunks/{dist-DKu5hMyS.js → dist-6CvrlmzR.js} +5 -5
  132. package/dist-vue/_chunks/{dist-DKu5hMyS.js.map → dist-6CvrlmzR.js.map} +1 -1
  133. package/dist-vue/_chunks/{dist-dGGJB751.js → dist-BDIP4oQC.js} +3 -3
  134. package/dist-vue/_chunks/{dist-dGGJB751.js.map → dist-BDIP4oQC.js.map} +1 -1
  135. package/dist-vue/_chunks/{dist-BAhi8JnF.js → dist-BYcMzoKR.js} +2 -2
  136. package/dist-vue/_chunks/{dist-BAhi8JnF.js.map → dist-BYcMzoKR.js.map} +1 -1
  137. package/dist-vue/_chunks/{dist-sJCKYKfx.js → dist-BxM_in4x.js} +3 -3
  138. package/dist-vue/_chunks/{dist-sJCKYKfx.js.map → dist-BxM_in4x.js.map} +1 -1
  139. package/dist-vue/_chunks/{dist-qpPts-lE.js → dist-ByBDQkx9.js} +4 -4
  140. package/dist-vue/_chunks/{dist-qpPts-lE.js.map → dist-ByBDQkx9.js.map} +1 -1
  141. package/dist-vue/_chunks/{dist-C4Q2oVwo.js → dist-CbDm9BNK.js} +2 -2
  142. package/dist-vue/_chunks/{dist-C4Q2oVwo.js.map → dist-CbDm9BNK.js.map} +1 -1
  143. package/dist-vue/_chunks/{dist-Tm13weGi.js → dist-CcI0VoWs.js} +3 -3
  144. package/dist-vue/_chunks/{dist-Tm13weGi.js.map → dist-CcI0VoWs.js.map} +1 -1
  145. package/dist-vue/_chunks/{dist-DyCRk5Sz2.js → dist-CkV64K6q2.js} +3 -3
  146. package/dist-vue/_chunks/{dist-DyCRk5Sz2.js.map → dist-CkV64K6q2.js.map} +1 -1
  147. package/dist-vue/_chunks/{dist-CIN_Avbm.js → dist-D-R9PvqV.js} +1 -1
  148. package/dist-vue/_chunks/{dist-CIN_Avbm.js.map → dist-D-R9PvqV.js.map} +1 -1
  149. package/dist-vue/_chunks/{dist-KnH97L2h2.js → dist-D0U7Raxc2.js} +4 -4
  150. package/dist-vue/_chunks/{dist-KnH97L2h2.js.map → dist-D0U7Raxc2.js.map} +1 -1
  151. package/dist-vue/_chunks/{dist-B0QmqS0N.js → dist-D0Wm5IxH.js} +3 -3
  152. package/dist-vue/_chunks/{dist-B0QmqS0N.js.map → dist-D0Wm5IxH.js.map} +1 -1
  153. package/dist-vue/_chunks/{dist-DFvVVU0-.js → dist-D1-E577I.js} +2 -2
  154. package/dist-vue/_chunks/{dist-DFvVVU0-.js.map → dist-D1-E577I.js.map} +1 -1
  155. package/dist-vue/_chunks/{dist-DBu5ECbV2.js → dist-DC8yN_w12.js} +2 -2
  156. package/dist-vue/_chunks/{dist-DBu5ECbV2.js.map → dist-DC8yN_w12.js.map} +1 -1
  157. package/dist-vue/_chunks/{dist-DfJ0x-DV.js → dist-DIVYK7vr.js} +2 -2
  158. package/dist-vue/_chunks/{dist-DfJ0x-DV.js.map → dist-DIVYK7vr.js.map} +1 -1
  159. package/dist-vue/_chunks/{dist-DnGUlg51.js → dist-DIujXFeP.js} +3 -3
  160. package/dist-vue/_chunks/{dist-DnGUlg51.js.map → dist-DIujXFeP.js.map} +1 -1
  161. package/dist-vue/_chunks/{dist-8Ba2NTwQ.js → dist-DNMuMsYA.js} +3 -3
  162. package/dist-vue/_chunks/{dist-8Ba2NTwQ.js.map → dist-DNMuMsYA.js.map} +1 -1
  163. package/dist-vue/_chunks/{dist-DpBbH8yX.js → dist-Dq2JgmgY.js} +3 -3
  164. package/dist-vue/_chunks/{dist-DpBbH8yX.js.map → dist-Dq2JgmgY.js.map} +1 -1
  165. package/dist-vue/_chunks/{dist-D1vdEteA.js → dist-DtMND9KH.js} +2 -2
  166. package/dist-vue/_chunks/{dist-D1vdEteA.js.map → dist-DtMND9KH.js.map} +1 -1
  167. package/dist-vue/_chunks/{dist-BXMdPs2n.js → dist-Dy4eir4A.js} +2 -2
  168. package/dist-vue/_chunks/{dist-BXMdPs2n.js.map → dist-Dy4eir4A.js.map} +1 -1
  169. package/dist-vue/_chunks/{dist-zSYkbMGo.js → dist-x0QhP1E9.js} +4 -4
  170. package/dist-vue/_chunks/{dist-zSYkbMGo.js.map → dist-x0QhP1E9.js.map} +1 -1
  171. package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js → dockerfile-DE9wt2dL.js} +2 -2
  172. package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js.map → dockerfile-DE9wt2dL.js.map} +1 -1
  173. package/dist-vue/_chunks/{dtd-Bly5BFAf.js → dtd-CqxlpCqG.js} +1 -1
  174. package/dist-vue/_chunks/{dtd-Bly5BFAf.js.map → dtd-CqxlpCqG.js.map} +1 -1
  175. package/dist-vue/_chunks/{dylan-CzoYHa03.js → dylan-D1Gpc3L-.js} +1 -1
  176. package/dist-vue/_chunks/{dylan-CzoYHa03.js.map → dylan-D1Gpc3L-.js.map} +1 -1
  177. package/dist-vue/_chunks/{ebnf-4baG1T13.js → ebnf-DgP0YVa-.js} +1 -1
  178. package/dist-vue/_chunks/{ebnf-4baG1T13.js.map → ebnf-DgP0YVa-.js.map} +1 -1
  179. package/dist-vue/_chunks/{ecl-DUKN-Onz.js → ecl-KeBeM266.js} +1 -1
  180. package/dist-vue/_chunks/{ecl-DUKN-Onz.js.map → ecl-KeBeM266.js.map} +1 -1
  181. package/dist-vue/_chunks/{eiffel-Call-dqp.js → eiffel-C2i3fXO-.js} +1 -1
  182. package/dist-vue/_chunks/{eiffel-Call-dqp.js.map → eiffel-C2i3fXO-.js.map} +1 -1
  183. package/dist-vue/_chunks/{elm-DW-uVY9B.js → elm-Bv3L_mvL.js} +1 -1
  184. package/dist-vue/_chunks/{elm-DW-uVY9B.js.map → elm-Bv3L_mvL.js.map} +1 -1
  185. package/dist-vue/_chunks/{erlang-qvATK88s.js → erlang-DDXGK6MZ.js} +1 -1
  186. package/dist-vue/_chunks/{erlang-qvATK88s.js.map → erlang-DDXGK6MZ.js.map} +1 -1
  187. package/dist-vue/_chunks/{factor-DLyqB44S.js → factor-BMluBoEh.js} +2 -2
  188. package/dist-vue/_chunks/{factor-DLyqB44S.js.map → factor-BMluBoEh.js.map} +1 -1
  189. package/dist-vue/_chunks/{fcl-BrnRqE-k.js → fcl-Cmz-2giq.js} +1 -1
  190. package/dist-vue/_chunks/{fcl-BrnRqE-k.js.map → fcl-Cmz-2giq.js.map} +1 -1
  191. package/dist-vue/_chunks/{forth-DeYqvv5h.js → forth-DaWjj3JF.js} +1 -1
  192. package/dist-vue/_chunks/{forth-DeYqvv5h.js.map → forth-DaWjj3JF.js.map} +1 -1
  193. package/dist-vue/_chunks/{fortran-DdvDmAzM.js → fortran-Cjf1_njC.js} +1 -1
  194. package/dist-vue/_chunks/{fortran-DdvDmAzM.js.map → fortran-Cjf1_njC.js.map} +1 -1
  195. package/dist-vue/_chunks/{gas-BNdHmuUu.js → gas-Dw0EKIt6.js} +1 -1
  196. package/dist-vue/_chunks/{gas-BNdHmuUu.js.map → gas-Dw0EKIt6.js.map} +1 -1
  197. package/dist-vue/_chunks/{gherkin-CBC9qNkO.js → gherkin-BmhCQ-3F.js} +1 -1
  198. package/dist-vue/_chunks/{gherkin-CBC9qNkO.js.map → gherkin-BmhCQ-3F.js.map} +1 -1
  199. package/dist-vue/_chunks/{groovy-GC0PSVJU.js → groovy-Ce2VCAj0.js} +1 -1
  200. package/dist-vue/_chunks/{groovy-GC0PSVJU.js.map → groovy-Ce2VCAj0.js.map} +1 -1
  201. package/dist-vue/_chunks/{haskell-BKrhNlBi.js → haskell-CL9NsPDf.js} +1 -1
  202. package/dist-vue/_chunks/{haskell-BKrhNlBi.js.map → haskell-CL9NsPDf.js.map} +1 -1
  203. package/dist-vue/_chunks/{haxe-CPxacElW.js → haxe-Bbed1mIk.js} +1 -1
  204. package/dist-vue/_chunks/{haxe-CPxacElW.js.map → haxe-Bbed1mIk.js.map} +1 -1
  205. package/dist-vue/_chunks/{http-B_g6rpYy.js → http-CQ9T-AS4.js} +1 -1
  206. package/dist-vue/_chunks/{http-B_g6rpYy.js.map → http-CQ9T-AS4.js.map} +1 -1
  207. package/dist-vue/_chunks/{idl-nWWgQIyM.js → idl-CvhgP0zv.js} +1 -1
  208. package/dist-vue/_chunks/{idl-nWWgQIyM.js.map → idl-CvhgP0zv.js.map} +1 -1
  209. package/dist-vue/_chunks/{javascript-LK1o3VqT.js → javascript-Btb8UHXp.js} +1 -1
  210. package/dist-vue/_chunks/{javascript-LK1o3VqT.js.map → javascript-Btb8UHXp.js.map} +1 -1
  211. package/dist-vue/_chunks/{julia-BTozo5av.js → julia-DTNyuRVE.js} +1 -1
  212. package/dist-vue/_chunks/{julia-BTozo5av.js.map → julia-DTNyuRVE.js.map} +1 -1
  213. package/dist-vue/_chunks/{livescript-DpF2_JFC.js → livescript-CsLAR-Dk.js} +1 -1
  214. package/dist-vue/_chunks/{livescript-DpF2_JFC.js.map → livescript-CsLAR-Dk.js.map} +1 -1
  215. package/dist-vue/_chunks/{lua-tQN-2Pk0.js → lua-TjS61pff.js} +1 -1
  216. package/dist-vue/_chunks/{lua-tQN-2Pk0.js.map → lua-TjS61pff.js.map} +1 -1
  217. package/dist-vue/_chunks/{mathematica-CvawU267.js → mathematica-B36wjihf.js} +1 -1
  218. package/dist-vue/_chunks/{mathematica-CvawU267.js.map → mathematica-B36wjihf.js.map} +1 -1
  219. package/dist-vue/_chunks/{mbox-CoCfe6cW.js → mbox-l34D_Sup.js} +1 -1
  220. package/dist-vue/_chunks/{mbox-CoCfe6cW.js.map → mbox-l34D_Sup.js.map} +1 -1
  221. package/dist-vue/_chunks/{mirc-COd5tE63.js → mirc-ClsitdIY.js} +1 -1
  222. package/dist-vue/_chunks/{mirc-COd5tE63.js.map → mirc-ClsitdIY.js.map} +1 -1
  223. package/dist-vue/_chunks/{mllike-DDHxpeHd.js → mllike-CfQSkcI7.js} +1 -1
  224. package/dist-vue/_chunks/{mllike-DDHxpeHd.js.map → mllike-CfQSkcI7.js.map} +1 -1
  225. package/dist-vue/_chunks/{modelica-lMYNHoEu.js → modelica-CbCNcNrB.js} +1 -1
  226. package/dist-vue/_chunks/{modelica-lMYNHoEu.js.map → modelica-CbCNcNrB.js.map} +1 -1
  227. package/dist-vue/_chunks/{mscgen-BDVHHK85.js → mscgen-BEGyn8Kg.js} +1 -1
  228. package/dist-vue/_chunks/{mscgen-BDVHHK85.js.map → mscgen-BEGyn8Kg.js.map} +1 -1
  229. package/dist-vue/_chunks/{mumps-Cytx8qiy.js → mumps-Dr2ezLO-.js} +1 -1
  230. package/dist-vue/_chunks/{mumps-Cytx8qiy.js.map → mumps-Dr2ezLO-.js.map} +1 -1
  231. package/dist-vue/_chunks/{nginx-DkyUeyBK.js → nginx-Bi4gDD3m.js} +1 -1
  232. package/dist-vue/_chunks/{nginx-DkyUeyBK.js.map → nginx-Bi4gDD3m.js.map} +1 -1
  233. package/dist-vue/_chunks/{nsis-if-eCOXK.js → nsis-tIoKsxwO.js} +2 -2
  234. package/dist-vue/_chunks/{nsis-if-eCOXK.js.map → nsis-tIoKsxwO.js.map} +1 -1
  235. package/dist-vue/_chunks/{ntriples-D-c0_vEi.js → ntriples-BpLyHtBK.js} +1 -1
  236. package/dist-vue/_chunks/{ntriples-D-c0_vEi.js.map → ntriples-BpLyHtBK.js.map} +1 -1
  237. package/dist-vue/_chunks/{octave-Co_9SHXf.js → octave-BFLmhqOS.js} +1 -1
  238. package/dist-vue/_chunks/{octave-Co_9SHXf.js.map → octave-BFLmhqOS.js.map} +1 -1
  239. package/dist-vue/_chunks/{oz-0gSLg5tX.js → oz-DZWYUv0Q.js} +1 -1
  240. package/dist-vue/_chunks/{oz-0gSLg5tX.js.map → oz-DZWYUv0Q.js.map} +1 -1
  241. package/dist-vue/_chunks/{pascal-EFiy6L3H.js → pascal-C9E98ftD.js} +1 -1
  242. package/dist-vue/_chunks/{pascal-EFiy6L3H.js.map → pascal-C9E98ftD.js.map} +1 -1
  243. package/dist-vue/_chunks/{perl-6G11E8em.js → perl-BVKFqc1F.js} +1 -1
  244. package/dist-vue/_chunks/{perl-6G11E8em.js.map → perl-BVKFqc1F.js.map} +1 -1
  245. package/dist-vue/_chunks/{pig-BW1hm3XT.js → pig-D6QFO3WI.js} +1 -1
  246. package/dist-vue/_chunks/{pig-BW1hm3XT.js.map → pig-D6QFO3WI.js.map} +1 -1
  247. package/dist-vue/_chunks/{powershell-Bt-QJoDH.js → powershell-2IfoeWan.js} +1 -1
  248. package/dist-vue/_chunks/{powershell-Bt-QJoDH.js.map → powershell-2IfoeWan.js.map} +1 -1
  249. package/dist-vue/_chunks/{properties-D_XHdyRl.js → properties-C2B2ArUy.js} +1 -1
  250. package/dist-vue/_chunks/{properties-D_XHdyRl.js.map → properties-C2B2ArUy.js.map} +1 -1
  251. package/dist-vue/_chunks/{protobuf-B2341jP2.js → protobuf-B4WeH-l7.js} +1 -1
  252. package/dist-vue/_chunks/{protobuf-B2341jP2.js.map → protobuf-B4WeH-l7.js.map} +1 -1
  253. package/dist-vue/_chunks/{pug-16scRmP0.js → pug-CQ-5YOub.js} +2 -2
  254. package/dist-vue/_chunks/{pug-16scRmP0.js.map → pug-CQ-5YOub.js.map} +1 -1
  255. package/dist-vue/_chunks/{puppet-BnknQ9uc.js → puppet-C57db21O.js} +1 -1
  256. package/dist-vue/_chunks/{puppet-BnknQ9uc.js.map → puppet-C57db21O.js.map} +1 -1
  257. package/dist-vue/_chunks/{python-Dx6wyD-h.js → python-L3kdHi6C.js} +1 -1
  258. package/dist-vue/_chunks/{python-Dx6wyD-h.js.map → python-L3kdHi6C.js.map} +1 -1
  259. package/dist-vue/_chunks/{q-CwYXS2Js.js → q-DQI-vHRp.js} +1 -1
  260. package/dist-vue/_chunks/{q-CwYXS2Js.js.map → q-DQI-vHRp.js.map} +1 -1
  261. package/dist-vue/_chunks/{r-B31sqbQ3.js → r-DhKB-o8I.js} +1 -1
  262. package/dist-vue/_chunks/{r-B31sqbQ3.js.map → r-DhKB-o8I.js.map} +1 -1
  263. package/dist-vue/_chunks/{rpm-B0MmKWRw.js → rpm-D56QajaS.js} +1 -1
  264. package/dist-vue/_chunks/{rpm-B0MmKWRw.js.map → rpm-D56QajaS.js.map} +1 -1
  265. package/dist-vue/_chunks/{ruby-DXiHl-Yz.js → ruby-BcD3iVWj.js} +1 -1
  266. package/dist-vue/_chunks/{ruby-DXiHl-Yz.js.map → ruby-BcD3iVWj.js.map} +1 -1
  267. package/dist-vue/_chunks/{sas-B4XJ2693.js → sas-D1OuUIKN.js} +1 -1
  268. package/dist-vue/_chunks/{sas-B4XJ2693.js.map → sas-D1OuUIKN.js.map} +1 -1
  269. package/dist-vue/_chunks/{scheme-Df6d10fH.js → scheme-CUrJ3_0S.js} +1 -1
  270. package/dist-vue/_chunks/{scheme-Df6d10fH.js.map → scheme-CUrJ3_0S.js.map} +1 -1
  271. package/dist-vue/_chunks/{shell-BV8cKKHJ.js → shell-BPM0XoRU.js} +1 -1
  272. package/dist-vue/_chunks/{shell-BV8cKKHJ.js.map → shell-BPM0XoRU.js.map} +1 -1
  273. package/dist-vue/_chunks/{sieve-KCcjO0gU.js → sieve-n-ojLaJW.js} +1 -1
  274. package/dist-vue/_chunks/{sieve-KCcjO0gU.js.map → sieve-n-ojLaJW.js.map} +1 -1
  275. package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js → simple-mode-DGBVTMBE.js} +1 -1
  276. package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js.map → simple-mode-DGBVTMBE.js.map} +1 -1
  277. package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js → smalltalk-CbOtG3J-.js} +1 -1
  278. package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js.map → smalltalk-CbOtG3J-.js.map} +1 -1
  279. package/dist-vue/_chunks/{solr-D67CeY1D.js → solr-CC7GnBmE.js} +1 -1
  280. package/dist-vue/_chunks/{solr-D67CeY1D.js.map → solr-CC7GnBmE.js.map} +1 -1
  281. package/dist-vue/_chunks/{sparql-D0t-Guzg.js → sparql-DC2C8LuG.js} +1 -1
  282. package/dist-vue/_chunks/{sparql-D0t-Guzg.js.map → sparql-DC2C8LuG.js.map} +1 -1
  283. package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js → spreadsheet-rMh9jzuD.js} +1 -1
  284. package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js.map → spreadsheet-rMh9jzuD.js.map} +1 -1
  285. package/dist-vue/_chunks/{sql-B5Rl3TuV.js → sql-C15h02N-.js} +1 -1
  286. package/dist-vue/_chunks/{sql-B5Rl3TuV.js.map → sql-C15h02N-.js.map} +1 -1
  287. package/dist-vue/_chunks/{stex-Bu2gC9SM.js → stex-BQU7jli4.js} +1 -1
  288. package/dist-vue/_chunks/{stex-Bu2gC9SM.js.map → stex-BQU7jli4.js.map} +1 -1
  289. package/dist-vue/_chunks/{stylus-SIPLRHxF.js → stylus-Fj84CAVA.js} +1 -1
  290. package/dist-vue/_chunks/{stylus-SIPLRHxF.js.map → stylus-Fj84CAVA.js.map} +1 -1
  291. package/dist-vue/_chunks/{swift-B_JaBro8.js → swift-CrzZIdws.js} +1 -1
  292. package/dist-vue/_chunks/{swift-B_JaBro8.js.map → swift-CrzZIdws.js.map} +1 -1
  293. package/dist-vue/_chunks/{tcl-ChmdQusa.js → tcl-BvFcqrC1.js} +1 -1
  294. package/dist-vue/_chunks/{tcl-ChmdQusa.js.map → tcl-BvFcqrC1.js.map} +1 -1
  295. package/dist-vue/_chunks/{textile-BukFHU5C.js → textile-CAX0nrzJ.js} +1 -1
  296. package/dist-vue/_chunks/{textile-BukFHU5C.js.map → textile-CAX0nrzJ.js.map} +1 -1
  297. package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js → tiddlywiki-D5Gu8Cgp.js} +1 -1
  298. package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js.map → tiddlywiki-D5Gu8Cgp.js.map} +1 -1
  299. package/dist-vue/_chunks/{tiki-DqShKWqG.js → tiki-BelGwBNb.js} +1 -1
  300. package/dist-vue/_chunks/{tiki-DqShKWqG.js.map → tiki-BelGwBNb.js.map} +1 -1
  301. package/dist-vue/_chunks/{toml-BATqZFcK.js → toml-BEm4Ctws.js} +1 -1
  302. package/dist-vue/_chunks/{toml-BATqZFcK.js.map → toml-BEm4Ctws.js.map} +1 -1
  303. package/dist-vue/_chunks/{troff-PbwxY1FZ.js → troff-lWffuAea.js} +1 -1
  304. package/dist-vue/_chunks/{troff-PbwxY1FZ.js.map → troff-lWffuAea.js.map} +1 -1
  305. package/dist-vue/_chunks/{ttcn-BSxIkHWh.js → ttcn-CJo3GWqH.js} +1 -1
  306. package/dist-vue/_chunks/{ttcn-BSxIkHWh.js.map → ttcn-CJo3GWqH.js.map} +1 -1
  307. package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js → ttcn-cfg-C9gCx5K3.js} +1 -1
  308. package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js.map → ttcn-cfg-C9gCx5K3.js.map} +1 -1
  309. package/dist-vue/_chunks/{turtle-B0nZo8hJ.js → turtle-Bg3JtSZx.js} +1 -1
  310. package/dist-vue/_chunks/{turtle-B0nZo8hJ.js.map → turtle-Bg3JtSZx.js.map} +1 -1
  311. package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js → useChatbotStore-DE8leYO8.js} +3 -2
  312. package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js.map → useChatbotStore-DE8leYO8.js.map} +1 -1
  313. package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js +14 -0
  314. package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js.map +1 -0
  315. package/dist-vue/_chunks/{utils-BTa2h3WM.js → utils-CRojvghU.js} +26 -11
  316. package/dist-vue/_chunks/utils-CRojvghU.js.map +1 -0
  317. package/dist-vue/_chunks/{vb-BRq_7ZF9.js → vb-Xh1Jl3M6.js} +1 -1
  318. package/dist-vue/_chunks/{vb-BRq_7ZF9.js.map → vb-Xh1Jl3M6.js.map} +1 -1
  319. package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js → vbscript-NjJzWxN6.js} +1 -1
  320. package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js.map → vbscript-NjJzWxN6.js.map} +1 -1
  321. package/dist-vue/_chunks/{velocity-BvxA2zsa.js → velocity-CRJkj7qc.js} +1 -1
  322. package/dist-vue/_chunks/{velocity-BvxA2zsa.js.map → velocity-CRJkj7qc.js.map} +1 -1
  323. package/dist-vue/_chunks/{verilog-B3osH5GQ.js → verilog-CBHbxdbo.js} +1 -1
  324. package/dist-vue/_chunks/{verilog-B3osH5GQ.js.map → verilog-CBHbxdbo.js.map} +1 -1
  325. package/dist-vue/_chunks/{vhdl-CR1z1JUE.js → vhdl-BxdacNfs.js} +1 -1
  326. package/dist-vue/_chunks/{vhdl-CR1z1JUE.js.map → vhdl-BxdacNfs.js.map} +1 -1
  327. package/dist-vue/_chunks/{webidl-C74Qva8l.js → webidl-BuFj0gB5.js} +1 -1
  328. package/dist-vue/_chunks/{webidl-C74Qva8l.js.map → webidl-BuFj0gB5.js.map} +1 -1
  329. package/dist-vue/_chunks/{xquery-hmT-vB1m.js → xquery-DA__vFXM.js} +1 -1
  330. package/dist-vue/_chunks/{xquery-hmT-vB1m.js.map → xquery-DA__vFXM.js.map} +1 -1
  331. package/dist-vue/_chunks/{yacas-B2_Uw5g-.js → yacas-C0zyYz-1.js} +1 -1
  332. package/dist-vue/_chunks/{yacas-B2_Uw5g-.js.map → yacas-C0zyYz-1.js.map} +1 -1
  333. package/dist-vue/_chunks/{z80-BDY8ScET.js → z80-D0C3d2Md.js} +1 -1
  334. package/dist-vue/_chunks/{z80-BDY8ScET.js.map → z80-D0C3d2Md.js.map} +1 -1
  335. package/dist-vue/api.js +1 -1
  336. package/dist-vue/apps/web-component/src/composables/index.d.ts +1 -0
  337. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +2 -2
  338. package/dist-vue/composables.js +62 -61
  339. package/dist-vue/composables.js.map +1 -1
  340. package/dist-vue/index.js +4536 -3897
  341. package/dist-vue/index.js.map +1 -1
  342. package/dist-vue/locales.js +72 -28
  343. package/dist-vue/packages/auth/src/index.d.ts +2 -2
  344. package/dist-vue/packages/components/src/PkEditorMedia.d.ts +1 -1
  345. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +135 -9
  346. package/dist-vue/packages/components/src/chat/PkReasoningSettings.d.ts +54 -0
  347. package/dist-vue/packages/components/src/chat/PkWebSearchSettings.d.ts +105 -0
  348. package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
  349. package/dist-vue/packages/components/src/chat/index.d.ts +3 -1
  350. package/dist-vue/packages/components/src/chat/utils.d.ts +6 -0
  351. package/dist-vue/packages/components/src/composables/index.d.ts +0 -2
  352. package/dist-vue/packages/composable/src/index.d.ts +2 -0
  353. package/dist-vue/packages/{components/src/composables → composable/src}/useChatbotError.d.ts +1 -1
  354. package/dist-vue/packages/{components/src/composables → composable/src}/useLocalizedString.d.ts +1 -1
  355. package/dist-vue/packages/models/src/schema/Agent.d.ts +633 -63
  356. package/dist-vue/packages/models/src/schema/AgentChatStatistics.d.ts +1 -1
  357. package/dist-vue/packages/models/src/schema/Chat.d.ts +104 -13
  358. package/dist-vue/packages/models/src/schema/Integration.d.ts +1 -1
  359. package/dist-vue/packages/models/src/schema/McpServer.d.ts +6 -6
  360. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +209 -27
  361. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +209 -27
  362. package/dist-vue/style.css +1 -1
  363. package/package.json +2 -2
  364. package/dist/_chunks/PkToolShowComparison-D_DtpXRO.js.map +0 -1
  365. package/dist/_chunks/VvCheckbox.es-LSjS8_8K.js.map +0 -1
  366. package/dist/_chunks/VvCheckboxGroup.es-CR5ZTD2H.js.map +0 -1
  367. package/dist/_chunks/VvCombobox.es-B8E1RmUn.js.map +0 -1
  368. package/dist/_chunks/VvInputText.es-BYAhw1yP.js.map +0 -1
  369. package/dist/_chunks/VvRadio.es-CQj6S-QP.js.map +0 -1
  370. package/dist/_chunks/VvRadioGroup.es-9AWwbBXm.js.map +0 -1
  371. package/dist/_chunks/VvSelect.es-DAmZPvCV.js.map +0 -1
  372. package/dist/_chunks/VvTextarea.es-BfgLTEPk.js.map +0 -1
  373. package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js +0 -191
  374. package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js.map +0 -1
  375. package/dist-vue/_chunks/PkChatbotError-C1ZxZlwQ.js.map +0 -1
  376. package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js +0 -468
  377. package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js.map +0 -1
  378. package/dist-vue/_chunks/PkChatbotViewChat-hqsvz_7X.js.map +0 -1
  379. package/dist-vue/_chunks/PkToolShowComparison-CZ3kO6PT.js.map +0 -1
  380. package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js +0 -130
  381. package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js.map +0 -1
  382. package/dist-vue/_chunks/createChatbotApiClient-tAXyZCUx.js.map +0 -1
  383. package/dist-vue/_chunks/utils-BTa2h3WM.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"composables.js","names":[],"sources":["../src/utils/cookie.ts","../src/utils/index.ts","../src/composables/useChatbotAgent.ts","../src/composables/useChatbotAuth.ts","../src/composables/useFocusTrapBypass.ts"],"sourcesContent":["import { logger } from 'utils'\n\nconst DEFAULT_COOKIE_NAME = 'eight-wave-ai'\nconst DEFAULT_USER_ID_COOKIE_SUFFIX = '-uid'\nconst MAX_AGE_ONE_YEAR = 31536000\n\nfunction setCookie(name: string, value: string, maxAge: number) {\n try {\n document.cookie = `${name}=${value}; path=/; max-age=${maxAge}; SameSite=Lax; Secure`\n } catch (error) {\n logger.warn(\n '[cookie] setCookie blocked (cross-origin/tracking protection)',\n error,\n )\n }\n}\n\nfunction getCookie(name: string): string {\n try {\n return (\n document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${name}=`))\n ?.split('=')[1] ?? ''\n )\n } catch (error) {\n logger.warn(\n '[cookie] getCookie blocked (cross-origin/tracking protection)',\n error,\n )\n return ''\n }\n}\n\n// create first-party session cookie for authentication with 1 year expiry\nexport function setSessionCookie(\n token: string,\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(cookieName, token, MAX_AGE_ONE_YEAR)\n}\n\n// retrieve first-party session cookie\nexport function getSessionCookie(cookieName: string = DEFAULT_COOKIE_NAME) {\n return getCookie(cookieName)\n}\n\n// persist anonymous userId alongside session token to enable re-auth after session expiry\nexport function setAnonymousUserIdCookie(\n userId: string,\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(\n `${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`,\n userId,\n MAX_AGE_ONE_YEAR,\n )\n}\n\n// retrieve persisted anonymous userId\nexport function getAnonymousUserIdCookie(\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n return getCookie(`${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`)\n}\n\n// TODO: call this when an anonymous user links a real account (onLinkAccount flow on the client side)\nexport function clearAnonymousUserIdCookie(\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(`${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`, '', 0)\n}\n","export * from './cookie'\n\nexport const BACKEND_URL: string = import.meta.env.VITE_BACKEND_URL\nexport const AUTH_BASE_PATH = 'auth'\n","import type { MaybeRefOrGetter } from 'vue'\nimport { computed, ref, toValue, watch } from 'vue'\nimport type { AgentPublic } from 'models'\nimport { createChatbotApiClient } from 'composables'\nimport { resolveContrastColor } from 'components/src/chat/utils'\nimport { BACKEND_URL } from '~/utils'\n\nexport function useChatbotAgent(options: {\n baseUrl?: string\n basePath?: string\n organizationSlug?: MaybeRefOrGetter<string>\n agentId?: MaybeRefOrGetter<string>\n headers?: MaybeRefOrGetter<Record<string, string> | undefined>\n}) {\n const agent = ref<AgentPublic>()\n\n watch(\n [\n () => toValue(options.organizationSlug),\n () => toValue(options.agentId),\n ],\n async ([newOrganizationSlug, newAgentId]) => {\n if (!newOrganizationSlug || !newAgentId) {\n return\n }\n const apiClient = createChatbotApiClient({\n baseUrl: options.baseUrl ?? BACKEND_URL,\n basePath: options.basePath,\n headers: () => toValue(options.headers),\n })\n try {\n agent.value = await apiClient.getAgent(\n newOrganizationSlug,\n newAgentId,\n )\n } catch {\n agent.value = undefined\n }\n },\n { immediate: true },\n )\n\n const contrastColor = computed(() =>\n resolveContrastColor(\n agent.value?.interface.textColor,\n agent.value?.interface.mainColor,\n ),\n )\n const mainColor = computed(() => agent.value?.interface.mainColor)\n\n const themeClass = computed(() => {\n const theme = agent.value?.interface.theme\n if (!theme || theme === 'auto') {\n return ['theme']\n }\n return ['theme', `theme--${theme}`]\n })\n\n const themeStyle = computed(() =>\n agent.value\n ? {\n '--chatbot-main-color': mainColor.value,\n '--chatbot-contrast-color': contrastColor.value,\n }\n : undefined,\n )\n\n return {\n agent,\n contrastColor,\n mainColor,\n themeClass,\n themeStyle,\n }\n}\n","import type { MaybeRefOrGetter } from 'vue'\nimport type { BetterAuthClientPlugin } from 'better-auth/client'\nimport type { auth } from 'auth'\nimport { computed, ref, watch, toValue } from 'vue'\nimport { createAuthClient } from 'better-auth/vue'\nimport {\n inferAdditionalFields,\n anonymousClient,\n} from 'better-auth/client/plugins'\nimport {\n getSessionCookie,\n setSessionCookie,\n getAnonymousUserIdCookie,\n setAnonymousUserIdCookie,\n BACKEND_URL,\n AUTH_BASE_PATH,\n} from '~/utils'\n\nfunction anonymousReauthClient() {\n return {\n id: 'anonymous-reauth' as const,\n getActions: ($fetch) => ({\n signIn: {\n anonymousReauth: async (data: { userId: string }) => {\n return $fetch<{\n token: string\n user: Record<string, unknown>\n }>('/sign-in/anonymous-reauth', {\n method: 'POST',\n body: data,\n })\n },\n },\n }),\n pathMethods: {\n '/sign-in/anonymous-reauth': 'POST' as const,\n },\n } satisfies BetterAuthClientPlugin\n}\n\nfunction externalAuthClient() {\n return {\n id: 'external-auth' as const,\n getActions: ($fetch) => ({\n signIn: {\n externalToken: async (data: { token: string }) => {\n return $fetch<{\n token: string\n user: Record<string, unknown>\n }>('/sign-in/external-token', {\n method: 'POST',\n body: data,\n })\n },\n },\n }),\n pathMethods: {\n '/sign-in/external-token': 'POST' as const,\n },\n atomListeners: [\n {\n matcher: (path: string) => path === '/sign-in/external-token',\n signal: '$sessionSignal' as const,\n },\n ],\n } satisfies BetterAuthClientPlugin\n}\n\ntype AuthClientOptions = {\n baseURL?: string\n basePath?: string\n plugins: [\n ReturnType<typeof anonymousClient>,\n ReturnType<typeof anonymousReauthClient>,\n ReturnType<typeof externalAuthClient>,\n ]\n}\n\nexport type AuthClient = ReturnType<typeof createAuthClient<AuthClientOptions>>\n\nexport function useChatbotAuth(\n options: {\n baseUrl?: string\n basePath?: string\n externalToken?: MaybeRefOrGetter<string | undefined>\n awaitExternalToken?: boolean\n isActive?: MaybeRefOrGetter<boolean>\n cookieName?: string\n } = {},\n) {\n const _token = ref(getSessionCookie(options.cookieName))\n\n const token = computed({\n get: () => _token.value,\n set: (token: string) => {\n setSessionCookie(token, options.cookieName)\n _token.value = token\n },\n })\n\n const headers = computed(() =>\n token.value ? { Authorization: `Bearer ${token.value}` } : undefined,\n )\n\n const client = createAuthClient({\n baseURL: options.baseUrl ?? BACKEND_URL,\n basePath: options.basePath ?? AUTH_BASE_PATH,\n plugins: [\n inferAdditionalFields<typeof auth>(),\n anonymousClient(),\n anonymousReauthClient(),\n externalAuthClient(),\n ],\n fetchOptions: {\n onSuccess: (ctx) => {\n const newTokenFromHeader =\n ctx.response.headers.get('set-auth-token')\n if (newTokenFromHeader) {\n token.value = newTokenFromHeader\n }\n },\n auth: {\n type: 'Bearer',\n token: () => token.value,\n },\n },\n }) as AuthClient\n\n const session = client.useSession()\n const isAuthenticating = ref(false)\n const externalToken = computed(() => toValue(options.externalToken))\n const isActive = computed(() => toValue(options.isActive) ?? true)\n\n async function signInAnonymously(): Promise<void> {\n const { data } = await client.signIn.anonymous()\n if (data?.token) {\n token.value = data.token\n if (data.user?.id) {\n setAnonymousUserIdCookie(\n data.user.id as string,\n options.cookieName,\n )\n }\n }\n }\n\n /**\n * Attempts to create a new session for an existing anonymous user.\n * Returns true if re-auth succeeded, false otherwise.\n */\n async function tryAnonymousReauth(): Promise<boolean> {\n const storedUserId = getAnonymousUserIdCookie(options.cookieName)\n if (!storedUserId) {\n return false\n }\n try {\n const { data } = await client.signIn.anonymousReauth({\n userId: storedUserId,\n })\n if (data?.token) {\n token.value = data.token\n await session.value.refetch()\n return true\n }\n } catch {\n // user record may have been deleted — fall back to creating a new one\n }\n return false\n }\n\n async function signInWithExternalToken(\n newExternalToken: string,\n ): Promise<void> {\n if (isAuthenticating.value) {\n return\n }\n isAuthenticating.value = true\n try {\n const { data } = await client.signIn.externalToken({\n token: newExternalToken,\n })\n if (data?.token) {\n token.value = data.token\n await session.value.refetch()\n return\n }\n await signInAnonymously()\n } catch {\n await signInAnonymously()\n } finally {\n isAuthenticating.value = false\n }\n }\n\n async function signInAnonymouslyWithFallback(): Promise<void> {\n if (isAuthenticating.value) {\n return\n }\n isAuthenticating.value = true\n try {\n const reauthed = await tryAnonymousReauth()\n if (!reauthed) {\n await signInAnonymously()\n }\n } finally {\n isAuthenticating.value = false\n }\n }\n\n watch(\n [isActive, session],\n ([newIsActive, newSession]) => {\n if (!newIsActive) {\n return\n }\n if (\n !newSession.isPending &&\n !newSession.isRefetching &&\n !isAuthenticating.value &&\n !newSession.data\n ) {\n if (externalToken.value) {\n signInWithExternalToken(externalToken.value)\n return\n }\n if (options.awaitExternalToken) {\n return\n }\n signInAnonymouslyWithFallback()\n return\n }\n\n // Backfill userId cookie for existing anonymous sessions\n const user = newSession.data?.user\n if (\n user?.isAnonymous &&\n user.id &&\n !getAnonymousUserIdCookie(options.cookieName)\n ) {\n setAnonymousUserIdCookie(user.id as string, options.cookieName)\n }\n },\n { immediate: true },\n )\n\n watch(externalToken, (newToken) => {\n if (newToken && isActive.value) {\n signInWithExternalToken(newToken)\n }\n })\n\n function onError(error: { type: string; title: string; status: number }) {\n if (error.status === 401) {\n if (externalToken.value) {\n signInWithExternalToken(externalToken.value)\n return\n }\n signInAnonymouslyWithFallback()\n }\n }\n\n const userId = computed(() => session.value.data?.user?.id)\n\n return {\n client,\n session,\n isAuthenticating,\n token,\n headers,\n onError,\n userId,\n }\n}\n","import { getCurrentInstance, onBeforeUnmount, onMounted } from 'vue'\n\n/**\n * Prevents external focus-trapping libraries (e.g. Bootstrap 5 modals) from\n * stealing focus away from elements inside this custom element's shadow root.\n *\n * Bootstrap modals attach a `focusin` listener on `document` that pulls focus\n * back whenever it leaves the modal subtree. Because our custom element lives\n * outside the modal in the DOM, every focus event that escapes the shadow root\n * is treated as a \"focus escape\" and gets redirected back into the modal.\n *\n * Fix: intercept `focusin` at the shadow root boundary in the **bubble phase**\n * and stop its propagation. The event still reaches every internal element\n * normally (capture → target → bubble up through the shadow tree), but is\n * stopped at the shadow root before it can re-target and continue to `document`.\n *\n * Must be called inside a `.ce.vue` root component's `<script setup>`.\n */\nexport function useFocusTrapBypass() {\n let shadowRoot: ShadowRoot | null = null\n\n const stopFocusPropagation = (event: Event) => {\n event.stopPropagation()\n }\n\n onMounted(() => {\n const instance = getCurrentInstance()\n const rootNode = instance?.proxy?.$el?.getRootNode()\n\n if (!(rootNode instanceof ShadowRoot)) {\n return\n }\n\n shadowRoot = rootNode\n shadowRoot.addEventListener('focusin', stopFocusPropagation)\n })\n\n onBeforeUnmount(() => {\n if (!shadowRoot) {\n return\n }\n\n shadowRoot.removeEventListener('focusin', stopFocusPropagation)\n shadowRoot = null\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"composables.js","names":[],"sources":["../src/utils/cookie.ts","../src/utils/index.ts","../src/composables/useChatbotAgent.ts","../src/composables/useChatbotAuth.ts","../src/composables/useFocusTrapBypass.ts"],"sourcesContent":["import { logger } from 'utils'\n\nconst DEFAULT_COOKIE_NAME = 'eight-wave-ai'\nconst DEFAULT_USER_ID_COOKIE_SUFFIX = '-uid'\nconst MAX_AGE_ONE_YEAR = 31536000\n\nfunction setCookie(name: string, value: string, maxAge: number) {\n try {\n document.cookie = `${name}=${value}; path=/; max-age=${maxAge}; SameSite=Lax; Secure`\n } catch (error) {\n logger.warn(\n '[cookie] setCookie blocked (cross-origin/tracking protection)',\n error,\n )\n }\n}\n\nfunction getCookie(name: string): string {\n try {\n return (\n document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${name}=`))\n ?.split('=')[1] ?? ''\n )\n } catch (error) {\n logger.warn(\n '[cookie] getCookie blocked (cross-origin/tracking protection)',\n error,\n )\n return ''\n }\n}\n\n// create first-party session cookie for authentication with 1 year expiry\nexport function setSessionCookie(\n token: string,\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(cookieName, token, MAX_AGE_ONE_YEAR)\n}\n\n// retrieve first-party session cookie\nexport function getSessionCookie(cookieName: string = DEFAULT_COOKIE_NAME) {\n return getCookie(cookieName)\n}\n\n// persist anonymous userId alongside session token to enable re-auth after session expiry\nexport function setAnonymousUserIdCookie(\n userId: string,\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(\n `${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`,\n userId,\n MAX_AGE_ONE_YEAR,\n )\n}\n\n// retrieve persisted anonymous userId\nexport function getAnonymousUserIdCookie(\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n return getCookie(`${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`)\n}\n\n// TODO: call this when an anonymous user links a real account (onLinkAccount flow on the client side)\nexport function clearAnonymousUserIdCookie(\n cookieName: string = DEFAULT_COOKIE_NAME,\n) {\n setCookie(`${cookieName}${DEFAULT_USER_ID_COOKIE_SUFFIX}`, '', 0)\n}\n","export * from './cookie'\n\nexport const BACKEND_URL: string = import.meta.env.VITE_BACKEND_URL\nexport const AUTH_BASE_PATH = 'auth'\n","import type { MaybeRefOrGetter } from 'vue'\nimport { computed, ref, toValue, watch } from 'vue'\nimport type { AgentPublic } from 'models'\nimport { createChatbotApiClient } from 'composables'\nimport { resolveContrastColor } from 'components/src/chat/utils'\nimport { BACKEND_URL } from '~/utils'\n\nexport function useChatbotAgent(options: {\n baseUrl?: string\n basePath?: string\n organizationSlug?: MaybeRefOrGetter<string>\n agentId?: MaybeRefOrGetter<string>\n headers?: MaybeRefOrGetter<Record<string, string> | undefined>\n}) {\n const agent = ref<AgentPublic>()\n\n watch(\n [\n () => toValue(options.organizationSlug),\n () => toValue(options.agentId),\n ],\n async ([newOrganizationSlug, newAgentId]) => {\n if (!newOrganizationSlug || !newAgentId) {\n return\n }\n const apiClient = createChatbotApiClient({\n baseUrl: options.baseUrl ?? BACKEND_URL,\n basePath: options.basePath,\n headers: () => toValue(options.headers),\n })\n try {\n agent.value = await apiClient.getAgent(\n newOrganizationSlug,\n newAgentId,\n )\n } catch {\n agent.value = undefined\n }\n },\n { immediate: true },\n )\n\n const contrastColor = computed(() =>\n resolveContrastColor(\n agent.value?.interface.textColor,\n agent.value?.interface.mainColor,\n ),\n )\n const mainColor = computed(() => agent.value?.interface.mainColor)\n\n const themeClass = computed(() => {\n const theme = agent.value?.interface.theme\n if (!theme || theme === 'auto') {\n return ['theme']\n }\n return ['theme', `theme--${theme}`]\n })\n\n const themeStyle = computed(() =>\n agent.value\n ? {\n '--chatbot-main-color': mainColor.value,\n '--chatbot-contrast-color': contrastColor.value,\n }\n : undefined,\n )\n\n return {\n agent,\n contrastColor,\n mainColor,\n themeClass,\n themeStyle,\n }\n}\n","import type { MaybeRefOrGetter } from 'vue'\nimport type { BetterAuthClientPlugin } from 'better-auth/client'\nimport type { auth } from 'auth'\nimport { computed, ref, watch, toValue } from 'vue'\nimport { createAuthClient } from 'better-auth/vue'\nimport {\n inferAdditionalFields,\n anonymousClient,\n} from 'better-auth/client/plugins'\nimport {\n getSessionCookie,\n setSessionCookie,\n getAnonymousUserIdCookie,\n setAnonymousUserIdCookie,\n BACKEND_URL,\n AUTH_BASE_PATH,\n} from '~/utils'\n\nfunction anonymousReauthClient() {\n return {\n id: 'anonymous-reauth' as const,\n getActions: ($fetch) => ({\n signIn: {\n anonymousReauth: async (data: { userId: string }) => {\n return $fetch<{\n token: string\n user: Record<string, unknown>\n }>('/sign-in/anonymous-reauth', {\n method: 'POST',\n body: data,\n })\n },\n },\n }),\n pathMethods: {\n '/sign-in/anonymous-reauth': 'POST' as const,\n },\n } satisfies BetterAuthClientPlugin\n}\n\nfunction externalAuthClient() {\n return {\n id: 'external-auth' as const,\n getActions: ($fetch) => ({\n signIn: {\n externalToken: async (data: { token: string }) => {\n return $fetch<{\n token: string\n user: Record<string, unknown>\n }>('/sign-in/external-token', {\n method: 'POST',\n body: data,\n })\n },\n },\n }),\n pathMethods: {\n '/sign-in/external-token': 'POST' as const,\n },\n atomListeners: [\n {\n matcher: (path: string) => path === '/sign-in/external-token',\n signal: '$sessionSignal' as const,\n },\n ],\n } satisfies BetterAuthClientPlugin\n}\n\ntype AuthClientOptions = {\n baseURL?: string\n basePath?: string\n plugins: [\n ReturnType<typeof anonymousClient>,\n ReturnType<typeof anonymousReauthClient>,\n ReturnType<typeof externalAuthClient>,\n ]\n}\n\nexport type AuthClient = ReturnType<typeof createAuthClient<AuthClientOptions>>\n\nexport function useChatbotAuth(\n options: {\n baseUrl?: string\n basePath?: string\n externalToken?: MaybeRefOrGetter<string | undefined>\n awaitExternalToken?: boolean\n isActive?: MaybeRefOrGetter<boolean>\n cookieName?: string\n } = {},\n) {\n const _token = ref(getSessionCookie(options.cookieName))\n\n const token = computed({\n get: () => _token.value,\n set: (token: string) => {\n setSessionCookie(token, options.cookieName)\n _token.value = token\n },\n })\n\n const headers = computed(() =>\n token.value ? { Authorization: `Bearer ${token.value}` } : undefined,\n )\n\n const client = createAuthClient({\n baseURL: options.baseUrl ?? BACKEND_URL,\n basePath: options.basePath ?? AUTH_BASE_PATH,\n plugins: [\n inferAdditionalFields<typeof auth>(),\n anonymousClient(),\n anonymousReauthClient(),\n externalAuthClient(),\n ],\n fetchOptions: {\n onSuccess: (ctx) => {\n const newTokenFromHeader =\n ctx.response.headers.get('set-auth-token')\n if (newTokenFromHeader) {\n token.value = newTokenFromHeader\n }\n },\n auth: {\n type: 'Bearer',\n token: () => token.value,\n },\n },\n }) as AuthClient\n\n const session = client.useSession()\n const isAuthenticating = ref(false)\n const externalToken = computed(() => toValue(options.externalToken))\n const isActive = computed(() => toValue(options.isActive) ?? true)\n\n async function signInAnonymously(): Promise<void> {\n const { data } = await client.signIn.anonymous()\n if (data?.token) {\n token.value = data.token\n if (data.user?.id) {\n setAnonymousUserIdCookie(\n data.user.id as string,\n options.cookieName,\n )\n }\n }\n }\n\n /**\n * Attempts to create a new session for an existing anonymous user.\n * Returns true if re-auth succeeded, false otherwise.\n */\n async function tryAnonymousReauth(): Promise<boolean> {\n const storedUserId = getAnonymousUserIdCookie(options.cookieName)\n if (!storedUserId) {\n return false\n }\n try {\n const { data } = await client.signIn.anonymousReauth({\n userId: storedUserId,\n })\n if (data?.token) {\n token.value = data.token\n await session.value.refetch()\n return true\n }\n } catch {\n // user record may have been deleted — fall back to creating a new one\n }\n return false\n }\n\n async function signInWithExternalToken(\n newExternalToken: string,\n ): Promise<void> {\n if (isAuthenticating.value) {\n return\n }\n isAuthenticating.value = true\n try {\n const { data } = await client.signIn.externalToken({\n token: newExternalToken,\n })\n if (data?.token) {\n token.value = data.token\n await session.value.refetch()\n return\n }\n await signInAnonymously()\n } catch {\n await signInAnonymously()\n } finally {\n isAuthenticating.value = false\n }\n }\n\n async function signInAnonymouslyWithFallback(): Promise<void> {\n if (isAuthenticating.value) {\n return\n }\n isAuthenticating.value = true\n try {\n const reauthed = await tryAnonymousReauth()\n if (!reauthed) {\n await signInAnonymously()\n }\n } finally {\n isAuthenticating.value = false\n }\n }\n\n watch(\n [isActive, session],\n ([newIsActive, newSession]) => {\n if (!newIsActive) {\n return\n }\n if (\n !newSession.isPending &&\n !newSession.isRefetching &&\n !isAuthenticating.value &&\n !newSession.data\n ) {\n if (externalToken.value) {\n signInWithExternalToken(externalToken.value)\n return\n }\n if (options.awaitExternalToken) {\n return\n }\n signInAnonymouslyWithFallback()\n return\n }\n\n // Backfill userId cookie for existing anonymous sessions\n const user = newSession.data?.user\n if (\n user?.isAnonymous &&\n user.id &&\n !getAnonymousUserIdCookie(options.cookieName)\n ) {\n setAnonymousUserIdCookie(user.id as string, options.cookieName)\n }\n },\n { immediate: true },\n )\n\n watch(externalToken, (newToken) => {\n if (newToken && isActive.value) {\n signInWithExternalToken(newToken)\n }\n })\n\n function onError(error: { type: string; title: string; status: number }) {\n if (error.status === 401) {\n if (externalToken.value) {\n signInWithExternalToken(externalToken.value)\n return\n }\n signInAnonymouslyWithFallback()\n }\n }\n\n const userId = computed(() => session.value.data?.user?.id)\n\n return {\n client,\n session,\n isAuthenticating,\n token,\n headers,\n onError,\n userId,\n }\n}\n","import { getCurrentInstance, onBeforeUnmount, onMounted } from 'vue'\n\n/**\n * Prevents external focus-trapping libraries (e.g. Bootstrap 5 modals) from\n * stealing focus away from elements inside this custom element's shadow root.\n *\n * Bootstrap modals attach a `focusin` listener on `document` that pulls focus\n * back whenever it leaves the modal subtree. Because our custom element lives\n * outside the modal in the DOM, every focus event that escapes the shadow root\n * is treated as a \"focus escape\" and gets redirected back into the modal.\n *\n * Fix: intercept `focusin` at the shadow root boundary in the **bubble phase**\n * and stop its propagation. The event still reaches every internal element\n * normally (capture → target → bubble up through the shadow tree), but is\n * stopped at the shadow root before it can re-target and continue to `document`.\n *\n * Must be called inside a `.ce.vue` root component's `<script setup>`.\n */\nexport function useFocusTrapBypass() {\n let shadowRoot: ShadowRoot | null = null\n\n const stopFocusPropagation = (event: Event) => {\n event.stopPropagation()\n }\n\n onMounted(() => {\n const instance = getCurrentInstance()\n const rootNode = instance?.proxy?.$el?.getRootNode()\n\n if (!(rootNode instanceof ShadowRoot)) {\n return\n }\n\n shadowRoot = rootNode\n shadowRoot.addEventListener('focusin', stopFocusPropagation)\n })\n\n onBeforeUnmount(() => {\n if (!shadowRoot) {\n return\n }\n\n shadowRoot.removeEventListener('focusin', stopFocusPropagation)\n shadowRoot = null\n })\n}\n"],"mappings":";;;;;;;;;AAEA,IAAM,IAAsB,iBACtB,IAAgC,QAChC,IAAmB;AAEzB,SAAS,EAAU,GAAc,GAAe,GAAgB;CAC5D,IAAI;EACA,SAAS,SAAS,GAAG,EAAK,GAAG,EAAM,oBAAoB,EAAO;CAClE,SAAS,GAAO;EACZ,EAAO,KACH,iEACA,CACJ;CACJ;AACJ;AAEA,SAAS,EAAU,GAAsB;CACrC,IAAI;EACA,OACI,SAAS,OACJ,MAAM,IAAI,EACV,MAAM,MAAQ,EAAI,WAAW,GAAG,EAAK,EAAE,CAAC,GACvC,MAAM,GAAG,EAAE,MAAM;CAE/B,SAAS,GAAO;EAKZ,OAJA,EAAO,KACH,iEACA,CACJ,GACO;CACX;AACJ;AAGA,SAAgB,EACZ,GACA,IAAqB,GACvB;CACE,EAAU,GAAY,GAAO,CAAgB;AACjD;AAGA,SAAgB,EAAiB,IAAqB,GAAqB;CACvE,OAAO,EAAU,CAAU;AAC/B;AAGA,SAAgB,EACZ,GACA,IAAqB,GACvB;CACE,EACI,GAAG,IAAa,KAChB,GACA,CACJ;AACJ;AAGA,SAAgB,EACZ,IAAqB,GACvB;CACE,OAAO,EAAU,GAAG,IAAa,GAA+B;AACpE;AAGA,SAAgB,EACZ,IAAqB,GACvB;CACE,EAAU,GAAG,IAAa,KAAiC,IAAI,CAAC;AACpE;;;ACrEA,IAAa,IAAA,KAAA,GACA,IAAiB;;;ACI9B,SAAgB,EAAgB,GAM7B;CACC,IAAM,IAAQ,EAAiB;CAE/B,EACI,OACU,EAAQ,EAAQ,gBAAgB,SAChC,EAAQ,EAAQ,OAAO,CACjC,GACA,OAAO,CAAC,GAAqB,OAAgB;EACzC,IAAI,CAAC,KAAuB,CAAC,GACzB;EAEJ,IAAM,IAAY,EAAuB;GACrC,SAAS,EAAQ,WAAA,KAAA;GACjB,UAAU,EAAQ;GAClB,eAAe,EAAQ,EAAQ,OAAO;EAC1C,CAAC;EACD,IAAI;GACA,EAAM,QAAQ,MAAM,EAAU,SAC1B,GACA,CACJ;EACJ,QAAQ;GACJ,EAAM,QAAQ,KAAA;EAClB;CACJ,GACA,EAAE,WAAW,GAAK,CACtB;CAEA,IAAM,IAAgB,QAClB,EACI,EAAM,OAAO,UAAU,WACvB,EAAM,OAAO,UAAU,SAC3B,CACJ,GACM,IAAY,QAAe,EAAM,OAAO,UAAU,SAAS;CAmBjE,OAAO;EACH;EACA;EACA;EACA,YArBe,QAAe;GAC9B,IAAM,IAAQ,EAAM,OAAO,UAAU;GAIrC,OAHI,CAAC,KAAS,MAAU,SACb,CAAC,OAAO,IAEZ,CAAC,SAAS,UAAU,GAAO;EACtC,CAeI;EACA,YAde,QACf,EAAM,QACA;GACI,wBAAwB,EAAU;GAClC,4BAA4B,EAAc;EAC9C,IACA,KAAA,CAQN;CACJ;AACJ;;;ACxDA,SAAS,IAAwB;CAC7B,OAAO;EACH,IAAI;EACJ,aAAa,OAAY,EACrB,QAAQ,EACJ,iBAAiB,OAAO,MACb,EAGJ,6BAA6B;GAC5B,QAAQ;GACR,MAAM;EACV,CAAC,EAET,EACJ;EACA,aAAa,EACT,6BAA6B,OACjC;CACJ;AACJ;AAEA,SAAS,IAAqB;CAC1B,OAAO;EACH,IAAI;EACJ,aAAa,OAAY,EACrB,QAAQ,EACJ,eAAe,OAAO,MACX,EAGJ,2BAA2B;GAC1B,QAAQ;GACR,MAAM;EACV,CAAC,EAET,EACJ;EACA,aAAa,EACT,2BAA2B,OAC/B;EACA,eAAe,CACX;GACI,UAAU,MAAiB,MAAS;GACpC,QAAQ;EACZ,CACJ;CACJ;AACJ;AAcA,SAAgB,EACZ,IAOI,CAAC,GACP;CACE,IAAM,IAAS,EAAI,EAAiB,EAAQ,UAAU,CAAC,GAEjD,IAAQ,EAAS;EACnB,WAAW,EAAO;EAClB,MAAM,MAAkB;GAEpB,AADA,EAAiB,GAAO,EAAQ,UAAU,GAC1C,EAAO,QAAQ;EACnB;CACJ,CAAC,GAEK,IAAU,QACZ,EAAM,QAAQ,EAAE,eAAe,UAAU,EAAM,QAAQ,IAAI,KAAA,CAC/D,GAEM,IAAS,EAAiB;EAC5B,SAAS,EAAQ,WAAA,KAAA;EACjB,UAAU,EAAQ,YAAA;EAClB,SAAS;GACL,EAAmC;GACnC,EAAgB;GAChB,EAAsB;GACtB,EAAmB;EACvB;EACA,cAAc;GACV,YAAY,MAAQ;IAChB,IAAM,IACF,EAAI,SAAS,QAAQ,IAAI,gBAAgB;IAC7C,AAAI,MACA,EAAM,QAAQ;GAEtB;GACA,MAAM;IACF,MAAM;IACN,aAAa,EAAM;GACvB;EACJ;CACJ,CAAC,GAEK,IAAU,EAAO,WAAW,GAC5B,IAAmB,EAAI,EAAK,GAC5B,IAAgB,QAAe,EAAQ,EAAQ,aAAa,CAAC,GAC7D,IAAW,QAAe,EAAQ,EAAQ,QAAQ,KAAK,EAAI;CAEjE,eAAe,IAAmC;EAC9C,IAAM,EAAE,YAAS,MAAM,EAAO,OAAO,UAAU;EAC/C,AAAI,GAAM,UACN,EAAM,QAAQ,EAAK,OACf,EAAK,MAAM,MACX,EACI,EAAK,KAAK,IACV,EAAQ,UACZ;CAGZ;CAMA,eAAe,IAAuC;EAClD,IAAM,IAAe,EAAyB,EAAQ,UAAU;EAChE,IAAI,CAAC,GACD,OAAO;EAEX,IAAI;GACA,IAAM,EAAE,YAAS,MAAM,EAAO,OAAO,gBAAgB,EACjD,QAAQ,EACZ,CAAC;GACD,IAAI,GAAM,OAGN,OAFA,EAAM,QAAQ,EAAK,OACnB,MAAM,EAAQ,MAAM,QAAQ,GACrB;EAEf,QAAQ,CAER;EACA,OAAO;CACX;CAEA,eAAe,EACX,GACa;EACT,OAAiB,OAGrB;KAAiB,QAAQ;GACzB,IAAI;IACA,IAAM,EAAE,YAAS,MAAM,EAAO,OAAO,cAAc,EAC/C,OAAO,EACX,CAAC;IACD,IAAI,GAAM,OAAO;KAEb,AADA,EAAM,QAAQ,EAAK,OACnB,MAAM,EAAQ,MAAM,QAAQ;KAC5B;IACJ;IACA,MAAM,EAAkB;GAC5B,QAAQ;IACJ,MAAM,EAAkB;GAC5B,UAAU;IACN,EAAiB,QAAQ;GAC7B;EAfyB;CAgB7B;CAEA,eAAe,IAA+C;EACtD,OAAiB,OAGrB;KAAiB,QAAQ;GACzB,IAAI;IAEA,AAAK,MADkB,EAAmB,KAEtC,MAAM,EAAkB;GAEhC,UAAU;IACN,EAAiB,QAAQ;GAC7B;EARyB;CAS7B;CAsCA,AApCA,EACI,CAAC,GAAU,CAAO,IACjB,CAAC,GAAa,OAAgB;EAC3B,IAAI,CAAC,GACD;EAEJ,IACI,CAAC,EAAW,aACZ,CAAC,EAAW,gBACZ,CAAC,EAAiB,SAClB,CAAC,EAAW,MACd;GACE,IAAI,EAAc,OAAO;IACrB,EAAwB,EAAc,KAAK;IAC3C;GACJ;GACA,IAAI,EAAQ,oBACR;GAEJ,EAA8B;GAC9B;EACJ;EAGA,IAAM,IAAO,EAAW,MAAM;EAC9B,AACI,GAAM,eACN,EAAK,MACL,CAAC,EAAyB,EAAQ,UAAU,KAE5C,EAAyB,EAAK,IAAc,EAAQ,UAAU;CAEtE,GACA,EAAE,WAAW,GAAK,CACtB,GAEA,EAAM,IAAgB,MAAa;EAC/B,AAAI,KAAY,EAAS,SACrB,EAAwB,CAAQ;CAExC,CAAC;CAED,SAAS,EAAQ,GAAwD;EACrE,IAAI,EAAM,WAAW,KAAK;GACtB,IAAI,EAAc,OAAO;IACrB,EAAwB,EAAc,KAAK;IAC3C;GACJ;GACA,EAA8B;EAClC;CACJ;CAIA,OAAO;EACH;EACA;EACA;EACA;EACA;EACA;EACA,QATW,QAAe,EAAQ,MAAM,MAAM,MAAM,EASpD;CACJ;AACJ;;;AC9PA,SAAgB,IAAqB;CACjC,IAAI,IAAgC,MAE9B,KAAwB,MAAiB;EAC3C,EAAM,gBAAgB;CAC1B;CAcA,AAZA,QAAgB;EAEZ,IAAM,IADW,EACA,GAAU,OAAO,KAAK,YAAY;EAE7C,aAAoB,eAI1B,IAAa,GACb,EAAW,iBAAiB,WAAW,CAAoB;CAC/D,CAAC,GAED,QAAsB;EACb,AAKL,OADA,EAAW,oBAAoB,WAAW,CAAoB,GACjD;CACjB,CAAC;AACL"}