@volverjs/ui-vue 0.0.10-beta.35 → 0.0.10-beta.36

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 (348) hide show
  1. package/README.md +78 -77
  2. package/bin/icons.cjs +1 -1
  3. package/bin/icons.js +5 -5
  4. package/dist/Volver.d.ts +10 -10
  5. package/dist/components/VvAccordion/VvAccordion.es.js +11 -11
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +17 -17
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAction/VvAction.es.js +6 -6
  10. package/dist/components/VvAction/VvAction.umd.js +1 -1
  11. package/dist/components/VvAlert/VvAlert.es.js +23 -21
  12. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  13. package/dist/components/VvAlert/index.d.ts +2 -2
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +351 -349
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +3 -3
  17. package/dist/components/VvAlertGroup/index.d.ts +1 -1
  18. package/dist/components/VvAvatar/VvAvatar.es.js +4 -1
  19. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  20. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +11 -3
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +10 -10
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvButton/VvButton.es.js +31 -25
  25. package/dist/components/VvButton/VvButton.umd.js +1 -1
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -1
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  28. package/dist/components/VvCheckbox/VvCheckbox.es.js +208 -202
  29. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  30. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +3 -3
  31. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +21 -15
  32. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  33. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +2 -2
  34. package/dist/components/VvCombobox/VvCombobox.es.js +454 -446
  35. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  36. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +5 -5
  37. package/dist/components/VvCombobox/index.d.ts +5 -10
  38. package/dist/components/VvDialog/VvDialog.es.js +11 -11
  39. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  40. package/dist/components/VvDropdown/VvDropdown.es.js +29 -25
  41. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  42. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +12 -8
  43. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +11 -14
  44. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  45. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  46. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  47. package/dist/components/VvInputFile/VvInputFile.es.js +61 -55
  48. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  49. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +2 -2
  50. package/dist/components/VvInputFile/index.d.ts +6 -6
  51. package/dist/components/VvInputText/VvInputText.es.js +287 -286
  52. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  53. package/dist/components/VvInputText/VvInputText.vue.d.ts +2 -2
  54. package/dist/components/VvInputText/index.d.ts +7 -2
  55. package/dist/components/VvNav/VvNav.es.js +23 -20
  56. package/dist/components/VvNav/VvNav.umd.js +1 -1
  57. package/dist/components/VvNavItem/VvNavItem.es.js +6 -6
  58. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  59. package/dist/components/VvRadio/VvRadio.es.js +208 -202
  60. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  61. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  62. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +21 -15
  63. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  64. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +2 -2
  65. package/dist/components/VvSelect/VvSelect.es.js +22 -20
  66. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  67. package/dist/components/VvSelect/VvSelect.vue.d.ts +2 -2
  68. package/dist/components/VvTab/VvTab.es.js +29 -23
  69. package/dist/components/VvTab/VvTab.umd.js +1 -1
  70. package/dist/components/VvTextarea/VvTextarea.es.js +29 -27
  71. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  72. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +2 -2
  73. package/dist/components/VvTooltip/VvTooltip.es.js +4 -1
  74. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  75. package/dist/components/common/HintSlot.d.ts +3 -4
  76. package/dist/components/index.es.js +893 -876
  77. package/dist/components/index.umd.js +1 -1
  78. package/dist/composables/alert/useAlert.d.ts +2 -2
  79. package/dist/composables/index.es.js +10 -10
  80. package/dist/composables/index.umd.js +1 -1
  81. package/dist/composables/useBlurhash.d.ts +1 -1
  82. package/dist/composables/usePersistence.d.ts +2 -1
  83. package/dist/composables/useUniqueId.d.ts +1 -1
  84. package/dist/directives/index.es.js +5 -2
  85. package/dist/directives/index.umd.js +1 -1
  86. package/dist/directives/v-contextmenu.es.js +1 -1
  87. package/dist/directives/v-contextmenu.umd.js +1 -1
  88. package/dist/directives/v-tooltip.es.js +4 -1
  89. package/dist/directives/v-tooltip.umd.js +1 -1
  90. package/dist/icons.es.js +3 -3
  91. package/dist/icons.umd.js +1 -1
  92. package/dist/index.es.js +2 -2
  93. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  94. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  95. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  96. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  97. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  98. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  99. package/dist/stories/Combobox/Combobox.settings.d.ts +1 -1
  100. package/dist/test/options.d.ts +1 -1
  101. package/dist/test/sleep.d.ts +1 -1
  102. package/dist/types/alert.d.ts +1 -1
  103. package/dist/utils/ObjectUtilities.d.ts +7 -7
  104. package/package.json +232 -239
  105. package/src/Volver.ts +243 -243
  106. package/src/assets/icons/detailed.json +1 -1
  107. package/src/assets/icons/normal.json +1 -1
  108. package/src/assets/icons/simple.json +1 -1
  109. package/src/components/VvAccordion/VvAccordion.vue +155 -155
  110. package/src/components/VvAccordion/index.ts +62 -62
  111. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +220 -219
  112. package/src/components/VvAccordionGroup/index.ts +41 -41
  113. package/src/components/VvAction/VvAction.vue +144 -142
  114. package/src/components/VvAlert/VvAlert.vue +72 -70
  115. package/src/components/VvAlert/index.ts +147 -150
  116. package/src/components/VvAlertGroup/VvAlertGroup.vue +56 -55
  117. package/src/components/VvAlertGroup/index.ts +99 -103
  118. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  119. package/src/components/VvAvatar/index.ts +5 -5
  120. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  121. package/src/components/VvAvatarGroup/index.ts +21 -21
  122. package/src/components/VvBadge/VvBadge.vue +15 -14
  123. package/src/components/VvBadge/index.ts +2 -2
  124. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +49 -48
  125. package/src/components/VvBreadcrumb/index.ts +2 -2
  126. package/src/components/VvButton/VvButton.vue +163 -162
  127. package/src/components/VvButton/index.ts +102 -102
  128. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -72
  129. package/src/components/VvButtonGroup/index.ts +22 -22
  130. package/src/components/VvCard/VvCard.vue +30 -30
  131. package/src/components/VvCard/index.ts +2 -2
  132. package/src/components/VvCheckbox/VvCheckbox.vue +185 -180
  133. package/src/components/VvCheckbox/index.ts +44 -44
  134. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -86
  135. package/src/components/VvCombobox/VvCombobox.vue +633 -623
  136. package/src/components/VvCombobox/index.ts +166 -166
  137. package/src/components/VvDialog/VvDialog.vue +131 -129
  138. package/src/components/VvDialog/index.ts +35 -35
  139. package/src/components/VvDropdown/VvDropdown.vue +464 -452
  140. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  141. package/src/components/VvDropdown/VvDropdownItem.vue +29 -28
  142. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  143. package/src/components/VvDropdown/VvDropdownOption.vue +47 -47
  144. package/src/components/VvDropdown/index.ts +53 -53
  145. package/src/components/VvIcon/README.md +1 -1
  146. package/src/components/VvIcon/VvIcon.vue +133 -133
  147. package/src/components/VvIcon/index.ts +77 -77
  148. package/src/components/VvInputFile/VvInputFile.vue +367 -363
  149. package/src/components/VvInputFile/index.ts +125 -125
  150. package/src/components/VvInputText/VvInputClearAction.ts +50 -50
  151. package/src/components/VvInputText/VvInputPasswordAction.ts +65 -65
  152. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  153. package/src/components/VvInputText/VvInputText.vue +636 -637
  154. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  155. package/src/components/VvInputText/index.ts +198 -198
  156. package/src/components/VvNav/VvNav.vue +40 -33
  157. package/src/components/VvNav/VvNavItem.vue +12 -12
  158. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  159. package/src/components/VvNav/index.ts +2 -2
  160. package/src/components/VvProgress/VvProgress.vue +27 -26
  161. package/src/components/VvProgress/index.ts +28 -28
  162. package/src/components/VvRadio/VvRadio.vue +115 -112
  163. package/src/components/VvRadio/index.ts +27 -27
  164. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -89
  165. package/src/components/VvSelect/VvSelect.vue +241 -238
  166. package/src/components/VvSelect/index.ts +62 -62
  167. package/src/components/VvTab/VvTab.vue +79 -73
  168. package/src/components/VvTab/index.ts +12 -12
  169. package/src/components/VvTextarea/VvTextarea.vue +218 -216
  170. package/src/components/VvTextarea/index.ts +35 -35
  171. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  172. package/src/components/VvTooltip/index.ts +12 -12
  173. package/src/components/common/HintSlot.ts +149 -150
  174. package/src/composables/alert/useAlert.ts +74 -74
  175. package/src/composables/alert/useInjectAlert.ts +1 -1
  176. package/src/composables/alert/useProvideAlert.ts +10 -10
  177. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  178. package/src/composables/dropdown/useProvideDropdown.ts +62 -62
  179. package/src/composables/group/useInjectedGroupState.ts +41 -41
  180. package/src/composables/group/useProvideGroupState.ts +1 -2
  181. package/src/composables/useBlurhash.ts +52 -60
  182. package/src/composables/useComponentFocus.ts +9 -9
  183. package/src/composables/useComponentIcon.ts +35 -35
  184. package/src/composables/useDebouncedInput.ts +25 -25
  185. package/src/composables/useDefaults.ts +77 -76
  186. package/src/composables/useModifiers.ts +29 -29
  187. package/src/composables/useOptions.ts +45 -43
  188. package/src/composables/usePersistence.ts +70 -72
  189. package/src/composables/useTextCount.ts +44 -44
  190. package/src/composables/useUniqueId.ts +3 -2
  191. package/src/composables/useVolver.ts +1 -1
  192. package/src/constants.ts +70 -70
  193. package/src/directives/v-contextmenu.ts +34 -34
  194. package/src/directives/v-tooltip.ts +17 -17
  195. package/src/index.ts +3 -3
  196. package/src/props/index.ts +453 -453
  197. package/src/resolvers/unplugin.ts +138 -138
  198. package/src/shims.d.ts +4 -5
  199. package/src/stories/Accordion/Accordion.settings.ts +49 -49
  200. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  201. package/src/stories/Accordion/Accordion.test.ts +56 -54
  202. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  203. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +69 -67
  204. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +37 -37
  205. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -47
  206. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +34 -34
  207. package/src/stories/Alert/Alert.settings.ts +115 -115
  208. package/src/stories/Alert/Alert.stories.ts +30 -30
  209. package/src/stories/Alert/Alert.test.ts +78 -78
  210. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  211. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  212. package/src/stories/AlertGroup/AlertGroup.settings.ts +104 -104
  213. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  214. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -67
  215. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  216. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  217. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +57 -57
  218. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  219. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  220. package/src/stories/Avatar/Avatar.test.ts +22 -22
  221. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  222. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  223. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  224. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +53 -53
  225. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  226. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -24
  227. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  228. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  229. package/src/stories/Badge/Badge.settings.ts +20 -20
  230. package/src/stories/Badge/Badge.stories.ts +23 -23
  231. package/src/stories/Badge/Badge.test.ts +8 -8
  232. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  233. package/src/stories/Blurhash/BlurhashComposable.stories.ts +77 -76
  234. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +34 -34
  235. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +22 -22
  236. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  237. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  238. package/src/stories/Button/Button.settings.ts +144 -144
  239. package/src/stories/Button/Button.stories.ts +18 -18
  240. package/src/stories/Button/Button.test.ts +41 -40
  241. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  242. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  243. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  244. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  245. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  246. package/src/stories/Button/ButtonState.stories.ts +23 -23
  247. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  248. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +32 -32
  249. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  250. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -22
  251. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  252. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  253. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  254. package/src/stories/Card/Card.settings.ts +48 -48
  255. package/src/stories/Card/Card.stories.ts +22 -22
  256. package/src/stories/Card/Card.test.ts +14 -14
  257. package/src/stories/Card/CardSlots.stories.ts +42 -42
  258. package/src/stories/Checkbox/Checkbox.settings.ts +35 -35
  259. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  260. package/src/stories/Checkbox/Checkbox.test.ts +63 -62
  261. package/src/stories/Checkbox/CheckboxBinary.stories.ts +17 -17
  262. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  263. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  264. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  265. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -63
  266. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  267. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  268. package/src/stories/Combobox/Combobox.settings.ts +390 -390
  269. package/src/stories/Combobox/Combobox.stories.ts +107 -107
  270. package/src/stories/Combobox/Combobox.test.ts +89 -87
  271. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +24 -24
  272. package/src/stories/Combobox/ComboboxMultiple.stories.ts +22 -22
  273. package/src/stories/Combobox/ComboboxOptions.stories.ts +84 -84
  274. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -55
  275. package/src/stories/Dialog/Dialog.settings.ts +39 -39
  276. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  277. package/src/stories/Dialog/Dialog.test.ts +49 -49
  278. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  279. package/src/stories/Dropdown/Dropdown.settings.ts +62 -62
  280. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  281. package/src/stories/Dropdown/Dropdown.test.ts +9 -9
  282. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  283. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  284. package/src/stories/Dropdown/DropdownSlots.stories.ts +49 -49
  285. package/src/stories/Icon/Icon.settings.ts +64 -64
  286. package/src/stories/Icon/Icon.stories.ts +28 -28
  287. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  288. package/src/stories/InputFile/InputFile.settings.ts +29 -29
  289. package/src/stories/InputFile/InputFile.stories.ts +54 -54
  290. package/src/stories/InputFile/InputFileDropArea.stories.ts +34 -34
  291. package/src/stories/InputFile/InputFileIconPosition.stories.ts +24 -24
  292. package/src/stories/InputFile/InputFileSlots.stories.ts +17 -17
  293. package/src/stories/InputText/InputText.settings.ts +245 -246
  294. package/src/stories/InputText/InputText.stories.ts +67 -67
  295. package/src/stories/InputText/InputText.test.ts +118 -117
  296. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  297. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  298. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  299. package/src/stories/InputText/InputTextMinMax.stories.ts +29 -29
  300. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  301. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  302. package/src/stories/Nav/Nav.settings.ts +25 -25
  303. package/src/stories/Nav/Nav.stories.ts +17 -17
  304. package/src/stories/Nav/Nav.test.ts +10 -10
  305. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  306. package/src/stories/Progress/Progress.settings.ts +23 -23
  307. package/src/stories/Progress/Progress.stories.ts +23 -23
  308. package/src/stories/Progress/Progress.test.ts +4 -4
  309. package/src/stories/Radio/Radio.settings.ts +9 -9
  310. package/src/stories/Radio/Radio.stories.ts +47 -47
  311. package/src/stories/Radio/Radio.test.ts +54 -53
  312. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  313. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  314. package/src/stories/RadioGroup/RadioGroup.stories.ts +50 -50
  315. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -63
  316. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +34 -34
  317. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  318. package/src/stories/Select/Select.settings.ts +70 -70
  319. package/src/stories/Select/Select.stories.ts +66 -66
  320. package/src/stories/Select/Select.test.ts +65 -64
  321. package/src/stories/Select/SelectIconPosition.stories.ts +24 -24
  322. package/src/stories/Select/SelectOptions.stories.ts +54 -54
  323. package/src/stories/Select/SelectSlots.stories.ts +20 -20
  324. package/src/stories/Tab/Tab.settings.ts +32 -32
  325. package/src/stories/Tab/Tab.stories.ts +17 -17
  326. package/src/stories/Tab/Tab.test.ts +17 -17
  327. package/src/stories/Textarea/Textarea.settings.ts +78 -79
  328. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  329. package/src/stories/Textarea/Textarea.test.ts +70 -69
  330. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  331. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  332. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  333. package/src/stories/Tooltip/Tooltip.settings.ts +16 -16
  334. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  335. package/src/stories/Tooltip/Tooltip.test.ts +53 -52
  336. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  337. package/src/stories/argTypes.ts +484 -485
  338. package/src/test/expect.ts +71 -74
  339. package/src/test/options.ts +17 -16
  340. package/src/test/sleep.ts +3 -2
  341. package/src/test/types.d.ts +11 -11
  342. package/src/types/alert.ts +18 -18
  343. package/src/types/blurhash.ts +18 -18
  344. package/src/types/generic.ts +1 -2
  345. package/src/types/group.ts +21 -21
  346. package/src/types/input-file.ts +17 -17
  347. package/src/types/nav.ts +13 -13
  348. package/src/utils/ObjectUtilities.ts +192 -177
