@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
@@ -1,4 +1,4 @@
1
- import { E as e, F as t, L as n, R as r, Z as i, ft as a, k as o, mt as s } from "./vue.runtime.esm-bundler-7_kt7y9A.js";
1
+ import { E as e, F as t, L as n, Q as r, R as i, ht as a, k as o, pt as s } from "./vue.runtime.esm-bundler-B-iHWsf4.js";
2
2
  //#region ../../node_modules/.pnpm/@iconify+vue@5.0.1_vue@3.5.35_typescript@6.0.3_/node_modules/@iconify/vue/dist/iconify.mjs
3
3
  var c = /^[a-z0-9]+(-[a-z0-9]+)*$/, l = (e, t, n, r = "") => {
4
4
  let i = e.split(":");
@@ -927,11 +927,11 @@ var qe = {
927
927
  ...m,
928
928
  body: ""
929
929
  }, Je = e((e, { emit: o }) => {
930
- let c = a(null);
930
+ let c = s(null);
931
931
  function u() {
932
932
  c.value &&= (c.value.abort?.(), null);
933
933
  }
934
- let d = a(!!e.ssr), f = a(""), p = s(null);
934
+ let d = s(!!e.ssr), f = s(""), p = a(null);
935
935
  function h() {
936
936
  let n = e.icon;
937
937
  if (typeof n == "object" && n && typeof n.body == "string") return f.value = "", { data: n };
@@ -966,7 +966,7 @@ var qe = {
966
966
  }
967
967
  return d.value ? g() : n(() => {
968
968
  d.value = !0, g();
969
- }), i(() => e.icon, g), r(u), () => {
969
+ }), r(() => e.icon, g), i(u), () => {
970
970
  let t = p.value;
971
971
  if (!t) return $(qe, e);
972
972
  let n = e;
@@ -1004,4 +1004,4 @@ var qe = {
1004
1004
  //#endregion
1005
1005
  export { re as a, O as i, B as n, k as r, Je as t };
1006
1006
 
1007
- //# sourceMappingURL=iconify-B2ZQHsNr.js.map
1007
+ //# sourceMappingURL=iconify-DlYsYC8z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconify-B2ZQHsNr.js","names":[],"sources":["../../../../node_modules/.pnpm/@iconify+vue@5.0.1_vue@3.5.35_typescript@6.0.3_/node_modules/@iconify/vue/dist/iconify.mjs"],"sourcesContent":["import { h, defineComponent, ref, shallowRef, onMounted, watch, onUnmounted, nextTick } from 'vue';\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name) {\n\t\tcurrentProps = mergeIconData(icons[name] || aliases[name], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider) => {\n\t\t(typeof provider === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider] || {})).forEach((prefix) => {\n\t\t\tconst storage = getStorage(provider, prefix);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider !== \"\" ? \"@\" + provider + \":\" : \"\") + prefix + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Regular expression for finding ids\n*/\nconst regex = /\\sid=\"(\\S+)\"/g;\n/**\n* Counters\n*/\nconst counters = /* @__PURE__ */ new Map();\n/**\n* Get unique new ID\n*/\nfunction nextID(id) {\n\tid = id.replace(/[0-9]+$/, \"\") || \"a\";\n\tconst count = counters.get(id) || 0;\n\tcounters.set(id, count + 1);\n\treturn count ? `${id}${count}` : id;\n}\n/**\n* Replace IDs in SVG output with unique IDs\n*/\nfunction replaceIDs(body) {\n\tconst ids = [];\n\tlet match;\n\twhile (match = regex.exec(body)) ids.push(match[1]);\n\tif (!ids.length) return body;\n\tconst suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n\tids.forEach((id) => {\n\t\tconst newID = nextID(id);\n\t\tconst escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\tbody = body.replace(new RegExp(\"([#;\\\"])(\" + escapedID + \")([\\\")]|\\\\.[a-z])\", \"g\"), \"$1\" + newID + suffix + \"$3\");\n\t});\n\tbody = body.replace(new RegExp(suffix, \"g\"), \"\");\n\treturn body;\n}\n/**\n* Clear ID cache\n*/\nfunction clearIDCache() {\n\tcounters.clear();\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch) {\n\tfetchModule = fetch;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tmaxHostLength = Math.max(maxHostLength, item.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status, data) => {\n\t\t\t\tmoduleResponse(item, status, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query);\n\t\treturn query;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons || !icons.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n* Convert IconifyIconCustomisations to FullIconCustomisations, checking value types\n*/\nfunction mergeCustomisations(defaults, item) {\n\tconst result = { ...defaults };\n\tfor (const key in item) {\n\t\tconst value = item[key];\n\t\tconst valueType = typeof value;\n\t\tif (key in defaultIconSizeCustomisations) {\n\t\t\tif (value === null || value && (valueType === \"string\" || valueType === \"number\")) result[key] = value;\n\t\t} else if (valueType === typeof result[key]) result[key] = key === \"rotate\" ? value % 4 : value;\n\t}\n\treturn result;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value) {\n\t\twhile (value < 0) value += 4;\n\t\treturn value % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst defaultExtendedIconCustomisations = {\n ...defaultIconCustomisations,\n inline: false,\n};\n\n/**\n * Default SVG attributes\n */\nconst svgDefaults = {\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n 'aria-hidden': true,\n 'role': 'img',\n};\n/**\n * Style modes\n */\nconst commonProps = {\n display: 'inline-block',\n};\nconst monotoneProps = {\n backgroundColor: 'currentColor',\n};\nconst coloredProps = {\n backgroundColor: 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n Image: 'var(--svg)',\n Repeat: 'no-repeat',\n Size: '100% 100%',\n};\nconst propsToAddTo = {\n webkitMask: monotoneProps,\n mask: monotoneProps,\n background: coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + prop] = propsToAdd[prop];\n }\n}\n/**\n * Aliases for customisations.\n * In Vue 'v-' properties are reserved, so v-flip must be renamed\n */\nconst customisationAliases = {};\n['horizontal', 'vertical'].forEach((prefix) => {\n const attr = prefix.slice(0, 1) + 'Flip';\n // vertical-flip\n customisationAliases[prefix + '-flip'] = attr;\n // v-flip\n customisationAliases[prefix.slice(0, 1) + '-flip'] = attr;\n // verticalFlip\n customisationAliases[prefix + 'Flip'] = attr;\n});\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value + (value.match(/^[-0-9.]+$/) ? 'px' : '');\n}\n/**\n * Render icon\n */\nconst render = (\n// Icon must be validated before calling this function\nicon, \n// Partial properties\nprops) => {\n // Split properties\n const customisations = mergeCustomisations(defaultExtendedIconCustomisations, props);\n const componentProps = { ...svgDefaults };\n // Check mode\n const mode = props.mode || 'svg';\n // Copy style\n const style = {};\n const propsStyle = props.style;\n const customStyle = typeof propsStyle === 'object' && !(propsStyle instanceof Array)\n ? propsStyle\n : {};\n // Get element properties\n for (let key in props) {\n const value = props[key];\n if (value === void 0) {\n continue;\n }\n switch (key) {\n // Properties to ignore\n case 'icon':\n case 'style':\n case 'onLoad':\n case 'mode':\n case 'ssr':\n case 'customise':\n break;\n // Boolean attributes\n case 'inline':\n case 'hFlip':\n case 'vFlip':\n customisations[key] =\n value === true || value === 'true' || value === 1;\n break;\n // Flip as string: 'horizontal,vertical'\n case 'flip':\n if (typeof value === 'string') {\n flipFromString(customisations, value);\n }\n break;\n // Color: override style\n case 'color':\n style.color = value;\n break;\n // Rotation as string\n case 'rotate':\n if (typeof value === 'string') {\n customisations[key] = rotateFromString(value);\n }\n else if (typeof value === 'number') {\n customisations[key] = value;\n }\n break;\n // Remove aria-hidden\n case 'ariaHidden':\n case 'aria-hidden':\n // Vue transforms 'aria-hidden' property to 'ariaHidden'\n if (value !== true && value !== 'true') {\n delete componentProps['aria-hidden'];\n }\n break;\n default: {\n const alias = customisationAliases[key];\n if (alias) {\n // Aliases for boolean customisations\n if (value === true || value === 'true' || value === 1) {\n customisations[alias] = true;\n }\n }\n else if (defaultExtendedIconCustomisations[key] === void 0) {\n // Copy missing property if it does not exist in customisations\n componentProps[key] = value;\n }\n }\n }\n }\n // Generate icon\n const item = iconToSVG(icon, customisations);\n const renderAttribs = item.attributes;\n // Inline display\n if (customisations.inline) {\n style.verticalAlign = '-0.125em';\n }\n if (mode === 'svg') {\n // Add style\n componentProps.style = {\n ...style,\n ...customStyle,\n };\n // Add icon stuff\n Object.assign(componentProps, renderAttribs);\n // Add innerHTML and style to props\n componentProps['innerHTML'] = replaceIDs(item.body);\n // Render icon\n return h('svg', componentProps);\n }\n // Render <span> with style\n const { body, width, height } = icon;\n const useMask = mode === 'mask' ||\n (mode === 'bg' ? false : body.indexOf('currentColor') !== -1);\n // Generate SVG\n const html = iconToHTML(body, {\n ...renderAttribs,\n width: width + '',\n height: height + '',\n });\n // Generate style\n componentProps.style = {\n ...style,\n '--svg': svgToURL(html),\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...commonProps,\n ...(useMask ? monotoneProps : coloredProps),\n ...customStyle,\n };\n return h('span', componentProps);\n};\n\n/**\n * Initialise stuff\n */\n// Enable short names\nallowSimpleNames(true);\n// Set API module\nsetAPIModule('', fetchAPIModule);\n/**\n * Browser stuff\n */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n const _window = window;\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection(item)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (let key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider(key, value)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n}\n/**\n * Empty icon data, rendered when icon is not available\n */\nconst emptyIcon = {\n ...defaultIconProps,\n body: '',\n};\n/**\n * Component\n */\nconst Icon = defineComponent((props, { emit }) => {\n const loader = ref(null);\n function abortLoading() {\n if (loader.value) {\n loader.value.abort?.();\n loader.value = null;\n }\n }\n // Render state\n const rendering = ref(!!props.ssr);\n const lastRenderedIconName = ref('');\n const iconData = shallowRef(null);\n // Update icon data\n function getIcon() {\n const icon = props.icon;\n // Icon is an object\n if (typeof icon === 'object' &&\n icon !== null &&\n typeof icon.body === 'string') {\n lastRenderedIconName.value = '';\n return {\n data: icon,\n };\n }\n // Check for valid icon name\n let iconName;\n if (typeof icon !== 'string' ||\n (iconName = stringToIcon(icon, false, true)) === null) {\n return null;\n }\n // Load icon\n let data = getIconData(iconName);\n if (!data) {\n // Icon data is not available\n const oldState = loader.value;\n if (!oldState || oldState.name !== icon) {\n // Icon name does not match old loader state\n if (data === null) {\n // Failed to load\n loader.value = {\n name: icon,\n };\n }\n else {\n loader.value = {\n name: icon,\n abort: loadIcons([iconName], updateIconData),\n };\n }\n }\n return null;\n }\n // Icon data is available\n abortLoading();\n if (lastRenderedIconName.value !== icon) {\n lastRenderedIconName.value = icon;\n // Emit on next tick because render will be called on next tick\n nextTick(() => {\n emit('load', icon);\n });\n }\n // Customise icon\n const customise = props.customise;\n if (customise) {\n // Clone data and customise it\n data = Object.assign({}, data);\n const customised = customise(data.body, iconName.name, iconName.prefix, iconName.provider);\n if (typeof customised === 'string') {\n data.body = customised;\n }\n }\n // Add classes\n const classes = ['iconify'];\n if (iconName.prefix !== '') {\n classes.push('iconify--' + iconName.prefix);\n }\n if (iconName.provider !== '') {\n classes.push('iconify--' + iconName.provider);\n }\n return { data, classes };\n }\n function updateIconData() {\n const icon = getIcon();\n if (!icon) {\n iconData.value = null;\n }\n else if (icon.data !== iconData.value?.data) {\n iconData.value = icon;\n }\n }\n // Set icon data\n if (rendering.value) {\n updateIconData();\n }\n else {\n onMounted(() => {\n rendering.value = true;\n updateIconData();\n });\n }\n watch(() => props.icon, updateIconData);\n // Abort loading on unmount\n onUnmounted(abortLoading);\n // Render function\n return () => {\n // Get icon data\n const icon = iconData.value;\n if (!icon) {\n // Icon is not available\n return render(emptyIcon, props);\n }\n // Add classes\n let newProps = props;\n if (icon.classes) {\n newProps = {\n ...props,\n class: icon.classes.join(' '),\n };\n }\n // Render icon\n return render({\n ...defaultIconProps,\n ...icon.data,\n }, newProps);\n };\n}, {\n props: [\n // Icon and render mode\n 'icon',\n 'mode',\n 'ssr',\n // Layout and style\n 'width',\n 'height',\n 'style',\n 'color',\n 'inline',\n // Transformations\n 'rotate',\n 'hFlip',\n 'horizontalFlip',\n 'vFlip',\n 'verticalFlip',\n 'flip',\n // Misc\n 'id',\n 'ariaHidden',\n 'customise',\n 'title',\n ],\n emits: ['load'],\n});\n/**\n * Internal API\n */\nconst _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n};\n\nexport { Icon, _api, addAPIProvider, addCollection, addIcon, iconToSVG as buildIcon, calculateSize, clearIDCache, getIcon, iconLoaded, listIcons, loadIcon, loadIcons, replaceIDs, setCustomIconLoader, setCustomIconsLoader };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"iconify-DlYsYC8z.js","names":[],"sources":["../../../../node_modules/.pnpm/@iconify+vue@5.0.1_vue@3.5.35_typescript@6.0.3_/node_modules/@iconify/vue/dist/iconify.mjs"],"sourcesContent":["import { h, defineComponent, ref, shallowRef, onMounted, watch, onUnmounted, nextTick } from 'vue';\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name) {\n\t\tcurrentProps = mergeIconData(icons[name] || aliases[name], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider) => {\n\t\t(typeof provider === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider] || {})).forEach((prefix) => {\n\t\t\tconst storage = getStorage(provider, prefix);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider !== \"\" ? \"@\" + provider + \":\" : \"\") + prefix + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Regular expression for finding ids\n*/\nconst regex = /\\sid=\"(\\S+)\"/g;\n/**\n* Counters\n*/\nconst counters = /* @__PURE__ */ new Map();\n/**\n* Get unique new ID\n*/\nfunction nextID(id) {\n\tid = id.replace(/[0-9]+$/, \"\") || \"a\";\n\tconst count = counters.get(id) || 0;\n\tcounters.set(id, count + 1);\n\treturn count ? `${id}${count}` : id;\n}\n/**\n* Replace IDs in SVG output with unique IDs\n*/\nfunction replaceIDs(body) {\n\tconst ids = [];\n\tlet match;\n\twhile (match = regex.exec(body)) ids.push(match[1]);\n\tif (!ids.length) return body;\n\tconst suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n\tids.forEach((id) => {\n\t\tconst newID = nextID(id);\n\t\tconst escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\tbody = body.replace(new RegExp(\"([#;\\\"])(\" + escapedID + \")([\\\")]|\\\\.[a-z])\", \"g\"), \"$1\" + newID + suffix + \"$3\");\n\t});\n\tbody = body.replace(new RegExp(suffix, \"g\"), \"\");\n\treturn body;\n}\n/**\n* Clear ID cache\n*/\nfunction clearIDCache() {\n\tcounters.clear();\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch) {\n\tfetchModule = fetch;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tmaxHostLength = Math.max(maxHostLength, item.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status, data) => {\n\t\t\t\tmoduleResponse(item, status, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query);\n\t\treturn query;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons || !icons.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n* Convert IconifyIconCustomisations to FullIconCustomisations, checking value types\n*/\nfunction mergeCustomisations(defaults, item) {\n\tconst result = { ...defaults };\n\tfor (const key in item) {\n\t\tconst value = item[key];\n\t\tconst valueType = typeof value;\n\t\tif (key in defaultIconSizeCustomisations) {\n\t\t\tif (value === null || value && (valueType === \"string\" || valueType === \"number\")) result[key] = value;\n\t\t} else if (valueType === typeof result[key]) result[key] = key === \"rotate\" ? value % 4 : value;\n\t}\n\treturn result;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value) {\n\t\twhile (value < 0) value += 4;\n\t\treturn value % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst defaultExtendedIconCustomisations = {\n ...defaultIconCustomisations,\n inline: false,\n};\n\n/**\n * Default SVG attributes\n */\nconst svgDefaults = {\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n 'aria-hidden': true,\n 'role': 'img',\n};\n/**\n * Style modes\n */\nconst commonProps = {\n display: 'inline-block',\n};\nconst monotoneProps = {\n backgroundColor: 'currentColor',\n};\nconst coloredProps = {\n backgroundColor: 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n Image: 'var(--svg)',\n Repeat: 'no-repeat',\n Size: '100% 100%',\n};\nconst propsToAddTo = {\n webkitMask: monotoneProps,\n mask: monotoneProps,\n background: coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + prop] = propsToAdd[prop];\n }\n}\n/**\n * Aliases for customisations.\n * In Vue 'v-' properties are reserved, so v-flip must be renamed\n */\nconst customisationAliases = {};\n['horizontal', 'vertical'].forEach((prefix) => {\n const attr = prefix.slice(0, 1) + 'Flip';\n // vertical-flip\n customisationAliases[prefix + '-flip'] = attr;\n // v-flip\n customisationAliases[prefix.slice(0, 1) + '-flip'] = attr;\n // verticalFlip\n customisationAliases[prefix + 'Flip'] = attr;\n});\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value + (value.match(/^[-0-9.]+$/) ? 'px' : '');\n}\n/**\n * Render icon\n */\nconst render = (\n// Icon must be validated before calling this function\nicon, \n// Partial properties\nprops) => {\n // Split properties\n const customisations = mergeCustomisations(defaultExtendedIconCustomisations, props);\n const componentProps = { ...svgDefaults };\n // Check mode\n const mode = props.mode || 'svg';\n // Copy style\n const style = {};\n const propsStyle = props.style;\n const customStyle = typeof propsStyle === 'object' && !(propsStyle instanceof Array)\n ? propsStyle\n : {};\n // Get element properties\n for (let key in props) {\n const value = props[key];\n if (value === void 0) {\n continue;\n }\n switch (key) {\n // Properties to ignore\n case 'icon':\n case 'style':\n case 'onLoad':\n case 'mode':\n case 'ssr':\n case 'customise':\n break;\n // Boolean attributes\n case 'inline':\n case 'hFlip':\n case 'vFlip':\n customisations[key] =\n value === true || value === 'true' || value === 1;\n break;\n // Flip as string: 'horizontal,vertical'\n case 'flip':\n if (typeof value === 'string') {\n flipFromString(customisations, value);\n }\n break;\n // Color: override style\n case 'color':\n style.color = value;\n break;\n // Rotation as string\n case 'rotate':\n if (typeof value === 'string') {\n customisations[key] = rotateFromString(value);\n }\n else if (typeof value === 'number') {\n customisations[key] = value;\n }\n break;\n // Remove aria-hidden\n case 'ariaHidden':\n case 'aria-hidden':\n // Vue transforms 'aria-hidden' property to 'ariaHidden'\n if (value !== true && value !== 'true') {\n delete componentProps['aria-hidden'];\n }\n break;\n default: {\n const alias = customisationAliases[key];\n if (alias) {\n // Aliases for boolean customisations\n if (value === true || value === 'true' || value === 1) {\n customisations[alias] = true;\n }\n }\n else if (defaultExtendedIconCustomisations[key] === void 0) {\n // Copy missing property if it does not exist in customisations\n componentProps[key] = value;\n }\n }\n }\n }\n // Generate icon\n const item = iconToSVG(icon, customisations);\n const renderAttribs = item.attributes;\n // Inline display\n if (customisations.inline) {\n style.verticalAlign = '-0.125em';\n }\n if (mode === 'svg') {\n // Add style\n componentProps.style = {\n ...style,\n ...customStyle,\n };\n // Add icon stuff\n Object.assign(componentProps, renderAttribs);\n // Add innerHTML and style to props\n componentProps['innerHTML'] = replaceIDs(item.body);\n // Render icon\n return h('svg', componentProps);\n }\n // Render <span> with style\n const { body, width, height } = icon;\n const useMask = mode === 'mask' ||\n (mode === 'bg' ? false : body.indexOf('currentColor') !== -1);\n // Generate SVG\n const html = iconToHTML(body, {\n ...renderAttribs,\n width: width + '',\n height: height + '',\n });\n // Generate style\n componentProps.style = {\n ...style,\n '--svg': svgToURL(html),\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...commonProps,\n ...(useMask ? monotoneProps : coloredProps),\n ...customStyle,\n };\n return h('span', componentProps);\n};\n\n/**\n * Initialise stuff\n */\n// Enable short names\nallowSimpleNames(true);\n// Set API module\nsetAPIModule('', fetchAPIModule);\n/**\n * Browser stuff\n */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n const _window = window;\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection(item)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (let key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider(key, value)) {\n console.error(err);\n }\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n}\n/**\n * Empty icon data, rendered when icon is not available\n */\nconst emptyIcon = {\n ...defaultIconProps,\n body: '',\n};\n/**\n * Component\n */\nconst Icon = defineComponent((props, { emit }) => {\n const loader = ref(null);\n function abortLoading() {\n if (loader.value) {\n loader.value.abort?.();\n loader.value = null;\n }\n }\n // Render state\n const rendering = ref(!!props.ssr);\n const lastRenderedIconName = ref('');\n const iconData = shallowRef(null);\n // Update icon data\n function getIcon() {\n const icon = props.icon;\n // Icon is an object\n if (typeof icon === 'object' &&\n icon !== null &&\n typeof icon.body === 'string') {\n lastRenderedIconName.value = '';\n return {\n data: icon,\n };\n }\n // Check for valid icon name\n let iconName;\n if (typeof icon !== 'string' ||\n (iconName = stringToIcon(icon, false, true)) === null) {\n return null;\n }\n // Load icon\n let data = getIconData(iconName);\n if (!data) {\n // Icon data is not available\n const oldState = loader.value;\n if (!oldState || oldState.name !== icon) {\n // Icon name does not match old loader state\n if (data === null) {\n // Failed to load\n loader.value = {\n name: icon,\n };\n }\n else {\n loader.value = {\n name: icon,\n abort: loadIcons([iconName], updateIconData),\n };\n }\n }\n return null;\n }\n // Icon data is available\n abortLoading();\n if (lastRenderedIconName.value !== icon) {\n lastRenderedIconName.value = icon;\n // Emit on next tick because render will be called on next tick\n nextTick(() => {\n emit('load', icon);\n });\n }\n // Customise icon\n const customise = props.customise;\n if (customise) {\n // Clone data and customise it\n data = Object.assign({}, data);\n const customised = customise(data.body, iconName.name, iconName.prefix, iconName.provider);\n if (typeof customised === 'string') {\n data.body = customised;\n }\n }\n // Add classes\n const classes = ['iconify'];\n if (iconName.prefix !== '') {\n classes.push('iconify--' + iconName.prefix);\n }\n if (iconName.provider !== '') {\n classes.push('iconify--' + iconName.provider);\n }\n return { data, classes };\n }\n function updateIconData() {\n const icon = getIcon();\n if (!icon) {\n iconData.value = null;\n }\n else if (icon.data !== iconData.value?.data) {\n iconData.value = icon;\n }\n }\n // Set icon data\n if (rendering.value) {\n updateIconData();\n }\n else {\n onMounted(() => {\n rendering.value = true;\n updateIconData();\n });\n }\n watch(() => props.icon, updateIconData);\n // Abort loading on unmount\n onUnmounted(abortLoading);\n // Render function\n return () => {\n // Get icon data\n const icon = iconData.value;\n if (!icon) {\n // Icon is not available\n return render(emptyIcon, props);\n }\n // Add classes\n let newProps = props;\n if (icon.classes) {\n newProps = {\n ...props,\n class: icon.classes.join(' '),\n };\n }\n // Render icon\n return render({\n ...defaultIconProps,\n ...icon.data,\n }, newProps);\n };\n}, {\n props: [\n // Icon and render mode\n 'icon',\n 'mode',\n 'ssr',\n // Layout and style\n 'width',\n 'height',\n 'style',\n 'color',\n 'inline',\n // Transformations\n 'rotate',\n 'hFlip',\n 'horizontalFlip',\n 'vFlip',\n 'verticalFlip',\n 'flip',\n // Misc\n 'id',\n 'ariaHidden',\n 'customise',\n 'title',\n ],\n emits: ['load'],\n});\n/**\n * Internal API\n */\nconst _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n};\n\nexport { Icon, _api, addAPIProvider, addCollection, addIcon, iconToSVG as buildIcon, calculateSize, clearIDCache, getIcon, iconLoaded, listIcons, loadIcon, loadIcons, replaceIDs, setCustomIconLoader, setCustomIconsLoader };\n"],"x_google_ignoreList":[0],"mappings":"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"}