@8wave/ai-elements 0.84.0 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/README.md +109 -0
  2. package/dist/_chunks/Media-Cu3QLEp0.js +120 -0
  3. package/dist/_chunks/Media-Cu3QLEp0.js.map +1 -0
  4. package/dist/_chunks/{PkStreamingMarkdown-SVWv4Oye.js → PkStreamingMarkdown-C_fNNe9O.js} +307 -295
  5. package/dist/_chunks/PkStreamingMarkdown-C_fNNe9O.js.map +1 -0
  6. package/dist/_chunks/PkToolRequestConfirm-DfRFlvE0.js +48 -0
  7. package/dist/_chunks/PkToolRequestConfirm-DfRFlvE0.js.map +1 -0
  8. package/dist/_chunks/PkToolRequestGeolocation-BpH3Ev71.js +67 -0
  9. package/dist/_chunks/PkToolRequestGeolocation-BpH3Ev71.js.map +1 -0
  10. package/dist/_chunks/PkToolRequestOAuthConnection-Ctz50teF.js +63 -0
  11. package/dist/_chunks/PkToolRequestOAuthConnection-Ctz50teF.js.map +1 -0
  12. package/dist/_chunks/{PkToolShowArtifact-Ddz3DsWl.js → PkToolShowArtifact-Drp_zW-3.js} +33 -33
  13. package/dist/_chunks/{PkToolShowArtifact-Ddz3DsWl.js.map → PkToolShowArtifact-Drp_zW-3.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowCalendarEvent-Kl7HolAK.js → PkToolShowCalendarEvent-D1XYExcQ.js} +40 -40
  15. package/dist/_chunks/{PkToolShowCalendarEvent-Kl7HolAK.js.map → PkToolShowCalendarEvent-D1XYExcQ.js.map} +1 -1
  16. package/dist/_chunks/PkToolShowComparison-DjK4sXS0.js +64 -0
  17. package/dist/_chunks/{PkToolShowComparison-BzyqEIMV.js.map → PkToolShowComparison-DjK4sXS0.js.map} +1 -1
  18. package/dist/_chunks/PkToolShowContactForm-DresTyBD.js +119 -0
  19. package/dist/_chunks/PkToolShowContactForm-DresTyBD.js.map +1 -0
  20. package/dist/_chunks/PkToolShowDiagram-Bg6gQn7r.js +228 -0
  21. package/dist/_chunks/PkToolShowDiagram-Bg6gQn7r.js.map +1 -0
  22. package/dist/_chunks/{PkToolShowEmail-DsmUAss-.js → PkToolShowEmail-DGCKzD3s.js} +31 -31
  23. package/dist/_chunks/{PkToolShowEmail-DsmUAss-.js.map → PkToolShowEmail-DGCKzD3s.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowImageGallery-BDKm1kSX.js → PkToolShowImageGallery-BhyAMaes.js} +19 -19
  25. package/dist/_chunks/{PkToolShowImageGallery-BDKm1kSX.js.map → PkToolShowImageGallery-BhyAMaes.js.map} +1 -1
  26. package/dist/_chunks/PkToolShowLocation-BDVFw7qK.js +1140 -0
  27. package/dist/_chunks/PkToolShowLocation-BDVFw7qK.js.map +1 -0
  28. package/dist/_chunks/{PkToolShowMessage-xy09z85p.js → PkToolShowMessage-BqH-tE8K.js} +27 -27
  29. package/dist/_chunks/{PkToolShowMessage-xy09z85p.js.map → PkToolShowMessage-BqH-tE8K.js.map} +1 -1
  30. package/dist/_chunks/PkToolShowMultipleChoice-DNfjzGxI.js +81 -0
  31. package/dist/_chunks/PkToolShowMultipleChoice-DNfjzGxI.js.map +1 -0
  32. package/dist/_chunks/{PkToolShowProductList-Al_csZaz.js → PkToolShowProductList-DeU4qyZp.js} +26 -26
  33. package/dist/_chunks/{PkToolShowProductList-Al_csZaz.js.map → PkToolShowProductList-DeU4qyZp.js.map} +1 -1
  34. package/dist/_chunks/{PkToolShowQrCode-RUJ3enlC.js → PkToolShowQrCode-BrljSubk.js} +22 -22
  35. package/dist/_chunks/{PkToolShowQrCode-RUJ3enlC.js.map → PkToolShowQrCode-BrljSubk.js.map} +1 -1
  36. package/dist/_chunks/PkToolShowSources-Ca36N91a.js +396 -0
  37. package/dist/_chunks/PkToolShowSources-Ca36N91a.js.map +1 -0
  38. package/dist/_chunks/PkToolShowSuggestedReply-2lyEikVx.js +47 -0
  39. package/dist/_chunks/PkToolShowSuggestedReply-2lyEikVx.js.map +1 -0
  40. package/dist/_chunks/{PkToolShowWeather-CSua0gHs.js → PkToolShowWeather-CnTyMQTT.js} +63 -63
  41. package/dist/_chunks/{PkToolShowWeather-CSua0gHs.js.map → PkToolShowWeather-CnTyMQTT.js.map} +1 -1
  42. package/dist/_chunks/{PkToolShowWebPages-8GWslqfY.js → PkToolShowWebPages-X0tkNJhc.js} +19 -19
  43. package/dist/_chunks/{PkToolShowWebPages-8GWslqfY.js.map → PkToolShowWebPages-X0tkNJhc.js.map} +1 -1
  44. package/dist/_chunks/{PkUrl-CeYapZ9E.js → PkUrl-ChRoceUn.js} +12 -12
  45. package/dist/_chunks/{PkUrl-CeYapZ9E.js.map → PkUrl-ChRoceUn.js.map} +1 -1
  46. package/dist/_chunks/{VvCheckbox.es-kAXSBkfn.js → VvCheckbox.es-CjtdGRKd.js} +63 -63
  47. package/dist/_chunks/{VvCheckbox.es-kAXSBkfn.js.map → VvCheckbox.es-CjtdGRKd.js.map} +1 -1
  48. package/dist/_chunks/{VvCheckboxGroup.es-Db-bLs2D.js → VvCheckboxGroup.es-DYHTVBaF.js} +91 -91
  49. package/dist/_chunks/{VvCheckboxGroup.es-Db-bLs2D.js.map → VvCheckboxGroup.es-DYHTVBaF.js.map} +1 -1
  50. package/dist/_chunks/VvCombobox.es-BxxQaz48.js +1998 -0
  51. package/dist/_chunks/{VvCombobox.es-CUUNtqyJ.js.map → VvCombobox.es-BxxQaz48.js.map} +1 -1
  52. package/dist/_chunks/{VvInputText.es-DeAexenB.js → VvInputText.es-B13qbrJj.js} +420 -420
  53. package/dist/_chunks/{VvInputText.es-DeAexenB.js.map → VvInputText.es-B13qbrJj.js.map} +1 -1
  54. package/dist/_chunks/{VvRadio.es-lb_BYfq5.js → VvRadio.es-DuSk75Cl.js} +117 -117
  55. package/dist/_chunks/{VvRadio.es-lb_BYfq5.js.map → VvRadio.es-DuSk75Cl.js.map} +1 -1
  56. package/dist/_chunks/{VvRadioGroup.es-BjvxDtU_.js → VvRadioGroup.es-BjPz7xfR.js} +91 -91
  57. package/dist/_chunks/{VvRadioGroup.es-BjvxDtU_.js.map → VvRadioGroup.es-BjPz7xfR.js.map} +1 -1
  58. package/dist/_chunks/{VvSelect.es-C9hkmhJf.js → VvSelect.es-CKFBoQN-.js} +119 -119
  59. package/dist/_chunks/{VvSelect.es-C9hkmhJf.js.map → VvSelect.es-CKFBoQN-.js.map} +1 -1
  60. package/dist/_chunks/VvTextarea.es-CICFo2Rh.js +1110 -0
  61. package/dist/_chunks/{VvTextarea.es-B5txwRRm.js.map → VvTextarea.es-CICFo2Rh.js.map} +1 -1
  62. package/dist/_chunks/dist-Dplp2WfI.js +799 -0
  63. package/dist/_chunks/{dist-DHG50RNO.js.map → dist-Dplp2WfI.js.map} +1 -1
  64. package/dist/_chunks/{esm-8uCGyZon.js → esm-CtL6xvv9.js} +19 -19
  65. package/dist/_chunks/{esm-8uCGyZon.js.map → esm-CtL6xvv9.js.map} +1 -1
  66. package/dist/_chunks/{floating-ui.vue-bC-fUl9J.js → floating-ui.vue-BWkka9Fn.js} +6 -6
  67. package/dist/_chunks/{floating-ui.vue-bC-fUl9J.js.map → floating-ui.vue-BWkka9Fn.js.map} +1 -1
  68. package/dist/_chunks/{iconify-B2ZQHsNr.js → iconify-DlYsYC8z.js} +5 -5
  69. package/dist/_chunks/{iconify-B2ZQHsNr.js.map → iconify-DlYsYC8z.js.map} +1 -1
  70. package/dist/_chunks/{index.es-CusxIi0s.js → index.es-9_Td6lnP.js} +2306 -2306
  71. package/dist/_chunks/{index.es-CusxIi0s.js.map → index.es-9_Td6lnP.js.map} +1 -1
  72. package/dist/_chunks/index.es-BC4SxvmK.js +994 -0
  73. package/dist/_chunks/index.es-BC4SxvmK.js.map +1 -0
  74. package/dist/_chunks/{src-RaVs-PqK.js → src-L9Jq1dyr.js} +11 -11
  75. package/dist/_chunks/{src-RaVs-PqK.js.map → src-L9Jq1dyr.js.map} +1 -1
  76. package/dist/_chunks/{useLightbox-C7JFztx4.js → useLightbox-kKLPhYUx.js} +9 -7
  77. package/dist/_chunks/{useLightbox-C7JFztx4.js.map → useLightbox-kKLPhYUx.js.map} +1 -1
  78. package/dist/_chunks/{vue-i18n-fHp3k8qw.js → vue-i18n-BjaFxqmH.js} +40 -40
  79. package/dist/_chunks/{vue-i18n-fHp3k8qw.js.map → vue-i18n-BjaFxqmH.js.map} +1 -1
  80. package/dist/_chunks/{vue.runtime.esm-bundler-7_kt7y9A.js → vue.runtime.esm-bundler-B-iHWsf4.js} +702 -702
  81. package/dist/_chunks/{vue.runtime.esm-bundler-7_kt7y9A.js.map → vue.runtime.esm-bundler-B-iHWsf4.js.map} +1 -1
  82. package/dist/ai-elements.es.js +4016 -10669
  83. package/dist/ai-elements.es.js.map +1 -1
  84. package/dist-vue/PkChatbot.js +1 -1
  85. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  86. package/dist-vue/PkChatbotFilePreview.js +1 -1
  87. package/dist-vue/PkChatbotInput.js +1 -1
  88. package/dist-vue/PkChatbotMessages.js +1 -1
  89. package/dist-vue/PkChatbotViewChat.js +1 -1
  90. package/dist-vue/PkChatbotViewConversations.js +1 -1
  91. package/dist-vue/PkChatbotViewProfile.js +1 -1
  92. package/dist-vue/_chunks/Media-D5pFbMNh.js +120 -0
  93. package/dist-vue/_chunks/Media-D5pFbMNh.js.map +1 -0
  94. package/dist-vue/_chunks/PkChatbot-UDExD81D.js +190 -0
  95. package/dist-vue/_chunks/PkChatbot-UDExD81D.js.map +1 -0
  96. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BiVUo4kv.js → PkChatbotFeedbackForm-Dy2ojy2E.js} +1 -1
  97. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BiVUo4kv.js.map → PkChatbotFeedbackForm-Dy2ojy2E.js.map} +1 -1
  98. package/dist-vue/_chunks/{PkChatbotFilePreview-0N9ASbIp.js → PkChatbotFilePreview-7hRouK9o.js} +5 -3
  99. package/dist-vue/_chunks/PkChatbotFilePreview-7hRouK9o.js.map +1 -0
  100. package/dist-vue/_chunks/{PkChatbotInput-CsazCkTA.js → PkChatbotInput-Dn4KFNfx.js} +3 -3
  101. package/dist-vue/_chunks/{PkChatbotInput-CsazCkTA.js.map → PkChatbotInput-Dn4KFNfx.js.map} +1 -1
  102. package/dist-vue/_chunks/{PkChatbotMessages-BDziUgck.js → PkChatbotMessages-DUOrit9Y.js} +47 -33
  103. package/dist-vue/_chunks/PkChatbotMessages-DUOrit9Y.js.map +1 -0
  104. package/dist-vue/_chunks/PkChatbotViewChat-BgH9Op_G.js +225 -0
  105. package/dist-vue/_chunks/PkChatbotViewChat-BgH9Op_G.js.map +1 -0
  106. package/dist-vue/_chunks/{PkChatbotViewConversations-kIc1reZT.js → PkChatbotViewConversations-B9KC-0ir.js} +13 -13
  107. package/dist-vue/_chunks/{PkChatbotViewConversations-kIc1reZT.js.map → PkChatbotViewConversations-B9KC-0ir.js.map} +1 -1
  108. package/dist-vue/_chunks/{PkChatbotViewProfile-pSKOgtIR.js → PkChatbotViewProfile-C0q898hz.js} +2 -2
  109. package/dist-vue/_chunks/{PkChatbotViewProfile-pSKOgtIR.js.map → PkChatbotViewProfile-C0q898hz.js.map} +1 -1
  110. package/dist-vue/_chunks/{PkStreamingMarkdown-BUiAi-qv.js → PkStreamingMarkdown-BDtjktHX.js} +296 -284
  111. package/dist-vue/_chunks/PkStreamingMarkdown-BDtjktHX.js.map +1 -0
  112. package/dist-vue/_chunks/PkSvgViewer-DoClMDnF.js +125 -0
  113. package/dist-vue/_chunks/PkSvgViewer-DoClMDnF.js.map +1 -0
  114. package/dist-vue/_chunks/PkToolRequestConfirm-BcZ10rMb.js +48 -0
  115. package/dist-vue/_chunks/{PkToolRequestConfirm-BsHpoI-c.js.map → PkToolRequestConfirm-BcZ10rMb.js.map} +1 -1
  116. package/dist-vue/_chunks/PkToolRequestGeolocation-DXSqWFTR.js +67 -0
  117. package/dist-vue/_chunks/PkToolRequestGeolocation-DXSqWFTR.js.map +1 -0
  118. package/dist-vue/_chunks/PkToolRequestOAuthConnection-CIrFBhxL.js +63 -0
  119. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-shcJXxtk.js.map → PkToolRequestOAuthConnection-CIrFBhxL.js.map} +1 -1
  120. package/dist-vue/_chunks/{PkToolShowArtifact-D4BVWuMi.js → PkToolShowArtifact-BVFPfZT8.js} +3 -3
  121. package/dist-vue/_chunks/{PkToolShowArtifact-D4BVWuMi.js.map → PkToolShowArtifact-BVFPfZT8.js.map} +1 -1
  122. package/dist-vue/_chunks/{PkToolShowCalendarEvent-Q_2-tXmC.js → PkToolShowCalendarEvent-9jaBqWBJ.js} +3 -3
  123. package/dist-vue/_chunks/{PkToolShowCalendarEvent-Q_2-tXmC.js.map → PkToolShowCalendarEvent-9jaBqWBJ.js.map} +1 -1
  124. package/dist-vue/_chunks/{PkToolShowComparison-BpYZb-z5.js → PkToolShowComparison-D1YHzvyy.js} +2 -2
  125. package/dist-vue/_chunks/{PkToolShowComparison-BpYZb-z5.js.map → PkToolShowComparison-D1YHzvyy.js.map} +1 -1
  126. package/dist-vue/_chunks/{PkToolShowContactForm-DuOeYoCU.js → PkToolShowContactForm-BVtuQVGs.js} +5 -5
  127. package/dist-vue/_chunks/{PkToolShowContactForm-DuOeYoCU.js.map → PkToolShowContactForm-BVtuQVGs.js.map} +1 -1
  128. package/dist-vue/_chunks/PkToolShowDiagram-CLyYku9I.js +112 -0
  129. package/dist-vue/_chunks/PkToolShowDiagram-CLyYku9I.js.map +1 -0
  130. package/dist-vue/_chunks/{PkToolShowEmail-CDR-Cw-s.js → PkToolShowEmail-BZzv2-6y.js} +2 -2
  131. package/dist-vue/_chunks/{PkToolShowEmail-CDR-Cw-s.js.map → PkToolShowEmail-BZzv2-6y.js.map} +1 -1
  132. package/dist-vue/_chunks/{PkToolShowImageGallery-DhGmTPMP.js → PkToolShowImageGallery-Bt7QNtGe.js} +4 -4
  133. package/dist-vue/_chunks/{PkToolShowImageGallery-DhGmTPMP.js.map → PkToolShowImageGallery-Bt7QNtGe.js.map} +1 -1
  134. package/dist-vue/_chunks/PkToolShowLocation-DAg9HeYq.js +143 -0
  135. package/dist-vue/_chunks/PkToolShowLocation-DAg9HeYq.js.map +1 -0
  136. package/dist-vue/_chunks/{PkToolShowMessage-Cqb0WP-x.js → PkToolShowMessage-DvnO4DDb.js} +2 -2
  137. package/dist-vue/_chunks/{PkToolShowMessage-Cqb0WP-x.js.map → PkToolShowMessage-DvnO4DDb.js.map} +1 -1
  138. package/dist-vue/_chunks/{PkToolShowMultipleChoice-x7hNm6I2.js → PkToolShowMultipleChoice-BEWDze3p.js} +2 -2
  139. package/dist-vue/_chunks/{PkToolShowMultipleChoice-x7hNm6I2.js.map → PkToolShowMultipleChoice-BEWDze3p.js.map} +1 -1
  140. package/dist-vue/_chunks/{PkToolShowProductList-CMFBvHAY.js → PkToolShowProductList-Cyh_fdTh.js} +3 -3
  141. package/dist-vue/_chunks/{PkToolShowProductList-CMFBvHAY.js.map → PkToolShowProductList-Cyh_fdTh.js.map} +1 -1
  142. package/dist-vue/_chunks/{PkToolShowQrCode-LFCfdWyu.js → PkToolShowQrCode-Dz3HlJGs.js} +2 -2
  143. package/dist-vue/_chunks/{PkToolShowQrCode-LFCfdWyu.js.map → PkToolShowQrCode-Dz3HlJGs.js.map} +1 -1
  144. package/dist-vue/_chunks/{PkToolShowSources-D0wbYpTR.js → PkToolShowSources-cFvwqgDz.js} +21 -21
  145. package/dist-vue/_chunks/{PkToolShowSources-D0wbYpTR.js.map → PkToolShowSources-cFvwqgDz.js.map} +1 -1
  146. package/dist-vue/_chunks/{PkToolShowSuggestedReply-CIP1xfB1.js → PkToolShowSuggestedReply-DIrmkOUq.js} +2 -2
  147. package/dist-vue/_chunks/{PkToolShowSuggestedReply-CIP1xfB1.js.map → PkToolShowSuggestedReply-DIrmkOUq.js.map} +1 -1
  148. package/dist-vue/_chunks/{PkToolShowWeather-zT-4E-aX.js → PkToolShowWeather-CKFmoP6M.js} +1 -1
  149. package/dist-vue/_chunks/{PkToolShowWeather-zT-4E-aX.js.map → PkToolShowWeather-CKFmoP6M.js.map} +1 -1
  150. package/dist-vue/_chunks/{PkToolShowWebPages-DLc-5nE0.js → PkToolShowWebPages-DDsErkru.js} +4 -4
  151. package/dist-vue/_chunks/{PkToolShowWebPages-DLc-5nE0.js.map → PkToolShowWebPages-DDsErkru.js.map} +1 -1
  152. package/dist-vue/_chunks/{PkUrl-Da1k1VEM.js → PkUrl-DdRprvPJ.js} +1 -1
  153. package/dist-vue/_chunks/{PkUrl-Da1k1VEM.js.map → PkUrl-DdRprvPJ.js.map} +1 -1
  154. package/dist-vue/_chunks/{apl-gZJv8aE0.js → apl-CiKuf38q.js} +1 -1
  155. package/dist-vue/_chunks/{apl-gZJv8aE0.js.map → apl-CiKuf38q.js.map} +1 -1
  156. package/dist-vue/_chunks/{asciiarmor-BKzT2CxY.js → asciiarmor-Cv_figT_.js} +1 -1
  157. package/dist-vue/_chunks/{asciiarmor-BKzT2CxY.js.map → asciiarmor-Cv_figT_.js.map} +1 -1
  158. package/dist-vue/_chunks/{asn1-CUOx9oeT.js → asn1-o22T4Rhb.js} +1 -1
  159. package/dist-vue/_chunks/{asn1-CUOx9oeT.js.map → asn1-o22T4Rhb.js.map} +1 -1
  160. package/dist-vue/_chunks/{asterisk-CtQouKe4.js → asterisk-BVQJUqvD.js} +1 -1
  161. package/dist-vue/_chunks/{asterisk-CtQouKe4.js.map → asterisk-BVQJUqvD.js.map} +1 -1
  162. package/dist-vue/_chunks/{brainfuck-C6v-NuzS.js → brainfuck-BUjoLd18.js} +1 -1
  163. package/dist-vue/_chunks/{brainfuck-C6v-NuzS.js.map → brainfuck-BUjoLd18.js.map} +1 -1
  164. package/dist-vue/_chunks/{clike-DBPD1mz3.js → clike-DnfYdh2t.js} +1 -1
  165. package/dist-vue/_chunks/{clike-DBPD1mz3.js.map → clike-DnfYdh2t.js.map} +1 -1
  166. package/dist-vue/_chunks/{clojure-xtczAEDV.js → clojure-Spy-VDMe.js} +1 -1
  167. package/dist-vue/_chunks/{clojure-xtczAEDV.js.map → clojure-Spy-VDMe.js.map} +1 -1
  168. package/dist-vue/_chunks/{cmake-DdDZ3JWF.js → cmake-Ctp7rWzy.js} +1 -1
  169. package/dist-vue/_chunks/{cmake-DdDZ3JWF.js.map → cmake-Ctp7rWzy.js.map} +1 -1
  170. package/dist-vue/_chunks/{cobol-BAMxIfCa.js → cobol-DX59jXra.js} +1 -1
  171. package/dist-vue/_chunks/{cobol-BAMxIfCa.js.map → cobol-DX59jXra.js.map} +1 -1
  172. package/dist-vue/_chunks/{coffeescript-CGTuQQp6.js → coffeescript-Bq4R3kBT.js} +1 -1
  173. package/dist-vue/_chunks/{coffeescript-CGTuQQp6.js.map → coffeescript-Bq4R3kBT.js.map} +1 -1
  174. package/dist-vue/_chunks/{commonlisp-Ccb03OgK.js → commonlisp-qnCvPlJb.js} +1 -1
  175. package/dist-vue/_chunks/{commonlisp-Ccb03OgK.js.map → commonlisp-qnCvPlJb.js.map} +1 -1
  176. package/dist-vue/_chunks/{createChatbotApiClient-C_E35aQf.js → createChatbotApiClient-C-jT5hE0.js} +96 -95
  177. package/dist-vue/_chunks/createChatbotApiClient-C-jT5hE0.js.map +1 -0
  178. package/dist-vue/_chunks/{crystal-DdoSQSAv.js → crystal-B02ya4cQ.js} +1 -1
  179. package/dist-vue/_chunks/{crystal-DdoSQSAv.js.map → crystal-B02ya4cQ.js.map} +1 -1
  180. package/dist-vue/_chunks/{css-TU14Ca1R.js → css-CzWlO-Xb.js} +1 -1
  181. package/dist-vue/_chunks/{css-TU14Ca1R.js.map → css-CzWlO-Xb.js.map} +1 -1
  182. package/dist-vue/_chunks/{cypher-CXLa4pI5.js → cypher-CLyYkG2-.js} +1 -1
  183. package/dist-vue/_chunks/{cypher-CXLa4pI5.js.map → cypher-CLyYkG2-.js.map} +1 -1
  184. package/dist-vue/_chunks/{d-BArAGMlp.js → d-DGUXRLLi.js} +1 -1
  185. package/dist-vue/_chunks/{d-BArAGMlp.js.map → d-DGUXRLLi.js.map} +1 -1
  186. package/dist-vue/_chunks/{diff-C3LIbTwG.js → diff-DRe8JdWk.js} +1 -1
  187. package/dist-vue/_chunks/{diff-C3LIbTwG.js.map → diff-DRe8JdWk.js.map} +1 -1
  188. package/dist-vue/_chunks/{dist-CUYb2Ykk.js → dist-7BKkikZw.js} +2 -2
  189. package/dist-vue/_chunks/{dist-CUYb2Ykk.js.map → dist-7BKkikZw.js.map} +1 -1
  190. package/dist-vue/_chunks/{dist-DlMrwhCk.js → dist-7u7jBD-H.js} +1 -1
  191. package/dist-vue/_chunks/{dist-DlMrwhCk.js.map → dist-7u7jBD-H.js.map} +1 -1
  192. package/dist-vue/_chunks/{dist-Bj32YA2b.js → dist-8BVnK6QW.js} +4 -4
  193. package/dist-vue/_chunks/{dist-Bj32YA2b.js.map → dist-8BVnK6QW.js.map} +1 -1
  194. package/dist-vue/_chunks/{dist-BtzPY8uU.js → dist-9IwNDEHQ.js} +2 -2
  195. package/dist-vue/_chunks/{dist-BtzPY8uU.js.map → dist-9IwNDEHQ.js.map} +1 -1
  196. package/dist-vue/_chunks/{dist-BMTTRExI.js → dist-BGTESNxJ.js} +1 -1
  197. package/dist-vue/_chunks/{dist-BMTTRExI.js.map → dist-BGTESNxJ.js.map} +1 -1
  198. package/dist-vue/_chunks/{dist-BUm8Nt7d.js → dist-BWdaSTBW.js} +2 -2
  199. package/dist-vue/_chunks/{dist-BUm8Nt7d.js.map → dist-BWdaSTBW.js.map} +1 -1
  200. package/dist-vue/_chunks/{dist-tDt7-5Hh.js → dist-BtFxPYCM.js} +1 -1
  201. package/dist-vue/_chunks/{dist-tDt7-5Hh.js.map → dist-BtFxPYCM.js.map} +1 -1
  202. package/dist-vue/_chunks/{dist-BM3i3wHC.js → dist-BwrhMmQA.js} +1 -1
  203. package/dist-vue/_chunks/{dist-BM3i3wHC.js.map → dist-BwrhMmQA.js.map} +1 -1
  204. package/dist-vue/_chunks/{dist-B_3TGJwf.js → dist-Cm-J5l4S2.js} +1 -1
  205. package/dist-vue/_chunks/dist-Cm-J5l4S2.js.map +1 -0
  206. package/dist-vue/_chunks/{dist-CUah0Xys.js → dist-CnmeOb2N.js} +3 -3
  207. package/dist-vue/_chunks/{dist-CUah0Xys.js.map → dist-CnmeOb2N.js.map} +1 -1
  208. package/dist-vue/_chunks/{dist-DI-XHVdE.js → dist-D34LRAfv.js} +2 -2
  209. package/dist-vue/_chunks/{dist-DI-XHVdE.js.map → dist-D34LRAfv.js.map} +1 -1
  210. package/dist-vue/_chunks/{dist-DACzskoy2.js → dist-D35h9xud2.js} +3 -3
  211. package/dist-vue/_chunks/{dist-DACzskoy2.js.map → dist-D35h9xud2.js.map} +1 -1
  212. package/dist-vue/_chunks/dist-DMKuVADK2.js +441 -0
  213. package/dist-vue/_chunks/dist-DMKuVADK2.js.map +1 -0
  214. package/dist-vue/_chunks/{dist-CwWFe7zF.js → dist-Dg1nGvwP.js} +1 -1
  215. package/dist-vue/_chunks/{dist-CwWFe7zF.js.map → dist-Dg1nGvwP.js.map} +1 -1
  216. package/dist-vue/_chunks/{dist-B2nNrire.js → dist-YcwJuFBx.js} +2 -2
  217. package/dist-vue/_chunks/{dist-B2nNrire.js.map → dist-YcwJuFBx.js.map} +1 -1
  218. package/dist-vue/_chunks/{dist-2JsKACZj.js → dist-b5CbbjSp.js} +1 -1
  219. package/dist-vue/_chunks/{dist-2JsKACZj.js.map → dist-b5CbbjSp.js.map} +1 -1
  220. package/dist-vue/_chunks/{dist-Cr5fwgdD.js → dist-kywGQjza.js} +2 -2
  221. package/dist-vue/_chunks/{dist-Cr5fwgdD.js.map → dist-kywGQjza.js.map} +1 -1
  222. package/dist-vue/_chunks/{dist-Df_bnb-v.js → dist-l6sREGf7.js} +1 -1
  223. package/dist-vue/_chunks/{dist-Df_bnb-v.js.map → dist-l6sREGf7.js.map} +1 -1
  224. package/dist-vue/_chunks/{dist-B1Xwe66S.js → dist-x5C6fPIQ.js} +2 -2
  225. package/dist-vue/_chunks/{dist-B1Xwe66S.js.map → dist-x5C6fPIQ.js.map} +1 -1
  226. package/dist-vue/_chunks/{dist-BgntOJ9J.js → dist-x73cXb-w.js} +3 -3
  227. package/dist-vue/_chunks/{dist-BgntOJ9J.js.map → dist-x73cXb-w.js.map} +1 -1
  228. package/dist-vue/_chunks/{dockerfile-DzujQve1.js → dockerfile-BpKVodrd.js} +2 -2
  229. package/dist-vue/_chunks/{dockerfile-DzujQve1.js.map → dockerfile-BpKVodrd.js.map} +1 -1
  230. package/dist-vue/_chunks/{dtd-B1f0YqWO.js → dtd-q9vHTxZ1.js} +1 -1
  231. package/dist-vue/_chunks/{dtd-B1f0YqWO.js.map → dtd-q9vHTxZ1.js.map} +1 -1
  232. package/dist-vue/_chunks/{dylan-bedk9ukf.js → dylan-CTRyD_yN.js} +1 -1
  233. package/dist-vue/_chunks/{dylan-bedk9ukf.js.map → dylan-CTRyD_yN.js.map} +1 -1
  234. package/dist-vue/_chunks/{ebnf-Cs5X8R8U.js → ebnf-DPw9AGDC.js} +1 -1
  235. package/dist-vue/_chunks/{ebnf-Cs5X8R8U.js.map → ebnf-DPw9AGDC.js.map} +1 -1
  236. package/dist-vue/_chunks/{ecl-CXPqOJjc.js → ecl-CuLlc0XE.js} +1 -1
  237. package/dist-vue/_chunks/{ecl-CXPqOJjc.js.map → ecl-CuLlc0XE.js.map} +1 -1
  238. package/dist-vue/_chunks/{eiffel-Oa4yGKHO.js → eiffel-DYyjt7F3.js} +1 -1
  239. package/dist-vue/_chunks/{eiffel-Oa4yGKHO.js.map → eiffel-DYyjt7F3.js.map} +1 -1
  240. package/dist-vue/_chunks/{elm-CEbGa4zC.js → elm-DcYv6ZJY.js} +1 -1
  241. package/dist-vue/_chunks/{elm-CEbGa4zC.js.map → elm-DcYv6ZJY.js.map} +1 -1
  242. package/dist-vue/_chunks/{erlang-BNnTSw8C.js → erlang-nipePvRg.js} +1 -1
  243. package/dist-vue/_chunks/{erlang-BNnTSw8C.js.map → erlang-nipePvRg.js.map} +1 -1
  244. package/dist-vue/_chunks/{factor-BIER3ncI.js → factor-C_jm0Hi8.js} +2 -2
  245. package/dist-vue/_chunks/{factor-BIER3ncI.js.map → factor-C_jm0Hi8.js.map} +1 -1
  246. package/dist-vue/_chunks/{fcl-HxmGK-W5.js → fcl-CqmPhDgo.js} +1 -1
  247. package/dist-vue/_chunks/{fcl-HxmGK-W5.js.map → fcl-CqmPhDgo.js.map} +1 -1
  248. package/dist-vue/_chunks/{forth-BoRU1oYL.js → forth-GAg6IwF6.js} +1 -1
  249. package/dist-vue/_chunks/{forth-BoRU1oYL.js.map → forth-GAg6IwF6.js.map} +1 -1
  250. package/dist-vue/_chunks/{fortran-8E8eLx-x.js → fortran-DyrSTiy7.js} +1 -1
  251. package/dist-vue/_chunks/{fortran-8E8eLx-x.js.map → fortran-DyrSTiy7.js.map} +1 -1
  252. package/dist-vue/_chunks/{gas-DzrG9cIr.js → gas-CBY6LBUu.js} +1 -1
  253. package/dist-vue/_chunks/{gas-DzrG9cIr.js.map → gas-CBY6LBUu.js.map} +1 -1
  254. package/dist-vue/_chunks/{gherkin-d-xjbPN9.js → gherkin-F6vIWaV0.js} +1 -1
  255. package/dist-vue/_chunks/{gherkin-d-xjbPN9.js.map → gherkin-F6vIWaV0.js.map} +1 -1
  256. package/dist-vue/_chunks/{groovy-DluoS5pg.js → groovy-DBvpslJE.js} +1 -1
  257. package/dist-vue/_chunks/{groovy-DluoS5pg.js.map → groovy-DBvpslJE.js.map} +1 -1
  258. package/dist-vue/_chunks/{haskell-DWzSrwGO.js → haskell-CzcXTuY3.js} +1 -1
  259. package/dist-vue/_chunks/{haskell-DWzSrwGO.js.map → haskell-CzcXTuY3.js.map} +1 -1
  260. package/dist-vue/_chunks/{haxe-nucWqdAl.js → haxe-C0K87vd-.js} +1 -1
  261. package/dist-vue/_chunks/{haxe-nucWqdAl.js.map → haxe-C0K87vd-.js.map} +1 -1
  262. package/dist-vue/_chunks/{http-wcQY3fv1.js → http-lhCYiIUK.js} +1 -1
  263. package/dist-vue/_chunks/{http-wcQY3fv1.js.map → http-lhCYiIUK.js.map} +1 -1
  264. package/dist-vue/_chunks/{idl-BZjtu2uP.js → idl-DiwlVJ2e.js} +1 -1
  265. package/dist-vue/_chunks/{idl-BZjtu2uP.js.map → idl-DiwlVJ2e.js.map} +1 -1
  266. package/dist-vue/_chunks/{javascript-D-DeSYfi.js → javascript-DoLQ_01m.js} +1 -1
  267. package/dist-vue/_chunks/{javascript-D-DeSYfi.js.map → javascript-DoLQ_01m.js.map} +1 -1
  268. package/dist-vue/_chunks/{julia-BdkHYLKN.js → julia-D-9kev9I.js} +1 -1
  269. package/dist-vue/_chunks/{julia-BdkHYLKN.js.map → julia-D-9kev9I.js.map} +1 -1
  270. package/dist-vue/_chunks/{livescript-B-rE2yGH.js → livescript-BXKPrYL1.js} +1 -1
  271. package/dist-vue/_chunks/{livescript-B-rE2yGH.js.map → livescript-BXKPrYL1.js.map} +1 -1
  272. package/dist-vue/_chunks/{lua-8MR4kmO6.js → lua-CmoiUImJ.js} +1 -1
  273. package/dist-vue/_chunks/{lua-8MR4kmO6.js.map → lua-CmoiUImJ.js.map} +1 -1
  274. package/dist-vue/_chunks/{mathematica-DsQZ56s1.js → mathematica-C0zVH3hb.js} +1 -1
  275. package/dist-vue/_chunks/{mathematica-DsQZ56s1.js.map → mathematica-C0zVH3hb.js.map} +1 -1
  276. package/dist-vue/_chunks/{mbox-BlqAOSZk.js → mbox-BQjArxBt.js} +1 -1
  277. package/dist-vue/_chunks/{mbox-BlqAOSZk.js.map → mbox-BQjArxBt.js.map} +1 -1
  278. package/dist-vue/_chunks/{mirc-CeWiL7Xj.js → mirc-CH7vSjBP.js} +1 -1
  279. package/dist-vue/_chunks/{mirc-CeWiL7Xj.js.map → mirc-CH7vSjBP.js.map} +1 -1
  280. package/dist-vue/_chunks/{mllike-B4w9rV72.js → mllike-BtNDtwtH.js} +1 -1
  281. package/dist-vue/_chunks/{mllike-B4w9rV72.js.map → mllike-BtNDtwtH.js.map} +1 -1
  282. package/dist-vue/_chunks/{modelica-BeZSjbWb.js → modelica-D0D4gw71.js} +1 -1
  283. package/dist-vue/_chunks/{modelica-BeZSjbWb.js.map → modelica-D0D4gw71.js.map} +1 -1
  284. package/dist-vue/_chunks/{mscgen-Diy4rp5E.js → mscgen-BREuUTcQ.js} +1 -1
  285. package/dist-vue/_chunks/{mscgen-Diy4rp5E.js.map → mscgen-BREuUTcQ.js.map} +1 -1
  286. package/dist-vue/_chunks/{mumps-DHp_hepw.js → mumps-Cj1f6cBa.js} +1 -1
  287. package/dist-vue/_chunks/{mumps-DHp_hepw.js.map → mumps-Cj1f6cBa.js.map} +1 -1
  288. package/dist-vue/_chunks/{nginx-ZUseZ3KV.js → nginx-CTa-DOcs.js} +1 -1
  289. package/dist-vue/_chunks/{nginx-ZUseZ3KV.js.map → nginx-CTa-DOcs.js.map} +1 -1
  290. package/dist-vue/_chunks/{nsis-g-2nkKRi.js → nsis-BWAOyRUP.js} +2 -2
  291. package/dist-vue/_chunks/{nsis-g-2nkKRi.js.map → nsis-BWAOyRUP.js.map} +1 -1
  292. package/dist-vue/_chunks/{ntriples-COZl-CW9.js → ntriples-zIN_qrIe.js} +1 -1
  293. package/dist-vue/_chunks/{ntriples-COZl-CW9.js.map → ntriples-zIN_qrIe.js.map} +1 -1
  294. package/dist-vue/_chunks/{octave-qefefCKI.js → octave-DIV6S7Pt.js} +1 -1
  295. package/dist-vue/_chunks/{octave-qefefCKI.js.map → octave-DIV6S7Pt.js.map} +1 -1
  296. package/dist-vue/_chunks/{oz-B7xBKeTb.js → oz-5rNpxapS.js} +1 -1
  297. package/dist-vue/_chunks/{oz-B7xBKeTb.js.map → oz-5rNpxapS.js.map} +1 -1
  298. package/dist-vue/_chunks/{pascal-B0deIU4R.js → pascal-7C5712Nh.js} +1 -1
  299. package/dist-vue/_chunks/{pascal-B0deIU4R.js.map → pascal-7C5712Nh.js.map} +1 -1
  300. package/dist-vue/_chunks/{perl-CrEeHa0-.js → perl-eAVlqDxG.js} +1 -1
  301. package/dist-vue/_chunks/{perl-CrEeHa0-.js.map → perl-eAVlqDxG.js.map} +1 -1
  302. package/dist-vue/_chunks/{pig-CQcAmjLr.js → pig-C6AL_r8r.js} +1 -1
  303. package/dist-vue/_chunks/{pig-CQcAmjLr.js.map → pig-C6AL_r8r.js.map} +1 -1
  304. package/dist-vue/_chunks/{powershell-CEOsLn17.js → powershell-DsA9A7ee.js} +1 -1
  305. package/dist-vue/_chunks/{powershell-CEOsLn17.js.map → powershell-DsA9A7ee.js.map} +1 -1
  306. package/dist-vue/_chunks/{properties-CIZ3QFxD.js → properties-DuF6jBwF.js} +1 -1
  307. package/dist-vue/_chunks/{properties-CIZ3QFxD.js.map → properties-DuF6jBwF.js.map} +1 -1
  308. package/dist-vue/_chunks/{protobuf-B9FrV1JK.js → protobuf-nlPU8ZM-.js} +1 -1
  309. package/dist-vue/_chunks/{protobuf-B9FrV1JK.js.map → protobuf-nlPU8ZM-.js.map} +1 -1
  310. package/dist-vue/_chunks/{pug-Dn8VvwH3.js → pug-C1RwTStM.js} +2 -2
  311. package/dist-vue/_chunks/{pug-Dn8VvwH3.js.map → pug-C1RwTStM.js.map} +1 -1
  312. package/dist-vue/_chunks/{puppet-C6TXtx4p.js → puppet-DFYbyNW2.js} +1 -1
  313. package/dist-vue/_chunks/{puppet-C6TXtx4p.js.map → puppet-DFYbyNW2.js.map} +1 -1
  314. package/dist-vue/_chunks/{python-DcAJJ0JG.js → python-Dv1DGCiz.js} +1 -1
  315. package/dist-vue/_chunks/{python-DcAJJ0JG.js.map → python-Dv1DGCiz.js.map} +1 -1
  316. package/dist-vue/_chunks/{q-WbmgnnmF.js → q-X1HLKyVv.js} +1 -1
  317. package/dist-vue/_chunks/{q-WbmgnnmF.js.map → q-X1HLKyVv.js.map} +1 -1
  318. package/dist-vue/_chunks/{r-C22XZ_AN.js → r-BZGUCY-c.js} +1 -1
  319. package/dist-vue/_chunks/{r-C22XZ_AN.js.map → r-BZGUCY-c.js.map} +1 -1
  320. package/dist-vue/_chunks/{rpm-B9APie5d.js → rpm-CDLCwfOD.js} +1 -1
  321. package/dist-vue/_chunks/{rpm-B9APie5d.js.map → rpm-CDLCwfOD.js.map} +1 -1
  322. package/dist-vue/_chunks/{ruby-D24Ax8EE.js → ruby-cVyKV-zg.js} +1 -1
  323. package/dist-vue/_chunks/{ruby-D24Ax8EE.js.map → ruby-cVyKV-zg.js.map} +1 -1
  324. package/dist-vue/_chunks/{sas-D4-twsz3.js → sas-BDPIwc3L.js} +1 -1
  325. package/dist-vue/_chunks/{sas-D4-twsz3.js.map → sas-BDPIwc3L.js.map} +1 -1
  326. package/dist-vue/_chunks/{scheme-CCmbAfjG.js → scheme-6m6S6r1m.js} +1 -1
  327. package/dist-vue/_chunks/{scheme-CCmbAfjG.js.map → scheme-6m6S6r1m.js.map} +1 -1
  328. package/dist-vue/_chunks/{shell-oVzTSWfo.js → shell-Dcuubvcg.js} +1 -1
  329. package/dist-vue/_chunks/{shell-oVzTSWfo.js.map → shell-Dcuubvcg.js.map} +1 -1
  330. package/dist-vue/_chunks/{sieve-DUlxvKqS.js → sieve-C0Ec4mOZ.js} +1 -1
  331. package/dist-vue/_chunks/{sieve-DUlxvKqS.js.map → sieve-C0Ec4mOZ.js.map} +1 -1
  332. package/dist-vue/_chunks/{simple-mode-B6svE9zR.js → simple-mode-CaO_UoX6.js} +1 -1
  333. package/dist-vue/_chunks/{simple-mode-B6svE9zR.js.map → simple-mode-CaO_UoX6.js.map} +1 -1
  334. package/dist-vue/_chunks/{smalltalk-9-Xd93Rn.js → smalltalk-C8mY0f87.js} +1 -1
  335. package/dist-vue/_chunks/{smalltalk-9-Xd93Rn.js.map → smalltalk-C8mY0f87.js.map} +1 -1
  336. package/dist-vue/_chunks/{solr-DzeE5sFM.js → solr-jbM7m8s0.js} +1 -1
  337. package/dist-vue/_chunks/{solr-DzeE5sFM.js.map → solr-jbM7m8s0.js.map} +1 -1
  338. package/dist-vue/_chunks/{sparql-GFDxBmFa.js → sparql-DJZXdQFZ.js} +1 -1
  339. package/dist-vue/_chunks/{sparql-GFDxBmFa.js.map → sparql-DJZXdQFZ.js.map} +1 -1
  340. package/dist-vue/_chunks/{spreadsheet-BD6sBFg8.js → spreadsheet-iKWvNdRt.js} +1 -1
  341. package/dist-vue/_chunks/{spreadsheet-BD6sBFg8.js.map → spreadsheet-iKWvNdRt.js.map} +1 -1
  342. package/dist-vue/_chunks/{sql-JuMmsoSB.js → sql-BQ2tj9MP.js} +1 -1
  343. package/dist-vue/_chunks/{sql-JuMmsoSB.js.map → sql-BQ2tj9MP.js.map} +1 -1
  344. package/dist-vue/_chunks/{src-EtGd6cRz.js → src-DW4YojFN.js} +10 -10
  345. package/dist-vue/_chunks/{src-EtGd6cRz.js.map → src-DW4YojFN.js.map} +1 -1
  346. package/dist-vue/_chunks/{stex-Cy057UFl.js → stex-BEcrdSPS.js} +1 -1
  347. package/dist-vue/_chunks/{stex-Cy057UFl.js.map → stex-BEcrdSPS.js.map} +1 -1
  348. package/dist-vue/_chunks/{stylus-0KIe3uMX.js → stylus-b5gEI930.js} +1 -1
  349. package/dist-vue/_chunks/{stylus-0KIe3uMX.js.map → stylus-b5gEI930.js.map} +1 -1
  350. package/dist-vue/_chunks/{swift-tYMDqvYT.js → swift-RNJNWQs6.js} +1 -1
  351. package/dist-vue/_chunks/{swift-tYMDqvYT.js.map → swift-RNJNWQs6.js.map} +1 -1
  352. package/dist-vue/_chunks/{tcl-CSbjfJ81.js → tcl-BbY3AuDS.js} +1 -1
  353. package/dist-vue/_chunks/{tcl-CSbjfJ81.js.map → tcl-BbY3AuDS.js.map} +1 -1
  354. package/dist-vue/_chunks/{textile-Qe0pFxF7.js → textile-BM2q07iw.js} +1 -1
  355. package/dist-vue/_chunks/{textile-Qe0pFxF7.js.map → textile-BM2q07iw.js.map} +1 -1
  356. package/dist-vue/_chunks/{tiddlywiki-CYhUSC90.js → tiddlywiki-Bu7ffwvE.js} +1 -1
  357. package/dist-vue/_chunks/{tiddlywiki-CYhUSC90.js.map → tiddlywiki-Bu7ffwvE.js.map} +1 -1
  358. package/dist-vue/_chunks/{tiki-jtNVir5w.js → tiki-BSMiLiXp.js} +1 -1
  359. package/dist-vue/_chunks/{tiki-jtNVir5w.js.map → tiki-BSMiLiXp.js.map} +1 -1
  360. package/dist-vue/_chunks/{toml-C3FMZ9FE.js → toml-D3U9uI6V.js} +1 -1
  361. package/dist-vue/_chunks/{toml-C3FMZ9FE.js.map → toml-D3U9uI6V.js.map} +1 -1
  362. package/dist-vue/_chunks/{troff-FdVM_sPB.js → troff-DK_RaQh-.js} +1 -1
  363. package/dist-vue/_chunks/{troff-FdVM_sPB.js.map → troff-DK_RaQh-.js.map} +1 -1
  364. package/dist-vue/_chunks/{ttcn-Tmx7e7xS.js → ttcn-DVxr7ZdN.js} +1 -1
  365. package/dist-vue/_chunks/{ttcn-Tmx7e7xS.js.map → ttcn-DVxr7ZdN.js.map} +1 -1
  366. package/dist-vue/_chunks/{ttcn-cfg-BP7MXn1J.js → ttcn-cfg-CJG9xdrY.js} +1 -1
  367. package/dist-vue/_chunks/{ttcn-cfg-BP7MXn1J.js.map → ttcn-cfg-CJG9xdrY.js.map} +1 -1
  368. package/dist-vue/_chunks/{turtle-BtDXIrpF.js → turtle-Cj5kMy4D.js} +1 -1
  369. package/dist-vue/_chunks/{turtle-BtDXIrpF.js.map → turtle-Cj5kMy4D.js.map} +1 -1
  370. package/dist-vue/_chunks/{useChatbotStore-BXi-Gx7b.js → useChatbotStore-DCCWlutT.js} +1244 -1217
  371. package/dist-vue/_chunks/useChatbotStore-DCCWlutT.js.map +1 -0
  372. package/dist-vue/_chunks/{useSafeLocalStorage-BL5mqfb7.js → useSafeLocalStorage-DmA2eEi6.js} +2 -2
  373. package/dist-vue/_chunks/{useSafeLocalStorage-BL5mqfb7.js.map → useSafeLocalStorage-DmA2eEi6.js.map} +1 -1
  374. package/dist-vue/_chunks/{utils-CRojvghU.js → utils-UX35fb5C.js} +13 -13
  375. package/dist-vue/_chunks/{utils-CRojvghU.js.map → utils-UX35fb5C.js.map} +1 -1
  376. package/dist-vue/_chunks/{vb-DZ7E2F9i.js → vb-RlGsZALV.js} +1 -1
  377. package/dist-vue/_chunks/{vb-DZ7E2F9i.js.map → vb-RlGsZALV.js.map} +1 -1
  378. package/dist-vue/_chunks/{vbscript-DmYal433.js → vbscript-C6LN5bsX.js} +1 -1
  379. package/dist-vue/_chunks/{vbscript-DmYal433.js.map → vbscript-C6LN5bsX.js.map} +1 -1
  380. package/dist-vue/_chunks/{velocity-Dwi9C1bZ.js → velocity-7A5nvZTA.js} +1 -1
  381. package/dist-vue/_chunks/{velocity-Dwi9C1bZ.js.map → velocity-7A5nvZTA.js.map} +1 -1
  382. package/dist-vue/_chunks/{verilog-6XMMKLGD.js → verilog-CoPTkjsM.js} +1 -1
  383. package/dist-vue/_chunks/{verilog-6XMMKLGD.js.map → verilog-CoPTkjsM.js.map} +1 -1
  384. package/dist-vue/_chunks/{vhdl-BczymJF3.js → vhdl-BRtaeCKx.js} +1 -1
  385. package/dist-vue/_chunks/{vhdl-BczymJF3.js.map → vhdl-BRtaeCKx.js.map} +1 -1
  386. package/dist-vue/_chunks/{webidl-CaC70GJ2.js → webidl-BVwPXw7k.js} +1 -1
  387. package/dist-vue/_chunks/{webidl-CaC70GJ2.js.map → webidl-BVwPXw7k.js.map} +1 -1
  388. package/dist-vue/_chunks/{xquery-JS07XjNe.js → xquery-CXV9KVdL.js} +1 -1
  389. package/dist-vue/_chunks/{xquery-JS07XjNe.js.map → xquery-CXV9KVdL.js.map} +1 -1
  390. package/dist-vue/_chunks/{yacas-BXZNhOsZ.js → yacas-5ByKKRqf.js} +1 -1
  391. package/dist-vue/_chunks/{yacas-BXZNhOsZ.js.map → yacas-5ByKKRqf.js.map} +1 -1
  392. package/dist-vue/_chunks/{z80-Dtc8Q5vA.js → z80-wbH4fW7-.js} +1 -1
  393. package/dist-vue/_chunks/{z80-Dtc8Q5vA.js.map → z80-wbH4fW7-.js.map} +1 -1
  394. package/dist-vue/api.js +1 -1
  395. package/dist-vue/apps/web-component/src/components/EmbeddedChatWidget.ce.d.ts +8 -5
  396. package/dist-vue/apps/web-component/src/components/FloatingChatWidget.ce.d.ts +8 -1
  397. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +4 -0
  398. package/dist-vue/apps/web-component/src/lib.d.ts +34 -0
  399. package/dist-vue/apps/web-component/src/utils/emitWidgetEvent.d.ts +10 -0
  400. package/dist-vue/composables.js +4 -4
  401. package/dist-vue/index.js +8628 -4422
  402. package/dist-vue/index.js.map +1 -1
  403. package/dist-vue/locales.js +106 -62
  404. package/dist-vue/packages/auth/src/index.d.ts +12 -12
  405. package/dist-vue/packages/components/src/PkEditorJsonSchema.d.ts +36 -0
  406. package/dist-vue/packages/components/src/PkSchemaField.d.ts +17 -0
  407. package/dist-vue/packages/components/src/PkSvgViewer.d.ts +8 -0
  408. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +5 -2
  409. package/dist-vue/packages/components/src/chat/PkChatbot.d.ts +2 -0
  410. package/dist-vue/packages/components/src/chat/PkChatbotMessages.d.ts +1 -0
  411. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +6 -6
  412. package/dist-vue/packages/components/src/chat/PkStreamingMarkdown.d.ts +2 -0
  413. package/dist-vue/packages/components/src/chat/PkStreamingMarkdownAutoscroll.d.ts +1 -0
  414. package/dist-vue/packages/components/src/chat/PkToolShowDiagram.d.ts +8 -0
  415. package/dist-vue/packages/components/src/chat/PkToolShowLocation.d.ts +2 -0
  416. package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
  417. package/dist-vue/packages/components/src/index.d.ts +4 -1
  418. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +21 -3
  419. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  420. package/dist-vue/packages/composable/src/useJsonSchemaEditor.d.ts +45 -0
  421. package/dist-vue/packages/models/src/schema/Agent.d.ts +4 -0
  422. package/dist-vue/packages/models/src/schema/Chat.d.ts +3 -0
  423. package/dist-vue/packages/models/src/schema/Notification.d.ts +6 -0
  424. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +2 -0
  425. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +2 -0
  426. package/dist-vue/packages/models/src/schema/constants.d.ts +2 -0
  427. package/dist-vue/packages/models/src/utils.d.ts +2 -0
  428. package/dist-vue/style.css +1 -1
  429. package/package.json +7 -7
  430. package/dist/_chunks/PkStreamingMarkdown-SVWv4Oye.js.map +0 -1
  431. package/dist/_chunks/PkToolShowComparison-BzyqEIMV.js +0 -64
  432. package/dist/_chunks/VvCombobox.es-CUUNtqyJ.js +0 -1998
  433. package/dist/_chunks/VvTextarea.es-B5txwRRm.js +0 -1110
  434. package/dist/_chunks/dist-DHG50RNO.js +0 -768
  435. package/dist/_chunks/marker-icon-2x-Df3ovzYv.js +0 -7
  436. package/dist/_chunks/marker-icon-2x-Df3ovzYv.js.map +0 -1
  437. package/dist/_chunks/marker-icon-CCYFvBsS.js +0 -7
  438. package/dist/_chunks/marker-icon-CCYFvBsS.js.map +0 -1
  439. package/dist/_chunks/marker-shadow-CHjnGkIt.js +0 -7
  440. package/dist/_chunks/marker-shadow-CHjnGkIt.js.map +0 -1
  441. package/dist-vue/_chunks/Media-Dq8UU7iQ.js +0 -120
  442. package/dist-vue/_chunks/Media-Dq8UU7iQ.js.map +0 -1
  443. package/dist-vue/_chunks/PkChatbot-CoXx7Rul.js +0 -191
  444. package/dist-vue/_chunks/PkChatbot-CoXx7Rul.js.map +0 -1
  445. package/dist-vue/_chunks/PkChatbotFilePreview-0N9ASbIp.js.map +0 -1
  446. package/dist-vue/_chunks/PkChatbotMessages-BDziUgck.js.map +0 -1
  447. package/dist-vue/_chunks/PkChatbotViewChat-DMnMkELX.js +0 -278
  448. package/dist-vue/_chunks/PkChatbotViewChat-DMnMkELX.js.map +0 -1
  449. package/dist-vue/_chunks/PkStreamingMarkdown-BUiAi-qv.js.map +0 -1
  450. package/dist-vue/_chunks/PkToolRequestConfirm-BsHpoI-c.js +0 -49
  451. package/dist-vue/_chunks/PkToolRequestOAuthConnection-shcJXxtk.js +0 -64
  452. package/dist-vue/_chunks/PkToolShowLocation-DBHdxOFr.js +0 -149
  453. package/dist-vue/_chunks/PkToolShowLocation-DBHdxOFr.js.map +0 -1
  454. package/dist-vue/_chunks/createChatbotApiClient-C_E35aQf.js.map +0 -1
  455. package/dist-vue/_chunks/dist-B_3TGJwf.js.map +0 -1
  456. package/dist-vue/_chunks/dist-sx4PacBp2.js +0 -440
  457. package/dist-vue/_chunks/dist-sx4PacBp2.js.map +0 -1
  458. package/dist-vue/_chunks/useChatbotStore-BXi-Gx7b.js.map +0 -1
  459. /package/dist/_chunks/{_plugin-vue_export-helper-BWIS0o4o.js → _plugin-vue_export-helper-5qR9iAls.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PkToolShowLocation-BDVFw7qK.js","names":["U","W","d","H","V","E","B","y","u","ee","F","q","M","A","m","te","X","S","oe","ae","re","ne","ie","le","ue","G","w","$t"],"sources":["../../../../node_modules/.pnpm/@indoorequal+vue-maplibre-gl@8.4.2_maplibre-gl@5.24.0_vue@3.5.35_typescript@6.0.3_/node_modules/@indoorequal/vue-maplibre-gl/dist/vue-maplibre-gl.es.js","../../../../packages/components/src/chat/PkToolShowLocation.vue","../../../../packages/components/src/chat/PkToolShowLocation.vue"],"sourcesContent":["/*!\n* @indoorequal/vue-maplibre-gl v8.4.2\n* (c) 2025 François de Metz <francois@2metz.fr>\n* @license MIT\n*/\nimport { reactive as W, defineComponent as d, markRaw as H, getCurrentInstance as V, shallowRef as E, ref as B, provide as y, watch as u, onMounted as q, onBeforeUnmount as M, h as A, nextTick as F, inject as m, createCommentVNode as S, Teleport as X, warn as G, isRef as w } from \"vue\";\nimport { LngLat as U, Map as ee, AttributionControl as te, FullscreenControl as oe, GeolocateControl as ae, NavigationControl as re, ScaleControl as ne, LogoControl as ie, Marker as le, Popup as ue } from \"maplibre-gl\";\nconst se = Symbol(\"map\"), h = se, P = Symbol(\"isLoaded\"), ce = Symbol(\"isInitialized\"), D = ce, L = Symbol(\"componentId\"), O = Symbol(\"sourceId\"), C = Symbol(\n \"sourceLayerRegistry\"\n), $ = Symbol(\"marker\"), de = [\n \"error\",\n \"load\",\n \"idle\",\n \"remove\",\n \"render\",\n \"resize\",\n \"webglcontextlost\",\n \"webglcontextrestored\",\n \"dataloading\",\n \"data\",\n \"tiledataloading\",\n \"sourcedataloading\",\n \"styledataloading\",\n \"sourcedata\",\n \"styledata\",\n \"styleimagemissing\",\n \"dataabort\",\n \"sourcedataabort\",\n \"boxzoomcancel\",\n \"boxzoomstart\",\n \"boxzoomend\",\n \"touchcancel\",\n \"touchmove\",\n \"touchend\",\n \"touchstart\",\n \"click\",\n \"contextmenu\",\n \"dblclick\",\n \"mousemove\",\n \"mouseup\",\n \"mousedown\",\n \"mouseout\",\n \"mouseover\",\n \"movestart\",\n \"move\",\n \"moveend\",\n \"zoomstart\",\n \"zoom\",\n \"zoomend\",\n \"rotatestart\",\n \"rotate\",\n \"rotateend\",\n \"dragstart\",\n \"drag\",\n \"dragend\",\n \"pitchstart\",\n \"pitch\",\n \"pitchend\",\n \"wheel\",\n \"terrain\",\n \"cooperativegestureprevented\"\n];\nfunction me(e, t, r, a) {\n return (o) => r.emit(a, {\n type: o.type,\n map: t,\n component: e,\n event: o\n });\n}\nfunction ge(e, t) {\n const r = U.convert(e), a = U.convert(t);\n return r.lng === a.lng && r.lat === a.lat;\n}\nvar k = /* @__PURE__ */ ((e) => (e.TOP_LEFT = \"top-left\", e.TOP_RIGHT = \"top-right\", e.BOTTOM_LEFT = \"bottom-left\", e.BOTTOM_RIGHT = \"bottom-right\", e))(k || {});\nconst x = Object.values(k), T = /* @__PURE__ */ new Map(), J = Symbol(\"default\");\nfunction Ye(e = J) {\n let t = T.get(e);\n return t || (t = W({ isLoaded: !1, isMounted: !1, language: null }), T.set(e, t)), t;\n}\nfunction fe(e, t, r = J) {\n let a = T.get(r);\n return a || (a = W({ isLoaded: !1, isMounted: !1, language: null }), T.set(r, a)), a.isLoaded = t.value?.loaded() || !1, a.isMounted = !1, a.component = e, a.map = t.value, a;\n}\nconst ye = d({\n name: \"MglMap\",\n props: {\n /**\n * Width of the map container\n */\n width: {\n type: [Number, String],\n default: \"100%\"\n },\n /**\n * Height of the map container\n */\n height: {\n type: [Number, String],\n default: \"100%\"\n },\n /**\n * If set, an AttributionControl will be added to the map with the provided options. To disable the attribution control, pass false. Note: showing the logo of MapLibre is not required for using MapLibre. Default Value ts compact: true, customAttribution: \"MapLibre ...\".\n */\n attributionControl: {\n type: [Boolean, Object],\n default: void 0\n },\n /**\n * The initial bearing (rotation) of the map, measured in degrees counter-clockwise from north. If bearing is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to 0. Default Value `0`\n * @vmodel v-model:bearing\n */\n bearing: {\n type: Number\n },\n /**\n * The threshold, measured in degrees, that determines when the map's bearing will snap to north. For example, with a bearingSnap of 7, if the user rotates the map within 7 degrees of north, the map will automatically snap to exact north. Default Value `7`\n */\n bearingSnap: {\n type: Number\n },\n /**\n * The initial bounds of the map. If bounds is specified, it overrides center and zoom constructor options.\n */\n bounds: {\n type: [Array, Object]\n },\n /**\n * If true, the \"box zoom\" interaction is enabled (see BoxZoomHandler). Default Value ts true\n */\n boxZoom: {\n type: Boolean,\n default: void 0\n },\n /**\n * The initial geographical centerpoint of the map. If center is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to [0, 0] Note: MapLibre GL JS uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match GeoJSON. Default Value ts [0, 0]\n * @vmodel v-model:center\n */\n center: {\n type: [Array, Object]\n },\n /**\n * The max number of pixels a user can shift the mouse pointer during a click for it to be considered a valid click (as opposed to a mouse drag). Default Value ts true\n */\n clickTolerance: {\n type: Number\n },\n /**\n * If true, Resource Timing API information will be collected for requests made by GeoJSON and Vector Tile web workers (this information is normally inaccessible from the main Javascript thread). Information will be returned in a resourceTiming property of relevant data events. Default Value `false`\n */\n collectResourceTiming: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, symbols from multiple sources can collide with each other during collision detection. If false, collision detection is run separately for the symbols in each source. Default Value `true`\n */\n crossSourceCollisions: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, the \"drag to pan\" interaction is enabled. An Object value is passed as options to DragPanHandler#enable. Default Value `true`\n */\n dragPan: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, the \"drag to rotate\" interaction is enabled (see DragRotateHandler). Default Value `true`\n */\n dragRotate: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, the \"double click to zoom\" interaction is enabled (see DoubleClickZoomHandler). Default Value `true`\n */\n doubleClickZoom: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, the map's position (zoom, center latitude, center longitude, bearing, and pitch) will be synced with the hash fragment of the page's URL. For example, http://path/to/my/page.html#2.59/39.26/53.07/-24.1/60. An additional string may optionally be provided to indicate a parameter-styled hash, e.g. http://path/to/my/page.html#map=2.59/39.26/53.07/-24.1/60&foo=bar, where foo is a custom parameter and bar is an arbitrary hash distinct from the map hash. Default Value `false`\n */\n hash: {\n type: [Boolean, String],\n default: void 0\n },\n /**\n * Controls the duration of the fade-in/fade-out animation for label collisions after initial map load, in milliseconds. This setting affects all symbol layers. This setting does not affect the duration of runtime styling transitions or raster tile cross-fading. Default Value `300`\n */\n fadeDuration: {\n type: Number\n },\n /**\n * A FitBoundsOptions options object to use only when fitting the initial bounds provided above.\n */\n fitBoundsOptions: {\n type: Object\n },\n /**\n * If false, no mouse, touch, or keyboard listeners will be attached to the map, so it will not respond to interaction. Default Value `true`\n */\n interactive: {\n type: Boolean,\n default: void 0\n },\n /**\n * If true, keyboard shortcuts are enabled (see KeyboardHandler). Default Value `true`\n */\n keyboard: {\n type: Boolean,\n default: void 0\n },\n /**\n * A patch to apply to the default localization table for UI strings, e.g. control tooltips. The locale object maps namespaced UI string IDs to translated strings in the target language; see src/ui/default_locale.js for an example with all supported string IDs. The object may specify all UI strings (thereby adding support for a new translation) or only a subset of strings (thereby patching the default translation table). Default Value `null`\n */\n locale: {\n type: Object\n },\n localIdeographFontFamily: {\n type: String\n },\n /**\n * A string representing the position of the MapLibre wordmark on the map. Valid options are top-left,top-right, bottom-left, or bottom-right. Default Value 'bottom-left'\n */\n logoPosition: {\n type: [String],\n validator: (e) => e in k\n },\n /**\n * If set, the map will be constrained to the given bounds.\n */\n maxBounds: {\n type: [Array, Object]\n },\n /**\n * The maximum pitch of the map (0-85). Values greater than 60 degrees are experimental and may result in rendering issues. If you encounter any, please raise an issue with details in the MapLibre project. Default Value `60`\n */\n maxPitch: {\n type: Number\n },\n /**\n * The maximum zoom level of the map (0-24). Default Value `22`\n */\n maxZoom: {\n type: Number\n },\n /**\n * The minimum pitch of the map (0-85). Values greater than 60 degrees are experimental and may result in rendering issues. If you encounter any, please raise an issue with details in the MapLibre project. Default Value `0`\n */\n minPitch: {\n type: Number\n },\n /**\n * The minimum zoom level of the map (0-24). Default Value `0`\n */\n minZoom: {\n type: Number\n },\n /**\n * The initial pitch (tilt) of the map, measured in degrees away from the plane of the screen (0-85). If pitch is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to 0. Values greater than 60 degrees are experimental and may result in rendering issues. If you encounter any, please raise an issue with details in the MapLibre project. Default Value `0`\n * @vmodel v-model:pitch\n */\n pitch: {\n type: Number\n },\n /**\n * If false, the map's pitch (tilt) control with \"drag to rotate\" interaction will be disabled. Default Value `true`\n */\n pitchWithRotate: {\n type: Boolean,\n default: void 0\n },\n /**\n * Set of WebGLContextAttributes that are applied to the WebGL context of the map. See https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext for more details. contextType can be set to webgl2 or webgl to force a WebGL version. Not setting it, Maplibre will do it's best to get a suitable context.\n * @since 8.0.0\n */\n canvasContextAttributes: {\n type: Object\n },\n /**\n * If false, the map won't attempt to re-request tiles once they expire per their HTTP cacheControl/expires headers. Default Value `true`\n */\n refreshExpiredTiles: {\n type: Boolean,\n default: void 0\n },\n renderWorldCopies: {\n type: Boolean,\n default: void 0\n },\n scrollZoom: {\n type: Boolean,\n default: void 0\n },\n /**\n * An optional string link to a URL, or an inlined JSON object containing a MapLibre Style Specification.\n * \n * Documentation: https://maplibre.org/maplibre-style-spec\n * \n * Example: https://demotiles.maplibre.org/style.json\n */\n mapStyle: {\n type: [String, Object]\n },\n /**\n * If `true`, the map will automatically resize when the browser window resizes.\n * Default value true\n */\n trackResize: {\n type: Boolean,\n default: void 0\n },\n /**\n * A callback run before the Map makes a request for an external URL. The callback can be used to modify the url, set headers, or set the credentials property for cross-origin requests.\n * Expected to return an object with a `url` property and optionally `headers` and `credentials` properties.\n */\n transformRequest: {\n type: Function\n },\n /**\n * A callback run before the map's camera is moved due to user input or animation. The callback can be used to modify the new center, zoom, pitch and bearing.\n * Expected to return an object containing center, zoom, pitch or bearing values to overwrite.\n * @since 6.4.0\n */\n transformCameraUpdate: {\n type: Function\n },\n /**\n * The map's TwoFingersTouchZoomRotateHandler, which allows the user to zoom or rotate the map with touch gestures.\n * Find more details and examples using `touchZoomRotate` in the TwoFingersTouchZoomRotateHandler section.\n */\n touchZoomRotate: {\n type: Boolean,\n default: void 0\n },\n /**\n * The map's TwoFingersTouchPitchHandler, which allows the user to pitch the map with touch gestures.\n * Find more details and examples using `touchPitch` in the TwoFingersTouchPitchHandler section.\n */\n touchPitch: {\n type: Boolean,\n default: void 0\n },\n /**\n * The initial zoom level of the map. If zoom is not specified in the constructor options, MapLibre GL JS will look for it in the map's style object. If it is not specified in the style, either, it will default to 0. Default Value `0`\n * @vmodel v-model:zoom\n */\n zoom: {\n type: Number\n },\n /**\n * The maximum number of tiles stored in the tile cache for a given source. If omitted, the cache will be dynamically sized based on the current viewport which can be set using `maxTileCacheZoomLevels` constructor options.\n * Default value null\n */\n maxTileCacheSize: {\n type: Number\n },\n /**\n * The name or symbol to reference a map via useMap composable\n */\n mapKey: { type: [String, Symbol] },\n /**\n * The pixel ratio. The canvas' width attribute will be container.clientWidth * pixelRatio and its height attribute will be container.clientHeight * pixelRatio. Defaults to devicePixelRatio if not specified.\n */\n pixelRatio: {\n type: Number\n },\n /**\n * If false, style validation will be skipped. Useful in production environment.\n * Default value true\n * @since 6.4.0\n */\n validateStyle: {\n type: Boolean,\n default: void 0\n },\n /**\n * The map's {@link CooperativeGesturesHandler}, which allows the user to see cooperative gesture info when user tries to zoom in/out.\n * Find more details and examples using `cooperativeGestures` in the {@link CooperativeGesturesHandler} section.\n */\n cooperativeGestures: {\n type: Boolean\n }\n },\n emits: [\n \"map:error\",\n \"map:load\",\n \"map:idle\",\n \"map:remove\",\n \"map:render\",\n \"map:resize\",\n \"map:webglcontextlost\",\n \"map:webglcontextrestored\",\n \"map:dataloading\",\n \"map:data\",\n \"map:tiledataloading\",\n \"map:sourcedataloading\",\n \"map:styledataloading\",\n \"map:sourcedata\",\n \"map:styledata\",\n \"map:styleimagemissing\",\n \"map:dataabort\",\n \"map:sourcedataabort\",\n \"map:boxzoomcancel\",\n \"map:boxzoomstart\",\n \"map:boxzoomend\",\n \"map:touchcancel\",\n \"map:touchmove\",\n \"map:touchend\",\n \"map:touchstart\",\n \"map:click\",\n \"map:contextmenu\",\n \"map:dblclick\",\n \"map:mousemove\",\n \"map:mouseup\",\n \"map:mousedown\",\n \"map:mouseout\",\n \"map:mouseover\",\n \"map:movestart\",\n \"map:move\",\n \"map:moveend\",\n \"map:zoomstart\",\n \"map:zoom\",\n \"map:zoomend\",\n \"map:rotatestart\",\n \"map:rotate\",\n \"map:rotateend\",\n \"map:dragstart\",\n \"map:drag\",\n \"map:dragend\",\n \"map:pitchstart\",\n \"map:pitch\",\n \"map:pitchend\",\n \"map:wheel\",\n \"map:terrain\",\n \"map:cooperativegestureprevented\",\n \"map:projectiontransition\",\n /**\n * Center property updated\n */\n \"update:center\",\n /**\n * Zoom property updated\n */\n \"update:zoom\",\n /**\n * Pitch property updated\n */\n \"update:pitch\",\n /**\n * Bearing property updated\n */\n \"update:bearing\"\n ],\n slots: Object,\n setup(e, t) {\n const r = H(V()), a = E(), o = E(), l = B(!1), c = B(!1), s = /* @__PURE__ */ new Map(), g = fe(r, o, e.mapKey);\n y(h, o), y(P, c), y(D, l), y(L, r.uid), y(O, \"\"), u(\n () => e.bearing,\n (i) => {\n i && o.value?.setBearing(i);\n }\n ), u(\n () => e.bounds,\n (i) => {\n i && o.value?.fitBounds(i, e.fitBoundsOptions);\n }\n ), u(\n () => e.center,\n (i) => {\n const v = o.value?.getCenter();\n i && v && !ge(i, v) && o.value?.setCenter(i);\n }\n ), u(\n () => e.maxBounds,\n (i) => {\n i && o.value?.setMaxBounds(i);\n }\n ), u(\n () => e.maxPitch,\n (i) => {\n i && o.value?.setMaxPitch(i);\n }\n ), u(\n () => e.maxZoom,\n (i) => {\n i && o.value?.setMaxZoom(i);\n }\n ), u(\n () => e.minPitch,\n (i) => {\n i && o.value?.setMinPitch(i);\n }\n ), u(\n () => e.minZoom,\n (i) => {\n i && o.value?.setMinZoom(i);\n }\n ), u(\n () => e.pitch,\n (i) => {\n i && o.value?.setPitch(i);\n }\n ), u(\n () => e.renderWorldCopies,\n (i) => {\n i && o.value?.setRenderWorldCopies(i);\n }\n ), u(\n () => e.mapStyle,\n (i) => {\n i && o.value?.setStyle(i);\n }\n ), u(\n () => e.transformRequest,\n (i) => {\n i && o.value?.setTransformRequest(i);\n }\n ), u(\n () => e.zoom,\n (i) => {\n i && o.value?.setZoom(i);\n }\n ), u(\n () => e.zoom,\n (i) => {\n i && o.value?.setZoom(i);\n }\n );\n function n() {\n g.isMounted = !0;\n const i = { ...e, style: e.mapStyle, container: a.value };\n for (const v of Object.keys(i))\n i[v] === void 0 && delete i[v];\n if (o.value = H(new ee(i)), g.map = o.value, l.value = !0, s.set(\n \"__load\",\n () => (c.value = !0, g.isLoaded = !0)\n ), o.value.on(\"load\", s.get(\"__load\")), s.set(\n \"__moveend\",\n () => t.emit(\"update:center\", o.value.getCenter())\n ), o.value.on(\"moveend\", s.get(\"__moveend\")), s.set(\n \"__zoomend\",\n () => t.emit(\"update:zoom\", o.value.getZoom())\n ), o.value.on(\"zoomend\", s.get(\"__zoomend\")), s.set(\n \"__pitchend\",\n () => t.emit(\"update:pitch\", o.value.getPitch())\n ), o.value.on(\"pitchend\", s.get(\"__pitchend\")), s.set(\n \"__rotateend\",\n () => t.emit(\"update:bearing\", o.value.getBearing())\n ), o.value.on(\"rotateend\", s.get(\"__rotateend\")), r.vnode.props) {\n for (const v of de)\n if (r.vnode.props[\"onMap:\" + v]) {\n const Q = `map:${v}`, Z = me(\n r,\n o.value,\n t,\n Q\n );\n s.set(v, Z), o.value.on(v, Z);\n }\n }\n o.value.getCanvas().addEventListener(\"webglcontextlost\", R);\n }\n async function f() {\n g.isMounted = !1, g.isLoaded = !1, c.value = !1, o.value && (o.value.getCanvas().removeEventListener(\"webglcontextlost\", R), l.value = !1, s.forEach((i, v) => {\n o.value.off(v.startsWith(\"__\") ? v.substring(2) : v, i);\n }), o.value.remove());\n }\n function R() {\n f(), F(n);\n }\n return q(n), M(f), t.expose({ map: o }), () => [\n A(\"div\", {\n ref: a,\n style: { height: e.height, width: e.width }\n }),\n l.value && t.slots.default ? t.slots.default({}) : void 0\n ];\n },\n /**\n * Slot for controls, sources, marker and popup\n * @slot default\n */\n render() {\n return null;\n }\n});\nfunction ve(e, t, r) {\n u(\n e,\n (a) => {\n a && x.indexOf(a) === -1 || (t.value?.hasControl(r) && t.value.removeControl(r), t.value?.addControl(r, a));\n },\n { immediate: !0 }\n );\n}\nfunction N(e, t) {\n const r = m(h), a = m(D), o = E();\n return o.value = e(), ve(() => t.position, r, o.value), M(\n () => a.value && r.value?.removeControl(o.value)\n ), { control: o, map: r };\n}\nconst pe = d({\n name: \"MglAttributionControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'bottom-right'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * If true, the attribution control will always collapse when moving the map. If false, force the expanded attribution control. The default is a responsive attribution that collapses when the user moves the map on maps less than 640 pixels wide. Attribution should not be collapsed if it can comfortably fit on the map. compact should only be used to modify default attribution when map size makes it impossible to fit default attribution and when the automatic compact resizing for default settings are not sufficient.\n */\n compact: Boolean,\n /**\n * Attributions to show in addition to any other attributions.\n */\n customAttribution: [String, Array]\n },\n setup(e) {\n N(() => new te({\n compact: e.compact,\n customAttribution: e.customAttribution\n }), e);\n },\n render() {\n return null;\n }\n});\nclass be {\n constructor(t, r) {\n this.isAdded = t, this.container = document.createElement(\"div\"), this.setClasses(r);\n }\n container;\n getDefaultPosition() {\n return k.TOP_LEFT;\n }\n onAdd() {\n return F(() => this.isAdded.value = !0), this.container;\n }\n onRemove() {\n this.isAdded.value = !1, this.container.remove();\n }\n setClasses(t) {\n this.container.className = t;\n }\n}\nconst Se = d({\n name: \"MglCustomControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'top-left'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * Set the classes on the control div\n * @since 6.1.0\n */\n class: {\n type: String,\n default: \"maplibregl-ctrl maplibregl-ctrl-group\"\n }\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = B(!1), { control: a } = N(() => new be(r, e.class), e);\n return u(\n () => e.class,\n () => a.value.setClasses(e.class)\n ), () => r.value ? A(X, { to: a.value.container }, t.default?.({})) : S(\"custom-component\");\n },\n /**\n * Slot to render the content of the control\n * @slot default\n */\n render() {\n return null;\n }\n}), Me = d({\n name: \"MglFullscreenControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'top-right'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * container is the compatible DOM element which should be made full screen. By default, the map container element will be made full screen.\n */\n container: {\n type: Object,\n default: null\n }\n },\n setup(e) {\n const { control: t, map: r } = N(() => new oe({\n container: e.container || void 0\n }), e);\n function a() {\n F(() => r.value?.resize());\n }\n t.value.on(\"fullscreenstart\", a), t.value.on(\"fullscreenend\", a), M(() => {\n t.value.off(\"fullscreenstart\", a), t.value.off(\"fullscreenend\", a);\n });\n },\n render() {\n return null;\n }\n}), he = d({\n name: \"MglGeolocateControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'top-right'.\n */\n position: {\n type: String,\n default: k.TOP_RIGHT,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * A Geolocation API [PositionOptions](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions) object.\n */\n positionOptions: {\n type: Object,\n default: () => ({ enableHighAccuracy: !1, timeout: 6e3 })\n },\n /**\n * A options object to use when the map is panned and zoomed to the user's location. The default is to use a maxZoom of 15 to limit how far the map will zoom in for very accurate locations.\n */\n fitBoundsOptions: {\n type: Object,\n default: () => ({ maxZoom: 15 })\n },\n /**\n * If true the GeolocateControl becomes a toggle button and when active the map will receive updates to the user's location as it changes.\n */\n trackUserLocation: {\n type: Boolean,\n default: !1\n },\n /**\n * By default, if showUserLocation is true, a transparent circle will be drawn around the user location indicating the accuracy (95% confidence level) of the user's location. Set to false to disable. Always disabled when showUserLocation is false.\n */\n showAccuracyCircle: {\n type: Boolean,\n default: !0\n },\n /**\n * By default a dot will be shown on the map at the user's location. Set to false to disable.\n */\n showUserLocation: {\n type: Boolean,\n default: !0\n }\n },\n emits: [\n \"trackuserlocationstart\",\n \"trackuserlocationend\",\n \"userlocationlostfocus\",\n \"userlocationfocus\",\n \"geolocate\",\n \"error\",\n \"outofmaxbounds\"\n ],\n setup(e, t) {\n const { control: r } = N(() => new ae({\n positionOptions: e.positionOptions,\n fitBoundsOptions: e.fitBoundsOptions,\n trackUserLocation: e.trackUserLocation,\n showAccuracyCircle: e.showAccuracyCircle,\n showUserLocation: e.showUserLocation\n }), e);\n function a(o) {\n const l = (c) => {\n t.emit(o, c);\n };\n r.value.on(o, l), M(() => {\n r.value.off(o, l);\n });\n }\n a(\"trackuserlocationstart\"), a(\"trackuserlocationend\"), a(\"userlocationlostfocus\"), a(\"userlocationfocus\"), a(\"geolocate\"), a(\"error\"), a(\"outofmaxbounds\");\n },\n render() {\n return null;\n }\n}), Le = d({\n name: \"MglNavigationControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'top-right'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * If true the compass button is included.\n */\n showCompass: { type: Boolean, default: !0 },\n /**\n * If true the zoom-in and zoom-out buttons are included.\n */\n showZoom: { type: Boolean, default: !0 },\n /**\n * If true the pitch is visualized by rotating X-axis of compass.\n */\n visualizePitch: Boolean\n },\n setup(e) {\n N(() => new re({\n showCompass: e.showCompass,\n showZoom: e.showZoom,\n visualizePitch: e.visualizePitch\n }), e);\n },\n render() {\n return null;\n }\n});\nvar K = /* @__PURE__ */ ((e) => (e.IMPERIAL = \"imperial\", e.METRIC = \"metric\", e.NAUTICAL = \"nautical\", e))(K || {});\nconst Oe = Object.values(K), Ce = d({\n name: \"MglScaleControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'bottom-left'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * The maximum length of the scale control in pixels. Default Value `100`\n */\n maxWidth: { type: Number, default: 100 },\n /**\n * Set the scale's unit of the distance ('imperial', 'metric' or 'nautical').\n */\n unit: {\n type: String,\n default: \"metric\",\n validator: (e) => Oe.indexOf(e) !== -1\n }\n },\n setup(e) {\n N(() => new ne({\n maxWidth: e.maxWidth,\n unit: e.unit\n }), e);\n },\n render() {\n return null;\n }\n}), xe = d({\n name: \"MglLogoControl\",\n props: {\n /**\n * Position on the map to which the control will be added. Valid values are 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Defaults to 'bottom-left'.\n */\n position: {\n type: String,\n validator: (e) => x.indexOf(e) !== -1\n },\n /**\n * If true, force a compact logo. If false, force the full logo. The default is a responsive logo that collapses when the map is less than 640 pixels wide.\n */\n compact: {\n type: Boolean\n }\n },\n setup(e) {\n N(() => new ie({\n compact: e.compact\n }), e);\n },\n render() {\n return null;\n }\n}), Ie = d({\n name: \"MglMarker\",\n emits: [\n /**\n * Fired when dragging starts\n */\n \"dragstart\",\n /**\n * Fired while dragging\n */\n \"drag\",\n /**\n * Fired when the marker is finished being dragged\n */\n \"dragend\",\n /**\n * Fired when the coordinates have been updated when the marker is draggable\n *\n * @property {LgnLatLike} coordinates the new coordinates\n */\n \"update:coordinates\"\n ],\n props: {\n /**\n * Marker coordinates\n */\n coordinates: {\n type: [Object, Array],\n required: !0\n },\n /**\n * Space-separated CSS class names to add to marker container\n * @since 8.3.0\n */\n className: String,\n /**\n * The offset in pixels as a PointLike object to apply relative to the element's center. Negatives indicate left and up.\n */\n offset: [Object, Array],\n /**\n * A string indicating the part of the Marker that should be positioned closest to the coordinate set via Marker#setLngLat. Options are 'center', 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', and 'bottom-right'. Default Value 'center'\n */\n anchor: String,\n /**\n * The color to use for the default marker if options.element is not provided. The default is light blue. Default Value '#3FB1CE'\n */\n color: String,\n /**\n * A boolean indicating whether or not a marker is able to be dragged to a new position on the map. Default Value false\n */\n draggable: Boolean,\n /**\n * The max number of pixels a user can shift the mouse pointer during a click on the marker for it to be considered a valid click (as opposed to a marker drag). The default is to inherit map's clickTolerance. Default Value 0\n */\n clickTolerance: Number,\n /**\n * The rotation angle of the marker in degrees, relative to its respective rotationAlignment setting. A positive value will rotate the marker clockwise. Default Value 0\n */\n rotation: Number,\n /**\n * map aligns the Marker's rotation relative to the map, maintaining a bearing as the map rotates. viewport aligns the Marker's rotation relative to the viewport, agnostic to map rotations. auto is equivalent to viewport. Default Value 'auto'\n */\n rotationAlignment: String,\n /**\n * map aligns the Marker to the plane of the map. viewport aligns the Marker to the plane of the viewport. auto automatically matches the value of rotationAlignment. Default Value 'auto'\n */\n pitchAlignment: String,\n /**\n * The scale to use for the default marker if options.element is not provided. The default scale corresponds to a height of 41px and a width of 27px. Default Value 1\n */\n scale: Number,\n /**\n * Marker's opacity when it's in clear view (not behind 3d terrain). Default value `1`\n * @since 7.0.0\n */\n opacity: String,\n /**\n * Marker's opacity when it's behind 3d terrain\n * @defaultValue `0.2`\n * @since 7.0.0\n */\n opacityWhenCovered: String,\n /**\n * If true, rounding is disabled for placement of the marker, allowing for subpixel positioning and smoother movement when the marker is translated.\n * @since 7.5.0\n */\n subpixelPositioning: {\n type: Boolean,\n default: !1\n }\n },\n setup(e, { slots: t, emit: r }) {\n const a = m(h), o = E(), l = B(), c = B(!1), s = /* @__PURE__ */ new Map();\n function g(n, f) {\n const R = (i) => {\n f && f(), r(n, i);\n };\n o.value.on(n, R), s.set(n, R);\n }\n return y($, o), q(() => {\n const n = { ...e };\n t.marker && (n.element = l.value), o.value = new le(n), o.value.setLngLat(e.coordinates).addTo(a.value), g(\"dragstart\"), g(\"drag\", () => {\n r(\"update:coordinates\", o.value?.getLngLat());\n }), g(\"dragend\", () => {\n r(\"update:coordinates\", o.value?.getLngLat());\n }), c.value = !0;\n }), u(\n () => e.coordinates,\n (n) => o.value?.setLngLat(n),\n { deep: !0 }\n ), u(\n () => e.draggable,\n (n) => o.value?.setDraggable(n)\n ), u(\n () => e.offset,\n (n) => o.value?.setOffset(n || [0, 0])\n ), u(\n () => e.pitchAlignment,\n (n) => o.value?.setPitchAlignment(n || \"auto\")\n ), u(\n () => e.rotation,\n (n) => o.value?.setRotation(n)\n ), u(\n () => e.rotationAlignment,\n (n) => o.value?.setRotationAlignment(n || \"auto\")\n ), u(\n () => e.opacity,\n (n) => o.value?.setOpacity(n, e.opacityWhenCovered)\n ), u(\n () => e.opacityWhenCovered,\n (n) => o.value?.setOpacity(e.opacity, n)\n ), u(\n () => e.subpixelPositioning,\n (n) => o.value?.setSubpixelPositioning(n)\n ), u(\n () => e.className,\n (n, f) => {\n f && o.value?.removeClassName(f), n && o.value?.addClassName(n);\n }\n ), M(() => {\n s.forEach((n, f) => {\n o.value?.off(f, n);\n }), o.value?.remove();\n }), () => [\n A(\n \"div\",\n t.default && c.value ? t.default({}) : void 0\n ),\n A(\"div\", { ref: l }, t.marker ? t.marker() : void 0)\n ];\n },\n /**\n * Slot for popup component\n * @slot default\n */\n /**\n * Slot for custom marker\n * @slot marker\n */\n render() {\n return null;\n }\n}), ze = d({\n name: \"MglPopup\",\n emits: [\n /**\n * Fired when the popup is opened manually or programmatically.\n */\n \"open\",\n /**\n * Fired when the popup is closed manually or programmatically.\n */\n \"close\"\n ],\n props: {\n /**\n * The geographical location of the popup's anchor.\n * Unused when placed inside a marker.\n */\n coordinates: {\n type: [Object, Array],\n required: !1\n },\n /**\n * Display a close button in the top right corner.\n */\n closeButton: {\n type: Boolean,\n required: !1,\n default: !0\n },\n /**\n * The popup will be closed when the map is clicked.\n */\n closeOnClick: {\n type: Boolean,\n required: !1,\n default: !0\n },\n /**\n * The popup will be closed when the map moves.\n */\n closeOnMove: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /**\n * The popup will try to focus the first focusable element inside the popup.\n */\n focusAfterOpen: {\n type: Boolean,\n required: !1,\n default: !0\n },\n /**\n * A string indicating the part of the Popup that should\n * be positioned closest to the coordinate.\n * Options are `'center'`, `'top'`, `'bottom'`, `'left'`, `'right'`, `'top-left'`,\n * `'top-right'`, `'bottom-left'`, and `'bottom-right'`. If unset the anchor will be\n * dynamically set to ensure the popup falls within the map container with a preference\n * for `'bottom'`.\n */\n anchor: {\n type: String,\n required: !1\n },\n /**\n * A pixel offset applied to the popup's location\n */\n offset: {\n type: [Number, Object, Array],\n required: !1\n },\n /**\n * Space-separated CSS class names to add to popup container\n */\n className: {\n type: String,\n required: !1\n },\n /**\n * A string that sets the CSS property of the popup's maximum width, eg `'300px'`.\n * To ensure the popup resizes to fit its content, set this property to `'none'`.\n */\n maxWidth: {\n type: String,\n default: \"240px\"\n },\n /**\n * If true, rounding is disabled for placement of the popup, allowing for subpixel positioning and smoother movement when the popup is translated.\n * @since 7.1.0\n */\n subpixelPositioning: {\n type: Boolean,\n default: !1\n },\n /**\n * Sets the popup's content to a string of text.\n */\n text: {\n type: String,\n required: !1\n }\n },\n setup(e, { slots: t, emit: r, expose: a }) {\n const o = m(h), l = m($, void 0), c = B(), s = new ue(e);\n l && l.value ? l.value.setPopup(s) : e.coordinates && o && s.setLngLat(e.coordinates).addTo(o.value), e.text && s.setText(e.text);\n function g(n) {\n const f = () => r(n);\n s.on(n, f), M(() => {\n s.off(n, f);\n });\n }\n return g(\"open\"), g(\"close\"), a({\n remove() {\n s.remove();\n }\n }), u(\n () => e.coordinates,\n (n) => {\n n && s.setLngLat(n);\n },\n { deep: !0 }\n ), u(\n () => e.text,\n (n) => s.setText(n || \"\")\n ), u(\n () => e.offset,\n (n) => s.setOffset(n)\n ), u(\n () => e.maxWidth,\n (n) => s.setMaxWidth(n)\n ), u(\n () => e.className,\n (n, f) => {\n f && s.removeClassName(f), n && s.addClassName(n);\n }\n ), u(\n () => e.subpixelPositioning,\n (n) => s.setSubpixelPositioning(n)\n ), q(() => {\n c.value && !e.text && s.setDOMContent(c.value);\n }), M(() => {\n s.remove();\n }), () => [\n A(\"div\", { ref: c }, t.default ? t.default() : void 0)\n ];\n },\n /**\n * Slot for popup content\n * @slot default\n */\n render() {\n return null;\n }\n}), Be = d({\n name: \"MglImage\",\n props: {\n /**\n * Image id\n */\n id: {\n type: String,\n required: !0\n },\n /**\n * The image data to add\n * The image as an HTMLImageElement, ImageData, ImageBitmap or object with width, height, and data properties with the same format as ImageData.\n * Required if the url props is not set\n */\n image: Object,\n /**\n * The image url to load via map#loadImage\n * Required if the image props is not set\n */\n url: String,\n /**\n * The options\n */\n options: Object\n },\n setup(e) {\n const t = m(h);\n if (!e.url && !e.image)\n return G(`${e.id} image: missing prop url or image`), () => [];\n if (!t.value.hasImage(e.id))\n return (async () => {\n let r = e.image;\n e.url && (r = (await t.value.loadImage(e.url)).data), t.value.addImage(e.id, r, e.options);\n })(), () => [];\n }\n});\nclass _ {\n unmountHandlers = /* @__PURE__ */ new Map();\n registerUnmountHandler(t, r) {\n this.unmountHandlers.set(t, r);\n }\n unregisterUnmountHandler(t) {\n this.unmountHandlers.delete(t);\n }\n unmount() {\n this.unmountHandlers.forEach((t) => t());\n }\n}\nclass p {\n static REFS = /* @__PURE__ */ new Map();\n static genSourceOpts(t) {\n const r = { ...t };\n for (const a of Object.keys(r))\n (r[a] === void 0 || a === \"sourceId\") && delete r[a];\n return r;\n }\n static getSourceRef(t, r) {\n const a = typeof r == \"string\", o = String(t) + (a ? r : \"\");\n let l = p.REFS.get(o);\n return l || (l = B(a ? null : void 0), p.REFS.set(o, l)), l;\n }\n}\nfunction j(e, t, r) {\n const a = m(h), o = m(P);\n function l() {\n o.value && (a.value.addSource(t.sourceId, p.genSourceOpts(t)), e.value = a.value.getSource(t.sourceId));\n }\n return u(o, l, { immediate: !0 }), a.value.on(\"style.load\", l), M(() => {\n o.value && (r.unmount(), a.value.removeSource(t.sourceId)), a.value.off(\"style.load\", l);\n });\n}\nconst Ne = d({\n name: \"MglCanvasSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n coordinates: Array,\n animate: Boolean,\n canvas: [Object, String]\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"canvas\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), u(\n [\n w(e.coordinates) ? e.coordinates : () => e.coordinates,\n a\n ],\n ([c, s]) => {\n s?.setCoordinates(c);\n },\n { immediate: !0 }\n ), () => [\n S(\"Canvas Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), _e = d({\n name: \"MglGeoJsonSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n data: {\n type: [Object, String],\n required: !0\n },\n maxzoom: Number,\n attribution: String,\n buffer: Number,\n tolerance: Number,\n cluster: Boolean,\n clusterRadius: Number,\n clusterMaxZoom: Number,\n clusterMinPoints: Number,\n clusterProperties: Object,\n lineMetrics: Boolean,\n generateId: Boolean,\n promoteId: [Object, String],\n filter: [Array, String, Object]\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"geojson\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), u(\n [w(e.data) ? e.data : () => e.data, a],\n ([c, s]) => {\n s?.setData(\n c || { type: \"FeatureCollection\", features: [] }\n );\n },\n { immediate: !0 }\n ), () => [\n S(\"GeoJSON Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), je = d({\n name: \"MglImageSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n url: String,\n coordinates: Array\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"image\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), u(\n [\n w(e.coordinates) ? e.coordinates : () => e.coordinates,\n a\n ],\n ([c, s]) => {\n s?.setCoordinates(c);\n },\n { immediate: !0 }\n ), () => [\n S(\"Image Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), we = d({\n name: \"MglRasterSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n url: String,\n tiles: Array,\n bounds: Array,\n minzoom: Number,\n maxzoom: Number,\n tileSize: Number,\n scheme: String,\n attribution: String,\n volatile: Boolean\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"raster\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), () => [\n S(\"Raster Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), Re = d({\n name: \"MglRasterDemSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n url: String,\n tiles: Array,\n bounds: Array,\n minzoom: Number,\n maxzoom: Number,\n tileSize: Number,\n attribution: String,\n encoding: String,\n volatile: Boolean,\n redFactor: Number,\n blueFactor: Number,\n greenFactor: Number,\n baseShift: Number\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"raster-dem\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), () => [\n S(\"RasterDem Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), Ae = d({\n name: \"MglVectorSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n url: String,\n tiles: Array,\n bounds: {\n type: Array,\n validator: function(e) {\n return e.length === 4;\n }\n },\n scheme: String,\n minzoom: Number,\n maxzoom: Number,\n attribution: String,\n promoteId: [Object, String],\n volatile: Boolean\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"vector\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), u(\n [w(e.tiles) ? e.tiles : () => e.tiles, a],\n ([c, s]) => {\n s?.setTiles(c || []);\n },\n { immediate: !0 }\n ), u(\n [w(e.url) ? e.url : () => e.url, a],\n ([c, s]) => {\n s?.setUrl(c || \"\");\n },\n { immediate: !0 }\n ), () => [\n S(\"Vector Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), Pe = d({\n name: \"MglVideoSource\",\n props: {\n sourceId: {\n type: String,\n required: !0\n },\n urls: Array,\n coordinates: Array\n },\n slots: Object,\n setup(e, { slots: t }) {\n const r = m(L), a = p.getSourceRef(r, e.sourceId), o = new _(), l = { ...e, type: \"video\" };\n return y(O, e.sourceId), y(C, o), j(a, l, o), u(\n [\n w(e.coordinates) ? e.coordinates : () => e.coordinates,\n a\n ],\n ([c, s]) => {\n s?.setCoordinates(c);\n },\n { immediate: !0 }\n ), () => [\n S(\"Video Source\"),\n a.value && t.default ? t.default({}) : void 0\n ];\n }\n}), b = [\n \"click\",\n \"dblclick\",\n \"mousedown\",\n \"mouseup\",\n \"mousemove\",\n \"mouseenter\",\n \"mouseleave\",\n \"mouseover\",\n \"mouseout\",\n \"contextmenu\",\n \"touchstart\",\n \"touchend\",\n \"touchcancel\"\n];\nfunction I() {\n return {\n /**\n * The id of the layer\n */\n layerId: {\n type: String,\n required: !0\n },\n source: {\n type: String\n },\n /**\n * Arbitrary properties useful to track with the layer, but do not influence rendering. Properties should be prefixed to avoid collisions, like 'maplibre:'.\n */\n metadata: {\n type: [Object, Array, String, Number]\n },\n /**\n * Layer to use from a vector tile source. Required for vector tile sources; prohibited for all other source types, including GeoJSON sources.\n */\n sourceLayer: { type: String },\n /**\n * The minimum zoom level for the layer. At zoom levels less than the minzoom, the layer will be hidden.\n */\n minzoom: { type: Number },\n /**\n * The maximum zoom level for the layer. At zoom levels equal to or greater than the maxzoom, the layer will be hidden.\n */\n maxzoom: { type: Number },\n /**\n * A expression specifying conditions on source features. Only features that match the filter are displayed. Zoom expressions in filters are only evaluated at integer zoom levels. The feature-state expression is not supported in filter expressions.\n */\n filter: { type: Object },\n /**\n * The ID of an existing layer to insert the new layer before, resulting in the new layer appearing visually beneath the existing layer. If this argument is not specified, the layer will be appended to the end of the layers array and appear visually above all other layers.\n */\n before: { type: String },\n /**\n * Layout properties for the layer.\n * See https://maplibre.org/maplibre-style-spec/layers/\n */\n layout: { type: Object },\n /**\n * Default paint properties for this layer.\n * See https://maplibre.org/maplibre-style-spec/layers/\n */\n paint: { type: Object }\n };\n}\nfunction ke(e, t, r, a) {\n const o = {\n id: e,\n type: t,\n source: r.source || a,\n metadata: r.metadata,\n minzoom: r.minzoom,\n maxzoom: r.maxzoom,\n \"source-layer\": r.sourceLayer,\n filter: r.filter,\n paint: r.paint,\n layout: r.layout\n };\n for (const l of Object.keys(o))\n o[l] === void 0 && delete o[l];\n return o;\n}\nfunction Ee(e, t, r) {\n if (r.props)\n for (const a of b) {\n const o = \"on\" + a.charAt(0).toUpperCase() + a.substr(1);\n r.props[o] && e.on(a, t, r.props[o]);\n }\n}\nfunction Te(e, t, r) {\n if (r.props)\n for (const a of b) {\n const o = \"on\" + a.charAt(0).toUpperCase() + a.substr(1);\n r.props[o] && e.off(a, t, r.props[o]);\n }\n}\nfunction Y(e, t) {\n const r = m(h), a = m(P), o = m(C);\n function l() {\n a.value && (t && Te(r.value, e, t.vnode), r.value.getLayer(e) && r.value.removeLayer(e));\n }\n o.registerUnmountHandler(e, l), M(() => {\n o.unregisterUnmountHandler(e), l();\n });\n}\nconst qe = d({\n name: \"MglBackgroundLayer\",\n props: {\n /**\n * The id of the layer\n */\n layerId: {\n type: String,\n required: !0\n },\n /**\n * Arbitrary properties useful to track with the layer, but do not influence rendering. Properties should be prefixed to avoid collisions, like 'maplibre:'.\n */\n metadata: [Object, Array, String, Number],\n /**\n * The minimum zoom level for the layer. At zoom levels less than the minzoom, the layer will be hidden.\n */\n minzoom: Number,\n /**\n * The maximum zoom level for the layer. At zoom levels equal to or greater than the maxzoom, the layer will be hidden.\n */\n maxzoom: Number,\n /**\n * The ID of an existing layer to insert the new layer before, resulting in the new layer appearing visually beneath the existing layer. If this argument is not specified, the layer will be appended to the end of the layers array and appear visually above all other layers.\n */\n before: String,\n /**\n * Layout properties for the layer.\n * See https://maplibre.org/maplibre-style-spec/layers/#background\n */\n layout: Object,\n /**\n * Default paint properties for this layer.\n * See https://maplibre.org/maplibre-style-spec/layers/#background\n */\n paint: Object\n },\n emits: [...b],\n setup(e) {\n const t = m(h), r = m(P);\n return Y(e.layerId), u(\n () => e.layout,\n (a) => {\n if (a)\n for (const [o, l] of Object.entries(a))\n t.value.setLayoutProperty(e.layerId, o, l);\n }\n ), u(\n () => e.paint,\n (a) => {\n if (a)\n for (const [o, l] of Object.entries(a))\n t.value.setPaintProperty(e.layerId, o, l);\n }\n ), u(\n r,\n (a) => {\n a && t.value.addLayer(\n {\n id: e.layerId,\n type: \"background\",\n metadata: e.metadata,\n minzoom: e.minzoom,\n maxzoom: e.maxzoom,\n layout: e.layout,\n paint: e.paint\n },\n e.before || void 0\n );\n },\n { immediate: !0 }\n ), () => S(\"Background Layer\");\n }\n});\nfunction z(e, t) {\n const r = m(O);\n if (!r && !t.source) {\n G(\n `${e} Layer: layer must be used inside source tag or source prop must be set`\n );\n return;\n }\n const a = V(), o = m(h), l = m(P), c = m(L), s = p.getSourceRef(c, t.source || r);\n return Y(t.layerId, a), u(\n () => t.minzoom,\n () => o.value.setLayerZoomRange(\n t.layerId,\n t.minzoom || 0,\n t.maxzoom || 24\n )\n ), u(\n () => t.maxzoom,\n () => o.value.setLayerZoomRange(\n t.layerId,\n t.minzoom || 0,\n t.maxzoom || 24\n )\n ), u(\n () => t.layout,\n (g) => {\n if (g)\n for (const [n, f] of Object.entries(g))\n o.value.setLayoutProperty(t.layerId, n, f);\n },\n { deep: !0 }\n ), u(\n () => t.paint,\n (g) => {\n if (g)\n for (const [n, f] of Object.entries(g))\n o.value.setPaintProperty(t.layerId, n, f);\n },\n { deep: !0 }\n ), u(\n () => t.filter,\n (g) => o.value.setFilter(t.layerId, g),\n { deep: !0 }\n ), u(\n [l, s],\n ([g, n]) => {\n g && (n || n === void 0) && (o.value.addLayer(\n ke(t.layerId, e, t, r),\n t.before || void 0\n ), Ee(o.value, t.layerId, a.vnode));\n },\n { immediate: !0 }\n ), () => S(`${e} Layer`);\n}\nconst Fe = d({\n name: \"MglCircleLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"circle\", e);\n }\n}), Ze = d({\n name: \"MglFillLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"fill\", e);\n }\n}), He = d({\n name: \"MglFillExtrusionLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"fill-extrusion\", e);\n }\n}), Ue = d({\n name: \"MglHeatmapLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"heatmap\", e);\n }\n}), We = d({\n name: \"MglHillshadeLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"hillshade\", e);\n }\n}), Ve = d({\n name: \"MglLineLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"line\", e);\n }\n}), Ge = d({\n name: \"MglRasterLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"raster\", e);\n }\n}), De = d({\n name: \"MglSymbolLayer\",\n props: I(),\n emits: [...b],\n setup(e) {\n return z(\"symbol\", e);\n }\n}), $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n MglAttributionControl: pe,\n MglBackgroundLayer: qe,\n MglCanvasSource: Ne,\n MglCircleLayer: Fe,\n MglCustomControl: Se,\n MglFillExtrusionLayer: He,\n MglFillLayer: Ze,\n MglFullscreenControl: Me,\n MglGeoJsonSource: _e,\n MglGeolocateControl: he,\n MglHeatmapLayer: Ue,\n MglHillshadeLayer: We,\n MglImage: Be,\n MglImageSource: je,\n MglLineLayer: Ve,\n MglLogoControl: xe,\n MglMap: ye,\n MglMarker: Ie,\n MglNavigationControl: Le,\n MglPopup: ze,\n MglRasterDemSource: Re,\n MglRasterLayer: Ge,\n MglRasterSource: we,\n MglScaleControl: Ce,\n MglSymbolLayer: De,\n MglVectorSource: Ae,\n MglVideoSource: Pe\n}, Symbol.toStringTag, { value: \"Module\" })), Qe = function(t) {\n Object.entries($e).forEach(([r, a]) => {\n t.component(r, a);\n });\n};\nexport {\n pe as MglAttributionControl,\n qe as MglBackgroundLayer,\n Ne as MglCanvasSource,\n Fe as MglCircleLayer,\n Se as MglCustomControl,\n He as MglFillExtrusionLayer,\n Ze as MglFillLayer,\n Me as MglFullscreenControl,\n _e as MglGeoJsonSource,\n he as MglGeolocateControl,\n Ue as MglHeatmapLayer,\n We as MglHillshadeLayer,\n Be as MglImage,\n je as MglImageSource,\n Ve as MglLineLayer,\n xe as MglLogoControl,\n ye as MglMap,\n Ie as MglMarker,\n Le as MglNavigationControl,\n ze as MglPopup,\n Re as MglRasterDemSource,\n Ge as MglRasterLayer,\n we as MglRasterSource,\n Ce as MglScaleControl,\n De as MglSymbolLayer,\n Ae as MglVectorSource,\n Pe as MglVideoSource,\n k as Position,\n L as componentIdSymbol,\n Qe as default,\n ce as isInitialized,\n D as isInitializedSymbol,\n P as isLoadedSymbol,\n se as map,\n h as mapSymbol,\n $ as markerSymbol,\n O as sourceIdSymbol,\n C as sourceLayerRegistry,\n N as useControl,\n Y as useDisposableLayer,\n Ye as useMap,\n ve as usePositionWatcher,\n j as useSource\n};\n//# sourceMappingURL=vue-maplibre-gl.es.js.map\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 {\n MglGeolocateControl,\n MglMap,\n MglMarker,\n MglNavigationControl,\n MglPopup,\n MglScaleControl,\n } from '@indoorequal/vue-maplibre-gl'\n\n const props = defineProps<{\n part: unknown\n isDark?: boolean\n mainColor?: string\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 const MAP_STYLES = {\n light: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n dark: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',\n } as const\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n const mapStyle = computed(() =>\n props.isDark ? MAP_STYLES.dark : MAP_STYLES.light,\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 // [lng, lat] — MapLibre coordinate order\n geocodedCoords.value = [result.longitude, result.latitude]\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 // [lng, lat] — MapLibre coordinate order\n return [\n toolPart.value.input.longitude,\n toolPart.value.input.latitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n // Navigation services expect \"lat,lng\" — center is [lng, lat]\n const getNavDestination = () =>\n hasCoords.value\n ? `${center.value[1]},${center.value[0]}`\n : (toolPart.value.input?.address ?? '')\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(getNavDestination())}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(getNavDestination())}`,\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[1]},${center.value[0]}&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 <MglMap\n :map-style=\"mapStyle\"\n :zoom=\"12\"\n :center=\"center\"\n :scroll-zoom=\"false\"\n :attribution-control=\"false\">\n <MglNavigationControl\n position=\"top-right\"\n :show-compass=\"false\" />\n <MglGeolocateControl position=\"top-right\" />\n <MglScaleControl position=\"bottom-left\" />\n <MglMarker :coordinates=\"center\" :color=\"mainColor\">\n <MglPopup :close-button=\"false\">\n <div class=\"flex flex-col leading-normal text-12 pr-12\">\n <p class=\"font-semibold\">\n {{ toolPart.input.name }}\n </p>\n <p\n v-if=\"toolPart.input.address\"\n class=\"text-word-3\">\n {{ toolPart.input.address }}\n </p>\n </div>\n </MglPopup>\n </MglMarker>\n </MglMap>\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 {\n MglGeolocateControl,\n MglMap,\n MglMarker,\n MglNavigationControl,\n MglPopup,\n MglScaleControl,\n } from '@indoorequal/vue-maplibre-gl'\n\n const props = defineProps<{\n part: unknown\n isDark?: boolean\n mainColor?: string\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 const MAP_STYLES = {\n light: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n dark: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',\n } as const\n\n onMounted(() => {\n loadCdnCss(\n 'https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css',\n getShadowRoot(getCurrentInstance()?.proxy?.$el),\n )\n })\n\n const mapStyle = computed(() =>\n props.isDark ? MAP_STYLES.dark : MAP_STYLES.light,\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 // [lng, lat] — MapLibre coordinate order\n geocodedCoords.value = [result.longitude, result.latitude]\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 // [lng, lat] — MapLibre coordinate order\n return [\n toolPart.value.input.longitude,\n toolPart.value.input.latitude,\n ]\n }\n return geocodedCoords.value ?? [0, 0]\n })\n\n // Navigation services expect \"lat,lng\" — center is [lng, lat]\n const getNavDestination = () =>\n hasCoords.value\n ? `${center.value[1]},${center.value[0]}`\n : (toolPart.value.input?.address ?? '')\n\n const openGoogleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n window.open(\n `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(getNavDestination())}`,\n '_blank',\n )\n }\n\n const openAppleMaps = () => {\n const input = toolPart.value.input\n if (!input) {\n return\n }\n window.open(\n `https://maps.apple.com/?daddr=${encodeURIComponent(getNavDestination())}`,\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[1]},${center.value[0]}&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 <MglMap\n :map-style=\"mapStyle\"\n :zoom=\"12\"\n :center=\"center\"\n :scroll-zoom=\"false\"\n :attribution-control=\"false\">\n <MglNavigationControl\n position=\"top-right\"\n :show-compass=\"false\" />\n <MglGeolocateControl position=\"top-right\" />\n <MglScaleControl position=\"bottom-left\" />\n <MglMarker :coordinates=\"center\" :color=\"mainColor\">\n <MglPopup :close-button=\"false\">\n <div class=\"flex flex-col leading-normal text-12 pr-12\">\n <p class=\"font-semibold\">\n {{ toolPart.input.name }}\n </p>\n <p\n v-if=\"toolPart.input.address\"\n class=\"text-word-3\">\n {{ toolPart.input.address }}\n </p>\n </div>\n </MglPopup>\n </MglMarker>\n </MglMap>\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"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { $ as e, C as t, E as n, Gt as r, O as i, Vt as a, _ as o, v as s, w as c, x as l, yt as u, z as d } from "./vue.runtime.esm-bundler-7_kt7y9A.js";
2
- import { i as f } from "./dist-DHG50RNO.js";
3
- import { c as p, n as m, o as h, r as g, s as _ } from "./index.es-CusxIi0s.js";
1
+ import { C as e, E as t, Ht as n, Kt as r, O as i, _ as a, bt as o, et as s, v as c, w as l, x as u, z as d } from "./vue.runtime.esm-bundler-B-iHWsf4.js";
2
+ import { i as f } from "./dist-Dplp2WfI.js";
3
+ import { c as p, n as m, o as h, r as g, s as _ } from "./index.es-9_Td6lnP.js";
4
4
  //#region ../../packages/components/src/chat/PkToolShowMessage.vue?vue&type=script&setup=true&lang.ts
5
- var v = { class: "border border-surface-3 rounded-xl w-full overflow-hidden" }, y = { class: "px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8" }, b = { class: "font-bold" }, x = { class: "p-sm" }, S = { class: "text-12 text-word-4 mb-4" }, C = { class: "text-word-2 whitespace-pre-wrap break-words" }, w = /* @__PURE__ */ n({
5
+ var v = { class: "border border-surface-3 rounded-xl w-full overflow-hidden" }, y = { class: "px-sm py-6 bg-surface-1 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8" }, b = { class: "font-bold" }, x = { class: "p-sm" }, S = { class: "text-12 text-word-4 mb-4" }, C = { class: "text-word-2 whitespace-pre-wrap break-words" }, w = /* @__PURE__ */ t({
6
6
  __name: "PkToolShowMessage",
7
7
  props: { part: { type: null } },
8
- setup(n) {
9
- let w = n, { copy: T, copied: E } = f(), D = o(() => w.part), O = () => {
8
+ setup(t) {
9
+ let w = t, { copy: T, copied: E } = f(), D = a(() => w.part), O = () => {
10
10
  if (!D.value.input) return;
11
11
  let e = `https://wa.me/?text=${encodeURIComponent(D.value.input.body)}`;
12
12
  window.open(e, "_blank");
@@ -19,58 +19,58 @@ var v = { class: "border border-surface-3 rounded-xl w-full overflow-hidden" },
19
19
  let e = `sms:?body=${encodeURIComponent(D.value.input.body)}`;
20
20
  window.open(e);
21
21
  };
22
- return (n, o) => {
22
+ return (t, a) => {
23
23
  let f = h, w = p, j = g, M = _, N = m;
24
- return d(), l("div", v, [s("div", y, [
25
- c(f, {
24
+ return d(), u("div", v, [c("div", y, [
25
+ l(f, {
26
26
  name: "ri:chat-1-line",
27
27
  class: "text-16"
28
28
  }),
29
- s("strong", b, r(n.$t("label.message")), 1),
30
- c(N, {
29
+ c("strong", b, r(t.$t("label.message")), 1),
30
+ l(N, {
31
31
  modifiers: "compact",
32
32
  class: "ml-auto shrink-0"
33
33
  }, {
34
- default: e(() => [c(w, {
34
+ default: s(() => [l(w, {
35
35
  modifiers: "action-quiet-small",
36
- icon: u(E) ? "ri:check-line" : "ri:file-copy-line",
37
- label: u(E) ? n.$t("action.copied") : n.$t("action.copy"),
38
- onClick: o[0] ||= (e) => u(T)(D.value?.input?.body ?? "")
39
- }, null, 8, ["icon", "label"]), c(M, a(i({
36
+ icon: o(E) ? "ri:check-line" : "ri:file-copy-line",
37
+ label: o(E) ? t.$t("action.copied") : t.$t("action.copy"),
38
+ onClick: a[0] ||= (e) => o(T)(D.value?.input?.body ?? "")
39
+ }, null, 8, ["icon", "label"]), l(M, n(i({
40
40
  placement: "bottom-end",
41
41
  modifiers: "menu",
42
42
  flip: !0,
43
43
  offset: 3,
44
44
  strategy: "fixed"
45
45
  })), {
46
- items: e(() => [
47
- c(j, { onClick: O }, {
48
- default: e(() => [c(f, { name: "ri:whatsapp-line" }), t(" " + r(n.$t("action.openInWhatsApp")), 1)]),
46
+ items: s(() => [
47
+ l(j, { onClick: O }, {
48
+ default: s(() => [l(f, { name: "ri:whatsapp-line" }), e(" " + r(t.$t("action.openInWhatsApp")), 1)]),
49
49
  _: 1
50
50
  }),
51
- c(j, { onClick: k }, {
52
- default: e(() => [c(f, { name: "ri:telegram-line" }), t(" " + r(n.$t("action.openInTelegram")), 1)]),
51
+ l(j, { onClick: k }, {
52
+ default: s(() => [l(f, { name: "ri:telegram-line" }), e(" " + r(t.$t("action.openInTelegram")), 1)]),
53
53
  _: 1
54
54
  }),
55
- c(j, { onClick: A }, {
56
- default: e(() => [c(f, { name: "ri:message-2-line" }), t(" " + r(n.$t("action.openInSms")), 1)]),
55
+ l(j, { onClick: A }, {
56
+ default: s(() => [l(f, { name: "ri:message-2-line" }), e(" " + r(t.$t("action.openInSms")), 1)]),
57
57
  _: 1
58
58
  })
59
59
  ]),
60
- default: e(() => [c(w, {
60
+ default: s(() => [l(w, {
61
61
  icon: "ri:send-plane-line",
62
62
  modifiers: "action-quiet-small",
63
- label: n.$t("action.send")
63
+ label: t.$t("action.send")
64
64
  }, null, 8, ["label"])]),
65
65
  _: 1
66
66
  }, 16)]),
67
67
  _: 1
68
68
  })
69
- ]), s("div", x, [s("div", S, r(n.$t("label.body")), 1), s("pre", C, r(D.value?.input?.body), 1)])]);
69
+ ]), c("div", x, [c("div", S, r(t.$t("label.body")), 1), c("pre", C, r(D.value?.input?.body), 1)])]);
70
70
  };
71
71
  }
72
72
  });
73
73
  //#endregion
74
74
  export { w as default };
75
75
 
76
- //# sourceMappingURL=PkToolShowMessage-xy09z85p.js.map
76
+ //# sourceMappingURL=PkToolShowMessage-BqH-tE8K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PkToolShowMessage-xy09z85p.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
+ {"version":3,"file":"PkToolShowMessage-BqH-tE8K.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"}
@@ -0,0 +1,81 @@
1
+ import { E as e, Kt as t, Q as n, V as r, Vt as i, _ as a, b as o, bt as s, et as c, m as l, p as u, pt as d, v as f, w as p, x as m, y as h, z as g } from "./vue.runtime.esm-bundler-B-iHWsf4.js";
2
+ import { n as _ } from "./vue-i18n-BjaFxqmH.js";
3
+ import { a as v, c as y, n as b } from "./index.es-9_Td6lnP.js";
4
+ //#region ../../packages/components/src/chat/PkToolShowMultipleChoice.vue?vue&type=script&setup=true&lang.ts
5
+ var x = { class: "px-sm py-10 font-bold bg-surface-1 text-12 border-b border-surface-3 text-word-3" }, S = { class: "px-sm py-10" }, C = {
6
+ key: 0,
7
+ class: "px-sm pb-sm border-t border-surface-3"
8
+ }, w = /* @__PURE__ */ e({
9
+ __name: "PkToolShowMultipleChoice",
10
+ props: {
11
+ part: { type: null },
12
+ allowCustomAnswer: { type: Boolean }
13
+ },
14
+ emits: ["select"],
15
+ setup(e, { emit: w }) {
16
+ let T = e, E = w, { t: D } = _({ useScope: "global" }), O = d(""), k = a(() => JSON.parse(JSON.stringify(T.part))), A = a(() => (k.value?.input?.options ?? []).map((e) => typeof e == "string" ? e : e.label)), j = a(() => {
17
+ let e = k.value?.output;
18
+ if (e) return typeof e == "string" ? e : e.label;
19
+ }), M = a(() => k.value?.state || "unknown"), N = a(() => M.value === "input-available");
20
+ function P() {
21
+ let e = O.value.trim();
22
+ e && E("select", e);
23
+ }
24
+ return n(j, (e) => {
25
+ e && !A.value.includes(e) && (O.value = e);
26
+ }, { immediate: !0 }), (n, a) => {
27
+ let d = y, _ = b, w = v;
28
+ return A.value.length ? (g(), m("div", {
29
+ key: M.value,
30
+ class: "border border-surface-3 rounded-xl w-full overflow-hidden"
31
+ }, [
32
+ f("div", x, t(k.value.input?.question), 1),
33
+ f("div", S, [(g(), h(_, {
34
+ key: A.value.length,
35
+ modifiers: "vertical",
36
+ class: "w-full"
37
+ }, {
38
+ default: c(() => [(g(!0), m(l, null, r(A.value, (e, t) => (g(), h(d, {
39
+ key: t,
40
+ modifiers: "action-multiline",
41
+ class: i(["whitespace-normal w-full", { pressed: e === j.value }]),
42
+ disabled: !N.value,
43
+ label: e,
44
+ onClick: u((t) => E("select", e), ["stop"])
45
+ }, null, 8, [
46
+ "class",
47
+ "disabled",
48
+ "label",
49
+ "onClick"
50
+ ]))), 128))]),
51
+ _: 1
52
+ }))]),
53
+ e.allowCustomAnswer ? (g(), m("div", C, [f("form", {
54
+ class: "flex gap-xs pt-sm",
55
+ onSubmit: u(P, ["prevent"])
56
+ }, [p(w, {
57
+ modelValue: O.value,
58
+ "onUpdate:modelValue": a[0] ||= (e) => O.value = e,
59
+ class: "flex-1",
60
+ name: "customAnswer",
61
+ modifiers: "compact rounded",
62
+ disabled: !N.value,
63
+ placeholder: s(D)("placeholder.customAnswer")
64
+ }, null, 8, [
65
+ "modelValue",
66
+ "disabled",
67
+ "placeholder"
68
+ ]), p(d, {
69
+ type: "submit",
70
+ modifiers: "action-quiet",
71
+ disabled: !O.value.trim() || !N.value,
72
+ label: s(D)("action.send")
73
+ }, null, 8, ["disabled", "label"])], 32)])) : o("", !0)
74
+ ])) : o("", !0);
75
+ };
76
+ }
77
+ });
78
+ //#endregion
79
+ export { w as default };
80
+
81
+ //# sourceMappingURL=PkToolShowMultipleChoice-DNfjzGxI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PkToolShowMultipleChoice-DNfjzGxI.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"}
@@ -1,6 +1,6 @@
1
- import { $ as e, Bt as t, E as n, Gt as r, V as i, W as a, _ as o, b as s, h as c, v as l, w as u, x as d, y as f, z as p } from "./vue.runtime.esm-bundler-7_kt7y9A.js";
2
- import { o as m } from "./index.es-CusxIi0s.js";
3
- import { t as h } from "./PkUrl-CeYapZ9E.js";
1
+ import { E as e, Kt as t, V as n, Vt as r, W as i, _ as a, b as o, et as s, m as c, v as l, w as u, x as d, y as f, z as p } from "./vue.runtime.esm-bundler-B-iHWsf4.js";
2
+ import { o as m } from "./index.es-9_Td6lnP.js";
3
+ import { t as h } from "./PkUrl-ChRoceUn.js";
4
4
  //#region ../../packages/components/src/chat/PkToolShowProductList.vue?vue&type=script&setup=true&lang.ts
5
5
  var g = {
6
6
  key: 0,
@@ -14,53 +14,53 @@ var g = {
14
14
  }, C = {
15
15
  key: 1,
16
16
  class: "text-12 text-word-3 line-clamp-2"
17
- }, w = /* @__PURE__ */ n({
17
+ }, w = /* @__PURE__ */ e({
18
18
  __name: "PkToolShowProductList",
19
19
  props: { part: { type: null } },
20
- setup(n) {
21
- let w = n, T = o(() => w.part), E = (e) => {
20
+ setup(e) {
21
+ let w = e, T = a(() => w.part), E = (e) => {
22
22
  if (!e) return "";
23
23
  let t = e.toLowerCase();
24
24
  return t.includes("in stock") || t.includes("available") || t.includes("disponibile") ? "text-success" : t.includes("out of stock") || t.includes("unavailable") || t.includes("non disponibile") ? "text-danger" : t.includes("limited") || t.includes("low stock") || t.includes("limitato") ? "text-warning" : "text-word-3";
25
25
  };
26
- return (n, o) => {
26
+ return (e, a) => {
27
27
  let w = m;
28
- return T.value?.input?.products?.length ? (p(), d("ul", g, [(p(!0), d(c, null, i(T.value.input.products, (n, i) => (p(), d("li", {
29
- key: i,
28
+ return T.value?.input?.products?.length ? (p(), d("ul", g, [(p(!0), d(c, null, n(T.value.input.products, (e, n) => (p(), d("li", {
29
+ key: n,
30
30
  class: "border border-surface-3 rounded-xl overflow-hidden hover:border-surface-4 transition-colors"
31
- }, [(p(), f(a(n.url ? "a" : "div"), {
32
- href: n.url,
33
- target: n.url ? "_blank" : void 0,
34
- rel: n.url ? "noopener noreferrer" : void 0,
31
+ }, [(p(), f(i(e.url ? "a" : "div"), {
32
+ href: e.url,
33
+ target: e.url ? "_blank" : void 0,
34
+ rel: e.url ? "noopener noreferrer" : void 0,
35
35
  class: "flex gap-8 p-8 hover:bg-surface-1 transition-colors"
36
36
  }, {
37
- default: e(() => [n.image ? (p(), d("img", {
37
+ default: s(() => [e.image ? (p(), d("img", {
38
38
  key: 0,
39
- src: n.image,
40
- alt: n.name,
39
+ src: e.image,
40
+ alt: e.name,
41
41
  class: "w-48 h-48 object-contain rounded shrink-0 border border-surface-3 bg-surface"
42
- }, null, 8, _)) : s("", !0), l("div", v, [
43
- l("strong", y, r(n.name), 1),
44
- n.url ? (p(), d("span", b, [u(w, {
42
+ }, null, 8, _)) : o("", !0), l("div", v, [
43
+ l("strong", y, t(e.name), 1),
44
+ e.url ? (p(), d("span", b, [u(w, {
45
45
  name: "ri:link",
46
46
  class: "shrink-0 text-12"
47
- }), u(h, { url: n.url }, null, 8, ["url"])])) : s("", !0),
48
- l("div", x, [n.price ? (p(), d("span", S, r(n.price), 1)) : s("", !0), n.availability ? (p(), d("span", {
47
+ }), u(h, { url: e.url }, null, 8, ["url"])])) : o("", !0),
48
+ l("div", x, [e.price ? (p(), d("span", S, t(e.price), 1)) : o("", !0), e.availability ? (p(), d("span", {
49
49
  key: 1,
50
- class: t(["text-10 font-medium", E(n.availability)])
51
- }, r(n.availability), 3)) : s("", !0)]),
52
- n.description ? (p(), d("p", C, r(n.description), 1)) : s("", !0)
50
+ class: r(["text-10 font-medium", E(e.availability)])
51
+ }, t(e.availability), 3)) : o("", !0)]),
52
+ e.description ? (p(), d("p", C, t(e.description), 1)) : o("", !0)
53
53
  ])]),
54
54
  _: 2
55
55
  }, 1032, [
56
56
  "href",
57
57
  "target",
58
58
  "rel"
59
- ]))]))), 128))])) : s("", !0);
59
+ ]))]))), 128))])) : o("", !0);
60
60
  };
61
61
  }
62
62
  });
63
63
  //#endregion
64
64
  export { w as default };
65
65
 
66
- //# sourceMappingURL=PkToolShowProductList-Al_csZaz.js.map
66
+ //# sourceMappingURL=PkToolShowProductList-DeU4qyZp.js.map