@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.
- package/dist/_chunks/{PkToolShowComparison-D_DtpXRO.js → PkToolShowComparison-CGflZD9j.js} +2 -2
- package/dist/_chunks/PkToolShowComparison-CGflZD9j.js.map +1 -0
- package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js → PkToolShowProductList-DvSGk45f.js} +2 -2
- package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js.map → PkToolShowProductList-DvSGk45f.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js → PkToolShowWebPages-C2VvN6sE.js} +2 -2
- package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js.map → PkToolShowWebPages-C2VvN6sE.js.map} +1 -1
- package/dist/_chunks/{PkUrl-Dsi-Zezs.js → PkUrl-BVv89CMm.js} +2 -2
- package/dist/_chunks/{PkUrl-Dsi-Zezs.js.map → PkUrl-BVv89CMm.js.map} +1 -1
- package/dist/_chunks/{VvCheckbox.es-LSjS8_8K.js → VvCheckbox.es-BsF_JJw_.js} +2 -2
- package/dist/_chunks/VvCheckbox.es-BsF_JJw_.js.map +1 -0
- package/dist/_chunks/{VvCheckboxGroup.es-CR5ZTD2H.js → VvCheckboxGroup.es-Blgwe85A.js} +2 -2
- package/dist/_chunks/VvCheckboxGroup.es-Blgwe85A.js.map +1 -0
- package/dist/_chunks/{VvCombobox.es-B8E1RmUn.js → VvCombobox.es-BQ31qIIa.js} +2 -2
- package/dist/_chunks/VvCombobox.es-BQ31qIIa.js.map +1 -0
- package/dist/_chunks/{VvInputText.es-BYAhw1yP.js → VvInputText.es-DtzvbGMQ.js} +2 -2
- package/dist/_chunks/VvInputText.es-DtzvbGMQ.js.map +1 -0
- package/dist/_chunks/{VvRadio.es-CQj6S-QP.js → VvRadio.es-DJY-UZOw.js} +2 -2
- package/dist/_chunks/VvRadio.es-DJY-UZOw.js.map +1 -0
- package/dist/_chunks/{VvRadioGroup.es-9AWwbBXm.js → VvRadioGroup.es-2xgX8Gdu.js} +2 -2
- package/dist/_chunks/VvRadioGroup.es-2xgX8Gdu.js.map +1 -0
- package/dist/_chunks/{VvSelect.es-DAmZPvCV.js → VvSelect.es-D5RIWAgh.js} +2 -2
- package/dist/_chunks/VvSelect.es-D5RIWAgh.js.map +1 -0
- package/dist/_chunks/{VvTextarea.es-BfgLTEPk.js → VvTextarea.es-C_kKlPCs.js} +2 -2
- package/dist/_chunks/VvTextarea.es-C_kKlPCs.js.map +1 -0
- package/dist/_chunks/index.es-D6JnX5Jz.js.map +1 -1
- package/dist/ai-elements.es.js +5538 -5413
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotError.js +1 -1
- package/dist-vue/PkChatbotFeedbackForm.js +1 -1
- package/dist-vue/PkChatbotFilePreview.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js +191 -0
- package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotError-C1ZxZlwQ.js → PkChatbotError-BlZ4WNup.js} +2 -2
- package/dist-vue/_chunks/PkChatbotError-BlZ4WNup.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js → PkChatbotFeedbackForm-Buzwweuj.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js.map → PkChatbotFeedbackForm-Buzwweuj.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js → PkChatbotFilePreview-0N9ASbIp.js} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js.map → PkChatbotFilePreview-0N9ASbIp.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js → PkChatbotInput-CsazCkTA.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js.map → PkChatbotInput-CsazCkTA.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js +472 -0
- package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewChat-hqsvz_7X.js → PkChatbotViewChat-BROfuqG3.js} +23 -22
- package/dist-vue/_chunks/PkChatbotViewChat-BROfuqG3.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js → PkChatbotViewConversations-B19iyIBD.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js.map → PkChatbotViewConversations-B19iyIBD.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js → PkChatbotViewProfile-D2raknfo.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js.map → PkChatbotViewProfile-D2raknfo.js.map} +1 -1
- package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js → PkRelativeTime-WZ2aPcp_.js} +1 -1
- package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js.map → PkRelativeTime-WZ2aPcp_.js.map} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js → PkStreamingMarkdown-BUiAi-qv.js} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js.map → PkStreamingMarkdown-BUiAi-qv.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js → PkToolRequestOAuthConnection-CCVLUbiX.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js.map → PkToolRequestOAuthConnection-CCVLUbiX.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js → PkToolShowArtifact-B13M7nEV.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js.map → PkToolShowArtifact-B13M7nEV.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js → PkToolShowCalendarEvent-BuTDY0xa.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js.map → PkToolShowCalendarEvent-BuTDY0xa.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowComparison-CZ3kO6PT.js → PkToolShowComparison-By5K23oe.js} +3 -3
- package/dist-vue/_chunks/PkToolShowComparison-By5K23oe.js.map +1 -0
- package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js +122 -0
- package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js → PkToolShowEmail-DFM6ClX-.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js.map → PkToolShowEmail-DFM6ClX-.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js → PkToolShowImageGallery-By3Evwn4.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js.map → PkToolShowImageGallery-By3Evwn4.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js → PkToolShowLocation-DW55PIk2.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js.map → PkToolShowLocation-DW55PIk2.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js → PkToolShowMessage-BUujtIdB.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js.map → PkToolShowMessage-BUujtIdB.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js → PkToolShowMultipleChoice-DoQHEPc0.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js.map → PkToolShowMultipleChoice-DoQHEPc0.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js → PkToolShowProductList-C6pMC0td.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js.map → PkToolShowProductList-C6pMC0td.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js → PkToolShowQrCode-DZNSI7WD.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js.map → PkToolShowQrCode-DZNSI7WD.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js → PkToolShowSources-9avCy0zx.js} +4 -4
- package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js.map → PkToolShowSources-9avCy0zx.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js → PkToolShowSuggestedReply-BCdanuPg.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js.map → PkToolShowSuggestedReply-BCdanuPg.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js → PkToolShowWeather-BAHfvDAa.js} +1 -1
- package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js.map → PkToolShowWeather-BAHfvDAa.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js → PkToolShowWebPages-CRnjWep6.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js.map → PkToolShowWebPages-CRnjWep6.js.map} +1 -1
- package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js → PkUrl-Da1k1VEM.js} +1 -1
- package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js.map → PkUrl-Da1k1VEM.js.map} +1 -1
- package/dist-vue/_chunks/{apl-Q8pZMVVP.js → apl-BAiRVRB9.js} +1 -1
- package/dist-vue/_chunks/{apl-Q8pZMVVP.js.map → apl-BAiRVRB9.js.map} +1 -1
- package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js → asciiarmor-CDnl80Cc.js} +1 -1
- package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js.map → asciiarmor-CDnl80Cc.js.map} +1 -1
- package/dist-vue/_chunks/{asn1-D02Lu2iy.js → asn1-f4a3R9bP.js} +1 -1
- package/dist-vue/_chunks/{asn1-D02Lu2iy.js.map → asn1-f4a3R9bP.js.map} +1 -1
- package/dist-vue/_chunks/{asterisk-CNRpuZz9.js → asterisk-TbfcWk59.js} +1 -1
- package/dist-vue/_chunks/{asterisk-CNRpuZz9.js.map → asterisk-TbfcWk59.js.map} +1 -1
- package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js → brainfuck-4PV2XjYq.js} +1 -1
- package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js.map → brainfuck-4PV2XjYq.js.map} +1 -1
- package/dist-vue/_chunks/{clike-D8bd4tzV.js → clike-BwgfIzU-.js} +1 -1
- package/dist-vue/_chunks/{clike-D8bd4tzV.js.map → clike-BwgfIzU-.js.map} +1 -1
- package/dist-vue/_chunks/{clojure-wIiobTMZ.js → clojure-D3pGxSKq.js} +1 -1
- package/dist-vue/_chunks/{clojure-wIiobTMZ.js.map → clojure-D3pGxSKq.js.map} +1 -1
- package/dist-vue/_chunks/{cmake-BXv0H94m.js → cmake-BCnKEIrD.js} +1 -1
- package/dist-vue/_chunks/{cmake-BXv0H94m.js.map → cmake-BCnKEIrD.js.map} +1 -1
- package/dist-vue/_chunks/{cobol-DHS--Q0E.js → cobol-BYaGw1Yw.js} +1 -1
- package/dist-vue/_chunks/{cobol-DHS--Q0E.js.map → cobol-BYaGw1Yw.js.map} +1 -1
- package/dist-vue/_chunks/{coffeescript-DuPphqba.js → coffeescript-BkiWHrll.js} +1 -1
- package/dist-vue/_chunks/{coffeescript-DuPphqba.js.map → coffeescript-BkiWHrll.js.map} +1 -1
- package/dist-vue/_chunks/{commonlisp-C978VsBx.js → commonlisp-BmB0kcsA.js} +1 -1
- package/dist-vue/_chunks/{commonlisp-C978VsBx.js.map → commonlisp-BmB0kcsA.js.map} +1 -1
- package/dist-vue/_chunks/{createChatbotApiClient-tAXyZCUx.js → createChatbotApiClient-Dcrje955.js} +211 -115
- package/dist-vue/_chunks/createChatbotApiClient-Dcrje955.js.map +1 -0
- package/dist-vue/_chunks/{crystal-BTi9IGqB.js → crystal-j2Uodr6G.js} +1 -1
- package/dist-vue/_chunks/{crystal-BTi9IGqB.js.map → crystal-j2Uodr6G.js.map} +1 -1
- package/dist-vue/_chunks/{css-Byc0XEOa.js → css-DikOvTi5.js} +1 -1
- package/dist-vue/_chunks/{css-Byc0XEOa.js.map → css-DikOvTi5.js.map} +1 -1
- package/dist-vue/_chunks/{cypher-DbIDcgjc.js → cypher-CocRBvf0.js} +1 -1
- package/dist-vue/_chunks/{cypher-DbIDcgjc.js.map → cypher-CocRBvf0.js.map} +1 -1
- package/dist-vue/_chunks/{d-CfpiXU_s.js → d-By563UA3.js} +1 -1
- package/dist-vue/_chunks/{d-CfpiXU_s.js.map → d-By563UA3.js.map} +1 -1
- package/dist-vue/_chunks/{diff-Chsz7v8H.js → diff-B1bbhSQg.js} +1 -1
- package/dist-vue/_chunks/{diff-Chsz7v8H.js.map → diff-B1bbhSQg.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BX9gMnDv.js → dist-1VuiSmDe.js} +3 -3
- package/dist-vue/_chunks/{dist-BX9gMnDv.js.map → dist-1VuiSmDe.js.map} +1 -1
- package/dist-vue/_chunks/{dist--K3HVPFP.js → dist-4zE2m0cC.js} +2 -2
- package/dist-vue/_chunks/{dist--K3HVPFP.js.map → dist-4zE2m0cC.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DKu5hMyS.js → dist-6CvrlmzR.js} +5 -5
- package/dist-vue/_chunks/{dist-DKu5hMyS.js.map → dist-6CvrlmzR.js.map} +1 -1
- package/dist-vue/_chunks/{dist-dGGJB751.js → dist-BDIP4oQC.js} +3 -3
- package/dist-vue/_chunks/{dist-dGGJB751.js.map → dist-BDIP4oQC.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BAhi8JnF.js → dist-BYcMzoKR.js} +2 -2
- package/dist-vue/_chunks/{dist-BAhi8JnF.js.map → dist-BYcMzoKR.js.map} +1 -1
- package/dist-vue/_chunks/{dist-sJCKYKfx.js → dist-BxM_in4x.js} +3 -3
- package/dist-vue/_chunks/{dist-sJCKYKfx.js.map → dist-BxM_in4x.js.map} +1 -1
- package/dist-vue/_chunks/{dist-qpPts-lE.js → dist-ByBDQkx9.js} +4 -4
- package/dist-vue/_chunks/{dist-qpPts-lE.js.map → dist-ByBDQkx9.js.map} +1 -1
- package/dist-vue/_chunks/{dist-C4Q2oVwo.js → dist-CbDm9BNK.js} +2 -2
- package/dist-vue/_chunks/{dist-C4Q2oVwo.js.map → dist-CbDm9BNK.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Tm13weGi.js → dist-CcI0VoWs.js} +3 -3
- package/dist-vue/_chunks/{dist-Tm13weGi.js.map → dist-CcI0VoWs.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DyCRk5Sz2.js → dist-CkV64K6q2.js} +3 -3
- package/dist-vue/_chunks/{dist-DyCRk5Sz2.js.map → dist-CkV64K6q2.js.map} +1 -1
- package/dist-vue/_chunks/{dist-CIN_Avbm.js → dist-D-R9PvqV.js} +1 -1
- package/dist-vue/_chunks/{dist-CIN_Avbm.js.map → dist-D-R9PvqV.js.map} +1 -1
- package/dist-vue/_chunks/{dist-KnH97L2h2.js → dist-D0U7Raxc2.js} +4 -4
- package/dist-vue/_chunks/{dist-KnH97L2h2.js.map → dist-D0U7Raxc2.js.map} +1 -1
- package/dist-vue/_chunks/{dist-B0QmqS0N.js → dist-D0Wm5IxH.js} +3 -3
- package/dist-vue/_chunks/{dist-B0QmqS0N.js.map → dist-D0Wm5IxH.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DFvVVU0-.js → dist-D1-E577I.js} +2 -2
- package/dist-vue/_chunks/{dist-DFvVVU0-.js.map → dist-D1-E577I.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DBu5ECbV2.js → dist-DC8yN_w12.js} +2 -2
- package/dist-vue/_chunks/{dist-DBu5ECbV2.js.map → dist-DC8yN_w12.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DfJ0x-DV.js → dist-DIVYK7vr.js} +2 -2
- package/dist-vue/_chunks/{dist-DfJ0x-DV.js.map → dist-DIVYK7vr.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DnGUlg51.js → dist-DIujXFeP.js} +3 -3
- package/dist-vue/_chunks/{dist-DnGUlg51.js.map → dist-DIujXFeP.js.map} +1 -1
- package/dist-vue/_chunks/{dist-8Ba2NTwQ.js → dist-DNMuMsYA.js} +3 -3
- package/dist-vue/_chunks/{dist-8Ba2NTwQ.js.map → dist-DNMuMsYA.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DpBbH8yX.js → dist-Dq2JgmgY.js} +3 -3
- package/dist-vue/_chunks/{dist-DpBbH8yX.js.map → dist-Dq2JgmgY.js.map} +1 -1
- package/dist-vue/_chunks/{dist-D1vdEteA.js → dist-DtMND9KH.js} +2 -2
- package/dist-vue/_chunks/{dist-D1vdEteA.js.map → dist-DtMND9KH.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BXMdPs2n.js → dist-Dy4eir4A.js} +2 -2
- package/dist-vue/_chunks/{dist-BXMdPs2n.js.map → dist-Dy4eir4A.js.map} +1 -1
- package/dist-vue/_chunks/{dist-zSYkbMGo.js → dist-x0QhP1E9.js} +4 -4
- package/dist-vue/_chunks/{dist-zSYkbMGo.js.map → dist-x0QhP1E9.js.map} +1 -1
- package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js → dockerfile-DE9wt2dL.js} +2 -2
- package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js.map → dockerfile-DE9wt2dL.js.map} +1 -1
- package/dist-vue/_chunks/{dtd-Bly5BFAf.js → dtd-CqxlpCqG.js} +1 -1
- package/dist-vue/_chunks/{dtd-Bly5BFAf.js.map → dtd-CqxlpCqG.js.map} +1 -1
- package/dist-vue/_chunks/{dylan-CzoYHa03.js → dylan-D1Gpc3L-.js} +1 -1
- package/dist-vue/_chunks/{dylan-CzoYHa03.js.map → dylan-D1Gpc3L-.js.map} +1 -1
- package/dist-vue/_chunks/{ebnf-4baG1T13.js → ebnf-DgP0YVa-.js} +1 -1
- package/dist-vue/_chunks/{ebnf-4baG1T13.js.map → ebnf-DgP0YVa-.js.map} +1 -1
- package/dist-vue/_chunks/{ecl-DUKN-Onz.js → ecl-KeBeM266.js} +1 -1
- package/dist-vue/_chunks/{ecl-DUKN-Onz.js.map → ecl-KeBeM266.js.map} +1 -1
- package/dist-vue/_chunks/{eiffel-Call-dqp.js → eiffel-C2i3fXO-.js} +1 -1
- package/dist-vue/_chunks/{eiffel-Call-dqp.js.map → eiffel-C2i3fXO-.js.map} +1 -1
- package/dist-vue/_chunks/{elm-DW-uVY9B.js → elm-Bv3L_mvL.js} +1 -1
- package/dist-vue/_chunks/{elm-DW-uVY9B.js.map → elm-Bv3L_mvL.js.map} +1 -1
- package/dist-vue/_chunks/{erlang-qvATK88s.js → erlang-DDXGK6MZ.js} +1 -1
- package/dist-vue/_chunks/{erlang-qvATK88s.js.map → erlang-DDXGK6MZ.js.map} +1 -1
- package/dist-vue/_chunks/{factor-DLyqB44S.js → factor-BMluBoEh.js} +2 -2
- package/dist-vue/_chunks/{factor-DLyqB44S.js.map → factor-BMluBoEh.js.map} +1 -1
- package/dist-vue/_chunks/{fcl-BrnRqE-k.js → fcl-Cmz-2giq.js} +1 -1
- package/dist-vue/_chunks/{fcl-BrnRqE-k.js.map → fcl-Cmz-2giq.js.map} +1 -1
- package/dist-vue/_chunks/{forth-DeYqvv5h.js → forth-DaWjj3JF.js} +1 -1
- package/dist-vue/_chunks/{forth-DeYqvv5h.js.map → forth-DaWjj3JF.js.map} +1 -1
- package/dist-vue/_chunks/{fortran-DdvDmAzM.js → fortran-Cjf1_njC.js} +1 -1
- package/dist-vue/_chunks/{fortran-DdvDmAzM.js.map → fortran-Cjf1_njC.js.map} +1 -1
- package/dist-vue/_chunks/{gas-BNdHmuUu.js → gas-Dw0EKIt6.js} +1 -1
- package/dist-vue/_chunks/{gas-BNdHmuUu.js.map → gas-Dw0EKIt6.js.map} +1 -1
- package/dist-vue/_chunks/{gherkin-CBC9qNkO.js → gherkin-BmhCQ-3F.js} +1 -1
- package/dist-vue/_chunks/{gherkin-CBC9qNkO.js.map → gherkin-BmhCQ-3F.js.map} +1 -1
- package/dist-vue/_chunks/{groovy-GC0PSVJU.js → groovy-Ce2VCAj0.js} +1 -1
- package/dist-vue/_chunks/{groovy-GC0PSVJU.js.map → groovy-Ce2VCAj0.js.map} +1 -1
- package/dist-vue/_chunks/{haskell-BKrhNlBi.js → haskell-CL9NsPDf.js} +1 -1
- package/dist-vue/_chunks/{haskell-BKrhNlBi.js.map → haskell-CL9NsPDf.js.map} +1 -1
- package/dist-vue/_chunks/{haxe-CPxacElW.js → haxe-Bbed1mIk.js} +1 -1
- package/dist-vue/_chunks/{haxe-CPxacElW.js.map → haxe-Bbed1mIk.js.map} +1 -1
- package/dist-vue/_chunks/{http-B_g6rpYy.js → http-CQ9T-AS4.js} +1 -1
- package/dist-vue/_chunks/{http-B_g6rpYy.js.map → http-CQ9T-AS4.js.map} +1 -1
- package/dist-vue/_chunks/{idl-nWWgQIyM.js → idl-CvhgP0zv.js} +1 -1
- package/dist-vue/_chunks/{idl-nWWgQIyM.js.map → idl-CvhgP0zv.js.map} +1 -1
- package/dist-vue/_chunks/{javascript-LK1o3VqT.js → javascript-Btb8UHXp.js} +1 -1
- package/dist-vue/_chunks/{javascript-LK1o3VqT.js.map → javascript-Btb8UHXp.js.map} +1 -1
- package/dist-vue/_chunks/{julia-BTozo5av.js → julia-DTNyuRVE.js} +1 -1
- package/dist-vue/_chunks/{julia-BTozo5av.js.map → julia-DTNyuRVE.js.map} +1 -1
- package/dist-vue/_chunks/{livescript-DpF2_JFC.js → livescript-CsLAR-Dk.js} +1 -1
- package/dist-vue/_chunks/{livescript-DpF2_JFC.js.map → livescript-CsLAR-Dk.js.map} +1 -1
- package/dist-vue/_chunks/{lua-tQN-2Pk0.js → lua-TjS61pff.js} +1 -1
- package/dist-vue/_chunks/{lua-tQN-2Pk0.js.map → lua-TjS61pff.js.map} +1 -1
- package/dist-vue/_chunks/{mathematica-CvawU267.js → mathematica-B36wjihf.js} +1 -1
- package/dist-vue/_chunks/{mathematica-CvawU267.js.map → mathematica-B36wjihf.js.map} +1 -1
- package/dist-vue/_chunks/{mbox-CoCfe6cW.js → mbox-l34D_Sup.js} +1 -1
- package/dist-vue/_chunks/{mbox-CoCfe6cW.js.map → mbox-l34D_Sup.js.map} +1 -1
- package/dist-vue/_chunks/{mirc-COd5tE63.js → mirc-ClsitdIY.js} +1 -1
- package/dist-vue/_chunks/{mirc-COd5tE63.js.map → mirc-ClsitdIY.js.map} +1 -1
- package/dist-vue/_chunks/{mllike-DDHxpeHd.js → mllike-CfQSkcI7.js} +1 -1
- package/dist-vue/_chunks/{mllike-DDHxpeHd.js.map → mllike-CfQSkcI7.js.map} +1 -1
- package/dist-vue/_chunks/{modelica-lMYNHoEu.js → modelica-CbCNcNrB.js} +1 -1
- package/dist-vue/_chunks/{modelica-lMYNHoEu.js.map → modelica-CbCNcNrB.js.map} +1 -1
- package/dist-vue/_chunks/{mscgen-BDVHHK85.js → mscgen-BEGyn8Kg.js} +1 -1
- package/dist-vue/_chunks/{mscgen-BDVHHK85.js.map → mscgen-BEGyn8Kg.js.map} +1 -1
- package/dist-vue/_chunks/{mumps-Cytx8qiy.js → mumps-Dr2ezLO-.js} +1 -1
- package/dist-vue/_chunks/{mumps-Cytx8qiy.js.map → mumps-Dr2ezLO-.js.map} +1 -1
- package/dist-vue/_chunks/{nginx-DkyUeyBK.js → nginx-Bi4gDD3m.js} +1 -1
- package/dist-vue/_chunks/{nginx-DkyUeyBK.js.map → nginx-Bi4gDD3m.js.map} +1 -1
- package/dist-vue/_chunks/{nsis-if-eCOXK.js → nsis-tIoKsxwO.js} +2 -2
- package/dist-vue/_chunks/{nsis-if-eCOXK.js.map → nsis-tIoKsxwO.js.map} +1 -1
- package/dist-vue/_chunks/{ntriples-D-c0_vEi.js → ntriples-BpLyHtBK.js} +1 -1
- package/dist-vue/_chunks/{ntriples-D-c0_vEi.js.map → ntriples-BpLyHtBK.js.map} +1 -1
- package/dist-vue/_chunks/{octave-Co_9SHXf.js → octave-BFLmhqOS.js} +1 -1
- package/dist-vue/_chunks/{octave-Co_9SHXf.js.map → octave-BFLmhqOS.js.map} +1 -1
- package/dist-vue/_chunks/{oz-0gSLg5tX.js → oz-DZWYUv0Q.js} +1 -1
- package/dist-vue/_chunks/{oz-0gSLg5tX.js.map → oz-DZWYUv0Q.js.map} +1 -1
- package/dist-vue/_chunks/{pascal-EFiy6L3H.js → pascal-C9E98ftD.js} +1 -1
- package/dist-vue/_chunks/{pascal-EFiy6L3H.js.map → pascal-C9E98ftD.js.map} +1 -1
- package/dist-vue/_chunks/{perl-6G11E8em.js → perl-BVKFqc1F.js} +1 -1
- package/dist-vue/_chunks/{perl-6G11E8em.js.map → perl-BVKFqc1F.js.map} +1 -1
- package/dist-vue/_chunks/{pig-BW1hm3XT.js → pig-D6QFO3WI.js} +1 -1
- package/dist-vue/_chunks/{pig-BW1hm3XT.js.map → pig-D6QFO3WI.js.map} +1 -1
- package/dist-vue/_chunks/{powershell-Bt-QJoDH.js → powershell-2IfoeWan.js} +1 -1
- package/dist-vue/_chunks/{powershell-Bt-QJoDH.js.map → powershell-2IfoeWan.js.map} +1 -1
- package/dist-vue/_chunks/{properties-D_XHdyRl.js → properties-C2B2ArUy.js} +1 -1
- package/dist-vue/_chunks/{properties-D_XHdyRl.js.map → properties-C2B2ArUy.js.map} +1 -1
- package/dist-vue/_chunks/{protobuf-B2341jP2.js → protobuf-B4WeH-l7.js} +1 -1
- package/dist-vue/_chunks/{protobuf-B2341jP2.js.map → protobuf-B4WeH-l7.js.map} +1 -1
- package/dist-vue/_chunks/{pug-16scRmP0.js → pug-CQ-5YOub.js} +2 -2
- package/dist-vue/_chunks/{pug-16scRmP0.js.map → pug-CQ-5YOub.js.map} +1 -1
- package/dist-vue/_chunks/{puppet-BnknQ9uc.js → puppet-C57db21O.js} +1 -1
- package/dist-vue/_chunks/{puppet-BnknQ9uc.js.map → puppet-C57db21O.js.map} +1 -1
- package/dist-vue/_chunks/{python-Dx6wyD-h.js → python-L3kdHi6C.js} +1 -1
- package/dist-vue/_chunks/{python-Dx6wyD-h.js.map → python-L3kdHi6C.js.map} +1 -1
- package/dist-vue/_chunks/{q-CwYXS2Js.js → q-DQI-vHRp.js} +1 -1
- package/dist-vue/_chunks/{q-CwYXS2Js.js.map → q-DQI-vHRp.js.map} +1 -1
- package/dist-vue/_chunks/{r-B31sqbQ3.js → r-DhKB-o8I.js} +1 -1
- package/dist-vue/_chunks/{r-B31sqbQ3.js.map → r-DhKB-o8I.js.map} +1 -1
- package/dist-vue/_chunks/{rpm-B0MmKWRw.js → rpm-D56QajaS.js} +1 -1
- package/dist-vue/_chunks/{rpm-B0MmKWRw.js.map → rpm-D56QajaS.js.map} +1 -1
- package/dist-vue/_chunks/{ruby-DXiHl-Yz.js → ruby-BcD3iVWj.js} +1 -1
- package/dist-vue/_chunks/{ruby-DXiHl-Yz.js.map → ruby-BcD3iVWj.js.map} +1 -1
- package/dist-vue/_chunks/{sas-B4XJ2693.js → sas-D1OuUIKN.js} +1 -1
- package/dist-vue/_chunks/{sas-B4XJ2693.js.map → sas-D1OuUIKN.js.map} +1 -1
- package/dist-vue/_chunks/{scheme-Df6d10fH.js → scheme-CUrJ3_0S.js} +1 -1
- package/dist-vue/_chunks/{scheme-Df6d10fH.js.map → scheme-CUrJ3_0S.js.map} +1 -1
- package/dist-vue/_chunks/{shell-BV8cKKHJ.js → shell-BPM0XoRU.js} +1 -1
- package/dist-vue/_chunks/{shell-BV8cKKHJ.js.map → shell-BPM0XoRU.js.map} +1 -1
- package/dist-vue/_chunks/{sieve-KCcjO0gU.js → sieve-n-ojLaJW.js} +1 -1
- package/dist-vue/_chunks/{sieve-KCcjO0gU.js.map → sieve-n-ojLaJW.js.map} +1 -1
- package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js → simple-mode-DGBVTMBE.js} +1 -1
- package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js.map → simple-mode-DGBVTMBE.js.map} +1 -1
- package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js → smalltalk-CbOtG3J-.js} +1 -1
- package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js.map → smalltalk-CbOtG3J-.js.map} +1 -1
- package/dist-vue/_chunks/{solr-D67CeY1D.js → solr-CC7GnBmE.js} +1 -1
- package/dist-vue/_chunks/{solr-D67CeY1D.js.map → solr-CC7GnBmE.js.map} +1 -1
- package/dist-vue/_chunks/{sparql-D0t-Guzg.js → sparql-DC2C8LuG.js} +1 -1
- package/dist-vue/_chunks/{sparql-D0t-Guzg.js.map → sparql-DC2C8LuG.js.map} +1 -1
- package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js → spreadsheet-rMh9jzuD.js} +1 -1
- package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js.map → spreadsheet-rMh9jzuD.js.map} +1 -1
- package/dist-vue/_chunks/{sql-B5Rl3TuV.js → sql-C15h02N-.js} +1 -1
- package/dist-vue/_chunks/{sql-B5Rl3TuV.js.map → sql-C15h02N-.js.map} +1 -1
- package/dist-vue/_chunks/{stex-Bu2gC9SM.js → stex-BQU7jli4.js} +1 -1
- package/dist-vue/_chunks/{stex-Bu2gC9SM.js.map → stex-BQU7jli4.js.map} +1 -1
- package/dist-vue/_chunks/{stylus-SIPLRHxF.js → stylus-Fj84CAVA.js} +1 -1
- package/dist-vue/_chunks/{stylus-SIPLRHxF.js.map → stylus-Fj84CAVA.js.map} +1 -1
- package/dist-vue/_chunks/{swift-B_JaBro8.js → swift-CrzZIdws.js} +1 -1
- package/dist-vue/_chunks/{swift-B_JaBro8.js.map → swift-CrzZIdws.js.map} +1 -1
- package/dist-vue/_chunks/{tcl-ChmdQusa.js → tcl-BvFcqrC1.js} +1 -1
- package/dist-vue/_chunks/{tcl-ChmdQusa.js.map → tcl-BvFcqrC1.js.map} +1 -1
- package/dist-vue/_chunks/{textile-BukFHU5C.js → textile-CAX0nrzJ.js} +1 -1
- package/dist-vue/_chunks/{textile-BukFHU5C.js.map → textile-CAX0nrzJ.js.map} +1 -1
- package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js → tiddlywiki-D5Gu8Cgp.js} +1 -1
- package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js.map → tiddlywiki-D5Gu8Cgp.js.map} +1 -1
- package/dist-vue/_chunks/{tiki-DqShKWqG.js → tiki-BelGwBNb.js} +1 -1
- package/dist-vue/_chunks/{tiki-DqShKWqG.js.map → tiki-BelGwBNb.js.map} +1 -1
- package/dist-vue/_chunks/{toml-BATqZFcK.js → toml-BEm4Ctws.js} +1 -1
- package/dist-vue/_chunks/{toml-BATqZFcK.js.map → toml-BEm4Ctws.js.map} +1 -1
- package/dist-vue/_chunks/{troff-PbwxY1FZ.js → troff-lWffuAea.js} +1 -1
- package/dist-vue/_chunks/{troff-PbwxY1FZ.js.map → troff-lWffuAea.js.map} +1 -1
- package/dist-vue/_chunks/{ttcn-BSxIkHWh.js → ttcn-CJo3GWqH.js} +1 -1
- package/dist-vue/_chunks/{ttcn-BSxIkHWh.js.map → ttcn-CJo3GWqH.js.map} +1 -1
- package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js → ttcn-cfg-C9gCx5K3.js} +1 -1
- package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js.map → ttcn-cfg-C9gCx5K3.js.map} +1 -1
- package/dist-vue/_chunks/{turtle-B0nZo8hJ.js → turtle-Bg3JtSZx.js} +1 -1
- package/dist-vue/_chunks/{turtle-B0nZo8hJ.js.map → turtle-Bg3JtSZx.js.map} +1 -1
- package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js → useChatbotStore-DE8leYO8.js} +3 -2
- package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js.map → useChatbotStore-DE8leYO8.js.map} +1 -1
- package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js +14 -0
- package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js.map +1 -0
- package/dist-vue/_chunks/{utils-BTa2h3WM.js → utils-CRojvghU.js} +26 -11
- package/dist-vue/_chunks/utils-CRojvghU.js.map +1 -0
- package/dist-vue/_chunks/{vb-BRq_7ZF9.js → vb-Xh1Jl3M6.js} +1 -1
- package/dist-vue/_chunks/{vb-BRq_7ZF9.js.map → vb-Xh1Jl3M6.js.map} +1 -1
- package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js → vbscript-NjJzWxN6.js} +1 -1
- package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js.map → vbscript-NjJzWxN6.js.map} +1 -1
- package/dist-vue/_chunks/{velocity-BvxA2zsa.js → velocity-CRJkj7qc.js} +1 -1
- package/dist-vue/_chunks/{velocity-BvxA2zsa.js.map → velocity-CRJkj7qc.js.map} +1 -1
- package/dist-vue/_chunks/{verilog-B3osH5GQ.js → verilog-CBHbxdbo.js} +1 -1
- package/dist-vue/_chunks/{verilog-B3osH5GQ.js.map → verilog-CBHbxdbo.js.map} +1 -1
- package/dist-vue/_chunks/{vhdl-CR1z1JUE.js → vhdl-BxdacNfs.js} +1 -1
- package/dist-vue/_chunks/{vhdl-CR1z1JUE.js.map → vhdl-BxdacNfs.js.map} +1 -1
- package/dist-vue/_chunks/{webidl-C74Qva8l.js → webidl-BuFj0gB5.js} +1 -1
- package/dist-vue/_chunks/{webidl-C74Qva8l.js.map → webidl-BuFj0gB5.js.map} +1 -1
- package/dist-vue/_chunks/{xquery-hmT-vB1m.js → xquery-DA__vFXM.js} +1 -1
- package/dist-vue/_chunks/{xquery-hmT-vB1m.js.map → xquery-DA__vFXM.js.map} +1 -1
- package/dist-vue/_chunks/{yacas-B2_Uw5g-.js → yacas-C0zyYz-1.js} +1 -1
- package/dist-vue/_chunks/{yacas-B2_Uw5g-.js.map → yacas-C0zyYz-1.js.map} +1 -1
- package/dist-vue/_chunks/{z80-BDY8ScET.js → z80-D0C3d2Md.js} +1 -1
- package/dist-vue/_chunks/{z80-BDY8ScET.js.map → z80-D0C3d2Md.js.map} +1 -1
- package/dist-vue/api.js +1 -1
- package/dist-vue/apps/web-component/src/composables/index.d.ts +1 -0
- package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +2 -2
- package/dist-vue/composables.js +62 -61
- package/dist-vue/composables.js.map +1 -1
- package/dist-vue/index.js +4536 -3897
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +72 -28
- package/dist-vue/packages/auth/src/index.d.ts +2 -2
- package/dist-vue/packages/components/src/PkEditorMedia.d.ts +1 -1
- package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +135 -9
- package/dist-vue/packages/components/src/chat/PkReasoningSettings.d.ts +54 -0
- package/dist-vue/packages/components/src/chat/PkWebSearchSettings.d.ts +105 -0
- package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
- package/dist-vue/packages/components/src/chat/index.d.ts +3 -1
- package/dist-vue/packages/components/src/chat/utils.d.ts +6 -0
- package/dist-vue/packages/components/src/composables/index.d.ts +0 -2
- package/dist-vue/packages/composable/src/index.d.ts +2 -0
- package/dist-vue/packages/{components/src/composables → composable/src}/useChatbotError.d.ts +1 -1
- package/dist-vue/packages/{components/src/composables → composable/src}/useLocalizedString.d.ts +1 -1
- package/dist-vue/packages/models/src/schema/Agent.d.ts +633 -63
- package/dist-vue/packages/models/src/schema/AgentChatStatistics.d.ts +1 -1
- package/dist-vue/packages/models/src/schema/Chat.d.ts +104 -13
- package/dist-vue/packages/models/src/schema/Integration.d.ts +1 -1
- package/dist-vue/packages/models/src/schema/McpServer.d.ts +6 -6
- package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +209 -27
- package/dist-vue/packages/models/src/schema/SubAgent.d.ts +209 -27
- package/dist-vue/style.css +1 -1
- package/package.json +2 -2
- package/dist/_chunks/PkToolShowComparison-D_DtpXRO.js.map +0 -1
- package/dist/_chunks/VvCheckbox.es-LSjS8_8K.js.map +0 -1
- package/dist/_chunks/VvCheckboxGroup.es-CR5ZTD2H.js.map +0 -1
- package/dist/_chunks/VvCombobox.es-B8E1RmUn.js.map +0 -1
- package/dist/_chunks/VvInputText.es-BYAhw1yP.js.map +0 -1
- package/dist/_chunks/VvRadio.es-CQj6S-QP.js.map +0 -1
- package/dist/_chunks/VvRadioGroup.es-9AWwbBXm.js.map +0 -1
- package/dist/_chunks/VvSelect.es-DAmZPvCV.js.map +0 -1
- package/dist/_chunks/VvTextarea.es-BfgLTEPk.js.map +0 -1
- package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js +0 -191
- package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotError-C1ZxZlwQ.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js +0 -468
- package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotViewChat-hqsvz_7X.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowComparison-CZ3kO6PT.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js +0 -130
- package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js.map +0 -1
- package/dist-vue/_chunks/createChatbotApiClient-tAXyZCUx.js.map +0 -1
- package/dist-vue/_chunks/utils-BTa2h3WM.js.map +0 -1
package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js.map → PkToolShowEmail-DFM6ClX-.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowEmail-BfpB-rs5.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowEmail.vue","../../../../packages/components/src/chat/PkToolShowEmail.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n subject: string\n body: string\n }\n }\n return part\n })\n const openInMailApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const mailtoLink = `mailto:?subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(mailtoLink)\n }\n\n const openInOutlook = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://outlook.office.com/mail/deeplink/compose?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInGmail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://mail.google.com/mail/u/0/?tf=cm&to=&su=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInYahooMail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://compose.mail.yahoo.com/?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:mail-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.email') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"\n copy(\n `${toolPart?.input?.subject}\\n\\n${toolPart?.input?.body}`,\n )\n \" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:mail-send-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInOutlook\">\n <VvIcon name=\"mdi:outlook\" />\n {{ $t('action.openInOutlook') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInGmail\">\n <VvIcon name=\"mdi:gmail\" />\n {{ $t('action.openInGmail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInYahooMail\">\n <VvIcon name=\"mdi:yahoo\" />\n {{ $t('action.openInYahooMail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInMailApp\">\n <VvIcon name=\"ri:mail-open-line\" />\n {{ $t('action.openInMailApp') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"border-b border-surface-3 p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.subject') }}\n </div>\n <div class=\"text-word-2 font-semibold\">\n {{ toolPart?.input?.subject }}\n </div>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n subject: string\n body: string\n }\n }\n return part\n })\n const openInMailApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const mailtoLink = `mailto:?subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(mailtoLink)\n }\n\n const openInOutlook = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://outlook.office.com/mail/deeplink/compose?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInGmail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://mail.google.com/mail/u/0/?tf=cm&to=&su=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInYahooMail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://compose.mail.yahoo.com/?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:mail-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.email') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"\n copy(\n `${toolPart?.input?.subject}\\n\\n${toolPart?.input?.body}`,\n )\n \" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:mail-send-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInOutlook\">\n <VvIcon name=\"mdi:outlook\" />\n {{ $t('action.openInOutlook') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInGmail\">\n <VvIcon name=\"mdi:gmail\" />\n {{ $t('action.openInGmail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInYahooMail\">\n <VvIcon name=\"mdi:yahoo\" />\n {{ $t('action.openInYahooMail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInMailApp\">\n <VvIcon name=\"ri:mail-open-line\" />\n {{ $t('action.openInMailApp') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"border-b border-surface-3 p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.subject') }}\n </div>\n <div class=\"text-word-2 font-semibold\">\n {{ toolPart?.input?.subject }}\n </div>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PkToolShowEmail-DFM6ClX-.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowEmail.vue","../../../../packages/components/src/chat/PkToolShowEmail.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n subject: string\n body: string\n }\n }\n return part\n })\n const openInMailApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const mailtoLink = `mailto:?subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(mailtoLink)\n }\n\n const openInOutlook = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://outlook.office.com/mail/deeplink/compose?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInGmail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://mail.google.com/mail/u/0/?tf=cm&to=&su=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInYahooMail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://compose.mail.yahoo.com/?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:mail-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.email') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"\n copy(\n `${toolPart?.input?.subject}\\n\\n${toolPart?.input?.body}`,\n )\n \" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:mail-send-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInOutlook\">\n <VvIcon name=\"mdi:outlook\" />\n {{ $t('action.openInOutlook') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInGmail\">\n <VvIcon name=\"mdi:gmail\" />\n {{ $t('action.openInGmail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInYahooMail\">\n <VvIcon name=\"mdi:yahoo\" />\n {{ $t('action.openInYahooMail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInMailApp\">\n <VvIcon name=\"ri:mail-open-line\" />\n {{ $t('action.openInMailApp') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"border-b border-surface-3 p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.subject') }}\n </div>\n <div class=\"text-word-2 font-semibold\">\n {{ toolPart?.input?.subject }}\n </div>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n subject: string\n body: string\n }\n }\n return part\n })\n const openInMailApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const mailtoLink = `mailto:?subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(mailtoLink)\n }\n\n const openInOutlook = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://outlook.office.com/mail/deeplink/compose?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInGmail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://mail.google.com/mail/u/0/?tf=cm&to=&su=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInYahooMail = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://compose.mail.yahoo.com/?to=&subject=${encodeURIComponent(\n toolPart.value.input.subject,\n )}&body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:mail-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.email') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"\n copy(\n `${toolPart?.input?.subject}\\n\\n${toolPart?.input?.body}`,\n )\n \" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:mail-send-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInOutlook\">\n <VvIcon name=\"mdi:outlook\" />\n {{ $t('action.openInOutlook') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInGmail\">\n <VvIcon name=\"mdi:gmail\" />\n {{ $t('action.openInGmail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInYahooMail\">\n <VvIcon name=\"mdi:yahoo\" />\n {{ $t('action.openInYahooMail') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInMailApp\">\n <VvIcon name=\"ri:mail-open-line\" />\n {{ $t('action.openInMailApp') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"border-b border-surface-3 p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.subject') }}\n </div>\n <div class=\"text-word-2 font-semibold\">\n {{ toolPart?.input?.subject }}\n </div>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js → PkToolShowImageGallery-By3Evwn4.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { n as t } from "./src-EtGd6cRz.js";
|
|
3
|
-
import { n, r } from "./PkChatbotFilePreview-
|
|
3
|
+
import { n, r } from "./PkChatbotFilePreview-0N9ASbIp.js";
|
|
4
4
|
import { VvIcon as i } from "@volverjs/ui-vue/components";
|
|
5
5
|
import { Fragment as a, computed as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, normalizeClass as f, onMounted as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, unref as v } from "vue";
|
|
6
6
|
//#region ../../packages/components/src/chat/PkToolShowImageGallery.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -58,4 +58,4 @@ var y = {
|
|
|
58
58
|
//#endregion
|
|
59
59
|
export { E as n, D as t };
|
|
60
60
|
|
|
61
|
-
//# sourceMappingURL=PkToolShowImageGallery-
|
|
61
|
+
//# sourceMappingURL=PkToolShowImageGallery-By3Evwn4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowImageGallery-
|
|
1
|
+
{"version":3,"file":"PkToolShowImageGallery-By3Evwn4.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowImageGallery.vue","../../../../packages/components/src/chat/PkToolShowImageGallery.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref, onMounted } from 'vue'\n import { isSameSite } from 'utils'\n import { useLightbox, useImageSizes } from '../composables/useLightbox'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n images: Array<{\n url: string\n caption?: string\n alt?: string\n }>\n }\n }\n return part\n })\n\n const galleryRef = ref<HTMLElement>()\n const { preload, getSize } = useImageSizes()\n\n const images = computed(() => toolPart.value.input?.images ?? [])\n\n const gridCols = computed(() => {\n const count = images.value.length\n if (count === 1) {\n return 'grid-cols-1'\n }\n if (count === 2) {\n return 'grid-cols-2'\n }\n return 'grid-cols-3'\n })\n\n const { init } = useLightbox({ gallery: galleryRef })\n\n onMounted(async () => {\n preload(images.value)\n await init()\n })\n</script>\n\n<template>\n <div\n v-if=\"images.length\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:image-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.gallery', { count: images.length }) }}\n </strong>\n </div>\n <div class=\"p-sm\">\n <div ref=\"galleryRef\" class=\"grid gap-8\" :class=\"gridCols\">\n <a\n v-for=\"image in images\"\n :key=\"image.url\"\n :href=\"image.url\"\n :data-pswp-src=\"image.url\"\n :data-pswp-width=\"getSize(image.url).width\"\n :data-pswp-height=\"getSize(image.url).height\"\n :data-pswp-caption=\"image.caption ?? image.alt ?? ''\"\n :data-cropped=\"true\"\n class=\"relative block aspect-square overflow-hidden rounded-lg cursor-pointer group\"\n :title=\"image.caption ?? image.alt ?? ''\"\n :target=\"isSameSite(image.url) ? undefined : '_blank'\"\n :rel=\"\n isSameSite(image.url)\n ? undefined\n : 'noopener noreferrer'\n \">\n <img\n :src=\"image.url\"\n :alt=\"image.alt ?? image.caption ?? ''\"\n class=\"w-full h-full object-cover transition-opacity group-hover:opacity-80\" />\n </a>\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed, ref, onMounted } from 'vue'\n import { isSameSite } from 'utils'\n import { useLightbox, useImageSizes } from '../composables/useLightbox'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n images: Array<{\n url: string\n caption?: string\n alt?: string\n }>\n }\n }\n return part\n })\n\n const galleryRef = ref<HTMLElement>()\n const { preload, getSize } = useImageSizes()\n\n const images = computed(() => toolPart.value.input?.images ?? [])\n\n const gridCols = computed(() => {\n const count = images.value.length\n if (count === 1) {\n return 'grid-cols-1'\n }\n if (count === 2) {\n return 'grid-cols-2'\n }\n return 'grid-cols-3'\n })\n\n const { init } = useLightbox({ gallery: galleryRef })\n\n onMounted(async () => {\n preload(images.value)\n await init()\n })\n</script>\n\n<template>\n <div\n v-if=\"images.length\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:image-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.gallery', { count: images.length }) }}\n </strong>\n </div>\n <div class=\"p-sm\">\n <div ref=\"galleryRef\" class=\"grid gap-8\" :class=\"gridCols\">\n <a\n v-for=\"image in images\"\n :key=\"image.url\"\n :href=\"image.url\"\n :data-pswp-src=\"image.url\"\n :data-pswp-width=\"getSize(image.url).width\"\n :data-pswp-height=\"getSize(image.url).height\"\n :data-pswp-caption=\"image.caption ?? image.alt ?? ''\"\n :data-cropped=\"true\"\n class=\"relative block aspect-square overflow-hidden rounded-lg cursor-pointer group\"\n :title=\"image.caption ?? image.alt ?? ''\"\n :target=\"isSameSite(image.url) ? undefined : '_blank'\"\n :rel=\"\n isSameSite(image.url)\n ? undefined\n : 'noopener noreferrer'\n \">\n <img\n :src=\"image.url\"\n :alt=\"image.alt ?? image.caption ?? ''\"\n class=\"w-full h-full object-cover transition-opacity group-hover:opacity-80\" />\n </a>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAKI,IAAM,IAAQ,GAIR,IAAW,QACA,EAAM,IAUtB,GAEK,IAAa,EAAiB,GAC9B,EAAE,YAAS,eAAY,EAAc,GAErC,IAAS,QAAe,EAAS,MAAM,OAAO,UAAU,CAAC,CAAC,GAE1D,IAAW,QAAe;GAC5B,IAAM,IAAQ,EAAO,MAAM;GAO3B,OANI,MAAU,IACH,gBAEP,MAAU,IACH,gBAEJ;EACX,CAAC,GAEK,EAAE,YAAS,EAAY,EAAE,SAAS,EAAW,CAAC;SAEpD,EAAU,YAAY;GAElB,AADA,EAAQ,EAAO,KAAK,GACpB,MAAM,EAAK;EACf,CAAC;;UAKS,EAAA,MAAO,UAAA,EAAA,GADjB,EAoCM,OApCN,GAoCM,CAjCF,EAMM,OANN,GAMM,CAJF,EAA+C,GAAA;IAAvC,MAAK;IAAgB,OAAM;OACnC,EAES,UAFT,GAES,EADFA,EAAAA,GAAE,iBAAA,EAAA,OAA2B,EAAA,MAAO,OAAM,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAGrD,EAyBM,OAzBN,GAyBM,CAxBF,EAuBM,OAAA;aAvBG;IAAJ,KAAI;IAAa,OAAK,EAAA,CAAC,cAAqB,EAAA,KAAQ,CAAA;eACrD,EAqBI,GAAA,MAAA,EApBgB,EAAA,QAAT,YADX,EAqBI,KAAA;IAnBC,KAAK,EAAM;IACX,MAAM,EAAM;IACZ,iBAAe,EAAM;IACrB,mBAAiB,EAAA,CAAA,EAAQ,EAAM,GAAG,EAAE;IACpC,oBAAkB,EAAA,CAAA,EAAQ,EAAM,GAAG,EAAE;IACrC,qBAAmB,EAAM,WAAW,EAAM,OAAG;IAC7C,gBAAc;IACf,OAAM;IACL,OAAO,EAAM,WAAW,EAAM,OAAG;IACjC,QAAQ,EAAA,CAAA,EAAW,EAAM,GAAG,IAAI,KAAA,IAAS;IACzC,KAA8B,EAAA,CAAA,EAAW,EAAM,GAAG,IAAgC,KAAA,IAAA;OAKnF,EAGmF,OAAA;IAF9E,KAAK,EAAM;IACX,KAAK,EAAM,OAAO,EAAM,WAAO;IAChC,OAAM"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { v as t, y as n } from "./src-EtGd6cRz.js";
|
|
3
3
|
import { VvButton as r, VvButtonGroup as i, VvDropdown as a, VvDropdownAction as o, VvIcon as s } from "@volverjs/ui-vue/components";
|
|
4
4
|
import { computed as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, createVNode as p, defineComponent as m, getCurrentInstance as h, guardReactiveProps as g, normalizeProps as _, onMounted as v, openBlock as y, ref as b, toDisplayString as x, unref as S, watchEffect as C, withCtx as w } from "vue";
|
|
@@ -146,4 +146,4 @@ var P = {
|
|
|
146
146
|
//#endregion
|
|
147
147
|
export { U as n, W as t };
|
|
148
148
|
|
|
149
|
-
//# sourceMappingURL=PkToolShowLocation-
|
|
149
|
+
//# sourceMappingURL=PkToolShowLocation-DW55PIk2.js.map
|
package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js.map → PkToolShowLocation-DW55PIk2.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowLocation-CsYef0jY.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowLocation.vue","../../../../packages/components/src/chat/PkToolShowLocation.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PkToolShowLocation-DW55PIk2.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowLocation.vue","../../../../packages/components/src/chat/PkToolShowLocation.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import {\n computed,\n ref,\n watchEffect,\n onMounted,\n getCurrentInstance,\n } from 'vue'\n import { useClipboard } from '@vueuse/core'\n import { loadCdnCss, getShadowRoot } from 'utils'\n import { Icon } from 'leaflet'\n import { LMap, LTileLayer, LMarker, LPopup } from '@maxel01/vue-leaflet'\n import markerIcon from 'leaflet/dist/images/marker-icon.png'\n import markerIcon2x from 'leaflet/dist/images/marker-icon-2x.png'\n import markerShadow from 'leaflet/dist/images/marker-shadow.png'\n\n delete Icon.Default.prototype._getIconUrl\n Icon.Default.mergeOptions({\n iconUrl: markerIcon,\n iconRetinaUrl: markerIcon2x,\n shadowUrl: markerShadow,\n })\n\n const props = defineProps<{\n part: unknown\n forwardGeocode?: (\n query: string,\n lang?: string,\n ) => Promise<\n | { latitude: number; longitude: number; displayName: string }\n | undefined\n >\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n name: string\n address: string\n latitude?: number\n longitude?: number\n additionalInfo?: string\n }\n }\n return part\n })\n\n const geocodedCoords = ref<[number, number] | null>(null)\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/leaflet@2.0.0-alpha.1/dist/leaflet.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n watchEffect(async () => {\n const input = toolPart.value.input\n if (!input || input.latitude != null || !input.address) {\n return\n }\n if (!props.forwardGeocode) {\n return\n }\n\n try {\n const result = await props.forwardGeocode(input.address)\n if (result) {\n geocodedCoords.value = [result.latitude, result.longitude]\n }\n } catch {\n // Geocoding failed — fallback to text-only card\n }\n })\n\n const hasCoords = computed(\n () =>\n (toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null) ||\n geocodedCoords.value != null,\n )\n\n const center = computed<[number, number]>(() => {\n if (\n toolPart.value.input?.latitude != null &&\n toolPart.value.input?.longitude != null\n ) {\n return [\n toolPart.value.input.latitude,\n toolPart.value.input.longitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n const destination = hasCoords.value\n ? `${center.value[0]},${center.value[1]}`\n : input.address\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(destination)}`,\n '_blank',\n )\n }\n\n const openWaze = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n if (hasCoords.value) {\n window.open(\n `https://waze.com/ul?ll=${center.value[0]},${center.value[1]}&navigate=yes`,\n '_blank',\n )\n } else {\n window.open(\n `https://waze.com/ul?q=${encodeURIComponent(input.address)}&navigate=yes`,\n '_blank',\n )\n }\n }\n\n const copyLocation = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n copy(`${input.name}\\n${input.address}`)\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:map-pin-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.location') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copyLocation\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:direction-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.getDirections')\" />\n <template #items>\n <VvDropdownAction @click=\"openGoogleMaps\">\n <VvIcon name=\"ri:map-2-line\" />\n Google Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openAppleMaps\">\n <VvIcon name=\"ri:map-line\" />\n Apple Maps\n </VvDropdownAction>\n <VvDropdownAction @click=\"openWaze\">\n <VvIcon name=\"ri:navigation-line\" />\n Waze\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div v-if=\"hasCoords\" class=\"h-224 border-b border-surface-3\">\n <LMap\n :zoom=\"12\"\n :center\n :use-global-leaflet=\"false\"\n :options=\"{\n scrollWheelZoom: false,\n dragging: true,\n zoomControl: true,\n attributionControl: false,\n }\"\n style=\"height: 100%; width: 100%\">\n <LTileLayer\n url=\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\"\n layer-type=\"base\"\n name=\"OpenStreetMap\" />\n <LMarker :lat-lng=\"center\">\n <LPopup>{{ toolPart.input.name }}</LPopup>\n </LMarker>\n </LMap>\n </div>\n <div class=\"p-sm flex flex-col gap-4\">\n <p class=\"font-semibold text-word-1 text-14\">\n {{ toolPart.input.name }}\n </p>\n <p class=\"text-12 text-word-3\">{{ toolPart.input.address }}</p>\n <p v-if=\"toolPart.input.additionalInfo\" class=\"text-12 text-word-4\">\n {{ toolPart.input.additionalInfo }}\n </p>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { VvButton as t, VvButtonGroup as n, VvDropdown as r, VvDropdownAction as i, VvIcon as a } from "@volverjs/ui-vue/components";
|
|
3
3
|
import { computed as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, guardReactiveProps as f, normalizeProps as p, openBlock as m, toDisplayString as h, unref as g, withCtx as _ } from "vue";
|
|
4
4
|
import { useClipboard as v } from "@vueuse/core";
|
|
@@ -74,4 +74,4 @@ var y = { class: "border border-surface-3 rounded-xl w-full overflow-hidden" },
|
|
|
74
74
|
//#endregion
|
|
75
75
|
export { E as n, D as t };
|
|
76
76
|
|
|
77
|
-
//# sourceMappingURL=PkToolShowMessage-
|
|
77
|
+
//# sourceMappingURL=PkToolShowMessage-BUujtIdB.js.map
|
package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js.map → PkToolShowMessage-BUujtIdB.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowMessage-
|
|
1
|
+
{"version":3,"file":"PkToolShowMessage-BUujtIdB.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowMessage.vue","../../../../packages/components/src/chat/PkToolShowMessage.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n body: string\n }\n }\n return part\n })\n\n const openInWhatsApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://wa.me/?text=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInTelegram = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://t.me/share/url?text=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInSms = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `sms:?body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url)\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:chat-1-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.message') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copy(toolPart?.input?.body ?? '')\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:send-plane-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInWhatsApp\">\n <VvIcon name=\"ri:whatsapp-line\" />\n {{ $t('action.openInWhatsApp') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInTelegram\">\n <VvIcon name=\"ri:telegram-line\" />\n {{ $t('action.openInTelegram') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInSms\">\n <VvIcon name=\"ri:message-2-line\" />\n {{ $t('action.openInSms') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n body: string\n }\n }\n return part\n })\n\n const openInWhatsApp = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://wa.me/?text=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInTelegram = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `https://t.me/share/url?text=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url, '_blank')\n }\n\n const openInSms = () => {\n if (!toolPart.value.input) {\n return\n }\n const url = `sms:?body=${encodeURIComponent(toolPart.value.input.body)}`\n window.open(url)\n }\n</script>\n\n<template>\n <div class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:chat-1-line\" class=\"text-16\" />\n <strong class=\"font-bold\">\n {{ $t('label.message') }}\n </strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copy(toolPart?.input?.body ?? '')\" />\n <VvDropdown\n v-bind=\"{\n placement: 'bottom-end',\n modifiers: 'menu',\n flip: true,\n offset: 3,\n strategy: 'fixed',\n }\">\n <VvButton\n icon=\"ri:send-plane-line\"\n modifiers=\"action-quiet-small\"\n :label=\"$t('action.send')\" />\n <template #items>\n <VvDropdownAction @click=\"openInWhatsApp\">\n <VvIcon name=\"ri:whatsapp-line\" />\n {{ $t('action.openInWhatsApp') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInTelegram\">\n <VvIcon name=\"ri:telegram-line\" />\n {{ $t('action.openInTelegram') }}\n </VvDropdownAction>\n <VvDropdownAction @click=\"openInSms\">\n <VvIcon name=\"ri:message-2-line\" />\n {{ $t('action.openInSms') }}\n </VvDropdownAction>\n </template>\n </VvDropdown>\n </VvButtonGroup>\n </div>\n <div class=\"p-sm\">\n <div class=\"text-12 text-word-4 mb-4\">\n {{ $t('label.body') }}\n </div>\n <pre class=\"text-word-2 whitespace-pre-wrap break-words\">{{\n toolPart?.input?.body\n }}</pre>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;EAII,IAAM,IAAQ,GAIR,EAAE,SAAM,cAAW,EAAa,GAEhC,IAAW,QACA,EAAM,IAMtB,GAEK,UAAuB;GACzB,IAAI,CAAC,EAAS,MAAM,OAChB;GAEJ,IAAM,IAAM,uBAAuB,mBAAmB,EAAS,MAAM,MAAM,IAAI;GAC/E,OAAO,KAAK,GAAK,QAAQ;EAC7B,GAEM,UAAuB;GACzB,IAAI,CAAC,EAAS,MAAM,OAChB;GAEJ,IAAM,IAAM,+BAA+B,mBAAmB,EAAS,MAAM,MAAM,IAAI;GACvF,OAAO,KAAK,GAAK,QAAQ;EAC7B,GAEM,UAAkB;GACpB,IAAI,CAAC,EAAS,MAAM,OAChB;GAEJ,IAAM,IAAM,aAAa,mBAAmB,EAAS,MAAM,MAAM,IAAI;GACrE,OAAO,KAAK,CAAG;EACnB;;;eAIA,EAkDM,OAlDN,GAkDM,CAjDF,EAwCM,OAxCN,GAwCM;IAtCF,EAAgD,GAAA;KAAxC,MAAK;KAAiB,OAAM;;IACpC,EAES,UAFT,GAES,EADFA,EAAAA,GAAE,eAAA,CAAA,GAAA,CAAA;IAET,EAiCgB,GAAA;KAjCD,WAAU;KAAU,OAAM;;sBAKY,CAJjD,EAIiD,GAAA;MAH7C,WAAU;MACT,MAAM,EAAA,CAAA,IAAM,kBAAA;MACZ,OAAO,EAAA,CAAA,IAASA,EAAAA,GAAE,eAAA,IAAoBA,EAAAA,GAAE,aAAA;MACxC,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,CAAA,EAAK,EAAA,OAAU,OAAO,QAAI,EAAA;qCACtC,EA0Ba,GAAA,EAAA,EAzBD;;;;;;MAMP,CAAA,GAAA;MAKU,OAAK,QAIO;OAHnB,EAGmB,GAAA,EAHA,SAAO,EAAc,GAAA;yBACF,CAAlC,EAAkC,GAAA,EAA1B,MAAK,mBAAkB,CAAA,GAAA,EAAG,MAClC,EAAGA,EAAAA,GAAE,uBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;OAET,EAGmB,GAAA,EAHA,SAAO,EAAc,GAAA;yBACF,CAAlC,EAAkC,GAAA,EAA1B,MAAK,mBAAkB,CAAA,GAAA,EAAG,MAClC,EAAGA,EAAAA,GAAE,uBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;OAET,EAGmB,GAAA,EAHA,SAAO,EAAS,GAAA;yBACI,CAAnC,EAAmC,GAAA,EAA3B,MAAK,oBAAmB,CAAA,GAAA,EAAG,MACnC,EAAGA,EAAAA,GAAE,kBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;uBAZoB,CAHjC,EAGiC,GAAA;OAF7B,MAAK;OACL,WAAU;OACT,OAAOA,EAAAA,GAAE,aAAA;;;;;;OAkB1B,EAOM,OAPN,GAOM,CANF,EAEM,OAFN,GAEM,EADCA,EAAAA,GAAE,YAAA,CAAA,GAAA,CAAA,GAET,EAEQ,OAFR,GAEQ,EADJ,EAAA,OAAU,OAAO,IAAI,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { VvButton as t, VvButtonGroup as n, VvInputText as r } from "@volverjs/ui-vue/components";
|
|
3
3
|
import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, normalizeClass as f, openBlock as p, ref as m, renderList as h, toDisplayString as g, unref as _, watch as v, withCtx as y, withModifiers as b } from "vue";
|
|
4
4
|
import { useI18n as x } from "vue-i18n";
|
|
@@ -79,4 +79,4 @@ var S = { class: "px-sm py-10 font-bold bg-surface-1 text-12 border-b border-sur
|
|
|
79
79
|
//#endregion
|
|
80
80
|
export { E as n, D as t };
|
|
81
81
|
|
|
82
|
-
//# sourceMappingURL=PkToolShowMultipleChoice-
|
|
82
|
+
//# sourceMappingURL=PkToolShowMultipleChoice-DoQHEPc0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowMultipleChoice-
|
|
1
|
+
{"version":3,"file":"PkToolShowMultipleChoice-DoQHEPc0.js","names":[],"sources":["../../../../packages/components/src/chat/PkToolShowMultipleChoice.vue","../../../../packages/components/src/chat/PkToolShowMultipleChoice.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n type LegacyOption = { id: string; label: string; value: string }\n\n const props = defineProps<{\n part: unknown\n allowCustomAnswer?: boolean\n }>()\n\n const emit = defineEmits<{\n select: [option: string]\n }>()\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const customAnswer = ref('')\n\n const toolPart = computed(() => {\n return JSON.parse(JSON.stringify(props.part)) as {\n state?: string\n toolCallId?: string\n input?: {\n question: string\n options: string[] | LegacyOption[]\n }\n output?: string | LegacyOption\n }\n })\n\n /** Normalize options to string[] (supports legacy { label } objects) */\n const normalizedOptions = computed(() => {\n return (toolPart.value?.input?.options ?? []).map((o) =>\n typeof o === 'string' ? o : o.label,\n )\n })\n\n /** Normalize output to string (supports legacy { label } objects) */\n const normalizedOutput = computed(() => {\n const out = toolPart.value?.output\n if (!out) {\n return undefined\n }\n return typeof out === 'string' ? out : out.label\n })\n\n const toolState = computed(() => {\n return toolPart.value?.state || 'unknown'\n })\n\n const isInteractive = computed(() => {\n return toolState.value === 'input-available'\n })\n\n function submitCustomAnswer() {\n const value = customAnswer.value.trim()\n if (!value) {\n return\n }\n emit('select', value)\n }\n\n watch(\n normalizedOutput,\n (newValue) => {\n if (newValue && !normalizedOptions.value.includes(newValue)) {\n customAnswer.value = newValue\n }\n },\n {\n immediate: true,\n },\n )\n</script>\n\n<template>\n <div\n v-if=\"normalizedOptions.length\"\n :key=\"toolState\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-10 font-bold bg-surface-1 text-12 border-b border-surface-3 text-word-3\">\n {{ toolPart.input?.question }}\n </div>\n <div class=\"px-sm py-10\">\n <VvButtonGroup\n :key=\"normalizedOptions.length\"\n modifiers=\"vertical\"\n class=\"w-full\">\n <VvButton\n v-for=\"(option, index) in normalizedOptions\"\n :key=\"index\"\n modifiers=\"action-multiline\"\n class=\"whitespace-normal w-full\"\n :class=\"{\n pressed: option === normalizedOutput,\n }\"\n :disabled=\"!isInteractive\"\n :label=\"option\"\n @click.stop=\"emit('select', option)\" />\n </VvButtonGroup>\n </div>\n <div\n v-if=\"allowCustomAnswer\"\n class=\"px-sm pb-sm border-t border-surface-3\">\n <form\n class=\"flex gap-xs pt-sm\"\n @submit.prevent=\"submitCustomAnswer\">\n <VvInputText\n v-model=\"customAnswer\"\n class=\"flex-1\"\n name=\"customAnswer\"\n modifiers=\"compact rounded\"\n :disabled=\"!isInteractive\"\n :placeholder=\"$t('placeholder.customAnswer')\" />\n <VvButton\n type=\"submit\"\n modifiers=\"action-quiet\"\n :disabled=\"!customAnswer.trim() || !isInteractive\"\n :label=\"$t('action.send')\" />\n </form>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n type LegacyOption = { id: string; label: string; value: string }\n\n const props = defineProps<{\n part: unknown\n allowCustomAnswer?: boolean\n }>()\n\n const emit = defineEmits<{\n select: [option: string]\n }>()\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const customAnswer = ref('')\n\n const toolPart = computed(() => {\n return JSON.parse(JSON.stringify(props.part)) as {\n state?: string\n toolCallId?: string\n input?: {\n question: string\n options: string[] | LegacyOption[]\n }\n output?: string | LegacyOption\n }\n })\n\n /** Normalize options to string[] (supports legacy { label } objects) */\n const normalizedOptions = computed(() => {\n return (toolPart.value?.input?.options ?? []).map((o) =>\n typeof o === 'string' ? o : o.label,\n )\n })\n\n /** Normalize output to string (supports legacy { label } objects) */\n const normalizedOutput = computed(() => {\n const out = toolPart.value?.output\n if (!out) {\n return undefined\n }\n return typeof out === 'string' ? out : out.label\n })\n\n const toolState = computed(() => {\n return toolPart.value?.state || 'unknown'\n })\n\n const isInteractive = computed(() => {\n return toolState.value === 'input-available'\n })\n\n function submitCustomAnswer() {\n const value = customAnswer.value.trim()\n if (!value) {\n return\n }\n emit('select', value)\n }\n\n watch(\n normalizedOutput,\n (newValue) => {\n if (newValue && !normalizedOptions.value.includes(newValue)) {\n customAnswer.value = newValue\n }\n },\n {\n immediate: true,\n },\n )\n</script>\n\n<template>\n <div\n v-if=\"normalizedOptions.length\"\n :key=\"toolState\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-10 font-bold bg-surface-1 text-12 border-b border-surface-3 text-word-3\">\n {{ toolPart.input?.question }}\n </div>\n <div class=\"px-sm py-10\">\n <VvButtonGroup\n :key=\"normalizedOptions.length\"\n modifiers=\"vertical\"\n class=\"w-full\">\n <VvButton\n v-for=\"(option, index) in normalizedOptions\"\n :key=\"index\"\n modifiers=\"action-multiline\"\n class=\"whitespace-normal w-full\"\n :class=\"{\n pressed: option === normalizedOutput,\n }\"\n :disabled=\"!isInteractive\"\n :label=\"option\"\n @click.stop=\"emit('select', option)\" />\n </VvButtonGroup>\n </div>\n <div\n v-if=\"allowCustomAnswer\"\n class=\"px-sm pb-sm border-t border-surface-3\">\n <form\n class=\"flex gap-xs pt-sm\"\n @submit.prevent=\"submitCustomAnswer\">\n <VvInputText\n v-model=\"customAnswer\"\n class=\"flex-1\"\n name=\"customAnswer\"\n modifiers=\"compact rounded\"\n :disabled=\"!isInteractive\"\n :placeholder=\"$t('placeholder.customAnswer')\" />\n <VvButton\n type=\"submit\"\n modifiers=\"action-quiet\"\n :disabled=\"!customAnswer.trim() || !isInteractive\"\n :label=\"$t('action.send')\" />\n </form>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAMI,IAAM,IAAQ,GAKR,IAAO,GAIP,EAAE,GAAG,MAAO,EAAQ,EAAE,UAAU,SAAS,CAAC,GAE1C,IAAe,EAAI,EAAE,GAErB,IAAW,QACN,KAAK,MAAM,KAAK,UAAU,EAAM,IAAI,CAAC,CAS/C,GAGK,IAAoB,SACd,EAAS,OAAO,OAAO,WAAW,CAAC,GAAG,KAAK,MAC/C,OAAO,KAAM,WAAW,IAAI,EAAE,KAClC,CACH,GAGK,IAAmB,QAAe;GACpC,IAAM,IAAM,EAAS,OAAO;GACvB,OAGL,OAAO,OAAO,KAAQ,WAAW,IAAM,EAAI;EAC/C,CAAC,GAEK,IAAY,QACP,EAAS,OAAO,SAAS,SACnC,GAEK,IAAgB,QACX,EAAU,UAAU,iBAC9B;EAED,SAAS,IAAqB;GAC1B,IAAM,IAAQ,EAAa,MAAM,KAAK;GACjC,KAGL,EAAK,UAAU,CAAK;EACxB;SAEA,EACI,IACC,MAAa;GACV,AAAI,KAAY,CAAC,EAAkB,MAAM,SAAS,CAAQ,MACtD,EAAa,QAAQ;EAE7B,GACA,EACI,WAAW,GACf,CACJ;;UAKU,EAAA,MAAkB,UAAA,EAAA,GAD5B,EA8CM,OAAA;IA5CD,KAAK,EAAA;IACN,OAAM;;IACN,EAGM,OAHN,GAGM,EADC,EAAA,MAAS,OAAO,QAAQ,GAAA,CAAA;IAE/B,EAiBM,OAjBN,GAiBM,EAAA,EAAA,GAhBF,EAegB,GAAA;KAdX,KAAK,EAAA,MAAkB;KACxB,WAAU;KACV,OAAM;;sBAE0C,EAAA,EAAA,EAAA,GADhD,EAU2C,GAAA,MAAA,EATb,EAAA,QAAlB,GAAQ,YADpB,EAU2C,GAAA;MARtC,KAAK;MACN,WAAU;MACV,OAAK,EAAA,CAAC,4BAA0B,EAAA,SACW,MAAW,EAAA,MAAA,CAAA,CAAA;MAGrD,UAAQ,CAAG,EAAA;MACX,OAAO;MACP,SAAK,GAAA,MAAO,EAAI,UAAW,CAAM,GAAA,CAAA,MAAA,CAAA;;;;;;;;;IAIpC,EAAA,qBAAA,EAAA,GADV,EAmBM,OAnBN,GAmBM,CAhBF,EAeO,QAAA;KAdH,OAAM;KACL,UAAM,EAAU,GAAkB,CAAA,SAAA,CAAA;QACnC,EAMoD,GAAA;iBALvC,EAAA;8CAAY,QAAA;KACrB,OAAM;KACN,MAAK;KACL,WAAU;KACT,UAAQ,CAAG,EAAA;KACX,aAAa,EAAA,CAAA,EAAE,0BAAA;;;;;QACpB,EAIiC,GAAA;KAH7B,MAAK;KACL,WAAU;KACT,UAAQ,CAAG,EAAA,MAAa,KAAI,KAAA,CAAO,EAAA;KACnC,OAAO,EAAA,CAAA,EAAE,aAAA"}
|
package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js → PkToolShowProductList-C6pMC0td.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
2
|
-
import { t } from "./PkUrl-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
|
+
import { t } from "./PkUrl-Da1k1VEM.js";
|
|
3
3
|
import { VvIcon as n } from "@volverjs/ui-vue/components";
|
|
4
4
|
import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, normalizeClass as d, openBlock as f, renderList as p, resolveDynamicComponent as m, toDisplayString as h, withCtx as g } from "vue";
|
|
5
5
|
//#region ../../packages/components/src/chat/PkToolShowProductList.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -64,4 +64,4 @@ var _ = {
|
|
|
64
64
|
//#endregion
|
|
65
65
|
export { E as n, D as t };
|
|
66
66
|
|
|
67
|
-
//# sourceMappingURL=PkToolShowProductList-
|
|
67
|
+
//# sourceMappingURL=PkToolShowProductList-C6pMC0td.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowProductList-
|
|
1
|
+
{"version":3,"file":"PkToolShowProductList-C6pMC0td.js","names":[],"sources":["../../../../packages/components/src/chat/PkToolShowProductList.vue","../../../../packages/components/src/chat/PkToolShowProductList.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed } from 'vue'\n import PkUrl from '../PkUrl.vue'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n products: Array<{\n name: string\n url?: string\n image?: string\n price?: string\n availability?: string\n description?: string\n }>\n }\n }\n return part\n })\n\n const getAvailabilityColor = (availability?: string) => {\n if (!availability) {\n return ''\n }\n const lower = availability.toLowerCase()\n if (\n lower.includes('in stock') ||\n lower.includes('available') ||\n lower.includes('disponibile')\n ) {\n return 'text-success'\n }\n if (\n lower.includes('out of stock') ||\n lower.includes('unavailable') ||\n lower.includes('non disponibile')\n ) {\n return 'text-danger'\n }\n if (\n lower.includes('limited') ||\n lower.includes('low stock') ||\n lower.includes('limitato')\n ) {\n return 'text-warning'\n }\n return 'text-word-3'\n }\n</script>\n\n<template>\n <ul\n v-if=\"toolPart?.input?.products?.length\"\n class=\"flex flex-col gap-xs w-full\">\n <li\n v-for=\"(product, index) in toolPart.input.products\"\n :key=\"index\"\n class=\"border border-surface-3 rounded-lg overflow-hidden hover:border-surface-4 transition-colors\">\n <component\n :is=\"product.url ? 'a' : 'div'\"\n :href=\"product.url\"\n :target=\"product.url ? '_blank' : undefined\"\n :rel=\"product.url ? 'noopener noreferrer' : undefined\"\n class=\"flex gap-8 p-8 hover:bg-surface-1 transition-colors\">\n <img\n v-if=\"product.image\"\n :src=\"product.image\"\n :alt=\"product.name\"\n class=\"w-48 h-48 object-contain rounded shrink-0 border border-surface-3 bg-surface\" />\n <div class=\"flex flex-col gap-4 min-w-0 flex-1\">\n <strong class=\"font-bold text-12 text-word-1 truncate\">\n {{ product.name }}\n </strong>\n <span\n v-if=\"product.url\"\n class=\"text-10 text-word-4 truncate flex items-center gap-4\">\n <VvIcon name=\"ri:link\" class=\"shrink-0 text-12\" />\n <PkUrl :url=\"product.url\" />\n </span>\n <div class=\"flex items-center gap-sm flex-wrap text-12\">\n <span\n v-if=\"product.price\"\n class=\"font-semibold text-word-1\">\n {{ product.price }}\n </span>\n <span\n v-if=\"product.availability\"\n class=\"text-10 font-medium\"\n :class=\"getAvailabilityColor(product.availability)\">\n {{ product.availability }}\n </span>\n </div>\n <p\n v-if=\"product.description\"\n class=\"text-12 text-word-3 line-clamp-2\">\n {{ product.description }}\n </p>\n </div>\n </component>\n </li>\n </ul>\n</template>\n","<script setup lang=\"ts\">\n import { computed } from 'vue'\n import PkUrl from '../PkUrl.vue'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n products: Array<{\n name: string\n url?: string\n image?: string\n price?: string\n availability?: string\n description?: string\n }>\n }\n }\n return part\n })\n\n const getAvailabilityColor = (availability?: string) => {\n if (!availability) {\n return ''\n }\n const lower = availability.toLowerCase()\n if (\n lower.includes('in stock') ||\n lower.includes('available') ||\n lower.includes('disponibile')\n ) {\n return 'text-success'\n }\n if (\n lower.includes('out of stock') ||\n lower.includes('unavailable') ||\n lower.includes('non disponibile')\n ) {\n return 'text-danger'\n }\n if (\n lower.includes('limited') ||\n lower.includes('low stock') ||\n lower.includes('limitato')\n ) {\n return 'text-warning'\n }\n return 'text-word-3'\n }\n</script>\n\n<template>\n <ul\n v-if=\"toolPart?.input?.products?.length\"\n class=\"flex flex-col gap-xs w-full\">\n <li\n v-for=\"(product, index) in toolPart.input.products\"\n :key=\"index\"\n class=\"border border-surface-3 rounded-lg overflow-hidden hover:border-surface-4 transition-colors\">\n <component\n :is=\"product.url ? 'a' : 'div'\"\n :href=\"product.url\"\n :target=\"product.url ? '_blank' : undefined\"\n :rel=\"product.url ? 'noopener noreferrer' : undefined\"\n class=\"flex gap-8 p-8 hover:bg-surface-1 transition-colors\">\n <img\n v-if=\"product.image\"\n :src=\"product.image\"\n :alt=\"product.name\"\n class=\"w-48 h-48 object-contain rounded shrink-0 border border-surface-3 bg-surface\" />\n <div class=\"flex flex-col gap-4 min-w-0 flex-1\">\n <strong class=\"font-bold text-12 text-word-1 truncate\">\n {{ product.name }}\n </strong>\n <span\n v-if=\"product.url\"\n class=\"text-10 text-word-4 truncate flex items-center gap-4\">\n <VvIcon name=\"ri:link\" class=\"shrink-0 text-12\" />\n <PkUrl :url=\"product.url\" />\n </span>\n <div class=\"flex items-center gap-sm flex-wrap text-12\">\n <span\n v-if=\"product.price\"\n class=\"font-semibold text-word-1\">\n {{ product.price }}\n </span>\n <span\n v-if=\"product.availability\"\n class=\"text-10 font-medium\"\n :class=\"getAvailabilityColor(product.availability)\">\n {{ product.availability }}\n </span>\n </div>\n <p\n v-if=\"product.description\"\n class=\"text-12 text-word-3 line-clamp-2\">\n {{ product.description }}\n </p>\n </div>\n </component>\n </li>\n </ul>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAII,IAAM,IAAQ,GAIR,IAAW,QACA,EAAM,IAatB,GAEK,KAAwB,MAA0B;GACpD,IAAI,CAAC,GACD,OAAO;GAEX,IAAM,IAAQ,EAAa,YAAY;GAsBvC,OApBI,EAAM,SAAS,UAAU,KACzB,EAAM,SAAS,WAAW,KAC1B,EAAM,SAAS,aAAa,IAErB,iBAGP,EAAM,SAAS,cAAc,KAC7B,EAAM,SAAS,aAAa,KAC5B,EAAM,SAAS,iBAAiB,IAEzB,gBAGP,EAAM,SAAS,SAAS,KACxB,EAAM,SAAS,WAAW,KAC1B,EAAM,SAAS,UAAU,IAElB,iBAEJ;EACX;;;UAKU,EAAA,OAAU,OAAO,UAAU,UAAA,EAAA,GADrC,EAiDK,MAjDL,GAiDK,EAAA,EAAA,EAAA,GA9CD,EA6CK,GAAA,MAAA,EA5C0B,EAAA,MAAS,MAAM,WAAlC,GAAS,YADrB,EA6CK,MAAA;IA3CA,KAAK;IACN,OAAM;aACN,EAwCY,EAvCH,EAAQ,MAAG,MAAA,KAAA,GAAA;IACf,MAAM,EAAQ;IACd,QAAQ,EAAQ,MAAG,WAAc,KAAA;IACjC,KAAK,EAAQ,MAAG,wBAA2B,KAAA;IAC5C,OAAM;;qBAKqF,CAHjF,EAAQ,SAAA,EAAA,GADlB,EAI2F,OAAA;;KAFtF,KAAK,EAAQ;KACb,KAAK,EAAQ;KACd,OAAM;iCACV,EA4BM,OA5BN,GA4BM;KA3BF,EAES,UAFT,GAES,EADF,EAAQ,IAAI,GAAA,CAAA;KAGT,EAAQ,OAAA,EAAA,GADlB,EAKO,QALP,GAKO,CAFH,EAAkD,GAAA;MAA1C,MAAK;MAAU,OAAM;SAC7B,EAA4B,GAAA,EAApB,KAAK,EAAQ,IAAA,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;KAEzB,EAYM,OAZN,GAYM,CAVQ,EAAQ,SAAA,EAAA,GADlB,EAIO,QAJP,GAIO,EADA,EAAQ,KAAK,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,GAGV,EAAQ,gBAAA,EAAA,GADlB,EAKO,QAAA;;MAHH,OAAK,EAAA,CAAC,uBACE,EAAqB,EAAQ,YAAY,CAAA,CAAA;UAC9C,EAAQ,YAAY,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA;KAIrB,EAAQ,eAAA,EAAA,GADlB,EAII,KAJJ,GAII,EADG,EAAQ,WAAW,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { VvButton as t, VvButtonGroup as n, VvIcon as r } from "@volverjs/ui-vue/components";
|
|
3
3
|
import { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, onMounted as u, openBlock as d, ref as f, toDisplayString as p, unref as m, withCtx as h } from "vue";
|
|
4
4
|
import { useClipboard as g } from "@vueuse/core";
|
|
@@ -69,4 +69,4 @@ var _ = {
|
|
|
69
69
|
//#endregion
|
|
70
70
|
export { w as n, T as t };
|
|
71
71
|
|
|
72
|
-
//# sourceMappingURL=PkToolShowQrCode-
|
|
72
|
+
//# sourceMappingURL=PkToolShowQrCode-DZNSI7WD.js.map
|
package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js.map → PkToolShowQrCode-DZNSI7WD.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkToolShowQrCode-
|
|
1
|
+
{"version":3,"file":"PkToolShowQrCode-DZNSI7WD.js","names":["$t"],"sources":["../../../../packages/components/src/chat/PkToolShowQrCode.vue","../../../../packages/components/src/chat/PkToolShowQrCode.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref, onMounted } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n content: string\n label?: string\n }\n }\n return part\n })\n\n const svgContent = ref('')\n const qrContainerRef = ref<HTMLElement>()\n\n onMounted(async () => {\n const content = toolPart.value.input?.content\n if (!content) {\n return\n }\n const { default: QRCode } = await import('qrcode')\n svgContent.value = await QRCode.toString(content, { type: 'svg' })\n })\n\n const downloadQr = async () => {\n const svgEl = qrContainerRef.value?.querySelector('svg')\n if (!svgEl) {\n return\n }\n const svgData = new XMLSerializer().serializeToString(svgEl)\n const svgBlob = new Blob([svgData], {\n type: 'image/svg+xml;charset=utf-8',\n })\n const svgUrl = URL.createObjectURL(svgBlob)\n\n const canvas = document.createElement('canvas')\n canvas.width = 512\n canvas.height = 512\n const ctx = canvas.getContext('2d')\n const img = new Image()\n img.onload = () => {\n ctx?.drawImage(img, 0, 0, 512, 512)\n URL.revokeObjectURL(svgUrl)\n const a = document.createElement('a')\n a.href = canvas.toDataURL('image/png')\n a.download = 'qrcode.png'\n a.click()\n }\n img.src = svgUrl\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:qr-code-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.qrCode') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copy(toolPart?.input?.content ?? '')\" />\n <VvButton\n modifiers=\"action-quiet-small\"\n icon=\"ri:download-line\"\n :label=\"$t('action.download')\"\n @click=\"downloadQr\" />\n </VvButtonGroup>\n </div>\n <div class=\"p-sm flex flex-col items-center\">\n <div ref=\"qrContainerRef\" class=\"w-144 h-144\" v-html=\"svgContent\" />\n <p\n v-if=\"toolPart.input.label\"\n class=\"text-12 text-word-3 text-center\">\n {{ toolPart.input.label }}\n </p>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed, ref, onMounted } from 'vue'\n import { useClipboard } from '@vueuse/core'\n\n const props = defineProps<{\n part: unknown\n }>()\n\n const { copy, copied } = useClipboard()\n\n const toolPart = computed(() => {\n const part = props.part as {\n input?: {\n content: string\n label?: string\n }\n }\n return part\n })\n\n const svgContent = ref('')\n const qrContainerRef = ref<HTMLElement>()\n\n onMounted(async () => {\n const content = toolPart.value.input?.content\n if (!content) {\n return\n }\n const { default: QRCode } = await import('qrcode')\n svgContent.value = await QRCode.toString(content, { type: 'svg' })\n })\n\n const downloadQr = async () => {\n const svgEl = qrContainerRef.value?.querySelector('svg')\n if (!svgEl) {\n return\n }\n const svgData = new XMLSerializer().serializeToString(svgEl)\n const svgBlob = new Blob([svgData], {\n type: 'image/svg+xml;charset=utf-8',\n })\n const svgUrl = URL.createObjectURL(svgBlob)\n\n const canvas = document.createElement('canvas')\n canvas.width = 512\n canvas.height = 512\n const ctx = canvas.getContext('2d')\n const img = new Image()\n img.onload = () => {\n ctx?.drawImage(img, 0, 0, 512, 512)\n URL.revokeObjectURL(svgUrl)\n const a = document.createElement('a')\n a.href = canvas.toDataURL('image/png')\n a.download = 'qrcode.png'\n a.click()\n }\n img.src = svgUrl\n }\n</script>\n\n<template>\n <div\n v-if=\"toolPart?.input\"\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden\">\n <div\n class=\"px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8\">\n <VvIcon name=\"ri:qr-code-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.qrCode') }}</strong>\n <VvButtonGroup modifiers=\"compact\" class=\"ml-auto shrink-0\">\n <VvButton\n modifiers=\"action-quiet-small\"\n :icon=\"copied ? 'ri:check-line' : 'ri:file-copy-line'\"\n :label=\"copied ? $t('action.copied') : $t('action.copy')\"\n @click=\"copy(toolPart?.input?.content ?? '')\" />\n <VvButton\n modifiers=\"action-quiet-small\"\n icon=\"ri:download-line\"\n :label=\"$t('action.download')\"\n @click=\"downloadQr\" />\n </VvButtonGroup>\n </div>\n <div class=\"p-sm flex flex-col items-center\">\n <div ref=\"qrContainerRef\" class=\"w-144 h-144\" v-html=\"svgContent\" />\n <p\n v-if=\"toolPart.input.label\"\n class=\"text-12 text-word-3 text-center\">\n {{ toolPart.input.label }}\n </p>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAII,IAAM,IAAQ,GAIR,EAAE,SAAM,cAAW,EAAa,GAEhC,IAAW,QACA,EAAM,IAOtB,GAEK,IAAa,EAAI,EAAE,GACnB,IAAiB,EAAiB;EAExC,EAAU,YAAY;GAClB,IAAM,IAAU,EAAS,MAAM,OAAO;GACtC,IAAI,CAAC,GACD;GAEJ,IAAM,EAAE,SAAS,MAAW,MAAM,OAAO;GACzC,EAAW,QAAQ,MAAM,EAAO,SAAS,GAAS,EAAE,MAAM,MAAM,CAAC;EACrE,CAAC;EAED,IAAM,IAAa,YAAY;GAC3B,IAAM,IAAQ,EAAe,OAAO,cAAc,KAAK;GACvD,IAAI,CAAC,GACD;GAEJ,IAAM,IAAU,IAAI,cAAc,EAAE,kBAAkB,CAAK,GACrD,IAAU,IAAI,KAAK,CAAC,CAAO,GAAG,EAChC,MAAM,8BACV,CAAC,GACK,IAAS,IAAI,gBAAgB,CAAO,GAEpC,IAAS,SAAS,cAAc,QAAQ;GAE9C,AADA,EAAO,QAAQ,KACf,EAAO,SAAS;GAChB,IAAM,IAAM,EAAO,WAAW,IAAI,GAC5B,IAAM,IAAI,MAAM;GAStB,AARA,EAAI,eAAe;IAEf,AADA,GAAK,UAAU,GAAK,GAAG,GAAG,KAAK,GAAG,GAClC,IAAI,gBAAgB,CAAM;IAC1B,IAAM,IAAI,SAAS,cAAc,GAAG;IAGpC,AAFA,EAAE,OAAO,EAAO,UAAU,WAAW,GACrC,EAAE,WAAW,cACb,EAAE,MAAM;GACZ,GACA,EAAI,MAAM;EACd;;;UAKU,EAAA,OAAU,SAAA,EAAA,GADpB,EA4BM,OA5BN,GA4BM,CAzBF,EAgBM,OAhBN,GAgBM;IAdF,EAAiD,GAAA;KAAzC,MAAK;KAAkB,OAAM;;IACrC,EAA2D,UAA3D,GAA2D,EAA9BA,EAAAA,GAAE,cAAA,CAAA,GAAA,CAAA;IAC/B,EAWgB,GAAA;KAXD,WAAU;KAAU,OAAM;;sBAKe,CAJpD,EAIoD,GAAA;MAHhD,WAAU;MACT,MAAM,EAAA,CAAA,IAAM,kBAAA;MACZ,OAAO,EAAA,CAAA,IAASA,EAAAA,GAAE,eAAA,IAAoBA,EAAAA,GAAE,aAAA;MACxC,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,CAAA,EAAK,EAAA,OAAU,OAAO,WAAO,EAAA;qCACzC,EAI0B,GAAA;MAHtB,WAAU;MACV,MAAK;MACJ,OAAOA,EAAAA,GAAE,iBAAA;MACT,SAAO;;;;OAGpB,EAOM,OAPN,GAOM,CANF,EAAoE,OAAA;aAA3D;IAAJ,KAAI;IAAiB,OAAM;IAAc,WAAQ,EAAA;mBAE5C,EAAA,MAAS,MAAM,SAAA,EAAA,GADzB,EAII,KAJJ,GAII,EADG,EAAA,MAAS,MAAM,KAAK,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { o as e } from "./useChatbotStore-
|
|
1
|
+
import { o as e } from "./useChatbotStore-DE8leYO8.js";
|
|
2
2
|
import { S as t, a as n, b as r, g as i, m as a, n as o, o as s, p as c, v as l, x as u, y as d } from "./schemas-iFPUt2Jr.js";
|
|
3
3
|
import { a as f, c as p, i as m, l as h, n as g, s as _ } from "./Media-Dq8UU7iQ.js";
|
|
4
4
|
import { m as ee } from "./src-EtGd6cRz.js";
|
|
5
|
-
import { t as v } from "./PkStreamingMarkdown-
|
|
6
|
-
import { t as y } from "./PkUrl-
|
|
5
|
+
import { t as v } from "./PkStreamingMarkdown-BUiAi-qv.js";
|
|
6
|
+
import { t as y } from "./PkUrl-Da1k1VEM.js";
|
|
7
7
|
import { VvIcon as b } from "@volverjs/ui-vue/components";
|
|
8
8
|
import { Fragment as x, Transition as te, computed as S, createBlock as C, createCommentVNode as w, createElementBlock as T, createElementVNode as E, createTextVNode as D, createVNode as O, defineComponent as k, normalizeClass as A, openBlock as j, reactive as M, ref as N, renderList as P, toDisplayString as F, unref as I, withCtx as L } from "vue";
|
|
9
9
|
var R = n(a({
|
|
@@ -421,4 +421,4 @@ var U = (e) => {
|
|
|
421
421
|
//#endregion
|
|
422
422
|
export { W as a, q as i, be as n, Q as r, $ as t };
|
|
423
423
|
|
|
424
|
-
//# sourceMappingURL=PkToolShowSources-
|
|
424
|
+
//# sourceMappingURL=PkToolShowSources-9avCy0zx.js.map
|