@maas/vue-equipment 1.0.0-beta.68 → 1.0.0-beta.69
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/nuxt/module.json +1 -1
- package/dist/nuxt/module.mjs +2 -3
- package/dist/plugins/MagicDrawer/src/components/MagicDrawerContent.vue +1 -0
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +1 -0
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +12 -4
- package/dist/plugins/MagicDrawer/src/types/index.d.ts +5 -0
- package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +3 -0
- package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +130 -178
- package/dist/plugins/MagicTray/index.d.ts +2 -2
- package/dist/plugins/MagicTray/src/components/MagicTrayContent.vue +2 -0
- package/dist/plugins/MagicTray/src/components/MagicTrayHandle.vue +68 -15
- package/dist/plugins/MagicTray/src/composables/private/useTrayDrag.mjs +23 -12
- package/dist/plugins/MagicTray/src/composables/private/useTrayMagnetism.d.ts +9 -0
- package/dist/plugins/MagicTray/src/composables/private/useTrayMagnetism.mjs +283 -0
- package/dist/plugins/MagicTray/src/composables/private/useTrayProgress.mjs +2 -1
- package/dist/plugins/MagicTray/src/composables/private/useTrayState.mjs +6 -2
- package/dist/plugins/MagicTray/src/types/index.d.ts +26 -13
- package/dist/plugins/MagicTray/src/utils/defaultOptions.mjs +9 -0
- package/package.json +1 -1
package/dist/nuxt/module.json
CHANGED
package/dist/nuxt/module.mjs
CHANGED
|
@@ -109,10 +109,9 @@ const functions$1 = [
|
|
|
109
109
|
{
|
|
110
110
|
name: "MagicTray",
|
|
111
111
|
"package": "plugins",
|
|
112
|
-
lastUpdated:
|
|
112
|
+
lastUpdated: 1781787163000,
|
|
113
113
|
docs: "https://maas.egineering/vue-equipment/plugins/MagicTray/",
|
|
114
|
-
description: "MagicTray is a flexible"
|
|
115
|
-
soon: true
|
|
114
|
+
description: "MagicTray is a flexible"
|
|
116
115
|
},
|
|
117
116
|
{
|
|
118
117
|
name: "useCountdown",
|
|
@@ -127,6 +127,7 @@ const { onPointerdown, onTouchstart, onClick, style, hasDragged } = useDrawerDra
|
|
|
127
127
|
wrapperRef,
|
|
128
128
|
position: state.options.position,
|
|
129
129
|
snapPoints: state.options.snapPoints,
|
|
130
|
+
snap: state.options.snap,
|
|
130
131
|
threshold: state.options.threshold,
|
|
131
132
|
overshoot,
|
|
132
133
|
animation: state.options.animation,
|
|
@@ -6,6 +6,7 @@ type UseDrawerDragArgs = {
|
|
|
6
6
|
wrapperRef: Ref<HTMLDivElement | null>;
|
|
7
7
|
position: MaybeRef<RequiredMagicDrawerOptions['position']>;
|
|
8
8
|
snapPoints: MaybeRef<RequiredMagicDrawerOptions['snapPoints']>;
|
|
9
|
+
snap: MaybeRef<RequiredMagicDrawerOptions['snap']>;
|
|
9
10
|
threshold: MaybeRef<RequiredMagicDrawerOptions['threshold']>;
|
|
10
11
|
initial: MaybeRef<RequiredMagicDrawerOptions['initial']>;
|
|
11
12
|
animation: MaybeRef<RequiredMagicDrawerOptions['animation']>;
|
|
@@ -38,6 +38,7 @@ export function useDrawerDrag(args) {
|
|
|
38
38
|
wrapperRef,
|
|
39
39
|
position,
|
|
40
40
|
snapPoints,
|
|
41
|
+
snap,
|
|
41
42
|
overshoot,
|
|
42
43
|
threshold,
|
|
43
44
|
initial,
|
|
@@ -96,6 +97,13 @@ export function useDrawerDrag(args) {
|
|
|
96
97
|
const style = computed(
|
|
97
98
|
() => `transform: translate(${draggedX.value}px, ${draggedY.value}px)`
|
|
98
99
|
);
|
|
100
|
+
const snapMode = computed(() => toValue(snap).mode);
|
|
101
|
+
const draggedRefX = computed(
|
|
102
|
+
() => snapMode.value === "step" ? lastDraggedX.value : draggedX.value
|
|
103
|
+
);
|
|
104
|
+
const draggedRefY = computed(
|
|
105
|
+
() => snapMode.value === "step" ? lastDraggedY.value : draggedY.value
|
|
106
|
+
);
|
|
99
107
|
const {
|
|
100
108
|
snappedY,
|
|
101
109
|
snappedX,
|
|
@@ -142,7 +150,7 @@ export function useDrawerDrag(args) {
|
|
|
142
150
|
if (distanceY > toValue(threshold).distance) {
|
|
143
151
|
const snapPointY = findClosestSnapPoint({
|
|
144
152
|
draggedX: 0,
|
|
145
|
-
draggedY,
|
|
153
|
+
draggedY: draggedRefY.value,
|
|
146
154
|
direction: relDirectionY.value
|
|
147
155
|
});
|
|
148
156
|
if (Math.abs(snapPointY ?? 0) === drawerHeight.value) {
|
|
@@ -157,7 +165,7 @@ export function useDrawerDrag(args) {
|
|
|
157
165
|
case "left": {
|
|
158
166
|
if (distanceX > toValue(threshold).distance) {
|
|
159
167
|
const snapPointX = findClosestSnapPoint({
|
|
160
|
-
draggedX,
|
|
168
|
+
draggedX: draggedRefX.value,
|
|
161
169
|
draggedY: 0,
|
|
162
170
|
direction: relDirectionX.value
|
|
163
171
|
});
|
|
@@ -183,7 +191,7 @@ export function useDrawerDrag(args) {
|
|
|
183
191
|
if (velocityY > toValue(threshold).momentum) {
|
|
184
192
|
const snapPointY = findClosestSnapPoint({
|
|
185
193
|
draggedX: 0,
|
|
186
|
-
draggedY,
|
|
194
|
+
draggedY: draggedRefY.value,
|
|
187
195
|
direction: relDirectionY.value
|
|
188
196
|
});
|
|
189
197
|
if (Math.abs(snapPointY ?? 0) === drawerHeight.value) {
|
|
@@ -198,7 +206,7 @@ export function useDrawerDrag(args) {
|
|
|
198
206
|
case "left": {
|
|
199
207
|
if (velocityX > toValue(threshold).momentum) {
|
|
200
208
|
const snapPointX = findClosestSnapPoint({
|
|
201
|
-
draggedX,
|
|
209
|
+
draggedX: draggedRefX.value,
|
|
202
210
|
draggedY,
|
|
203
211
|
direction: relDirectionX.value
|
|
204
212
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Options as FocusTrapOptions } from 'focus-trap';
|
|
2
2
|
import type { RequireAllNested } from '@maas/vue-equipment/utils';
|
|
3
3
|
export type DrawerSnapPoint = number | `${number}px`;
|
|
4
|
+
export type DrawerSnapMode = 'closest' | 'step';
|
|
4
5
|
export interface MagicDrawerOptions {
|
|
5
6
|
position?: 'top' | 'right' | 'bottom' | 'left';
|
|
6
7
|
tag?: 'dialog' | 'div';
|
|
@@ -9,6 +10,9 @@ export interface MagicDrawerOptions {
|
|
|
9
10
|
padding: boolean;
|
|
10
11
|
};
|
|
11
12
|
snapPoints?: DrawerSnapPoint[];
|
|
13
|
+
snap?: {
|
|
14
|
+
mode?: DrawerSnapMode;
|
|
15
|
+
};
|
|
12
16
|
teleport?: {
|
|
13
17
|
target?: string;
|
|
14
18
|
disabled?: boolean;
|
|
@@ -42,6 +46,7 @@ export interface MagicDrawerOptions {
|
|
|
42
46
|
disabled?: boolean;
|
|
43
47
|
}
|
|
44
48
|
export type RequiredMagicDrawerOptions = Required<MagicDrawerOptions> & {
|
|
49
|
+
snap: Required<MagicDrawerOptions['snap']>;
|
|
45
50
|
scrollLock: Required<MagicDrawerOptions['scrollLock']>;
|
|
46
51
|
threshold: Required<MagicDrawerOptions['threshold']>;
|
|
47
52
|
animation: RequireAllNested<NonNullable<MagicDrawerOptions['animation']>>;
|