@mythpe/quasar-ui-qui 0.4.102 → 0.5.0
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/LICENSE +20 -0
- package/README.md +71 -129
- package/package.json +58 -68
- package/rREADME.md +147 -0
- package/src/components/MBtn/MBtn.ts +38 -0
- package/src/components/MBtn/MBtn.vue +142 -0
- package/src/components/grid/MColumn/MColumn.ts +15 -0
- package/src/components/grid/MColumn/MColumn.vue +28 -0
- package/src/components/grid/MContainer/MContainer.ts +39 -0
- package/src/components/grid/MContainer/MContainer.vue +66 -0
- package/src/components/grid/MGrid.ts +16 -0
- package/src/components/grid/MGrid.vue +47 -0
- package/src/components/grid/MRow/MRow.ts +15 -0
- package/src/components/grid/{MColumn.vue → MRow/MRow.vue} +12 -10
- package/src/components/index.ts +28 -18
- package/src/composables/useMyth.ts +93 -0
- package/src/composables/useMythMeta.ts +40 -0
- package/src/config/config.ts +16 -0
- package/src/config/grid.ts +10 -0
- package/src/config/index.ts +2 -0
- package/src/css/components/m-btn.scss +13 -0
- package/src/css/index.scss +9 -0
- package/src/env.d.ts +14 -0
- package/src/index.common.js +1 -15
- package/src/index.ts +4 -0
- package/src/index.umd.js +2 -15
- package/src/shims-myth.d.ts +6 -0
- package/src/shims-vue.d.ts +22 -0
- package/src/types/config.ts +136 -0
- package/src/types/helpers.ts +21 -0
- package/src/types/index.ts +9 -0
- package/src/types/vue-prop-types.ts +13 -0
- package/src/utils/helpers.ts +446 -0
- package/src/{icons/config.ts → utils/icons.ts} +0 -9
- package/src/utils/index.ts +74 -11
- package/src/utils/str.ts +237 -0
- package/src/utils/vee-rules.ts +8 -4
- package/src/vue-plugin.ts +76 -0
- package/index.d.ts +0 -17
- package/jsconfig.json +0 -10
- package/src/boot/register.ts +0 -14
- package/src/components/datatable/MDatatable.vue +0 -1812
- package/src/components/datatable/MDtAvatar.vue +0 -49
- package/src/components/datatable/MDtBtn.vue +0 -171
- package/src/components/datatable/MDtColorColumn.vue +0 -55
- package/src/components/datatable/MDtContextmenuItems.vue +0 -69
- package/src/components/datatable/MDtCopyColumn.vue +0 -87
- package/src/components/datatable/MDtDescColumn.vue +0 -60
- package/src/components/datatable/MDtImageColumn.vue +0 -76
- package/src/components/datatable/MDtSarColumn.vue +0 -76
- package/src/components/datatable/MDtUrlColumn.vue +0 -70
- package/src/components/datatable/index.ts +0 -21
- package/src/components/form/MAvatarViewer.vue +0 -408
- package/src/components/form/MAxios.vue +0 -216
- package/src/components/form/MBtn.vue +0 -240
- package/src/components/form/MCheckbox.vue +0 -204
- package/src/components/form/MCkeditor.vue +0 -860
- package/src/components/form/MColor.vue +0 -118
- package/src/components/form/MDate.vue +0 -51
- package/src/components/form/MEditor.vue +0 -272
- package/src/components/form/MEmail.vue +0 -46
- package/src/components/form/MField.vue +0 -149
- package/src/components/form/MFile.vue +0 -221
- package/src/components/form/MForm.vue +0 -89
- package/src/components/form/MHidden.vue +0 -89
- package/src/components/form/MHiddenInput.vue +0 -61
- package/src/components/form/MInput.vue +0 -289
- package/src/components/form/MInputFieldControl.vue +0 -27
- package/src/components/form/MInputLabel.vue +0 -42
- package/src/components/form/MMobile.vue +0 -67
- package/src/components/form/MOptions.vue +0 -402
- package/src/components/form/MOtp.vue +0 -296
- package/src/components/form/MPassword.vue +0 -77
- package/src/components/form/MPhone.vue +0 -184
- package/src/components/form/MPicker.vue +0 -378
- package/src/components/form/MRadio.vue +0 -188
- package/src/components/form/MSelect.vue +0 -443
- package/src/components/form/MSignaturePad.vue +0 -301
- package/src/components/form/MTime.vue +0 -48
- package/src/components/form/MToggle.vue +0 -244
- package/src/components/form/MUploader.vue +0 -544
- package/src/components/form/__MCkeditor.vue +0 -403
- package/src/components/form/__MOptions.vue +0 -289
- package/src/components/form/index.ts +0 -71
- package/src/components/form/useCkeditor.ts +0 -26
- package/src/components/grid/MBlock.vue +0 -69
- package/src/components/grid/MCol.vue +0 -60
- package/src/components/grid/MContainer.vue +0 -60
- package/src/components/grid/MHelpRow.vue +0 -60
- package/src/components/grid/MInnerLoading.vue +0 -45
- package/src/components/grid/MRow.vue +0 -57
- package/src/components/grid/index.ts +0 -19
- package/src/components/map/MMap.vue +0 -69
- package/src/components/map/index.ts +0 -12
- package/src/components/modal/MDialog.vue +0 -59
- package/src/components/modal/MDialogFile.vue +0 -111
- package/src/components/modal/MFrameDialog.vue +0 -126
- package/src/components/modal/MModalMenu.vue +0 -77
- package/src/components/modal/MTooltip.vue +0 -39
- package/src/components/modal/index.ts +0 -9
- package/src/components/parials/MUploaderItem.vue +0 -350
- package/src/components/parials/index.ts +0 -5
- package/src/components/sar/MSarIcon.vue +0 -24
- package/src/components/sar/MSarString.vue +0 -58
- package/src/components/sar/index.ts +0 -14
- package/src/components/transition/MTransition.vue +0 -28
- package/src/components/transition/MTransitionGroup.vue +0 -28
- package/src/components/transition/index.ts +0 -14
- package/src/components/transition/useTransition.ts +0 -98
- package/src/components/typography/MTypingString.vue +0 -86
- package/src/components/typography/index.ts +0 -13
- package/src/composable/index.ts +0 -13
- package/src/composable/useBindInput.ts +0 -273
- package/src/composable/useDtHelpers.ts +0 -1105
- package/src/composable/useError.ts +0 -12
- package/src/composable/useMyth.ts +0 -364
- package/src/composable/useValue.ts +0 -13
- package/src/fonts/Almarai/Almarai-Bold.ttf +0 -0
- package/src/fonts/Almarai/Almarai-ExtraBold.ttf +0 -0
- package/src/fonts/Almarai/Almarai-Light.ttf +0 -0
- package/src/fonts/Almarai/Almarai-Regular.ttf +0 -0
- package/src/fonts/Almarai/index.sass +0 -68
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Black.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Bold.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-ExtraBold.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-ExtraLight.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Light.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Medium.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Regular.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-SemiBold.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-Thin.ttf +0 -0
- package/src/fonts/Noto_Kufi/NotoKufiArabic-VariableFont_wght.ttf +0 -0
- package/src/fonts/Noto_Kufi/index.sass +0 -149
- package/src/fonts/Tajawal/Tajawal-Black.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-Bold.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-ExtraBold.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-ExtraLight.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-Light.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-Medium.ttf +0 -0
- package/src/fonts/Tajawal/Tajawal-Regular.ttf +0 -0
- package/src/fonts/Tajawal/index.sass +0 -79
- package/src/fonts/index.sass +0 -10
- package/src/global.d.ts +0 -16
- package/src/icons/index.ts +0 -10
- package/src/index.esm.js +0 -15
- package/src/index.js +0 -15
- package/src/index.sass +0 -24
- package/src/plugin/defineAsyncComponents.ts +0 -75
- package/src/plugin/defineComponents.ts +0 -8
- package/src/style/brands.sass +0 -47
- package/src/style/ckeditor5.sass +0 -20
- package/src/style/effect.sass +0 -143
- package/src/style/fonts.sass +0 -37
- package/src/style/m-container.sass +0 -20
- package/src/style/m-datatable.sass +0 -114
- package/src/style/m-help-row.sass +0 -12
- package/src/style/m-input.sass +0 -74
- package/src/style/m-picker.sass +0 -15
- package/src/style/m-select.sass +0 -12
- package/src/style/m-toggle.sass +0 -11
- package/src/style/main.sass +0 -117
- package/src/style/print.sass +0 -22
- package/src/style/sar-font.sass +0 -27
- package/src/style/scrollbar.sass +0 -37
- package/src/style/transition.sass +0 -48
- package/src/style/typography.sass +0 -39
- package/src/types/api/MAvatarViewer.d.ts +0 -110
- package/src/types/api/MAxios.d.ts +0 -52
- package/src/types/api/MBlock.d.ts +0 -29
- package/src/types/api/MBtn.d.ts +0 -25
- package/src/types/api/MCheckbox.d.ts +0 -45
- package/src/types/api/MCkeditor.d.ts +0 -40
- package/src/types/api/MCol.d.ts +0 -55
- package/src/types/api/MColumn.d.ts +0 -16
- package/src/types/api/MContainer.d.ts +0 -19
- package/src/types/api/MDate.d.ts +0 -15
- package/src/types/api/MDialog.d.ts +0 -18
- package/src/types/api/MDialogFile.d.ts +0 -19
- package/src/types/api/MEditor.d.ts +0 -13
- package/src/types/api/MField.d.ts +0 -12
- package/src/types/api/MFile.d.ts +0 -21
- package/src/types/api/MForm.d.ts +0 -55
- package/src/types/api/MFrameDialog.d.ts +0 -21
- package/src/types/api/MHelpRow.d.ts +0 -19
- package/src/types/api/MHidden.d.ts +0 -20
- package/src/types/api/MHiddenInput.d.ts +0 -26
- package/src/types/api/MInnerLoading.d.ts +0 -17
- package/src/types/api/MInput.d.ts +0 -180
- package/src/types/api/MInputFieldControl.d.ts +0 -16
- package/src/types/api/MInputLabel.d.ts +0 -17
- package/src/types/api/MMap.d.ts +0 -24
- package/src/types/api/MModalMenu.d.ts +0 -17
- package/src/types/api/MOptions.d.ts +0 -72
- package/src/types/api/MOtp.d.ts +0 -52
- package/src/types/api/MPassword.d.ts +0 -20
- package/src/types/api/MPhone.d.ts +0 -21
- package/src/types/api/MPicker.d.ts +0 -49
- package/src/types/api/MRadio.d.ts +0 -13
- package/src/types/api/MRow.d.ts +0 -24
- package/src/types/api/MSar.d.ts +0 -28
- package/src/types/api/MSelect.d.ts +0 -195
- package/src/types/api/MSignaturePad.d.ts +0 -185
- package/src/types/api/MTime.d.ts +0 -12
- package/src/types/api/MToggle.d.ts +0 -39
- package/src/types/api/MTooltip.d.ts +0 -136
- package/src/types/api/MTransition.d.ts +0 -143
- package/src/types/api/MTypingString.d.ts +0 -24
- package/src/types/api/MUploader.d.ts +0 -189
- package/src/types/api-helpers.d.ts +0 -66
- package/src/types/components.d.ts +0 -150
- package/src/types/google.d.ts +0 -19
- package/src/types/index.d.ts +0 -110
- package/src/types/m-datatable.d.ts +0 -498
- package/src/types/m-helpers.d.ts +0 -99
- package/src/types/myth-api.d.ts +0 -51
- package/src/types/plugin-props-option.d.ts +0 -313
- package/src/types/quasar-helpers.d.ts +0 -7
- package/src/types/theme.d.ts +0 -162
- package/src/utils/Helpers.ts +0 -406
- package/src/utils/Str.ts +0 -246
- package/src/utils/__pluralize.js +0 -493
- package/src/utils/const.ts +0 -1
- package/src/utils/createMyth.ts +0 -49
- package/src/utils/vue-plugin.ts +0 -66
- package/tsconfig.json +0 -35
- package/types.d.ts +0 -17
package/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) MyTh <mythpe@gmail.com>
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
in the Software without restriction, including without limitation the rights
|
|
7
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in
|
|
12
|
+
all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
20
|
+
THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,168 +1,110 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://4myth.com">
|
|
3
|
+
<img src="https://4myth.com/logo.png" width="120" alt="Ahmed Faiz MyTh">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/@mythpe/quasar-ui-qui">
|
|
9
|
+
<img src="https://img.shields.io/npm/v/@mythpe/quasar-ui-qui.svg?label=quasar-ui-qui" alt="npm version">
|
|
10
|
+
</a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/@mythpe/quasar-ui-qui">
|
|
12
|
+
<img src="https://img.shields.io/npm/dt/@mythpe/quasar-ui-qui.svg" alt="npm downloads">
|
|
13
|
+
</a>
|
|
14
|
+
</p>
|
|
5
15
|
|
|
6
|
-
|
|
16
|
+
# MyTh Quasar UI Kit Extension
|
|
7
17
|
|
|
8
|
-
|
|
18
|
+
**QUI** is a premium set of Vue 3 components engineered specifically for the Quasar Framework v2 ecosystem.
|
|
9
19
|
|
|
10
|
-
|
|
20
|
+
✨ **Compatibility:** Fully compatible with **Quasar UI v2** and **Vue 3**.
|
|
11
21
|
|
|
12
|
-
|
|
22
|
+
---
|
|
13
23
|
|
|
14
|
-
|
|
24
|
+
## 🔌 Usage & Integration
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
### 1. Quasar CLI Project (Recommended)
|
|
17
27
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
28
|
+
The easiest way to integrate is via the [App Extension](https://www.npmjs.com/package/@mythpe/quasar-app-extension-qui):
|
|
29
|
+
```bash
|
|
30
|
+
quasar ext add qui
|
|
31
|
+
```
|
|
21
32
|
|
|
22
|
-
|
|
33
|
+
#### Alternative: Manual Package Installation
|
|
34
|
+
If you prefer not to use the App Extension, install the package manually:
|
|
23
35
|
|
|
24
|
-
|
|
36
|
+
```bash
|
|
37
|
+
yarn add @mythpe/quasar-ui-qui
|
|
38
|
+
# or
|
|
39
|
+
npm install @mythpe/quasar-ui-qui
|
|
40
|
+
# or
|
|
41
|
+
pnpm add @mythpe/quasar-ui-qui
|
|
42
|
+
```
|
|
25
43
|
|
|
44
|
+
#### Manual Boot Registration
|
|
45
|
+
Create and register a boot file (`src/boot/myth.[ts|js]`):
|
|
26
46
|
```js
|
|
27
|
-
import
|
|
28
|
-
import
|
|
47
|
+
import { defineBoot } from '#q-app/wrappers'
|
|
48
|
+
import { install } from '@mythpe/quasar-ui-qui'
|
|
29
49
|
import '@mythpe/quasar-ui-qui/dist/index.css'
|
|
30
50
|
|
|
31
|
-
|
|
51
|
+
export default defineBoot(({ app }) => {
|
|
52
|
+
app.use(install)
|
|
53
|
+
})
|
|
32
54
|
```
|
|
33
55
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```html
|
|
56
|
+
---
|
|
37
57
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<script>
|
|
41
|
-
import { Component as MyComponent, Directive } from '@mythpe/quasar-ui-qui'
|
|
42
|
-
|
|
43
|
-
export default {
|
|
44
|
-
|
|
45
|
-
components: {
|
|
46
|
-
MyComponent
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
directives: {
|
|
51
|
-
Directive
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Vue CLI project
|
|
58
|
+
### 2. Vue CLI / Vite Project
|
|
59
59
|
|
|
60
60
|
```js
|
|
61
|
-
import
|
|
62
|
-
import
|
|
61
|
+
import { createApp } from 'vue'
|
|
62
|
+
import App from './App.vue'
|
|
63
|
+
import { install } from '@mythpe/quasar-ui-qui'
|
|
63
64
|
import '@mythpe/quasar-ui-qui/dist/index.css'
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
const app = createApp(App)
|
|
67
|
+
app.use(install)
|
|
68
|
+
app.mount('#app')
|
|
66
69
|
```
|
|
67
70
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
```html
|
|
71
|
-
|
|
72
|
-
<style src="@mythpe/quasar-ui-qui/dist/index.css"></style>
|
|
73
|
-
|
|
74
|
-
<script>
|
|
75
|
-
import { Component as MyComponent, Directive } from '@mythpe/quasar-ui-qui'
|
|
76
|
-
|
|
77
|
-
export default {
|
|
78
|
-
|
|
79
|
-
components: {
|
|
80
|
-
MyComponent
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
directives: {
|
|
85
|
-
Directive
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
</script>
|
|
90
|
-
```
|
|
71
|
+
---
|
|
91
72
|
|
|
92
|
-
|
|
73
|
+
### 3. UMD Variant (CDN)
|
|
93
74
|
|
|
94
|
-
|
|
75
|
+
Global export identifier: `window.Myth`.
|
|
95
76
|
|
|
96
|
-
Add the following
|
|
77
|
+
Add the following tags **after** your Quasar Framework assets:
|
|
97
78
|
|
|
98
79
|
```html
|
|
99
|
-
|
|
100
80
|
<head>
|
|
101
|
-
|
|
102
|
-
|
|
81
|
+
<!-- AFTER Quasar stylesheet tags: -->
|
|
82
|
+
<link
|
|
83
|
+
href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.min.css"
|
|
84
|
+
rel="stylesheet"
|
|
85
|
+
type="text/css"
|
|
86
|
+
/>
|
|
87
|
+
|
|
88
|
+
<!-- For RTL support use this instead: -->
|
|
89
|
+
<!-- <link href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.rtl.min.css" rel="stylesheet" type="text/css" /> -->
|
|
103
90
|
</head>
|
|
104
91
|
<body>
|
|
105
|
-
|
|
106
|
-
|
|
92
|
+
<!-- At the end of body, AFTER Quasar script tags: -->
|
|
93
|
+
<script src="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.umd.min.js"></script>
|
|
107
94
|
</body>
|
|
108
95
|
```
|
|
109
96
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
```html
|
|
113
|
-
|
|
114
|
-
<link href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.rtl.min.css" rel="stylesheet" type="text/css">
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
# Setup
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
$ yarn
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
# Developing
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
# start dev in SPA mode
|
|
127
|
-
$ yarn dev
|
|
128
|
-
|
|
129
|
-
# start dev in UMD mode
|
|
130
|
-
$ yarn dev:umd
|
|
131
|
-
|
|
132
|
-
# start dev in SSR mode
|
|
133
|
-
$ yarn dev:ssr
|
|
134
|
-
|
|
135
|
-
# start dev in Cordova iOS mode
|
|
136
|
-
$ yarn dev:ios
|
|
137
|
-
|
|
138
|
-
# start dev in Cordova Android mode
|
|
139
|
-
$ yarn dev:android
|
|
140
|
-
|
|
141
|
-
# start dev in Electron mode
|
|
142
|
-
$ yarn dev:electron
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
# Building package
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
$ yarn build
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
# Adding Testing Components
|
|
152
|
-
|
|
153
|
-
in the `ui/dev/src/pages` you can add Vue files to test your component/directive. When using `yarn dev` to build the UI, any pages in that location
|
|
154
|
-
will automatically be picked up by dynamic routing and added to the test page.
|
|
155
|
-
|
|
156
|
-
# Adding Assets
|
|
97
|
+
---
|
|
157
98
|
|
|
158
|
-
|
|
159
|
-
file, you will find a couple of commented out commands that call `addAssets`. Uncomment what you need and add your assets to have them be built and
|
|
160
|
-
put into the `ui/dist` folder.
|
|
99
|
+
## 👨💻 Author & Developer
|
|
161
100
|
|
|
162
|
-
# Donate
|
|
163
101
|
|
|
164
|
-
|
|
102
|
+
| **Developer** | Ahmed Faiz (MyTh) |
|
|
103
|
+
| :--- | :--- |
|
|
104
|
+
| 🌐 **Website** | [4myth.com](https://4myth.com) |
|
|
105
|
+
| 📧 **Email** | mythpe@gmail.com |
|
|
106
|
+
| 📱 **WhatsApp** | [+966 59 047 0092](https://wa.me) |
|
|
165
107
|
|
|
166
|
-
|
|
108
|
+
## 📄 License
|
|
167
109
|
|
|
168
|
-
MIT (c) MyTh
|
|
110
|
+
MIT (c) 2026 **Ahmed Faiz (MyTh)**. All rights reserved.
|
package/package.json
CHANGED
|
@@ -1,86 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mythpe/quasar-ui-qui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MyTh Quasar UI Kit App Extension",
|
|
3
|
+
"version": "0.5.0",
|
|
5
4
|
"author": {
|
|
6
5
|
"name": "MyTh Ahmed Faiz",
|
|
7
6
|
"mobile": "+966590470092",
|
|
8
7
|
"email": "mythpe@gmail.com",
|
|
9
8
|
"url": "https://www.4myth.com"
|
|
10
9
|
},
|
|
10
|
+
"description": "MyTh Quasar UI Plugin",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"type": "module",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"types": "./types.d.ts",
|
|
13
|
+
"main": "./dist/index.common.js",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"types": "./dist/types/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/types/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js",
|
|
20
|
+
"require": "./dist/index.common.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
16
23
|
"scripts": {
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"dev": "cd
|
|
20
|
-
"dev:
|
|
21
|
-
"dev:
|
|
22
|
-
"dev:
|
|
23
|
-
"dev:
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"build:css": "node build/script.css.js"
|
|
24
|
+
"clean": "rimraf dist",
|
|
25
|
+
"build": "yarn clean && vite build",
|
|
26
|
+
"dev": "cd dev && yarn dev && cd ..",
|
|
27
|
+
"dev:ssr": "cd dev && yarn dev:ssr && cd ..",
|
|
28
|
+
"dev:ios": "cd dev && yarn dev:ios && cd ..",
|
|
29
|
+
"dev:android": "cd dev && yarn dev:android && cd ..",
|
|
30
|
+
"dev:electron": "cd dev && yarn dev:electron && cd ..",
|
|
31
|
+
"lint": "eslint \"./src/**/*.{ts,js,cjs,mjs,vue}\"",
|
|
32
|
+
"lint:fix": "eslint \"./src/**/*.{ts,js,cjs,mjs,vue}\" --fix",
|
|
33
|
+
"format": "prettier --write \"**/*.{js,ts,vue,css,scss,html,md,json}\" --ignore-path ../.gitignore"
|
|
28
34
|
},
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"change-case": "^5.4.4",
|
|
35
|
-
"pluralize": "^8.0.0",
|
|
36
|
-
"qs": "^6.13.1",
|
|
37
|
-
"radash": "^12.1.0",
|
|
38
|
-
"typed.js": "^2.1.0",
|
|
39
|
-
"vee-validate": "^4.14.7",
|
|
40
|
-
"vue-i18n": "^11.1.2",
|
|
41
|
-
"vue3-google-map": "^0.22.0",
|
|
42
|
-
"vue3-signature": "^0.2.4"
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"quasar": "^2.19.3",
|
|
37
|
+
"vee-validate": "^4.15.1",
|
|
38
|
+
"vue": "^3.5.0",
|
|
39
|
+
"vue-i18n": "^11.4.2"
|
|
43
40
|
},
|
|
44
41
|
"devDependencies": {
|
|
45
|
-
"@
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@types/express": "^5.0.0",
|
|
52
|
-
"@types/google.maps": "^3.58.1",
|
|
53
|
-
"@types/node": "^22.10.1",
|
|
42
|
+
"@eslint/js": "^10.0.1",
|
|
43
|
+
"@microsoft/api-extractor": "^7.58.7",
|
|
44
|
+
"@quasar/app-vite": "^2.6.0",
|
|
45
|
+
"@quasar/app-webpack": "^4.4.5",
|
|
46
|
+
"@quasar/extras": "^1.18.0",
|
|
47
|
+
"@types/node": "^25.8.0",
|
|
54
48
|
"@types/pluralize": "^0.0.33",
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"eslint": "^
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"fs-extra": "^11.2.0",
|
|
70
|
-
"open": "^10.1.0",
|
|
71
|
-
"postcss": "^8.4.49",
|
|
72
|
-
"quasar": "^2.17.4",
|
|
73
|
-
"rimraf": "^6.0.1",
|
|
74
|
-
"rollup": "^4.27.4",
|
|
49
|
+
"@vitejs/plugin-vue": "^6.0.7",
|
|
50
|
+
"@vue/eslint-config-prettier": "^10.2.0",
|
|
51
|
+
"@vue/eslint-config-typescript": "^14.7.0",
|
|
52
|
+
"autoprefixer": "^10.5.0",
|
|
53
|
+
"axios": "^1.16.1",
|
|
54
|
+
"change-case": "^5.4.4",
|
|
55
|
+
"eslint": "^10.4.0",
|
|
56
|
+
"eslint-plugin-vue": "^10.9.1",
|
|
57
|
+
"globals": "^17.6.0",
|
|
58
|
+
"pluralize": "^8.0.0",
|
|
59
|
+
"postcss": "^8.5.14",
|
|
60
|
+
"prettier": "^3.8.3",
|
|
61
|
+
"quasar": "^2.19.3",
|
|
62
|
+
"rimraf": "^6.1.3",
|
|
75
63
|
"rtlcss": "^4.3.0",
|
|
76
|
-
"sass": "^1.
|
|
77
|
-
"typescript": "^
|
|
78
|
-
"
|
|
79
|
-
"vite
|
|
80
|
-
"
|
|
81
|
-
"vue
|
|
82
|
-
"vue-
|
|
83
|
-
"
|
|
64
|
+
"sass": "^1.99.0",
|
|
65
|
+
"typescript": "^6.0.3",
|
|
66
|
+
"vee-validate": "^4.15.1",
|
|
67
|
+
"vite": "^8.0.13",
|
|
68
|
+
"vite-plugin-dts": "^5.0.0",
|
|
69
|
+
"vue": "^3.5.34",
|
|
70
|
+
"vue-eslint-parser": "^10.4.0",
|
|
71
|
+
"vue-i18n": "^11.4.2",
|
|
72
|
+
"vue-router": "^5.0.7",
|
|
73
|
+
"vue-tsc": "^3.2.9"
|
|
84
74
|
},
|
|
85
75
|
"browserslist": [
|
|
86
76
|
"last 4 Chrome versions",
|
|
@@ -93,7 +83,7 @@
|
|
|
93
83
|
"last 4 iOS versions"
|
|
94
84
|
],
|
|
95
85
|
"engines": {
|
|
96
|
-
"node": "^
|
|
86
|
+
"node": "^28 || ^26 || ^24 || ^22.12",
|
|
97
87
|
"npm": ">= 6.13.4",
|
|
98
88
|
"yarn": ">= 1.21.1"
|
|
99
89
|
}
|
package/rREADME.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# MyTh Quasar UI Kit Extintion
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@mythpe/quasar-ui-qui)
|
|
4
|
+
[](https://www.npmjs.com/package/@mythpe/quasar-ui-qui)
|
|
5
|
+
|
|
6
|
+
**Compatible with Quasar UI v2 and Vue 3**.
|
|
7
|
+
|
|
8
|
+
# Usage
|
|
9
|
+
|
|
10
|
+
## Quasar CLI project
|
|
11
|
+
|
|
12
|
+
Install the [App Extension](https://www.npmjs.com/package/@mythpe/quasar-app-extension-qui).
|
|
13
|
+
|
|
14
|
+
**OR**:
|
|
15
|
+
|
|
16
|
+
Create and register a boot file:
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
import Vue from 'vue'
|
|
20
|
+
import Plugin from '@mythpe/quasar-ui-qui'
|
|
21
|
+
import '@mythpe/quasar-ui-qui/dist/index.css'
|
|
22
|
+
|
|
23
|
+
Vue.use(Plugin)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**OR**:
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<style src="@mythpe/quasar-ui-qui/dist/index.css"></style>
|
|
30
|
+
|
|
31
|
+
<script>
|
|
32
|
+
import { Component as MyComponent, Directive } from '@mythpe/quasar-ui-qui'
|
|
33
|
+
|
|
34
|
+
export default {
|
|
35
|
+
components: {
|
|
36
|
+
MyComponent
|
|
37
|
+
},
|
|
38
|
+
directives: {
|
|
39
|
+
Directive
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Vue CLI project
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
import Vue from 'vue'
|
|
49
|
+
import Plugin from '@mythpe/quasar-ui-qui'
|
|
50
|
+
import '@mythpe/quasar-ui-qui/dist/index.css'
|
|
51
|
+
|
|
52
|
+
Vue.use(Plugin)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**OR**:
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<style src="@mythpe/quasar-ui-qui/dist/index.css"></style>
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
import { Component as MyComponent, Directive } from '@mythpe/quasar-ui-qui'
|
|
62
|
+
|
|
63
|
+
export default {
|
|
64
|
+
components: {
|
|
65
|
+
MyComponent
|
|
66
|
+
},
|
|
67
|
+
directives: {
|
|
68
|
+
Directive
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
</script>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## UMD variant
|
|
75
|
+
|
|
76
|
+
Exports `window.Myth`.
|
|
77
|
+
|
|
78
|
+
Add the following tag(s) after the Quasar ones:
|
|
79
|
+
|
|
80
|
+
```html
|
|
81
|
+
<head>
|
|
82
|
+
<!-- AFTER the Quasar stylesheet tags: -->
|
|
83
|
+
<link
|
|
84
|
+
href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.min.css"
|
|
85
|
+
rel="stylesheet"
|
|
86
|
+
type="text/css"
|
|
87
|
+
/>
|
|
88
|
+
</head>
|
|
89
|
+
<body>
|
|
90
|
+
<!-- at end of body, AFTER Quasar script(s): -->
|
|
91
|
+
<script src="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.umd.min.js"></script>
|
|
92
|
+
</body>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If you need the RTL variant of the CSS, then go for the following (instead of the above stylesheet link):
|
|
96
|
+
|
|
97
|
+
```html
|
|
98
|
+
<link
|
|
99
|
+
href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.rtl.min.css"
|
|
100
|
+
rel="stylesheet"
|
|
101
|
+
type="text/css"
|
|
102
|
+
/>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
# Setup
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
$ yarn
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
# Developing
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# start dev in SPA mode
|
|
115
|
+
$ yarn dev
|
|
116
|
+
|
|
117
|
+
# start dev in UMD mode
|
|
118
|
+
$ yarn dev:umd
|
|
119
|
+
|
|
120
|
+
# start dev in SSR mode
|
|
121
|
+
$ yarn dev:ssr
|
|
122
|
+
|
|
123
|
+
# start dev in Cordova iOS mode
|
|
124
|
+
$ yarn dev:ios
|
|
125
|
+
|
|
126
|
+
# start dev in Cordova Android mode
|
|
127
|
+
$ yarn dev:android
|
|
128
|
+
|
|
129
|
+
# start dev in Electron mode
|
|
130
|
+
$ yarn dev:electron
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
# Building package
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
$ yarn build
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
# Adding Assets
|
|
140
|
+
|
|
141
|
+
If you have a component that has assets, like language or icon-sets, you will need to provide these for UMD. In the `ui/build/script.javascript.js`
|
|
142
|
+
file, you will find a couple of commented out commands that call `addAssets`. Uncomment what you need and add your assets to have them be built and
|
|
143
|
+
put into the `ui/dist` folder.
|
|
144
|
+
|
|
145
|
+
# License
|
|
146
|
+
|
|
147
|
+
MIT (c) MyTh <mythpe@gmail.com>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { QBtnProps } from 'quasar'
|
|
2
|
+
import type { ComponentPublicInstance, VNode } from 'vue'
|
|
3
|
+
import type { SpinnerType } from '../../types/config'
|
|
4
|
+
|
|
5
|
+
export interface MBtnProps extends Omit<QBtnProps, 'label'> {
|
|
6
|
+
/**
|
|
7
|
+
* The text that will be shown on the button
|
|
8
|
+
*/
|
|
9
|
+
label?: string | number | undefined | null
|
|
10
|
+
/**
|
|
11
|
+
* Removes the default button styles
|
|
12
|
+
*/
|
|
13
|
+
noStyle?: boolean
|
|
14
|
+
nativeLabel?: boolean | undefined
|
|
15
|
+
/**
|
|
16
|
+
* Type of loading indicator
|
|
17
|
+
*/
|
|
18
|
+
spinner?: SpinnerType
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface MBtnSlots {
|
|
22
|
+
/**
|
|
23
|
+
* Use for custom content, instead of relying on 'icon' and 'label' props
|
|
24
|
+
*/
|
|
25
|
+
default: () => VNode[]
|
|
26
|
+
/**
|
|
27
|
+
* Override the default QSpinner when in 'loading' state
|
|
28
|
+
*/
|
|
29
|
+
loading: () => VNode[]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface MBtn extends ComponentPublicInstance<MBtnProps> {
|
|
33
|
+
/**
|
|
34
|
+
* Emulate click on MBtn
|
|
35
|
+
* @param evt JS event object
|
|
36
|
+
*/
|
|
37
|
+
click: (evt?: Event) => void
|
|
38
|
+
}
|