@volverjs/ui-vue 0.0.10-beta.2 → 0.0.10-beta.21

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 (258) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +98 -3
  3. package/auto-imports.d.ts +6 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +23 -16
  6. package/dist/Volver.d.ts +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.es.js +70 -14
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +13 -6
  10. package/dist/components/VvAccordion/index.d.ts +4 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +117 -38
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +15 -8
  14. package/dist/components/VvAccordionGroup/index.d.ts +4 -1
  15. package/dist/components/VvAction/VvAction.es.js +58 -13
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +59 -12
  18. package/dist/components/VvAction/index.d.ts +25 -4
  19. package/dist/components/VvAlert/VvAlert.es.js +195 -152
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +18 -8
  22. package/dist/components/VvAlert/index.d.ts +9 -5
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +240 -174
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +13 -6
  26. package/dist/components/VvAlertGroup/index.d.ts +6 -2
  27. package/dist/components/VvAvatar/VvAvatar.es.js +54 -9
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +111 -36
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
  34. package/dist/components/VvAvatarGroup/index.d.ts +4 -1
  35. package/dist/components/VvBadge/VvBadge.es.js +73 -17
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +259 -49
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +187 -141
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +101 -27
  46. package/dist/components/VvButton/index.d.ts +41 -14
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +69 -16
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +23 -10
  50. package/dist/components/VvButtonGroup/index.d.ts +8 -2
  51. package/dist/components/VvCard/VvCard.es.js +84 -25
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +91 -22
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +104 -32
  58. package/dist/components/VvCheckbox/index.d.ts +45 -12
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +180 -67
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +100 -29
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +758 -531
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +181 -108
  66. package/dist/components/VvCombobox/index.d.ts +53 -22
  67. package/dist/components/VvDialog/VvDialog.es.js +136 -141
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  70. package/dist/components/VvDropdown/VvDropdown.es.js +121 -55
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +72 -11
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +1 -1
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +26 -7
  77. package/dist/components/VvDropdown/index.d.ts +16 -11
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +82 -22
  79. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  80. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +13 -7
  81. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +56 -8
  82. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  83. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +76 -17
  84. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  85. package/dist/components/VvIcon/VvIcon.es.js +23 -96
  86. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  88. package/dist/components/VvIcon/index.d.ts +33 -48
  89. package/dist/components/VvInputFile/VvInputFile.es.js +1734 -0
  90. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  91. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +313 -0
  92. package/dist/components/VvInputFile/index.d.ts +179 -0
  93. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  94. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  95. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  96. package/dist/components/VvInputText/VvInputText.es.js +331 -293
  97. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  98. package/dist/components/VvInputText/VvInputText.vue.d.ts +162 -55
  99. package/dist/components/VvInputText/index.d.ts +71 -29
  100. package/dist/components/VvNav/VvNav.es.js +151 -73
  101. package/dist/components/VvNav/VvNav.umd.js +1 -1
  102. package/dist/components/VvNav/VvNav.vue.d.ts +41 -14
  103. package/dist/components/VvNav/VvNavItem.vue.d.ts +9 -0
  104. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +2 -0
  105. package/dist/components/VvNav/index.d.ts +5 -13
  106. package/dist/components/VvNavItem/VvNavItem.es.js +436 -0
  107. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -0
  108. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +24 -0
  109. package/dist/components/VvNavSeparator/VvNavSeparator.umd.js +1 -0
  110. package/dist/components/VvProgress/VvProgress.es.js +65 -14
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +89 -21
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +102 -30
  117. package/dist/components/VvRadio/index.d.ts +44 -11
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +180 -66
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +100 -29
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +248 -226
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +112 -39
  125. package/dist/components/VvSelect/index.d.ts +48 -14
  126. package/dist/components/VvTab/VvTab.es.js +256 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +50 -13
  129. package/dist/components/VvTab/index.d.ts +13 -4
  130. package/dist/components/VvTextarea/VvTextarea.es.js +229 -212
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +155 -48
  133. package/dist/components/VvTextarea/index.d.ts +68 -19
  134. package/dist/components/VvTooltip/VvTooltip.es.js +72 -17
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +10 -3
  137. package/dist/components/VvTooltip/index.d.ts +4 -1
  138. package/dist/components/common/HintSlot.d.ts +1 -1
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +2902 -1329
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlert.d.ts +37 -4
  143. package/dist/composables/dropdown/useProvideDropdown.d.ts +1 -1
  144. package/dist/composables/index.d.ts +1 -0
  145. package/dist/composables/index.es.js +88 -1
  146. package/dist/composables/index.umd.js +1 -1
  147. package/dist/composables/useBlurhash.d.ts +7 -0
  148. package/dist/composables/useComponentIcon.d.ts +9 -8
  149. package/dist/composables/useVolver.d.ts +1 -1
  150. package/dist/directives/index.d.ts +3 -5
  151. package/dist/directives/index.es.js +92 -31
  152. package/dist/directives/index.umd.js +1 -1
  153. package/dist/directives/v-tooltip.es.js +90 -26
  154. package/dist/directives/v-tooltip.umd.js +1 -1
  155. package/dist/icons.es.js +210 -210
  156. package/dist/icons.umd.js +1 -1
  157. package/dist/index.d.ts +3 -1
  158. package/dist/index.es.js +81 -16
  159. package/dist/index.umd.js +1 -1
  160. package/dist/props/index.d.ts +287 -73
  161. package/dist/resolvers/unplugin.d.ts +6 -1
  162. package/dist/resolvers/unplugin.es.js +78 -10
  163. package/dist/resolvers/unplugin.umd.js +1 -1
  164. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +72 -84
  165. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +623 -461
  166. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  167. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  168. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  169. package/dist/stories/Icon/Icon.settings.d.ts +1 -0
  170. package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
  171. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  172. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  173. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  174. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  175. package/dist/stories/Tab/Tab.settings.d.ts +4 -37
  176. package/dist/types/alert.d.ts +13 -0
  177. package/dist/types/blurhash.d.ts +12 -0
  178. package/dist/types/floating-ui.d.ts +6 -0
  179. package/dist/types/generic.d.ts +4 -0
  180. package/dist/types/group.d.ts +37 -0
  181. package/dist/types/index.d.ts +7 -0
  182. package/dist/types/input-file.d.ts +16 -0
  183. package/dist/types/nav.d.ts +18 -0
  184. package/dist/utils/ObjectUtilities.d.ts +0 -1
  185. package/dist/workers/blurhash.d.ts +1 -0
  186. package/package.json +97 -80
  187. package/src/Volver.ts +31 -20
  188. package/src/assets/icons/detailed.json +1 -1
  189. package/src/assets/icons/normal.json +1 -1
  190. package/src/assets/icons/simple.json +1 -1
  191. package/src/components/VvAccordion/VvAccordion.vue +2 -2
  192. package/src/components/VvAction/VvAction.vue +5 -2
  193. package/src/components/VvAlert/index.ts +1 -3
  194. package/src/components/VvAlertGroup/index.ts +2 -1
  195. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  196. package/src/components/VvBreadcrumb/index.ts +2 -8
  197. package/src/components/VvButton/VvButton.vue +6 -6
  198. package/src/components/VvButton/index.ts +2 -4
  199. package/src/components/VvCombobox/VvCombobox.vue +24 -16
  200. package/src/components/VvCombobox/index.ts +4 -0
  201. package/src/components/VvIcon/VvIcon.vue +2 -2
  202. package/src/components/VvIcon/index.ts +35 -48
  203. package/src/components/VvInputFile/VvInputFile.vue +365 -0
  204. package/src/components/VvInputFile/index.ts +116 -0
  205. package/src/components/VvInputText/VvInputClearAction.ts +10 -6
  206. package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
  207. package/src/components/VvInputText/VvInputText.vue +17 -18
  208. package/src/components/VvInputText/index.ts +7 -15
  209. package/src/components/VvNav/VvNav.vue +30 -50
  210. package/src/components/VvNav/VvNavItem.vue +18 -0
  211. package/src/components/VvNav/VvNavSeparator.vue +11 -0
  212. package/src/components/VvNav/index.ts +2 -15
  213. package/src/components/VvSelect/VvSelect.vue +5 -8
  214. package/src/components/VvTab/VvTab.vue +63 -35
  215. package/src/components/VvTab/index.ts +10 -4
  216. package/src/components/VvTextarea/VvTextarea.vue +6 -9
  217. package/src/components/index.ts +10 -0
  218. package/src/composables/index.ts +1 -0
  219. package/src/composables/useBlurhash.ts +76 -0
  220. package/src/composables/useComponentIcon.ts +15 -14
  221. package/src/composables/useUniqueId.ts +2 -2
  222. package/src/directives/index.ts +3 -6
  223. package/src/directives/v-tooltip.ts +19 -10
  224. package/src/index.ts +3 -1
  225. package/src/props/index.ts +115 -27
  226. package/src/resolvers/unplugin.ts +24 -14
  227. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  228. package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
  229. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  230. package/src/stories/Icon/Icon.settings.ts +3 -3
  231. package/src/stories/InputFile/InputFile.settings.ts +36 -0
  232. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  233. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  234. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  235. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  236. package/src/stories/Nav/Nav.settings.ts +3 -4
  237. package/src/stories/Nav/Nav.test.ts +4 -15
  238. package/src/stories/Tab/Tab.settings.ts +9 -9
  239. package/src/stories/Tab/Tab.stories.ts +2 -2
  240. package/src/stories/Tab/Tab.test.ts +6 -14
  241. package/src/stories/argTypes.ts +1 -1
  242. package/src/types/blurhash.ts +21 -0
  243. package/src/types/generic.ts +6 -0
  244. package/src/types/index.ts +7 -0
  245. package/src/types/input-file.ts +18 -0
  246. package/src/types/nav.ts +20 -0
  247. package/src/utils/ObjectUtilities.ts +0 -11
  248. package/src/workers/blurhash.ts +9 -0
  249. package/dist/components/VvNav/VvNavItemTitle.vue.d.ts +0 -6
  250. package/dist/components/VvNav/VvNavSeparator.d.ts +0 -2
  251. package/dist/components/VvNavItemTitle/VvNavItemTitle.es.js +0 -19
  252. package/dist/components/VvNavItemTitle/VvNavItemTitle.umd.js +0 -1
  253. package/src/components/VvNav/VvNavItemTitle.vue +0 -11
  254. package/src/components/VvNav/VvNavSeparator.ts +0 -8
  255. package/src/types/generic.d.ts +0 -6
  256. /package/src/types/{alert.d.ts → alert.ts} +0 -0
  257. /package/src/types/{floating-ui.d.ts → floating-ui.ts} +0 -0
  258. /package/src/types/{group.d.ts → group.ts} +0 -0
