@mythpe/quasar-ui-qui 0.0.26-dev → 0.0.27-dev

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 (54) hide show
  1. package/index.d.ts +0 -4
  2. package/package.json +2 -1
  3. package/src/components/datatable/MDatatable.vue +2305 -0
  4. package/src/components/datatable/MDtAvatar.vue +49 -0
  5. package/src/components/datatable/MDtBtn.vue +153 -0
  6. package/src/components/datatable/MDtContextmenuItems.vue +54 -0
  7. package/src/components/datatable/index.ts +6 -0
  8. package/src/components/form/MAvatarViewer.vue +6 -3
  9. package/src/components/form/MAxios.vue +7 -4
  10. package/src/components/form/MCheckbox.vue +33 -9
  11. package/src/components/form/MDate.vue +4 -1
  12. package/src/components/form/MEmail.vue +4 -1
  13. package/src/components/form/MField.vue +4 -1
  14. package/src/components/form/MFile.vue +5 -2
  15. package/src/components/form/MForm.vue +4 -1
  16. package/src/components/form/MHiddenInput.vue +4 -1
  17. package/src/components/form/MInput.vue +1 -1
  18. package/src/components/form/MInputLabel.vue +4 -1
  19. package/src/components/form/MMobile.vue +4 -1
  20. package/src/components/form/MOptions.vue +255 -0
  21. package/src/components/form/MOtp.vue +292 -0
  22. package/src/components/form/MRadio.vue +5 -2
  23. package/src/components/form/MSelect.vue +4 -1
  24. package/src/components/form/MTime.vue +4 -1
  25. package/src/components/form/MToggle.vue +211 -0
  26. package/src/components/form/MUploader.vue +511 -0
  27. package/src/components/form/index.ts +9 -1
  28. package/src/components/grid/MColumn.vue +4 -1
  29. package/src/components/grid/MHelpRow.vue +5 -1
  30. package/src/components/index.ts +3 -0
  31. package/src/components/modal/MDialog.vue +58 -0
  32. package/src/components/modal/MModalMenu.vue +62 -0
  33. package/src/components/modal/MTooltip.vue +39 -0
  34. package/src/components/modal/index.ts +5 -0
  35. package/src/components/parials/UploaderItem.vue +298 -0
  36. package/src/components/parials/index.ts +3 -0
  37. package/src/components/transition/MTransition.vue +4 -1
  38. package/src/composable/useBindInput.ts +1 -1
  39. package/src/composable/useMyth.ts +20 -11
  40. package/src/index.sass +2 -1
  41. package/src/style/main.sass +104 -0
  42. package/src/style/print.sass +14 -0
  43. package/src/style/transition.sass +40 -0
  44. package/src/types/api-helpers.d.ts +11 -72
  45. package/src/types/components.d.ts +411 -105
  46. package/src/types/index.d.ts +5 -139
  47. package/src/types/install-options.d.ts +19 -0
  48. package/src/types/m-datatable.d.ts +316 -0
  49. package/src/types/m-geolocation.d.ts +16 -0
  50. package/src/types/m-helpers.d.ts +97 -0
  51. package/src/types/plugin-props-option.d.ts +301 -0
  52. package/src/utils/myth.ts +15 -1
  53. package/src/utils/vue-plugin.ts +34 -2
  54. package/src/types/dt.d.ts +0 -144
@@ -23,11 +23,16 @@ import type {
23
23
  QInputProps,
24
24
  QInputSlots,
25
25
  QItemProps,
26
+ QOptionGroupProps,
27
+ QOptionGroupSlots,
26
28
  QRadioProps,
27
29
  QSelectProps,
28
- QTableProps,
29
- QTimeProps
30
+ QTimeProps,
31
+ QToggleProps,
32
+ QUploaderProps,
33
+ QUploaderSlots
30
34
  } from 'quasar'
