@mythpe/quasar-ui-qui 0.4.103 → 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.
Files changed (226) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +71 -129
  3. package/package.json +58 -68
  4. package/rREADME.md +147 -0
  5. package/src/components/MBtn/MBtn.ts +38 -0
  6. package/src/components/MBtn/MBtn.vue +142 -0
  7. package/src/components/grid/MColumn/MColumn.ts +15 -0
  8. package/src/components/grid/MColumn/MColumn.vue +28 -0
  9. package/src/components/grid/MContainer/MContainer.ts +39 -0
  10. package/src/components/grid/MContainer/MContainer.vue +66 -0
  11. package/src/components/grid/MGrid.ts +16 -0
  12. package/src/components/grid/MGrid.vue +47 -0
  13. package/src/components/grid/MRow/MRow.ts +15 -0
  14. package/src/components/grid/{MColumn.vue → MRow/MRow.vue} +12 -10
  15. package/src/components/index.ts +28 -18
  16. package/src/composables/useMyth.ts +93 -0
  17. package/src/composables/useMythMeta.ts +40 -0
  18. package/src/config/config.ts +16 -0
  19. package/src/config/grid.ts +10 -0
  20. package/src/config/index.ts +2 -0
  21. package/src/css/components/m-btn.scss +13 -0
  22. package/src/css/index.scss +9 -0
  23. package/src/env.d.ts +14 -0
  24. package/src/index.common.js +1 -15
  25. package/src/index.ts +4 -0
  26. package/src/index.umd.js +2 -15
  27. package/src/shims-myth.d.ts +6 -0
  28. package/src/shims-vue.d.ts +22 -0
  29. package/src/types/config.ts +136 -0
  30. package/src/types/helpers.ts +21 -0
  31. package/src/types/index.ts +9 -0
  32. package/src/types/vue-prop-types.ts +13 -0
  33. package/src/utils/helpers.ts +446 -0
  34. package/src/{icons/config.ts → utils/icons.ts} +0 -9
  35. package/src/utils/index.ts +74 -11
  36. package/src/utils/str.ts +237 -0
  37. package/src/utils/vee-rules.ts +8 -4
  38. package/src/vue-plugin.ts +76 -0
  39. package/index.d.ts +0 -17
  40. package/jsconfig.json +0 -10
  41. package/src/boot/register.ts +0 -14
  42. package/src/components/datatable/MDatatable.vue +0 -1812
  43. package/src/components/datatable/MDtAvatar.vue +0 -49
  44. package/src/components/datatable/MDtBtn.vue +0 -171
  45. package/src/components/datatable/MDtColorColumn.vue +0 -55
  46. package/src/components/datatable/MDtContextmenuItems.vue +0 -69
  47. package/src/components/datatable/MDtCopyColumn.vue +0 -87
  48. package/src/components/datatable/MDtDescColumn.vue +0 -60
  49. package/src/components/datatable/MDtImageColumn.vue +0 -76
  50. package/src/components/datatable/MDtSarColumn.vue +0 -76
  51. package/src/components/datatable/MDtUrlColumn.vue +0 -70
  52. package/src/components/datatable/index.ts +0 -21
  53. package/src/components/form/MAvatarViewer.vue +0 -408
  54. package/src/components/form/MAxios.vue +0 -219
  55. package/src/components/form/MBtn.vue +0 -240
  56. package/src/components/form/MCheckbox.vue +0 -204
  57. package/src/components/form/MCkeditor.vue +0 -860
  58. package/src/components/form/MColor.vue +0 -118
  59. package/src/components/form/MDate.vue +0 -51
  60. package/src/components/form/MEditor.vue +0 -272
  61. package/src/components/form/MEmail.vue +0 -46
  62. package/src/components/form/MField.vue +0 -149
  63. package/src/components/form/MFile.vue +0 -221
  64. package/src/components/form/MForm.vue +0 -89
  65. package/src/components/form/MHidden.vue +0 -89
  66. package/src/components/form/MHiddenInput.vue +0 -61
  67. package/src/components/form/MInput.vue +0 -289
  68. package/src/components/form/MInputFieldControl.vue +0 -27
  69. package/src/components/form/MInputLabel.vue +0 -42
  70. package/src/components/form/MMobile.vue +0 -67
  71. package/src/components/form/MOptions.vue +0 -402
  72. package/src/components/form/MOtp.vue +0 -296
  73. package/src/components/form/MPassword.vue +0 -77
  74. package/src/components/form/MPhone.vue +0 -184
  75. package/src/components/form/MPicker.vue +0 -378
  76. package/src/components/form/MRadio.vue +0 -188
  77. package/src/components/form/MSelect.vue +0 -461
  78. package/src/components/form/MSignaturePad.vue +0 -301
  79. package/src/components/form/MTime.vue +0 -48
  80. package/src/components/form/MToggle.vue +0 -244
  81. package/src/components/form/MUploader.vue +0 -544
  82. package/src/components/form/__MCkeditor.vue +0 -403
  83. package/src/components/form/__MOptions.vue +0 -289
  84. package/src/components/form/index.ts +0 -71
  85. package/src/components/form/useCkeditor.ts +0 -26
  86. package/src/components/grid/MBlock.vue +0 -69
  87. package/src/components/grid/MCol.vue +0 -60
  88. package/src/components/grid/MContainer.vue +0 -60
  89. package/src/components/grid/MHelpRow.vue +0 -60
  90. package/src/components/grid/MInnerLoading.vue +0 -45
  91. package/src/components/grid/MRow.vue +0 -57
  92. package/src/components/grid/index.ts +0 -19
  93. package/src/components/map/MMap.vue +0 -69
  94. package/src/components/map/index.ts +0 -12
  95. package/src/components/modal/MDialog.vue +0 -59
  96. package/src/components/modal/MDialogFile.vue +0 -111
  97. package/src/components/modal/MFrameDialog.vue +0 -126
  98. package/src/components/modal/MModalMenu.vue +0 -77
  99. package/src/components/modal/MTooltip.vue +0 -39
  100. package/src/components/modal/index.ts +0 -9
  101. package/src/components/parials/MUploaderItem.vue +0 -350
  102. package/src/components/parials/index.ts +0 -5
  103. package/src/components/sar/MSarIcon.vue +0 -24
  104. package/src/components/sar/MSarString.vue +0 -58
  105. package/src/components/sar/index.ts +0 -14
  106. package/src/components/transition/MTransition.vue +0 -28
  107. package/src/components/transition/MTransitionGroup.vue +0 -28
  108. package/src/components/transition/index.ts +0 -14
  109. package/src/components/transition/useTransition.ts +0 -98
  110. package/src/components/typography/MTypingString.vue +0 -86
  111. package/src/components/typography/index.ts +0 -13
  112. package/src/composable/index.ts +0 -13
  113. package/src/composable/useBindInput.ts +0 -273
  114. package/src/composable/useDtHelpers.ts +0 -1105
  115. package/src/composable/useError.ts +0 -12
  116. package/src/composable/useMyth.ts +0 -364
  117. package/src/composable/useValue.ts +0 -13
  118. package/src/fonts/Almarai/Almarai-Bold.ttf +0 -0
  119. package/src/fonts/Almarai/Almarai-ExtraBold.ttf +0 -0
  120. package/src/fonts/Almarai/Almarai-Light.ttf +0 -0
  121. package/src/fonts/Almarai/Almarai-Regular.ttf +0 -0
  122. package/src/fonts/Almarai/index.sass +0 -68
  123. package/src/fonts/Noto_Kufi/NotoKufiArabic-Black.ttf +0 -0
  124. package/src/fonts/Noto_Kufi/NotoKufiArabic-Bold.ttf +0 -0
  125. package/src/fonts/Noto_Kufi/NotoKufiArabic-ExtraBold.ttf +0 -0
  126. package/src/fonts/Noto_Kufi/NotoKufiArabic-ExtraLight.ttf +0 -0
  127. package/src/fonts/Noto_Kufi/NotoKufiArabic-Light.ttf +0 -0
  128. package/src/fonts/Noto_Kufi/NotoKufiArabic-Medium.ttf +0 -0
  129. package/src/fonts/Noto_Kufi/NotoKufiArabic-Regular.ttf +0 -0
  130. package/src/fonts/Noto_Kufi/NotoKufiArabic-SemiBold.ttf +0 -0
  131. package/src/fonts/Noto_Kufi/NotoKufiArabic-Thin.ttf +0 -0
  132. package/src/fonts/Noto_Kufi/NotoKufiArabic-VariableFont_wght.ttf +0 -0
  133. package/src/fonts/Noto_Kufi/index.sass +0 -149
  134. package/src/fonts/Tajawal/Tajawal-Black.ttf +0 -0
  135. package/src/fonts/Tajawal/Tajawal-Bold.ttf +0 -0
  136. package/src/fonts/Tajawal/Tajawal-ExtraBold.ttf +0 -0
  137. package/src/fonts/Tajawal/Tajawal-ExtraLight.ttf +0 -0
  138. package/src/fonts/Tajawal/Tajawal-Light.ttf +0 -0
  139. package/src/fonts/Tajawal/Tajawal-Medium.ttf +0 -0
  140. package/src/fonts/Tajawal/Tajawal-Regular.ttf +0 -0
  141. package/src/fonts/Tajawal/index.sass +0 -79
  142. package/src/fonts/index.sass +0 -10
  143. package/src/global.d.ts +0 -16
  144. package/src/icons/index.ts +0 -10
  145. package/src/index.esm.js +0 -15
  146. package/src/index.js +0 -15
  147. package/src/index.sass +0 -24
  148. package/src/plugin/defineAsyncComponents.ts +0 -75
  149. package/src/plugin/defineComponents.ts +0 -8
  150. package/src/style/brands.sass +0 -47
  151. package/src/style/ckeditor5.sass +0 -20
  152. package/src/style/effect.sass +0 -143
  153. package/src/style/fonts.sass +0 -37
  154. package/src/style/m-container.sass +0 -20
  155. package/src/style/m-datatable.sass +0 -114
  156. package/src/style/m-help-row.sass +0 -12
  157. package/src/style/m-input.sass +0 -74
  158. package/src/style/m-picker.sass +0 -15
  159. package/src/style/m-select.sass +0 -12
  160. package/src/style/m-toggle.sass +0 -11
  161. package/src/style/main.sass +0 -117
  162. package/src/style/print.sass +0 -22
  163. package/src/style/sar-font.sass +0 -27
  164. package/src/style/scrollbar.sass +0 -37
  165. package/src/style/transition.sass +0 -48
  166. package/src/style/typography.sass +0 -39
  167. package/src/types/api/MAvatarViewer.d.ts +0 -110
  168. package/src/types/api/MAxios.d.ts +0 -52
  169. package/src/types/api/MBlock.d.ts +0 -29
  170. package/src/types/api/MBtn.d.ts +0 -25
  171. package/src/types/api/MCheckbox.d.ts +0 -45
  172. package/src/types/api/MCkeditor.d.ts +0 -40
  173. package/src/types/api/MCol.d.ts +0 -55
  174. package/src/types/api/MColumn.d.ts +0 -16
  175. package/src/types/api/MContainer.d.ts +0 -19
  176. package/src/types/api/MDate.d.ts +0 -15
  177. package/src/types/api/MDialog.d.ts +0 -18
  178. package/src/types/api/MDialogFile.d.ts +0 -19
  179. package/src/types/api/MEditor.d.ts +0 -13
  180. package/src/types/api/MField.d.ts +0 -12
  181. package/src/types/api/MFile.d.ts +0 -21
  182. package/src/types/api/MForm.d.ts +0 -55
  183. package/src/types/api/MFrameDialog.d.ts +0 -21
  184. package/src/types/api/MHelpRow.d.ts +0 -19
  185. package/src/types/api/MHidden.d.ts +0 -20
  186. package/src/types/api/MHiddenInput.d.ts +0 -26
  187. package/src/types/api/MInnerLoading.d.ts +0 -17
  188. package/src/types/api/MInput.d.ts +0 -180
  189. package/src/types/api/MInputFieldControl.d.ts +0 -16
  190. package/src/types/api/MInputLabel.d.ts +0 -17
  191. package/src/types/api/MMap.d.ts +0 -24
  192. package/src/types/api/MModalMenu.d.ts +0 -17
  193. package/src/types/api/MOptions.d.ts +0 -72
  194. package/src/types/api/MOtp.d.ts +0 -52
  195. package/src/types/api/MPassword.d.ts +0 -20
  196. package/src/types/api/MPhone.d.ts +0 -21
  197. package/src/types/api/MPicker.d.ts +0 -49
  198. package/src/types/api/MRadio.d.ts +0 -13
  199. package/src/types/api/MRow.d.ts +0 -24
  200. package/src/types/api/MSar.d.ts +0 -28
  201. package/src/types/api/MSelect.d.ts +0 -200
  202. package/src/types/api/MSignaturePad.d.ts +0 -185
  203. package/src/types/api/MTime.d.ts +0 -12
  204. package/src/types/api/MToggle.d.ts +0 -39
  205. package/src/types/api/MTooltip.d.ts +0 -136
  206. package/src/types/api/MTransition.d.ts +0 -143
  207. package/src/types/api/MTypingString.d.ts +0 -24
  208. package/src/types/api/MUploader.d.ts +0 -189
  209. package/src/types/api-helpers.d.ts +0 -66
  210. package/src/types/components.d.ts +0 -150
  211. package/src/types/google.d.ts +0 -19
  212. package/src/types/index.d.ts +0 -110
  213. package/src/types/m-datatable.d.ts +0 -498
  214. package/src/types/m-helpers.d.ts +0 -99
  215. package/src/types/myth-api.d.ts +0 -51
  216. package/src/types/plugin-props-option.d.ts +0 -313
  217. package/src/types/quasar-helpers.d.ts +0 -7
  218. package/src/types/theme.d.ts +0 -162
  219. package/src/utils/Helpers.ts +0 -406
  220. package/src/utils/Str.ts +0 -246
  221. package/src/utils/__pluralize.js +0 -493
  222. package/src/utils/const.ts +0 -1
  223. package/src/utils/createMyth.ts +0 -49
  224. package/src/utils/vue-plugin.ts +0 -66
  225. package/tsconfig.json +0 -35
  226. 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
