@maas/vue-equipment 1.0.0-beta.6 → 1.0.0-beta.8

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 (141) hide show
  1. package/dist/composables/index.d.ts +5 -5
  2. package/dist/composables/index.js +14 -8
  3. package/dist/composables/index.js.map +1 -1
  4. package/dist/nuxt/module.json +1 -1
  5. package/dist/nuxt/module.mjs +2 -2
  6. package/dist/plugins/.turbo/turbo-lint.log +2 -2
  7. package/dist/plugins/MagicAccordion/demo/data/footer.json +1 -1
  8. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +3 -3
  9. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +2 -2
  10. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +15 -13
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +6 -157
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +2 -1
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +4 -2
  14. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  15. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  16. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +11 -4
  17. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +32 -0
  18. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +0 -4
  19. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +3 -8
  20. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +5 -7
  21. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +3 -87
  22. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +7 -7
  23. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue.d.ts +1 -4
  24. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +6 -5
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +3 -157
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +3 -3
  27. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  28. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  29. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  30. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  31. package/dist/plugins/MagicCommand/src/types/index.d.ts +1 -1
  32. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +3 -3
  33. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +3 -3
  34. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  35. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +10 -12
  36. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +4 -25
  37. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  38. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +4 -4
  39. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  40. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +3 -3
  41. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +12 -15
  42. package/dist/plugins/MagicDraggable/src/types/index.d.ts +1 -1
  43. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +20 -21
  44. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +188 -0
  45. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  46. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  47. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  48. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  49. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  50. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  51. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  52. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  53. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  54. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +15 -15
  55. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +25 -0
  56. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  57. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  58. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +27 -0
  59. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +3 -6
  60. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +56 -0
  61. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +5 -7
  62. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +53 -0
  63. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +1 -12
  64. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +3 -8
  65. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +6 -6
  66. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +1 -85
  67. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +1 -1
  68. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +2 -2
  69. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +3 -4
  70. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +3 -157
  71. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +3 -3
  72. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  73. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  74. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  75. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  76. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  77. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  78. package/dist/plugins/MagicModal/src/components/MagicModal.vue +6 -6
  79. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +60 -0
  80. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  81. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +13 -13
  82. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -5
  83. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  84. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  85. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +14 -8
  86. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue.d.ts +1 -4
  87. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +29 -29
  88. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +34 -0
  89. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -1
  90. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +19 -8
  91. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -4
  92. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +35 -0
  93. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +5 -5
  94. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +3 -4
  95. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +6 -11
  96. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +1 -1
  97. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +3 -4
  98. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue.d.ts +1 -4
  99. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +23 -24
  100. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +73 -0
  101. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.vue.d.ts +1 -1
  102. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.vue.d.ts +1 -1
  103. package/dist/plugins/MagicPlayer/src/components/icons/Pause.vue.d.ts +1 -1
  104. package/dist/plugins/MagicPlayer/src/components/icons/Play.vue.d.ts +1 -1
  105. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.vue.d.ts +1 -1
  106. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.vue.d.ts +1 -1
  107. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue.d.ts +1 -1
  108. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +2 -2
  109. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +3 -3
  110. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +10 -10
  111. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +15 -9
  112. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +13 -13
  113. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +18 -11
  114. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +3 -3
  115. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +3 -3
  116. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +6 -6
  117. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +4 -4
  118. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +20 -20
  119. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +17 -8
  120. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +4 -10
  121. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +7 -7
  122. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +4 -10
  123. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +3 -3
  124. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +17 -9
  125. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +4 -9
  126. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  127. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +3 -3
  128. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +8 -3
  129. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  130. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +9 -10
  131. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -59
  132. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +5 -8
  133. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +3 -8
  134. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +22 -22
  135. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  136. package/dist/plugins/MagicToast/src/types/index.d.ts +1 -1
  137. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  138. package/dist/utils/index.d.ts +7 -3
  139. package/dist/utils/index.js +25 -0
  140. package/dist/utils/index.js.map +1 -1
  141. package/package.json +3 -3