@@ -1,6 +1,6 @@
1
1
  import { reactive, computed } from "vue";
2
2
  import { wrap } from "comlink";
3
- import pica from "pica";
3
+ import Pica from "pica";
4
4
  const DEFAULT_ALERT_AUTO_CLOSE = 1e4;
5
5
  const DEFAULT_ALERT_MODIFIERS = "info";
6
6
  const DEFAULT_ALERT_DISMISSABLE = true;
@@ -20,7 +20,7 @@ const groups = reactive(
20
20
  [DEFAULT_ALERT_GROUP, /* @__PURE__ */ new Map()]
21
21
  ])
22
22
  );
23
- const useAlert = () => {
23
+ function useAlert() {
24
24
  const addAlert = ({
25
25
  id = crypto.randomUUID(),
26
26
  group = DEFAULT_ALERT_GROUP,
@@ -78,7 +78,7 @@ const useAlert = () => {
78
78
  removeAlert,
79
79
  getAlerts
80
80
  };
81
- };
81
+ }
82
82
  const encodedJs = "IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOwovKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAogICAqL2NvbnN0IHQ9U3ltYm9sKCJDb21saW5rLnByb3h5IiksZT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxuPVN5bWJvbCgiQ29tbGluay5maW5hbGl6ZXIiKSxhPVN5bWJvbCgiQ29tbGluay50aHJvd24iKSxvPXQ9PiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LHM9bmV3IE1hcChbWyJwcm94eSIse2NhbkhhbmRsZTplPT5vKGUpJiZlW3RdLHNlcmlhbGl6ZSh0KXtjb25zdHtwb3J0MTplLHBvcnQyOnJ9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaSh0LGUpLFtyLFtyXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksbSh0LFtdLGUpO3ZhciBlfX1dLFsidGhyb3ciLHtjYW5IYW5kbGU6dD0+byh0KSYmYSBpbiB0LHNlcmlhbGl6ZSh7dmFsdWU6dH0pe2xldCBlO3JldHVybiBlPXQgaW5zdGFuY2VvZiBFcnJvcj97aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFja319Ontpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7aWYodC5pc0Vycm9yKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk7dGhyb3cgdC52YWx1ZX19XV0pO2Z1bmN0aW9uIGkoZSxyPWdsb2JhbFRoaXMsbz1bIioiXSl7ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24gcyhoKXtpZighaHx8IWguZGF0YSlyZXR1cm47aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKGNvbnN0IHIgb2YgdCl7aWYoZT09PXJ8fCIqIj09PXIpcmV0dXJuITA7aWYociBpbnN0YW5jZW9mIFJlZ0V4cCYmci50ZXN0KGUpKXJldHVybiEwfXJldHVybiExfShvLGgub3JpZ2luKSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oYEludmFsaWQgb3JpZ2luICcke2gub3JpZ2lufScgZm9yIGNvbWxpbmsgcHJveHlgKTtjb25zdHtpZDpjLHR5cGU6dSxwYXRoOmZ9PU9iamVjdC5hc3NpZ24oe3BhdGg6W119LGguZGF0YSksbT0oaC5kYXRhLmFyZ3VtZW50TGlzdHx8W10pLm1hcChkKTtsZXQgcDt0cnl7Y29uc3Qgcj1mLnNsaWNlKDAsLTEpLnJlZHVjZSgoKHQsZSk9PnRbZV0pLGUpLG49Zi5yZWR1Y2UoKCh0LGUpPT50W2VdKSxlKTtzd2l0Y2godSl7Y2FzZSJHRVQiOnA9bjticmVhaztjYXNlIlNFVCI6cltmLnNsaWNlKC0xKVswXV09ZChoLmRhdGEudmFsdWUpLHA9ITA7YnJlYWs7Y2FzZSJBUFBMWSI6cD1uLmFwcGx5KHIsbSk7YnJlYWs7Y2FzZSJDT05TVFJVQ1QiOnA9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W3RdOiEwfSl9KG5ldyBuKC4uLm0pKTticmVhaztjYXNlIkVORFBPSU5UIjp7Y29uc3R7cG9ydDE6dCxwb3J0MjpyfT1uZXcgTWVzc2FnZUNoYW5uZWw7aShlLHIpLHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZy5zZXQodCxlKSx0fSh0LFt0XSl9YnJlYWs7Y2FzZSJSRUxFQVNFIjpwPXZvaWQgMDticmVhaztkZWZhdWx0OnJldHVybn19Y2F0Y2goeSl7cD17dmFsdWU6eSxbYV06MH19UHJvbWlzZS5yZXNvbHZlKHApLmNhdGNoKCh0PT4oe3ZhbHVlOnQsW2FdOjB9KSkpLnRoZW4oKHQ9Pntjb25zdFthLG9dPU0odCk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2lkOmN9KSxvKSwiUkVMRUFTRSI9PT11JiYoci5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKSxsKHIpLG4gaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJmVbbl0oKSl9KSkuY2F0Y2goKHQ9Pntjb25zdFtlLG5dPU0oe3ZhbHVlOm5ldyBUeXBlRXJyb3IoIlVuc2VyaWFsaXphYmxlIHJldHVybiB2YWx1ZSIpLFthXTowfSk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2lkOmN9KSxuKX0pKX0pKSxyLnN0YXJ0JiZyLnN0YXJ0KCl9ZnVuY3Rpb24gbCh0KXsoZnVuY3Rpb24odCl7cmV0dXJuIk1lc3NhZ2VQb3J0Ij09PXQuY29uc3RydWN0b3IubmFtZX0pKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gaCh0KXtpZih0KXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4geSh0LHt0eXBlOiJSRUxFQVNFIn0pLnRoZW4oKCgpPT57bCh0KX0pKX1jb25zdCB1PW5ldyBXZWFrTWFwLGY9IkZpbmFsaXphdGlvblJlZ2lzdHJ5ImluIGdsb2JhbFRoaXMmJm5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgodD0+e2NvbnN0IGU9KHUuZ2V0KHQpfHwwKS0xO3Uuc2V0KHQsZSksMD09PWUmJmModCl9KSk7ZnVuY3Rpb24gbSh0LG49W10sYT1mdW5jdGlvbigpe30pe2xldCBvPSExO2NvbnN0IHM9bmV3IFByb3h5KGEse2dldChlLGEpe2lmKGgobyksYT09PXIpcmV0dXJuKCk9PnshZnVuY3Rpb24odCl7ZiYmZi51bnJlZ2lzdGVyKHQpfShzKSxjKHQpLG89ITB9O2lmKCJ0aGVuIj09PWEpe2lmKDA9PT1uLmxlbmd0aClyZXR1cm57dGhlbjooKT0+c307Y29uc3QgZT15KHQse3R5cGU6IkdFVCIscGF0aDpuLm1hcCgodD0+dC50b1N0cmluZygpKSl9KS50aGVuKGQpO3JldHVybiBlLnRoZW4uYmluZChlKX1yZXR1cm4gbSh0LFsuLi5uLGFdKX0sc2V0KGUscixhKXtoKG8pO2NvbnN0W3MsaV09TShhKTtyZXR1cm4geSh0LHt0eXBlOiJTRVQiLHBhdGg6Wy4uLm4scl0ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSx2YWx1ZTpzfSxpKS50aGVuKGQpfSxhcHBseShyLGEscyl7aChvKTtjb25zdCBpPW5bbi5sZW5ndGgtMV07aWYoaT09PWUpcmV0dXJuIHkodCx7dHlwZToiRU5EUE9JTlQifSkudGhlbihkKTtpZigiYmluZCI9PT1pKXJldHVybiBtKHQsbi5zbGljZSgwLC0xKSk7Y29uc3RbbCxjXT1wKHMpO3JldHVybiB5KHQse3R5cGU6IkFQUExZIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6bH0sYykudGhlbihkKX0sY29uc3RydWN0KGUscil7aChvKTtjb25zdFthLHNdPXAocik7cmV0dXJuIHkodCx7dHlwZToiQ09OU1RSVUNUIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6YX0scykudGhlbihkKX19KTtyZXR1cm4gZnVuY3Rpb24odCxlKXtjb25zdCByPSh1LmdldChlKXx8MCkrMTt1LnNldChlLHIpLGYmJmYucmVnaXN0ZXIodCxlLHQpfShzLHQpLHN9ZnVuY3Rpb24gcCh0KXtjb25zdCBlPXQubWFwKE0pO3JldHVybltlLm1hcCgodD0+dFswXSkpLChyPWUubWFwKCh0PT50WzFdKSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxyKSldO3ZhciByfWNvbnN0IGc9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0KXtmb3IoY29uc3RbZSxyXW9mIHMpaWYoci5jYW5IYW5kbGUodCkpe2NvbnN0W24sYV09ci5zZXJpYWxpemUodCk7cmV0dXJuW3t0eXBlOiJIQU5ETEVSIixuYW1lOmUsdmFsdWU6bn0sYV19cmV0dXJuW3t0eXBlOiJSQVciLHZhbHVlOnR9LGcuZ2V0KHQpfHxbXV19ZnVuY3Rpb24gZCh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkhBTkRMRVIiOnJldHVybiBzLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UiUkFXIjpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24geSh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57Y29uc3QgYT1uZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkpLmpvaW4oIi0iKTt0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbiBlKHIpe3IuZGF0YSYmci5kYXRhLmlkJiZyLmRhdGEuaWQ9PT1hJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixlKSxuKHIuZGF0YSkpfSkpLHQuc3RhcnQmJnQuc3RhcnQoKSx0LnBvc3RNZXNzYWdlKE9iamVjdC5hc3NpZ24oe2lkOmF9LGUpLHIpfSkpfXZhciBiPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCIjIiwiJCIsIiUiLCIqIiwiKyIsIiwiLCItIiwiLiIsIjoiLCI7IiwiPSIsIj8iLCJAIiwiWyIsIl0iLCJeIiwiXyIsInsiLCJ8IiwifSIsIn4iXSx3PXQ9PntsZXQgZT0wO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtsZXQgbj10W3JdO2U9ODMqZStiLmluZGV4T2Yobil9cmV0dXJuIGV9LEU9KHQsZSk9Pnt2YXIgcj0iIjtmb3IobGV0IG49MTtuPD1lO24rKyl7bGV0IGE9TWF0aC5mbG9vcih0KS9NYXRoLnBvdyg4MyxlLW4pJTgzO3IrPWJbTWF0aC5mbG9vcihhKV19cmV0dXJuIHJ9LHY9dD0+e2xldCBlPXQvMjU1O3JldHVybiBlPD0uMDQwNDU/ZS8xMi45MjpNYXRoLnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpfSxTPXQ9PntsZXQgZT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpO3JldHVybiBlPD0uMDAzMTMwOD9NYXRoLnRydW5jKDEyLjkyKmUqMjU1Ky41KTpNYXRoLnRydW5jKDI1NSooMS4wNTUqTWF0aC5wb3coZSwuNDE2NjY2NjY2NjY2NjY2NyktLjA1NSkrLjUpfSx4PSh0LGUpPT4odD0+dDwwPy0xOjEpKHQpKk1hdGgucG93KE1hdGguYWJzKHQpLGUpLGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IlZhbGlkYXRpb25FcnJvciIsdGhpcy5tZXNzYWdlPXR9fSxQPXQ9PntpZighdHx8dC5sZW5ndGg8Nil0aHJvdyBuZXcgaygiVGhlIGJsdXJoYXNoIHN0cmluZyBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycyIpO2xldCBlPXcodFswXSkscj1NYXRoLmZsb29yKGUvOSkrMSxuPWUlOSsxO2lmKHQubGVuZ3RoIT09NCsyKm4qcil0aHJvdyBuZXcgayhgYmx1cmhhc2ggbGVuZ3RoIG1pc21hdGNoOiBsZW5ndGggaXMgJHt0Lmxlbmd0aH0gYnV0IGl0IHNob3VsZCBiZSAkezQrMipuKnJ9YCl9LEE9dD0+e2xldCBlPXQ+PjgmMjU1LHI9MjU1JnQ7cmV0dXJuW3YodD4+MTYpLHYoZSksdihyKV19LFQ9KHQsZSk9PntsZXQgcj1NYXRoLmZsb29yKHQvMzYxKSxuPU1hdGguZmxvb3IodC8xOSklMTksYT10JTE5O3JldHVyblt4KChyLTkpLzksMikqZSx4KChuLTkpLzksMikqZSx4KChhLTkpLzksMikqZV19LEw9KHQsZSxyLG4pPT57bGV0IGE9MCxvPTAscz0wLGk9NCplO2ZvcihsZXQgaD0wO2g8ZTtoKyspe2xldCBlPTQqaDtmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgcj1lK2wqaSxjPW4oaCxsKTthKz1jKnYodFtyXSksbys9Yyp2KHRbcisxXSkscys9Yyp2KHRbcisyXSl9fWxldCBsPTEvKGUqcik7cmV0dXJuW2EqbCxvKmwscypsXX0sUj0odCxlLHIsbixhKT0+e2lmKG48MXx8bj45fHxhPDF8fGE+OSl0aHJvdyBuZXcgaygiQmx1ckhhc2ggbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgOSBjb21wb25lbnRzIik7aWYoZSpyKjQhPT10Lmxlbmd0aCl0aHJvdyBuZXcgaygiV2lkdGggYW5kIGhlaWdodCBtdXN0IG1hdGNoIHRoZSBwaXhlbHMgYXJyYXkiKTtsZXQgbz1bXTtmb3IobGV0IGM9MDtjPGE7YysrKWZvcihsZXQgYT0wO2E8bjthKyspe2xldCBuPTA9PWEmJjA9PWM/MToyLHM9TCh0LGUsciwoKHQsbyk9Pm4qTWF0aC5jb3MoTWF0aC5QSSphKnQvZSkqTWF0aC5jb3MoTWF0aC5QSSpjKm8vcikpKTtvLnB1c2gocyl9bGV0IHMsaT1vWzBdLGw9by5zbGljZSgxKSxoPSIiO2lmKGgrPUUobi0xKzkqKGEtMSksMSksbC5sZW5ndGg+MCl7bGV0IHQ9TWF0aC5tYXgoLi4ubC5tYXAoKHQ9Pk1hdGgubWF4KC4uLnQpKSkpLGU9TWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDgyLE1hdGguZmxvb3IoMTY2KnQtLjUpKSkpO3M9KGUrMSkvMTY2LGgrPUUoZSwxKX1lbHNlIHM9MSxoKz1FKDAsMSk7cmV0dXJuIGgrPUUoKHQ9PihTKHRbMF0pPDwxNikrKFModFsxXSk8PDgpK1ModFsyXSkpKGkpLDQpLGwuZm9yRWFjaCgodD0+e2grPUUoKCh0LGUpPT4xOSpNYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oMTgsTWF0aC5mbG9vcig5KngodFswXS9lLC41KSs5LjUpKSkpKjE5KzE5Kk1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbigxOCxNYXRoLmZsb29yKDkqeCh0WzFdL2UsLjUpKzkuNSkpKSkrTWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDE4LE1hdGguZmxvb3IoOSp4KHRbMl0vZSwuNSkrOS41KSkpKSkodCxzKSwyKX0pKSxofTtpKHtWYWxpZGF0aW9uRXJyb3I6ayxlbmNvZGU6UixkZWNvZGU6KHQsZSxyLG4pPT57UCh0KSxufD0xO2xldCBhPXcodFswXSksbz1NYXRoLmZsb29yKGEvOSkrMSxzPWElOSsxLGk9KHcodFsxXSkrMSkvMTY2LGw9bmV3IEFycmF5KHMqbyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspaWYoMD09PXUpe2xldCBlPXcodC5zdWJzdHJpbmcoMiw2KSk7bFt1XT1BKGUpfWVsc2V7bGV0IGU9dyh0LnN1YnN0cmluZyg0KzIqdSw2KzIqdSkpO2xbdV09VChlLGkqbil9bGV0IGg9NCplLGM9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqcik7Zm9yKGxldCB1PTA7dTxyO3UrKylmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgbj0wLGE9MCxpPTA7Zm9yKGxldCBoPTA7aDxvO2grKylmb3IobGV0IG89MDtvPHM7bysrKXtsZXQgYz1NYXRoLmNvcyhNYXRoLlBJKnQqby9lKSpNYXRoLmNvcyhNYXRoLlBJKnUqaC9yKSxmPWxbbytoKnNdO24rPWZbMF0qYyxhKz1mWzFdKmMsaSs9ZlsyXSpjfWxldCBmPVMobiksbT1TKGEpLHA9UyhpKTtjWzQqdCswK3UqaF09ZixjWzQqdCsxK3UqaF09bSxjWzQqdCsyK3UqaF09cCxjWzQqdCszK3UqaF09MjU1fXJldHVybiBjfSxpc0JsdXJoYXNoVmFsaWQ6dD0+e3RyeXtQKHQpfWNhdGNoKGUpe3JldHVybntyZXN1bHQ6ITEsZXJyb3JSZWFzb246ZS5tZXNzYWdlfX1yZXR1cm57cmVzdWx0OiEwfX19KX0oKTsK";
83
83
  const decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
84
84
  const blob = typeof window !== "undefined" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: "text/javascript;charset=utf-8" });
