@datametria/vue-components 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -10
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +1814 -1735
- package/dist/index.umd.js +9 -9
- package/dist/src/components/DatametriaAlert.vue.d.ts +33 -0
- package/dist/src/components/DatametriaAutocomplete.vue.d.ts +28 -0
- package/dist/src/components/DatametriaAvatar.vue.d.ts +25 -0
- package/dist/src/components/DatametriaBadge.vue.d.ts +26 -0
- package/dist/src/components/DatametriaBreadcrumb.vue.d.ts +16 -0
- package/dist/src/components/DatametriaButton.vue.d.ts +37 -0
- package/dist/src/components/DatametriaCard.vue.d.ts +25 -0
- package/dist/src/components/DatametriaCheckbox.vue.d.ts +14 -0
- package/dist/src/components/DatametriaChip.vue.d.ts +34 -0
- package/dist/src/components/DatametriaContainer.vue.d.ts +24 -0
- package/dist/src/components/DatametriaDatePicker.vue.d.ts +55 -0
- package/dist/src/components/DatametriaDivider.vue.d.ts +25 -0
- package/dist/src/components/DatametriaFileUpload.vue.d.ts +28 -0
- package/dist/src/components/DatametriaFloatingBar.vue.d.ts +32 -0
- package/dist/src/components/DatametriaGrid.vue.d.ts +24 -0
- package/dist/src/components/DatametriaInput.vue.d.ts +18 -0
- package/dist/src/components/DatametriaMenu.vue.d.ts +71 -0
- package/dist/src/components/DatametriaModal.vue.d.ts +34 -0
- package/dist/src/components/DatametriaNavbar.vue.d.ts +34 -0
- package/dist/src/components/DatametriaPasswordInput.vue.d.ts +29 -0
- package/dist/src/components/DatametriaProgress.vue.d.ts +12 -0
- package/dist/src/components/DatametriaRadio.vue.d.ts +17 -0
- package/dist/src/components/DatametriaSelect.vue.d.ts +23 -0
- package/dist/src/components/DatametriaSidebar.vue.d.ts +45 -0
- package/dist/src/components/DatametriaSkeleton.vue.d.ts +18 -0
- package/dist/src/components/DatametriaSlider.vue.d.ts +41 -0
- package/dist/src/components/DatametriaSortableTable.vue.d.ts +32 -0
- package/dist/src/components/DatametriaSpinner.vue.d.ts +12 -0
- package/dist/src/components/DatametriaSwitch.vue.d.ts +16 -0
- package/dist/src/components/DatametriaTable.vue.d.ts +29 -0
- package/dist/src/components/DatametriaTabs.vue.d.ts +41 -0
- package/dist/src/components/DatametriaTextarea.vue.d.ts +22 -0
- package/dist/src/components/DatametriaTimePicker.vue.d.ts +36 -0
- package/dist/src/components/DatametriaToast.vue.d.ts +20 -0
- package/dist/src/components/DatametriaTooltip.vue.d.ts +58 -0
- package/dist/src/composables/useAPI.d.ts +14 -0
- package/dist/src/composables/useAccessibilityScale.d.ts +14 -0
- package/dist/src/composables/useBreakpoints.d.ts +33 -0
- package/dist/src/composables/useClipboard.d.ts +6 -0
- package/dist/src/composables/useDebounce.d.ts +2 -0
- package/dist/src/composables/useHapticFeedback.d.ts +34 -0
- package/dist/src/composables/useLocalStorage.d.ts +2 -0
- package/dist/src/composables/useRipple.d.ts +49 -0
- package/dist/src/composables/useTheme.d.ts +10 -0
- package/dist/src/composables/useValidation.d.ts +14 -0
- package/dist/src/index.d.ts +53 -0
- package/dist/src/theme/ThemeProvider.vue.d.ts +24 -0
- package/dist/src/theme/constants.d.ts +5 -0
- package/dist/src/theme/index.d.ts +11 -0
- package/dist/src/theme/presets/datametria.d.ts +2 -0
- package/dist/src/theme/presets/default.d.ts +2 -0
- package/dist/src/theme/presets/index.d.ts +7 -0
- package/dist/src/theme/tokens/colors.d.ts +2 -0
- package/dist/src/theme/tokens/index.d.ts +8 -0
- package/dist/src/theme/tokens/spacing.d.ts +2 -0
- package/dist/src/theme/tokens/typography.d.ts +2 -0
- package/dist/src/theme/types.d.ts +102 -0
- package/dist/src/theme/useTheme.d.ts +8 -0
- package/dist/src/types/index.d.ts +52 -0
- package/dist/vue-components.css +1 -1
- package/package.json +4 -2
- package/src/components/DatametriaSortableTable.vue +204 -14
- package/src/types/index.ts +2 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface Option {
|
|
2
|
+
value: string | number;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
interface Props {
|
|
6
|
+
modelValue?: string | number;
|
|
7
|
+
options: Option[];
|
|
8
|
+
label?: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
errorMessage?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
"update:modelValue": (value: string) => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
17
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
modelValue: string | number;
|
|
21
|
+
required: boolean;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
position?: 'left' | 'right';
|
|
3
|
+
variant?: 'light' | 'dark' | 'primary';
|
|
4
|
+
width?: string;
|
|
5
|
+
collapsible?: boolean;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
header?(_: {}): any;
|
|
13
|
+
default?(_: {}): any;
|
|
14
|
+
footer?(_: {}): any;
|
|
15
|
+
};
|
|
16
|
+
refs: {};
|
|
17
|
+
rootEl: HTMLElement;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
21
|
+
isOpen: import('vue').Ref<boolean, boolean>;
|
|
22
|
+
toggle: () => void;
|
|
23
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
24
|
+
open: () => any;
|
|
25
|
+
close: () => any;
|
|
26
|
+
toggle: (isOpen: boolean) => any;
|
|
27
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
28
|
+
onOpen?: (() => any) | undefined;
|
|
29
|
+
onClose?: (() => any) | undefined;
|
|
30
|
+
onToggle?: ((isOpen: boolean) => any) | undefined;
|
|
31
|
+
}>, {
|
|
32
|
+
variant: "light" | "dark" | "primary";
|
|
33
|
+
width: string;
|
|
34
|
+
ariaLabel: string;
|
|
35
|
+
position: "left" | "right";
|
|
36
|
+
collapsible: boolean;
|
|
37
|
+
defaultOpen: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
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,18 @@
|
|
|
1
|
+
type SkeletonVariant = 'text' | 'avatar' | 'card' | 'button' | 'custom';
|
|
2
|
+
interface Props {
|
|
3
|
+
variant?: SkeletonVariant;
|
|
4
|
+
width?: string | number;
|
|
5
|
+
height?: string | number;
|
|
6
|
+
lines?: number;
|
|
7
|
+
animated?: boolean;
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
lastLineWidth?: number;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
12
|
+
variant: SkeletonVariant;
|
|
13
|
+
ariaLabel: string;
|
|
14
|
+
lines: number;
|
|
15
|
+
animated: boolean;
|
|
16
|
+
lastLineWidth: number;
|
|
17
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue: number;
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
step?: number;
|
|
6
|
+
label?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
showValue?: boolean;
|
|
10
|
+
showMinMax?: boolean;
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
helperText?: string;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
formatter?: (value: number) => string;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: import('vue').DefineComponent<Props, {
|
|
17
|
+
focus: () => void;
|
|
18
|
+
blur: () => void;
|
|
19
|
+
inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
20
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
21
|
+
input: (value: number) => any;
|
|
22
|
+
"update:modelValue": (value: number) => any;
|
|
23
|
+
blur: (event: FocusEvent) => any;
|
|
24
|
+
change: (value: number) => any;
|
|
25
|
+
focus: (event: FocusEvent) => any;
|
|
26
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
27
|
+
onInput?: ((value: number) => any) | undefined;
|
|
28
|
+
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
29
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
30
|
+
onChange?: ((value: number) => any) | undefined;
|
|
31
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
32
|
+
}>, {
|
|
33
|
+
min: number;
|
|
34
|
+
max: number;
|
|
35
|
+
step: number;
|
|
36
|
+
showValue: boolean;
|
|
37
|
+
showMinMax: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
39
|
+
inputRef: HTMLInputElement;
|
|
40
|
+
}, HTMLDivElement>;
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SortableTableProps } from '../types';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: Partial<Record<`cell-${string}`, (_: {
|
|
5
|
+
row: Record<string, any>;
|
|
6
|
+
value: any;
|
|
7
|
+
}) => any>> & {
|
|
8
|
+
empty?(_: {}): any;
|
|
9
|
+
};
|
|
10
|
+
refs: {};
|
|
11
|
+
rootEl: HTMLDivElement;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
14
|
+
declare const __VLS_component: import('vue').DefineComponent<SortableTableProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
"selection-change": (selectedIds: (string | number)[]) => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<SortableTableProps> & Readonly<{
|
|
17
|
+
"onSelection-change"?: ((selectedIds: (string | number)[]) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
selectable: boolean;
|
|
20
|
+
searchable: boolean;
|
|
21
|
+
filterable: boolean;
|
|
22
|
+
paginated: boolean;
|
|
23
|
+
pageSize: number;
|
|
24
|
+
pageSizeOptions: number[];
|
|
25
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
26
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
size?: 'sm' | 'md' | 'lg';
|
|
3
|
+
variant?: 'primary' | 'secondary' | 'white';
|
|
4
|
+
label?: string;
|
|
5
|
+
ariaLabel?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
8
|
+
variant: "primary" | "secondary" | "white";
|
|
9
|
+
size: "sm" | "md" | "lg";
|
|
10
|
+
ariaLabel: string;
|
|
11
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: boolean;
|
|
3
|
+
label?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
error?: string;
|
|
6
|
+
ariaLabel?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: boolean) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
11
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
12
|
+
}>, {
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
modelValue: boolean;
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
interface Column {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
width?: string;
|
|
5
|
+
}
|
|
6
|
+
interface Props {
|
|
7
|
+
columns: Column[];
|
|
8
|
+
data: Record<string, any>[];
|
|
9
|
+
}
|
|
10
|
+
declare function __VLS_template(): {
|
|
11
|
+
attrs: Partial<{}>;
|
|
12
|
+
slots: Partial<Record<`cell-${string}`, (_: {
|
|
13
|
+
row: Record<string, any>;
|
|
14
|
+
value: any;
|
|
15
|
+
}) => any>> & {
|
|
16
|
+
empty?(_: {}): any;
|
|
17
|
+
};
|
|
18
|
+
refs: {};
|
|
19
|
+
rootEl: HTMLDivElement;
|
|
20
|
+
};
|
|
21
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
22
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
23
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
26
|
+
new (): {
|
|
27
|
+
$slots: S;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
interface Tab {
|
|
2
|
+
label: string;
|
|
3
|
+
icon?: string;
|
|
4
|
+
badge?: string | number;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface Props {
|
|
8
|
+
tabs: (string | Tab)[];
|
|
9
|
+
modelValue?: number;
|
|
10
|
+
variant?: 'default' | 'pills' | 'underline';
|
|
11
|
+
orientation?: 'horizontal' | 'vertical';
|
|
12
|
+
showIndicator?: boolean;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function __VLS_template(): {
|
|
16
|
+
attrs: Partial<{}>;
|
|
17
|
+
slots: Partial<Record<`panel-${number}`, (_: {}) => any>>;
|
|
18
|
+
refs: {};
|
|
19
|
+
rootEl: HTMLDivElement;
|
|
20
|
+
};
|
|
21
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
22
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
23
|
+
"update:modelValue": (index: number) => any;
|
|
24
|
+
change: (index: number) => any;
|
|
25
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
26
|
+
"onUpdate:modelValue"?: ((index: number) => any) | undefined;
|
|
27
|
+
onChange?: ((index: number) => any) | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
variant: "default" | "pills" | "underline";
|
|
30
|
+
modelValue: number;
|
|
31
|
+
ariaLabel: string;
|
|
32
|
+
orientation: "horizontal" | "vertical";
|
|
33
|
+
showIndicator: boolean;
|
|
34
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
35
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
36
|
+
export default _default;
|
|
37
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
38
|
+
new (): {
|
|
39
|
+
$slots: S;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
error?: string;
|
|
8
|
+
rows?: number;
|
|
9
|
+
maxLength?: number;
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
13
|
+
"update:modelValue": (value: string) => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
15
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
modelValue: string;
|
|
19
|
+
required: boolean;
|
|
20
|
+
rows: number;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
errorMessage?: string;
|
|
8
|
+
successMessage?: string;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
min?: string;
|
|
11
|
+
max?: string;
|
|
12
|
+
step?: number;
|
|
13
|
+
format24h?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: import('vue').DefineComponent<Props, {
|
|
16
|
+
focus: () => void;
|
|
17
|
+
blur: () => void;
|
|
18
|
+
inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
19
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
20
|
+
"update:modelValue": (value: string) => any;
|
|
21
|
+
blur: (event: FocusEvent) => any;
|
|
22
|
+
change: (value: string) => any;
|
|
23
|
+
focus: (event: FocusEvent) => any;
|
|
24
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
25
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
26
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
27
|
+
onChange?: ((value: string) => any) | undefined;
|
|
28
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
29
|
+
}>, {
|
|
30
|
+
modelValue: string;
|
|
31
|
+
step: number;
|
|
32
|
+
format24h: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
34
|
+
inputRef: HTMLInputElement;
|
|
35
|
+
}, HTMLDivElement>;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
message: string;
|
|
3
|
+
variant?: 'success' | 'error' | 'warning' | 'info' | 'primary';
|
|
4
|
+
duration?: number;
|
|
5
|
+
closable?: boolean;
|
|
6
|
+
modelValue?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: boolean) => any;
|
|
10
|
+
close: () => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
12
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
13
|
+
onClose?: (() => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
variant: "success" | "error" | "warning" | "info" | "primary";
|
|
16
|
+
modelValue: boolean;
|
|
17
|
+
closable: boolean;
|
|
18
|
+
duration: number;
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
type Placement = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
|
|
2
|
+
type Variant = 'dark' | 'light' | 'primary' | 'error' | 'warning' | 'success';
|
|
3
|
+
type Trigger = 'hover' | 'click' | 'focus' | 'manual';
|
|
4
|
+
interface Props {
|
|
5
|
+
content?: string;
|
|
6
|
+
placement?: Placement;
|
|
7
|
+
variant?: Variant;
|
|
8
|
+
trigger?: Trigger;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
showArrow?: boolean;
|
|
11
|
+
delay?: number;
|
|
12
|
+
hideDelay?: number;
|
|
13
|
+
offset?: number;
|
|
14
|
+
maxWidth?: string;
|
|
15
|
+
}
|
|
16
|
+
declare function __VLS_template(): {
|
|
17
|
+
attrs: Partial<{}>;
|
|
18
|
+
slots: {
|
|
19
|
+
default?(_: {}): any;
|
|
20
|
+
content?(_: {}): any;
|
|
21
|
+
};
|
|
22
|
+
refs: {
|
|
23
|
+
triggerRef: HTMLDivElement;
|
|
24
|
+
tooltipRef: HTMLDivElement;
|
|
25
|
+
};
|
|
26
|
+
rootEl: HTMLDivElement;
|
|
27
|
+
};
|
|
28
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
29
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
30
|
+
show: () => void;
|
|
31
|
+
hide: () => void;
|
|
32
|
+
isVisible: import('vue').ComputedRef<boolean>;
|
|
33
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
34
|
+
show: () => any;
|
|
35
|
+
hide: () => any;
|
|
36
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
37
|
+
onShow?: (() => any) | undefined;
|
|
38
|
+
onHide?: (() => any) | undefined;
|
|
39
|
+
}>, {
|
|
40
|
+
variant: Variant;
|
|
41
|
+
maxWidth: string;
|
|
42
|
+
placement: Placement;
|
|
43
|
+
trigger: Trigger;
|
|
44
|
+
showArrow: boolean;
|
|
45
|
+
delay: number;
|
|
46
|
+
hideDelay: number;
|
|
47
|
+
offset: number;
|
|
48
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
49
|
+
triggerRef: HTMLDivElement;
|
|
50
|
+
tooltipRef: HTMLDivElement;
|
|
51
|
+
}, HTMLDivElement>;
|
|
52
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
53
|
+
export default _default;
|
|
54
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
55
|
+
new (): {
|
|
56
|
+
$slots: S;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ApiConfig {
|
|
2
|
+
baseURL?: string;
|
|
3
|
+
timeout?: number;
|
|
4
|
+
headers?: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
export declare function useAPI(config?: ApiConfig): {
|
|
7
|
+
loading: import('vue').Ref<boolean, boolean>;
|
|
8
|
+
error: import('vue').Ref<string | null, string | null>;
|
|
9
|
+
data: import('vue').Ref<any, any>;
|
|
10
|
+
get: (url: string, options?: RequestInit) => Promise<any>;
|
|
11
|
+
post: (url: string, body: any, options?: RequestInit) => Promise<any>;
|
|
12
|
+
put: (url: string, body: any, options?: RequestInit) => Promise<any>;
|
|
13
|
+
delete: (url: string, options?: RequestInit) => Promise<any>;
|
|
14
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable para controle de escalabilidade de acessibilidade
|
|
3
|
+
* Implementa escala controlada entre 0.8x e 2.0x conforme WCAG 2.1
|
|
4
|
+
*/
|
|
5
|
+
export declare function useAccessibilityScale(): {
|
|
6
|
+
scale: import('vue').ComputedRef<number>;
|
|
7
|
+
scaleClass: import('vue').ComputedRef<"scale-small" | "scale-large" | "scale-normal">;
|
|
8
|
+
setScale: (newScale: number) => void;
|
|
9
|
+
increaseScale: () => void;
|
|
10
|
+
decreaseScale: () => void;
|
|
11
|
+
resetScale: () => void;
|
|
12
|
+
minScale: number;
|
|
13
|
+
maxScale: number;
|
|
14
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const breakpoints: {
|
|
2
|
+
readonly xs: 475;
|
|
3
|
+
readonly sm: 640;
|
|
4
|
+
readonly md: 768;
|
|
5
|
+
readonly lg: 1024;
|
|
6
|
+
readonly xl: 1280;
|
|
7
|
+
readonly '2xl': 1536;
|
|
8
|
+
};
|
|
9
|
+
export type Breakpoint = keyof typeof breakpoints;
|
|
10
|
+
export declare function useBreakpoints(): {
|
|
11
|
+
windowWidth: import('vue').Ref<number, number>;
|
|
12
|
+
breakpoints: {
|
|
13
|
+
readonly xs: 475;
|
|
14
|
+
readonly sm: 640;
|
|
15
|
+
readonly md: 768;
|
|
16
|
+
readonly lg: 1024;
|
|
17
|
+
readonly xl: 1280;
|
|
18
|
+
readonly '2xl': 1536;
|
|
19
|
+
};
|
|
20
|
+
isGreaterOrEqual: (breakpoint: Breakpoint) => boolean;
|
|
21
|
+
isLessOrEqual: (breakpoint: Breakpoint) => boolean;
|
|
22
|
+
isBetween: (min: Breakpoint, max: Breakpoint) => boolean;
|
|
23
|
+
getCurrentBreakpoint: () => Breakpoint;
|
|
24
|
+
isXs: () => boolean;
|
|
25
|
+
isSm: () => boolean;
|
|
26
|
+
isMd: () => boolean;
|
|
27
|
+
isLg: () => boolean;
|
|
28
|
+
isXl: () => boolean;
|
|
29
|
+
is2xl: () => boolean;
|
|
30
|
+
isMobile: () => boolean;
|
|
31
|
+
isTablet: () => boolean;
|
|
32
|
+
isDesktop: () => boolean;
|
|
33
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
type HapticType = 'light' | 'medium' | 'heavy' | 'selection' | 'impact' | 'notification';
|
|
2
|
+
type NotificationType = 'success' | 'warning' | 'error';
|
|
3
|
+
interface HapticOptions {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
fallbackToVisual?: boolean;
|
|
6
|
+
visualDuration?: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Composable para feedback háptico e visual
|
|
10
|
+
* Suporta dispositivos iOS/Android com fallback visual
|
|
11
|
+
*/
|
|
12
|
+
export declare function useHapticFeedback(options?: HapticOptions): {
|
|
13
|
+
isSupported: import('vue').Ref<boolean, boolean>;
|
|
14
|
+
isEnabled: import('vue').Ref<boolean, boolean>;
|
|
15
|
+
canVibrate: import('vue').ComputedRef<boolean>;
|
|
16
|
+
hasVisualFeedback: import('vue').ComputedRef<boolean>;
|
|
17
|
+
activeVisualFeedback: import('vue').Ref<string | null, string | null>;
|
|
18
|
+
triggerHaptic: (type?: HapticType | NotificationType) => any;
|
|
19
|
+
triggerVisualFeedback: (element: HTMLElement | null, type: HapticType | NotificationType) => void;
|
|
20
|
+
feedback: (element: HTMLElement | null, type: HapticType | NotificationType) => any;
|
|
21
|
+
checkSupport: () => boolean;
|
|
22
|
+
light: (element?: HTMLElement) => void;
|
|
23
|
+
medium: (element?: HTMLElement) => void;
|
|
24
|
+
heavy: (element?: HTMLElement) => void;
|
|
25
|
+
selection: (element?: HTMLElement) => void;
|
|
26
|
+
impact: (intensity?: "light" | "medium" | "heavy", element?: HTMLElement) => void;
|
|
27
|
+
notification: (type: NotificationType, element?: HTMLElement) => void;
|
|
28
|
+
custom: (pattern: number | number[], element?: HTMLElement) => void;
|
|
29
|
+
enable: () => void;
|
|
30
|
+
disable: () => void;
|
|
31
|
+
toggle: () => void;
|
|
32
|
+
detectHapticSupport: () => boolean;
|
|
33
|
+
};
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
interface RippleOptions {
|
|
2
|
+
color?: string;
|
|
3
|
+
duration?: number;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
interface RippleEffect {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
size: number;
|
|
10
|
+
id: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Composable para efeito ripple em elementos clicáveis
|
|
14
|
+
* Implementa Material Design ripple effect com acessibilidade
|
|
15
|
+
*/
|
|
16
|
+
export declare function useRipple(options?: RippleOptions): {
|
|
17
|
+
rippleRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
18
|
+
ripples: import('vue').Ref<{
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
size: number;
|
|
22
|
+
id: string;
|
|
23
|
+
}[], RippleEffect[] | {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
size: number;
|
|
27
|
+
id: string;
|
|
28
|
+
}[]>;
|
|
29
|
+
applyRipple: (element: HTMLElement) => (() => void) | undefined;
|
|
30
|
+
removeRipple: (id: string) => void;
|
|
31
|
+
clearRipples: () => void;
|
|
32
|
+
getRippleStyle: (ripple: RippleEffect) => {
|
|
33
|
+
position: "absolute";
|
|
34
|
+
left: string;
|
|
35
|
+
top: string;
|
|
36
|
+
width: string;
|
|
37
|
+
height: string;
|
|
38
|
+
borderRadius: string;
|
|
39
|
+
backgroundColor: string;
|
|
40
|
+
transform: string;
|
|
41
|
+
animation: string;
|
|
42
|
+
pointerEvents: "none";
|
|
43
|
+
zIndex: number;
|
|
44
|
+
};
|
|
45
|
+
createRipple: (event: MouseEvent | TouchEvent) => void;
|
|
46
|
+
addRippleEffect: () => (() => void) | undefined;
|
|
47
|
+
removeRippleEffect: () => void;
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function resetTheme(): void;
|
|
2
|
+
export declare function useTheme(): {
|
|
3
|
+
isDark: import('vue').Ref<boolean, boolean>;
|
|
4
|
+
currentTheme: import('vue').ComputedRef<"dark" | "light">;
|
|
5
|
+
toggle: () => void;
|
|
6
|
+
setTheme: (theme: "light" | "dark") => void;
|
|
7
|
+
setDark: () => void;
|
|
8
|
+
setLight: () => void;
|
|
9
|
+
initTheme: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const required: (value: any) => boolean;
|
|
2
|
+
export declare const email: (value: any) => boolean;
|
|
3
|
+
export declare const minLength: (min: number) => (value: any) => boolean;
|
|
4
|
+
export declare const maxLength: (max: number) => (value: any) => boolean;
|
|
5
|
+
export declare const pattern: (regex: RegExp) => (value: any) => boolean;
|
|
6
|
+
export declare const custom: (validator: (value: any) => boolean) => (value: any) => boolean;
|
|
7
|
+
export declare function useValidation(): {
|
|
8
|
+
required: (value: any) => boolean;
|
|
9
|
+
email: (value: any) => boolean;
|
|
10
|
+
minLength: (min: number) => (value: any) => boolean;
|
|
11
|
+
maxLength: (max: number) => (value: any) => boolean;
|
|
12
|
+
pattern: (regex: RegExp) => (value: any) => boolean;
|
|
13
|
+
custom: (validator: (value: any) => boolean) => (value: any) => boolean;
|
|
14
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export { default as DatametriaButton } from './components/DatametriaButton.vue';
|
|
2
|
+
export { default as DatametriaInput } from './components/DatametriaInput.vue';
|
|
3
|
+
export { default as DatametriaPasswordInput } from './components/DatametriaPasswordInput.vue';
|
|
4
|
+
export { default as DatametriaSelect } from './components/DatametriaSelect.vue';
|
|
5
|
+
export { default as DatametriaCheckbox } from './components/DatametriaCheckbox.vue';
|
|
6
|
+
export { default as DatametriaRadio } from './components/DatametriaRadio.vue';
|
|
7
|
+
export { default as DatametriaSwitch } from './components/DatametriaSwitch.vue';
|
|
8
|
+
export { default as DatametriaTextarea } from './components/DatametriaTextarea.vue';
|
|
9
|
+
export { default as DatametriaDatePicker } from './components/DatametriaDatePicker.vue';
|
|
10
|
+
export { default as DatametriaTimePicker } from './components/DatametriaTimePicker.vue';
|
|
11
|
+
export { default as DatametriaSlider } from './components/DatametriaSlider.vue';
|
|
12
|
+
export { default as DatametriaFileUpload } from './components/DatametriaFileUpload.vue';
|
|
13
|
+
export { default as DatametriaAutocomplete } from './components/DatametriaAutocomplete.vue';
|
|
14
|
+
export { default as DatametriaCard } from './components/DatametriaCard.vue';
|
|
15
|
+
export { default as DatametriaModal } from './components/DatametriaModal.vue';
|
|
16
|
+
export { default as DatametriaContainer } from './components/DatametriaContainer.vue';
|
|
17
|
+
export { default as DatametriaGrid } from './components/DatametriaGrid.vue';
|
|
18
|
+
export { default as DatametriaDivider } from './components/DatametriaDivider.vue';
|
|
19
|
+
export { default as DatametriaAlert } from './components/DatametriaAlert.vue';
|
|
20
|
+
export { default as DatametriaToast } from './components/DatametriaToast.vue';
|
|
21
|
+
export { default as DatametriaTooltip } from './components/DatametriaTooltip.vue';
|
|
22
|
+
export { default as DatametriaSkeleton } from './components/DatametriaSkeleton.vue';
|
|
23
|
+
export { default as DatametriaProgress } from './components/DatametriaProgress.vue';
|
|
24
|
+
export { default as DatametriaSpinner } from './components/DatametriaSpinner.vue';
|
|
25
|
+
export { default as DatametriaTable } from './components/DatametriaTable.vue';
|
|
26
|
+
export { default as DatametriaSortableTable } from './components/DatametriaSortableTable.vue';
|
|
27
|
+
export { default as DatametriaAvatar } from './components/DatametriaAvatar.vue';
|
|
28
|
+
export { default as DatametriaBadge } from './components/DatametriaBadge.vue';
|
|
29
|
+
export { default as DatametriaChip } from './components/DatametriaChip.vue';
|
|
30
|
+
export { default as DatametriaNavbar } from './components/DatametriaNavbar.vue';
|
|
31
|
+
export { default as DatametriaSidebar } from './components/DatametriaSidebar.vue';
|
|
32
|
+
export { default as DatametriaFloatingBar } from './components/DatametriaFloatingBar.vue';
|
|
33
|
+
export { default as DatametriaMenu } from './components/DatametriaMenu.vue';
|
|
34
|
+
export { default as DatametriaBreadcrumb } from './components/DatametriaBreadcrumb.vue';
|
|
35
|
+
export { default as DatametriaTabs } from './components/DatametriaTabs.vue';
|
|
36
|
+
export { useValidation, required, email, minLength, maxLength, pattern, custom } from './composables/useValidation';
|
|
37
|
+
export { useAPI } from './composables/useAPI';
|
|
38
|
+
export { useAccessibilityScale } from './composables/useAccessibilityScale';
|
|
39
|
+
export { useBreakpoints } from './composables/useBreakpoints';
|
|
40
|
+
export { useRipple } from './composables/useRipple';
|
|
41
|
+
export { useHapticFeedback } from './composables/useHapticFeedback';
|
|
42
|
+
export { useLocalStorage } from './composables/useLocalStorage';
|
|
43
|
+
export { useDebounce } from './composables/useDebounce';
|
|
44
|
+
export { useClipboard } from './composables/useClipboard';
|
|
45
|
+
export { default as ThemeProvider } from './theme/ThemeProvider.vue';
|
|
46
|
+
export { useTheme } from './theme/useTheme';
|
|
47
|
+
export { datametriaTheme, defaultTheme } from './theme/presets';
|
|
48
|
+
export type { Theme, ThemeTokens } from './theme/types';
|
|
49
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'outline';
|
|
50
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
51
|
+
export type AlertVariant = 'info' | 'success' | 'warning' | 'error';
|
|
52
|
+
export type BadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
|
|
53
|
+
export type BadgeSize = 'sm' | 'md' | 'lg';
|