@@ -1,4 +1,6 @@
1
1
  import { reactive, computed } from "vue";
2
+ import { wrap } from "comlink";
3
+ import pica from "pica";
2
4
  const DEFAULT_ALERT_AUTO_CLOSE = 1e4;
3
5
  const DEFAULT_ALERT_MODIFIERS = "info";
4
6
  const DEFAULT_ALERT_DISMISSABLE = true;
@@ -76,6 +78,91 @@ const useAlert = () => {
76
78
  getAlerts
77
79
  };
78
80
  };
81
+ const encodedJs = "IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOwovKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAogICAqL2NvbnN0IHQ9U3ltYm9sKCJDb21saW5rLnByb3h5IiksZT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxuPVN5bWJvbCgiQ29tbGluay5maW5hbGl6ZXIiKSxhPVN5bWJvbCgiQ29tbGluay50aHJvd24iKSxvPXQ9PiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LHM9bmV3IE1hcChbWyJwcm94eSIse2NhbkhhbmRsZTplPT5vKGUpJiZlW3RdLHNlcmlhbGl6ZSh0KXtjb25zdHtwb3J0MTplLHBvcnQyOnJ9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaSh0LGUpLFtyLFtyXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksbSh0LFtdLGUpO3ZhciBlfX1dLFsidGhyb3ciLHtjYW5IYW5kbGU6dD0+byh0KSYmYSBpbiB0LHNlcmlhbGl6ZSh7dmFsdWU6dH0pe2xldCBlO3JldHVybiBlPXQgaW5zdGFuY2VvZiBFcnJvcj97aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFja319Ontpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7aWYodC5pc0Vycm9yKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk7dGhyb3cgdC52YWx1ZX19XV0pO2Z1bmN0aW9uIGkoZSxyPWdsb2JhbFRoaXMsbz1bIioiXSl7ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24gcyhoKXtpZighaHx8IWguZGF0YSlyZXR1cm47aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKGNvbnN0IHIgb2YgdCl7aWYoZT09PXJ8fCIqIj09PXIpcmV0dXJuITA7aWYociBpbnN0YW5jZW9mIFJlZ0V4cCYmci50ZXN0KGUpKXJldHVybiEwfXJldHVybiExfShvLGgub3JpZ2luKSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oYEludmFsaWQgb3JpZ2luICcke2gub3JpZ2lufScgZm9yIGNvbWxpbmsgcHJveHlgKTtjb25zdHtpZDpjLHR5cGU6dSxwYXRoOmZ9PU9iamVjdC5hc3NpZ24oe3BhdGg6W119LGguZGF0YSksbT0oaC5kYXRhLmFyZ3VtZW50TGlzdHx8W10pLm1hcChkKTtsZXQgcDt0cnl7Y29uc3Qgcj1mLnNsaWNlKDAsLTEpLnJlZHVjZSgoKHQsZSk9PnRbZV0pLGUpLG49Zi5yZWR1Y2UoKCh0LGUpPT50W2VdKSxlKTtzd2l0Y2godSl7Y2FzZSJHRVQiOnA9bjticmVhaztjYXNlIlNFVCI6cltmLnNsaWNlKC0xKVswXV09ZChoLmRhdGEudmFsdWUpLHA9ITA7YnJlYWs7Y2FzZSJBUFBMWSI6cD1uLmFwcGx5KHIsbSk7YnJlYWs7Y2FzZSJDT05TVFJVQ1QiOnA9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W3RdOiEwfSl9KG5ldyBuKC4uLm0pKTticmVhaztjYXNlIkVORFBPSU5UIjp7Y29uc3R7cG9ydDE6dCxwb3J0MjpyfT1uZXcgTWVzc2FnZUNoYW5uZWw7aShlLHIpLHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZy5zZXQodCxlKSx0fSh0LFt0XSl9YnJlYWs7Y2FzZSJSRUxFQVNFIjpwPXZvaWQgMDticmVhaztkZWZhdWx0OnJldHVybn19Y2F0Y2goeSl7cD17dmFsdWU6eSxbYV06MH19UHJvbWlzZS5yZXNvbHZlKHApLmNhdGNoKCh0PT4oe3ZhbHVlOnQsW2FdOjB9KSkpLnRoZW4oKHQ9Pntjb25zdFthLG9dPU0odCk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2lkOmN9KSxvKSwiUkVMRUFTRSI9PT11JiYoci5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKSxsKHIpLG4gaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJmVbbl0oKSl9KSkuY2F0Y2goKHQ9Pntjb25zdFtlLG5dPU0oe3ZhbHVlOm5ldyBUeXBlRXJyb3IoIlVuc2VyaWFsaXphYmxlIHJldHVybiB2YWx1ZSIpLFthXTowfSk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2lkOmN9KSxuKX0pKX0pKSxyLnN0YXJ0JiZyLnN0YXJ0KCl9ZnVuY3Rpb24gbCh0KXsoZnVuY3Rpb24odCl7cmV0dXJuIk1lc3NhZ2VQb3J0Ij09PXQuY29uc3RydWN0b3IubmFtZX0pKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gaCh0KXtpZih0KXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4geSh0LHt0eXBlOiJSRUxFQVNFIn0pLnRoZW4oKCgpPT57bCh0KX0pKX1jb25zdCB1PW5ldyBXZWFrTWFwLGY9IkZpbmFsaXphdGlvblJlZ2lzdHJ5ImluIGdsb2JhbFRoaXMmJm5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgodD0+e2NvbnN0IGU9KHUuZ2V0KHQpfHwwKS0xO3Uuc2V0KHQsZSksMD09PWUmJmModCl9KSk7ZnVuY3Rpb24gbSh0LG49W10sYT1mdW5jdGlvbigpe30pe2xldCBvPSExO2NvbnN0IHM9bmV3IFByb3h5KGEse2dldChlLGEpe2lmKGgobyksYT09PXIpcmV0dXJuKCk9PnshZnVuY3Rpb24odCl7ZiYmZi51bnJlZ2lzdGVyKHQpfShzKSxjKHQpLG89ITB9O2lmKCJ0aGVuIj09PWEpe2lmKDA9PT1uLmxlbmd0aClyZXR1cm57dGhlbjooKT0+c307Y29uc3QgZT15KHQse3R5cGU6IkdFVCIscGF0aDpuLm1hcCgodD0+dC50b1N0cmluZygpKSl9KS50aGVuKGQpO3JldHVybiBlLnRoZW4uYmluZChlKX1yZXR1cm4gbSh0LFsuLi5uLGFdKX0sc2V0KGUscixhKXtoKG8pO2NvbnN0W3MsaV09TShhKTtyZXR1cm4geSh0LHt0eXBlOiJTRVQiLHBhdGg6Wy4uLm4scl0ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSx2YWx1ZTpzfSxpKS50aGVuKGQpfSxhcHBseShyLGEscyl7aChvKTtjb25zdCBpPW5bbi5sZW5ndGgtMV07aWYoaT09PWUpcmV0dXJuIHkodCx7dHlwZToiRU5EUE9JTlQifSkudGhlbihkKTtpZigiYmluZCI9PT1pKXJldHVybiBtKHQsbi5zbGljZSgwLC0xKSk7Y29uc3RbbCxjXT1wKHMpO3JldHVybiB5KHQse3R5cGU6IkFQUExZIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6bH0sYykudGhlbihkKX0sY29uc3RydWN0KGUscil7aChvKTtjb25zdFthLHNdPXAocik7cmV0dXJuIHkodCx7dHlwZToiQ09OU1RSVUNUIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6YX0scykudGhlbihkKX19KTtyZXR1cm4gZnVuY3Rpb24odCxlKXtjb25zdCByPSh1LmdldChlKXx8MCkrMTt1LnNldChlLHIpLGYmJmYucmVnaXN0ZXIodCxlLHQpfShzLHQpLHN9ZnVuY3Rpb24gcCh0KXtjb25zdCBlPXQubWFwKE0pO3JldHVybltlLm1hcCgodD0+dFswXSkpLChyPWUubWFwKCh0PT50WzFdKSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxyKSldO3ZhciByfWNvbnN0IGc9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0KXtmb3IoY29uc3RbZSxyXW9mIHMpaWYoci5jYW5IYW5kbGUodCkpe2NvbnN0W24sYV09ci5zZXJpYWxpemUodCk7cmV0dXJuW3t0eXBlOiJIQU5ETEVSIixuYW1lOmUsdmFsdWU6bn0sYV19cmV0dXJuW3t0eXBlOiJSQVciLHZhbHVlOnR9LGcuZ2V0KHQpfHxbXV19ZnVuY3Rpb24gZCh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkhBTkRMRVIiOnJldHVybiBzLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UiUkFXIjpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24geSh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57Y29uc3QgYT1uZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkpLmpvaW4oIi0iKTt0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbiBlKHIpe3IuZGF0YSYmci5kYXRhLmlkJiZyLmRhdGEuaWQ9PT1hJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixlKSxuKHIuZGF0YSkpfSkpLHQuc3RhcnQmJnQuc3RhcnQoKSx0LnBvc3RNZXNzYWdlKE9iamVjdC5hc3NpZ24oe2lkOmF9LGUpLHIpfSkpfXZhciBiPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCIjIiwiJCIsIiUiLCIqIiwiKyIsIiwiLCItIiwiLiIsIjoiLCI7IiwiPSIsIj8iLCJAIiwiWyIsIl0iLCJeIiwiXyIsInsiLCJ8IiwifSIsIn4iXSx3PXQ9PntsZXQgZT0wO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtsZXQgbj10W3JdO2U9ODMqZStiLmluZGV4T2Yobil9cmV0dXJuIGV9LEU9KHQsZSk9Pnt2YXIgcj0iIjtmb3IobGV0IG49MTtuPD1lO24rKyl7bGV0IGE9TWF0aC5mbG9vcih0KS9NYXRoLnBvdyg4MyxlLW4pJTgzO3IrPWJbTWF0aC5mbG9vcihhKV19cmV0dXJuIHJ9LHY9dD0+e2xldCBlPXQvMjU1O3JldHVybiBlPD0uMDQwNDU/ZS8xMi45MjpNYXRoLnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpfSxTPXQ9PntsZXQgZT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpO3JldHVybiBlPD0uMDAzMTMwOD9NYXRoLnRydW5jKDEyLjkyKmUqMjU1Ky41KTpNYXRoLnRydW5jKDI1NSooMS4wNTUqTWF0aC5wb3coZSwuNDE2NjY2NjY2NjY2NjY2NyktLjA1NSkrLjUpfSx4PSh0LGUpPT4odD0+dDwwPy0xOjEpKHQpKk1hdGgucG93KE1hdGguYWJzKHQpLGUpLGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IlZhbGlkYXRpb25FcnJvciIsdGhpcy5tZXNzYWdlPXR9fSxQPXQ9PntpZighdHx8dC5sZW5ndGg8Nil0aHJvdyBuZXcgaygiVGhlIGJsdXJoYXNoIHN0cmluZyBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycyIpO2xldCBlPXcodFswXSkscj1NYXRoLmZsb29yKGUvOSkrMSxuPWUlOSsxO2lmKHQubGVuZ3RoIT09NCsyKm4qcil0aHJvdyBuZXcgayhgYmx1cmhhc2ggbGVuZ3RoIG1pc21hdGNoOiBsZW5ndGggaXMgJHt0Lmxlbmd0aH0gYnV0IGl0IHNob3VsZCBiZSAkezQrMipuKnJ9YCl9LEE9dD0+e2xldCBlPXQ+PjgmMjU1LHI9MjU1JnQ7cmV0dXJuW3YodD4+MTYpLHYoZSksdihyKV19LFQ9KHQsZSk9PntsZXQgcj1NYXRoLmZsb29yKHQvMzYxKSxuPU1hdGguZmxvb3IodC8xOSklMTksYT10JTE5O3JldHVyblt4KChyLTkpLzksMikqZSx4KChuLTkpLzksMikqZSx4KChhLTkpLzksMikqZV19LEw9KHQsZSxyLG4pPT57bGV0IGE9MCxvPTAscz0wLGk9NCplO2ZvcihsZXQgaD0wO2g8ZTtoKyspe2xldCBlPTQqaDtmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgcj1lK2wqaSxjPW4oaCxsKTthKz1jKnYodFtyXSksbys9Yyp2KHRbcisxXSkscys9Yyp2KHRbcisyXSl9fWxldCBsPTEvKGUqcik7cmV0dXJuW2EqbCxvKmwscypsXX0sUj0odCxlLHIsbixhKT0+e2lmKG48MXx8bj45fHxhPDF8fGE+OSl0aHJvdyBuZXcgaygiQmx1ckhhc2ggbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgOSBjb21wb25lbnRzIik7aWYoZSpyKjQhPT10Lmxlbmd0aCl0aHJvdyBuZXcgaygiV2lkdGggYW5kIGhlaWdodCBtdXN0IG1hdGNoIHRoZSBwaXhlbHMgYXJyYXkiKTtsZXQgbz1bXTtmb3IobGV0IGM9MDtjPGE7YysrKWZvcihsZXQgYT0wO2E8bjthKyspe2xldCBuPTA9PWEmJjA9PWM/MToyLHM9TCh0LGUsciwoKHQsbyk9Pm4qTWF0aC5jb3MoTWF0aC5QSSphKnQvZSkqTWF0aC5jb3MoTWF0aC5QSSpjKm8vcikpKTtvLnB1c2gocyl9bGV0IHMsaT1vWzBdLGw9by5zbGljZSgxKSxoPSIiO2lmKGgrPUUobi0xKzkqKGEtMSksMSksbC5sZW5ndGg+MCl7bGV0IHQ9TWF0aC5tYXgoLi4ubC5tYXAoKHQ9Pk1hdGgubWF4KC4uLnQpKSkpLGU9TWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDgyLE1hdGguZmxvb3IoMTY2KnQtLjUpKSkpO3M9KGUrMSkvMTY2LGgrPUUoZSwxKX1lbHNlIHM9MSxoKz1FKDAsMSk7cmV0dXJuIGgrPUUoKHQ9PihTKHRbMF0pPDwxNikrKFModFsxXSk8PDgpK1ModFsyXSkpKGkpLDQpLGwuZm9yRWFjaCgodD0+e2grPUUoKCh0LGUpPT4xOSpNYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oMTgsTWF0aC5mbG9vcig5KngodFswXS9lLC41KSs5LjUpKSkpKjE5KzE5Kk1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbigxOCxNYXRoLmZsb29yKDkqeCh0WzFdL2UsLjUpKzkuNSkpKSkrTWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDE4LE1hdGguZmxvb3IoOSp4KHRbMl0vZSwuNSkrOS41KSkpKSkodCxzKSwyKX0pKSxofTtpKHtWYWxpZGF0aW9uRXJyb3I6ayxlbmNvZGU6UixkZWNvZGU6KHQsZSxyLG4pPT57UCh0KSxufD0xO2xldCBhPXcodFswXSksbz1NYXRoLmZsb29yKGEvOSkrMSxzPWElOSsxLGk9KHcodFsxXSkrMSkvMTY2LGw9bmV3IEFycmF5KHMqbyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspaWYoMD09PXUpe2xldCBlPXcodC5zdWJzdHJpbmcoMiw2KSk7bFt1XT1BKGUpfWVsc2V7bGV0IGU9dyh0LnN1YnN0cmluZyg0KzIqdSw2KzIqdSkpO2xbdV09VChlLGkqbil9bGV0IGg9NCplLGM9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqcik7Zm9yKGxldCB1PTA7dTxyO3UrKylmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgbj0wLGE9MCxpPTA7Zm9yKGxldCBoPTA7aDxvO2grKylmb3IobGV0IG89MDtvPHM7bysrKXtsZXQgYz1NYXRoLmNvcyhNYXRoLlBJKnQqby9lKSpNYXRoLmNvcyhNYXRoLlBJKnUqaC9yKSxmPWxbbytoKnNdO24rPWZbMF0qYyxhKz1mWzFdKmMsaSs9ZlsyXSpjfWxldCBmPVMobiksbT1TKGEpLHA9UyhpKTtjWzQqdCswK3UqaF09ZixjWzQqdCsxK3UqaF09bSxjWzQqdCsyK3UqaF09cCxjWzQqdCszK3UqaF09MjU1fXJldHVybiBjfSxpc0JsdXJoYXNoVmFsaWQ6dD0+e3RyeXtQKHQpfWNhdGNoKGUpe3JldHVybntyZXN1bHQ6ITEsZXJyb3JSZWFzb246ZS5tZXNzYWdlfX1yZXR1cm57cmVzdWx0OiEwfX19KX0oKTsK";
82
+ const blob = typeof window !== "undefined" && window.Blob && new Blob([atob(encodedJs)], { type: "text/javascript;charset=utf-8" });
83
+ function WorkerWrapper(options) {
84
+ let objURL;
85
+ try {
86
+ objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
87
+ if (!objURL)
88
+ throw "";
89
+ const worker = new Worker(objURL, {
90
+ name: options == null ? void 0 : options.name
91
+ });
92
+ worker.addEventListener("error", () => {
93
+ (window.URL || window.webkitURL).revokeObjectURL(objURL);
94
+ });
95
+ return worker;
96
+ } catch (e) {
97
+ return new Worker(
98
+ "data:application/javascript;base64," + encodedJs,
99
+ {
100
+ name: options == null ? void 0 : options.name
101
+ }
102
+ );
103
+ } finally {
104
+ objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
105
+ }
106
+ }
107
+ const remoteFunction = wrap(new WorkerWrapper());
108
+ function loadImage(src) {
109
+ return new Promise((resolve, reject) => {
110
+ const img = new Image();
111
+ img.onload = () => resolve(img);
112
+ img.onerror = (...args) => reject(args);
113
+ img.src = src;
114
+ });
115
+ }
116
+ const getWidthHeightFromMaxSize = (width, height, maxSize) => {
117
+ if (width > height) {
118
+ return {
119
+ width: maxSize,
120
+ height: Math.round(maxSize * (height / width))
121
+ };
122
+ }
123
+ return {
124
+ width: Math.round(maxSize * (width / height)),
125
+ height: maxSize
126
+ };
127
+ };
128
+ const resizeImage = async (image, width, height) => {
129
+ var _a;
130
+ const resizer = new pica();
131
+ const canvas = document.createElement("canvas");
132
+ canvas.width = width;
133
+ canvas.height = height;
134
+ const result = await resizer.resize(image, canvas);
135
+ return (_a = result.getContext("2d")) == null ? void 0 : _a.getImageData(0, 0, width, height).data;
136
+ };
137
+ const useBlurhash = () => {
138
+ async function encode(file) {
139
+ const imageUrl = URL.createObjectURL(file);
140
+ const image = await loadImage(imageUrl);
141
+ if ("width" in image && "height" in image) {
142
+ const { width: newWidth, height: newHeight } = getWidthHeightFromMaxSize(
143
+ image.width,
144
+ image.height,
145
+ 32
146
+ );
147
+ const imageData = await resizeImage(
148
+ image,
149
+ newWidth,
150
+ newHeight
151
+ );
152
+ if (imageData) {
153
+ return remoteFunction.encode(
154
+ imageData,
155
+ newWidth,
156
+ newHeight,
157
+ 4,
158
+ 4
159
+ );
160
+ }
161
+ }
162
+ }
163
+ return { encode, decode: remoteFunction.decode, loadImage };
164
+ };
79
165
  export {
80
- useAlert
166
+ useAlert,
167
+ useBlurhash
81
168
  };
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).composables={},e.vue)}(this,(function(e,t){"use strict";const o="default",n="information",i=new Map([["success","check-circle"],["info",n],["warning","warning"],["danger","error"]]),s=t.reactive(new Map([[o,new Map]]));e.useAlert=()=>{const e=(e=o)=>t.computed((()=>{const t=s.get(e);return t&&t instanceof Map?Array.from(null==t?void 0:t.values()).sort(((e,t)=>e.timestamp-t.timestamp)):[]}));return{groups:s,alerts:e(),addAlert:({id:e=crypto.randomUUID(),group:t=o,title:r,icon:a=n,content:l,footer:u,modifiers:c="info",dismissable:f=true,autoClose:d=1e4}={})=>{s.has(t)||s.set(t,new Map);const p=s.get(t),m="string"==typeof c?c.split(" "):c;if(!a){const e=m.find((e=>i.has(e)));e&&(a=i.get(e))}null==p||p.set(e.toString(),{id:e,group:t,title:r,icon:a,content:l,footer:u,modifiers:c,dismissable:f,autoClose:d,timestamp:Date.now()})},removeAlert:(e,t=o)=>{const n=s.get(t);null==n||n.delete(e.toString())},getAlerts:e}},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ !function(i,d){"object"==typeof exports&&"undefined"!=typeof module?d(exports,require("vue"),require("comlink"),require("pica")):"function"==typeof define&&define.amd?define(["exports","vue","comlink","pica"],d):d((i="undefined"!=typeof globalThis?globalThis:i||self).composables={},i.vue,i.comlink,i.pica)}(this,(function(i,d,l,b){"use strict";const c="default",o="information",s=new Map([["success","check-circle"],["info",o],["warning","warning"],["danger","error"]]),K=d.reactive(new Map([[c,new Map]])),m="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOwovKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAogICAqL2NvbnN0IHQ9U3ltYm9sKCJDb21saW5rLnByb3h5IiksZT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxuPVN5bWJvbCgiQ29tbGluay5maW5hbGl6ZXIiKSxhPVN5bWJvbCgiQ29tbGluay50aHJvd24iKSxvPXQ9PiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LHM9bmV3IE1hcChbWyJwcm94eSIse2NhbkhhbmRsZTplPT5vKGUpJiZlW3RdLHNlcmlhbGl6ZSh0KXtjb25zdHtwb3J0MTplLHBvcnQyOnJ9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaSh0LGUpLFtyLFtyXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksbSh0LFtdLGUpO3ZhciBlfX1dLFsidGhyb3ciLHtjYW5IYW5kbGU6dD0+byh0KSYmYSBpbiB0LHNlcmlhbGl6ZSh7dmFsdWU6dH0pe2xldCBlO3JldHVybiBlPXQgaW5zdGFuY2VvZiBFcnJvcj97aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFja319Ontpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7aWYodC5pc0Vycm9yKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk7dGhyb3cgdC52YWx1ZX19XV0pO2Z1bmN0aW9uIGkoZSxyPWdsb2JhbFRoaXMsbz1bIioiXSl7ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24gcyhoKXtpZighaHx8IWguZGF0YSlyZXR1cm47aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKGNvbnN0IHIgb2YgdCl7aWYoZT09PXJ8fCIqIj09PXIpcmV0dXJuITA7aWYociBpbnN0YW5jZW9mIFJlZ0V4cCYmci50ZXN0KGUpKXJldHVybiEwfXJldHVybiExfShvLGgub3JpZ2luKSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oYEludmFsaWQgb3JpZ2luICcke2gub3JpZ2lufScgZm9yIGNvbWxpbmsgcHJveHlgKTtjb25zdHtpZDpjLHR5cGU6dSxwYXRoOmZ9PU9iamVjdC5hc3NpZ24oe3BhdGg6W119LGguZGF0YSksbT0oaC5kYXRhLmFyZ3VtZW50TGlzdHx8W10pLm1hcChkKTtsZXQgcDt0cnl7Y29uc3Qgcj1mLnNsaWNlKDAsLTEpLnJlZHVjZSgoKHQsZSk9PnRbZV0pLGUpLG49Zi5yZWR1Y2UoKCh0LGUpPT50W2VdKSxlKTtzd2l0Y2godSl7Y2FzZSJHRVQiOnA9bjticmVhaztjYXNlIlNFVCI6cltmLnNsaWNlKC0xKVswXV09ZChoLmRhdGEudmFsdWUpLHA9ITA7YnJlYWs7Y2FzZSJBUFBMWSI6cD1uLmFwcGx5KHIsbSk7YnJlYWs7Y2FzZSJDT05TVFJVQ1QiOnA9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W3RdOiEwfSl9KG5ldyBuKC4uLm0pKTticmVhaztjYXNlIkVORFBPSU5UIjp7Y29uc3R7cG9ydDE6dCxwb3J0MjpyfT1uZXcgTWVzc2FnZUNoYW5uZWw7aShlLHIpLHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZy5zZXQodCxlKSx0fSh0LFt0XSl9YnJlYWs7Y2FzZSJSRUxFQVNFIjpwPXZvaWQgMDticmVhaztkZWZhdWx0OnJldHVybn19Y2F0Y2goeSl7cD17dmFsdWU6eSxbYV06MH19UHJvbWlzZS5yZXNvbHZlKHApLmNhdGNoKCh0PT4oe3ZhbHVlOnQsW2FdOjB9KSkpLnRoZW4oKHQ9Pntjb25zdFthLG9dPU0odCk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2lkOmN9KSxvKSwiUkVMRUFTRSI9PT11JiYoci5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKSxsKHIpLG4gaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJmVbbl0oKSl9KSkuY2F0Y2goKHQ9Pntjb25zdFtlLG5dPU0oe3ZhbHVlOm5ldyBUeXBlRXJyb3IoIlVuc2VyaWFsaXphYmxlIHJldHVybiB2YWx1ZSIpLFthXTowfSk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2lkOmN9KSxuKX0pKX0pKSxyLnN0YXJ0JiZyLnN0YXJ0KCl9ZnVuY3Rpb24gbCh0KXsoZnVuY3Rpb24odCl7cmV0dXJuIk1lc3NhZ2VQb3J0Ij09PXQuY29uc3RydWN0b3IubmFtZX0pKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gaCh0KXtpZih0KXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4geSh0LHt0eXBlOiJSRUxFQVNFIn0pLnRoZW4oKCgpPT57bCh0KX0pKX1jb25zdCB1PW5ldyBXZWFrTWFwLGY9IkZpbmFsaXphdGlvblJlZ2lzdHJ5ImluIGdsb2JhbFRoaXMmJm5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgodD0+e2NvbnN0IGU9KHUuZ2V0KHQpfHwwKS0xO3Uuc2V0KHQsZSksMD09PWUmJmModCl9KSk7ZnVuY3Rpb24gbSh0LG49W10sYT1mdW5jdGlvbigpe30pe2xldCBvPSExO2NvbnN0IHM9bmV3IFByb3h5KGEse2dldChlLGEpe2lmKGgobyksYT09PXIpcmV0dXJuKCk9PnshZnVuY3Rpb24odCl7ZiYmZi51bnJlZ2lzdGVyKHQpfShzKSxjKHQpLG89ITB9O2lmKCJ0aGVuIj09PWEpe2lmKDA9PT1uLmxlbmd0aClyZXR1cm57dGhlbjooKT0+c307Y29uc3QgZT15KHQse3R5cGU6IkdFVCIscGF0aDpuLm1hcCgodD0+dC50b1N0cmluZygpKSl9KS50aGVuKGQpO3JldHVybiBlLnRoZW4uYmluZChlKX1yZXR1cm4gbSh0LFsuLi5uLGFdKX0sc2V0KGUscixhKXtoKG8pO2NvbnN0W3MsaV09TShhKTtyZXR1cm4geSh0LHt0eXBlOiJTRVQiLHBhdGg6Wy4uLm4scl0ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSx2YWx1ZTpzfSxpKS50aGVuKGQpfSxhcHBseShyLGEscyl7aChvKTtjb25zdCBpPW5bbi5sZW5ndGgtMV07aWYoaT09PWUpcmV0dXJuIHkodCx7dHlwZToiRU5EUE9JTlQifSkudGhlbihkKTtpZigiYmluZCI9PT1pKXJldHVybiBtKHQsbi5zbGljZSgwLC0xKSk7Y29uc3RbbCxjXT1wKHMpO3JldHVybiB5KHQse3R5cGU6IkFQUExZIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6bH0sYykudGhlbihkKX0sY29uc3RydWN0KGUscil7aChvKTtjb25zdFthLHNdPXAocik7cmV0dXJuIHkodCx7dHlwZToiQ09OU1RSVUNUIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6YX0scykudGhlbihkKX19KTtyZXR1cm4gZnVuY3Rpb24odCxlKXtjb25zdCByPSh1LmdldChlKXx8MCkrMTt1LnNldChlLHIpLGYmJmYucmVnaXN0ZXIodCxlLHQpfShzLHQpLHN9ZnVuY3Rpb24gcCh0KXtjb25zdCBlPXQubWFwKE0pO3JldHVybltlLm1hcCgodD0+dFswXSkpLChyPWUubWFwKCh0PT50WzFdKSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxyKSldO3ZhciByfWNvbnN0IGc9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0KXtmb3IoY29uc3RbZSxyXW9mIHMpaWYoci5jYW5IYW5kbGUodCkpe2NvbnN0W24sYV09ci5zZXJpYWxpemUodCk7cmV0dXJuW3t0eXBlOiJIQU5ETEVSIixuYW1lOmUsdmFsdWU6bn0sYV19cmV0dXJuW3t0eXBlOiJSQVciLHZhbHVlOnR9LGcuZ2V0KHQpfHxbXV19ZnVuY3Rpb24gZCh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkhBTkRMRVIiOnJldHVybiBzLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UiUkFXIjpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24geSh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57Y29uc3QgYT1uZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkpLmpvaW4oIi0iKTt0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbiBlKHIpe3IuZGF0YSYmci5kYXRhLmlkJiZyLmRhdGEuaWQ9PT1hJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixlKSxuKHIuZGF0YSkpfSkpLHQuc3RhcnQmJnQuc3RhcnQoKSx0LnBvc3RNZXNzYWdlKE9iamVjdC5hc3NpZ24oe2lkOmF9LGUpLHIpfSkpfXZhciBiPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCIjIiwiJCIsIiUiLCIqIiwiKyIsIiwiLCItIiwiLiIsIjoiLCI7IiwiPSIsIj8iLCJAIiwiWyIsIl0iLCJeIiwiXyIsInsiLCJ8IiwifSIsIn4iXSx3PXQ9PntsZXQgZT0wO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtsZXQgbj10W3JdO2U9ODMqZStiLmluZGV4T2Yobil9cmV0dXJuIGV9LEU9KHQsZSk9Pnt2YXIgcj0iIjtmb3IobGV0IG49MTtuPD1lO24rKyl7bGV0IGE9TWF0aC5mbG9vcih0KS9NYXRoLnBvdyg4MyxlLW4pJTgzO3IrPWJbTWF0aC5mbG9vcihhKV19cmV0dXJuIHJ9LHY9dD0+e2xldCBlPXQvMjU1O3JldHVybiBlPD0uMDQwNDU/ZS8xMi45MjpNYXRoLnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpfSxTPXQ9PntsZXQgZT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpO3JldHVybiBlPD0uMDAzMTMwOD9NYXRoLnRydW5jKDEyLjkyKmUqMjU1Ky41KTpNYXRoLnRydW5jKDI1NSooMS4wNTUqTWF0aC5wb3coZSwuNDE2NjY2NjY2NjY2NjY2NyktLjA1NSkrLjUpfSx4PSh0LGUpPT4odD0+dDwwPy0xOjEpKHQpKk1hdGgucG93KE1hdGguYWJzKHQpLGUpLGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IlZhbGlkYXRpb25FcnJvciIsdGhpcy5tZXNzYWdlPXR9fSxQPXQ9PntpZighdHx8dC5sZW5ndGg8Nil0aHJvdyBuZXcgaygiVGhlIGJsdXJoYXNoIHN0cmluZyBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycyIpO2xldCBlPXcodFswXSkscj1NYXRoLmZsb29yKGUvOSkrMSxuPWUlOSsxO2lmKHQubGVuZ3RoIT09NCsyKm4qcil0aHJvdyBuZXcgayhgYmx1cmhhc2ggbGVuZ3RoIG1pc21hdGNoOiBsZW5ndGggaXMgJHt0Lmxlbmd0aH0gYnV0IGl0IHNob3VsZCBiZSAkezQrMipuKnJ9YCl9LEE9dD0+e2xldCBlPXQ+PjgmMjU1LHI9MjU1JnQ7cmV0dXJuW3YodD4+MTYpLHYoZSksdihyKV19LFQ9KHQsZSk9PntsZXQgcj1NYXRoLmZsb29yKHQvMzYxKSxuPU1hdGguZmxvb3IodC8xOSklMTksYT10JTE5O3JldHVyblt4KChyLTkpLzksMikqZSx4KChuLTkpLzksMikqZSx4KChhLTkpLzksMikqZV19LEw9KHQsZSxyLG4pPT57bGV0IGE9MCxvPTAscz0wLGk9NCplO2ZvcihsZXQgaD0wO2g8ZTtoKyspe2xldCBlPTQqaDtmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgcj1lK2wqaSxjPW4oaCxsKTthKz1jKnYodFtyXSksbys9Yyp2KHRbcisxXSkscys9Yyp2KHRbcisyXSl9fWxldCBsPTEvKGUqcik7cmV0dXJuW2EqbCxvKmwscypsXX0sUj0odCxlLHIsbixhKT0+e2lmKG48MXx8bj45fHxhPDF8fGE+OSl0aHJvdyBuZXcgaygiQmx1ckhhc2ggbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgOSBjb21wb25lbnRzIik7aWYoZSpyKjQhPT10Lmxlbmd0aCl0aHJvdyBuZXcgaygiV2lkdGggYW5kIGhlaWdodCBtdXN0IG1hdGNoIHRoZSBwaXhlbHMgYXJyYXkiKTtsZXQgbz1bXTtmb3IobGV0IGM9MDtjPGE7YysrKWZvcihsZXQgYT0wO2E8bjthKyspe2xldCBuPTA9PWEmJjA9PWM/MToyLHM9TCh0LGUsciwoKHQsbyk9Pm4qTWF0aC5jb3MoTWF0aC5QSSphKnQvZSkqTWF0aC5jb3MoTWF0aC5QSSpjKm8vcikpKTtvLnB1c2gocyl9bGV0IHMsaT1vWzBdLGw9by5zbGljZSgxKSxoPSIiO2lmKGgrPUUobi0xKzkqKGEtMSksMSksbC5sZW5ndGg+MCl7bGV0IHQ9TWF0aC5tYXgoLi4ubC5tYXAoKHQ9Pk1hdGgubWF4KC4uLnQpKSkpLGU9TWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDgyLE1hdGguZmxvb3IoMTY2KnQtLjUpKSkpO3M9KGUrMSkvMTY2LGgrPUUoZSwxKX1lbHNlIHM9MSxoKz1FKDAsMSk7cmV0dXJuIGgrPUUoKHQ9PihTKHRbMF0pPDwxNikrKFModFsxXSk8PDgpK1ModFsyXSkpKGkpLDQpLGwuZm9yRWFjaCgodD0+e2grPUUoKCh0LGUpPT4xOSpNYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oMTgsTWF0aC5mbG9vcig5KngodFswXS9lLC41KSs5LjUpKSkpKjE5KzE5Kk1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbigxOCxNYXRoLmZsb29yKDkqeCh0WzFdL2UsLjUpKzkuNSkpKSkrTWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDE4LE1hdGguZmxvb3IoOSp4KHRbMl0vZSwuNSkrOS41KSkpKSkodCxzKSwyKX0pKSxofTtpKHtWYWxpZGF0aW9uRXJyb3I6ayxlbmNvZGU6UixkZWNvZGU6KHQsZSxyLG4pPT57UCh0KSxufD0xO2xldCBhPXcodFswXSksbz1NYXRoLmZsb29yKGEvOSkrMSxzPWElOSsxLGk9KHcodFsxXSkrMSkvMTY2LGw9bmV3IEFycmF5KHMqbyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspaWYoMD09PXUpe2xldCBlPXcodC5zdWJzdHJpbmcoMiw2KSk7bFt1XT1BKGUpfWVsc2V7bGV0IGU9dyh0LnN1YnN0cmluZyg0KzIqdSw2KzIqdSkpO2xbdV09VChlLGkqbil9bGV0IGg9NCplLGM9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqcik7Zm9yKGxldCB1PTA7dTxyO3UrKylmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgbj0wLGE9MCxpPTA7Zm9yKGxldCBoPTA7aDxvO2grKylmb3IobGV0IG89MDtvPHM7bysrKXtsZXQgYz1NYXRoLmNvcyhNYXRoLlBJKnQqby9lKSpNYXRoLmNvcyhNYXRoLlBJKnUqaC9yKSxmPWxbbytoKnNdO24rPWZbMF0qYyxhKz1mWzFdKmMsaSs9ZlsyXSpjfWxldCBmPVMobiksbT1TKGEpLHA9UyhpKTtjWzQqdCswK3UqaF09ZixjWzQqdCsxK3UqaF09bSxjWzQqdCsyK3UqaF09cCxjWzQqdCszK3UqaF09MjU1fXJldHVybiBjfSxpc0JsdXJoYXNoVmFsaWQ6dD0+e3RyeXtQKHQpfWNhdGNoKGUpe3JldHVybntyZXN1bHQ6ITEsZXJyb3JSZWFzb246ZS5tZXNzYWdlfX1yZXR1cm57cmVzdWx0OiEwfX19KX0oKTsK",Z="undefined"!=typeof window&&window.Blob&&new Blob([atob(m)],{type:"text/javascript;charset=utf-8"});const t=l.wrap(new function(i){let d;try{if(d=Z&&(window.URL||window.webkitURL).createObjectURL(Z),!d)throw"";const l=new Worker(d,{name:null==i?void 0:i.name});return l.addEventListener("error",(()=>{(window.URL||window.webkitURL).revokeObjectURL(d)})),l}catch(l){return new Worker("data:application/javascript;base64,"+m,{name:null==i?void 0:i.name})}finally{d&&(window.URL||window.webkitURL).revokeObjectURL(d)}});function I(i){return new Promise(((d,l)=>{const b=new Image;b.onload=()=>d(b),b.onerror=(...i)=>l(i),b.src=i}))}i.useAlert=()=>{const i=(i=c)=>d.computed((()=>{const d=K.get(i);return d&&d instanceof Map?Array.from(null==d?void 0:d.values()).sort(((i,d)=>i.timestamp-d.timestamp)):[]}));return{groups:K,alerts:i(),addAlert:({id:i=crypto.randomUUID(),group:d=c,title:l,icon:b=o,content:m,footer:Z,modifiers:t="info",dismissable:I=true,autoClose:p=1e4}={})=>{K.has(d)||K.set(d,new Map);const X=K.get(d),n="string"==typeof t?t.split(" "):t;if(!b){const i=n.find((i=>s.has(i)));i&&(b=s.get(i))}null==X||X.set(i.toString(),{id:i,group:d,title:l,icon:b,content:m,footer:Z,modifiers:t,dismissable:I,autoClose:p,timestamp:Date.now()})},removeAlert:(i,d=c)=>{const l=K.get(d);null==l||l.delete(i.toString())},getAlerts:i}},i.useBlurhash=()=>({encode:async function(i){const d=URL.createObjectURL(i),l=await I(d);if("width"in l&&"height"in l){const{width:i,height:d}=(c=l.width,o=l.height,s=32,c>o?{width:s,height:Math.round(s*(o/c))}:{width:Math.round(s*(c/o)),height:s}),K=await(async(i,d,l)=>{var c;const o=new b,s=document.createElement("canvas");return s.width=d,s.height=l,null==(c=(await o.resize(i,s)).getContext("2d"))?void 0:c.getImageData(0,0,d,l).data})(l,i,d);if(K)return t.encode(K,i,d,4,4)}var c,o,s},decode:t.decode,loadImage:I}),Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,7 @@
1
+ declare function loadImage(src: string): Promise<CanvasImageSource>;
2
+ export declare const useBlurhash: () => {
3
+ encode: (file: File) => Promise<string | undefined>;
4
+ decode: import("comlink").Remote<(blurhash: string, width: number, height: number, punch?: number | undefined) => Uint8ClampedArray>;
5
+ loadImage: typeof loadImage;
6
+ };
7
+ export {};
@@ -1,10 +1,11 @@
1
1
  import type { Ref } from 'vue';
2
- export declare function useComponentIcon(icon: Ref<string | object | undefined> | undefined, iconPosition: Ref<string>): {
3
- hasIcon: globalThis.ComputedRef<object | undefined>;
4
- hasIconLeft: globalThis.ComputedRef<boolean>;
5
- hasIconRight: globalThis.ComputedRef<boolean>;
6
- hasIconTop: globalThis.ComputedRef<boolean>;
7
- hasIconBottom: globalThis.ComputedRef<boolean>;
8
- hasIconBefore: globalThis.ComputedRef<boolean>;
9
- hasIconAfter: globalThis.ComputedRef<boolean>;
2
+ import type { VvIconProps } from '../components/VvIcon';
3
+ export declare function useComponentIcon(icon?: Ref<string | VvIconProps | undefined>, iconPosition?: Ref<string | undefined>): {
4
+ hasIcon: globalThis.ComputedRef<VvIconProps | undefined>;
5
+ hasIconLeft: globalThis.ComputedRef<VvIconProps | undefined>;
6
+ hasIconRight: globalThis.ComputedRef<VvIconProps | undefined>;
7
+ hasIconTop: globalThis.ComputedRef<VvIconProps | undefined>;
8
+ hasIconBottom: globalThis.ComputedRef<VvIconProps | undefined>;
9
+ hasIconBefore: globalThis.ComputedRef<VvIconProps | undefined>;
10
+ hasIconAfter: globalThis.ComputedRef<VvIconProps | undefined>;
10
11
  };
@@ -1 +1 @@
1
- export declare function useVolver(): import("../Volver").Volver | undefined;
1
+ export declare function useVolver(): import("..").Volver | undefined;
@@ -1,5 +1,3 @@
1
- declare const _default: {
2
- tooltip: import("vue").Directive;
3
- contextmenu: import("vue").Directive;
4
- };
5
- export default _default;
1
+ import vTooltip from '../directives/v-tooltip';
2
+ import vContextmenu from '../directives/v-contextmenu';
3
+ export { vTooltip, vContextmenu };
@@ -33,6 +33,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
33
33
  ButtonType2["reset"] = "reset";
34
34
  return ButtonType2;
35
35
  })(ButtonType || {});
36
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
37
+ ActionTag2["nuxtLink"] = "nuxt-link";
38
+ ActionTag2["routerLink"] = "router-link";
39
+ ActionTag2["a"] = "a";
40
+ ActionTag2["button"] = "button";
41
+ return ActionTag2;
42
+ })(ActionTag || {});
36
43
  var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
37
44
  AnchorTarget2["_blank"] = "_blank";
38
45
  AnchorTarget2["_self"] = "_self";
@@ -57,6 +64,7 @@ const LinkProps = {
57
64
  */
58
65
  target: {
59
66
  type: String,
67
+ default: void 0,
60
68
  validator: (value) => Object.values(AnchorTarget).includes(value)
61
69
  },
62
70
  /**
@@ -71,38 +79,65 @@ const DisabledProps = {
71
79
  /**
72
80
  * Whether the form control is disabled
73
81
  */
74
- disabled: Boolean
82
+ disabled: {
83
+ type: Boolean,
84
+ default: false
85
+ }
75
86
  };
76
87
  const ActiveProps = {
77
88
  /**
78
89
  * Whether the item is active
79
90
  */
80
- active: Boolean
91
+ active: {
92
+ type: Boolean,
93
+ default: false
94
+ }
95
+ };
96
+ const CurrentProps = {
97
+ /**
98
+ * Whether the item is current
99
+ */
100
+ current: {
101
+ type: Boolean,
102
+ default: false
103
+ }
81
104
  };
82
105
  const PressedProps = {
83
106
  /**
84
107
  * Whether the item is pressed
85
108
  */
86
- pressed: Boolean
109
+ pressed: {
110
+ type: Boolean,
111
+ default: false
112
+ }
87
113
  };
88
114
  const LabelProps = {
89
115
  /**
90
116
  * The item label
91
117
  */
92
- label: [String, Number]
118
+ label: {
119
+ type: [String, Number],
120
+ default: void 0
121
+ }
93
122
  };
94
123
  const ModifiersProps = {
95
124
  /**
96
125
  * Component BEM modifiers
97
126
  */
98
- modifiers: [String, Array]
127
+ modifiers: {
128
+ type: [String, Array],
129
+ default: void 0
130
+ }
99
131
  };
100
132
  ({
101
133
  /**
102
134
  * VvIcon name or props
103
135
  * @see VVIcon
104
136
  */
105
- icon: { type: [String, Object] },
137
+ icon: {
138
+ type: [String, Object],
139
+ default: void 0
140
+ },
106
141
  /**
107
142
  * VvIcon position
108
143
  */
@@ -133,7 +168,8 @@ const ModifiersProps = {
133
168
  * Dropdown show / hide transition name
134
169
  */
135
170
  transitionName: {
136
- type: String
171
+ type: String,
172
+ default: void 0
137
173
  },
138
174
  /**
139
175
  * Offset of the dropdown from the trigger
@@ -201,7 +237,8 @@ const ModifiersProps = {
201
237
  * Set dropdown width to the same as the trigger
202
238
  */
203
239
  triggerWidth: {
204
- type: Boolean
240
+ type: Boolean,
241
+ default: false
205
242
  }
206
243
  });
207
244
  ({
@@ -209,6 +246,7 @@ const ModifiersProps = {
209
246
  ...LabelProps,
210
247
  ...PressedProps,
211
248
  ...ActiveProps,
249
+ ...CurrentProps,
212
250
  ...LinkProps,
213
251
  /**
214
252
  * Button type
@@ -224,6 +262,13 @@ const ModifiersProps = {
224
262
  ariaLabel: {
225
263
  type: String,
226
264
  default: void 0
265
+ },
266
+ /**
267
+ * Default tag for the action
268
+ */
269
+ defaultTag: {
270
+ type: String,
271
+ default: ActionTag.button
227
272
  }
228
273
  });
229
274
  const VvTooltipProps = {
@@ -277,27 +322,46 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
277
322
  }))
278
323
  );
279
324
  return (_ctx, _cache) => {
280
- return openBlock(), createElementBlock("span", {
281
- class: normalizeClass(unref(bemCssClasses)),
282
- role: "tooltip",
283
- inert: ""
284
- }, [
285
- renderSlot(_ctx.$slots, "default", {}, () => [
286
- createTextVNode(toDisplayString(_ctx.value), 1)
287
- ])
288
- ], 2);
325
+ return openBlock(), createElementBlock(
326
+ "span",
327
+ {
328
+ class: normalizeClass(unref(bemCssClasses)),
329
+ role: "tooltip",
330
+ inert: ""
331
+ },
332
+ [
333
+ renderSlot(_ctx.$slots, "default", {}, () => [
334
+ createTextVNode(
335
+ toDisplayString(_ctx.value),
336
+ 1
337
+ /* TEXT */
338
+ )
339
+ ])
340
+ ],
341
+ 2
342
+ /* CLASS */
343
+ );
289
344
  };
290
345
  }
291
346
  });
