@mythpe/quasar-ui-qui 0.2.42 → 0.2.44

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 (59) hide show
  1. package/package.json +3 -1
  2. package/src/boot/register.ts +1 -2
  3. package/src/components/form/MOtp.vue +2 -1
  4. package/src/components/form/MSelect.vue +7 -2
  5. package/src/components/index.ts +2 -1
  6. package/src/components/map/MMap.vue +69 -0
  7. package/src/components/map/index.ts +12 -0
  8. package/src/components/modal/MDialog.vue +2 -0
  9. package/src/components/sar/MSarString.vue +2 -1
  10. package/src/global.d.ts +16 -0
  11. package/src/plugin/defineAsyncComponents.ts +2 -0
  12. package/src/types/api/MAvatarViewer.d.ts +2 -1
  13. package/src/types/api/MBlock.d.ts +29 -0
  14. package/src/types/api/MBtn.d.ts +25 -0
  15. package/src/types/api/MCheckbox.d.ts +33 -0
  16. package/src/types/api/MCkeditor.d.ts +40 -0
  17. package/src/types/api/MCol.d.ts +55 -0
  18. package/src/types/api/MColumn.d.ts +16 -0
  19. package/src/types/api/MContainer.d.ts +19 -0
  20. package/src/types/api/MDate.d.ts +15 -0
  21. package/src/types/api/MDialog.d.ts +18 -0
  22. package/src/types/api/MEditor.d.ts +13 -0
  23. package/src/types/api/MField.d.ts +12 -0
  24. package/src/types/api/MFile.d.ts +21 -0
  25. package/src/types/api/MForm.d.ts +55 -0
  26. package/src/types/api/MHelpRow.d.ts +19 -0
  27. package/src/types/api/MHidden.d.ts +20 -0
  28. package/src/types/api/MHiddenInput.d.ts +26 -0
  29. package/src/types/api/MInput.d.ts +159 -0
  30. package/src/types/api/MInputFieldControl.d.ts +16 -0
  31. package/src/types/api/MInputLabel.d.ts +17 -0
  32. package/src/types/api/MMap.d.ts +24 -0
  33. package/src/types/api/MModalMenu.d.ts +17 -0
  34. package/src/types/api/MOptions.d.ts +62 -0
  35. package/src/types/api/MOtp.d.ts +52 -0
  36. package/src/types/api/MPassword.d.ts +20 -0
  37. package/src/types/api/MPicker.d.ts +41 -0
  38. package/src/types/api/MRadio.d.ts +13 -0
  39. package/src/types/api/MRow.d.ts +24 -0
  40. package/src/types/api/MSar.d.ts +25 -0
  41. package/src/types/api/MSelect.d.ts +1 -1
  42. package/src/types/api/MSignaturePad.d.ts +2 -1
  43. package/src/types/api/MTime.d.ts +12 -0
  44. package/src/types/api/MToggle.d.ts +39 -0
  45. package/src/types/api/MTooltip.d.ts +136 -0
  46. package/src/types/api/MTypingString.d.ts +24 -0
  47. package/src/types/api/MUploader.d.ts +163 -0
  48. package/src/types/components.d.ts +38 -984
  49. package/src/types/google.d.ts +19 -0
  50. package/src/types/index.d.ts +86 -2
  51. package/src/types/m-datatable.d.ts +3 -1
  52. package/src/types/{myth-api.ts → myth-api.d.ts} +9 -2
  53. package/src/types/plugin-props-option.d.ts +24 -26
  54. package/src/types/theme.d.ts +3 -1
  55. package/src/utils/createMyth.ts +13 -15
  56. package/src/utils/vue-plugin.ts +5 -3
  57. package/tsconfig.json +5 -1
  58. package/src/types/install-options.d.ts +0 -14
  59. package/src/types/m-geolocation.d.ts +0 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mythpe/quasar-ui-qui",
3
- "version": "0.2.42",
3
+ "version": "0.2.44",
4
4
  "description": "MyTh Quasar UI Kit App Extension",
