@maas/vue-equipment 1.0.0-beta.76 → 1.0.0-beta.78

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.
Files changed (45) hide show
  1. package/dist/nuxt/module.json +1 -1
  2. package/dist/nuxt/module.mjs +3 -3
  3. package/dist/plugins/MagicDrawer/index.d.ts +2 -2
  4. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +23 -0
  5. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +2 -2
  6. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +4 -4
  7. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.d.ts +2 -2
  8. package/dist/plugins/MagicDrawer/src/types/index.d.ts +11 -6
  9. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +268 -226
  10. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +1 -7
  11. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +2 -2
  12. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +2 -2
  13. package/dist/plugins/MagicToast/index.d.ts +2 -2
  14. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +1 -1
  15. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +5 -5
  16. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +2 -2
  17. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.d.ts +1 -0
  18. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +58 -28
  19. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +2 -2
  20. package/dist/plugins/MagicToast/src/composables/private/useToastState.mjs +1 -1
  21. package/dist/plugins/MagicToast/src/composables/private/useToastView.d.ts +1 -1
  22. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +6 -4
  23. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +5 -2
  24. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +45 -5
  25. package/dist/plugins/MagicToast/src/types/index.d.ts +20 -2
  26. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +4 -1
  27. package/dist/plugins/MagicTray/index.d.ts +2 -2
  28. package/dist/plugins/MagicTray/src/components/MagicTray.d.vue.ts +1 -1
  29. package/dist/plugins/MagicTray/src/components/MagicTray.vue.d.ts +1 -1
  30. package/dist/plugins/MagicTray/src/components/MagicTrayContent.d.vue.ts +4 -4
  31. package/dist/plugins/MagicTray/src/components/MagicTrayContent.vue +3 -1
  32. package/dist/plugins/MagicTray/src/components/MagicTrayContent.vue.d.ts +4 -4
  33. package/dist/plugins/MagicTray/src/components/MagicTrayHandle.d.vue.ts +3 -3
  34. package/dist/plugins/MagicTray/src/components/MagicTrayHandle.vue.d.ts +3 -3
  35. package/dist/plugins/MagicTray/src/components/MagicTrayTransform.d.vue.ts +2 -2
  36. package/dist/plugins/MagicTray/src/components/MagicTrayTransform.vue.d.ts +2 -2
  37. package/dist/plugins/MagicTray/src/composables/private/useTrayDrag.d.ts +7 -6
  38. package/dist/plugins/MagicTray/src/composables/private/useTrayDrag.mjs +23 -27
  39. package/dist/plugins/MagicTray/src/composables/private/useTrayMagnetism.d.ts +2 -2
  40. package/dist/plugins/MagicTray/src/composables/private/useTraySnap.d.ts +12 -12
  41. package/dist/plugins/MagicTray/src/composables/private/useTrayUtils.d.ts +3 -3
  42. package/dist/plugins/MagicTray/src/composables/useMagicTray.d.ts +3 -3
  43. package/dist/plugins/MagicTray/src/types/index.d.ts +35 -34
  44. package/dist/plugins/MagicTray/src/utils/defaultOptions.mjs +4 -2
  45. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  import { type Ref, type MaybeRef } from 'vue';
2
- import type { TraySide } from '../../types/index.js';
2
+ import type { MagicTraySide } from '../../types/index.js';
3
3
  type UseTrayDragArgs = {
4
4
  id: MaybeRef<string>;
5
5
  elRef: Ref<HTMLElement | null>;
6
6
  };