292
- const tooltip = {
293
- beforeMount(el, binding) {
294
- const tooltip2 = h(_sfc_main, {
295
- value: binding.value,
296
- position: binding.arg
297
- });
298
- render(tooltip2, el);
299
- }
300
- };
347
+ const tooltip = /* @__PURE__ */ (() => {
348
+ return {
349
+ beforeMount(el, binding) {
350
+ const tooltip2 = h(_sfc_main, {
351
+ value: binding.value,
352
+ position: binding.arg
353
+ });
354
+ render(tooltip2, el);
355
+ },
356
+ updated(el, binding) {
357
+ const tooltip2 = h(_sfc_main, {
358
+ value: binding.value,
359
+ position: binding.arg
360
+ });
361
+ render(tooltip2, el);
362
+ }
363
+ };
364
+ })();
301
365
  const contextmenu = {
302
366
  beforeUpdate(el, binding) {
303
367
  var _a, _b, _c;
@@ -336,10 +400,7 @@ const contextmenu = {
336
400
  );
337
401
  }
338
402
  };
339
- const index = {
340
- tooltip,
341
- contextmenu
342
- };
343
403
  export {
344
- index as default
404
+ contextmenu as vContextmenu,
405
+ tooltip as vTooltip
345
406
  };
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).directives=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{});Boolean,Boolean,Boolean;const l={modifiers:[String,Array]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,n.button;const i={...l,position:{type:String,default:t.bottom},value:{type:String}};const r=e.defineComponent({__name:"VvTooltip",props:i,setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){return e.computed((()=>{const l={[t]:!0},i="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return i&&Array.isArray(i)&&i.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-tooltip",n,e.computed((()=>({[o.position]:!0}))));return(t,o)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(l)),role:"tooltip",inert:""},[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.value),1)]))],2))}});return{tooltip:{beforeMount(t,o){const n=e.h(r,{value:o.value,position:o.arg});e.render(n,t)}},contextmenu:{beforeUpdate(t,o){var n,l,i;const r=e.ref(0),u=e.ref(0),a={getBoundingClientRect:()=>({width:0,height:0,x:r.value,y:u.value,top:u.value,left:r.value,right:r.value,bottom:u.value})};(null==(n=o.value)?void 0:n.init)&&(null==(i=(l=o.value).init)||i.call(l,a)),t.addEventListener("contextmenu",(function(e){var t,n,l;if(null==(t=o.value)?void 0:t.show)return e.preventDefault(),r.value=e.clientX,u.value=e.clientY,null==(l=(n=o.value).show)||l.call(n),!1}),!1)}}}}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).directives={},e.vue)}(this,(function(e,t){"use strict";var o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});Boolean,Boolean,Boolean,Boolean;const i={modifiers:{type:[String,Array],default:void 0}};n.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,l.button,u.button;const r={...i,position:{type:String,default:o.bottom},value:{type:String}};const a=t.defineComponent({__name:"VvTooltip",props:r,setup(e){const o=e,{modifiers:n}=t.toRefs(o),l=function(e,o,n){return t.computed((()=>{const l={[e]:!0},u="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return u&&Array.isArray(u)&&u.forEach((t=>{t&&(l[`${e}--${t}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{l[`${e}--${o}`]=t.unref(n.value[o])})),l}))}("vv-tooltip",n,t.computed((()=>({[o.position]:!0}))));return(e,o)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(t.unref(l)),role:"tooltip",inert:""},[t.renderSlot(e.$slots,"default",{},(()=>[t.createTextVNode(t.toDisplayString(e.value),1)]))],2))}}),s=(()=>({beforeMount(e,o){const n=t.h(a,{value:o.value,position:o.arg});t.render(n,e)},updated(e,o){const n=t.h(a,{value:o.value,position:o.arg});t.render(n,e)}}))(),v={beforeUpdate(e,o){var n,l,u;const i=t.ref(0),r=t.ref(0),a={getBoundingClientRect:()=>({width:0,height:0,x:i.value,y:r.value,top:r.value,left:i.value,right:i.value,bottom:r.value})};(null==(n=o.value)?void 0:n.init)&&(null==(u=(l=o.value).init)||u.call(l,a)),e.addEventListener("contextmenu",(function(e){var t,n,l;if(null==(t=o.value)?void 0:t.show)return e.preventDefault(),i.value=e.clientX,r.value=e.clientY,null==(l=(n=o.value).show)||l.call(n),!1}),!1)}};e.vContextmenu=v,e.vTooltip=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -33,6 +33,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
33
33
  ButtonType2["reset"] = "reset";
34
34
  return ButtonType2;
35
35
  })(ButtonType || {});
36
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
37
+ ActionTag2["nuxtLink"] = "nuxt-link";
38
+ ActionTag2["routerLink"] = "router-link";
39
+ ActionTag2["a"] = "a";
40
+ ActionTag2["button"] = "button";
41
+ return ActionTag2;
42
+ })(ActionTag || {});
36
43
  var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
37
44
  AnchorTarget2["_blank"] = "_blank";
38
45
  AnchorTarget2["_self"] = "_self";
@@ -57,6 +64,7 @@ const LinkProps = {
57
64
  */
58
65
  target: {
59
66
  type: String,
67
+ default: void 0,
60
68
  validator: (value) => Object.values(AnchorTarget).includes(value)
61
69
  },
62
70
  /**
@@ -71,38 +79,65 @@ const DisabledProps = {
71
79
  /**
72
80
  * Whether the form control is disabled
73
81
  */
74
- disabled: Boolean
82
+ disabled: {
83
+ type: Boolean,
84
+ default: false
85
+ }
75
86
  };
76
87
  const ActiveProps = {
77
88
  /**
78
89
  * Whether the item is active
79
90
  */
80
- active: Boolean
91
+ active: {
92
+ type: Boolean,
93
+ default: false
94
+ }
95
+ };
96
+ const CurrentProps = {
97
+ /**
98
+ * Whether the item is current
99
+ */
100
+ current: {
101
+ type: Boolean,
102
+ default: false
103
+ }
81
104
  };
82
105
  const PressedProps = {
83
106
  /**
84
107
  * Whether the item is pressed
85
108
  */
86
- pressed: Boolean
109
+ pressed: {
110
+ type: Boolean,
111
+ default: false
112
+ }
87
113
  };
88
114
  const LabelProps = {
89
115
  /**
90
116
  * The item label
91
117
  */
92
- label: [String, Number]
118
+ label: {
119
+ type: [String, Number],
120
+ default: void 0
121
+ }
93
122
  };
94
123
  const ModifiersProps = {
95
124
  /**
96
125
  * Component BEM modifiers
97
126
  */
98
- modifiers: [String, Array]
127
+ modifiers: {
128
+ type: [String, Array],
129
+ default: void 0
130
+ }
99
131
  };
100
132
  ({
101
133
  /**
102
134
  * VvIcon name or props
103
135
  * @see VVIcon
104
136
  */
105
- icon: { type: [String, Object] },
137
+ icon: {
138
+ type: [String, Object],
139
+ default: void 0
140
+ },
106
141
  /**
107
142
  * VvIcon position
108
143
  */
@@ -133,7 +168,8 @@ const ModifiersProps = {
133
168
  * Dropdown show / hide transition name
134
169
  */
135
170
  transitionName: {
136
- type: String
171
+ type: String,
172
+ default: void 0
137
173
  },
138
174
  /**
139
175
  * Offset of the dropdown from the trigger
@@ -201,7 +237,8 @@ const ModifiersProps = {
201
237
  * Set dropdown width to the same as the trigger
202
238
  */
203
239
  triggerWidth: {
204
- type: Boolean
240
+ type: Boolean,
241
+ default: false
205
242
  }
206
243
  });
207
244
  ({
@@ -209,6 +246,7 @@ const ModifiersProps = {
209
246
  ...LabelProps,
210
247
  ...PressedProps,
211
248
  ...ActiveProps,
249
+ ...CurrentProps,
212
250
  ...LinkProps,
213
251
  /**
214
252
  * Button type
@@ -224,6 +262,13 @@ const ModifiersProps = {
224
262
  ariaLabel: {
225
263
  type: String,
226
264
  default: void 0
265
+ },
266
+ /**
267
+ * Default tag for the action
268
+ */
269
+ defaultTag: {
270
+ type: String,
271
+ default: ActionTag.button
227
272
  }
228
273
  });
229
274
  const VvTooltipProps = {
@@ -277,27 +322,46 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
277
322
  }))
278
323
  );
279
324
  return (_ctx, _cache) => {
280
- return openBlock(), createElementBlock("span", {
281
- class: normalizeClass(unref(bemCssClasses)),
282
- role: "tooltip",
283
- inert: ""
284
- }, [
285
- renderSlot(_ctx.$slots, "default", {}, () => [
286
- createTextVNode(toDisplayString(_ctx.value), 1)
287
- ])
288
- ], 2);
325
+ return openBlock(), createElementBlock(
326
+ "span",
327
+ {
328
+ class: normalizeClass(unref(bemCssClasses)),
329
+ role: "tooltip",
330
+ inert: ""
331
+ },
332
+ [
333
+ renderSlot(_ctx.$slots, "default", {}, () => [
334
+ createTextVNode(
335
+ toDisplayString(_ctx.value),
336
+ 1
337
+ /* TEXT */
338
+ )
339
+ ])
340
+ ],
341
+ 2
342
+ /* CLASS */
343
+ );
289
344
  };
290
345
  }
291
346
  });
