my-admin-framework 0.0.4

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 (104) hide show
  1. package/README.md +98 -0
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/components/HelloWorld.vue.d.ts +5 -0
  4. package/dist/components/MaAccordion.vue.d.ts +27 -0
  5. package/dist/components/MaAccordionItem.vue.d.ts +22 -0
  6. package/dist/components/MaActivityFeed.vue.d.ts +31 -0
  7. package/dist/components/MaAiAssistant.vue.d.ts +17 -0
  8. package/dist/components/MaAiChat.vue.d.ts +5 -0
  9. package/dist/components/MaAlert.vue.d.ts +38 -0
  10. package/dist/components/MaAvatar.vue.d.ts +32 -0
  11. package/dist/components/MaBadge.vue.d.ts +31 -0
  12. package/dist/components/MaBlogCard.vue.d.ts +30 -0
  13. package/dist/components/MaBreadcrumb.vue.d.ts +33 -0
  14. package/dist/components/MaButton.vue.d.ts +39 -0
  15. package/dist/components/MaCalendar.vue.d.ts +45 -0
  16. package/dist/components/MaCard.vue.d.ts +38 -0
  17. package/dist/components/MaChart.vue.d.ts +14 -0
  18. package/dist/components/MaCheckbox.vue.d.ts +38 -0
  19. package/dist/components/MaCheckout.vue.d.ts +33 -0
  20. package/dist/components/MaCol.vue.d.ts +43 -0
  21. package/dist/components/MaCommandPalette.vue.d.ts +21 -0
  22. package/dist/components/MaConfirmModal.vue.d.ts +16 -0
  23. package/dist/components/MaCourseCard.vue.d.ts +48 -0
  24. package/dist/components/MaDatePicker.vue.d.ts +21 -0
  25. package/dist/components/MaDrawer.vue.d.ts +34 -0
  26. package/dist/components/MaDropdown.vue.d.ts +23 -0
  27. package/dist/components/MaEmpty.vue.d.ts +24 -0
  28. package/dist/components/MaErrorBoundary.vue.d.ts +17 -0
  29. package/dist/components/MaFaq.vue.d.ts +16 -0
  30. package/dist/components/MaFooter.vue.d.ts +33 -0
  31. package/dist/components/MaFormGroup.vue.d.ts +32 -0
  32. package/dist/components/MaHeader.vue.d.ts +19 -0
  33. package/dist/components/MaIcon.vue.d.ts +11 -0
  34. package/dist/components/MaInput.vue.d.ts +56 -0
  35. package/dist/components/MaJobCard.vue.d.ts +27 -0
  36. package/dist/components/MaJobListing.vue.d.ts +37 -0
  37. package/dist/components/MaKanban.vue.d.ts +49 -0
  38. package/dist/components/MaLayout.vue.d.ts +29 -0
  39. package/dist/components/MaModal.vue.d.ts +39 -0
  40. package/dist/components/MaNavbar.vue.d.ts +28 -0
  41. package/dist/components/MaNewsletter.vue.d.ts +26 -0
  42. package/dist/components/MaNotification.vue.d.ts +40 -0
  43. package/dist/components/MaPagination.vue.d.ts +31 -0
  44. package/dist/components/MaPricingCard.vue.d.ts +20 -0
  45. package/dist/components/MaProgress.vue.d.ts +16 -0
  46. package/dist/components/MaPropertyCard.vue.d.ts +45 -0
  47. package/dist/components/MaRadio.vue.d.ts +36 -0
  48. package/dist/components/MaRecipe.vue.d.ts +46 -0
  49. package/dist/components/MaRichTextEditor.vue.d.ts +22 -0
  50. package/dist/components/MaRow.vue.d.ts +26 -0
  51. package/dist/components/MaSelect.vue.d.ts +52 -0
  52. package/dist/components/MaShoppingCart.vue.d.ts +50 -0
  53. package/dist/components/MaSidebar.vue.d.ts +18 -0
  54. package/dist/components/MaSkeleton.vue.d.ts +11 -0
  55. package/dist/components/MaSpinner.vue.d.ts +10 -0
  56. package/dist/components/MaStatWidget.vue.d.ts +31 -0
  57. package/dist/components/MaStatistic.vue.d.ts +29 -0
  58. package/dist/components/MaStep.vue.d.ts +25 -0
  59. package/dist/components/MaSteps.vue.d.ts +26 -0
  60. package/dist/components/MaSwitch.vue.d.ts +39 -0
  61. package/dist/components/MaTable.vue.d.ts +83 -0
  62. package/dist/components/MaTabs.vue.d.ts +30 -0
  63. package/dist/components/MaTag.vue.d.ts +37 -0
  64. package/dist/components/MaTaskList.vue.d.ts +19 -0
  65. package/dist/components/MaTeamMember.vue.d.ts +43 -0
  66. package/dist/components/MaTestimonial.vue.d.ts +18 -0
  67. package/dist/components/MaTextarea.vue.d.ts +16 -0
  68. package/dist/components/MaThemeCustomizer.vue.d.ts +2 -0
  69. package/dist/components/MaTimePicker.vue.d.ts +23 -0
  70. package/dist/components/MaTimeline.vue.d.ts +17 -0
  71. package/dist/components/MaTimelineItem.vue.d.ts +24 -0
  72. package/dist/components/MaToast.vue.d.ts +11 -0
  73. package/dist/components/MaTooltip.vue.d.ts +31 -0
  74. package/dist/components/MaTree.vue.d.ts +45 -0
  75. package/dist/components/MaTreeSelect.vue.d.ts +27 -0
  76. package/dist/components/MaUpload.vue.d.ts +21 -0
  77. package/dist/components/MaUserProfile.vue.d.ts +31 -0
  78. package/dist/components/MaVideoThumbnail.vue.d.ts +61 -0
  79. package/dist/components/__tests__/MaButton.spec.d.ts +1 -0
  80. package/dist/components/__tests__/MaTable.spec.d.ts +1 -0
  81. package/dist/composables/useA11y.d.ts +4 -0
  82. package/dist/composables/useBreakpoint.d.ts +8 -0
  83. package/dist/composables/useCrud.d.ts +41 -0
  84. package/dist/composables/useForm.d.ts +25 -0
  85. package/dist/composables/useNotification.d.ts +33 -0
  86. package/dist/composables/usePermission.d.ts +9 -0
  87. package/dist/composables/useRouterHelper.d.ts +9 -0
  88. package/dist/composables/useTheme.d.ts +14 -0
  89. package/dist/composables/useToast.d.ts +8 -0
  90. package/dist/directives/v-permission.d.ts +2 -0
  91. package/dist/index.d.ts +93 -0
  92. package/dist/locale/__tests__/locale.spec.d.ts +1 -0
  93. package/dist/locale/en.d.ts +44 -0
  94. package/dist/locale/index.d.ts +50 -0
  95. package/dist/main.d.ts +0 -0
  96. package/dist/my-admin-framework.css +1 -0
  97. package/dist/my-admin-framework.js +11701 -0
  98. package/dist/my-admin-framework.umd.cjs +129 -0
  99. package/dist/plugins/globalErrorHandler.d.ts +4 -0
  100. package/dist/utils/confirm.d.ts +10 -0
  101. package/dist/utils/request.d.ts +16 -0
  102. package/dist/utils/security.d.ts +10 -0
  103. package/dist/vite.svg +1 -0
  104. package/package.json +73 -0