@@ -115,7 +115,7 @@ function loadImage(src) {
115
115
  img.src = src;
116
116
  });
117
117
  }
118
- const getWidthHeightFromMaxSize = (width, height, maxSize) => {
118
+ function getWidthHeightFromMaxSize(width, height, maxSize) {
119
119
  if (width > height) {
120
120
  return {
121
121
  width: maxSize,
@@ -126,17 +126,17 @@ const getWidthHeightFromMaxSize = (width, height, maxSize) => {
126
126
  width: Math.round(maxSize * (width / height)),
127
127
  height: maxSize
128
128
  };
129
- };
130
- const resizeImage = async (image, width, height) => {
129
+ }
130
+ async function resizeImage(image, width, height) {
131
131
  var _a;
132
- const resizer = new pica();
132
+ const resizer = new Pica();
133
133
  const canvas = document.createElement("canvas");
134
134
  canvas.width = width;
135
135
  canvas.height = height;
136
136
  const result = await resizer.resize(image, canvas);
137
137
  return (_a = result.getContext("2d")) == null ? void 0 : _a.getImageData(0, 0, width, height).data;
138
- };
139
- const useBlurhash = () => {
138
+ }
139
+ function useBlurhash() {
140
140
  async function encode(file) {
141
141
  const imageUrl = URL.createObjectURL(file);
142
142
  const image = await loadImage(imageUrl);
@@ -163,7 +163,7 @@ const useBlurhash = () => {
163
163
  }
164
164
  }
165
165
  return { encode, decode: remoteFunction.decode, loadImage };
166
- };
166
+ }
167
167
  export {
168
168
  useAlert,
169
169
  useBlurhash
@@ -1 +1 @@
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"]]),m=d.reactive(new Map([[c,new Map]])),K="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOwovKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAogICAqL2NvbnN0IHQ9U3ltYm9sKCJDb21saW5rLnByb3h5IiksZT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxuPVN5bWJvbCgiQ29tbGluay5maW5hbGl6ZXIiKSxhPVN5bWJvbCgiQ29tbGluay50aHJvd24iKSxvPXQ9PiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LHM9bmV3IE1hcChbWyJwcm94eSIse2NhbkhhbmRsZTplPT5vKGUpJiZlW3RdLHNlcmlhbGl6ZSh0KXtjb25zdHtwb3J0MTplLHBvcnQyOnJ9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaSh0LGUpLFtyLFtyXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksbSh0LFtdLGUpO3ZhciBlfX1dLFsidGhyb3ciLHtjYW5IYW5kbGU6dD0+byh0KSYmYSBpbiB0LHNlcmlhbGl6ZSh7dmFsdWU6dH0pe2xldCBlO3JldHVybiBlPXQgaW5zdGFuY2VvZiBFcnJvcj97aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFja319Ontpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7aWYodC5pc0Vycm9yKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk7dGhyb3cgdC52YWx1ZX19XV0pO2Z1bmN0aW9uIGkoZSxyPWdsb2JhbFRoaXMsbz1bIioiXSl7ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24gcyhoKXtpZighaHx8IWguZGF0YSlyZXR1cm47aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKGNvbnN0IHIgb2YgdCl7aWYoZT09PXJ8fCIqIj09PXIpcmV0dXJuITA7aWYociBpbnN0YW5jZW9mIFJlZ0V4cCYmci50ZXN0KGUpKXJldHVybiEwfXJldHVybiExfShvLGgub3JpZ2luKSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oYEludmFsaWQgb3JpZ2luICcke2gub3JpZ2lufScgZm9yIGNvbWxpbmsgcHJveHlgKTtjb25zdHtpZDpjLHR5cGU6dSxwYXRoOmZ9PU9iamVjdC5hc3NpZ24oe3BhdGg6W119LGguZGF0YSksbT0oaC5kYXRhLmFyZ3VtZW50TGlzdHx8W10pLm1hcChkKTtsZXQgcDt0cnl7Y29uc3Qgcj1mLnNsaWNlKDAsLTEpLnJlZHVjZSgoKHQsZSk9PnRbZV0pLGUpLG49Zi5yZWR1Y2UoKCh0LGUpPT50W2VdKSxlKTtzd2l0Y2godSl7Y2FzZSJHRVQiOnA9bjticmVhaztjYXNlIlNFVCI6cltmLnNsaWNlKC0xKVswXV09ZChoLmRhdGEudmFsdWUpLHA9ITA7YnJlYWs7Y2FzZSJBUFBMWSI6cD1uLmFwcGx5KHIsbSk7YnJlYWs7Y2FzZSJDT05TVFJVQ1QiOnA9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W3RdOiEwfSl9KG5ldyBuKC4uLm0pKTticmVhaztjYXNlIkVORFBPSU5UIjp7Y29uc3R7cG9ydDE6dCxwb3J0MjpyfT1uZXcgTWVzc2FnZUNoYW5uZWw7aShlLHIpLHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZy5zZXQodCxlKSx0fSh0LFt0XSl9YnJlYWs7Y2FzZSJSRUxFQVNFIjpwPXZvaWQgMDticmVhaztkZWZhdWx0OnJldHVybn19Y2F0Y2goeSl7cD17dmFsdWU6eSxbYV06MH19UHJvbWlzZS5yZXNvbHZlKHApLmNhdGNoKCh0PT4oe3ZhbHVlOnQsW2FdOjB9KSkpLnRoZW4oKHQ9Pntjb25zdFthLG9dPU0odCk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2lkOmN9KSxvKSwiUkVMRUFTRSI9PT11JiYoci5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKSxsKHIpLG4gaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJmVbbl0oKSl9KSkuY2F0Y2goKHQ9Pntjb25zdFtlLG5dPU0oe3ZhbHVlOm5ldyBUeXBlRXJyb3IoIlVuc2VyaWFsaXphYmxlIHJldHVybiB2YWx1ZSIpLFthXTowfSk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2lkOmN9KSxuKX0pKX0pKSxyLnN0YXJ0JiZyLnN0YXJ0KCl9ZnVuY3Rpb24gbCh0KXsoZnVuY3Rpb24odCl7cmV0dXJuIk1lc3NhZ2VQb3J0Ij09PXQuY29uc3RydWN0b3IubmFtZX0pKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gaCh0KXtpZih0KXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4geSh0LHt0eXBlOiJSRUxFQVNFIn0pLnRoZW4oKCgpPT57bCh0KX0pKX1jb25zdCB1PW5ldyBXZWFrTWFwLGY9IkZpbmFsaXphdGlvblJlZ2lzdHJ5ImluIGdsb2JhbFRoaXMmJm5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgodD0+e2NvbnN0IGU9KHUuZ2V0KHQpfHwwKS0xO3Uuc2V0KHQsZSksMD09PWUmJmModCl9KSk7ZnVuY3Rpb24gbSh0LG49W10sYT1mdW5jdGlvbigpe30pe2xldCBvPSExO2NvbnN0IHM9bmV3IFByb3h5KGEse2dldChlLGEpe2lmKGgobyksYT09PXIpcmV0dXJuKCk9PnshZnVuY3Rpb24odCl7ZiYmZi51bnJlZ2lzdGVyKHQpfShzKSxjKHQpLG89ITB9O2lmKCJ0aGVuIj09PWEpe2lmKDA9PT1uLmxlbmd0aClyZXR1cm57dGhlbjooKT0+c307Y29uc3QgZT15KHQse3R5cGU6IkdFVCIscGF0aDpuLm1hcCgodD0+dC50b1N0cmluZygpKSl9KS50aGVuKGQpO3JldHVybiBlLnRoZW4uYmluZChlKX1yZXR1cm4gbSh0LFsuLi5uLGFdKX0sc2V0KGUscixhKXtoKG8pO2NvbnN0W3MsaV09TShhKTtyZXR1cm4geSh0LHt0eXBlOiJTRVQiLHBhdGg6Wy4uLm4scl0ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSx2YWx1ZTpzfSxpKS50aGVuKGQpfSxhcHBseShyLGEscyl7aChvKTtjb25zdCBpPW5bbi5sZW5ndGgtMV07aWYoaT09PWUpcmV0dXJuIHkodCx7dHlwZToiRU5EUE9JTlQifSkudGhlbihkKTtpZigiYmluZCI9PT1pKXJldHVybiBtKHQsbi5zbGljZSgwLC0xKSk7Y29uc3RbbCxjXT1wKHMpO3JldHVybiB5KHQse3R5cGU6IkFQUExZIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6bH0sYykudGhlbihkKX0sY29uc3RydWN0KGUscil7aChvKTtjb25zdFthLHNdPXAocik7cmV0dXJuIHkodCx7dHlwZToiQ09OU1RSVUNUIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6YX0scykudGhlbihkKX19KTtyZXR1cm4gZnVuY3Rpb24odCxlKXtjb25zdCByPSh1LmdldChlKXx8MCkrMTt1LnNldChlLHIpLGYmJmYucmVnaXN0ZXIodCxlLHQpfShzLHQpLHN9ZnVuY3Rpb24gcCh0KXtjb25zdCBlPXQubWFwKE0pO3JldHVybltlLm1hcCgodD0+dFswXSkpLChyPWUubWFwKCh0PT50WzFdKSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxyKSldO3ZhciByfWNvbnN0IGc9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0KXtmb3IoY29uc3RbZSxyXW9mIHMpaWYoci5jYW5IYW5kbGUodCkpe2NvbnN0W24sYV09ci5zZXJpYWxpemUodCk7cmV0dXJuW3t0eXBlOiJIQU5ETEVSIixuYW1lOmUsdmFsdWU6bn0sYV19cmV0dXJuW3t0eXBlOiJSQVciLHZhbHVlOnR9LGcuZ2V0KHQpfHxbXV19ZnVuY3Rpb24gZCh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkhBTkRMRVIiOnJldHVybiBzLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UiUkFXIjpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24geSh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57Y29uc3QgYT1uZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkpLmpvaW4oIi0iKTt0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbiBlKHIpe3IuZGF0YSYmci5kYXRhLmlkJiZyLmRhdGEuaWQ9PT1hJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixlKSxuKHIuZGF0YSkpfSkpLHQuc3RhcnQmJnQuc3RhcnQoKSx0LnBvc3RNZXNzYWdlKE9iamVjdC5hc3NpZ24oe2lkOmF9LGUpLHIpfSkpfXZhciBiPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCIjIiwiJCIsIiUiLCIqIiwiKyIsIiwiLCItIiwiLiIsIjoiLCI7IiwiPSIsIj8iLCJAIiwiWyIsIl0iLCJeIiwiXyIsInsiLCJ8IiwifSIsIn4iXSx3PXQ9PntsZXQgZT0wO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtsZXQgbj10W3JdO2U9ODMqZStiLmluZGV4T2Yobil9cmV0dXJuIGV9LEU9KHQsZSk9Pnt2YXIgcj0iIjtmb3IobGV0IG49MTtuPD1lO24rKyl7bGV0IGE9TWF0aC5mbG9vcih0KS9NYXRoLnBvdyg4MyxlLW4pJTgzO3IrPWJbTWF0aC5mbG9vcihhKV19cmV0dXJuIHJ9LHY9dD0+e2xldCBlPXQvMjU1O3JldHVybiBlPD0uMDQwNDU/ZS8xMi45MjpNYXRoLnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpfSxTPXQ9PntsZXQgZT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpO3JldHVybiBlPD0uMDAzMTMwOD9NYXRoLnRydW5jKDEyLjkyKmUqMjU1Ky41KTpNYXRoLnRydW5jKDI1NSooMS4wNTUqTWF0aC5wb3coZSwuNDE2NjY2NjY2NjY2NjY2NyktLjA1NSkrLjUpfSx4PSh0LGUpPT4odD0+dDwwPy0xOjEpKHQpKk1hdGgucG93KE1hdGguYWJzKHQpLGUpLGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IlZhbGlkYXRpb25FcnJvciIsdGhpcy5tZXNzYWdlPXR9fSxQPXQ9PntpZighdHx8dC5sZW5ndGg8Nil0aHJvdyBuZXcgaygiVGhlIGJsdXJoYXNoIHN0cmluZyBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycyIpO2xldCBlPXcodFswXSkscj1NYXRoLmZsb29yKGUvOSkrMSxuPWUlOSsxO2lmKHQubGVuZ3RoIT09NCsyKm4qcil0aHJvdyBuZXcgayhgYmx1cmhhc2ggbGVuZ3RoIG1pc21hdGNoOiBsZW5ndGggaXMgJHt0Lmxlbmd0aH0gYnV0IGl0IHNob3VsZCBiZSAkezQrMipuKnJ9YCl9LEE9dD0+e2xldCBlPXQ+PjgmMjU1LHI9MjU1JnQ7cmV0dXJuW3YodD4+MTYpLHYoZSksdihyKV19LFQ9KHQsZSk9PntsZXQgcj1NYXRoLmZsb29yKHQvMzYxKSxuPU1hdGguZmxvb3IodC8xOSklMTksYT10JTE5O3JldHVyblt4KChyLTkpLzksMikqZSx4KChuLTkpLzksMikqZSx4KChhLTkpLzksMikqZV19LEw9KHQsZSxyLG4pPT57bGV0IGE9MCxvPTAscz0wLGk9NCplO2ZvcihsZXQgaD0wO2g8ZTtoKyspe2xldCBlPTQqaDtmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgcj1lK2wqaSxjPW4oaCxsKTthKz1jKnYodFtyXSksbys9Yyp2KHRbcisxXSkscys9Yyp2KHRbcisyXSl9fWxldCBsPTEvKGUqcik7cmV0dXJuW2EqbCxvKmwscypsXX0sUj0odCxlLHIsbixhKT0+e2lmKG48MXx8bj45fHxhPDF8fGE+OSl0aHJvdyBuZXcgaygiQmx1ckhhc2ggbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgOSBjb21wb25lbnRzIik7aWYoZSpyKjQhPT10Lmxlbmd0aCl0aHJvdyBuZXcgaygiV2lkdGggYW5kIGhlaWdodCBtdXN0IG1hdGNoIHRoZSBwaXhlbHMgYXJyYXkiKTtsZXQgbz1bXTtmb3IobGV0IGM9MDtjPGE7YysrKWZvcihsZXQgYT0wO2E8bjthKyspe2xldCBuPTA9PWEmJjA9PWM/MToyLHM9TCh0LGUsciwoKHQsbyk9Pm4qTWF0aC5jb3MoTWF0aC5QSSphKnQvZSkqTWF0aC5jb3MoTWF0aC5QSSpjKm8vcikpKTtvLnB1c2gocyl9bGV0IHMsaT1vWzBdLGw9by5zbGljZSgxKSxoPSIiO2lmKGgrPUUobi0xKzkqKGEtMSksMSksbC5sZW5ndGg+MCl7bGV0IHQ9TWF0aC5tYXgoLi4ubC5tYXAoKHQ9Pk1hdGgubWF4KC4uLnQpKSkpLGU9TWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDgyLE1hdGguZmxvb3IoMTY2KnQtLjUpKSkpO3M9KGUrMSkvMTY2LGgrPUUoZSwxKX1lbHNlIHM9MSxoKz1FKDAsMSk7cmV0dXJuIGgrPUUoKHQ9PihTKHRbMF0pPDwxNikrKFModFsxXSk8PDgpK1ModFsyXSkpKGkpLDQpLGwuZm9yRWFjaCgodD0+e2grPUUoKCh0LGUpPT4xOSpNYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oMTgsTWF0aC5mbG9vcig5KngodFswXS9lLC41KSs5LjUpKSkpKjE5KzE5Kk1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbigxOCxNYXRoLmZsb29yKDkqeCh0WzFdL2UsLjUpKzkuNSkpKSkrTWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDE4LE1hdGguZmxvb3IoOSp4KHRbMl0vZSwuNSkrOS41KSkpKSkodCxzKSwyKX0pKSxofTtpKHtWYWxpZGF0aW9uRXJyb3I6ayxlbmNvZGU6UixkZWNvZGU6KHQsZSxyLG4pPT57UCh0KSxufD0xO2xldCBhPXcodFswXSksbz1NYXRoLmZsb29yKGEvOSkrMSxzPWElOSsxLGk9KHcodFsxXSkrMSkvMTY2LGw9bmV3IEFycmF5KHMqbyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspaWYoMD09PXUpe2xldCBlPXcodC5zdWJzdHJpbmcoMiw2KSk7bFt1XT1BKGUpfWVsc2V7bGV0IGU9dyh0LnN1YnN0cmluZyg0KzIqdSw2KzIqdSkpO2xbdV09VChlLGkqbil9bGV0IGg9NCplLGM9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqcik7Zm9yKGxldCB1PTA7dTxyO3UrKylmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgbj0wLGE9MCxpPTA7Zm9yKGxldCBoPTA7aDxvO2grKylmb3IobGV0IG89MDtvPHM7bysrKXtsZXQgYz1NYXRoLmNvcyhNYXRoLlBJKnQqby9lKSpNYXRoLmNvcyhNYXRoLlBJKnUqaC9yKSxmPWxbbytoKnNdO24rPWZbMF0qYyxhKz1mWzFdKmMsaSs9ZlsyXSpjfWxldCBmPVMobiksbT1TKGEpLHA9UyhpKTtjWzQqdCswK3UqaF09ZixjWzQqdCsxK3UqaF09bSxjWzQqdCsyK3UqaF09cCxjWzQqdCszK3UqaF09MjU1fXJldHVybiBjfSxpc0JsdXJoYXNoVmFsaWQ6dD0+e3RyeXtQKHQpfWNhdGNoKGUpe3JldHVybntyZXN1bHQ6ITEsZXJyb3JSZWFzb246ZS5tZXNzYWdlfX1yZXR1cm57cmVzdWx0OiEwfX19KX0oKTsK",t="undefined"!=typeof window&&window.Blob&&new Blob([(Z=K,Uint8Array.from(atob(Z),(i=>i.charCodeAt(0))))],{type:"text/javascript;charset=utf-8"});var Z;const I=l.wrap(new function(i){let d;try{if(d=t&&(window.URL||window.webkitURL).createObjectURL(t),!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:text/javascript;base64,"+K,{name:null==i?void 0:i.name})}finally{d&&(window.URL||window.webkitURL).revokeObjectURL(d)}});function p(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=m.get(i);return d&&d instanceof Map?Array.from(null==d?void 0:d.values()).sort(((i,d)=>i.timestamp-d.timestamp)):[]}));return{groups:m,alerts:i(),addAlert:({id:i=crypto.randomUUID(),group:d=c,title:l,icon:b=o,content:K,footer:t,modifiers:Z="info",dismissable:I=true,autoClose:p=1e4,timestamp:X=Date.now()}={})=>{m.has(d)||m.set(d,new Map);const n=m.get(d),h="string"==typeof Z?Z.split(" "):Z;if(!b){const i=h.find((i=>s.has(i)));i&&(b=s.get(i))}null==n||n.set(i.toString(),{id:i,group:d,title:l,icon:b,content:K,footer:t,modifiers:Z,dismissable:I,autoClose:p,timestamp:X})},removeAlert:(i,d=c)=>{const l=m.get(d);null==l||l.delete(i.toString())},getAlerts:i}},i.useBlurhash=()=>({encode:async function(i){const d=URL.createObjectURL(i),l=await p(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}),m=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(m)return I.encode(m,i,d,4,4)}var c,o,s},decode:I.decode,loadImage:p}),Object.defineProperty(i,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"]]),m=d.reactive(new Map([[c,new Map]]));const K="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOwovKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAogICAqL2NvbnN0IHQ9U3ltYm9sKCJDb21saW5rLnByb3h5IiksZT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxyPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxuPVN5bWJvbCgiQ29tbGluay5maW5hbGl6ZXIiKSxhPVN5bWJvbCgiQ29tbGluay50aHJvd24iKSxvPXQ9PiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LHM9bmV3IE1hcChbWyJwcm94eSIse2NhbkhhbmRsZTplPT5vKGUpJiZlW3RdLHNlcmlhbGl6ZSh0KXtjb25zdHtwb3J0MTplLHBvcnQyOnJ9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaSh0LGUpLFtyLFtyXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksbSh0LFtdLGUpO3ZhciBlfX1dLFsidGhyb3ciLHtjYW5IYW5kbGU6dD0+byh0KSYmYSBpbiB0LHNlcmlhbGl6ZSh7dmFsdWU6dH0pe2xldCBlO3JldHVybiBlPXQgaW5zdGFuY2VvZiBFcnJvcj97aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFja319Ontpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7aWYodC5pc0Vycm9yKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk7dGhyb3cgdC52YWx1ZX19XV0pO2Z1bmN0aW9uIGkoZSxyPWdsb2JhbFRoaXMsbz1bIioiXSl7ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24gcyhoKXtpZighaHx8IWguZGF0YSlyZXR1cm47aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKGNvbnN0IHIgb2YgdCl7aWYoZT09PXJ8fCIqIj09PXIpcmV0dXJuITA7aWYociBpbnN0YW5jZW9mIFJlZ0V4cCYmci50ZXN0KGUpKXJldHVybiEwfXJldHVybiExfShvLGgub3JpZ2luKSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oYEludmFsaWQgb3JpZ2luICcke2gub3JpZ2lufScgZm9yIGNvbWxpbmsgcHJveHlgKTtjb25zdHtpZDpjLHR5cGU6dSxwYXRoOmZ9PU9iamVjdC5hc3NpZ24oe3BhdGg6W119LGguZGF0YSksbT0oaC5kYXRhLmFyZ3VtZW50TGlzdHx8W10pLm1hcChkKTtsZXQgcDt0cnl7Y29uc3Qgcj1mLnNsaWNlKDAsLTEpLnJlZHVjZSgoKHQsZSk9PnRbZV0pLGUpLG49Zi5yZWR1Y2UoKCh0LGUpPT50W2VdKSxlKTtzd2l0Y2godSl7Y2FzZSJHRVQiOnA9bjticmVhaztjYXNlIlNFVCI6cltmLnNsaWNlKC0xKVswXV09ZChoLmRhdGEudmFsdWUpLHA9ITA7YnJlYWs7Y2FzZSJBUFBMWSI6cD1uLmFwcGx5KHIsbSk7YnJlYWs7Y2FzZSJDT05TVFJVQ1QiOnA9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7W3RdOiEwfSl9KG5ldyBuKC4uLm0pKTticmVhaztjYXNlIkVORFBPSU5UIjp7Y29uc3R7cG9ydDE6dCxwb3J0MjpyfT1uZXcgTWVzc2FnZUNoYW5uZWw7aShlLHIpLHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZy5zZXQodCxlKSx0fSh0LFt0XSl9YnJlYWs7Y2FzZSJSRUxFQVNFIjpwPXZvaWQgMDticmVhaztkZWZhdWx0OnJldHVybn19Y2F0Y2goeSl7cD17dmFsdWU6eSxbYV06MH19UHJvbWlzZS5yZXNvbHZlKHApLmNhdGNoKCh0PT4oe3ZhbHVlOnQsW2FdOjB9KSkpLnRoZW4oKHQ9Pntjb25zdFthLG9dPU0odCk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sYSkse2lkOmN9KSxvKSwiUkVMRUFTRSI9PT11JiYoci5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKSxsKHIpLG4gaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJmVbbl0oKSl9KSkuY2F0Y2goKHQ9Pntjb25zdFtlLG5dPU0oe3ZhbHVlOm5ldyBUeXBlRXJyb3IoIlVuc2VyaWFsaXphYmxlIHJldHVybiB2YWx1ZSIpLFthXTowfSk7ci5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2lkOmN9KSxuKX0pKX0pKSxyLnN0YXJ0JiZyLnN0YXJ0KCl9ZnVuY3Rpb24gbCh0KXsoZnVuY3Rpb24odCl7cmV0dXJuIk1lc3NhZ2VQb3J0Ij09PXQuY29uc3RydWN0b3IubmFtZX0pKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gaCh0KXtpZih0KXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4geSh0LHt0eXBlOiJSRUxFQVNFIn0pLnRoZW4oKCgpPT57bCh0KX0pKX1jb25zdCB1PW5ldyBXZWFrTWFwLGY9IkZpbmFsaXphdGlvblJlZ2lzdHJ5ImluIGdsb2JhbFRoaXMmJm5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgodD0+e2NvbnN0IGU9KHUuZ2V0KHQpfHwwKS0xO3Uuc2V0KHQsZSksMD09PWUmJmModCl9KSk7ZnVuY3Rpb24gbSh0LG49W10sYT1mdW5jdGlvbigpe30pe2xldCBvPSExO2NvbnN0IHM9bmV3IFByb3h5KGEse2dldChlLGEpe2lmKGgobyksYT09PXIpcmV0dXJuKCk9PnshZnVuY3Rpb24odCl7ZiYmZi51bnJlZ2lzdGVyKHQpfShzKSxjKHQpLG89ITB9O2lmKCJ0aGVuIj09PWEpe2lmKDA9PT1uLmxlbmd0aClyZXR1cm57dGhlbjooKT0+c307Y29uc3QgZT15KHQse3R5cGU6IkdFVCIscGF0aDpuLm1hcCgodD0+dC50b1N0cmluZygpKSl9KS50aGVuKGQpO3JldHVybiBlLnRoZW4uYmluZChlKX1yZXR1cm4gbSh0LFsuLi5uLGFdKX0sc2V0KGUscixhKXtoKG8pO2NvbnN0W3MsaV09TShhKTtyZXR1cm4geSh0LHt0eXBlOiJTRVQiLHBhdGg6Wy4uLm4scl0ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSx2YWx1ZTpzfSxpKS50aGVuKGQpfSxhcHBseShyLGEscyl7aChvKTtjb25zdCBpPW5bbi5sZW5ndGgtMV07aWYoaT09PWUpcmV0dXJuIHkodCx7dHlwZToiRU5EUE9JTlQifSkudGhlbihkKTtpZigiYmluZCI9PT1pKXJldHVybiBtKHQsbi5zbGljZSgwLC0xKSk7Y29uc3RbbCxjXT1wKHMpO3JldHVybiB5KHQse3R5cGU6IkFQUExZIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6bH0sYykudGhlbihkKX0sY29uc3RydWN0KGUscil7aChvKTtjb25zdFthLHNdPXAocik7cmV0dXJuIHkodCx7dHlwZToiQ09OU1RSVUNUIixwYXRoOm4ubWFwKCh0PT50LnRvU3RyaW5nKCkpKSxhcmd1bWVudExpc3Q6YX0scykudGhlbihkKX19KTtyZXR1cm4gZnVuY3Rpb24odCxlKXtjb25zdCByPSh1LmdldChlKXx8MCkrMTt1LnNldChlLHIpLGYmJmYucmVnaXN0ZXIodCxlLHQpfShzLHQpLHN9ZnVuY3Rpb24gcCh0KXtjb25zdCBlPXQubWFwKE0pO3JldHVybltlLm1hcCgodD0+dFswXSkpLChyPWUubWFwKCh0PT50WzFdKSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxyKSldO3ZhciByfWNvbnN0IGc9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0KXtmb3IoY29uc3RbZSxyXW9mIHMpaWYoci5jYW5IYW5kbGUodCkpe2NvbnN0W24sYV09ci5zZXJpYWxpemUodCk7cmV0dXJuW3t0eXBlOiJIQU5ETEVSIixuYW1lOmUsdmFsdWU6bn0sYV19cmV0dXJuW3t0eXBlOiJSQVciLHZhbHVlOnR9LGcuZ2V0KHQpfHxbXV19ZnVuY3Rpb24gZCh0KXtzd2l0Y2godC50eXBlKXtjYXNlIkhBTkRMRVIiOnJldHVybiBzLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UiUkFXIjpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24geSh0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57Y29uc3QgYT1uZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkpLmpvaW4oIi0iKTt0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbiBlKHIpe3IuZGF0YSYmci5kYXRhLmlkJiZyLmRhdGEuaWQ9PT1hJiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixlKSxuKHIuZGF0YSkpfSkpLHQuc3RhcnQmJnQuc3RhcnQoKSx0LnBvc3RNZXNzYWdlKE9iamVjdC5hc3NpZ24oe2lkOmF9LGUpLHIpfSkpfXZhciBiPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCIjIiwiJCIsIiUiLCIqIiwiKyIsIiwiLCItIiwiLiIsIjoiLCI7IiwiPSIsIj8iLCJAIiwiWyIsIl0iLCJeIiwiXyIsInsiLCJ8IiwifSIsIn4iXSx3PXQ9PntsZXQgZT0wO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtsZXQgbj10W3JdO2U9ODMqZStiLmluZGV4T2Yobil9cmV0dXJuIGV9LEU9KHQsZSk9Pnt2YXIgcj0iIjtmb3IobGV0IG49MTtuPD1lO24rKyl7bGV0IGE9TWF0aC5mbG9vcih0KS9NYXRoLnBvdyg4MyxlLW4pJTgzO3IrPWJbTWF0aC5mbG9vcihhKV19cmV0dXJuIHJ9LHY9dD0+e2xldCBlPXQvMjU1O3JldHVybiBlPD0uMDQwNDU/ZS8xMi45MjpNYXRoLnBvdygoZSsuMDU1KS8xLjA1NSwyLjQpfSxTPXQ9PntsZXQgZT1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpO3JldHVybiBlPD0uMDAzMTMwOD9NYXRoLnRydW5jKDEyLjkyKmUqMjU1Ky41KTpNYXRoLnRydW5jKDI1NSooMS4wNTUqTWF0aC5wb3coZSwuNDE2NjY2NjY2NjY2NjY2NyktLjA1NSkrLjUpfSx4PSh0LGUpPT4odD0+dDwwPy0xOjEpKHQpKk1hdGgucG93KE1hdGguYWJzKHQpLGUpLGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IlZhbGlkYXRpb25FcnJvciIsdGhpcy5tZXNzYWdlPXR9fSxQPXQ9PntpZighdHx8dC5sZW5ndGg8Nil0aHJvdyBuZXcgaygiVGhlIGJsdXJoYXNoIHN0cmluZyBtdXN0IGJlIGF0IGxlYXN0IDYgY2hhcmFjdGVycyIpO2xldCBlPXcodFswXSkscj1NYXRoLmZsb29yKGUvOSkrMSxuPWUlOSsxO2lmKHQubGVuZ3RoIT09NCsyKm4qcil0aHJvdyBuZXcgayhgYmx1cmhhc2ggbGVuZ3RoIG1pc21hdGNoOiBsZW5ndGggaXMgJHt0Lmxlbmd0aH0gYnV0IGl0IHNob3VsZCBiZSAkezQrMipuKnJ9YCl9LEE9dD0+e2xldCBlPXQ+PjgmMjU1LHI9MjU1JnQ7cmV0dXJuW3YodD4+MTYpLHYoZSksdihyKV19LFQ9KHQsZSk9PntsZXQgcj1NYXRoLmZsb29yKHQvMzYxKSxuPU1hdGguZmxvb3IodC8xOSklMTksYT10JTE5O3JldHVyblt4KChyLTkpLzksMikqZSx4KChuLTkpLzksMikqZSx4KChhLTkpLzksMikqZV19LEw9KHQsZSxyLG4pPT57bGV0IGE9MCxvPTAscz0wLGk9NCplO2ZvcihsZXQgaD0wO2g8ZTtoKyspe2xldCBlPTQqaDtmb3IobGV0IGw9MDtsPHI7bCsrKXtsZXQgcj1lK2wqaSxjPW4oaCxsKTthKz1jKnYodFtyXSksbys9Yyp2KHRbcisxXSkscys9Yyp2KHRbcisyXSl9fWxldCBsPTEvKGUqcik7cmV0dXJuW2EqbCxvKmwscypsXX0sUj0odCxlLHIsbixhKT0+e2lmKG48MXx8bj45fHxhPDF8fGE+OSl0aHJvdyBuZXcgaygiQmx1ckhhc2ggbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgOSBjb21wb25lbnRzIik7aWYoZSpyKjQhPT10Lmxlbmd0aCl0aHJvdyBuZXcgaygiV2lkdGggYW5kIGhlaWdodCBtdXN0IG1hdGNoIHRoZSBwaXhlbHMgYXJyYXkiKTtsZXQgbz1bXTtmb3IobGV0IGM9MDtjPGE7YysrKWZvcihsZXQgYT0wO2E8bjthKyspe2xldCBuPTA9PWEmJjA9PWM/MToyLHM9TCh0LGUsciwoKHQsbyk9Pm4qTWF0aC5jb3MoTWF0aC5QSSphKnQvZSkqTWF0aC5jb3MoTWF0aC5QSSpjKm8vcikpKTtvLnB1c2gocyl9bGV0IHMsaT1vWzBdLGw9by5zbGljZSgxKSxoPSIiO2lmKGgrPUUobi0xKzkqKGEtMSksMSksbC5sZW5ndGg+MCl7bGV0IHQ9TWF0aC5tYXgoLi4ubC5tYXAoKHQ9Pk1hdGgubWF4KC4uLnQpKSkpLGU9TWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDgyLE1hdGguZmxvb3IoMTY2KnQtLjUpKSkpO3M9KGUrMSkvMTY2LGgrPUUoZSwxKX1lbHNlIHM9MSxoKz1FKDAsMSk7cmV0dXJuIGgrPUUoKHQ9PihTKHRbMF0pPDwxNikrKFModFsxXSk8PDgpK1ModFsyXSkpKGkpLDQpLGwuZm9yRWFjaCgodD0+e2grPUUoKCh0LGUpPT4xOSpNYXRoLmZsb29yKE1hdGgubWF4KDAsTWF0aC5taW4oMTgsTWF0aC5mbG9vcig5KngodFswXS9lLC41KSs5LjUpKSkpKjE5KzE5Kk1hdGguZmxvb3IoTWF0aC5tYXgoMCxNYXRoLm1pbigxOCxNYXRoLmZsb29yKDkqeCh0WzFdL2UsLjUpKzkuNSkpKSkrTWF0aC5mbG9vcihNYXRoLm1heCgwLE1hdGgubWluKDE4LE1hdGguZmxvb3IoOSp4KHRbMl0vZSwuNSkrOS41KSkpKSkodCxzKSwyKX0pKSxofTtpKHtWYWxpZGF0aW9uRXJyb3I6ayxlbmNvZGU6UixkZWNvZGU6KHQsZSxyLG4pPT57UCh0KSxufD0xO2xldCBhPXcodFswXSksbz1NYXRoLmZsb29yKGEvOSkrMSxzPWElOSsxLGk9KHcodFsxXSkrMSkvMTY2LGw9bmV3IEFycmF5KHMqbyk7Zm9yKGxldCB1PTA7dTxsLmxlbmd0aDt1KyspaWYoMD09PXUpe2xldCBlPXcodC5zdWJzdHJpbmcoMiw2KSk7bFt1XT1BKGUpfWVsc2V7bGV0IGU9dyh0LnN1YnN0cmluZyg0KzIqdSw2KzIqdSkpO2xbdV09VChlLGkqbil9bGV0IGg9NCplLGM9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqcik7Zm9yKGxldCB1PTA7dTxyO3UrKylmb3IobGV0IHQ9MDt0PGU7dCsrKXtsZXQgbj0wLGE9MCxpPTA7Zm9yKGxldCBoPTA7aDxvO2grKylmb3IobGV0IG89MDtvPHM7bysrKXtsZXQgYz1NYXRoLmNvcyhNYXRoLlBJKnQqby9lKSpNYXRoLmNvcyhNYXRoLlBJKnUqaC9yKSxmPWxbbytoKnNdO24rPWZbMF0qYyxhKz1mWzFdKmMsaSs9ZlsyXSpjfWxldCBmPVMobiksbT1TKGEpLHA9UyhpKTtjWzQqdCswK3UqaF09ZixjWzQqdCsxK3UqaF09bSxjWzQqdCsyK3UqaF09cCxjWzQqdCszK3UqaF09MjU1fXJldHVybiBjfSxpc0JsdXJoYXNoVmFsaWQ6dD0+e3RyeXtQKHQpfWNhdGNoKGUpe3JldHVybntyZXN1bHQ6ITEsZXJyb3JSZWFzb246ZS5tZXNzYWdlfX1yZXR1cm57cmVzdWx0OiEwfX19KX0oKTsK",t="undefined"!=typeof window&&window.Blob&&new Blob([(Z=K,Uint8Array.from(atob(Z),(i=>i.charCodeAt(0))))],{type:"text/javascript;charset=utf-8"});var Z;const I=l.wrap(new function(i){let d;try{if(d=t&&(window.URL||window.webkitURL).createObjectURL(t),!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:text/javascript;base64,"+K,{name:null==i?void 0:i.name})}finally{d&&(window.URL||window.webkitURL).revokeObjectURL(d)}});function n(i){return new Promise(((d,l)=>{const b=new Image;b.onload=()=>d(b),b.onerror=(...i)=>l(i),b.src=i}))}i.useAlert=function(){const i=(i=c)=>d.computed((()=>{const d=m.get(i);return d&&d instanceof Map?Array.from(null==d?void 0:d.values()).sort(((i,d)=>i.timestamp-d.timestamp)):[]}));return{groups:m,alerts:i(),addAlert:({id:i=crypto.randomUUID(),group:d=c,title:l,icon:b=o,content:K,footer:t,modifiers:Z="info",dismissable:I=true,autoClose:n=1e4,timestamp:X=Date.now()}={})=>{m.has(d)||m.set(d,new Map);const p=m.get(d),h="string"==typeof Z?Z.split(" "):Z;if(!b){const i=h.find((i=>s.has(i)));i&&(b=s.get(i))}null==p||p.set(i.toString(),{id:i,group:d,title:l,icon:b,content:K,footer:t,modifiers:Z,dismissable:I,autoClose:n,timestamp:X})},removeAlert:(i,d=c)=>{const l=m.get(d);null==l||l.delete(i.toString())},getAlerts:i}},i.useBlurhash=function(){return{encode:async function(i){const d=URL.createObjectURL(i),l=await n(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}),m=await async function(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(m)return I.encode(m,i,d,4,4)}var c,o,s},decode:I.decode,loadImage:n}},Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
@@ -1,5 +1,5 @@
1
1
  declare function loadImage(src: string): Promise<CanvasImageSource>;
