design-system-next 2.21.10 → 2.22.2
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/dist/design-system-next.es.d.ts +3 -0
- package/dist/design-system-next.es.js +4493 -4308
- package/dist/design-system-next.es.js.gz +0 -0
- package/dist/design-system-next.umd.js +12 -12
- package/dist/design-system-next.umd.js.gz +0 -0
- package/dist/main.css +1 -1
- package/dist/main.css.gz +0 -0
- package/package.json +1 -1
- package/src/components/list/list-item/list-item.ts +12 -0
- package/src/components/list/list-item/list-item.vue +20 -9
- package/src/components/list/list-item/use-list-item.ts +37 -1
- package/src/components/list/list.ts +12 -0
- package/src/components/list/list.vue +6 -0
- package/src/components/progress-bar/progress-bar.ts +21 -0
- package/src/components/progress-bar/progress-bar.vue +26 -8
- package/src/components/progress-bar/use-progress-bar.ts +31 -2
- package/src/components/sidepanel/sidepanel.ts +28 -14
- package/src/components/sidepanel/sidepanel.vue +10 -2
- package/src/components/sidepanel/stacking-sidepanel/stacking-sidepanel.vue +13 -2
- package/src/components/sidepanel/stacking-sidepanel/use-stacking-sidepanel.ts +37 -6
- package/src/components/sidepanel/use-sidepanel.ts +26 -11
|
@@ -19,16 +19,21 @@ interface SidepanelClasses {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export const useSidepanel = (props: SidepanelPropTypes, emit: SetupContext<SidepanelEmitTypes>['emit']) => {
|
|
22
|
-
const { size, position, isStacking, footerNoPadding } = toRefs(props);
|
|
22
|
+
const { size, position, isStacking, footerNoPadding, isExpanded, isActivePanel } = toRefs(props);
|
|
23
23
|
|
|
24
24
|
const sidepanelClasses: ComputedRef<SidepanelClasses> = computed(() => {
|
|
25
25
|
const sidepanelBaseClasses = classNames(
|
|
26
|
-
'spr-right-4 spr-top-1/2 spr-z-[1015] spr-flex spr-h-full spr-min-h-[200px] spr-translate-y-[-50%] spr-flex-col spr-rounded-border-radius-xl spr-bg-white-50 spr-drop-shadow',
|
|
26
|
+
'spr-right-4 spr-top-1/2 spr-z-[1015] spr-flex spr-h-full spr-min-h-[200px] spr-translate-y-[-50%] spr-flex-col spr-rounded-border-radius-xl spr-bg-white-50 spr-drop-shadow spr-transition-all spr-ease-[ease-in-out] spr-duration-[150ms]',
|
|
27
27
|
{
|
|
28
28
|
'spr-fixed': !isStacking.value,
|
|
29
|
-
'spr-w-[360px]
|
|
30
|
-
'spr-w-[420px]
|
|
31
|
-
'spr-w-[480px]
|
|
29
|
+
'spr-w-[360px]': size.value === 'sm' && !isExpanded.value,
|
|
30
|
+
'spr-w-[420px]': size.value === 'md' && !isExpanded.value,
|
|
31
|
+
'spr-w-[480px]': size.value === 'lg' && !isExpanded.value,
|
|
32
|
+
'[@media(max-width:360px)]:spr-w-[calc(100vw-35px)]': size.value === 'sm' && !isExpanded.value && !isStacking.value,
|
|
33
|
+
'[@media(max-width:420px)]:spr-w-[calc(100vw-35px)]': size.value === 'md' && !isExpanded.value && !isStacking.value,
|
|
34
|
+
'[@media(max-width:480px)]:spr-w-[calc(100vw-35px)]': size.value === 'lg' && !isExpanded.value && !isStacking.value,
|
|
35
|
+
'spr-w-[calc(100vw-50px)]': isExpanded.value,
|
|
36
|
+
'spr-pointer-events-none': !isActivePanel.value && isStacking.value
|
|
32
37
|
},
|
|
33
38
|
);
|
|
34
39
|
|
|
@@ -45,13 +50,13 @@ export const useSidepanel = (props: SidepanelPropTypes, emit: SetupContext<Sidep
|
|
|
45
50
|
const sidepanelFooterClasses = classNames(
|
|
46
51
|
'spr-bottom-0 spr-left-0 spr-w-full spr-rounded-b-border-radius-xl spr-border-0 spr-border-t spr-border-solid spr-border-mushroom-200 spr-bg-white-50 ',
|
|
47
52
|
{
|
|
48
|
-
'spr-py-3': !footerNoPadding.value
|
|
49
|
-
}
|
|
53
|
+
'spr-py-3': !footerNoPadding.value,
|
|
54
|
+
},
|
|
50
55
|
);
|
|
51
56
|
|
|
52
|
-
const sidepanelTransitionActiveClasses = classNames(
|
|
53
|
-
|
|
54
|
-
);
|
|
57
|
+
const sidepanelTransitionActiveClasses = classNames({
|
|
58
|
+
'spr-transition-all spr-duration-[150ms] spr-ease-[ease-in-out]': !isStacking.value,
|
|
59
|
+
});
|
|
55
60
|
|
|
56
61
|
const sidepanelTransitionHiddenClasses = classNames('spr-opacity-0', {
|
|
57
62
|
'spr-translate-x-full -spr-translate-y-2/4': !isStacking.value && position.value === 'right',
|
|
@@ -84,6 +89,14 @@ export const useSidepanel = (props: SidepanelPropTypes, emit: SetupContext<Sidep
|
|
|
84
89
|
emit('close');
|
|
85
90
|
};
|
|
86
91
|
|
|
92
|
+
const handlePanelExpansion = () => {
|
|
93
|
+
if (isExpanded.value) {
|
|
94
|
+
emit('shrink');
|
|
95
|
+
} else {
|
|
96
|
+
emit('expand');
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
87
100
|
let ignoreClick = false;
|
|
88
101
|
|
|
89
102
|
const handleClickOutside = (event: MouseEvent) => {
|
|
@@ -111,7 +124,7 @@ export const useSidepanel = (props: SidepanelPropTypes, emit: SetupContext<Sidep
|
|
|
111
124
|
emit('onClose');
|
|
112
125
|
}
|
|
113
126
|
},
|
|
114
|
-
);
|
|
127
|
+
);
|
|
115
128
|
|
|
116
129
|
onMounted(() => {
|
|
117
130
|
document.addEventListener('click', handleClickOutside);
|
|
@@ -126,6 +139,8 @@ export const useSidepanel = (props: SidepanelPropTypes, emit: SetupContext<Sidep
|
|
|
126
139
|
return {
|
|
127
140
|
sidepanelClasses,
|
|
128
141
|
sidepanelRef,
|
|
142
|
+
isExpanded,
|
|
129
143
|
handleClose,
|
|
144
|
+
handlePanelExpansion,
|
|
130
145
|
};
|
|
131
146
|
};
|