@@ -0,0 +1,37 @@
1
+ interface TagProps {
2
+ type?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
3
+ size?: 'small' | 'medium' | 'large';
4
+ variant?: 'light' | 'dark' | 'outline' | 'plain';
5
+ closable?: boolean;
6
+ round?: boolean;
7
+ color?: string;
8
+ bgColor?: string;
9
+ borderColor?: string;
10
+ }
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ default?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: HTMLSpanElement;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<TagProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ close: (...args: any[]) => void;
22
+ }, string, import('vue').PublicProps, Readonly<TagProps> & Readonly<{
23
+ onClose?: ((...args: any[]) => any) | undefined;
24
+ }>, {
25
+ variant: "light" | "dark" | "outline" | "plain";
26
+ size: "small" | "medium" | "large";
27
+ type: "default" | "primary" | "success" | "warning" | "error" | "info";
28
+ round: boolean;
29
+ closable: boolean;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
31
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
32
+ export default _default;
33
+ type __VLS_WithTemplateSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,19 @@
1
+ interface Task {
2
+ id: string | number;
3
+ title: string;
4
+ completed: boolean;
5
+ }
6
+ type __VLS_Props = {
7
+ title?: string;
8
+ tasks: Task[];
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ toggle: (...args: any[]) => void;
12
+ delete: (...args: any[]) => void;
13
+ add: (...args: any[]) => void;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onToggle?: ((...args: any[]) => any) | undefined;
16
+ onDelete?: ((...args: any[]) => any) | undefined;
17
+ onAdd?: ((...args: any[]) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ export default _default;
@@ -0,0 +1,43 @@
1
+ interface SocialLink {
2
+ platform: 'linkedin' | 'twitter' | 'github' | 'website' | 'facebook' | 'instagram' | 'youtube';
3
+ url: string;
4
+ }
5
+ interface Stats {
6
+ projects?: number;
7
+ experience?: string;
8
+ }
9
+ interface Props {
10
+ name: string;
11
+ role: string;
12
+ image: string;
13
+ bio?: string;
14
+ email?: string;
15
+ phone?: string;
16
+ socialLinks?: SocialLink[];
17
+ skills?: string[];
18
+ stats?: Stats;
19
+ status?: 'online' | 'away' | 'busy';
20
+ variant?: 'default' | 'compact' | 'horizontal' | 'minimal';
21
+ featured?: boolean;
22
+ showContact?: boolean;
23
+ maxSkills?: number;
24
+ }
25
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
26
+ click: () => any;
27
+ contact: (contact: {
28
+ email?: string;
29
+ phone?: string;
30
+ }) => any;
31
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
32
+ onClick?: (() => any) | undefined;
33
+ onContact?: ((contact: {
34
+ email?: string;
35
+ phone?: string;
36
+ }) => any) | undefined;
37
+ }>, {
38
+ variant: "default" | "compact" | "horizontal" | "minimal";
39
+ featured: boolean;
40
+ maxSkills: number;
41
+ showContact: boolean;
42
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
43
+ export default _default;
@@ -0,0 +1,18 @@
1
+ interface Props {
2
+ quote: string;
3
+ name: string;
4
+ role?: string;
5
+ company?: string;
6
+ avatar?: string;
7
+ logo?: string;
8
+ rating?: number;
9
+ date?: Date | string;
10
+ variant?: 'default' | 'compact' | 'minimal' | 'card';
11
+ featured?: boolean;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
14
+ variant: "default" | "compact" | "minimal" | "card";
15
+ featured: boolean;
16
+ rating: number;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
+ export default _default;
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ modelValue: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ error?: string;
6
+ rows?: number;
7
+ disabled?: boolean;
8
+ };
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:modelValue": (...args: any[]) => void;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
13
+ }>, {
14
+ rows: number;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,23 @@
1
+ interface TimePickerProps {
2
+ modelValue?: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ error?: string;
7
+ step?: 1 | 5 | 15 | 30 | 60;
8
+ format?: '24h' | '12h';
9
+ clearable?: boolean;
10
+ minTime?: string;
11
+ maxTime?: string;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<TimePickerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ "update:modelValue": (...args: any[]) => void;
15
+ }, string, import('vue').PublicProps, Readonly<TimePickerProps> & Readonly<{
16
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
17
+ }>, {
18
+ format: "24h" | "12h";
19
+ placeholder: string;
20
+ clearable: boolean;
21
+ step: 1 | 5 | 15 | 30 | 60;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
23
+ export default _default;
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: HTMLDivElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ timestamp?: string;
3
+ color?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'gray';
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ dot?(_: {}): any;
9
+ default?(_: {}): any;
10
+ };
11
+ refs: {};
12
+ rootEl: HTMLDivElement;
13
+ };
14
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
+ color: "primary" | "success" | "warning" | "danger" | "info" | "gray";
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
19
+ export default _default;
20
+ type __VLS_WithTemplateSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,11 @@
1
+ interface Toast {
2
+ id: number;
3
+ title?: string;
4
+ message: string;
5
+ type: 'success' | 'error' | 'info';
6
+ duration?: number;
7
+ }
8
+ declare const _default: import('vue').DefineComponent<{}, {
9
+ add: (toast: Omit<Toast, "id">) => void;
10
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ export default _default;
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ content: string;
3
+ placement?: 'top' | 'bottom' | 'left' | 'right';
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {
11
+ reference: HTMLDivElement;
12
+ floating: HTMLDivElement;
13
+ floatingArrow: HTMLDivElement;
14
+ };
15
+ rootEl: any;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
+ placement: "top" | "bottom" | "left" | "right";
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
21
+ reference: HTMLDivElement;
22
+ floating: HTMLDivElement;
23
+ floatingArrow: HTMLDivElement;
24
+ }, any>;
25
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
26
+ export default _default;
27
+ type __VLS_WithTemplateSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,45 @@
1
+ interface TreeNode {
2
+ [key: string]: any;
3
+ }
4
+ type __VLS_Props = {
5
+ data: TreeNode[];
6
+ labelKey?: string;
7
+ childrenKey?: string;
8
+ nodeKey?: string;
9
+ showCheckbox?: boolean;
10
+ defaultExpandAll?: boolean;
11
+ selectedKey?: string | number;
12
+ checkedKeys?: (string | number)[];
13
+ };
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ label?(_: {
18
+ node: TreeNode;
19
+ }): any;
20
+ };
21
+ refs: {};
22
+ rootEl: HTMLDivElement;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ "node-click": (...args: any[]) => void;
27
+ "check-change": (...args: any[]) => void;
28
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ "onNode-click"?: ((...args: any[]) => any) | undefined;
30
+ "onCheck-change"?: ((...args: any[]) => any) | undefined;
31
+ }>, {
32
+ labelKey: string;
33
+ childrenKey: string;
34
+ nodeKey: string;
35
+ showCheckbox: boolean;
36
+ defaultExpandAll: boolean;
37
+ checkedKeys: (string | number)[];
38
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
39
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
40
+ export default _default;
41
+ type __VLS_WithTemplateSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1,27 @@
1
+ interface TreeNode {
2
+ id: string | number;
3
+ label: string;
4
+ children?: TreeNode[];
5
+ [key: string]: any;
6
+ }
7
+ type __VLS_Props = {
8
+ modelValue?: string | number | null;
9
+ data: TreeNode[];
10
+ placeholder?: string;
11
+ disabled?: boolean;
12
+ filterable?: boolean;
13
+ };
14
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ "update:modelValue": (...args: any[]) => void;
16
+ change: (...args: any[]) => void;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
19
+ onChange?: ((...args: any[]) => any) | undefined;
20
+ }>, {
21
+ disabled: boolean;
22
+ placeholder: string;
23
+ filterable: boolean;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
25
+ containerRef: HTMLDivElement;
26
+ }, HTMLDivElement>;
27
+ export default _default;
@@ -0,0 +1,21 @@
1
+ interface UploadProps {
2
+ label?: string;
3
+ multiple?: boolean;
4
+ accept?: string;
5
+ disabled?: boolean;
6
+ hint?: string;
7
+ modelValue?: File[];
8
+ }
9
+ declare const _default: import('vue').DefineComponent<UploadProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:modelValue": (...args: any[]) => void;
11
+ change: (...args: any[]) => void;
12
+ }, string, import('vue').PublicProps, Readonly<UploadProps> & Readonly<{
13
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
14
+ onChange?: ((...args: any[]) => any) | undefined;
15
+ }>, {
16
+ modelValue: File[];
17
+ multiple: boolean;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
19
+ fileInput: HTMLInputElement;
20
+ }, HTMLDivElement>;
21
+ export default _default;
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ name: string;
3
+ role: string;
4
+ email: string;
5
+ avatar: string;
6
+ cover?: string;
7
+ };
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ actions?(_: {}): any;
12
+ stats?(_: {}): any;
13
+ };
14
+ refs: {};
15
+ rootEl: HTMLDivElement;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ edit: (...args: any[]) => void;
20
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onEdit?: ((...args: any[]) => any) | undefined;
22
+ }>, {
23
+ cover: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
26
+ export default _default;
27
+ type __VLS_WithTemplateSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,61 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ src: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ time: {
7
+ type: NumberConstructor;
8
+ default: number;
9
+ };
10
+ width: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ aspectRatio: {
15
+ type: NumberConstructor;
16
+ default: number;
17
+ };
18
+ showPlayIcon: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ lazy: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
+ src: {
28
+ type: StringConstructor;
29
+ required: true;
30
+ };
31
+ time: {
32
+ type: NumberConstructor;
33
+ default: number;
34
+ };
35
+ width: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ aspectRatio: {
40
+ type: NumberConstructor;
41
+ default: number;
42
+ };
43
+ showPlayIcon: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ lazy: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ }>> & Readonly<{}>, {
52
+ time: number;
53
+ width: string;
54
+ aspectRatio: number;
55
+ showPlayIcon: boolean;
56
+ lazy: boolean;
57
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
58
+ container: HTMLDivElement;
59
+ videoRef: HTMLVideoElement;
60
+ }, HTMLDivElement>;
61
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare function useA11y(): {
2
+ generateId: (prefix?: string) => string;
3
+ trapFocus: (element: HTMLElement) => () => void;
4
+ };
@@ -0,0 +1,8 @@
1
+ type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
2
+ export declare function useBreakpoint(): {
3
+ width: Readonly<import('vue').Ref<number, number>>;
4
+ current: Readonly<import('vue').Ref<Breakpoint, Breakpoint>>;
5
+ isSmaller: (bp: Breakpoint) => boolean;
6
+ isLarger: (bp: Breakpoint) => boolean;
7
+ };
8
+ export {};
@@ -0,0 +1,41 @@
1
+ interface CrudOptions<T> {
2
+ api: {
3
+ list: (params: any) => Promise<{
4
+ data: T[];
5
+ total: number;
6
+ }>;
7
+ create: (data: Partial<T>) => Promise<T>;
8
+ update: (id: string | number, data: Partial<T>) => Promise<T>;
9
+ delete: (id: string | number) => Promise<void>;
10
+ };
11
+ defaults?: {
12
+ perPage?: number;
13
+ sortKey?: string;
14
+ sortOrder?: 'asc' | 'desc';
15
+ };
16
+ }
17
+ export declare function useCrud<T extends {
18
+ id: string | number;
19
+ }>(options: CrudOptions<T>): {
20
+ items: any;
21
+ total: import('vue').Ref<number, number>;
22
+ loading: import('vue').Ref<boolean, boolean>;
23
+ submitting: import('vue').Ref<boolean, boolean>;
24
+ currentPage: import('vue').Ref<number, number>;
25
+ perPage: import('vue').Ref<number, number>;
26
+ sortKey: import('vue').Ref<string, string>;
27
+ sortOrder: import('vue').Ref<"desc" | "asc", "desc" | "asc">;
28
+ searchQuery: import('vue').Ref<string, string>;
29
+ filters: import('vue').Ref<Record<string, any>, Record<string, any>>;
30
+ fetchList: () => Promise<void>;
31
+ createItem: (data: Partial<T>) => Promise<boolean>;
32
+ updateItem: (id: string | number, data: Partial<T>) => Promise<boolean>;
33
+ deleteItem: (id: string | number) => Promise<void>;
34
+ handleSort: ({ key, order }: {
35
+ key: string;
36
+ order: "asc" | "desc";
37
+ }) => void;
38
+ handlePageChange: (page: number) => void;
39
+ handleSearch: (query: string) => void;
40
+ };
41
+ export {};
@@ -0,0 +1,25 @@
1
+ type ValidatorFn = (value: any) => string | boolean | Promise<string | boolean>;
2
+ interface FieldRule {
3
+ required?: boolean;
4
+ min?: number;
5
+ max?: number;
6
+ email?: boolean;
7
+ pattern?: RegExp;
8
+ validator?: ValidatorFn;
9
+ message?: string;
10
+ trigger?: 'blur' | 'change';
11
+ }
12
+ interface FormConfig {
13
+ [key: string]: FieldRule[] | FieldRule;
14
+ }
15
+ export declare function useForm<T extends Record<string, any>>(initialState: T, rules?: FormConfig): {
16
+ form: import('vue').Reactive<T>;
17
+ errors: Record<string, string>;
18
+ isDirty: import('vue').Ref<boolean, boolean>;
19
+ isSubmitting: import('vue').Ref<boolean, boolean>;
20
+ validate: () => Promise<boolean>;
21
+ validateField: (field: keyof T) => Promise<boolean>;
22
+ reset: () => void;
23
+ handleSubmit: (fn: (values: T) => Promise<void> | void) => () => Promise<void>;
24
+ };
25
+ export {};
@@ -0,0 +1,33 @@
1
+ export interface NotificationItem {
2
+ id: string | number;
3
+ title: string;
4
+ content?: string;
5
+ time?: string;
6
+ read?: boolean;
7
+ type?: 'info' | 'success' | 'warning' | 'error';
8
+ onClick?: () => void;
9
+ }
10
+ export declare function useNotification(): {
11
+ notifications: import('vue').Ref<{
12
+ id: string | number;
13
+ title: string;
14
+ content?: string | undefined;
15
+ time?: string | undefined;
16
+ read?: boolean | undefined;
17
+ type?: "info" | "success" | "warning" | "error" | undefined;
18
+ onClick?: (() => void) | undefined;
19
+ }[], NotificationItem[] | {
20
+ id: string | number;
21
+ title: string;
22
+ content?: string | undefined;
23
+ time?: string | undefined;
24
+ read?: boolean | undefined;
25
+ type?: "info" | "success" | "warning" | "error" | undefined;
26
+ onClick?: (() => void) | undefined;
27
+ }[]>;
28
+ add: (item: Omit<NotificationItem, "id" | "read">) => string;
29
+ remove: (id: string | number) => void;
30
+ markAsRead: (id: string | number) => void;
31
+ markAllAsRead: () => void;
32
+ clear: () => void;
33
+ };
@@ -0,0 +1,9 @@
1
+ export declare function usePermission(): {
2
+ permissions: import('vue').ComputedRef<string[]>;
3
+ roles: import('vue').ComputedRef<string[]>;
4
+ setPermissions: (p: string[], r?: string[]) => void;
5
+ hasPermission: (permission: string) => boolean;
6
+ hasAnyPermission: (p: string[]) => boolean;
7
+ hasRole: (role: string) => boolean;
8
+ resetPermission: () => void;
9
+ };
@@ -0,0 +1,9 @@
1
+ import { RouteLocationRaw } from 'vue-router';
2
+ export declare function useRouterHelper(): {
3
+ router: import('vue-router').Router;
4
+ route: import('vue').ComputedRef<import('vue-router').RouteLocationNormalizedLoadedGeneric>;
5
+ push: (to: RouteLocationRaw) => Promise<void | import('vue-router').NavigationFailure | undefined>;
6
+ replace: (to: RouteLocationRaw) => Promise<void | import('vue-router').NavigationFailure | undefined>;
7
+ goBack: () => void;
8
+ isActive: (path: string, exact?: boolean) => boolean;
9
+ };
@@ -0,0 +1,14 @@
1
+ export declare function useTheme(): {
2
+ isDark: import('vue').Ref<boolean, boolean>;
3
+ layoutMode: import('vue').Ref<"sidebar" | "top-nav", "sidebar" | "top-nav">;
4
+ primaryColor: import('vue').Ref<string, string>;
5
+ themeColors: {
6
+ name: string;
7
+ value: string;
8
+ hover: string;
9
+ light: string;
10
+ }[];
11
+ toggleDarkMode: () => void;
12
+ setLayoutMode: (mode: "sidebar" | "top-nav") => void;
13
+ setPrimaryColor: (color: string) => void;
14
+ };
@@ -0,0 +1,8 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useToast(toastRef?: Ref<any>): {
3
+ showToast: (message: string, type?: "success" | "error" | "info" | "warning", title?: string, duration?: number) => void;
4
+ success: (message: string, title?: string, duration?: number) => void;
5
+ error: (message: string, title?: string, duration?: number) => void;
6
+ info: (message: string, title?: string, duration?: number) => void;
7
+ warning: (message: string, title?: string, duration?: number) => void;
8
+ };
@@ -0,0 +1,2 @@
1
+ import { Directive } from 'vue';
2
+ export declare const vPermission: Directive;