@mevbg/nuxt-kit 0.1.8 → 0.1.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.
Files changed (29) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +34 -5
  3. package/dist/runtime/composables/index.d.ts +7 -0
  4. package/dist/runtime/composables/index.js +7 -0
  5. package/dist/runtime/composables/useErrorHandler.d.ts +4 -0
  6. package/dist/runtime/composables/useErrorHandler.js +11 -0
  7. package/dist/runtime/composables/useHeadLinks.d.ts +6 -0
  8. package/dist/runtime/composables/useHeadLinks.js +84 -0
  9. package/dist/runtime/composables/useMetaData.d.ts +39 -0
  10. package/dist/runtime/composables/useMetaData.js +51 -0
  11. package/dist/runtime/composables/useNetworkListener.d.ts +4 -0
  12. package/dist/runtime/composables/useNetworkListener.js +19 -0
  13. package/dist/runtime/composables/useNotificationSystem.d.ts +9 -0
  14. package/dist/runtime/composables/useNotificationSystem.js +23 -0
  15. package/dist/runtime/composables/useScrollDirectionUp.d.ts +1 -0
  16. package/dist/runtime/composables/useScrollDirectionUp.js +13 -0
  17. package/dist/runtime/configs/floating-vue.config.d.ts +7 -0
  18. package/dist/runtime/configs/floating-vue.config.js +10 -0
  19. package/dist/runtime/configs/index.d.ts +2 -0
  20. package/dist/runtime/configs/index.js +2 -0
  21. package/dist/runtime/configs/vue3-toastify.config.d.ts +6 -0
  22. package/dist/runtime/configs/vue3-toastify.config.js +28 -0
  23. package/dist/runtime/plugins/notification-system.plugin.d.ts +643 -0
  24. package/dist/runtime/plugins/notification-system.plugin.js +10 -0
  25. package/dist/runtime/plugins/tooltip-system.plugin.d.ts +3 -0
  26. package/dist/runtime/plugins/tooltip-system.plugin.js +7 -0
  27. package/package.json +17 -2
  28. /package/dist/runtime/composables/{client-info.composable.d.ts → useClientInfo.d.ts} +0 -0
  29. /package/dist/runtime/composables/{client-info.composable.js → useClientInfo.js} +0 -0
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mevbg/nuxt-kit",
3
3
  "configKey": "mevKit",