@@ -3,10 +3,14 @@ import { defineComponent as _defineComponent } from "vue";
3
3
  import { unref as _unref, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeStyle as _normalizeStyle, withCtx as _withCtx, createBlock as _createBlock, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
4
4
  const _hoisted_1 = ["data-id", "data-dragging", "data-disabled"];
5
5
  const _hoisted_2 = {
6
+ ref: "wrapper",
7
+ class: "magic-draggable__wrapper"
8
+ };
9
+ const _hoisted_3 = {
6
10
  key: 0,
7
11
  class: "magic-draggable__overlay"
8
12
  };
9
- import { ref, computed, toValue, toRefs } from "vue";
13
+ import { useTemplateRef, computed, toValue, toRefs } from "vue";
10
14
  import { defu } from "defu";
11
15
  import { useDraggableDrag } from "../composables/private/useDraggableDrag";
12
16
  import { useDraggableState } from "../composables/private/useDraggableState";
@@ -22,8 +26,8 @@ export default /* @__PURE__ */ _defineComponent({
22
26
  },
23
27
  setup(__props) {
24
28
  const mappedOptions = defu(__props.options, defaultOptions);
25
- const elRef = ref(void 0);
26
- const wrapperRef = ref(void 0);
29
+ const elRef = useTemplateRef("el");
30
+ const wrapperRef = useTemplateRef("wrapper");
27
31
  const { initializeState } = useDraggableState(__props.id);
28
32
  const state = initializeState();
29
33
  const { dragging } = toRefs(state);
@@ -57,7 +61,6 @@ export default /* @__PURE__ */ _defineComponent({
57
61
  }
58
62
  return (_ctx, _cache) => {
59
63
  return _openBlock(), _createElementBlock("div", _mergeProps({
60
- ref: "drawerRef",
61
64
  "data-id": toValue(_ctx.id),
62
65
  "data-dragging": _unref(dragging),
63
66
  "data-disabled": disabled.value,
@@ -65,15 +68,10 @@ export default /* @__PURE__ */ _defineComponent({
65
68
  }, _ctx.$attrs), [
66
69
  _createElementVNode(
67
70
  "div",
68
- {
69
- ref_key: "wrapperRef",
70
- ref: wrapperRef,
71
- class: "magic-draggable__wrapper"
72
- },
71
+ _hoisted_2,
73
72
  [
74
73
  (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(mappedOptions).tag), {
75
- ref_key: "elRef",
76
- ref: elRef,
74
+ ref: "el",
77
75
  class: "magic-draggable__drag",
78
76
  style: _normalizeStyle(_unref(style)),
79
77
  onPointerdown: guardedPointerdown,
@@ -81,7 +79,7 @@ export default /* @__PURE__ */ _defineComponent({
81
79
  }, {
82
80
  default: _withCtx(() => [
83
81
  _renderSlot(_ctx.$slots, "default"),
84
- _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_2)) : _createCommentVNode("v-if", true)
82
+ _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_3)) : _createCommentVNode("v-if", true)
85
83
  ]),
86
84
  _: 3
87
85
  /* FORWARDED */
@@ -68,7 +68,7 @@ declare const mappedOptions: Omit<MagicDraggableOptions, keyof MagicDraggableOpt
68
68
  easing?: (t: number) => number;
69
69
  };
70
70
  });
71
- tag: "dialog" | "div";
71
+ tag: "div" | "dialog";
72
72
  scrollLock: boolean | {
73
73
  padding: boolean;
74
74
  };
@@ -77,40 +77,19 @@ declare const mappedOptions: Omit<MagicDraggableOptions, keyof MagicDraggableOpt
77
77
  snapPoint?: import("../types").DraggableSnapPoint;
78
78
  };
79
79
  };
80
- declare const elRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
81
- declare const wrapperRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
82
80
  declare const dragging: import("vue").Ref<boolean, boolean>;
83
81
  declare const disabled: import("vue").ComputedRef<boolean>;
84
82
  declare const style: import("vue").ComputedRef<string>, hasDragged: import("vue").ComputedRef<boolean>;
85
83
  declare function guardedPointerdown(event: PointerEvent): void;
86
84
  declare function guardedClick(event: PointerEvent): void;
87
85
  declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
88
- declare const __VLS_0: "dialog" | "div";
89
- declare const __VLS_2: {
90
- __ctx?: {
91
- attrs?: any;
92
- expose?: any;
93
- slots?: any;
94
- emit?: any;
95
- props?: {} & Record<string, unknown>;
96
- };
97
- };
98
- declare var __VLS_6: (Parameters<NonNullable<(typeof __VLS_5)["expose"]>>[0] | null);
99
- declare var __VLS_10: {};
100
- declare var __VLS_5: __VLS_PickFunctionalComponentCtx<typeof __VLS_0, typeof __VLS_2>;
86
+ declare var __VLS_12: {};
101
87
  type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
102
- default?: (props: typeof __VLS_10) => any;
88
+ default?: (props: typeof __VLS_12) => any;
103
89
  }>;
104
- type __VLS_TemplateRefs = {
105
- drawerRef: typeof __VLS_nativeElements['div'];
106
- wrapperRef: typeof __VLS_nativeElements['div'];
107
- elRef: typeof __VLS_6;
108
- };
109
90
  declare const __VLS_self: import("vue").DefineComponent<MagicDraggableProps, {
110
91
  toValue: typeof toValue;
111
92
  mappedOptions: typeof mappedOptions;
112
- elRef: typeof elRef;
113
- wrapperRef: typeof wrapperRef;
114
93
  dragging: typeof dragging;
115
94
  disabled: typeof disabled;
116
95
  style: typeof style;
@@ -118,7 +97,7 @@ declare const __VLS_self: import("vue").DefineComponent<MagicDraggableProps, {
118
97
  guardedPointerdown: typeof guardedPointerdown;
119
98
  guardedClick: typeof guardedClick;
120
99
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
121
- declare const __VLS_component: import("vue").DefineComponent<MagicDraggableProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, __VLS_TemplateRefs, any>;
100
+ declare const __VLS_component: import("vue").DefineComponent<MagicDraggableProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
122
101
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
123
102
  export default _default;
124
103
  type __VLS_WithSlots<T, S> = T & {
@@ -2,8 +2,8 @@ import { type Ref, type MaybeRef } from 'vue';
2
2
  import type { DraggableDefaultOptions } from '../../types/index.js';
3
3
  type UseDraggableDragArgs = {
4
4
  id: MaybeRef<string>;
5
- elRef: Ref<HTMLElement | undefined>;
6
- wrapperRef: Ref<HTMLDivElement | undefined>;
5
+ elRef: Ref<HTMLElement | null>;
6
+ wrapperRef: Ref<HTMLDivElement | null>;
7
7
  threshold: MaybeRef<DraggableDefaultOptions['threshold']>;
8
8
  snapPoints: MaybeRef<DraggableDefaultOptions['snapPoints']>;
9
9
  animation: MaybeRef<DraggableDefaultOptions['animation']>;
@@ -1,5 +1,5 @@
1
1
  import {
2
- ref,
2
+ shallowRef,
3
3
  computed,
4
4
  toValue,
5
5
  nextTick,
@@ -58,8 +58,8 @@ export function useDraggableDrag(args) {
58
58
  let cancelPointerup = void 0;
59
59
  let cancelPointermove = void 0;
60
60
  let cancelTouchend = void 0;
61
- const momentumThresholdReached = ref(false);
62
- const distanceThresholdReached = ref(false);
61
+ const momentumThresholdReached = shallowRef(false);
62
+ const distanceThresholdReached = shallowRef(false);
63
63
  const style = computed(
64
64
  () => `transform: translate3d(${draggedX.value}px, ${draggedY.value}px, 0)`
65
65
  );
@@ -329,10 +329,10 @@ export function useDraggableDrag(args) {
329
329
  function onPointerdown(e) {
330
330
  const scrollLockValue = toValue(scrollLock);
331
331
  if (scrollLockValue) {
332
- lockScroll();
333
332
  if (typeof scrollLockValue === "object" && scrollLockValue.padding) {
334
333
  addScrollLockPadding();
335
334
  }
335
+ lockScroll();
336
336
  }
337
337
  if (dragging.value) {
338
338
  return;
@@ -1,7 +1,11 @@
1
- import { ref } from "vue";
1
+ import { shallowRef, ref } from "vue";
2
2
  import { useScrollLock } from "@vueuse/core";
3
- import { matchClass } from "@maas/vue-equipment/utils";
4
- const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : ref(false);
3
+ import {
4
+ matchClass,
5
+ scrollbarWidth,
6
+ scrollbarGutterSupport
7
+ } from "@maas/vue-equipment/utils";
8
+ const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : shallowRef(false);
5
9
  export function useDraggableScrollLock() {
6
10
  const positionFixedElements = ref([]);
7
11
  function lockScroll() {
@@ -13,24 +17,40 @@ export function useDraggableScrollLock() {
13
17
  function addScrollLockPadding() {
14
18
  if (typeof window === "undefined") return;
15
19
  const exclude = new RegExp(/magic-draggable/);
16
- const scrollbarWidth = window.innerWidth - document.body.offsetWidth;
17
- document.body.style.setProperty("--scrollbar-width", `${scrollbarWidth}px`);
18
- document.body.style.paddingRight = "var(--scrollbar-width)";
20
+ document.body.style.setProperty(
21
+ "--scrollbar-width",
22
+ `${scrollbarWidth()}px`
23
+ );
19
24
  positionFixedElements.value = [
20
25
  ...document.body.getElementsByTagName("*")
21
26
  ].filter(
22
- (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && !matchClass(x, exclude)
23
- );
24
- positionFixedElements.value.forEach(
25
- (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
27
+ (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && getComputedStyle(x, null).getPropertyValue("right") === "0px" && !matchClass(x, exclude)
26
28
  );
29
+ switch (scrollbarGutterSupport()) {
30
+ case true:
31
+ document.documentElement.style.scrollbarGutter = "stable";
32
+ positionFixedElements.value.forEach((elem) => {
33
+ elem.style.scrollbarGutter = "stable";
34
+ elem.style.overflow = "auto";
35
+ });
36
+ break;
37
+ case false:
38
+ document.body.style.paddingRight = "var(--scrollbar-width)";
39
+ positionFixedElements.value.forEach(
40
+ (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
41
+ );
42
+ break;
43
+ }
27
44
  }
28
45
  function removeScrollLockPadding() {
29
- document.body.style.paddingRight = "";
46
+ document.documentElement.style.scrollbarGutter = "";
30
47
  document.body.style.removeProperty("--scrollbar-width");
31
- positionFixedElements.value.forEach(
32
- (elem) => elem.style.paddingRight = ""
33
- );
48
+ document.body.style.paddingRight = "";
49
+ positionFixedElements.value.forEach((elem) => {
50
+ elem.style.paddingRight = "";
51
+ elem.style.scrollbarGutter = "";
52
+ elem.style.overflow = "";
53
+ });
34
54
  }
35
55
  return {
36
56
  lockScroll,
@@ -22,13 +22,13 @@ type SnapToArgs = {
22
22
  };
23
23
  export declare function useDraggableSnap(args: UseDraggableSnapArgs): {
24
24
  mappedSnapPoints: import("@vueuse/core").ComputedRefWithControl<Coordinates[]>;
25
- activeSnapPoint: Ref<("center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right") | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
25
+ activeSnapPoint: Ref<("center" | "right" | "left" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right") | ["center" | "right" | "left" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", offset?: {
26
26
  x?: number | undefined;
27
27
  y?: number | undefined;
28
- } | undefined] | undefined, "center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right" | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
28
+ } | undefined] | undefined, "center" | "right" | "left" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ["center" | "right" | "left" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", offset?: {
29
29
  x?: number;
30
30
  y?: number;
31
- } | undefined] | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
31
+ } | undefined] | ["center" | "right" | "left" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right", offset?: {
32
32
  x?: number | undefined;
33
33
  y?: number | undefined;
34
34
  } | undefined] | undefined>;
@@ -18,17 +18,14 @@ export function useDraggableSnap(args) {
18
18
  const snapPointsMap = computedWithControl(
19
19
  () => toValue(snapPoints),
20
20
  () => {
21
- const mapped = toValue(snapPoints).reduce(
22
- (acc, current) => {
23
- const key = mapSnapPoint(current);
24
- if (key) {
25
- const mappedKey = `x${key.x}y${key.y}`;
26
- acc[mappedKey] = current;
27
- }
28
- return acc;
29
- },
30
- {}
31
- );
21
+ const mapped = toValue(snapPoints).reduce((acc, current) => {
22
+ const key = mapSnapPoint(current);
23
+ if (key) {
24
+ const mappedKey = `x${key.x}y${key.y}`;
25
+ acc[mappedKey] = current;
26
+ }
27
+ return acc;
28
+ }, {});
32
29
  return mapped;
33
30
  }
34
31
  );
@@ -51,7 +48,7 @@ export function useDraggableSnap(args) {
51
48
  x: mappedOffset.x,
52
49
  y: mappedOffset.y
53
50
  };
54
- case "top-center":
51
+ case "top":
55
52
  return {
56
53
  x: wrapperRect.value.width / 2 + mappedOffset.x - elRect.value.width / 2,
57
54
  y: mappedOffset.y
@@ -61,7 +58,7 @@ export function useDraggableSnap(args) {
61
58
  x: wrapperRect.value.width - mappedOffset.x - elRect.value.width,
62
59
  y: mappedOffset.y
63
60
  };
64
- case "center-left":
61
+ case "left":
65
62
  return {
66
63
  x: mappedOffset.x,
67
64
  y: wrapperRect.value.height / 2 + mappedOffset.y - elRect.value.height / 2
@@ -71,7 +68,7 @@ export function useDraggableSnap(args) {
71
68
  x: wrapperRect.value.width / 2 - elRect.value.width / 2 + mappedOffset.x,
72
69
  y: wrapperRect.value.height / 2 - elRect.value.height / 2 + mappedOffset.y
73
70
  };
74
- case "center-right":
71
+ case "right":
75
72
  return {
76
73
  x: wrapperRect.value.width - mappedOffset.x - elRect.value.width,
77
74
  y: wrapperRect.value.height / 2 + mappedOffset.y - elRect.value.height / 2
@@ -81,7 +78,7 @@ export function useDraggableSnap(args) {
81
78
  x: mappedOffset.x,
82
79
  y: wrapperRect.value.height + mappedOffset.y - elRect.value.height
83
80
  };
84
- case "bottom-center":
81
+ case "bottom":
85
82
  return {
86
83
  x: wrapperRect.value.width / 2 + mappedOffset.x - elRect.value.width / 2,
87
84
  y: wrapperRect.value.height - mappedOffset.y - elRect.value.height
@@ -1,5 +1,5 @@
1
1
  import type { RequireAll } from '@maas/vue-equipment/utils';
2
- type Position = 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
2
+ type Position = 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right';
3
3
  export type Coordinates = {
4
4
  x: number;
5
5
  y: number;
@@ -2,13 +2,18 @@
2
2
  import { defineComponent as _defineComponent } from "vue";
3
3
  import { unref as _unref, renderSlot as _renderSlot, vShow as _vShow, withModifiers as _withModifiers, createElementVNode as _createElementVNode, withDirectives as _withDirectives, Transition as _Transition, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, resolveDynamicComponent as _resolveDynamicComponent, normalizeStyle as _normalizeStyle, createVNode as _createVNode, mergeProps as _mergeProps, Teleport as _Teleport } from "vue";
4
4
  const _hoisted_1 = ["data-id", "data-dragging", "data-wheeling", "data-disabled", "data-position"];
5
- const _hoisted_2 = { class: "magic-drawer__content" };
6
- const _hoisted_3 = {
5
+ const _hoisted_2 = {
6
+ ref: "wrapper",
7
+ class: "magic-drawer__wrapper"
8
+ };
9
+ const _hoisted_3 = { class: "magic-drawer__content" };
10
+ const _hoisted_4 = {
7
11
  key: 0,
8
12
  class: "magic-drawer__overlay"
9
13
  };
10
14
  import {
11
- ref,
15
+ useTemplateRef,
16
+ shallowRef,
12
17
  watch,
13
18
  computed,
14
19
  nextTick,
@@ -56,9 +61,9 @@ export default /* @__PURE__ */ _defineComponent({
56
61
  }
57
62
  });
58
63
  const mappedOptions = customDefu(__props.options, defaultOptions);
59
- const elRef = ref(void 0);
60
- const drawerRef = ref(void 0);
61
- const wrapperRef = ref(void 0);
64
+ const elRef = useTemplateRef("el");
65
+ const drawerRef = useTemplateRef("drawer");
66
+ const wrapperRef = useTemplateRef("wrapper");
62
67
  const {
63
68
  trapFocus,
64
69
  releaseFocus,
@@ -71,7 +76,7 @@ export default /* @__PURE__ */ _defineComponent({
71
76
  focusTrap: mappedOptions.focusTrap
72
77
  });
73
78
  const { isActive, open, close } = useMagicDrawer(__props.id);
74
- const overshoot = ref(0);
79
+ const overshoot = shallowRef(0);
75
80
  const {
76
81
  position,
77
82
  snapPoints,
@@ -109,9 +114,9 @@ export default /* @__PURE__ */ _defineComponent({
109
114
  const { initializeState, deleteState } = useDrawerState(__props.id);
110
115
  const state = initializeState();
111
116
  const { dragging, wheeling } = toRefs(state);
112
- const innerActive = ref(false);
113
- const wrapperActive = ref(false);
114
- const wasActive = ref(false);
117
+ const innerActive = shallowRef(false);
118
+ const wrapperActive = shallowRef(false);
119
+ const wasActive = shallowRef(false);
115
120
  const {
116
121
  onBeforeEnter,
117
122
  onEnter,
@@ -250,8 +255,7 @@ export default /* @__PURE__ */ _defineComponent({
250
255
  disabled: _unref(mappedOptions).teleport?.disabled
251
256
  }, [
252
257
  _createElementVNode("div", _mergeProps({
253
- ref_key: "drawerRef",
254
- ref: drawerRef,
258
+ ref: "drawer",
255
259
  class: "magic-drawer",
256
260
  "data-id": toValue(_ctx.id),
257
261
  "data-dragging": _unref(dragging),
@@ -285,11 +289,7 @@ export default /* @__PURE__ */ _defineComponent({
285
289
  }, 8, ["name"])) : _createCommentVNode("v-if", true),
286
290
  _createElementVNode(
287
291
  "div",
288
- {
289
- ref_key: "wrapperRef",
290
- ref: wrapperRef,
291
- class: "magic-drawer__wrapper"
292
- },
292
+ _hoisted_2,
293
293
  [
294
294
  _createVNode(_Transition, {
295
295
  name: contentTransition.value,
@@ -304,11 +304,10 @@ export default /* @__PURE__ */ _defineComponent({
304
304
  default: _withCtx(() => [
305
305
  _withDirectives(_createElementVNode(
306
306
  "div",
307
- _hoisted_2,
307
+ _hoisted_3,
308
308
  [
309
309
  (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(mappedOptions).tag), {
310
- ref_key: "elRef",
311
- ref: elRef,
310
+ ref: "el",
312
311
  class: "magic-drawer__drag",
313
312
  style: _normalizeStyle(_unref(style)),
314
313
  onPointerdown: guardedPointerdown,
@@ -316,7 +315,7 @@ export default /* @__PURE__ */ _defineComponent({
316
315
  }, {
317
316
  default: _withCtx(() => [
318
317
  _renderSlot(_ctx.$slots, "default"),
319
- _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_3)) : _createCommentVNode("v-if", true)
318
+ _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_4)) : _createCommentVNode("v-if", true)
320
319
  ]),
321
320
  _: 3
322
321
  /* FORWARDED */
@@ -0,0 +1,188 @@
1
+ import { toValue, type MaybeRef } from 'vue';
2
+ import type { MagicDrawerOptions } from '../types/index.js';
3
+ import '@maas/vue-equipment/utils/css/animations/fade-in.css';
4
+ import '@maas/vue-equipment/utils/css/animations/fade-out.css';
5
+ import '@maas/vue-equipment/utils/css/animations/slide-ltr-in.css';
6
+ import '@maas/vue-equipment/utils/css/animations/slide-rtl-in.css';
7
+ import '@maas/vue-equipment/utils/css/animations/slide-ttb-in.css';
8
+ import '@maas/vue-equipment/utils/css/animations/slide-btt-in.css';
9
+ import '@maas/vue-equipment/utils/css/animations/slide-ltr-out.css';
10
+ import '@maas/vue-equipment/utils/css/animations/slide-rtl-out.css';
11
+ import '@maas/vue-equipment/utils/css/animations/slide-ttb-out.css';
12
+ import '@maas/vue-equipment/utils/css/animations/slide-btt-out.css';
13
+ interface MagicDrawerProps {
14
+ id: MaybeRef<string>;
15
+ options?: MagicDrawerOptions;
16
+ }
17
+ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions> & Omit<import("../types/index").DrawerDefaultOptions, keyof MagicDrawerOptions> & {
18
+ threshold: ({
19
+ lock?: number;
20
+ distance?: number;
21
+ momentum?: number;
22
+ } & import("../../../../utils").RequireAll<{
23
+ lock?: number;
24
+ distance?: number;
25
+ momentum?: number;
26
+ }>) | (Omit<{
27
+ lock?: number;
28
+ distance?: number;
29
+ momentum?: number;
30
+ }, "lock" | "distance" | "momentum"> & Omit<{
31
+ lock?: number;
32
+ distance?: number;
33
+ momentum?: number;
34
+ } & import("../../../../utils").RequireAll<{
35
+ lock?: number;
36
+ distance?: number;
37
+ momentum?: number;
38
+ }>, "lock" | "distance" | "momentum"> & {
39
+ lock: number;
40
+ distance: number;
41
+ momentum: number;
42
+ });
43
+ transition: {
44
+ content?: string;
45
+ backdrop?: string;
46
+ };
47
+ disabled: boolean;
48
+ animation: ({
49
+ snap?: {
50
+ duration?: number;
51
+ easing?: (t: number) => number;
52
+ };
53
+ } & import("../../../../utils").RequireAll<{
54
+ snap?: {
55
+ duration?: number;
56
+ easing?: (t: number) => number;
57
+ };
58
+ }>) | (Omit<{
59
+ snap?: {
60
+ duration?: number;
61
+ easing?: (t: number) => number;
62
+ };
63
+ }, "snap"> & Omit<{
64
+ snap?: {
65
+ duration?: number;
66
+ easing?: (t: number) => number;
67
+ };
68
+ } & import("../../../../utils").RequireAll<{
69
+ snap?: {
70
+ duration?: number;
71
+ easing?: (t: number) => number;
72
+ };
73
+ }>, "snap"> & {
74
+ snap: {
75
+ duration?: number;
76
+ easing?: (t: number) => number;
77
+ };
78
+ });
79
+ backdrop: boolean;
80
+ tag: "div" | "dialog";
81
+ focusTrap: boolean | import("focus-trap").Options;
82
+ scrollLock: {
83
+ padding: boolean;
84
+ } | ((boolean | {
85
+ padding: boolean;
86
+ }) & import("../../../../utils").RequireAll<boolean | {
87
+ padding: boolean;
88
+ } | undefined>) | (Omit<{
89
+ padding: boolean;
90
+ }, "padding"> & Omit<false & import("../../../../utils").RequireAll<{
91
+ padding: boolean;
92
+ }>, "padding"> & {
93
+ padding: boolean;
94
+ }) | (Omit<{
95
+ padding: boolean;
96
+ }, "padding"> & Omit<true & import("../../../../utils").RequireAll<{
97
+ padding: boolean;
98
+ }>, "padding"> & {
99
+ padding: boolean;
100
+ }) | (Omit<{
101
+ padding: boolean;
102
+ }, "padding"> & Omit<{
103
+ padding: boolean;
104
+ } & false, "padding"> & {
105
+ padding: boolean;
106
+ }) | (Omit<{
107
+ padding: boolean;
108
+ }, "padding"> & Omit<{
109
+ padding: boolean;
110
+ } & true, "padding"> & {
111
+ padding: boolean;
112
+ });
113
+ teleport: {
114
+ target?: string;
115
+ disabled?: boolean;
116
+ };
117
+ keyListener: ({
118
+ close?: string[] | false;
119
+ } & import("../../../../utils").RequireAll<{
120
+ close?: string[] | false;
121
+ }>) | (Omit<{
122
+ close?: string[] | false;
123
+ }, "close"> & Omit<{
124
+ close?: string[] | false;
125
+ } & import("../../../../utils").RequireAll<{
126
+ close?: string[] | false;
127
+ }>, "close"> & {
128
+ close: (false | string[] | undefined) & (false | string[]);
129
+ });
130
+ position: "right" | "left" | "top" | "bottom";
131
+ snapPoints: import("../types/index").DrawerSnapPoint[];
132
+ initial: {
133
+ open?: boolean;
134
+ transition?: boolean;
135
+ snapPoint?: import("../types/index").DrawerSnapPoint;
136
+ };
137
+ enableMousewheel: boolean;
138
+ preventZoom: boolean;
139
+ preventDragClose: boolean;
140
+ };
141
+ declare const disabled: import("vue").ComputedRef<boolean>;
142
+ declare const style: import("vue").ComputedRef<string>, hasDragged: import("vue").ComputedRef<boolean>;
143
+ declare const dragging: import("vue").Ref<boolean, boolean>, wheeling: import("vue").Ref<boolean, boolean>;
144
+ declare const innerActive: import("vue").ShallowRef<boolean, boolean>;
145
+ declare const wrapperActive: import("vue").ShallowRef<boolean, boolean>;
146
+ declare const onBeforeEnter: () => void, onEnter: () => void, onAfterEnter: () => Promise<void>, onBeforeLeave: () => void, onLeave: () => void, onAfterLeave: () => void;
147
+ declare const backdropTransition: import("vue").ComputedRef<string | undefined>;
148
+ declare const contentTransition: import("vue").ComputedRef<string | undefined>;
149
+ declare function guardedPointerdown(event: PointerEvent): void;
150
+ declare function guardedClick(event: PointerEvent): void;
151
+ declare function guardedClose(): void;
152
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
153
+ declare var __VLS_9: {}, __VLS_35: {};
154
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
155
+ backdrop?: (props: typeof __VLS_9) => any;
156
+ } & {
157
+ default?: (props: typeof __VLS_35) => any;
158
+ }>;
159
+ declare const __VLS_self: import("vue").DefineComponent<MagicDrawerProps, {
160
+ toValue: typeof toValue;
161
+ mappedOptions: typeof mappedOptions;
162
+ disabled: typeof disabled;
163
+ style: typeof style;
164
+ hasDragged: typeof hasDragged;
165
+ dragging: typeof dragging;
166
+ wheeling: typeof wheeling;
167
+ innerActive: typeof innerActive;
168
+ wrapperActive: typeof wrapperActive;
169
+ onBeforeEnter: typeof onBeforeEnter;
170
+ onEnter: typeof onEnter;
171
+ onAfterEnter: typeof onAfterEnter;
172
+ onBeforeLeave: typeof onBeforeLeave;
173
+ onLeave: typeof onLeave;
174
+ onAfterLeave: typeof onAfterLeave;
175
+ backdropTransition: typeof backdropTransition;
176
+ contentTransition: typeof contentTransition;
177
+ guardedPointerdown: typeof guardedPointerdown;
178
+ guardedClick: typeof guardedClick;
179
+ guardedClose: typeof guardedClose;
180
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDrawerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
181
+ declare const __VLS_component: import("vue").DefineComponent<MagicDrawerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDrawerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
182
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
183
+ export default _default;
184
+ type __VLS_WithSlots<T, S> = T & {
185
+ new (): {
186
+ $slots: S;
187
+ };
188
+ };