5
5
  "author": {
6
6
  "name": "MyTh Ahmed Faiz",
@@ -38,6 +38,7 @@
38
38
  "typed.js": "^2.1.0",
39
39
  "vee-validate": "^4.14.7",
40
40
  "vue-i18n": "^11.1.2",
41
+ "vue3-google-map": "^0.22.0",
41
42
  "vue3-signature": "^0.2.4"
42
43
  },
43
44
  "devDependencies": {
@@ -48,6 +49,7 @@
48
49
  "@rollup/plugin-node-resolve": "^15.3.0",
49
50
  "@rollup/plugin-replace": "^6.0.1",
50
51
  "@types/express": "^5.0.0",
52
+ "@types/google.maps": "^3.58.1",
51
53
  "@types/node": "^22.10.1",
52
54
  "@types/pluralize": "^0.0.33",
53
55
  "@typescript-eslint/eslint-plugin": "^7.16.0",
@@ -8,8 +8,7 @@
8
8
 
9
9
  import { boot } from 'quasar/wrappers'
10
10
  import { install } from '../utils'
11
- import type { InstallOptions } from '../types'
12
11
 
13
12
  export default boot(({ app }) => {
14
- app.use(install, {} as InstallOptions)
13
+ app.use(install)
15
14
  })
@@ -12,7 +12,7 @@
12
12
  >
13
13
 
14
14
  import { computed, nextTick, onBeforeUnmount, onBeforeUpdate, ref, watch, watchEffect } from 'vue'
15
- import { date } from 'quasar'
15
+ import { date, useQuasar } from 'quasar'
16
16
  import type { MOtpProps as Props } from '../../types'
17
17
  import { useMyth } from '../../composable'
18
18
 
@@ -49,6 +49,7 @@ type Emits = {
49
49
  (e: 'resend', options: { start: Func, clear: Func, startTiming: Func }): void;
50
50
  }
51
51
  const emit = defineEmits<Emits>()
52
+ const $q = useQuasar()
52
53
 
53
54
  const { __, props: pluginOptions } = useMyth()
54
55
  const modelValue = defineModel<Props['modelValue']>({ required: !1, default: undefined })
@@ -15,7 +15,7 @@ import { useField } from 'vee-validate'
15
15
  import type { MSelectProps as Props } from '../../types'
16
16
  import { computed, reactive, toValue, useTemplateRef } from 'vue'
17
17
  import { useBindInput, useMyth } from '../../composable'
18
- import { QField, QSelect, type QSelectSlots } from 'quasar'
18
+ import { QField, QSelect, type QSelectSlots, useQuasar } from 'quasar'
19
19
 
20
20
  type P = {
21
21
  name: Props['name'];
@@ -118,6 +118,7 @@ type Emits = {
118
118
  (e: 'model', value: { value: any; model: object | null }): void;
119
119
  }
120
120
  const emit = defineEmits<Emits>()
121
+ const $q = useQuasar()
121
122
 
122
123
  const { __, props: pluginOptions } = useMyth()
123
124
  const helper = useBindInput<P & Props>(() => props, 'select', () => ({ choose: !0 }))
@@ -163,6 +164,7 @@ const onDoneOptions = () => {
163
164
  const listeners = {
164
165
  blur: (v: any) => handleBlur(v, !0),
165
166
  'update:modelValue': (v: Props['modelValue']) => {
167
+ console.log('update:modelValue: ', v)
166
168
  handleChange(v, !!errorMessage.value)
167
169
  if (!props.emitValue) {
168
170
  emit('model', { value: v, model: v })
@@ -172,7 +174,10 @@ const listeners = {
172
174
  emit('model', { value: v, model: model ?? null })
173
175
  }
174
176
  },
175
- inputValue: (v: string) => (search.value = v?.toString() || ''),
177
+ inputValue: (v: string) => {
178
+ console.log('inputValue: ', v)
179
+ search.value = v?.toString() || ''
180
+ },
176
181
  filter: filterFn
177
182
  }
178
183
  const input = useTemplateRef<InstanceType<typeof QSelect> | InstanceType<typeof QField>>('input')
@@ -9,10 +9,11 @@
9
9
  export * from './datatable'
10
10
  export * from './form'
11
11
  export * from './grid'
12
+ export * from './map'
12
13
  export * from './modal'
13
14
  export * from './parials'
14
15
  export * from './sar'
15
- export * from './typography'
16
16
  export * from './transition'
17
+ export * from './typography'
17
18
 
18
19
  export default {}
@@ -0,0 +1,69 @@
1
+ <!--
2
+ - MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ - Email: mythpe@gmail.com
4
+ - Mobile: +966590470092
5
+ - Website: https://www.4myth.com
6
+ - Github: https://github.com/mythpe
7
+ -->
8
+
9
+ <script lang="ts" setup>
10
+
11
+ import { computed } from 'vue'
12
+ import type { CoordsLatLng } from '../../types'
13
+ import type { MMapProps } from '../../types/api/MMap'
14
+ import { GoogleMap } from 'vue3-google-map'
15
+ import { useMyth } from '../../composable'
16
+
17
+ const props = defineProps<MMapProps>()
18
+ const { google: googleOptions } = useMyth()
19
+ const apiKey = computed(() => googleOptions.value.apiKey)
20
+
21
+ const defZoom = 17
22
+ const defWidth = '100%'
23
+ const defHeight = '250px'
24
+ const defLanguage = 'ar'
25
+
26
+ const getZoom = computed(() => {
27
+ return props.zoom ? parseInt(props.zoom.toString()) : defZoom
28
+ })
29
+ const width = computed<string>(() => {
30
+ const v = props.width || defWidth
31
+ return typeof v === 'number' ? `${v}px` : v
32
+ })
33
+ const height = computed<string>(() => {
34
+ const v = props.width || defHeight
35
+ return typeof v === 'number' ? `${v}px` : v
36
+ })
37
+ const getLanguage = computed(() => props.language || defLanguage)
38
+ const getCenter = computed<CoordsLatLng>(() => {
39
+ // if (props.center?.lat && props.center?.lng) {
40
+ // return props.center
41
+ // }
42
+ return {
43
+ lat: 24.603885,
44
+ lng: 46.7124333
45
+ }
46
+ })
47
+ const onClickMap = () => {
48
+ //
49
+ }
50
+
51
+ defineOptions({
52
+ name: 'MMap',
53
+ inheritAttrs: !1
54
+ })
55
+ </script>
56
+
57
+ <template>
58
+ <GoogleMap
59
+ :api-key="apiKey"
60
+ :center="getCenter"
61
+ :language="getLanguage"
62
+ :style="{width, height}"
63
+ :zoom="getZoom"
64
+ v-bind="$attrs"
65
+ @click="onClickMap"
66
+ >
67
+ <!-- -->
68
+ </GoogleMap>
69
+ </template>
@@ -0,0 +1,12 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+ import MMap from './MMap.vue'
9
+
10
+ export { MMap }
11
+
12
+ export default {}
@@ -14,6 +14,7 @@
14
14
  import { computed } from 'vue'
15
15
  import type { MDialogProps as Props } from '../../types'
16
16
  import { useMyth } from '../../composable'
17
+ import { useQuasar } from 'quasar'
17
18
 
18
19
  interface P {
19
20
  slide?: Props['slide'] | undefined;
@@ -24,6 +25,7 @@ const props = withDefaults(defineProps<P>(), {
24
25
  slide: () => !1,
25
26
  from: () => 'left'
26
27
  })
28
+ const $q = useQuasar()
27
29
  const slideProp = computed(() => props.slide !== undefined && props.slide !== !1 && props.slide !== null)
28
30
  const map = {
29
31
  left: 'right',
@@ -7,10 +7,10 @@
7
7
  -->
8
8
 
9
9
  <script lang="ts" setup>
10
- // import MSarSvg from './MSarSvg.vue'
11
10
  import { useI18n } from 'vue-i18n'
12
11
  import { computed } from 'vue'
13
12
  import { useMyth } from '../../composable'
13
+ import { useQuasar } from 'quasar'
14
14
 
15
15
  interface Props {
16
16
  text?: any;
@@ -22,6 +22,7 @@ const props = withDefaults(defineProps<Props>(), {
22
22
  string: !1
23
23
  })
24
24
 
25
+ const $q = useQuasar()
25
26
  const { te } = useI18n({ useScope: 'global' })
26
27
  const { __, formatMoney } = useMyth()
27
28
  const getText = computed<string | undefined>(() => {
@@ -0,0 +1,16 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ /// <reference types="google.maps" />
10
+ /// <reference types="vue3-google-map/dist/types" />
11
+
12
+ import '@types/google.maps'
13
+
14
+ declare global {
15
+ const google: typeof import('google.maps')
16
+ }
@@ -60,4 +60,6 @@ export const defineAsyncComponents = function (app: App) {
60
60
  // Utils.
61
61
  app.component('MSarIcon', defineAsyncComponent(() => import('../components/sar/MSarIcon.vue')))
62
62
  app.component('MSarString', defineAsyncComponent(() => import('../components/sar/MSarString.vue')))
63
+ // Map
64
+ app.component('MMap', defineAsyncComponent(() => import('../components/map/MMap.vue')))
63
65
  }
@@ -1,6 +1,7 @@
1
1
  import type { NamedColor, QAvatarProps, QAvatarSlots, QImgProps } from 'quasar'
2
2
  import type { VNode } from 'vue'
3
- import type { InputRulesContext, MColProps } from '../components'
3
+ import type { MColProps } from './MCol'
4
+ import type { InputRulesContext } from './MInput'
4
5
 
5
6
  export type MAvatarViewerModelValue = File | null | undefined;
6
7
 
@@ -0,0 +1,29 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { ThemeShadow, ThemeSize } from '../theme'
10
+ import type { VNode } from 'vue'
11
+
12
+ export type MBlockProps = {
13
+ /**
14
+ * Size of the padding block.
15
+ * Default: 'md'
16
+ */
17
+ size?: ThemeSize | undefined;
18
+ /**
19
+ * Rounded block
20
+ */
21
+ rounded?: boolean | undefined;
22
+ /**
23
+ * Shadow level
24
+ */
25
+ shadow?: ThemeShadow | undefined;
26
+ }
27
+ export type MBlockSlots = {
28
+ default?: () => VNode[];
29
+ }
@@ -0,0 +1,25 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { QBtnProps, QBtnSlots } from 'quasar'
10
+ import type { VNode } from 'vue'
11
+
12
+ export type MBtnProps = QBtnProps & {
13
+ ariaLabel?: boolean | string | null | undefined;
14
+ nativeLabel?: boolean | undefined;
15
+ }
16
+ export type MBtnSlots = QBtnSlots & {
17
+ /**
18
+ * Use for custom content, instead of relying on 'icon' and 'label' props
19
+ */
20
+ default?: () => VNode[];
21
+ /**
22
+ * Override the default QSpinner when in 'loading' state
23
+ */
24
+ loading: () => VNode[];
25
+ }
@@ -0,0 +1,33 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { VNode } from 'vue'
10
+ import type { QCheckboxProps } from 'quasar'
11
+ import type { BaseInputsProps, BaseInputsSlots } from './MInput'
12
+
13
+ export type BaseCheckboxProps = Omit<BaseInputsProps, 'topLabel'> & {
14
+ /**
15
+ * Input row props.
16
+ */
17
+ rowProps?: Record<string, any>;
18
+ /**
19
+ * Input column props.
20
+ */
21
+ colProps?: Record<string, any>;
22
+ }
23
+ export type MCheckboxProps = BaseCheckboxProps & Omit<QCheckboxProps, 'name' | 'modelValue' | 'label'>
24
+ export type MCheckboxSlots = Omit<BaseInputsSlots & 'top-label'> & {
25
+ /**
26
+ * VNode before field main content.
27
+ */
28
+ before: () => VNode[];
29
+ /**
30
+ * VNode after field main content.
31
+ */
32
+ after: () => VNode[];
33
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { EditorConfig } from 'https://cdn.ckeditor.com/typings/ckeditor5.d.ts'
10
+ import type { BaseInputsProps, BaseInputsSlots } from './MInput'
11
+
12
+ export type MCkeditorProps = Omit<BaseInputsProps, 'hint' | 'topLabel' | 'placeholder' | 'autocomplete'> & {
13
+ /**
14
+ * Editor language.
15
+ * Default value: ar.
16
+ */
17
+ lang: 'ar' | 'en';
18
+ /**
19
+ * Specifies the configuration of the editor.
20
+ * https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
21
+ */
22
+ config?: (config: EditorConfig) => EditorConfig;
23
+ /**
24
+ * By default, the editor component creates a <div> container which is used as an element passed to the editor (for example, ClassicEditor#element).
25
+ * The element can be configured, so for example to create a <textarea>, use the following directive:
26
+ * tag-name="textarea"
27
+ * Default value: div.
28
+ */
29
+ tagName?: string;
30
+ /**
31
+ * This directive controls the isReadOnly property of the editor.
32
+ * Default value: false.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * Use HTML instead of Markdown.
37
+ */
38
+ html?: boolean;
39
+ }
40
+ export type MCkeditorSlots = BaseInputsSlots
@@ -0,0 +1,55 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { VNode } from 'vue'
10
+
11
+ export type ColStyleType =
12
+ boolean
13
+ | undefined
14
+ | string
15
+ | number
16
+ | 'auto'
17
+ | 'grow'
18
+ | 'shrink'
19
+ | '1'
20
+ | '2'
21
+ | '3'
22
+ | '4'
23
+ | '5'
24
+ | '6'
25
+ | '7'
26
+ | '8'
27
+ | '9'
28
+ | '10'
29
+ | '11'
30
+ | '12'
31
+ | 1
32
+ | 2
33
+ | 3
34
+ | 4
35
+ | 5
36
+ | 6
37
+ | 7
38
+ | 8
39
+ | 9
40
+ | 10
41
+ | 11
42
+ | 12
43
+ export type MColProps = {
44
+ auto?: boolean;
45
+ col?: ColStyleType;
46
+ xs?: ColStyleType;
47
+ sm?: ColStyleType;
48
+ md?: ColStyleType;
49
+ lg?: ColStyleType;
50
+ xl?: ColStyleType;
51
+ name?: string;
52
+ }
53
+ export type MColSlots = {
54
+ default?: () => VNode[];
55
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { VNode } from 'vue'
10
+
11
+ export type MColumnProps = {
12
+ [key: string]: any;
13
+ }
14
+ export type MColumnSlots = {
15
+ default?: () => VNode[];
16
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { ThemeSize } from '../theme'
10
+ import type { VNode } from 'vue'
11
+
12
+ export type MContainerProps = {
13
+ size?: ThemeSize | string | undefined;
14
+ dense?: boolean | undefined;
15
+ fluid?: boolean | undefined;
16
+ }
17
+ export type MContainerSlots = {
18
+ default?: () => VNode[];
19
+ }
@@ -0,0 +1,15 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { MPickerProps, MPickerSlots } from './MPicker'
10
+
11
+ export interface MDateProps extends Omit<MPickerProps, 'type'> {
12
+ type?: 'date'
13
+ }
14
+
15
+ export type MDateSlots = MPickerSlots
@@ -0,0 +1,18 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { VNode } from 'vue'
10
+ import type { QDialogProps } from 'quasar'
11
+
12
+ export type MDialogProps = Partial<QDialogProps> & {
13
+ slide?: boolean | undefined;
14
+ from?: 'up' | 'down' | 'left' | 'right';
15
+ }
16
+ export type MDialogSlots = {
17
+ default: () => VNode[];
18
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { QEditorProps, QEditorSlots } from 'quasar'
10
+ import type { BaseInputsProps, BaseInputsSlots } from './MInput'
11
+
12
+ export type MEditorProps = Omit<QEditorProps, 'modelValue' | 'placeholder'> & BaseInputsProps
13
+ export type MEditorSlots = QEditorSlots & BaseInputsSlots
@@ -0,0 +1,12 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { MInputProps, MInputSlots } from './MInput'
10
+
11
+ export type MFieldProps = Omit<MInputProps, 'viewMode' | 'viewModeValue' | 'fieldOptions'>
12
+ export type MFieldSlots = MInputSlots
@@ -0,0 +1,21 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { QFileProps, QFileSlots } from 'quasar'
10
+ import type { BaseInputsProps, BaseInputsSlots } from './MInput'
11
+
12
+ export type MFileProps = Omit<QFileProps, 'modelValue' | 'rules' | 'name' | 'label' | 'hint'> & Omit<BaseInputsProps, 'autocomplete'> & {
13
+ accept?: string | undefined
14
+ images?: boolean | string
15
+ svg?: boolean | string
16
+ video?: boolean | string
17
+ pdf?: boolean | string
18
+ excel?: boolean | string
19
+ dragDrop?: boolean | undefined
20
+ }
21
+ export type MFileSlots = QFileSlots & BaseInputsSlots
@@ -0,0 +1,55 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { FormContext, FormOptions, FormState } from 'vee-validate'
10
+ import type { MaybeRefOrGetter, VNode } from 'vue'
11
+
12
+ export type MFormScope = FormContext;
13
+ export type MFormProps = {
14
+ /**
15
+ * Form HTML element attributes.
16
+ */
17
+ formProps?: Record<string, any>;
18
+ /**
19
+ * Default options of useForm.
20
+ */
21
+ opts?: FormOptions<Record<string, any>>;
22
+ /**
23
+ * The target to which the page will be scrolled.
24
+ * Default is: Window.
25
+ */
26
+ target?: HTMLElement | string | undefined;
27
+ /**
28
+ * Emit values instead controlled values.
29
+ * Default is: false.
30
+ */
31
+ emitValues?: boolean;
32
+ /**
33
+ * Watch to reset form values.
34
+ */
35
+ readonly state?: MaybeRefOrGetter<Partial<FormState<Record<string, any>>>>;
36
+ /**
37
+ * Watch to reset form values.
38
+ */
39
+ readonly form?: MaybeRefOrGetter<Record<string, any>>;
40
+ /**
41
+ * Watch to set form values.
42
+ */
43
+ readonly values?: MaybeRefOrGetter<Record<string, any>>;
44
+ /**
45
+ * Watch to set form errors.
46
+ */
47
+ readonly errors?: MaybeRefOrGetter<Record<string, string | string[]>>;
48
+ /**
49
+ * Apply padding to form.
50
+ */
51
+ readonly padding?: boolean;
52
+ }
53
+ export type MFormSlots = {
54
+ default: (scope: MFormScope) => VNode[];
55
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { VNode } from 'vue'
10
+ import type { QItemProps } from 'quasar'
11
+
12
+ export type MHelpRowProps = Partial<QItemProps> & {
13
+ text?: string | undefined;
14
+ icon?: string | undefined;
15
+ tooltip?: boolean | undefined;
16
+ }
17
+ export type MHelpRowSlots = {
18
+ default?: () => VNode[];
19
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * MyTh Ahmed Faiz Copyright © 2016-2025 All rights reserved.
3
+ * Email: mythpe@gmail.com
4
+ * Mobile: +966590470092
5
+ * Website: https://www.4myth.com
6
+ * Github: https://github.com/mythpe
7
+ */
8
+
9
+ import type { MColProps } from './MCol'
10
+ import type { VNode } from 'vue'
11
+ import type { MHiddenInputProps } from './MHiddenInput'
12
+ import type { ViewModeProps } from './MInput'
13
+
14
+ export type MHiddenProps = MHiddenInputProps & Pick<ViewModeProps, 'viewMode'> & Omit<MColProps, 'name'>
15
+ export type MHiddenSlots = {
16
+ /**
17
+ * Field main content
18
+ */
19
+ default: () => VNode[];
20
+ }