7
7
  export declare function useTrayDrag(args: UseTrayDragArgs): {
8
- draggableSides: import("vue").ComputedRef<TraySide[]>;
8
+ draggableSides: import("vue").ComputedRef<MagicTraySide[]>;
9
9
  clipPath: import("vue").ComputedRef<string>;
10
- handleStyle: (side: TraySide) => {
10
+ handleStyle: (side: MagicTraySide) => {
11
11
  top: string;
12
12
  left: string;
13
13
  right: string;
@@ -33,8 +33,9 @@ export declare function useTrayDrag(args: UseTrayDragArgs): {
33
33
  left?: undefined;
34
34
  };
35
35
  hasDragged: import("vue").ComputedRef<boolean>;
36
- dimension: (side: TraySide) => number;
37
- onHandlePointerdown: (side: TraySide, e: PointerEvent) => void;
38
- onHandleTouchstart: (side: TraySide, e: TouchEvent) => void;
36
+ dimension: (side: MagicTraySide) => number;
37
+ onHandlePointerdown: (side: MagicTraySide, e: PointerEvent) => void;
38
+ onHandleTouchstart: (side: MagicTraySide, e: TouchEvent) => void;
39
+ onHandleClick: (e: MouseEvent) => void;
39
40
  };
40
41
  export {};
@@ -65,6 +65,7 @@ export function useTrayDrag(args) {
65
65
  return points.length ? snapPointsMap(side)[points[0]] : void 0;
66
66
  }
67
67
  let lastPendingTarget = void 0;
68
+ let suppressClick = false;
68
69
  let cancelPointerup = void 0;
69
70
  let cancelPointermove = void 0;
70
71
  let cancelPointercancel = void 0;
@@ -79,12 +80,12 @@ export function useTrayDrag(args) {
79
80
  const threshold = computed(() => state.options.threshold);
80
81
  const disabled = computed(() => state.options.disabled);
81
82
  const snapMode = computed(() => state.options.snap.mode);
82
- const instant = computed(() => state.options.snap.instant);
83
+ const dragMode = computed(() => state.options.drag.mode);
83
84
  function snapReference(side) {
84
85
  return snapMode.value === "step" ? state.lastDragged[side] : state.dragged[side];
85
86
  }
86
- function isInstant(side) {
87
- return typeof instant.value === "boolean" ? instant.value : instant.value?.[side] ?? false;
87
+ function isSnapDrag(side) {
88
+ return typeof dragMode.value === "string" ? dragMode.value === "snap" : (dragMode.value?.[side] ?? "free") === "snap";
88
89
  }
89
90
  const hasDragged = computed(() => {
90
91
  const side = state.draggingSide;
@@ -203,7 +204,7 @@ export function useTrayDrag(args) {
203
204
  state.relDirection[side] = newInset < prev ? "below" : "above";
204
205
  state.dragged[side] = newInset;
205
206
  }
206
- function setInstant(side, coord) {
207
+ function snapDragged(side, coord) {
207
208
  const inset = computeInset(side, coord);
208
209
  const target = findClosestSnapPoint({ side, value: inset });
209
210
  if (target === void 0 || target === state.snapped[side]) {
@@ -297,8 +298,8 @@ export function useTrayDrag(args) {
297
298
  e.stopImmediatePropagation();
298
299
  e.stopPropagation();
299
300
  const coord = isVertical(side) ? e.clientY : e.clientX;
300
- if (isInstant(side)) {
301
- setInstant(side, coord);
301
+ if (isSnapDrag(side)) {
302
+ snapDragged(side, coord);
302
303
  } else {
303
304
  setDragged(side, coord);
304
305
  checkMomentum(side);
@@ -314,8 +315,8 @@ export function useTrayDrag(args) {
314
315
  function onPointerup(e) {
315
316
  const side = state.draggingSide;
316
317
  if (side) {
317
- const isStaticClick = !hasDragged.value;
318
- if (!isInstant(side)) {
318
+ suppressClick = hasDragged.value;
319
+ if (!isSnapDrag(side)) {
319
320
  settle(side);
320
321
  }
321
322
  emitter.emit("afterDrag", {
@@ -323,13 +324,6 @@ export function useTrayDrag(args) {
323
324
  side,
324
325
  value: state.dragged[side]
325
326
  });
326
- if (isStaticClick) {
327
- emitter.emit("staticClick", {
328
- id: toValue(id),
329
- side,
330
- value: state.dragged[side]
331
- });
332
- }
333
327
  }
334
328
  resetDragState();
335
329
  resetListeners();
@@ -350,8 +344,8 @@ export function useTrayDrag(args) {
350
344
  e.preventDefault();
351
345
  }
352
346
  const coord = isVertical(side) ? firstTouch.clientY : firstTouch.clientX;
353
- if (isInstant(side)) {
354
- setInstant(side, coord);
347
+ if (isSnapDrag(side)) {
348
+ snapDragged(side, coord);
355
349
  } else {
356
350
  setDragged(side, coord);
357
351
  checkMomentum(side);
@@ -367,8 +361,8 @@ export function useTrayDrag(args) {
367
361
  function onTouchend() {
368
362
  const side = state.draggingSide;
369
363
  if (side) {
370
- const isStaticClick = !hasDragged.value;
371
- if (!isInstant(side)) {
364
+ suppressClick = hasDragged.value;
365
+ if (!isSnapDrag(side)) {
372
366
  settle(side);
373
367
  }
374
368
  emitter.emit("afterDrag", {
@@ -376,13 +370,6 @@ export function useTrayDrag(args) {
376
370
  side,
377
371
  value: state.dragged[side]
378
372
  });
379
- if (isStaticClick) {
380
- emitter.emit("staticClick", {
381
- id: toValue(id),
382
- side,
383
- value: state.dragged[side]
384
- });
385
- }
386
373
  }
387
374
  resetDragState();
388
375
  resetListeners();
@@ -395,6 +382,7 @@ export function useTrayDrag(args) {
395
382
  state.magnetic[side] = 0;
396
383
  state.lastDragged[side] = state.dragged[side];
397
384
  lastPendingTarget = void 0;
385
+ suppressClick = false;
398
386
  pointerdownTarget = target;
399
387
  switch (side) {
400
388
  case "top":
@@ -464,6 +452,13 @@ export function useTrayDrag(args) {
464
452
  cancelTouchcancel = useEventListener(document, "touchcancel", onTouchend);
465
453
  onTouchmove(e);
466
454
  }
455
+ function onHandleClick(e) {
456
+ if (suppressClick) {
457
+ e.stopPropagation();
458
+ e.preventDefault();
459
+ }
460
+ suppressClick = false;
461
+ }
467
462
  async function snapToCallback(payload) {
468
463
  const { snapPoint } = payload;
469
464
  if (payload.id !== toValue(id) || typeof snapPoint !== "object" || Array.isArray(snapPoint)) {
@@ -567,6 +562,7 @@ export function useTrayDrag(args) {
567
562
  hasDragged,
568
563
  dimension,
569
564
  onHandlePointerdown,
570
- onHandleTouchstart
565
+ onHandleTouchstart,
566
+ onHandleClick
571
567
  };
572
568
  }
@@ -1,9 +1,9 @@
1
1
  import { type Ref, type ShallowRef, type MaybeRef, type ComponentPublicInstance } from 'vue';
2
- import type { TrayState, TraySide } from '../../types/index.js';
2
+ import type { TrayState, MagicTraySide } from '../../types/index.js';
3
3
  type UseTrayMagnetismArgs = {
4
4
  id: MaybeRef<string>;
5
5
  elRef: Ref<HTMLElement | null>;
6
- handleRefs: Record<TraySide, Readonly<ShallowRef<ComponentPublicInstance[] | null>>>;
6
+ handleRefs: Record<MagicTraySide, Readonly<ShallowRef<ComponentPublicInstance[] | null>>>;
7
7
  state: TrayState;
8
8
  };
9
9
  export declare function useTrayMagnetism(args: UseTrayMagnetismArgs): {};
@@ -1,34 +1,34 @@
1
1
  import { type MaybeRef } from 'vue';
2
- import type { TrayState, TraySide, TraySnapPoint } from '../../types/index.js';
2
+ import type { TrayState, MagicTraySide, MagicTraySnapPoint } from '../../types/index.js';
3
3
  type UseTraySnapArgs = {
4
4
  id: MaybeRef<string>;
5
5
  state: TrayState;
6
6
  };
7
7
  type SnapToArgs = {
8
- side: TraySide;
9
- snapPoint: TraySnapPoint;
8
+ side: MagicTraySide;
9
+ snapPoint: MagicTraySnapPoint;
10
10
  interpolate: boolean;
11
11
  duration?: number;
12
12
  };
13
13
  type InterpolateDraggedArgs = {
14
- side: TraySide;
14
+ side: MagicTraySide;
15
15
  to: number;
16
16
  duration?: number;
17
17
  easing?: (t: number) => number;
18
18
  };
19
19
  type FindClosestSnapPointArgs = {
20
- side: TraySide;
20
+ side: MagicTraySide;
21
21
  value: number;
22
22
  direction?: 'below' | 'above' | 'absolute';
23
23
  };
24
24
  export declare function useTraySnap(args: UseTraySnapArgs): {
25
- dimension: (side: TraySide) => number;
26
- padding: (side: TraySide) => number;
27
- contentExtent: (side: TraySide) => number;
28
- maxInset: (side: TraySide) => number;
29
- mapSnapPoint: (side: TraySide, snapPoint: TraySnapPoint) => number | undefined;
30
- mappedSnapPoints: (side: TraySide) => any[];
31
- snapPointsMap: (side: TraySide) => Record<number, TraySnapPoint>;
25
+ dimension: (side: MagicTraySide) => number;
26
+ padding: (side: MagicTraySide) => number;
27
+ contentExtent: (side: MagicTraySide) => number;
28
+ maxInset: (side: MagicTraySide) => number;
29
+ mapSnapPoint: (side: MagicTraySide, snapPoint: MagicTraySnapPoint) => number | undefined;
30
+ mappedSnapPoints: (side: MagicTraySide) => any[];
31
+ snapPointsMap: (side: MagicTraySide) => Record<number, MagicTraySnapPoint>;
32
32
  findClosestSnapPoint: (args: FindClosestSnapPointArgs) => number | undefined;
33
33
  interpolateDragged: (args: InterpolateDraggedArgs) => void;
34
34
  snapTo: (args: SnapToArgs) => Promise<void>;
@@ -1,6 +1,6 @@
1
- import type { TraySide } from '../../types/index.js';
1
+ import type { MagicTraySide } from '../../types/index.js';
2
2
  export declare function useTrayUtils(): {
3
3
  clampWithOvershoot: (value: number, min: number, max: number, outer: number, inner: number) => number;
4
- isVertical: (side: TraySide) => side is "top" | "bottom";
5
- oppositeSide: (side: TraySide) => TraySide;
4
+ isVertical: (side: MagicTraySide) => side is "top" | "bottom";
5
+ oppositeSide: (side: MagicTraySide) => MagicTraySide;
6
6
  };
@@ -1,9 +1,9 @@
1
1
  import { type MaybeRef } from 'vue';
2
- import type { TraySide, TraySnapPoint, MagicTrayOptions } from '../types/index.js';
2
+ import type { MagicTraySide, MagicTraySnapPoint, MagicTrayOptions } from '../types/index.js';
3
3
  export declare function useMagicTray(id: MaybeRef<string>, options?: MagicTrayOptions): {
4
4
  progress: import("vue").Ref<import("../types/index.js").TraySideRecord<number>, import("../types/index.js").TraySideRecord<number>>;
5
- activeSnapPoint: import("vue").Ref<Partial<Record<TraySide, TraySnapPoint>>, Partial<Record<TraySide, TraySnapPoint>>>;
5
+ activeSnapPoint: import("vue").Ref<Partial<Record<MagicTraySide, MagicTraySnapPoint>>, Partial<Record<MagicTraySide, MagicTraySnapPoint>>>;
6
6
  state: import("../types/index.js").TrayState;
7
- snapTo: (side: TraySide, snapPoint: TraySnapPoint, duration?: number) => void;
7
+ snapTo: (side: MagicTraySide, snapPoint: MagicTraySnapPoint, duration?: number) => void;
8
8
  };
9
9
  export type UseMagicTrayReturn = ReturnType<typeof useMagicTray>;
@@ -1,20 +1,21 @@
1
1
  import type { RequireAllNested } from '@maas/vue-equipment/utils';
2
2
  import type { EasingKey } from '@maas/vue-equipment/composables/useEasings';
3
- export type TraySide = 'top' | 'right' | 'bottom' | 'left';
4
- export type TraySnapPoint = number | `${number}px`;
5
- export interface TraySnapPointPayload {
6
- side: TraySide;
7
- point: TraySnapPoint;
3
+ export type MagicTraySide = 'top' | 'right' | 'bottom' | 'left';
4
+ export type MagicTraySnapPoint = number | `${number}px`;
5
+ export interface MagicTraySnapPointPayload {
6
+ side: MagicTraySide;
7
+ point: MagicTraySnapPoint;
8
8
  }
9
- export interface TraySidePayload {
10
- side: TraySide;
9
+ export interface MagicTraySidePayload {
10
+ side: MagicTraySide;
11
11
  value: number;
12
12
  }
13
- export type TraySnapMode = 'closest' | 'step';
14
- export type TraySnapPoints = Partial<Record<TraySide, TraySnapPoint[]>>;
13
+ export type MagicTraySnapMode = 'closest' | 'step';
14
+ export type MagicTrayDragMode = 'free' | 'snap';
15
+ export type TraySnapPoints = Partial<Record<MagicTraySide, MagicTraySnapPoint[]>>;
15
16
  export type TrayMagneticDirection = 'inner' | 'outer' | 'both';
16
- export type TrayMagneticSide = Partial<Record<TraySnapPoint, TrayMagneticDirection>>;
17
- export type TrayMagneticSides = false | Partial<Record<TraySide, TrayMagneticSide>>;
17
+ export type TrayMagneticSide = Partial<Record<MagicTraySnapPoint, TrayMagneticDirection>>;
18
+ export type TrayMagneticSides = false | Partial<Record<MagicTraySide, TrayMagneticSide>>;
18
19
  export type TrayMagneticRadius = number | {
19
20
  start?: number;
20
21
  stop?: number;
@@ -26,16 +27,18 @@ export interface TrayMagnetism {
26
27
  easing?: EasingKey;
27
28
  virtual?: boolean;
28
29
  }
29
- export type TraySideRecord<T> = Record<TraySide, T>;
30
- export type TrayTransformAxis = 'both' | 'x' | 'y';
30
+ export type TraySideRecord<T> = Record<MagicTraySide, T>;
31
+ export type MagicTrayTransformAxis = 'both' | 'x' | 'y';
31
32
  export interface MagicTrayOptions {
32
33
  tag?: 'div' | 'dialog' | 'main' | 'section' | 'article' | 'aside' | 'nav';
33
34
  snapPoints?: TraySnapPoints;
34
35
  snap?: {
35
- mode?: TraySnapMode;
36
- instant?: boolean | Partial<Record<TraySide, boolean>>;
36
+ mode?: MagicTraySnapMode;
37
37
  };
38
- handles?: boolean | Partial<Record<TraySide, boolean>>;
38
+ drag?: {
39
+ mode?: MagicTrayDragMode | Partial<Record<MagicTraySide, MagicTrayDragMode>>;
40
+ };
41
+ handles?: boolean | Partial<Record<MagicTraySide, boolean>>;
39
42
  magnetism?: TrayMagnetism;
40
43
  threshold?: {
41
44
  lock?: number;
@@ -49,7 +52,7 @@ export interface MagicTrayOptions {
49
52
  };
50
53
  };
51
54
  initial?: {
52
- snapPoints?: Partial<Record<TraySide, TraySnapPoint>>;
55
+ snapPoints?: Partial<Record<MagicTraySide, MagicTraySnapPoint>>;
53
56
  transition?: boolean;
54
57
  };
55
58
  disabled?: boolean;
@@ -57,6 +60,7 @@ export interface MagicTrayOptions {
57
60
  }
58
61
  export type RequiredMagicTrayOptions = Required<MagicTrayOptions> & {
59
62
  snap: Required<MagicTrayOptions['snap']>;
63
+ drag: Required<MagicTrayOptions['drag']>;
60
64
  magnetism: Required<TrayMagnetism>;
61
65
  threshold: Required<MagicTrayOptions['threshold']>;
62
66
  animation: RequireAllNested<NonNullable<MagicTrayOptions['animation']>>;
@@ -66,7 +70,7 @@ export interface TrayState {
66
70
  refCount: number;
67
71
  dragStart: Date | undefined;
68
72
  dragging: boolean;
69
- draggingSide: TraySide | undefined;
73
+ draggingSide: MagicTraySide | undefined;
70
74
  interpolateTo: number | undefined;
71
75
  origin: number;
72
76
  dragged: TraySideRecord<number>;
@@ -74,7 +78,7 @@ export interface TrayState {
74
78
  snapped: TraySideRecord<number>;
75
79
  lastDragged: TraySideRecord<number>;
76
80
  relDirection: TraySideRecord<'below' | 'above' | 'absolute'>;
77
- activeSnapPoint: Partial<Record<TraySide, TraySnapPoint>>;
81
+ activeSnapPoint: Partial<Record<MagicTraySide, MagicTraySnapPoint>>;
78
82
  progress: TraySideRecord<number>;
79
83
  overshoot: {
80
84
  outer: TraySideRecord<number>;
@@ -83,42 +87,39 @@ export interface TrayState {
83
87
  elRect: DOMRect | undefined;
84
88
  options: RequiredMagicTrayOptions;
85
89
  }
86
- export interface TrayWillSnapToPayload {
90
+ export interface MagicTrayWillSnapToPayload {
87
91
  id: string;
88
- side: TraySide;
89
- snapPoint: TraySnapPoint;
92
+ side: MagicTraySide;
93
+ snapPoint: MagicTraySnapPoint;
90
94
  }
91
95
  export type TrayEvents = {
92
96
  beforeSnap: {
93
97
  id: string;
94
- snapPoint: TraySnapPointPayload;
98
+ snapPoint: MagicTraySnapPointPayload;
95
99
  };
96
100
  snapTo: {
97
101
  id: string;
98
- snapPoint: TraySnapPointPayload;
102
+ snapPoint: MagicTraySnapPointPayload;
99
103
  duration?: number;
100
104
  };
101
105
  afterSnap: {
102
106
  id: string;
103
- snapPoint: TraySnapPointPayload;
107
+ snapPoint: MagicTraySnapPointPayload;
104
108
  };
105
109
  beforeDrag: {
106
110
  id: string;
107
- } & TraySidePayload;
111
+ } & MagicTraySidePayload;
108
112
  drag: {
109
113
  id: string;
110
- } & TraySidePayload;
114
+ } & MagicTraySidePayload;
111
115
  afterDrag: {
112
116
  id: string;
113
- } & TraySidePayload;
114
- staticClick: {
115
- id: string;
116
- } & TraySidePayload;
117
+ } & MagicTraySidePayload;
117
118
  progress: {
118
119
  id: string;
119
- } & TraySidePayload;
120
+ } & MagicTraySidePayload;
120
121
  magnet: {
121
122
  id: string;
122
- } & TraySidePayload;
123
- willSnapTo: TrayWillSnapToPayload;
123
+ } & MagicTraySidePayload;
124
+ willSnapTo: MagicTrayWillSnapToPayload;
124
125
  };
@@ -5,8 +5,10 @@ const defaultOptions = {
5
5
  bottom: [0, 0.5, 1]
6
6
  },
7
7
  snap: {
8
- mode: "closest",
9
- instant: false
8
+ mode: "closest"
9
+ },
10
+ drag: {
11
+ mode: "free"
10
12
  },
11
13
  handles: true,
12
14
  magnetism: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment",
3
3
  "description": "Our Frontend Toolkit, Free and Open Source",
4
- "version": "1.0.0-beta.76",
4
+ "version": "1.0.0-beta.78",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Robin Scholz",