292
- const tooltip = {
293
- beforeMount(el, binding) {
294
- const tooltip2 = h(_sfc_main, {
295
- value: binding.value,
296
- position: binding.arg
297
- });
298
- render(tooltip2, el);
299
- }
300
- };
347
+ const tooltip = /* @__PURE__ */ (() => {
348
+ return {
349
+ beforeMount(el, binding) {
350
+ const tooltip2 = h(_sfc_main, {
351
+ value: binding.value,
352
+ position: binding.arg
353
+ });
354
+ render(tooltip2, el);
355
+ },
356
+ updated(el, binding) {
357
+ const tooltip2 = h(_sfc_main, {
358
+ value: binding.value,
359
+ position: binding.arg
360
+ });
361
+ render(tooltip2, el);
362
+ }
363
+ };
364
+ })();
301
365
  export {
302
366
  tooltip as default
303
367
  };
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue")):"function"==typeof define&&define.amd?define(["vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self)["v-tooltip"]=o(e.vue)}(this,(function(e){"use strict";var o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{});Boolean,Boolean,Boolean;const r={modifiers:[String,Array]};t.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,n.button;const l={...r,position:{type:String,default:o.bottom},value:{type:String}};const i=e.defineComponent({__name:"VvTooltip",props:l,setup(o){const t=o,{modifiers:n}=e.toRefs(t),r=function(o,t,n){return e.computed((()=>{const r={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{r[`${o}--${t}`]=e.unref(n.value[t])})),r}))}("vv-tooltip",n,e.computed((()=>({[t.position]:!0}))));return(o,t)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(r)),role:"tooltip",inert:""},[e.renderSlot(o.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(o.value),1)]))],2))}});return{beforeMount(o,t){const n=e.h(i,{value:t.value,position:t.arg});e.render(n,o)}}}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue")):"function"==typeof define&&define.amd?define(["vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self)["v-tooltip"]=o(e.vue)}(this,(function(e){"use strict";var o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),t=(e=>(e.before="before",e.after="after",e))(t||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{});Boolean,Boolean,Boolean,Boolean;const l={modifiers:{type:[String,Array],default:void 0}};t.before,o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,n.button,r.button;const i={...l,position:{type:String,default:o.bottom},value:{type:String}};const u=e.defineComponent({__name:"VvTooltip",props:i,setup(o){const t=o,{modifiers:n}=e.toRefs(t),r=function(o,t,n){return e.computed((()=>{const r={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{r[`${o}--${t}`]=e.unref(n.value[t])})),r}))}("vv-tooltip",n,e.computed((()=>({[t.position]:!0}))));return(o,t)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(r)),role:"tooltip",inert:""},[e.renderSlot(o.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(o.value),1)]))],2))}});return(()=>({beforeMount(o,t){const n=e.h(u,{value:t.value,position:t.arg});e.render(n,o)},updated(o,t){const n=e.h(u,{value:t.value,position:t.arg});e.render(n,o)}}))()}));