2
- export declare const useBlurhash: () => {
2
+ export declare function useBlurhash(): {
3
3
  encode: (file: File) => Promise<string | undefined>;
4
4
  decode: import("comlink").Remote<(blurhash: string, width: number, height: number, punch?: number | undefined) => Uint8ClampedArray>;
5
5
  loadImage: typeof loadImage;
@@ -1,2 +1,3 @@
1
+ import type { Ref } from 'vue';
1
2
  import { StorageType } from '@/constants';
2
- export declare const usePersistence: <T>(storageKey: Ref<string | undefined> | undefined, storageType?: Ref<`${StorageType}`> | `${StorageType}`, defaultValue?: T) => globalThis.WritableComputedRef<T | undefined>;
3
+ export declare function usePersistence<T>(storageKey: Ref<string | undefined> | undefined, storageType?: Ref<`${StorageType}`> | `${StorageType}`, defaultValue?: T): globalThis.WritableComputedRef<T | undefined>;
@@ -1,2 +1,2 @@
1
1
  import type { Ref } from 'vue';
2
- export declare const useUniqueId: (id?: Ref<string | number | undefined>) => globalThis.ComputedRef<string>;
2
+ export declare function useUniqueId(id?: Ref<string | number | undefined>): globalThis.ComputedRef<string>;
@@ -310,8 +310,11 @@ function useModifiers(prefix, modifiers, others) {
310
310
  return toReturn;
311
311
  });
312
312
  }