35
+ import { QDialogProps, QMenuProps, QPopupProxyProps, QTooltipProps } from 'quasar'
31
36
  import type {
32
37
  ComputedRef,
33
38
  MaybeRefOrGetter,
@@ -42,17 +47,18 @@ import type {
42
47
  import type { TypedOptions } from 'typed.js'
43
48
  import type { FieldContext, FieldOptions, FormContext, FormOptions, FormState } from 'vee-validate'
44
49
  import type { ThemeShadow, ThemeSize } from './theme'
45
- import type {
46
- GenericMDtBtn,
47
- MDtExportOptions,
48
- MDtItem,
49
- MDtRequestParamsCallbackProp,
50
- MDtRequestParamsObjectProp,
51
- MDtServiceNameCallbackProp,
52
- MDtServiceNameStringProp
53
- } from './dt'
54
- import type { RouteLocationRaw } from 'vue-router'
55
50
  import type { AxiosRequestConfig } from 'axios'
51
+ import { ApiInterface, HelpersStubSchema } from './api-helpers'
52
+ import {
53
+ MDatatableProps,
54
+ MDatatableSlots,
55
+ MDtAvatarProps,
56
+ MDtAvatarSlots,
57
+ MDtBtnProps,
58
+ MDtBtnSlots,
59
+ MDtContextmenuItemsProps,
60
+ MDtContextmenuItemsSlots
61
+ } from './m-datatable'
56
62
 
57
63
  export interface MTransitionProps extends TransitionGroupProps {
58
64
  enterIn?: string;
@@ -715,150 +721,437 @@ export interface MFormSlots {
715
721
 
716
722
  export declare type GenericFormValues = Record<any, any>;
717
723
 
718
- export interface MDtBtnProps extends MBtnProps {
719
- show?: boolean;
720
- update?: boolean;
721
- destroy?: boolean;
722
- tooltip?: string | undefined;
723
- color?: string;
724
- icon?: string;
725
- listItem?: boolean;
726
- fabMini?: boolean;
727
- flat?: boolean;
728
- round?: boolean;
729
- dense?: boolean;
730
- label?: string | undefined;
724
+ type ParamsReq = Record<string, any>;
725
+
726
+ export interface MAxiosProps extends Omit<MSelectProps, 'options' | 'axiosMode'> {
727
+ /**
728
+ * Request method. Default is GET.
729
+ */
730
+ service: ((config?: AxiosRequestConfig) => Promise<any>) | string;
731
+ /**
732
+ * Send request as guest request. If false, send request as authenticated user. Default is true.
733
+ */
734
+ guest?: boolean | MaybeRefOrGetter<boolean>;
735
+ /**
736
+ * Request params.
737
+ */
738
+ params?: Ref<ParamsReq> | ShallowRef<ParamsReq> | WritableComputedRef<ParamsReq> | ComputedRef<ParamsReq> | (() => ParamsReq);
739
+ /**
740
+ * Request relations.
741
+ */
742
+ requestWith?: MaybeRefOrGetter<string> | undefined;
743
+ /**
744
+ * Component items.
745
+ */
746
+ items?: any[];
747
+ /**
748
+ * The name of the attribute to be used as a label
749
+ */
750
+ attributeName?: string;
751
+ /**
752
+ * Do fetch asynchronous
753
+ */
754
+ lazy?: boolean;
731
755
  }
732
756
 
733
- export interface MDtBtnSlots extends MBtnSlots {
757
+ export interface MAxiosSlots extends MSelectSlots {
758
+ //
759
+ }
760
+
761
+ export interface MOptionsOptionContext extends Omit<QToggleProps, 'modelValue'>, Omit<QRadioProps, 'modelValue'>, Omit<QCheckboxProps, 'modelValue'> {
734
762
  /**
735
- * Use for custom content, instead of relying on 'icon' and 'label' props
763
+ * Label to display along the component
736
764
  */
765
+ label: string;
766
+ /**
767
+ * Value of the option that will be used by the component model
768
+ */
769
+ value: any;
770
+ /**
771
+ * If true, the option will be disabled
772
+ */
773
+ disable?: boolean;
774
+ /**
775
+ * Any other props from QToggle, QCheckbox, or QRadio
776
+ */
777
+ }
778
+
779
+ export interface MOptionsProps extends Omit<QOptionGroupProps, 'name' | 'modelValue' | 'options'>,
780
+ Omit<BaseInputsProps, 'autocomplete' | 'modelValue'> {
781
+ modelValue?: any;
782
+ /**
783
+ * Array of objects with value, label, and disable (optional) props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly
784
+ */
785
+ options?: MOptionsOptionContext[];
786
+ /**
787
+ * Get options by function. any send the current value to this function to get options.
788
+ */
789
+ service?: ((value?: any) => Promise<ApiInterface>) | undefined;
790
+ /**
791
+ * Service loading.
792
+ */
793
+ loading?: boolean | undefined;
794
+ /**
795
+ * Set content to be full width.
796
+ */
797
+ fullWidth?: boolean;
798
+ /**
799
+ * Set width of content to be equals.
800
+ * Default is: 33.33333333%
801
+ */
802
+ fitWidth?: boolean;
803
+ }
804
+
805
+ export interface MOtpProps extends Omit<QInputProps, 'modelValue'> {
806
+ modelValue?: string | number;
807
+ inputLength?: string | number;
808
+ numeric?: boolean;
809
+ time?: string | number;
810
+ hideTime?: boolean;
811
+ hideSendAgain?: boolean;
812
+ topLabel?: string | undefined;
813
+ topLabelProps?: any | undefined;
814
+ errors?: string[];
815
+ }
816
+
817
+ export interface MOtpSlots extends QInputSlots {
737
818
  default: () => VNode[];
819
+ 'before-all': () => VNode[];
820
+ 'after-all': () => VNode[];
821
+ 'after-input': () => VNode[];
822
+ }
823
+
824
+ export interface MOptionsSlots extends QOptionGroupSlots, QFieldSlots, BaseInputsSlots {
825
+ //
826
+ }
827
+
828
+ export interface MToggleProps extends Omit<BaseInputsProps, 'placeholder' | 'topLabel' | 'autocomplete' | 'modelValue'>,
829
+ Omit<QToggleProps, 'modelValue' | 'label' | 'name'> {
830
+ modelValue?: number;
738
831
  /**
739
- * Override the default QSpinner when in 'loading' state
832
+ * Customize the label when the toggle is true.
833
+ * Default is: Yes.
740
834
  */
741
- loading: () => VNode[];
835
+ activeLabel?: string;
836
+ /**
837
+ * Customize the label when the toggle is false.
838
+ * Default is: No.
839
+ */
840
+ inactiveLabel?: string;
841
+ /**
842
+ * Set labels of toggle to status, Active & Inactive.
843
+ */
844
+ status?: boolean;
845
+ /**
846
+ * Input row props.
847
+ */
848
+ rowProps?: Record<string, any>;
849
+ /**
850
+ * Input column props.
851
+ */
852
+ colProps?: Record<string, any>;
742
853
  }
743
854
 
744
- export interface MDatatableProps<I extends GenericFormValues = GenericFormValues> extends Omit<QTableProps, 'rows' | 'rowsPerPageOptions' | 'visibleColumns'> {
745
- rows?: any[];
746
- controlKey?: string;
747
- defaultItem?: Partial<MDtItem<I>>
748
- contextItems?: GenericMDtBtn[];
749
- hideAutoMessage?: boolean;
750
- headers: string[] | Partial<QTableProps['columns']> | any[];
751
- serviceName?: MDtServiceNameStringProp | MDtServiceNameCallbackProp;
752
- requestParams?: MDtRequestParamsObjectProp | MDtRequestParamsCallbackProp;
855
+ export interface MToggleSlots extends MCheckboxSlots, Pick<BaseInputsProps, 'topLabel'> {
856
+ //
857
+ }
858
+
859
+ export type MUploaderMediaItem = {
860
+ id: number;
861
+ value: number;
862
+ name: string;
863
+ file_name: string;
864
+ type: string;
865
+ size: number;
866
+ size_to_string: string;
867
+ url: string;
868
+ download_url: string;
869
+ icon: string;
870
+ description: string;
871
+ attachment_type: string;
872
+ attachment_type_id: number;
873
+ attachment_type_id_to_string: string;
874
+ user_id: number | null;
875
+ user_id_to_string: string;
876
+ order_column: number;
877
+ [k: string]: any;
878
+ };
879
+
880
+ export type MUploaderServiceType = Pick<HelpersStubSchema, 'getUploadAttachmentsUrl' | 'updateAttachment' | 'uploadAttachments' | 'deleteAttachment'>
881
+
882
+ export interface MUploaderProps extends Omit<QUploaderProps, 'formFields' | 'headers' | 'url'>, MColProps, Pick<BaseInputsProps, 'fieldOptions'> {
883
+ /**
884
+ * Name fo field input, Attachments key name.
885
+ * Default is: 'attachments'
886
+ */
887
+ name?: string;
888
+ /**
889
+ * Put component in disabled mode
890
+ */
891
+ disable?: boolean;
892
+ /**
893
+ * Put component in readonly mode
894
+ */
895
+ readonly?: boolean;
896
+ /**
897
+ * Comma separated list of unique file type specifiers. Maps to 'accept' attribute of native input type=file element
898
+ */
899
+ accept?: string;
900
+ /**
901
+ * Support for uploading images
902
+ */
903
+ images?: boolean;
904
+ /**
905
+ * Support for uploading svg
906
+ */
907
+ svg?: boolean;
908
+ /**
909
+ * Support for uploading videos
910
+ */
911
+ video?: boolean;
912
+ /**
913
+ * Support for uploading pdf
914
+ */
753
915
  pdf?: boolean;
916
+ /**
917
+ * Support for uploading excel
918
+ */
754
919
  excel?: boolean;
755
- exportUrl?: MDtExportOptions | boolean;
756
- hideSearch?: boolean;
757
- searchDebounce?: string | number;
758
- withIndex?: string | string[];
759
- withStore?: string | string[];
760
- withShow?: string | string[];
761
- withUpdate?: string | string[];
762
- hideAddBtn?: boolean;
763
- hideUpdateBtn?: boolean;
764
- hideShowBtn?: boolean;
765
- hideDestroyBtn?: boolean;
766
- storeRoute?: string | RouteLocationRaw;
767
- storeQueryParams?: boolean;
768
- updateRoute?: string | RouteLocationRaw;
769
- updateQueryParams?: boolean;
770
- showRoute?: string | RouteLocationRaw;
771
- showQueryParams?: boolean;
772
- mouse?: boolean;
773
- noRefreshBtn?: boolean;
774
- endReach?: boolean;
775
- showSelection?: boolean;
776
- hideSelection?: boolean;
777
- multiSelection?: boolean;
778
- multiDestroy?: boolean;
779
- rowsPerPageOptions?: (string | number)[];
780
- ignoreKeys?: string[] | ((form: Record<string, any>) => string[]) | any[];
781
- manageColumns?: boolean;
782
- visibleColumns?: (string | null | undefined)[] | any[];
783
- searchColumns?: string[];
784
920
  /**
785
- * Show Add btn top of table,
921
+ * Upload files immediately when added
786
922
  */
787
- addTopBtn?: boolean;
923
+ autoUpload?: boolean;
788
924
  /**
789
- * Show Add btn inside more list
925
+ * Field name for each file upload; This goes into the following header: 'Content-Disposition: form-data; name="__HERE__"; filename="somefile.png"; If using a function then for best performance, reference it from your scope and do not define it inline
926
+ * Default value: (file) => file.name
927
+ * @param files The current file being processed
928
+ * @returns Field name for the current file upload
790
929
  */
791
- addListBtn?: boolean;
930
+ fieldName?: string | ((files: File) => string);
792
931
  /**
793
- * Show Fab Add btn
932
+ * Collection send to API
794
933
  */
795
- addFabBtn?: boolean;
934
+ collection?: string | number | symbol;
796
935
  /**
797
- * make datatable fullscreen mode
936
+ * Field Attachment Type
798
937
  */
799
- fullscreenBtn?: boolean;
938
+ attachmentType?: any;
800
939
  /**
801
- * Auto actions body headers 'control'
940
+ * return attachments after upload;
941
+ * Default current collection name;
802
942
  */
803
- noBodyControl?: boolean;
943
+ returnType?: 'all' | 'current' | undefined;
804
944
  /**
805
- * Auto actions card 'control'
945
+ * Object with additional fields definitions (used by Form to be uploaded);
806
946
  */
807
- showCardControlHeader?: boolean;
947
+ formFields?: Record<string, any>;
808
948
  /**
809
- * Set datatable to fixed view
949
+ * Extra headers
810
950
  */
811
- fixed?: boolean;
951
+ headers?: Record<string, any>;
812
952
  /**
813
- * Names of image columns in the table.
953
+ * Label for the uploader
814
954
  */
815
- imageColumns?: string[] | any[];
955
+ label?: string | null | undefined;
816
956
  /**
817
- * How to display image button in table.
957
+ * The Attachments list.
818
958
  */
819
- imageMode?: 'icon' | 'image';
959
+ modelValue?: MUploaderMediaItem[];
820
960
  /**
821
- * Image size in display
961
+ * Hide delete media items from uploader, no delete media For API
822
962
  */
823
- imageSize?: string;
963
+ hideDeleteMedia?: boolean;
964
+ /**
965
+ * Show update button of media.
966
+ */
967
+ updateBtn?: boolean;
968
+ /**
969
+ * User APi service for upload & delete
970
+ */
971
+ service: string | MUploaderServiceType;
972
+ /**
973
+ * The ID of model will use in attachments
974
+ */
975
+ modelId?: string | number | undefined;
976
+ uploading?: boolean | undefined;
977
+ defaultFileIcon?: string | undefined;
978
+ deleteMediaIcon?: string | undefined;
979
+ uploadFilesIcon?: string | undefined;
980
+ pickFilesIcon?: string | undefined;
981
+ removeUploadedIcon?: string | undefined;
982
+ removeQueuedIcon?: string | undefined;
983
+ abortUploadIcon?: string | undefined;
984
+ downloadFileIcon?: string | undefined;
985
+ errorsIcon?: string | undefined;
986
+ iconsSize?: string | undefined;
987
+ displayMode?: 'list' | 'card' | undefined;
988
+ shadow?: string | undefined;
989
+ /**
990
+ * Media Item Label Field.
991
+ * Default is: name.
992
+ */
993
+ mediaLabel?: string | undefined;
994
+ }
995
+
996
+ export interface MUploaderSlots extends QUploaderSlots {
997
+ /**
998
+ * Field main content
999
+ */
1000
+ default: () => VNode[];
1001
+ /**
1002
+ * list of item will be display
1003
+ */
1004
+ // list: (scope: { item: MUploaderMediaItem, index: number }) => VNode[];
1005
+ /**
1006
+ * list of item will be display
1007
+ */
1008
+ 'item-list': (scope: { item: MUploaderMediaItem, index: number }) => VNode[];
1009
+ }
1010
+
1011
+ export type MUploaderXhrInfo = { files: readonly any[]; xhr: any; }
824
1012
 
1013
+ export type MModalMenuProps = Partial<QDialogProps> & Partial<QMenuProps> & Partial<QPopupProxyProps> & {
1014
+ noCloseBtn?: boolean;
825
1015
  }
826
1016
 
827
- type ParamsReq = Record<string, any>;
1017
+ export type MModalMenuSlots = {
1018
+ default: () => VNode[];
1019
+ }
828
1020
 
829
- export interface MAxiosProps extends Omit<MSelectProps, 'options' | 'axiosMode'> {
1021
+ export type MTooltipProps = Partial<QTooltipProps> & {
830
1022
  /**
831
- * Request method. Default is GET.
1023
+ * One of Quasar's embedded transitions
1024
+ * Default value: jump-down
832
1025
  */
833
- service: ((config?: AxiosRequestConfig) => Promise<any>) | string;
1026
+ transitionShow?: string | undefined;
834
1027
  /**
835
- * Send request as guest request. If false, send request as authenticated user. Default is true.
1028
+ * One of Quasar's embedded transitions
1029
+ * Default value: jump-up
836
1030
  */
837
- guest?: boolean | MaybeRefOrGetter<boolean>;
1031
+ transitionHide?: string | undefined;
838
1032
  /**
839
- * Request params.
1033
+ * Transition duration (in milliseconds, without unit)
1034
+ * Default value: 300
840
1035
  */
841
- params?: Ref<ParamsReq> | ShallowRef<ParamsReq> | WritableComputedRef<ParamsReq> | ComputedRef<ParamsReq> | (() => ParamsReq);
1036
+ transitionDuration?: string | number | undefined;
842
1037
  /**
843
- * Request relations.
1038
+ * Model of the component defining shown/hidden state; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive
844
1039
  */
845
- requestWith?: MaybeRefOrGetter<string> | undefined;
1040
+ modelValue?: boolean;
846
1041
  /**
847
- * Component items.
1042
+ * The maximum height of the Tooltip; Size in CSS units, including unit name
848
1043
  */
849
- items?: any[];
1044
+ maxHeight?: string | undefined;
850
1045
  /**
851
- * The name of the attribute to be used as a label
1046
+ * The maximum width of the Tooltip; Size in CSS units, including unit name
852
1047
  */
853
- attributeName?: string;
1048
+ maxWidth?: string | undefined;
854
1049
  /**
855
- * Do fetch asynchronous
1050
+ * Two values setting the starting position or anchor point of the Tooltip relative to its target
1051
+ * Default value: bottom middle
856
1052
  */
857
- lazy?: boolean;
1053
+ anchor?:
1054
+ | 'top left'
1055
+ | 'top middle'
1056
+ | 'top right'
1057
+ | 'top start'
1058
+ | 'top end'
1059
+ | 'center left'
1060
+ | 'center middle'
1061
+ | 'center right'
1062
+ | 'center start'
1063
+ | 'center end'
1064
+ | 'bottom left'
1065
+ | 'bottom middle'
1066
+ | 'bottom right'
1067
+ | 'bottom start'
1068
+ | 'bottom end'
1069
+ | undefined;
1070
+ /**
1071
+ * Two values setting the Tooltip's own position relative to its target
1072
+ * Default value: top middle
1073
+ */
1074
+ self?:
1075
+ | 'top left'
1076
+ | 'top middle'
1077
+ | 'top right'
1078
+ | 'top start'
1079
+ | 'top end'
1080
+ | 'center left'
1081
+ | 'center middle'
1082
+ | 'center right'
1083
+ | 'center start'
1084
+ | 'center end'
1085
+ | 'bottom left'
1086
+ | 'bottom middle'
1087
+ | 'bottom right'
1088
+ | 'bottom start'
1089
+ | 'bottom end'
1090
+ | undefined;
1091
+ /**
1092
+ * An array of two numbers to offset the Tooltip horizontally and vertically in pixels
1093
+ * Default value: [14, 14]
1094
+ */
1095
+ offset?: readonly any[] | undefined;
1096
+ /**
1097
+ * CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one
1098
+ */
1099
+ scrollTarget?: Element | string | undefined;
1100
+ /**
1101
+ * Configure a target element to trigger Tooltip toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) it attaches the events to the specified DOM element (if it exists)
1102
+ * Default value: true
1103
+ */
1104
+ target?: boolean | string | undefined;
1105
+ /**
1106
+ * Skips attaching events to the target DOM element (that trigger the element to get shown)
1107
+ */
1108
+ noParentEvent?: boolean | undefined;
1109
+ /**
1110
+ * Configure Tooltip to appear with delay
1111
+ */
1112
+ delay?: number | undefined;
1113
+ /**
1114
+ * Configure Tooltip to disappear with delay
1115
+ */
1116
+ hideDelay?: number | undefined;
1117
+ /**
1118
+ * Emitted when showing/hidden state changes; Is also used by v-model
1119
+ * @param value New state (showing/hidden)
1120
+ */
1121
+ 'onUpdate:modelValue'?: (value: boolean) => void;
1122
+ /**
1123
+ * Emitted after component has triggered show()
1124
+ * @param evt JS event object
1125
+ */
1126
+ onShow?: (evt: Event) => void;
1127
+ /**
1128
+ * Emitted when component triggers show() but before it finishes doing it
1129
+ * @param evt JS event object
1130
+ */
1131
+ onBeforeShow?: (evt: Event) => void;
1132
+ /**
1133
+ * Emitted after component has triggered hide()
1134
+ * @param evt JS event object
1135
+ */
1136
+ onHide?: (evt: Event) => void;
1137
+ /**
1138
+ * Emitted when component triggers hide() but before it finishes doing it
1139
+ * @param evt JS event object
1140
+ */
1141
+ onBeforeHide?: (evt: Event) => void;
858
1142
  }
859
1143
 
860
- export interface MAxiosSlots extends MSelectSlots {
861
- //
1144
+ export type MTooltipSlots = {
1145
+ default: () => VNode[];
1146
+ }
1147
+
1148
+ export type MDialogProps = Partial<QDialogProps> & {
1149
+ slide?: boolean | undefined;
1150
+ from?: 'up' | 'down' | 'left' | 'right';
1151
+ }
1152
+
1153
+ export type MDialogSlots = {
1154
+ default: () => VNode[];
862
1155
  }
863
1156
 
864
1157
  declare module '@vue/runtime-core' {
@@ -880,11 +1173,15 @@ declare module '@vue/runtime-core' {
880
1173
  MInputFieldControl: GlobalComponentConstructor<MInputFieldControlProps, MInputFieldControlSlots>;
881
1174
  MInputLabel: GlobalComponentConstructor<MInputLabelProps, MInputLabelSlots>;
882
1175
  MMobile: GlobalComponentConstructor<MInputProps, MInputSlots>;
1176
+ MOptions: GlobalComponentConstructor<MOptionsProps, MOptionsSlots>;
1177
+ MOtp: GlobalComponentConstructor<MOtpProps, MOtpSlots>;
883
1178
  MPassword: GlobalComponentConstructor<MPasswordProps, MInputSlots>;
884
1179
  MPicker: GlobalComponentConstructor<MPickerProps, MPickerSlots>;
885
1180
  MRadio: GlobalComponentConstructor<MRadioProps, MRadioSlots>;
886
1181
  MSelect: GlobalComponentConstructor<MSelectProps, MSelectSlots>;
887
1182
  MTime: GlobalComponentConstructor<MTimeProps, MTimeSlots>;
1183
+ MToggle: GlobalComponentConstructor<MToggleProps, MToggleSlots>;
1184
+ MUploader: GlobalComponentConstructor<MUploaderProps, MUploaderSlots>;
888
1185
 
889
1186
  // Grid.
890
1187
  MBlock: GlobalComponentConstructor<MBlockProps, MBlockSlots>;
@@ -901,5 +1198,14 @@ declare module '@vue/runtime-core' {
901
1198
  MTransition: GlobalComponentConstructor<MTransitionProps, MTransitionsSlots>;
902
1199
  MFadeTransition: GlobalComponentConstructor<TransitionProps, MTransitionsSlots>;
903
1200
  MFadeXTransition: GlobalComponentConstructor<TransitionProps, MTransitionsSlots>;
1201
+ // Modals.
1202
+ MDialog: GlobalComponentConstructor<MDialogProps, MDialogSlots>;
1203
+ MModalMenu: GlobalComponentConstructor<MModalMenuProps, MModalMenuSlots>;
1204
+ MTooltip: GlobalComponentConstructor<MTooltipProps, MTooltipSlots>;
1205
+ // Datatable
1206
+ MDatatable: GlobalComponentConstructor<MDatatableProps, MDatatableSlots>;
1207
+ MDtAvatar: GlobalComponentConstructor<MDtAvatarProps, MDtAvatarSlots>;
1208
+ MDtBtn: GlobalComponentConstructor<MDtBtnProps, MDtBtnSlots>;
1209
+ MDtContextmenuItems: GlobalComponentConstructor<MDtContextmenuItemsProps, MDtContextmenuItemsSlots>;
904
1210
  }
905
1211
  }