@datametria/vue-components 1.2.0 → 2.0.1
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 +548 -657
- package/dist/index.es.js +2353 -1364
- package/dist/index.umd.js +10 -10
- package/dist/vue-components.css +1 -1
- package/package.json +102 -98
- package/src/components/DatametriaAlert.vue +137 -137
- package/src/components/DatametriaAutocomplete.vue +184 -138
- package/src/components/DatametriaAvatar.vue +177 -33
- package/src/components/DatametriaBadge.vue +98 -98
- package/src/components/DatametriaBreadcrumb.vue +21 -21
- package/src/components/DatametriaButton.vue +177 -165
- package/src/components/DatametriaCard.vue +12 -12
- package/src/components/DatametriaCheckbox.vue +8 -8
- package/src/components/DatametriaChip.vue +145 -149
- package/src/components/DatametriaContainer.vue +4 -4
- package/src/components/DatametriaDatePicker.vue +686 -68
- package/src/components/DatametriaDivider.vue +13 -13
- package/src/components/DatametriaFileUpload.vue +272 -140
- package/src/components/DatametriaGrid.vue +3 -3
- package/src/components/DatametriaInput.vue +15 -15
- package/src/components/DatametriaMenu.vue +604 -619
- package/src/components/DatametriaModal.vue +16 -16
- package/src/components/DatametriaNavbar.vue +230 -252
- package/src/components/DatametriaPasswordInput.vue +430 -0
- package/src/components/DatametriaProgress.vue +18 -18
- package/src/components/DatametriaRadio.vue +20 -20
- package/src/components/DatametriaSelect.vue +15 -15
- package/src/components/DatametriaSkeleton.vue +243 -239
- package/src/components/DatametriaSlider.vue +395 -407
- package/src/components/DatametriaSortableTable.vue +585 -0
- package/src/components/DatametriaSpinner.vue +7 -7
- package/src/components/DatametriaSwitch.vue +16 -16
- package/src/components/DatametriaTable.vue +14 -14
- package/src/components/DatametriaTextarea.vue +28 -28
- package/src/components/DatametriaTimePicker.vue +285 -285
- package/src/components/DatametriaToast.vue +176 -176
- package/src/components/DatametriaTooltip.vue +408 -408
- package/src/components/__tests__/DatametriaAlert.test.js +35 -35
- package/src/components/__tests__/DatametriaAlert.test.ts +190 -0
- package/src/components/__tests__/DatametriaAutocomplete.test.ts +180 -0
- package/src/components/__tests__/DatametriaAvatar.test.ts +152 -0
- package/src/components/__tests__/DatametriaBadge.test.js +29 -29
- package/src/components/__tests__/DatametriaBadge.test.ts +167 -0
- package/src/components/__tests__/DatametriaBreadcrumb.test.ts +75 -0
- package/src/components/__tests__/DatametriaButton.test.js +30 -30
- package/src/components/__tests__/DatametriaButton.test.ts +283 -0
- package/src/components/__tests__/DatametriaCard.test.ts +201 -0
- package/src/components/__tests__/DatametriaCheckbox.test.ts +47 -0
- package/src/components/__tests__/DatametriaChip.test.js +38 -38
- package/src/components/__tests__/DatametriaContainer.test.ts +52 -0
- package/src/components/__tests__/DatametriaDatePicker.test.ts +234 -0
- package/src/components/__tests__/DatametriaDivider.test.ts +54 -0
- package/src/components/__tests__/DatametriaFileUpload.test.ts +291 -0
- package/src/components/__tests__/DatametriaGrid.test.ts +31 -0
- package/src/components/__tests__/DatametriaInput.test.ts +72 -0
- package/src/components/__tests__/DatametriaMenu.test.ts +366 -0
- package/src/components/__tests__/DatametriaModal.test.ts +86 -0
- package/src/components/__tests__/DatametriaNavbar.test.js +48 -48
- package/src/components/__tests__/DatametriaNavbar.test.ts +203 -0
- package/src/components/__tests__/DatametriaPasswordInput.test.js +305 -0
- package/src/components/__tests__/DatametriaProgress.test.ts +90 -0
- package/src/components/__tests__/DatametriaRadio.test.ts +77 -0
- package/src/components/__tests__/DatametriaSelect.test.ts +77 -0
- package/src/components/__tests__/DatametriaSlider.test.ts +261 -0
- package/src/components/__tests__/DatametriaSortableTable.test.js +168 -0
- package/src/components/__tests__/DatametriaSpinner.test.ts +156 -0
- package/src/components/__tests__/DatametriaSwitch.test.ts +64 -0
- package/src/components/__tests__/DatametriaTable.test.ts +97 -0
- package/src/components/__tests__/DatametriaTextarea.test.ts +66 -0
- package/src/components/__tests__/DatametriaToast.test.js +48 -48
- package/src/components/__tests__/DatametriaToast.test.ts +99 -0
- package/src/composables/useAccessibilityScale.ts +94 -94
- package/src/composables/useBreakpoints.ts +82 -82
- package/src/composables/useHapticFeedback.ts +439 -439
- package/src/composables/useRipple.ts +218 -218
- package/src/index.ts +68 -61
- package/src/stories/Variants.stories.js +95 -95
- package/src/styles/design-tokens.css +623 -623
- package/src/theme/ThemeProvider.vue +96 -0
- package/src/theme/__tests__/ThemeProvider.test.ts +208 -0
- package/src/theme/__tests__/constants.test.ts +31 -0
- package/src/theme/__tests__/presets.test.ts +166 -0
- package/src/theme/__tests__/tokens.test.ts +155 -0
- package/src/theme/__tests__/types.test.ts +153 -0
- package/src/theme/__tests__/useTheme.test.ts +146 -0
- package/src/theme/constants.ts +14 -0
- package/src/theme/index.ts +12 -0
- package/src/theme/presets/datametria.ts +94 -0
- package/src/theme/presets/default.ts +94 -0
- package/src/theme/presets/index.ts +8 -0
- package/src/theme/tokens/colors.ts +28 -0
- package/src/theme/tokens/index.ts +47 -0
- package/src/theme/tokens/spacing.ts +21 -0
- package/src/theme/tokens/typography.ts +35 -0
- package/src/theme/types.ts +111 -0
- package/src/theme/useTheme.ts +28 -0
- package/src/types/index.ts +19 -0
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { ref, onMounted, onUnmounted } from 'vue'
|
|
2
|
-
|
|
3
|
-
export const breakpoints = {
|
|
4
|
-
xs: 475,
|
|
5
|
-
sm: 640,
|
|
6
|
-
md: 768,
|
|
7
|
-
lg: 1024,
|
|
8
|
-
xl: 1280,
|
|
9
|
-
'2xl': 1536
|
|
10
|
-
} as const
|
|
11
|
-
|
|
12
|
-
export type Breakpoint = keyof typeof breakpoints
|
|
13
|
-
|
|
14
|
-
export function useBreakpoints() {
|
|
15
|
-
const windowWidth = ref(0)
|
|
16
|
-
|
|
17
|
-
const updateWidth = () => {
|
|
18
|
-
windowWidth.value = window.innerWidth
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const isGreaterOrEqual = (breakpoint: Breakpoint) => {
|
|
22
|
-
return windowWidth.value >= breakpoints[breakpoint]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const isLessOrEqual = (breakpoint: Breakpoint) => {
|
|
26
|
-
return windowWidth.value <= breakpoints[breakpoint]
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const isBetween = (min: Breakpoint, max: Breakpoint) => {
|
|
30
|
-
return windowWidth.value >= breakpoints[min] && windowWidth.value <= breakpoints[max]
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const getCurrentBreakpoint = (): Breakpoint => {
|
|
34
|
-
const width = windowWidth.value
|
|
35
|
-
|
|
36
|
-
if (width >= breakpoints['2xl']) return '2xl'
|
|
37
|
-
if (width >= breakpoints.xl) return 'xl'
|
|
38
|
-
if (width >= breakpoints.lg) return 'lg'
|
|
39
|
-
if (width >= breakpoints.md) return 'md'
|
|
40
|
-
if (width >= breakpoints.sm) return 'sm'
|
|
41
|
-
return 'xs'
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Reactive breakpoint checks
|
|
45
|
-
const isXs = () => windowWidth.value < breakpoints.sm
|
|
46
|
-
const isSm = () => isGreaterOrEqual('sm') && windowWidth.value < breakpoints.md
|
|
47
|
-
const isMd = () => isGreaterOrEqual('md') && windowWidth.value < breakpoints.lg
|
|
48
|
-
const isLg = () => isGreaterOrEqual('lg') && windowWidth.value < breakpoints.xl
|
|
49
|
-
const isXl = () => isGreaterOrEqual('xl') && windowWidth.value < breakpoints['2xl']
|
|
50
|
-
const is2xl = () => isGreaterOrEqual('2xl')
|
|
51
|
-
|
|
52
|
-
// Mobile/tablet/desktop helpers
|
|
53
|
-
const isMobile = () => windowWidth.value < breakpoints.md
|
|
54
|
-
const isTablet = () => isBetween('md', 'lg')
|
|
55
|
-
const isDesktop = () => isGreaterOrEqual('lg')
|
|
56
|
-
|
|
57
|
-
onMounted(() => {
|
|
58
|
-
updateWidth()
|
|
59
|
-
window.addEventListener('resize', updateWidth)
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
onUnmounted(() => {
|
|
63
|
-
window.removeEventListener('resize', updateWidth)
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
return {
|
|
67
|
-
windowWidth,
|
|
68
|
-
breakpoints,
|
|
69
|
-
isGreaterOrEqual,
|
|
70
|
-
isLessOrEqual,
|
|
71
|
-
isBetween,
|
|
72
|
-
getCurrentBreakpoint,
|
|
73
|
-
isXs,
|
|
74
|
-
isSm,
|
|
75
|
-
isMd,
|
|
76
|
-
isLg,
|
|
77
|
-
isXl,
|
|
78
|
-
is2xl,
|
|
79
|
-
isMobile,
|
|
80
|
-
isTablet,
|
|
81
|
-
isDesktop
|
|
82
|
-
}
|
|
1
|
+
import { ref, onMounted, onUnmounted } from 'vue'
|
|
2
|
+
|
|
3
|
+
export const breakpoints = {
|
|
4
|
+
xs: 475,
|
|
5
|
+
sm: 640,
|
|
6
|
+
md: 768,
|
|
7
|
+
lg: 1024,
|
|
8
|
+
xl: 1280,
|
|
9
|
+
'2xl': 1536
|
|
10
|
+
} as const
|
|
11
|
+
|
|
12
|
+
export type Breakpoint = keyof typeof breakpoints
|
|
13
|
+
|
|
14
|
+
export function useBreakpoints() {
|
|
15
|
+
const windowWidth = ref(0)
|
|
16
|
+
|
|
17
|
+
const updateWidth = () => {
|
|
18
|
+
windowWidth.value = window.innerWidth
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const isGreaterOrEqual = (breakpoint: Breakpoint) => {
|
|
22
|
+
return windowWidth.value >= breakpoints[breakpoint]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const isLessOrEqual = (breakpoint: Breakpoint) => {
|
|
26
|
+
return windowWidth.value <= breakpoints[breakpoint]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const isBetween = (min: Breakpoint, max: Breakpoint) => {
|
|
30
|
+
return windowWidth.value >= breakpoints[min] && windowWidth.value <= breakpoints[max]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const getCurrentBreakpoint = (): Breakpoint => {
|
|
34
|
+
const width = windowWidth.value
|
|
35
|
+
|
|
36
|
+
if (width >= breakpoints['2xl']) return '2xl'
|
|
37
|
+
if (width >= breakpoints.xl) return 'xl'
|
|
38
|
+
if (width >= breakpoints.lg) return 'lg'
|
|
39
|
+
if (width >= breakpoints.md) return 'md'
|
|
40
|
+
if (width >= breakpoints.sm) return 'sm'
|
|
41
|
+
return 'xs'
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Reactive breakpoint checks
|
|
45
|
+
const isXs = () => windowWidth.value < breakpoints.sm
|
|
46
|
+
const isSm = () => isGreaterOrEqual('sm') && windowWidth.value < breakpoints.md
|
|
47
|
+
const isMd = () => isGreaterOrEqual('md') && windowWidth.value < breakpoints.lg
|
|
48
|
+
const isLg = () => isGreaterOrEqual('lg') && windowWidth.value < breakpoints.xl
|
|
49
|
+
const isXl = () => isGreaterOrEqual('xl') && windowWidth.value < breakpoints['2xl']
|
|
50
|
+
const is2xl = () => isGreaterOrEqual('2xl')
|
|
51
|
+
|
|
52
|
+
// Mobile/tablet/desktop helpers
|
|
53
|
+
const isMobile = () => windowWidth.value < breakpoints.md
|
|
54
|
+
const isTablet = () => isBetween('md', 'lg')
|
|
55
|
+
const isDesktop = () => isGreaterOrEqual('lg')
|
|
56
|
+
|
|
57
|
+
onMounted(() => {
|
|
58
|
+
updateWidth()
|
|
59
|
+
window.addEventListener('resize', updateWidth)
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
onUnmounted(() => {
|
|
63
|
+
window.removeEventListener('resize', updateWidth)
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
windowWidth,
|
|
68
|
+
breakpoints,
|
|
69
|
+
isGreaterOrEqual,
|
|
70
|
+
isLessOrEqual,
|
|
71
|
+
isBetween,
|
|
72
|
+
getCurrentBreakpoint,
|
|
73
|
+
isXs,
|
|
74
|
+
isSm,
|
|
75
|
+
isMd,
|
|
76
|
+
isLg,
|
|
77
|
+
isXl,
|
|
78
|
+
is2xl,
|
|
79
|
+
isMobile,
|
|
80
|
+
isTablet,
|
|
81
|
+
isDesktop
|
|
82
|
+
}
|
|
83
83
|
}
|