313
+ const __default__ = {
314
+ name: "VvTooltip"
315
+ };
313
316
  const _sfc_main = /* @__PURE__ */ defineComponent({
314
- __name: "VvTooltip",
317
+ ...__default__,
315
318
  props: VvTooltipProps,
316
319
  setup(__props) {
317
320
  const props = __props;
@@ -388,7 +391,7 @@ const contextmenu = {
388
391
  }
389
392
  el.addEventListener(
390
393
  "contextmenu",
391
- function(ev) {
394
+ (ev) => {
392
395
  var _a2, _b2, _c2;
393
396
  if ((_a2 = binding.value) == null ? void 0 : _a2.show) {
394
397
  ev.preventDefault();
@@ -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.local="local",e.session="session",e))(o||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{});Boolean,Boolean,Boolean,Boolean;const u={modifiers:{type:[String,Array],default:void 0}};l.before,n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,a.button,i.button,o.local;const r={...u,position:{type:String,default:n.bottom},value:{type:String}};const s=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},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.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))}}),v=(()=>({beforeMount(e,o){const n=t.h(s,{value:o.value,position:o.arg});t.render(n,e)},updated(e,o){const n=t.h(s,{value:o.value,position:o.arg});t.render(n,e)}}))(),f={beforeUpdate(e,o){var n,l,a;const i=t.ref(0),u=t.ref(0),r={getBoundingClientRect:()=>({width:0,height:0,x:i.value,y:u.value,top:u.value,left:i.value,right:i.value,bottom:u.value})};(null==(n=o.value)?void 0:n.init)&&(null==(a=(l=o.value).init)||a.call(l,r)),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,u.value=e.clientY,null==(l=(n=o.value).show)||l.call(n),!1}),!1)}};e.vContextmenu=f,e.vTooltip=v,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
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.local="local",e.session="session",e))(o||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{});Boolean,Boolean,Boolean,Boolean;const u={modifiers:{type:[String,Array],default:void 0}};l.before,n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,a.button,i.button,o.local;const r={...u,position:{type:String,default:n.bottom},value:{type:String}};const s=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},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.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))}}),v=(()=>({beforeMount(e,o){const n=t.h(s,{value:o.value,position:o.arg});t.render(n,e)},updated(e,o){const n=t.h(s,{value:o.value,position:o.arg});t.render(n,e)}}))(),f={beforeUpdate(e,o){var n,l,a;const i=t.ref(0),u=t.ref(0),r={getBoundingClientRect:()=>({width:0,height:0,x:i.value,y:u.value,top:u.value,left:i.value,right:i.value,bottom:u.value})};(null==(n=o.value)?void 0:n.init)&&(null==(a=(l=o.value).init)||a.call(l,r)),e.addEventListener("contextmenu",(e=>{var t,n,l;if(null==(t=o.value)?void 0:t.show)return e.preventDefault(),i.value=e.clientX,u.value=e.clientY,null==(l=(n=o.value).show)||l.call(n),!1}),!1)}};e.vContextmenu=f,e.vTooltip=v,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -23,7 +23,7 @@ const contextmenu = {
23
23
  }