- # Component MyComponent and Directive v-my-directive
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
- [![npm](https://img.shields.io/npm/v/@mythpe/quasar-ui-qui.svg?label=@mythpe/quasar-ui-qui)](https://www.npmjs.com/package/@mythpe/quasar-ui-qui)
4
- [![npm](https://img.shields.io/npm/dt/@mythpe/quasar-ui-qui.svg)](https://www.npmjs.com/package/@mythpe/quasar-ui-qui)
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
- **Compatible with Quasar UI v2 and Vue 3**.
16
+ # MyTh Quasar UI Kit Extension
7
17
 
8
- # Component MyComponent
18
+ **QUI** is a premium set of Vue 3 components engineered specifically for the Quasar Framework v2 ecosystem.
9
19
 
10
- > Short description of the component
20
+ **Compatibility:** Fully compatible with **Quasar UI v2** and **Vue 3**.
11
21
 
12
- # Directive v-my-directive
22
+ ---
13
23
 
14
- > Short description of the directive
24
+ ## 🔌 Usage & Integration
15
25
 
16
- # Usage
26
+ ### 1. Quasar CLI Project (Recommended)
17
27
 
18
- ## Quasar CLI project
19
-
20
- Install the [App Extension](../app-extension).
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
- **OR**:
33
+ #### Alternative: Manual Package Installation
34
+ If you prefer not to use the App Extension, install the package manually:
23
35
 
24
- Create and register a boot file:
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 Vue from 'vue'
28
- import Plugin from '@mythpe/quasar-ui-qui'
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
- Vue.use(Plugin)
51
+ export default defineBoot(({ app }) => {
52
+ app.use(install)
53
+ })
32
54
  ```
33
55
 
34
- **OR**:
35
-
36
- ```html
56
+ ---
37
57
 
38
- <style src="@mythpe/quasar-ui-qui/dist/index.css"></style>
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 Vue from 'vue'
62
- import Plugin from '@mythpe/quasar-ui-qui'
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
- Vue.use(Plugin)
66
+ const app = createApp(App)
67
+ app.use(install)
68
+ app.mount('#app')
66
69
  ```
67
70
 
68
- **OR**:
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
- ## UMD variant
73
+ ### 3. UMD Variant (CDN)
93
74
 
94
- Exports `window.mythUi`.
75
+ Global export identifier: `window.Myth`.
95
76
 
96
- Add the following tag(s) after the Quasar ones:
77
+ Add the following tags **after** your Quasar Framework assets:
97
78
 
98
79
  ```html
99
-
100
80
  <head>
101
- <!-- AFTER the Quasar stylesheet tags: -->
102
- <link href="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.min.css" rel="stylesheet" type="text/css">
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
- <!-- at end of body, AFTER Quasar script(s): -->
106
- <script src="https://cdn.jsdelivr.net/npm/@mythpe/quasar-ui-qui/dist/index.umd.min.js"></script>
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
- If you need the RTL variant of the CSS, then go for the following (instead of the above stylesheet link):
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
- 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`
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
- If you appreciate the work that went into this, please consider [donating to Quasar](https://donate.quasar.dev).
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
- # License
108
+ ## 📄 License
167
109
 
168
- MIT (c) MyTh <mythpe@gmail.com>
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.103",
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
- "module": "src/index.esm.js",
14
- "main": "src/index.common.js",
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
- "lint": "eslint ./src --ext .js,.ts,.vue ./",
18
- "lint:fix": "eslint --fix --ext .js,.ts,.vue ./src",
19
- "dev": "cd ../dev && yarn dev && cd ..",
20
- "dev:umd": "yarn build && node build/script.open-umd.js",
21
- "dev:ssr": "cd ../dev && yarn 'dev:ssr' && cd ..",
22
- "dev:ios": "cd ../dev && yarn 'dev:ios' && cd ..",
23
- "dev:android": "cd ../dev && yarn 'dev:android' && cd ..",
24
- "dev:electron": "cd ../dev && yarn 'dev:electron' && cd ..",
25
- "build": "node build/index.js",
26
- "build:js": "node build/script.javascript.js",
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
- "dependencies": {
30
- "@ckeditor/ckeditor5-vue": "^7.3.0",
31
- "@vee-validate/i18n": "^4.14.7",
32
- "@vee-validate/rules": "^4.14.7",
33
- "axios": "^1.7.8",
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
- "@quasar/app-webpack": "^3.15.1",
46
- "@quasar/extras": "^1.16.13",
47
- "@rollup/plugin-buble": "^1.0.3",
48
- "@rollup/plugin-json": "^6.1.0",
49
- "@rollup/plugin-node-resolve": "^15.3.0",
50
- "@rollup/plugin-replace": "^6.0.1",
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
- "@typescript-eslint/eslint-plugin": "^7.16.0",
56
- "@typescript-eslint/parser": "^7.16.0",
57
- "autoprefixer": "^10.4.20",
58
- "chalk": "^5.3.0",
59
- "ckeditor5": "^45.1.0",
60
- "core-js": "^3.39.0",
61
- "cssnano": "^7.0.6",
62
- "eslint": "^8.57.0",
63
- "@vue/eslint-config-typescript": "^14.4.0",
64
- "eslint-config-standard": "^17.0.0",
65
- "eslint-plugin-import": "^2.19.1",
66
- "eslint-plugin-n": "^15.0.0",
67
- "eslint-plugin-promise": "^6.0.0",
68
- "eslint-plugin-vue": "^9.0.0",
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.81.0",
77
- "typescript": "^5.9.2",
78
- "uglify-js": "^3.19.3",
79
- "vite-plugin-checker": "^0.10.0",
80
- "vue": "^3.5.13",
81
- "vue-router": "^4.5.0",
82
- "vue-tsc": "^3.0.7",
83
- "zlib": "^1.0.5"
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": "^24 || ^22 || ^20 || ^18",
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
+ [![npm](https://img.shields.io/npm/v/@mythpe/quasar-ui-qui.svg?label=quasar-ui-qui)](https://www.npmjs.com/package/@mythpe/quasar-ui-qui)
4
+ [![npm](https://img.shields.io/npm/dt/@mythpe/quasar-ui-qui.svg)](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
+ }