@volverjs/ui-vue 0.0.10-beta.11 → 0.0.10-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auto-imports.d.ts +1 -0
- package/dist/components/VvInputFile/VvInputFile.es.js +1529 -0
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +141 -0
- package/dist/components/VvInputFile/index.d.ts +52 -0
- package/dist/components/VvTab/VvTab.es.js +2 -2
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTab/VvTab.vue.d.ts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.es.js +635 -312
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.es.js +77 -1
- package/dist/composables/index.umd.js +1 -1
- package/dist/composables/useBlurhash.d.ts +7 -0
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
- package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
- package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
- package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
- package/dist/stories/InputFile/InputFileModifiers.stories.d.ts +9 -0
- package/dist/stories/InputFile/InputFileSlots.stories.d.ts +6 -0
- package/dist/types/blurhash.d.ts +12 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/input-file.d.ts +14 -0
- package/dist/workers/blurhash.d.ts +1 -0
- package/package.json +13 -1
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvInputFile/VvInputFile.vue +274 -0
- package/src/components/VvInputFile/index.ts +36 -0
- package/src/components/VvTab/VvTab.vue +2 -2
- package/src/components/index.ts +1 -0
- package/src/composables/index.ts +1 -0
- package/src/composables/useBlurhash.ts +76 -0
- package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
- package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
- package/src/stories/InputFile/InputFile.settings.ts +36 -0
- package/src/stories/InputFile/InputFile.stories.ts +90 -0
- package/src/stories/InputFile/InputFileModifiers.stories.ts +51 -0
- package/src/stories/InputFile/InputFileSlots.stories.ts +25 -0
- package/src/types/blurhash.ts +21 -0
- package/src/types/index.ts +2 -0
- package/src/types/input-file.ts +16 -0
- package/src/workers/blurhash.ts +9 -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,80 @@ 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() {
|
|
84
|
+
let objURL;
|
|
85
|
+
try {
|
|
86
|
+
objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
|
|
87
|
+
if (!objURL)
|
|
88
|
+
throw "";
|
|
89
|
+
return new Worker(objURL);
|
|
90
|
+
} catch (e) {
|
|
91
|
+
return new Worker("data:application/javascript;base64," + encodedJs);
|
|
92
|
+
} finally {
|
|
93
|
+
objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const remoteFunction = wrap(new WorkerWrapper());
|
|
97
|
+
function loadImage(src) {
|
|
98
|
+
return new Promise((resolve, reject) => {
|
|
99
|
+
const img = new Image();
|
|
100
|
+
img.onload = () => resolve(img);
|
|
101
|
+
img.onerror = (...args) => reject(args);
|
|
102
|
+
img.src = src;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
const getWidthHeightFromMaxSize = (width, height, maxSize) => {
|
|
106
|
+
if (width > height) {
|
|
107
|
+
return {
|
|
108
|
+
width: maxSize,
|
|
109
|
+
height: Math.round(maxSize * (height / width))
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
width: Math.round(maxSize * (width / height)),
|
|
114
|
+
height: maxSize
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
const resizeImage = async (image, width, height) => {
|
|
118
|
+
var _a;
|
|
119
|
+
const resizer = new pica();
|
|
120
|
+
const canvas = document.createElement("canvas");
|
|
121
|
+
canvas.width = width;
|
|
122
|
+
canvas.height = height;
|
|
123
|
+
const result = await resizer.resize(image, canvas);
|
|
124
|
+
return (_a = result.getContext("2d")) == null ? void 0 : _a.getImageData(0, 0, width, height).data;
|
|
125
|
+
};
|
|
126
|
+
const useBlurhash = () => {
|
|
127
|
+
async function encode(file) {
|
|
128
|
+
const imageUrl = URL.createObjectURL(file);
|
|
129
|
+
const image = await loadImage(imageUrl);
|
|
130
|
+
if ("width" in image && "height" in image) {
|
|
131
|
+
const { width: newWidth, height: newHeight } = getWidthHeightFromMaxSize(
|
|
132
|
+
image.width,
|
|
133
|
+
image.height,
|
|
134
|
+
32
|
|
135
|
+
);
|
|
136
|
+
const imageData = await resizeImage(
|
|
137
|
+
image,
|
|
138
|
+
newWidth,
|
|
139
|
+
newHeight
|
|
140
|
+
);
|
|
141
|
+
if (imageData) {
|
|
142
|
+
return remoteFunction.encode(
|
|
143
|
+
imageData,
|
|
144
|
+
newWidth,
|
|
145
|
+
newHeight,
|
|
146
|
+
4,
|
|
147
|
+
4
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return { encode, decode: remoteFunction.decode, loadImage };
|
|
153
|
+
};
|
|
79
154
|
export {
|
|
80
|
-
useAlert
|
|
155
|
+
useAlert,
|
|
156
|
+
useBlurhash
|
|
81
157
|
};
|
|
@@ -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 I=l.wrap(new function(){let i;try{if(i=Z&&(window.URL||window.webkitURL).createObjectURL(Z),!i)throw"";return new Worker(i)}catch(d){return new Worker("data:application/javascript;base64,"+m)}finally{i&&(window.URL||window.webkitURL).revokeObjectURL(i)}});function t(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:I="info",dismissable:t=true,autoClose:p=1e4}={})=>{K.has(d)||K.set(d,new Map);const X=K.get(d),h="string"==typeof I?I.split(" "):I;if(!b){const i=h.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:I,dismissable:t,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 t(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 I.encode(K,i,d,4,4)}var c,o,s},decode:I.decode,loadImage:t}),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 {};
|
package/dist/icons.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const prefix$2 = "normal";
|
|
2
|
-
const lastModified$2 =
|
|
2
|
+
const lastModified$2 = 1697194530;
|
|
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 =
|
|
617
|
+
const lastModified$1 = 1697194530;
|
|
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 =
|
|
1230
|
+
const lastModified = 1697194530;
|
|
1231
1231
|
const icons$1 = {
|
|
1232
1232
|
add: {
|
|
1233
1233
|
body: '<path fill="none" stroke="currentColor" stroke-linecap="round" d="M.5 8h15M8 .5v15"/>'
|