@maas/vue-equipment 0.25.1 → 0.25.3

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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment/nuxt",
3
3
  "configKey": "vueEquipment",
4
- "version": "0.25.0"
4
+ "version": "0.25.2"
5
5
  }
@@ -154,6 +154,15 @@ const {
154
154
  removeScrollLockPadding,
155
155
  } = drawerApi
156
156
 
157
+ // Make sure this is reactive
158
+ const disabled = computed(() => {
159
+ if (props.options.disabled === undefined) {
160
+ return defaultOptions.disabled
161
+ } else {
162
+ return props.options.disabled
163
+ }
164
+ })
165
+
157
166
  const { onPointerdown, onClick, style, hasDragged } = useDrawerDrag({
158
167
  id: props.id,
159
168
  isActive,
@@ -171,6 +180,7 @@ const { initializeWheelListener, destroyWheelListener } = useDrawerWheel({
171
180
  id: props.id,
172
181
  elRef,
173
182
  position,
183
+ disabled,
174
184
  })
175
185
 
176
186
  const { findState } = useDrawerState(props.id)
@@ -225,15 +235,6 @@ const contentTransition = computed(() => {
225
235
  : mappedOptions.transitions?.content
226
236
  })
227
237
 
228
- // Make sure this is reactive
229
- const disabled = computed(() => {
230
- if (props.options.disabled === undefined) {
231
- return defaultOptions.disabled
232
- } else {
233
- return props.options.disabled
234
- }
235
- })
236
-
237
238
  // Private functions
238
239
  function convertToPixels(value: string) {
239
240
  const regex = /^(\d*\.?\d+)\s*(rem|px)$/
@@ -152,30 +152,30 @@ export function useDrawerDrag(args) {
152
152
  case "bottom":
153
153
  case "top":
154
154
  if (velocityY > toValue(threshold).momentum) {
155
- const snapPointB = findClosestSnapPoint({
155
+ const snapPointY = findClosestSnapPoint({
156
156
  draggedX: 0,
157
157
  draggedY,
158
158
  direction: relDirectionY.value
159
159
  });
160
- if (snapPointB === drawerHeight.value) {
160
+ if (snapPointY === drawerHeight.value) {
161
161
  shouldClose.value = true;
162
162
  } else {
163
- interpolateTo.value = snapPointB;
163
+ interpolateTo.value = snapPointY;
164
164
  }
165
165
  }
166
166
  break;
167
167
  case "right":
168
168
  case "left":
169
169
  if (velocityX > toValue(threshold).momentum) {
170
- const snapPointR = findClosestSnapPoint({
170
+ const snapPointX = findClosestSnapPoint({
171
171
  draggedX,
172
172
  draggedY,
173
173
  direction: relDirectionX.value
174
174
  });
175
- if (snapPointR === drawerWidth.value) {
175
+ if (snapPointX === drawerWidth.value) {
176
176
  shouldClose.value = true;
177
177
  } else {
178
- interpolateTo.value = snapPointR;
178
+ interpolateTo.value = snapPointX;
179
179
  }
180
180
  }
181
181
  break;
@@ -185,21 +185,29 @@ export function useDrawerDrag(args) {
185
185
  switch (position) {
186
186
  case "bottom":
187
187
  const newDraggedB = clamp(y - originY.value, 0, toValue(overshoot) * -1);
188
+ if (newDraggedB === draggedY.value)
189
+ break;
188
190
  relDirectionY.value = newDraggedB < draggedY.value ? "below" : "above";
189
191
  draggedY.value = newDraggedB;
190
192
  break;
191
193
  case "top":
192
194
  const newDraggedT = clamp(y - originY.value, 0, toValue(overshoot));
195
+ if (newDraggedT === draggedY.value)
196
+ break;
193
197
  relDirectionY.value = newDraggedT < draggedY.value ? "below" : "above";
194
198
  draggedY.value = newDraggedT;
195
199
  break;
196
200
  case "right":
197
201
  const newDraggedR = clamp(x - originX.value, 0, toValue(overshoot) * -1);
202
+ if (newDraggedR === draggedX.value)
203
+ break;
198
204
  relDirectionX.value = newDraggedR < draggedX.value ? "below" : "above";
199
205
  draggedX.value = newDraggedR;
200
206
  break;
201
207
  case "left":
202
208
  const newDraggedL = clamp(x - originX.value, 0, toValue(overshoot));
209
+ if (newDraggedL === draggedX.value)
210
+ break;
203
211
  relDirectionX.value = newDraggedL < draggedX.value ? "below" : "above";
204
212
  draggedX.value = newDraggedL;
205
213
  break;
@@ -291,7 +299,7 @@ export function useDrawerDrag(args) {
291
299
  snappedX.value = interpolateTo.value;
292
300
  break;
293
301
  }
294
- } else if (hasDragged.value) {
302
+ } else {
295
303
  switch (position) {
296
304
  case "bottom":
297
305
  case "top":
@@ -238,9 +238,7 @@ export function useDrawerSnap(args) {
238
238
  switch (position) {
239
239
  case "bottom":
240
240
  case "top":
241
- if (!toValue(draggedY2)) {
242
- break;
243
- } else {
241
+ if (!!toValue(draggedY2) || toValue(draggedY2) === 0) {
244
242
  closest = findClosestNumber({
245
243
  number: toValue(draggedY2),
246
244
  numbers: mappedSnapPoints.value,
@@ -250,9 +248,7 @@ export function useDrawerSnap(args) {
250
248
  }
251
249
  case "right":
252
250
  case "left":
253
- if (!toValue(draggedX2)) {
254
- break;
255
- } else {
251
+ if (!!toValue(draggedX2) || toValue(draggedX2) === 0) {
256
252
  closest = findClosestNumber({
257
253
  number: toValue(draggedX2),
258
254
  numbers: mappedSnapPoints.value,
@@ -1,9 +1,10 @@
1
- import { type Ref, type MaybeRef } from 'vue';
1
+ import { type Ref, type MaybeRef, type ComputedRef } from 'vue';
2
2
  import { type DefaultOptions } from '../../utils/defaultOptions.js';
3
3
  type UseDrawerWheelArgs = {
4
4
  id: MaybeRef<string>;
5
5
  elRef: Ref<HTMLElement | undefined>;
6
6
  position: MaybeRef<DefaultOptions['position']>;
7
+ disabled: ComputedRef<boolean>;
7
8
  };
8
9
  export declare function useDrawerWheel(args: UseDrawerWheelArgs): {
9
10
  initializeWheelListener: () => void;
@@ -1,9 +1,12 @@
1
- import { computed, toValue } from "vue";
1
+ import {
2
+ computed,
3
+ toValue
4
+ } from "vue";
2
5
  import { unrefElement } from "@vueuse/core";
3
6
  import WheelGestures from "wheel-gestures";
4
7
  import { useDrawerState } from "./useDrawerState.mjs";
5
8
  export function useDrawerWheel(args) {
6
- const { id, elRef, position } = args;
9
+ const { id, elRef, position, disabled } = args;
7
10
  const { findState } = useDrawerState(toValue(id));
8
11
  const { dragging, wheeling } = findState();
9
12
  let startEvent;
@@ -18,7 +21,7 @@ export function useDrawerWheel(args) {
18
21
  }
19
22
  });
20
23
  const wheelGestures = WheelGestures({
21
- preventWheelAction: axis.value,
24
+ preventWheelAction: disabled ? false : axis.value,
22
25
  reverseSign: [true, true, false]
23
26
  // Reverse scroll direction for x and y axis
24
27
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment",
3
3
  "description": "A magic collection of Vue composables, plugins, components and directives",
4
- "version": "0.25.1",
4
+ "version": "0.25.3",
5
5
  "author": "Robin Scholz <https://github.com/robinscholz>, Christoph Jeworutzki <https://github.com/ChristophJeworutzki>",
6
6
  "devDependencies": {
7
7
  "@antfu/ni": "^0.21.12",