4
- "version": "0.1.8",
4
+ "version": "0.1.13",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.0"
package/dist/module.mjs CHANGED
@@ -18,16 +18,45 @@ const module = defineNuxtModule({
18
18
  },
19
19
  async setup(options, nuxt) {
20
20
  nuxt.options.runtimeConfig.public.wm = options.wm;
21
- await installModule("@mevbg/nuxt-color-scheme", {
22
- default: options.colorScheme?.default ?? DEFAULT_COLOR_SCHEME,
23
- systemScheme: options.colorScheme?.systemScheme ?? true
24
- });
21
+ Promise.all([
22
+ installModule("@vueuse/nuxt"),
23
+ installModule("@mevbg/nuxt-color-scheme", {
24
+ default: options.colorScheme?.default ?? DEFAULT_COLOR_SCHEME,
25
+ systemScheme: options.colorScheme?.systemScheme ?? true
26
+ })
27
+ ]);
25
28
  const resolver = createResolver(import.meta.url);
26
29
  addPlugin(resolver.resolve("./runtime/plugins/wm.plugin"));
30
+ addPlugin(resolver.resolve("./runtime/plugins/notification-system.plugin"));
31
+ addPlugin(resolver.resolve("./runtime/plugins/tooltip-system.plugin"));
27
32
  addImports([
28
33
  {
29
34
  name: "useClientInfo",
30
- from: resolver.resolve("./runtime/composables/client-info.composable")
35
+ from: resolver.resolve("./runtime/composables/useClientInfo")
36
+ },
37
+ {
38
+ name: "useErrorHandler",
39
+ from: resolver.resolve("./runtime/composables/useErrorHandler")
40
+ },
41
+ {
42
+ name: "useNetworkListener",
43
+ from: resolver.resolve("./runtime/composables/useNetworkListener")
44
+ },
45
+ {
46
+ name: "useNotificationSystem",
47
+ from: resolver.resolve("./runtime/composables/useNotificationSystem")
48
+ },
49
+ {
50
+ name: "useScrollDirectionUp",
51
+ from: resolver.resolve("./runtime/composables/useScrollDirectionUp")
52
+ },
53
+ {
54
+ name: "useMetaData",
55
+ from: resolver.resolve("./runtime/composables/useMetaData")
56
+ },
57
+ {
58
+ name: "useHeadLinks",
59
+ from: resolver.resolve("./runtime/composables/useHeadLinks")
31
60
  }
32
61
  ]);
33
62
  addServerImportsDir(resolver.resolve("./runtime/server/utils"));
@@ -0,0 +1,7 @@
1
+ export * from './useClientInfo.js';
2
+ export * from './useErrorHandler.js';
3
+ export * from './useHeadLinks.js';
4
+ export * from './useMetaData.js';
5
+ export * from './useNetworkListener.js';
6
+ export * from './useNotificationSystem.js';
7
+ export * from './useScrollDirectionUp.js';
@@ -0,0 +1,7 @@
1
+ export * from "./useClientInfo.js";
2
+ export * from "./useErrorHandler.js";
3
+ export * from "./useHeadLinks.js";
4
+ export * from "./useMetaData.js";
5
+ export * from "./useNetworkListener.js";
6
+ export * from "./useNotificationSystem.js";
7
+ export * from "./useScrollDirectionUp.js";
@@ -0,0 +1,4 @@
1
+ export declare function useErrorHandler(): {
2
+ showErrorPage: (err: Error) => import("#app").NuxtError<unknown>;
3
+ showErrorNotification: (err: Error) => void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { showError } from "#app";
2
+ import { useNotificationSystem } from "./useNotificationSystem.js";
3
+ export function useErrorHandler() {
4
+ const { notifyError } = useNotificationSystem();
5
+ const showErrorPage = (err) => showError(err);
6
+ const showErrorNotification = (err) => notifyError(err.message);
7
+ return {
8
+ showErrorPage,
9
+ showErrorNotification
10
+ };
11
+ }
@@ -0,0 +1,6 @@
1
+ type Manifest = {
2
+ rel: string;
3
+ href: string;
4
+ };
5
+ export declare function useHeadLinks(path?: string): Manifest[];
6
+ export {};
@@ -0,0 +1,84 @@
1
+ export function useHeadLinks(path = "/assets") {
2
+ const manifests = [
3
+ { rel: "manifest", href: `${path}/manifest.webmanifest` },
4
+ { rel: "yandex-tableau-widget", href: `${path}/yandex-browser-manifest.json` }
5
+ ];
6
+ const favicons = [
7
+ { rel: "icon", type: "image/x-icon", href: `${path}/favicon.ico` },
8
+ { rel: "icon", type: "image/png", sizes: "16x16", href: `${path}/favicon-16x16.png` },
9
+ { rel: "icon", type: "image/png", sizes: "32x32", href: `${path}/favicon-32x32.png` },
10
+ { rel: "icon", type: "image/png", sizes: "48x48", href: `${path}/favicon-48x48.png` }
11
+ ];
12
+ const appleTouchIcons = [
13
+ { rel: "apple-touch-icon", sizes: "57x57", href: `${path}/apple-touch-icon-57x57.png` },
14
+ { rel: "apple-touch-icon", sizes: "60x60", href: `${path}/apple-touch-icon-60x60.png` },
15
+ { rel: "apple-touch-icon", sizes: "72x72", href: `${path}/apple-touch-icon-72x72.png` },
16
+ { rel: "apple-touch-icon", sizes: "76x76", href: `${path}/apple-touch-icon-76x76.png` },
17
+ { rel: "apple-touch-icon", sizes: "114x114", href: `${path}/apple-touch-icon-114x114.png` },
18
+ { rel: "apple-touch-icon", sizes: "120x120", href: `${path}/apple-touch-icon-120x120.png` },
19
+ { rel: "apple-touch-icon", sizes: "144x144", href: `${path}/apple-touch-icon-144x144.png` },
20
+ { rel: "apple-touch-icon", sizes: "152x152", href: `${path}/apple-touch-icon-152x152.png` },
21
+ { rel: "apple-touch-icon", sizes: "167x167", href: `${path}/apple-touch-icon-167x167.png` },
22
+ { rel: "apple-touch-icon", sizes: "180x180", href: `${path}/apple-touch-icon-180x180.png` },
23
+ { rel: "apple-touch-icon", sizes: "1024x1024", href: `${path}/apple-touch-icon-1024x1024.png` }
24
+ ];
25
+ const appleTouchStartupImages = [
26
+ // iPod Touch 5th generation and later • iPhone SE
27
+ { rel: "apple-touch-startup-image", media: "(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-640x1136.png` },
28
+ { rel: "apple-touch-startup-image", media: "(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-1136x640.png` },
29
+ // iPhone SE • iPhone 6 • iPhone 6s • iPhone 7 • iPhone 8
30
+ { rel: "apple-touch-startup-image", media: "(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-750x1334.png` },
31
+ { rel: "apple-touch-startup-image", media: "(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-1334x750.png` },
32
+ // iPhone 6 Plus • iPhone 6s Plus • iPhone 7 Plus • iPhone 8 Plus
33
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1242x2208.png` },
34
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2208x1242.png` },
35
+ // iPhone XR • iPhone 11
36
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-828x1792.png` },
37
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-1792x828.png` },
38
+ // iPhone XS Max • iPhone 11 Pro Max
39
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1242x2688.png` },
40
+ { rel: "apple-touch-startup-image", media: "(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2688x1242.png` },
41
+ // iPhone X • iPhone XS • iPhone 11 Pro • iPhone 12 mini • iPhone 13 mini
42
+ { rel: "apple-touch-startup-image", media: "(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1125x2436.png` },
43
+ { rel: "apple-touch-startup-image", media: "(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2436x1125.png` },
44
+ // iPhone 12 • iPhone 12 Pro • iPhone 13 • iPhone 13 Pro • iPhone 14
45
+ { rel: "apple-touch-startup-image", media: "(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1170x2532.png` },
46
+ { rel: "apple-touch-startup-image", media: "(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2532x1170.png` },
47
+ // iPhone 12 Pro Max • iPhone 13 Pro Max • iPhone 14 Plus
48
+ { rel: "apple-touch-startup-image", media: "(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1284x2778.png` },
49
+ { rel: "apple-touch-startup-image", media: "(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2778x1284.png` },
50
+ // iPhone 14 Pro • iPhone 15 Pro • iPhone 15
51
+ { rel: "apple-touch-startup-image", media: "(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1179x2556.png` },
52
+ { rel: "apple-touch-startup-image", media: "(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2556x1179.png` },
53
+ // iPhone 14 Pro Max • iPhone 15 Pro Max • iPhone 15 Plus
54
+ { rel: "apple-touch-startup-image", media: "(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1290x2796.png` },
55
+ { rel: "apple-touch-startup-image", media: "(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2796x1290.png` },
56
+ // iPad 9.7 • iPad Air 9.7 • iPad Mini 7.9 • iPad Pro 9.7
57
+ { rel: "apple-touch-startup-image", media: "(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1536x2048.png` },
58
+ { rel: "apple-touch-startup-image", media: "(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2048x1536.png` },
59
+ // iPad 10.2
60
+ { rel: "apple-touch-startup-image", media: "(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1620x2160.png` },
61
+ { rel: "apple-touch-startup-image", media: "(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2160x1620.png` },
62
+ // iPad Air 10.5
63
+ { rel: "apple-touch-startup-image", media: "(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1668x2224.png` },
64
+ { rel: "apple-touch-startup-image", media: "(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2224x1668.png` },
65
+ // iPad 11 • iPad Pro 10.5
66
+ { rel: "apple-touch-startup-image", media: "(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1668x2388.png` },
67
+ { rel: "apple-touch-startup-image", media: "(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2388x1668.png` },
68
+ // iPad Pro 12.9
69
+ { rel: "apple-touch-startup-image", media: "(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-2048x2732.png` },
70
+ { rel: "apple-touch-startup-image", media: "(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2732x2048.png` },
71
+ // iPad Mini 8.3
72
+ { rel: "apple-touch-startup-image", media: "(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1488x2266.png` },
73
+ { rel: "apple-touch-startup-image", media: "(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2266x1488.png` },
74
+ // iPad Air 10.9
75
+ { rel: "apple-touch-startup-image", media: "(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)", href: `${path}/apple-touch-startup-image-1640x2360.png` },
76
+ { rel: "apple-touch-startup-image", media: "(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)", href: `${path}/apple-touch-startup-image-2360x1640.png` }
77
+ ];
78
+ return [
79
+ ...manifests,
80
+ ...favicons,
81
+ ...appleTouchIcons,
82
+ ...appleTouchStartupImages
83
+ ];
84
+ }
@@ -0,0 +1,39 @@
1
+ type MetaData = {
2
+ path: string;
3
+ locale: string;
4
+ homepage: string;
5
+ themeColor: string;
6
+ robots: boolean;
7
+ siteTitle: string;
8
+ siteDescription: string;
9
+ siteKeywords: string;
10
+ siteOwner: string;
11
+ siteImage: string;
12
+ googleSiteVerification?: string;
13
+ };
14
+ export declare function useMetaData({ path, locale, homepage, themeColor, robots, siteTitle, siteDescription, siteKeywords, siteOwner, siteImage, googleSiteVerification }: MetaData): ({
15
+ charset: string;
16
+ 'http-equiv'?: undefined;
17
+ content?: undefined;
18
+ name?: undefined;
19
+ property?: undefined;
20
+ } | {
21
+ 'http-equiv': string;
22
+ content: string;
23
+ charset?: undefined;
24
+ name?: undefined;
25
+ property?: undefined;
26
+ } | {
27
+ name: string;
28
+ content: string;
29
+ charset?: undefined;
30
+ 'http-equiv'?: undefined;
31
+ property?: undefined;
32
+ } | {
33
+ property: string;
34
+ content: string;
35
+ charset?: undefined;
36
+ 'http-equiv'?: undefined;
37
+ name?: undefined;
38
+ })[];
39
+ export {};
@@ -0,0 +1,51 @@
1
+ export function useMetaData({
2
+ path = "/assets",
3
+ locale,
4
+ homepage,
5
+ themeColor,
6
+ robots,
7
+ siteTitle,
8
+ siteDescription,
9
+ siteKeywords,
10
+ siteOwner,
11
+ siteImage,
12
+ googleSiteVerification
13
+ }) {
14
+ return [
15
+ { charset: "utf-8" },
16
+ { "http-equiv": "content-language", content: locale },
17
+ { "http-equiv": "X-UA-Compatible", content: "IE=edge" },
18
+ { name: "author", content: siteOwner },
19
+ { name: "copyright", content: siteOwner },
20
+ ...googleSiteVerification ? [{ name: "google-site-verification", content: googleSiteVerification }] : [],
21
+ { name: "description", content: siteDescription },
22
+ { name: "keywords", content: siteKeywords },
23
+ ...!robots ? [{ name: "robots", content: "noindex,nofollow" }] : [],
24
+ { name: "viewport", content: "width=device-width, initial-scale=1" },
25
+ { name: "application-name", content: siteTitle },
26
+ { name: "mobile-web-app-capable", content: "yes" },
27
+ { name: "theme-color", content: themeColor },
28
+ { name: "color-scheme", content: "light dark" },
29
+ { name: "apple-mobile-web-app-capable", content: "yes" },
30
+ { name: "apple-mobile-web-app-status-bar-style", content: "default" },
31
+ { name: "apple-mobile-web-app-title", content: siteTitle },
32
+ { name: "msapplication-TileColor", content: themeColor },
33
+ { name: "msapplication-TileImage", content: `${path}/mstile-144x144.png` },
34
+ { name: "msapplication-config", content: `${path}/browserconfig.xml` },
35
+ { property: "og:site_name", content: siteTitle },
36
+ { property: "og:title", content: siteTitle },
37
+ { property: "og:description", content: siteDescription },
38
+ { property: "og:type", content: "website" },
39
+ { property: "og:url", content: homepage },
40
+ { property: "og:locale", content: locale },
41
+ { property: "og:image", content: siteImage },
42
+ { property: "og:image:type", content: "image/png" },
43
+ { property: "og:image:width", content: "1200" },
44
+ { property: "og:image:height", content: "630" },
45
+ { property: "og:image:alt", content: siteTitle },
46
+ { name: "twitter:card", content: "summary_large_image" },
47
+ { name: "twitter:title", content: siteTitle },
48
+ { name: "twitter:description", content: siteDescription },
49
+ { name: "twitter:image", content: siteImage }
50
+ ];
51
+ }
@@ -0,0 +1,4 @@
1
+ export declare function useNetworkListener({ offlineMessage, onlineMessage }: {
2
+ offlineMessage: string;
3
+ onlineMessage: string;
4
+ }): void;
@@ -0,0 +1,19 @@
1
+ import { onMounted } from "vue";
2
+ import { useNotificationSystem } from "./useNotificationSystem.js";
3
+ export function useNetworkListener({
4
+ offlineMessage,
5
+ onlineMessage
6
+ }) {
7
+ const { notifyWarning, notifySuccess } = useNotificationSystem();
8
+ onMounted(() => {
9
+ if (!navigator.onLine) {
10
+ notifyWarning(offlineMessage);
11
+ }
12
+ window.addEventListener("offline", () => {
13
+ notifyWarning(offlineMessage);
14
+ });
15
+ window.addEventListener("online", () => {
16
+ notifySuccess(onlineMessage);
17
+ });
18
+ });
19
+ }
@@ -0,0 +1,9 @@
1
+ import type { ToastContainerOptions } from 'vue3-toastify';
2
+ export declare function useNotificationSystem(): {
3
+ notifyInfo: (label: string, config?: ToastContainerOptions) => void;
4
+ notifySuccess: (label: string, config?: ToastContainerOptions) => void;
5
+ notifyWarning: (label: string, config?: ToastContainerOptions) => void;
6
+ notifyError: (label: string, config?: ToastContainerOptions) => void;
7
+ clearAll: (containerId?: import("vue3-toastify").Id, withExitAnimation?: boolean) => void;
8
+ isActive: (toastId: import("vue3-toastify").Id) => boolean;
9
+ };
@@ -0,0 +1,23 @@
1
+ import { toast } from "vue3-toastify";
2
+ export function useNotificationSystem() {
3
+ const notifyInfo = (label, config = {}) => {
4
+ toast(label, { type: "info", ...config });
5
+ };
6
+ const notifySuccess = (label, config = {}) => {
7
+ toast(label, { type: "success", ...config });
8
+ };
9
+ const notifyWarning = (label, config = {}) => {
10
+ toast(label, { type: "warning", ...config });
11
+ };
12
+ const notifyError = (label, config = {}) => {
13
+ toast(label, { type: "error", ...config });
14
+ };
15
+ return {
16
+ notifyInfo,
17
+ notifySuccess,
18
+ notifyWarning,
19
+ notifyError,
20
+ clearAll: toast.clearAll,
21
+ isActive: toast.isActive
22
+ };
23
+ }
@@ -0,0 +1 @@
1
+ export declare function useScrollDirectionUp(threshold?: number): import("vue").Ref<boolean, boolean>;
@@ -0,0 +1,13 @@
1
+ import { useWindowScroll } from "@vueuse/core";
2
+ import { ref, watch } from "vue";
3
+ export function useScrollDirectionUp(threshold = 0) {
4
+ const { y } = useWindowScroll();
5
+ const lastY = ref(y.value);
6
+ const isScrollingUp = ref(false);
7
+ watch(y, (newY) => {
8
+ if (Math.abs(newY - lastY.value) < threshold) return;
9
+ isScrollingUp.value = newY < lastY.value;
10
+ lastY.value = newY;
11
+ });
12
+ return isScrollingUp;
13
+ }
@@ -0,0 +1,7 @@
1
+ export declare const floatingVueDefaultConfig: {
2
+ themes: {
3
+ tooltip: {
4
+ popperClass: string;
5
+ };
6
+ };
7
+ };
@@ -0,0 +1,10 @@
1
+ export const floatingVueDefaultConfig = {
2
+ themes: {
3
+ tooltip: {
4
+ popperClass: "text-script"
5
+ // placement: 'top',
6
+ // delay: { show: 200, hide: 0 }
7
+ // triggers: ['hover', 'focus', 'touch']
8
+ }
9
+ }
10
+ };
@@ -0,0 +1,2 @@
1
+ export * from './floating-vue.config.js';
2
+ export * from './vue3-toastify.config.js';
@@ -0,0 +1,2 @@
1
+ export * from "./floating-vue.config.js";
2
+ export * from "./vue3-toastify.config.js";
@@ -0,0 +1,6 @@
1
+ import type { ToastContainerOptions } from 'vue3-toastify';
2
+ export declare const transitions: ["bounce", "slide", "zoom", "flip"];
3
+ export declare const positions: ["top-right", "top-center", "top-left", "bottom-right", "bottom-center", "bottom-left"];
4
+ export declare const types: readonly ["info", "success", "warning", "error"];
5
+ export declare const toastifyDefaultType = "info";
6
+ export declare const toastifyDefaultConfig: ToastContainerOptions;
@@ -0,0 +1,28 @@
1
+ import { isMobileOnly } from "mobile-device-detect";
2
+ export const transitions = [
3
+ "bounce",
4
+ "slide",
5
+ "zoom",
6
+ "flip"
7
+ ];
8
+ export const positions = [
9
+ "top-right",
10
+ "top-center",
11
+ "top-left",
12
+ "bottom-right",
13
+ "bottom-center",
14
+ "bottom-left"
15
+ ];
16
+ export const types = ["info", "success", "warning", "error"];
17
+ export const toastifyDefaultType = "info";
18
+ export const toastifyDefaultConfig = {
19
+ // dangerouslyHTMLString: true,
20
+ position: isMobileOnly ? "top-center" : "top-right",
21
+ transition: "bounce",
22
+ autoClose: 5e3,
23
+ hideProgressBar: false,
24
+ pauseOnFocusLoss: true,
25
+ closeButton: true,
26
+ pauseOnHover: true,
27
+ closeOnClick: true
28
+ };
@@ -0,0 +1,643 @@
1
+ import 'vue3-toastify/dist/index.css';
2
+ declare const _default: import("#app").Plugin<{
3
+ toast: {
4
+ (content: import("vue3-toastify").Content, options?: import("vue3-toastify").ToastOptions): import("vue3-toastify").Id;
5
+ info(content: import("vue3-toastify").Content, options?: {
6
+ data?: {} | undefined;
7
+ icon?: import("vue3-toastify").IconType | undefined;
8
+ progress?: number | undefined;
9
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
10
+ position?: import("vue3-toastify").ToastPosition | undefined;
11
+ theme?: import("vue3-toastify").ToastTheme | undefined;
12
+ toastId?: import("vue3-toastify").Id | undefined;
13
+ updateId?: import("vue3-toastify").Id | undefined;
14
+ content?: import("vue3-toastify").Content;
15
+ delay?: number | undefined;
16
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
17
+ onClose?: (<T = {}>(props: T) => void) | undefined;
18
+ onClick?: ((event: MouseEvent) => void) | undefined;
19
+ toastStyle?: Record<string, any> | undefined;
20
+ isLoading?: boolean | undefined;
21
+ dangerouslyHTMLString?: boolean | undefined;
22
+ rtl?: boolean | undefined;
23
+ containerId?: import("vue3-toastify").Id | undefined;
24
+ autoClose?: number | boolean | undefined;
25
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
26
+ hideProgressBar?: boolean | undefined;
27
+ pauseOnHover?: boolean | undefined;
28
+ pauseOnFocusLoss?: boolean | undefined;
29
+ closeOnClick?: boolean | undefined;
30
+ toastClassName?: string | undefined;
31
+ bodyClassName?: string | undefined;
32
+ style?: Record<string, any> | undefined;
33
+ progressClassName?: string | undefined;
34
+ progressStyle?: Record<string, any> | undefined;
35
+ role?: string | undefined;
36
+ contentProps?: Record<string, any> | undefined;
37
+ expandCustomProps?: boolean | undefined;
38
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
39
+ }): import("vue3-toastify").Id;
40
+ error(content: import("vue3-toastify").Content, options?: {
41
+ data?: {} | undefined;
42
+ icon?: import("vue3-toastify").IconType | undefined;
43
+ progress?: number | undefined;
44
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
45
+ position?: import("vue3-toastify").ToastPosition | undefined;
46
+ theme?: import("vue3-toastify").ToastTheme | undefined;
47
+ toastId?: import("vue3-toastify").Id | undefined;
48
+ updateId?: import("vue3-toastify").Id | undefined;
49
+ content?: import("vue3-toastify").Content;
50
+ delay?: number | undefined;
51
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
52
+ onClose?: (<T = {}>(props: T) => void) | undefined;
53
+ onClick?: ((event: MouseEvent) => void) | undefined;
54
+ toastStyle?: Record<string, any> | undefined;
55
+ isLoading?: boolean | undefined;
56
+ dangerouslyHTMLString?: boolean | undefined;
57
+ rtl?: boolean | undefined;
58
+ containerId?: import("vue3-toastify").Id | undefined;
59
+ autoClose?: number | boolean | undefined;
60
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
61
+ hideProgressBar?: boolean | undefined;
62
+ pauseOnHover?: boolean | undefined;
63
+ pauseOnFocusLoss?: boolean | undefined;
64
+ closeOnClick?: boolean | undefined;
65
+ toastClassName?: string | undefined;
66
+ bodyClassName?: string | undefined;
67
+ style?: Record<string, any> | undefined;
68
+ progressClassName?: string | undefined;
69
+ progressStyle?: Record<string, any> | undefined;
70
+ role?: string | undefined;
71
+ contentProps?: Record<string, any> | undefined;
72
+ expandCustomProps?: boolean | undefined;
73
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
74
+ }): import("vue3-toastify").Id;
75
+ warning(content: import("vue3-toastify").Content, options?: {
76
+ data?: {} | undefined;
77
+ icon?: import("vue3-toastify").IconType | undefined;
78
+ progress?: number | undefined;
79
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
80
+ position?: import("vue3-toastify").ToastPosition | undefined;
81
+ theme?: import("vue3-toastify").ToastTheme | undefined;
82
+ toastId?: import("vue3-toastify").Id | undefined;
83
+ updateId?: import("vue3-toastify").Id | undefined;
84
+ content?: import("vue3-toastify").Content;
85
+ delay?: number | undefined;
86
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
87
+ onClose?: (<T = {}>(props: T) => void) | undefined;
88
+ onClick?: ((event: MouseEvent) => void) | undefined;
89
+ toastStyle?: Record<string, any> | undefined;
90
+ isLoading?: boolean | undefined;
91
+ dangerouslyHTMLString?: boolean | undefined;
92
+ rtl?: boolean | undefined;
93
+ containerId?: import("vue3-toastify").Id | undefined;
94
+ autoClose?: number | boolean | undefined;
95
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
96
+ hideProgressBar?: boolean | undefined;
97
+ pauseOnHover?: boolean | undefined;
98
+ pauseOnFocusLoss?: boolean | undefined;
99
+ closeOnClick?: boolean | undefined;
100
+ toastClassName?: string | undefined;
101
+ bodyClassName?: string | undefined;
102
+ style?: Record<string, any> | undefined;
103
+ progressClassName?: string | undefined;
104
+ progressStyle?: Record<string, any> | undefined;
105
+ role?: string | undefined;
106
+ contentProps?: Record<string, any> | undefined;
107
+ expandCustomProps?: boolean | undefined;
108
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
109
+ }): import("vue3-toastify").Id;
110
+ warn: (content: import("vue3-toastify").Content, options?: {
111
+ data?: {} | undefined;
112
+ icon?: import("vue3-toastify").IconType | undefined;
113
+ progress?: number | undefined;
114
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
115
+ position?: import("vue3-toastify").ToastPosition | undefined;
116
+ theme?: import("vue3-toastify").ToastTheme | undefined;
117
+ toastId?: import("vue3-toastify").Id | undefined;
118
+ updateId?: import("vue3-toastify").Id | undefined;
119
+ content?: import("vue3-toastify").Content;
120
+ delay?: number | undefined;
121
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
122
+ onClose?: (<T = {}>(props: T) => void) | undefined;
123
+ onClick?: ((event: MouseEvent) => void) | undefined;
124
+ toastStyle?: Record<string, any> | undefined;
125
+ isLoading?: boolean | undefined;
126
+ dangerouslyHTMLString?: boolean | undefined;
127
+ rtl?: boolean | undefined;
128
+ containerId?: import("vue3-toastify").Id | undefined;
129
+ autoClose?: number | boolean | undefined;
130
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
131
+ hideProgressBar?: boolean | undefined;
132
+ pauseOnHover?: boolean | undefined;
133
+ pauseOnFocusLoss?: boolean | undefined;
134
+ closeOnClick?: boolean | undefined;
135
+ toastClassName?: string | undefined;
136
+ bodyClassName?: string | undefined;
137
+ style?: Record<string, any> | undefined;
138
+ progressClassName?: string | undefined;
139
+ progressStyle?: Record<string, any> | undefined;
140
+ role?: string | undefined;
141
+ contentProps?: Record<string, any> | undefined;
142
+ expandCustomProps?: boolean | undefined;
143
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
144
+ }) => import("vue3-toastify").Id;
145
+ success(content: import("vue3-toastify").Content, options?: {
146
+ data?: {} | undefined;
147
+ icon?: import("vue3-toastify").IconType | undefined;
148
+ progress?: number | undefined;
149
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
150
+ position?: import("vue3-toastify").ToastPosition | undefined;
151
+ theme?: import("vue3-toastify").ToastTheme | undefined;
152
+ toastId?: import("vue3-toastify").Id | undefined;
153
+ updateId?: import("vue3-toastify").Id | undefined;
154
+ content?: import("vue3-toastify").Content;
155
+ delay?: number | undefined;
156
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
157
+ onClose?: (<T = {}>(props: T) => void) | undefined;
158
+ onClick?: ((event: MouseEvent) => void) | undefined;
159
+ toastStyle?: Record<string, any> | undefined;
160
+ isLoading?: boolean | undefined;
161
+ dangerouslyHTMLString?: boolean | undefined;
162
+ rtl?: boolean | undefined;
163
+ containerId?: import("vue3-toastify").Id | undefined;
164
+ autoClose?: number | boolean | undefined;
165
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
166
+ hideProgressBar?: boolean | undefined;
167
+ pauseOnHover?: boolean | undefined;
168
+ pauseOnFocusLoss?: boolean | undefined;
169
+ closeOnClick?: boolean | undefined;
170
+ toastClassName?: string | undefined;
171
+ bodyClassName?: string | undefined;
172
+ style?: Record<string, any> | undefined;
173
+ progressClassName?: string | undefined;
174
+ progressStyle?: Record<string, any> | undefined;
175
+ role?: string | undefined;
176
+ contentProps?: Record<string, any> | undefined;
177
+ expandCustomProps?: boolean | undefined;
178
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
179
+ }): import("vue3-toastify").Id;
180
+ loading(content: import("vue3-toastify").Content, options?: {
181
+ data?: {} | undefined;
182
+ type?: import("vue3-toastify").ToastType | undefined;
183
+ icon?: import("vue3-toastify").IconType | undefined;
184
+ progress?: number | undefined;
185
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
186
+ position?: import("vue3-toastify").ToastPosition | undefined;
187
+ theme?: import("vue3-toastify").ToastTheme | undefined;
188
+ disabledEnterTransition?: boolean | undefined;
189
+ toastId?: import("vue3-toastify").Id | undefined;
190
+ updateId?: import("vue3-toastify").Id | undefined;
191
+ content?: import("vue3-toastify").Content;
192
+ delay?: number | undefined;
193
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
194
+ onClose?: (<T = {}>(props: T) => void) | undefined;
195
+ onClick?: ((event: MouseEvent) => void) | undefined;
196
+ toastStyle?: Record<string, any> | undefined;
197
+ dangerouslyHTMLString?: boolean | undefined;
198
+ rtl?: boolean | undefined;
199
+ containerId?: import("vue3-toastify").Id | undefined;
200
+ autoClose?: number | boolean | undefined;
201
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
202
+ hideProgressBar?: boolean | undefined;
203
+ pauseOnHover?: boolean | undefined;
204
+ pauseOnFocusLoss?: boolean | undefined;
205
+ closeOnClick?: boolean | undefined;
206
+ toastClassName?: string | undefined;
207
+ bodyClassName?: string | undefined;
208
+ style?: Record<string, any> | undefined;
209
+ progressClassName?: string | undefined;
210
+ progressStyle?: Record<string, any> | undefined;
211
+ role?: string | undefined;
212
+ contentProps?: Record<string, any> | undefined;
213
+ expandCustomProps?: boolean | undefined;
214
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
215
+ }): import("vue3-toastify").Id;
216
+ dark(content: import("vue3-toastify").Content, options?: {
217
+ data?: {} | undefined;
218
+ type?: import("vue3-toastify").ToastType | undefined;
219
+ icon?: import("vue3-toastify").IconType | undefined;
220
+ progress?: number | undefined;
221
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
222
+ position?: import("vue3-toastify").ToastPosition | undefined;
223
+ disabledEnterTransition?: boolean | undefined;
224
+ toastId?: import("vue3-toastify").Id | undefined;
225
+ updateId?: import("vue3-toastify").Id | undefined;
226
+ content?: import("vue3-toastify").Content;
227
+ delay?: number | undefined;
228
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
229
+ onClose?: (<T = {}>(props: T) => void) | undefined;
230
+ onClick?: ((event: MouseEvent) => void) | undefined;
231
+ toastStyle?: Record<string, any> | undefined;
232
+ isLoading?: boolean | undefined;
233
+ dangerouslyHTMLString?: boolean | undefined;
234
+ rtl?: boolean | undefined;
235
+ containerId?: import("vue3-toastify").Id | undefined;
236
+ autoClose?: number | boolean | undefined;
237
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
238
+ hideProgressBar?: boolean | undefined;
239
+ pauseOnHover?: boolean | undefined;
240
+ pauseOnFocusLoss?: boolean | undefined;
241
+ closeOnClick?: boolean | undefined;
242
+ toastClassName?: string | undefined;
243
+ bodyClassName?: string | undefined;
244
+ style?: Record<string, any> | undefined;
245
+ progressClassName?: string | undefined;
246
+ progressStyle?: Record<string, any> | undefined;
247
+ role?: string | undefined;
248
+ contentProps?: Record<string, any> | undefined;
249
+ expandCustomProps?: boolean | undefined;
250
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
251
+ }): import("vue3-toastify").Id;
252
+ remove(toastId?: import("vue3-toastify").Id): void;
253
+ clearAll(containerId?: import("vue3-toastify").Id, withExitAnimation?: boolean): void;
254
+ isActive(toastId: import("vue3-toastify").Id): boolean;
255
+ update(toastId: import("vue3-toastify").Id, options?: import("vue3-toastify").UpdateOptions): void;
256
+ done(id: import("vue3-toastify").Id): void;
257
+ promise: <T = unknown>(promise: Promise<T> | (() => Promise<T>), { pending, error, success }: import("vue3-toastify").ToastPromiseParams<T>, options?: {
258
+ data?: {} | undefined;
259
+ type?: import("vue3-toastify").ToastType | undefined;
260
+ icon?: import("vue3-toastify").IconType | undefined;
261
+ progress?: number | undefined;
262
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
263
+ position?: import("vue3-toastify").ToastPosition | undefined;
264
+ theme?: import("vue3-toastify").ToastTheme | undefined;
265
+ disabledEnterTransition?: boolean | undefined;
266
+ toastId?: import("vue3-toastify").Id | undefined;
267
+ updateId?: import("vue3-toastify").Id | undefined;
268
+ content?: import("vue3-toastify").Content;
269
+ delay?: number | undefined;
270
+ onOpen?: (<T_1 = {}>(props: T_1) => void) | undefined;
271
+ onClose?: (<T_1 = {}>(props: T_1) => void) | undefined;
272
+ onClick?: ((event: MouseEvent) => void) | undefined;
273
+ toastStyle?: Record<string, any> | undefined;
274
+ dangerouslyHTMLString?: boolean | undefined;
275
+ rtl?: boolean | undefined;
276
+ containerId?: import("vue3-toastify").Id | undefined;
277
+ autoClose?: number | boolean | undefined;
278
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
279
+ hideProgressBar?: boolean | undefined;
280
+ pauseOnHover?: boolean | undefined;
281
+ pauseOnFocusLoss?: boolean | undefined;
282
+ closeOnClick?: boolean | undefined;
283
+ toastClassName?: string | undefined;
284
+ bodyClassName?: string | undefined;
285
+ style?: Record<string, any> | undefined;
286
+ progressClassName?: string | undefined;
287
+ progressStyle?: Record<string, any> | undefined;
288
+ role?: string | undefined;
289
+ contentProps?: Record<string, any> | undefined;
290
+ expandCustomProps?: boolean | undefined;
291
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
292
+ }) => Promise<T>;
293
+ POSITION: {
294
+ TOP_LEFT: import("vue3-toastify").ToastPosition;
295
+ TOP_RIGHT: import("vue3-toastify").ToastPosition;
296
+ TOP_CENTER: import("vue3-toastify").ToastPosition;
297
+ BOTTOM_LEFT: import("vue3-toastify").ToastPosition;
298
+ BOTTOM_RIGHT: import("vue3-toastify").ToastPosition;
299
+ BOTTOM_CENTER: import("vue3-toastify").ToastPosition;
300
+ };
301
+ THEME: {
302
+ AUTO: import("vue3-toastify").ToastTheme;
303
+ LIGHT: import("vue3-toastify").ToastTheme;
304
+ DARK: import("vue3-toastify").ToastTheme;
305
+ COLORED: import("vue3-toastify").ToastTheme;
306
+ };
307
+ TYPE: {
308
+ INFO: import("vue3-toastify").ToastType;
309
+ SUCCESS: import("vue3-toastify").ToastType;
310
+ WARNING: import("vue3-toastify").ToastType;
311
+ ERROR: import("vue3-toastify").ToastType;
312
+ DEFAULT: import("vue3-toastify").ToastType;
313
+ };
314
+ TRANSITIONS: {
315
+ FLIP: import("vue3-toastify").ToastTransition;
316
+ SLIDE: import("vue3-toastify").ToastTransition;
317
+ ZOOM: import("vue3-toastify").ToastTransition;
318
+ BOUNCE: import("vue3-toastify").ToastTransition;
319
+ NONE: import("vue3-toastify").ToastTransition;
320
+ };
321
+ };
322
+ }> & import("#app").ObjectPlugin<{
323
+ toast: {
324
+ (content: import("vue3-toastify").Content, options?: import("vue3-toastify").ToastOptions): import("vue3-toastify").Id;
325
+ info(content: import("vue3-toastify").Content, options?: {
326
+ data?: {} | undefined;
327
+ icon?: import("vue3-toastify").IconType | undefined;
328
+ progress?: number | undefined;
329
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
330
+ position?: import("vue3-toastify").ToastPosition | undefined;
331
+ theme?: import("vue3-toastify").ToastTheme | undefined;
332
+ toastId?: import("vue3-toastify").Id | undefined;
333
+ updateId?: import("vue3-toastify").Id | undefined;
334
+ content?: import("vue3-toastify").Content;
335
+ delay?: number | undefined;
336
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
337
+ onClose?: (<T = {}>(props: T) => void) | undefined;
338
+ onClick?: ((event: MouseEvent) => void) | undefined;
339
+ toastStyle?: Record<string, any> | undefined;
340
+ isLoading?: boolean | undefined;
341
+ dangerouslyHTMLString?: boolean | undefined;
342
+ rtl?: boolean | undefined;
343
+ containerId?: import("vue3-toastify").Id | undefined;
344
+ autoClose?: number | boolean | undefined;
345
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
346
+ hideProgressBar?: boolean | undefined;
347
+ pauseOnHover?: boolean | undefined;
348
+ pauseOnFocusLoss?: boolean | undefined;
349
+ closeOnClick?: boolean | undefined;
350
+ toastClassName?: string | undefined;
351
+ bodyClassName?: string | undefined;
352
+ style?: Record<string, any> | undefined;
353
+ progressClassName?: string | undefined;
354
+ progressStyle?: Record<string, any> | undefined;
355
+ role?: string | undefined;
356
+ contentProps?: Record<string, any> | undefined;
357
+ expandCustomProps?: boolean | undefined;
358
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
359
+ }): import("vue3-toastify").Id;
360
+ error(content: import("vue3-toastify").Content, options?: {
361
+ data?: {} | undefined;
362
+ icon?: import("vue3-toastify").IconType | undefined;
363
+ progress?: number | undefined;
364
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
365
+ position?: import("vue3-toastify").ToastPosition | undefined;
366
+ theme?: import("vue3-toastify").ToastTheme | undefined;
367
+ toastId?: import("vue3-toastify").Id | undefined;
368
+ updateId?: import("vue3-toastify").Id | undefined;
369
+ content?: import("vue3-toastify").Content;
370
+ delay?: number | undefined;
371
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
372
+ onClose?: (<T = {}>(props: T) => void) | undefined;
373
+ onClick?: ((event: MouseEvent) => void) | undefined;
374
+ toastStyle?: Record<string, any> | undefined;
375
+ isLoading?: boolean | undefined;
376
+ dangerouslyHTMLString?: boolean | undefined;
377
+ rtl?: boolean | undefined;
378
+ containerId?: import("vue3-toastify").Id | undefined;
379
+ autoClose?: number | boolean | undefined;
380
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
381
+ hideProgressBar?: boolean | undefined;
382
+ pauseOnHover?: boolean | undefined;
383
+ pauseOnFocusLoss?: boolean | undefined;
384
+ closeOnClick?: boolean | undefined;
385
+ toastClassName?: string | undefined;
386
+ bodyClassName?: string | undefined;
387
+ style?: Record<string, any> | undefined;
388
+ progressClassName?: string | undefined;
389
+ progressStyle?: Record<string, any> | undefined;
390
+ role?: string | undefined;
391
+ contentProps?: Record<string, any> | undefined;
392
+ expandCustomProps?: boolean | undefined;
393
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
394
+ }): import("vue3-toastify").Id;
395
+ warning(content: import("vue3-toastify").Content, options?: {
396
+ data?: {} | undefined;
397
+ icon?: import("vue3-toastify").IconType | undefined;
398
+ progress?: number | undefined;
399
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
400
+ position?: import("vue3-toastify").ToastPosition | undefined;
401
+ theme?: import("vue3-toastify").ToastTheme | undefined;
402
+ toastId?: import("vue3-toastify").Id | undefined;
403
+ updateId?: import("vue3-toastify").Id | undefined;
404
+ content?: import("vue3-toastify").Content;
405
+ delay?: number | undefined;
406
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
407
+ onClose?: (<T = {}>(props: T) => void) | undefined;
408
+ onClick?: ((event: MouseEvent) => void) | undefined;
409
+ toastStyle?: Record<string, any> | undefined;
410
+ isLoading?: boolean | undefined;
411
+ dangerouslyHTMLString?: boolean | undefined;
412
+ rtl?: boolean | undefined;
413
+ containerId?: import("vue3-toastify").Id | undefined;
414
+ autoClose?: number | boolean | undefined;
415
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
416
+ hideProgressBar?: boolean | undefined;
417
+ pauseOnHover?: boolean | undefined;
418
+ pauseOnFocusLoss?: boolean | undefined;
419
+ closeOnClick?: boolean | undefined;
420
+ toastClassName?: string | undefined;
421
+ bodyClassName?: string | undefined;
422
+ style?: Record<string, any> | undefined;
423
+ progressClassName?: string | undefined;
424
+ progressStyle?: Record<string, any> | undefined;
425
+ role?: string | undefined;
426
+ contentProps?: Record<string, any> | undefined;
427
+ expandCustomProps?: boolean | undefined;
428
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
429
+ }): import("vue3-toastify").Id;
430
+ warn: (content: import("vue3-toastify").Content, options?: {
431
+ data?: {} | undefined;
432
+ icon?: import("vue3-toastify").IconType | undefined;
433
+ progress?: number | undefined;
434
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
435
+ position?: import("vue3-toastify").ToastPosition | undefined;
436
+ theme?: import("vue3-toastify").ToastTheme | undefined;
437
+ toastId?: import("vue3-toastify").Id | undefined;
438
+ updateId?: import("vue3-toastify").Id | undefined;
439
+ content?: import("vue3-toastify").Content;
440
+ delay?: number | undefined;
441
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
442
+ onClose?: (<T = {}>(props: T) => void) | undefined;
443
+ onClick?: ((event: MouseEvent) => void) | undefined;
444
+ toastStyle?: Record<string, any> | undefined;
445
+ isLoading?: boolean | undefined;
446
+ dangerouslyHTMLString?: boolean | undefined;
447
+ rtl?: boolean | undefined;
448
+ containerId?: import("vue3-toastify").Id | undefined;
449
+ autoClose?: number | boolean | undefined;
450
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
451
+ hideProgressBar?: boolean | undefined;
452
+ pauseOnHover?: boolean | undefined;
453
+ pauseOnFocusLoss?: boolean | undefined;
454
+ closeOnClick?: boolean | undefined;
455
+ toastClassName?: string | undefined;
456
+ bodyClassName?: string | undefined;
457
+ style?: Record<string, any> | undefined;
458
+ progressClassName?: string | undefined;
459
+ progressStyle?: Record<string, any> | undefined;
460
+ role?: string | undefined;
461
+ contentProps?: Record<string, any> | undefined;
462
+ expandCustomProps?: boolean | undefined;
463
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
464
+ }) => import("vue3-toastify").Id;
465
+ success(content: import("vue3-toastify").Content, options?: {
466
+ data?: {} | undefined;
467
+ icon?: import("vue3-toastify").IconType | undefined;
468
+ progress?: number | undefined;
469
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
470
+ position?: import("vue3-toastify").ToastPosition | undefined;
471
+ theme?: import("vue3-toastify").ToastTheme | undefined;
472
+ toastId?: import("vue3-toastify").Id | undefined;
473
+ updateId?: import("vue3-toastify").Id | undefined;
474
+ content?: import("vue3-toastify").Content;
475
+ delay?: number | undefined;
476
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
477
+ onClose?: (<T = {}>(props: T) => void) | undefined;
478
+ onClick?: ((event: MouseEvent) => void) | undefined;
479
+ toastStyle?: Record<string, any> | undefined;
480
+ isLoading?: boolean | undefined;
481
+ dangerouslyHTMLString?: boolean | undefined;
482
+ rtl?: boolean | undefined;
483
+ containerId?: import("vue3-toastify").Id | undefined;
484
+ autoClose?: number | boolean | undefined;
485
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
486
+ hideProgressBar?: boolean | undefined;
487
+ pauseOnHover?: boolean | undefined;
488
+ pauseOnFocusLoss?: boolean | undefined;
489
+ closeOnClick?: boolean | undefined;
490
+ toastClassName?: string | undefined;
491
+ bodyClassName?: string | undefined;
492
+ style?: Record<string, any> | undefined;
493
+ progressClassName?: string | undefined;
494
+ progressStyle?: Record<string, any> | undefined;
495
+ role?: string | undefined;
496
+ contentProps?: Record<string, any> | undefined;
497
+ expandCustomProps?: boolean | undefined;
498
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
499
+ }): import("vue3-toastify").Id;
500
+ loading(content: import("vue3-toastify").Content, options?: {
501
+ data?: {} | undefined;
502
+ type?: import("vue3-toastify").ToastType | undefined;
503
+ icon?: import("vue3-toastify").IconType | undefined;
504
+ progress?: number | undefined;
505
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
506
+ position?: import("vue3-toastify").ToastPosition | undefined;
507
+ theme?: import("vue3-toastify").ToastTheme | undefined;
508
+ disabledEnterTransition?: boolean | undefined;
509
+ toastId?: import("vue3-toastify").Id | undefined;
510
+ updateId?: import("vue3-toastify").Id | undefined;
511
+ content?: import("vue3-toastify").Content;
512
+ delay?: number | undefined;
513
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
514
+ onClose?: (<T = {}>(props: T) => void) | undefined;
515
+ onClick?: ((event: MouseEvent) => void) | undefined;
516
+ toastStyle?: Record<string, any> | undefined;
517
+ dangerouslyHTMLString?: boolean | undefined;
518
+ rtl?: boolean | undefined;
519
+ containerId?: import("vue3-toastify").Id | undefined;
520
+ autoClose?: number | boolean | undefined;
521
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
522
+ hideProgressBar?: boolean | undefined;
523
+ pauseOnHover?: boolean | undefined;
524
+ pauseOnFocusLoss?: boolean | undefined;
525
+ closeOnClick?: boolean | undefined;
526
+ toastClassName?: string | undefined;
527
+ bodyClassName?: string | undefined;
528
+ style?: Record<string, any> | undefined;
529
+ progressClassName?: string | undefined;
530
+ progressStyle?: Record<string, any> | undefined;
531
+ role?: string | undefined;
532
+ contentProps?: Record<string, any> | undefined;
533
+ expandCustomProps?: boolean | undefined;
534
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
535
+ }): import("vue3-toastify").Id;
536
+ dark(content: import("vue3-toastify").Content, options?: {
537
+ data?: {} | undefined;
538
+ type?: import("vue3-toastify").ToastType | undefined;
539
+ icon?: import("vue3-toastify").IconType | undefined;
540
+ progress?: number | undefined;
541
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
542
+ position?: import("vue3-toastify").ToastPosition | undefined;
543
+ disabledEnterTransition?: boolean | undefined;
544
+ toastId?: import("vue3-toastify").Id | undefined;
545
+ updateId?: import("vue3-toastify").Id | undefined;
546
+ content?: import("vue3-toastify").Content;
547
+ delay?: number | undefined;
548
+ onOpen?: (<T = {}>(props: T) => void) | undefined;
549
+ onClose?: (<T = {}>(props: T) => void) | undefined;
550
+ onClick?: ((event: MouseEvent) => void) | undefined;
551
+ toastStyle?: Record<string, any> | undefined;
552
+ isLoading?: boolean | undefined;
553
+ dangerouslyHTMLString?: boolean | undefined;
554
+ rtl?: boolean | undefined;
555
+ containerId?: import("vue3-toastify").Id | undefined;
556
+ autoClose?: number | boolean | undefined;
557
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
558
+ hideProgressBar?: boolean | undefined;
559
+ pauseOnHover?: boolean | undefined;
560
+ pauseOnFocusLoss?: boolean | undefined;
561
+ closeOnClick?: boolean | undefined;
562
+ toastClassName?: string | undefined;
563
+ bodyClassName?: string | undefined;
564
+ style?: Record<string, any> | undefined;
565
+ progressClassName?: string | undefined;
566
+ progressStyle?: Record<string, any> | undefined;
567
+ role?: string | undefined;
568
+ contentProps?: Record<string, any> | undefined;
569
+ expandCustomProps?: boolean | undefined;
570
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
571
+ }): import("vue3-toastify").Id;
572
+ remove(toastId?: import("vue3-toastify").Id): void;
573
+ clearAll(containerId?: import("vue3-toastify").Id, withExitAnimation?: boolean): void;
574
+ isActive(toastId: import("vue3-toastify").Id): boolean;
575
+ update(toastId: import("vue3-toastify").Id, options?: import("vue3-toastify").UpdateOptions): void;
576
+ done(id: import("vue3-toastify").Id): void;
577
+ promise: <T = unknown>(promise: Promise<T> | (() => Promise<T>), { pending, error, success }: import("vue3-toastify").ToastPromiseParams<T>, options?: {
578
+ data?: {} | undefined;
579
+ type?: import("vue3-toastify").ToastType | undefined;
580
+ icon?: import("vue3-toastify").IconType | undefined;
581
+ progress?: number | undefined;
582
+ transition?: (import("vue3-toastify").ToastTransition | import("vue3-toastify").CSSTransitionProps) | undefined;
583
+ position?: import("vue3-toastify").ToastPosition | undefined;
584
+ theme?: import("vue3-toastify").ToastTheme | undefined;
585
+ disabledEnterTransition?: boolean | undefined;
586
+ toastId?: import("vue3-toastify").Id | undefined;
587
+ updateId?: import("vue3-toastify").Id | undefined;
588
+ content?: import("vue3-toastify").Content;
589
+ delay?: number | undefined;
590
+ onOpen?: (<T_1 = {}>(props: T_1) => void) | undefined;
591
+ onClose?: (<T_1 = {}>(props: T_1) => void) | undefined;
592
+ onClick?: ((event: MouseEvent) => void) | undefined;
593
+ toastStyle?: Record<string, any> | undefined;
594
+ dangerouslyHTMLString?: boolean | undefined;
595
+ rtl?: boolean | undefined;
596
+ containerId?: import("vue3-toastify").Id | undefined;
597
+ autoClose?: number | boolean | undefined;
598
+ closeButton?: import("vue3-toastify").CloseBtnType | undefined;
599
+ hideProgressBar?: boolean | undefined;
600
+ pauseOnHover?: boolean | undefined;
601
+ pauseOnFocusLoss?: boolean | undefined;
602
+ closeOnClick?: boolean | undefined;
603
+ toastClassName?: string | undefined;
604
+ bodyClassName?: string | undefined;
605
+ style?: Record<string, any> | undefined;
606
+ progressClassName?: string | undefined;
607
+ progressStyle?: Record<string, any> | undefined;
608
+ role?: string | undefined;
609
+ contentProps?: Record<string, any> | undefined;
610
+ expandCustomProps?: boolean | undefined;
611
+ useHandler?: ((app: import("vue").App<Element>) => void) | undefined;
612
+ }) => Promise<T>;
613
+ POSITION: {
614
+ TOP_LEFT: import("vue3-toastify").ToastPosition;
615
+ TOP_RIGHT: import("vue3-toastify").ToastPosition;
616
+ TOP_CENTER: import("vue3-toastify").ToastPosition;
617
+ BOTTOM_LEFT: import("vue3-toastify").ToastPosition;
618
+ BOTTOM_RIGHT: import("vue3-toastify").ToastPosition;
619
+ BOTTOM_CENTER: import("vue3-toastify").ToastPosition;
620
+ };
621
+ THEME: {
622
+ AUTO: import("vue3-toastify").ToastTheme;
623
+ LIGHT: import("vue3-toastify").ToastTheme;
624
+ DARK: import("vue3-toastify").ToastTheme;
625
+ COLORED: import("vue3-toastify").ToastTheme;
626
+ };
627
+ TYPE: {
628
+ INFO: import("vue3-toastify").ToastType;
629
+ SUCCESS: import("vue3-toastify").ToastType;
630
+ WARNING: import("vue3-toastify").ToastType;
631
+ ERROR: import("vue3-toastify").ToastType;
632
+ DEFAULT: import("vue3-toastify").ToastType;
633
+ };
634
+ TRANSITIONS: {
635
+ FLIP: import("vue3-toastify").ToastTransition;
636
+ SLIDE: import("vue3-toastify").ToastTransition;
637
+ ZOOM: import("vue3-toastify").ToastTransition;
638
+ BOUNCE: import("vue3-toastify").ToastTransition;
639
+ NONE: import("vue3-toastify").ToastTransition;
640
+ };
641
+ };
642
+ }>;
643
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { defineNuxtPlugin } from "#app";
2
+ import Vue3Toastify, { toast } from "vue3-toastify";
3
+ import "vue3-toastify/dist/index.css";
4
+ import { toastifyDefaultConfig } from "../configs/vue3-toastify.config.js";
5
+ export default defineNuxtPlugin((nuxtApp) => {
6
+ nuxtApp.vueApp.use(Vue3Toastify, toastifyDefaultConfig);
7
+ return {
8
+ provide: { toast }
9
+ };
10
+ });
@@ -0,0 +1,3 @@
1
+ import 'floating-vue/dist/style.css';
2
+ declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { defineNuxtPlugin } from "#app";
2
+ import FloatingVue from "floating-vue";
3
+ import "floating-vue/dist/style.css";
4
+ import { floatingVueDefaultConfig } from "../configs/floating-vue.config.js";
5
+ export default defineNuxtPlugin((nuxtApp) => {
6
+ nuxtApp.vueApp.use(FloatingVue, floatingVueDefaultConfig);
7
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mevbg/nuxt-kit",
3
3
  "title": "Mev’s Nuxt Kit",
4
- "version": "0.1.8",
4
+ "version": "0.1.13",
5
5
  "description": "Mev’s personal Nuxt kit module.",
6
6
  "keywords": [
7
7
  "nuxt kit",
@@ -39,6 +39,18 @@
39
39
  ".": {
40
40
  "types": "./dist/types.d.mts",
41
41
  "import": "./dist/module.mjs"
42
+ },
43
+ "./configs": {
44
+ "types": "./dist/runtime/configs/index.d.ts",
45
+ "import": "./dist/runtime/configs/index.js"
46
+ },
47
+ "./composables": {
48
+ "types": "./dist/runtime/composables/index.d.ts",
49
+ "import": "./dist/runtime/composables/index.js"
50
+ },
51
+ "./useNotificationSystem": {
52
+ "types": "./dist/runtime/composables/useNotificationSystem.d.ts",
53
+ "import": "./dist/runtime/composables/useNotificationSystem.js"
42
54
  }
43
55
  },
44
56
  "files": [
@@ -64,7 +76,10 @@
64
76
  "@mevbg/design-essentials-vendor": "^2.0.4",
65
77
  "@mevbg/nuxt-color-scheme": "^1.0.5",
66
78
  "@nuxt/kit": "^4.0.3",
67
- "mobile-device-detect": "^0.4.3"
79
+ "@vueuse/nuxt": "^13.6.0",
80
+ "floating-vue": "^5.2.2",
81
+ "mobile-device-detect": "^0.4.3",
82
+ "vue3-toastify": "^0.2.8"
68
83
  },
69
84
  "devDependencies": {
70
85
  "@nuxt/devtools": "^2.6.2",