-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcomponents-mandetory.ts
More file actions
133 lines (90 loc) · 3.57 KB
/
Copy pathcomponents-mandetory.ts
File metadata and controls
133 lines (90 loc) · 3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// @ts-nocheck
/*
* Copyright (c) 2023. Selldone® Business OS™
*
* Author: M.Pajuhaan
* Web: https://selldone.com
* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*
* All rights reserved. In the weave of time, where traditions and innovations intermingle, this content was crafted.
* From the essence of thought, through the corridors of creativity, each word, and sentiment has been molded.
* Not just to exist, but to inspire. Like an artist's stroke or a sculptor's chisel, every nuance is deliberate.
* Our journey is not just about reaching a destination, but about creating a masterpiece.
* Tread carefully, for you're treading on dreams.
*/
import { App, defineAsyncComponent } from "vue";
//―――――――――――――――――――――― Vue Notification ――――――――――――――――――――
import VueNotifications from "@kyvg/vue3-notification";
//---------------- Number format --------------
// @ts-ignore
import VueNumerals from "vue-numerals";
//---------------- Check --------------
import UCheck from "./ui/check/UCheck.vue";
//---------------- Price view --------------
import UPrice from "./ui/price/UPrice.vue";
//---------------- Loading --------------
import ULoadingProgress from "./ui/loading/progress/ULoadingProgress.vue";
// @ts-ignore
import VueTheMask from "vue-the-mask";
//---------------- SVG Flags --------------
// @ts-ignore
import FlagIcon from "vue-flag-icon";
//---------------- Social Share --------------
import UButtonCircle from "./ui/button/circle/UButtonCircle.vue";
import UTooltipTips from "./ui/tooltip/tips/UTooltipTips.vue";
//---------------- Widget --------------
import SWidget from "./ui/widget/widget/SWidget.vue";
import UWidgetHeader from "./ui/widget/header/UWidgetHeader.vue";
import VueConfetti from "./ui/confetti";
//---------------- prototypes --------------
import "@selldone/core-js/prototypes/Prototypes";
export function installGlobalComponents(app: App) {
// Create component
app.use(VueNotifications);
app.use(VueNumerals);
app.component("UCheck", UCheck);
app.component("u-price", UPrice);
app.component(ULoadingProgress.name, ULoadingProgress);
//---------------- Miscellaneous --------------
// + Chart:
// Define the async component globally
app.component(
"apexchart",
defineAsyncComponent(
() =>
import(/* webpackChunkName: "plug-miscellaneous" */ "vue3-apexcharts"),
),
);
// + QR Code:
const SQrcode = defineAsyncComponent(
() =>
import(
/* webpackChunkName: "plug-miscellaneous" */ "./ui/qrcode/UQrcode.vue"
),
);
app.component("u-qrcode", SQrcode);
// + Bar Code:
const UBarcode = defineAsyncComponent(
() =>
import(
/* webpackChunkName: "plug-miscellaneous" */ "./ui/barcode/UBarcode.vue"
),
);
app.component("u-barcode", UBarcode);
const ULottie = defineAsyncComponent(
() =>
import(
/* webpackChunkName: "plug-lottie" */ "@selldone/components-vue/ui/lottie/ULottie.vue"
),
);
app.component("u-lottie", ULottie);
app.use(VueConfetti);
app.use(VueTheMask);
app.use(FlagIcon);
app.component(UButtonCircle.name, UButtonCircle);
app.component(UTooltipTips.name, UTooltipTips);
app.component(SWidget.name, SWidget);
app.component(UWidgetHeader.name, UWidgetHeader);
//Vue.prototype.window = window;
app.config.globalProperties.window = window; // 🌴 Global object in vue components
}