@maas/vue-equipment 0.21.4 → 0.21.5

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.21.3"
4
+ "version": "0.21.4"
5
5
  }
@@ -265,12 +265,14 @@ export function useDrawerDrag(args) {
265
265
  snappedY.value = 0;
266
266
  activeSnapPoint.value = void 0;
267
267
  }
268
- function emitterCallback(event, payload) {
269
- if (event === "afterLeave" && payload === toValue(id)) {
268
+ function afterLeaveCallback(payload) {
269
+ if (payload === toValue(id)) {
270
270
  resetDragged();
271
271
  resetSnapped();
272
272
  }
273
- if (event === "snapTo" && typeof payload === "object" && payload.id === toValue(id)) {
273
+ }
274
+ function snapToCallback(payload) {
275
+ if (payload.id === toValue(id)) {
274
276
  if (!toValue(isActive)) {
275
277
  console.warn("Cannot snap to point when drawer is not open");
276
278
  return;
@@ -322,6 +324,11 @@ export function useDrawerDrag(args) {
322
324
  break;
323
325
  }
324
326
  }
327
+ useDrawerEmitter().emit("afterDrag", {
328
+ id: toValue(id),
329
+ x: draggedX.value,
330
+ y: draggedY.value
331
+ });
325
332
  resetStateAndListeners();
326
333
  resetScrollLock();
327
334
  if (hasDragged.value) {
@@ -344,12 +351,22 @@ export function useDrawerDrag(args) {
344
351
  checkMomentum({ x: e.screenX, y: e.screenY });
345
352
  setDragged({ x: e.screenX, y: e.screenY });
346
353
  checkPosition({ x: e.screenX, y: e.screenY });
354
+ useDrawerEmitter().emit("drag", {
355
+ id: toValue(id),
356
+ x: draggedX.value,
357
+ y: draggedY.value
358
+ });
347
359
  }
348
360
  function onPointerdown(e) {
349
361
  if (dragging.value) {
350
362
  return;
351
363
  } else {
352
364
  dragging.value = true;
365
+ useDrawerEmitter().emit("beforeDrag", {
366
+ id: toValue(id),
367
+ x: draggedX.value,
368
+ y: draggedY.value
369
+ });
353
370
  }
354
371
  lastDraggedX.value = draggedX.value;
355
372
  lastDraggedY.value = draggedY.value;
@@ -370,7 +387,8 @@ export function useDrawerDrag(args) {
370
387
  }
371
388
  onMounted(async () => {
372
389
  await getSizes();
373
- useDrawerEmitter().on("*", emitterCallback);
390
+ useDrawerEmitter().on("snapTo", snapToCallback);
391
+ useDrawerEmitter().on("afterLeave", afterLeaveCallback);
374
392
  });
375
393
  watch(
376
394
  () => [unrefElement(elRef), unrefElement(wrapperRef)],
@@ -396,7 +414,8 @@ export function useDrawerDrag(args) {
396
414
  }, 100)();
397
415
  });
398
416
  onBeforeUnmount(() => {
399
- useDrawerEmitter().off("*", emitterCallback);
417
+ useDrawerEmitter().off("snapTo", snapToCallback);
418
+ useDrawerEmitter().off("afterLeave", afterLeaveCallback);
400
419
  });
401
420
  return {
402
421
  style,
@@ -51,6 +51,21 @@ export type DrawerEvents = {
51
51
  id: string;
52
52
  snapPoint: SnapPoint;
53
53
  };
54
+ beforeDrag: {
55
+ id: string;
56
+ x: number;
57
+ y: number;
58
+ };
59
+ drag: {
60
+ id: string;
61
+ x: number;
62
+ y: number;
63
+ };
64
+ afterDrag: {
65
+ id: string;
66
+ x: number;
67
+ y: number;
68
+ };
54
69
  };
55
70
  export interface CustomMouseEvent extends MouseEvent {
56
71
  custom?: string;
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.21.4",
4
+ "version": "0.21.5",
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",