24
24
  el.addEventListener(
25
25
  "contextmenu",
26
- function(ev) {
26
+ (ev) => {
27
27
  var _a2, _b2, _c2;
28
28
  if ((_a2 = binding.value) == null ? void 0 : _a2.show) {
29
29
  ev.preventDefault();
@@ -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)["v-contextmenu"]=t(e.vue)}(this,(function(e){"use strict";return{beforeUpdate(t,l){var n,u,i;const o=e.ref(0),a=e.ref(0),v={getBoundingClientRect:()=>({width:0,height:0,x:o.value,y:a.value,top:a.value,left:o.value,right:o.value,bottom:a.value})};(null==(n=l.value)?void 0:n.init)&&(null==(i=(u=l.value).init)||i.call(u,v)),t.addEventListener("contextmenu",(function(e){var t,n,u;if(null==(t=l.value)?void 0:t.show)return e.preventDefault(),o.value=e.clientX,a.value=e.clientY,null==(u=(n=l.value).show)||u.call(n),!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)["v-contextmenu"]=t(e.vue)}(this,(function(e){"use strict";return{beforeUpdate(t,l){var n,u,i;const o=e.ref(0),a=e.ref(0),v={getBoundingClientRect:()=>({width:0,height:0,x:o.value,y:a.value,top:a.value,left:o.value,right:o.value,bottom:a.value})};(null==(n=l.value)?void 0:n.init)&&(null==(i=(u=l.value).init)||i.call(u,v)),t.addEventListener("contextmenu",(e=>{var t,n,u;if(null==(t=l.value)?void 0:t.show)return e.preventDefault(),o.value=e.clientX,a.value=e.clientY,null==(u=(n=l.value).show)||u.call(n),!1}),!1)}}}));
@@ -310,8 +310,11 @@ function useModifiers(prefix, modifiers, others) {
310
310
  return toReturn;
311
311
  });
312
312
  }
313
+ const __default__ = {
314
+ name: "VvTooltip"
315
+ };
313
316
  const _sfc_main = /* @__PURE__ */ defineComponent({
314
- __name: "VvTooltip",
317
+ ...__default__,
315
318
  props: VvTooltipProps,
316
319
  setup(__props) {
317
320
  const props = __props;
@@ -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.local="local",e.session="session",e))(o||{}),t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{});Boolean,Boolean,Boolean,Boolean;const i={modifiers:{type:[String,Array],default:void 0}};n.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,l.button,r.button,o.local;const a={...i,position:{type:String,default:t.bottom},value:{type:String}};const u=e.defineComponent({__name:"VvTooltip",props:a,setup(o){const t=o,{modifiers:n}=e.toRefs(t),l=function(o,t,n){return e.computed((()=>{const l={[o]:!0},r="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{l[`${o}--${t}`]=e.unref(n.value[t])})),l}))}("vv-tooltip",n,e.computed((()=>({[t.position]:!0}))));return(o,t)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(l)),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)}}))()}));
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.local="local",e.session="session",e))(o||{}),t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{});Boolean,Boolean,Boolean,Boolean;const i={modifiers:{type:[String,Array],default:void 0}};n.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,l.button,r.button,o.local;const a={...i,position:{type:String,default:t.bottom},value:{type:String}};const u=e.defineComponent({name:"VvTooltip",props:a,setup(o){const t=o,{modifiers:n}=e.toRefs(t),l=function(o,t,n){return e.computed((()=>{const l={[o]:!0},r="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((t=>{l[`${o}--${t}`]=e.unref(n.value[t])})),l}))}("vv-tooltip",n,e.computed((()=>({[t.position]:!0}))));return(o,t)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(l)),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)}}))()}));
package/dist/icons.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const prefix$2 = "normal";
2
- const lastModified$2 = 1717613567;
2
+ const lastModified$2 = 1717671901;
3
3
  const icons$3 = {
4
4
  add: {
5
5
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M4 12h16m-8-8v16"/>'
@@ -614,7 +614,7 @@ const normal = {
614
614
  height: height$1
615
615
  };
616
616
  const prefix$1 = "detailed";
617
- const lastModified$1 = 1717613567;
617
+ const lastModified$1 = 1717671901;
618
618
  const icons$2 = {
619
619
  add: {
620
620
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M4 15.999h24m-12-12v24"/>'
@@ -1227,7 +1227,7 @@ const detailed = {
1227
1227
  height
1228
1228
  };
1229
1229
  const prefix = "simple";
1230
- const lastModified = 1717613567;
1230
+ const lastModified = 1717671901;
1231
1231
  const icons$1 = {
1232
1232
  add: {
1233
1233
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" d="M.5 8h15M8 .5v15"/>'