@maas/vue-equipment 1.0.0-beta.12 → 1.0.0-beta.14

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 (96) hide show
  1. package/dist/nuxt/module.json +1 -1
  2. package/dist/plugins/.turbo/turbo-lint.log +2 -2
  3. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +65 -82
  4. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +2 -2
  5. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +24 -30
  6. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +65 -61
  7. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +1 -1
  8. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +41 -45
  9. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +1 -1
  10. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +137 -150
  11. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +1 -1
  12. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +45 -52
  13. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +80 -82
  14. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +1 -1
  15. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +40 -47
  16. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +68 -74
  17. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +22 -38
  18. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +95 -85
  19. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +1 -1
  20. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +41 -47
  21. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +1 -1
  22. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +41 -39
  23. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +2 -2
  24. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +23 -34
  25. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +40 -73
  26. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +1 -1
  27. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +70 -87
  28. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +7 -7
  29. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +262 -304
  30. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +12 -12
  31. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +100 -100
  32. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +41 -69
  33. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  34. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +54 -59
  35. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +2 -2
  36. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +188 -208
  37. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +3 -3
  38. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +181 -194
  39. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +91 -100
  40. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +1 -1
  41. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +83 -85
  42. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +79 -75
  43. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +1 -1
  44. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +106 -105
  45. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +1 -1
  46. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +54 -60
  47. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +1 -1
  48. package/dist/plugins/MagicModal/src/components/MagicModal.vue +136 -164
  49. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +1 -1
  50. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +53 -78
  51. package/dist/plugins/MagicPie/src/components/MagicPie.vue +147 -175
  52. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +51 -62
  53. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +101 -122
  54. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +8 -5
  55. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +35 -42
  56. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +101 -108
  57. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +49 -77
  58. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +3 -3
  59. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +18 -37
  60. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +1 -2
  61. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +45 -52
  62. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +5 -5
  63. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  64. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +74 -70
  65. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +171 -213
  66. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +8 -6
  67. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  68. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +6 -47
  69. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +4 -31
  70. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +147 -234
  71. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +1 -15
  72. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +17 -164
  73. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +0 -1
  74. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +6 -24
  75. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  76. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +56 -0
  77. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +0 -5
  78. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +7 -62
  79. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +32 -51
  80. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +47 -0
  81. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +5 -2
  82. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +10 -1
  83. package/dist/plugins/MagicPlayer/src/types/index.d.ts +29 -0
  84. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +49 -59
  85. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +63 -70
  86. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +29 -33
  87. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +59 -69
  88. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +80 -95
  89. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +52 -70
  90. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +2 -2
  91. package/package.json +4 -4
  92. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  93. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  94. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  95. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  96. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
@@ -1,23 +1,69 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
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
- const _hoisted_1 = ["data-id", "data-dragging", "data-wheeling", "data-disabled", "data-position"];
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 = {
11
- key: 0,
12
- class: "magic-drawer__overlay"
13
- };
1
+ <template>
2
+ <teleport
3
+ v-if="wrapperActive"
4
+ :to="mappedOptions.teleport?.target"
5
+ :disabled="mappedOptions.teleport?.disabled"
6
+ >
7
+ <div
8
+ ref="drawer"
9
+ class="magic-drawer"
10
+ :data-id="toValue(id)"
11
+ :data-dragging="dragging"
12
+ :data-wheeling="wheeling"
13
+ :data-disabled="disabled"
14
+ :data-position="mappedOptions.position"
15
+ v-bind="$attrs"
16
+ aria-modal="true"
17
+ >
18
+ <transition
19
+ v-if="mappedOptions.backdrop || !!$slots.backdrop"
20
+ :name="backdropTransition"
21
+ >
22
+ <div
23
+ v-show="innerActive"
24
+ class="magic-drawer__backdrop"
25
+ @click.self="guardedClose"
26
+ >
27
+ <slot name="backdrop" />
28
+ </div>
29
+ </transition>
30
+
31
+ <div ref="wrapper" class="magic-drawer__wrapper">
32
+ <transition
33
+ :name="contentTransition"
34
+ @before-leave="onBeforeLeave"
35
+ @leave="onLeave"
36
+ @after-leave="onAfterLeave"
37
+ @before-enter="onBeforeEnter"
38
+ @enter="onEnter"
39
+ @after-enter="onAfterEnter"
40
+ >
41
+ <div v-show="innerActive" class="magic-drawer__content">
42
+ <component
43
+ :is="mappedOptions.tag"
44
+ ref="el"
45
+ class="magic-drawer__drag"
46
+ :style="style"
47
+ @pointerdown="guardedPointerdown"
48
+ @click="guardedClick"
49
+ >
50
+ <slot />
51
+ <div v-if="hasDragged" class="magic-drawer__overlay" />
52
+ </component>
53
+ </div>
54
+ </transition>
55
+ </div>
56
+ </div>
57
+ </teleport>
58
+ </template>
59
+
60
+ <script setup>
14
61
  import {
15
62
  useTemplateRef,
16
63
  shallowRef,
17
64
  watch,
18
65
  computed,
19
66
  nextTick,
20
- toValue,
21
67
  onBeforeMount,
22
68
  onBeforeUnmount,
23
69
  onUnmounted,
@@ -44,300 +90,212 @@ import "@maas/vue-equipment/utils/css/animations/slide-ltr-out.css";
44
90
  import "@maas/vue-equipment/utils/css/animations/slide-rtl-out.css";
45
91
  import "@maas/vue-equipment/utils/css/animations/slide-ttb-out.css";
46
92
  import "@maas/vue-equipment/utils/css/animations/slide-btt-out.css";
47
- export default /* @__PURE__ */ _defineComponent({
48
- ...{
49
- inheritAttrs: false
50
- },
51
- __name: "MagicDrawer",
52
- props: {
53
- id: { type: null, required: true },
54
- options: { type: Object, required: false, default: () => ({}) }
93
+ defineOptions({
94
+ inheritAttrs: false
95
+ });
96
+ const customDefu = createDefu((obj, key, value) => {
97
+ if (key === "close" || key === "snapPoints") {
98
+ obj[key] = value;
99
+ return true;
100
+ }
101
+ });
102
+ const { options = {}, id } = defineProps({
103
+ id: {
104
+ type: null,
105
+ required: true
55
106
  },
56
- setup(__props) {
57
- const customDefu = createDefu((obj, key, value) => {
58
- if (key === "close" || key === "snapPoints") {
59
- obj[key] = value;
60
- return true;
61
- }
62
- });
63
- const mappedOptions = customDefu(__props.options, defaultOptions);
64
- const elRef = useTemplateRef("el");
65
- const drawerRef = useTemplateRef("drawer");
66
- const wrapperRef = useTemplateRef("wrapper");
67
- const {
68
- trapFocus,
69
- releaseFocus,
70
- lockScroll,
71
- unlockScroll,
72
- addScrollLockPadding,
73
- removeScrollLockPadding
74
- } = useDrawerDOM({
75
- focusTarget: drawerRef,
76
- focusTrap: mappedOptions.focusTrap
77
- });
78
- const { isActive, open, close } = useMagicDrawer(__props.id);
79
- const overshoot = shallowRef(0);
80
- const {
81
- position,
82
- snapPoints,
83
- threshold,
84
- animation,
85
- preventDragClose,
86
- initial
87
- } = mappedOptions;
88
- const disabled = computed(() => {
89
- if (__props.options.disabled === void 0) {
90
- return defaultOptions.disabled;
91
- } else {
92
- return __props.options.disabled;
93
- }
94
- });
95
- const { onPointerdown, onClick, style, hasDragged } = useDrawerDrag({
96
- id: __props.id,
97
- elRef,
98
- wrapperRef,
99
- position,
100
- snapPoints,
101
- threshold,
102
- overshoot,
103
- animation,
104
- initial,
105
- preventDragClose,
106
- disabled
107
- });
108
- const { initializeWheelListener, destroyWheelListener } = useDrawerWheel({
109
- id: __props.id,
110
- elRef,
111
- position,
112
- disabled
113
- });
114
- const { initializeState, deleteState } = useDrawerState(__props.id);
115
- const state = initializeState();
116
- const { dragging, wheeling } = toRefs(state);
117
- const innerActive = shallowRef(false);
118
- const wrapperActive = shallowRef(false);
119
- const wasActive = shallowRef(false);
120
- const {
121
- onBeforeEnter,
122
- onEnter,
123
- onAfterEnter,
124
- onBeforeLeave,
125
- onLeave,
126
- onAfterLeave
127
- } = useDrawerCallback({
128
- id: __props.id,
129
- mappedOptions,
130
- addScrollLockPadding,
131
- removeScrollLockPadding,
132
- lockScroll,
133
- unlockScroll,
134
- trapFocus,
135
- releaseFocus,
136
- wrapperActive,
137
- wasActive
138
- });
139
- useDrawerProgress({ id: __props.id, elRef, drawerRef, position, overshoot });
140
- const { resetMetaViewport } = useMetaViewport();
141
- const preventTransition = computed(() => {
142
- return mappedOptions.initial.open && !mappedOptions.initial.transition && !wasActive.value;
143
- });
144
- const backdropTransition = computed(() => {
145
- return preventTransition.value ? void 0 : mappedOptions.transition?.backdrop;
146
- });
147
- const contentTransition = computed(() => {
148
- return preventTransition.value ? void 0 : mappedOptions.transition?.content;
149
- });
150
- function convertToPixels(value) {
151
- const regex = /^(\d*\.?\d+)\s*(rem|px)$/;
152
- const match = value.match(regex);
153
- if (!match) {
154
- console.error(
155
- `--magic-drawer-drag-overshoot (${value}) needs to be specified in px or rem`
156
- );
157
- return 0;
158
- }
159
- const numericValue = parseFloat(match[1]);
160
- const unit = match[2];
161
- const bodyFontSize = window.getComputedStyle(document.body).fontSize;
162
- const rootFontSize = parseFloat(bodyFontSize) || 16;
163
- switch (unit) {
164
- case "rem":
165
- return numericValue * rootFontSize;
166
- case "px":
167
- return numericValue;
168
- }
169
- }
170
- async function onOpen() {
171
- wrapperActive.value = true;
172
- await nextTick();
173
- innerActive.value = true;
174
- await nextTick();
175
- if (mappedOptions.enableMousewheel) {
176
- initializeWheelListener();
177
- }
178
- }
179
- function onClose() {
180
- innerActive.value = false;
181
- if (mappedOptions.enableMousewheel) {
182
- destroyWheelListener();
183
- }
184
- }
185
- function guardedPointerdown(event) {
186
- if (!disabled.value) {
187
- onPointerdown(event);
188
- }
189
- }
190
- function guardedClick(event) {
191
- if (!disabled.value) {
192
- onClick(event);
193
- }
194
- }
195
- function guardedClose() {
196
- if (!disabled.value) {
197
- close();
198
- }
199
- }
200
- function saveOvershoot() {
201
- const element = unrefElement(drawerRef);
202
- if (!element) {
203
- return;
204
- }
205
- const overshootVar = getComputedStyle(element, null).getPropertyValue(
206
- "--magic-drawer-drag-overshoot"
207
- );
208
- overshoot.value = convertToPixels(overshootVar) || 0;
209
- }
210
- if (mappedOptions.keyListener.close) {
211
- for (const key of mappedOptions.keyListener.close) {
212
- onKeyStroke(key, (e) => {
213
- close();
214
- e.preventDefault();
215
- });
216
- }
217
- }
218
- watch(isActive, async (value) => {
219
- if (value) {
220
- await onOpen();
221
- } else {
222
- onClose();
223
- }
224
- });
225
- watch(innerActive, () => {
226
- saveOvershoot();
227
- });
228
- onBeforeMount(async () => {
229
- if (mappedOptions.initial.open) {
230
- open();
231
- }
232
- });
233
- onBeforeUnmount(() => {
107
+ options: {
108
+ type: Object,
109
+ required: false
110
+ }
111
+ });
112
+ const mappedOptions = customDefu(options, defaultOptions);
113
+ const elRef = useTemplateRef("el");
114
+ const drawerRef = useTemplateRef("drawer");
115
+ const wrapperRef = useTemplateRef("wrapper");
116
+ const {
117
+ trapFocus,
118
+ releaseFocus,
119
+ lockScroll,
120
+ unlockScroll,
121
+ addScrollLockPadding,
122
+ removeScrollLockPadding
123
+ } = useDrawerDOM({
124
+ focusTarget: drawerRef,
125
+ focusTrap: mappedOptions.focusTrap
126
+ });
127
+ const { isActive, open, close } = useMagicDrawer(id);
128
+ const overshoot = shallowRef(0);
129
+ const {
130
+ position,
131
+ snapPoints,
132
+ threshold,
133
+ animation,
134
+ preventDragClose,
135
+ initial
136
+ } = mappedOptions;
137
+ const disabled = computed(() => {
138
+ if (options.disabled === void 0) {
139
+ return defaultOptions.disabled;
140
+ } else {
141
+ return options.disabled;
142
+ }
143
+ });
144
+ const { onPointerdown, onClick, style, hasDragged } = useDrawerDrag({
145
+ id,
146
+ elRef,
147
+ wrapperRef,
148
+ position,
149
+ snapPoints,
150
+ threshold,
151
+ overshoot,
152
+ animation,
153
+ initial,
154
+ preventDragClose,
155
+ disabled
156
+ });
157
+ const { initializeWheelListener, destroyWheelListener } = useDrawerWheel({
158
+ id,
159
+ elRef,
160
+ position,
161
+ disabled
162
+ });
163
+ const { initializeState, deleteState } = useDrawerState(id);
164
+ const state = initializeState();
165
+ const { dragging, wheeling } = toRefs(state);
166
+ const innerActive = shallowRef(false);
167
+ const wrapperActive = shallowRef(false);
168
+ const wasActive = shallowRef(false);
169
+ const {
170
+ onBeforeEnter,
171
+ onEnter,
172
+ onAfterEnter,
173
+ onBeforeLeave,
174
+ onLeave,
175
+ onAfterLeave
176
+ } = useDrawerCallback({
177
+ id,
178
+ mappedOptions,
179
+ addScrollLockPadding,
180
+ removeScrollLockPadding,
181
+ lockScroll,
182
+ unlockScroll,
183
+ trapFocus,
184
+ releaseFocus,
185
+ wrapperActive,
186
+ wasActive
187
+ });
188
+ useDrawerProgress({ id, elRef, drawerRef, position, overshoot });
189
+ const { resetMetaViewport } = useMetaViewport();
190
+ const preventTransition = computed(() => {
191
+ return mappedOptions.initial.open && !mappedOptions.initial.transition && !wasActive.value;
192
+ });
193
+ const backdropTransition = computed(() => {
194
+ return preventTransition.value ? void 0 : mappedOptions.transition?.backdrop;
195
+ });
196
+ const contentTransition = computed(() => {
197
+ return preventTransition.value ? void 0 : mappedOptions.transition?.content;
198
+ });
199
+ function convertToPixels(value) {
200
+ const regex = /^(\d*\.?\d+)\s*(rem|px)$/;
201
+ const match = value.match(regex);
202
+ if (!match) {
203
+ console.error(
204
+ `--magic-drawer-drag-overshoot (${value}) needs to be specified in px or rem`
205
+ );
206
+ return 0;
207
+ }
208
+ const numericValue = parseFloat(match[1]);
209
+ const unit = match[2];
210
+ const bodyFontSize = window.getComputedStyle(document.body).fontSize;
211
+ const rootFontSize = parseFloat(bodyFontSize) || 16;
212
+ switch (unit) {
213
+ case "rem":
214
+ return numericValue * rootFontSize;
215
+ case "px":
216
+ return numericValue;
217
+ }
218
+ }
219
+ async function onOpen() {
220
+ wrapperActive.value = true;
221
+ await nextTick();
222
+ innerActive.value = true;
223
+ await nextTick();
224
+ if (mappedOptions.enableMousewheel) {
225
+ initializeWheelListener();
226
+ }
227
+ }
228
+ function onClose() {
229
+ innerActive.value = false;
230
+ if (mappedOptions.enableMousewheel) {
231
+ destroyWheelListener();
232
+ }
233
+ }
234
+ function guardedPointerdown(event) {
235
+ if (!disabled.value) {
236
+ onPointerdown(event);
237
+ }
238
+ }
239
+ function guardedClick(event) {
240
+ if (!disabled.value) {
241
+ onClick(event);
242
+ }
243
+ }
244
+ function guardedClose() {
245
+ if (!disabled.value) {
246
+ close();
247
+ }
248
+ }
249
+ function saveOvershoot() {
250
+ const element = unrefElement(drawerRef);
251
+ if (!element) {
252
+ return;
253
+ }
254
+ const overshootVar = getComputedStyle(element, null).getPropertyValue(
255
+ "--magic-drawer-drag-overshoot"
256
+ );
257
+ overshoot.value = convertToPixels(overshootVar) || 0;
258
+ }
259
+ if (mappedOptions.keyListener.close) {
260
+ for (const key of mappedOptions.keyListener.close) {
261
+ onKeyStroke(key, (e) => {
234
262
  close();
263
+ e.preventDefault();
235
264
  });
236
- onUnmounted(() => {
237
- if (mappedOptions.scrollLock) {
238
- unlockScroll();
239
- if (typeof mappedOptions.scrollLock === "object" && mappedOptions.scrollLock.padding) {
240
- removeScrollLockPadding();
241
- }
242
- }
243
- if (mappedOptions.focusTrap) {
244
- releaseFocus();
245
- }
246
- if (!mappedOptions.preventZoom) {
247
- resetMetaViewport();
248
- }
249
- deleteState();
250
- });
251
- return (_ctx, _cache) => {
252
- return wrapperActive.value ? (_openBlock(), _createBlock(_Teleport, {
253
- key: 0,
254
- to: _unref(mappedOptions).teleport?.target,
255
- disabled: _unref(mappedOptions).teleport?.disabled
256
- }, [
257
- _createElementVNode("div", _mergeProps({
258
- ref: "drawer",
259
- class: "magic-drawer",
260
- "data-id": toValue(_ctx.id),
261
- "data-dragging": _unref(dragging),
262
- "data-wheeling": _unref(wheeling),
263
- "data-disabled": disabled.value,
264
- "data-position": _unref(mappedOptions).position
265
- }, _ctx.$attrs, { "aria-modal": "true" }), [
266
- _unref(mappedOptions).backdrop || !!_ctx.$slots.backdrop ? (_openBlock(), _createBlock(_Transition, {
267
- key: 0,
268
- name: backdropTransition.value,
269
- persisted: ""
270
- }, {
271
- default: _withCtx(() => [
272
- _withDirectives(_createElementVNode(
273
- "div",
274
- {
275
- class: "magic-drawer__backdrop",
276
- onClick: _withModifiers(guardedClose, ["self"])
277
- },
278
- [
279
- _renderSlot(_ctx.$slots, "backdrop")
280
- ],
281
- 512
282
- /* NEED_PATCH */
283
- ), [
284
- [_vShow, innerActive.value]
285
- ])
286
- ]),
287
- _: 3
288
- /* FORWARDED */
289
- }, 8, ["name"])) : _createCommentVNode("v-if", true),
290
- _createElementVNode(
291
- "div",
292
- _hoisted_2,
293
- [
294
- _createVNode(_Transition, {
295
- name: contentTransition.value,
296
- onBeforeLeave: _unref(onBeforeLeave),
297
- onLeave: _unref(onLeave),
298
- onAfterLeave: _unref(onAfterLeave),
299
- onBeforeEnter: _unref(onBeforeEnter),
300
- onEnter: _unref(onEnter),
301
- onAfterEnter: _unref(onAfterEnter),
302
- persisted: ""
303
- }, {
304
- default: _withCtx(() => [
305
- _withDirectives(_createElementVNode(
306
- "div",
307
- _hoisted_3,
308
- [
309
- (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(mappedOptions).tag), {
310
- ref: "el",
311
- class: "magic-drawer__drag",
312
- style: _normalizeStyle(_unref(style)),
313
- onPointerdown: guardedPointerdown,
314
- onClick: guardedClick
315
- }, {
316
- default: _withCtx(() => [
317
- _renderSlot(_ctx.$slots, "default"),
318
- _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_4)) : _createCommentVNode("v-if", true)
319
- ]),
320
- _: 3
321
- /* FORWARDED */
322
- }, 40, ["style"]))
323
- ],
324
- 512
325
- /* NEED_PATCH */
326
- ), [
327
- [_vShow, innerActive.value]
328
- ])
329
- ]),
330
- _: 3
331
- /* FORWARDED */
332
- }, 8, ["name", "onBeforeLeave", "onLeave", "onAfterLeave", "onBeforeEnter", "onEnter", "onAfterEnter"])
333
- ],
334
- 512
335
- /* NEED_PATCH */
336
- )
337
- ], 16, _hoisted_1)
338
- ], 8, ["to", "disabled"])) : _createCommentVNode("v-if", true);
339
- };
340
265
  }
266
+ }
267
+ watch(isActive, async (value) => {
268
+ if (value) {
269
+ await onOpen();
270
+ } else {
271
+ onClose();
272
+ }
273
+ });
274
+ watch(innerActive, () => {
275
+ saveOvershoot();
276
+ });
277
+ onBeforeMount(async () => {
278
+ if (mappedOptions.initial.open) {
279
+ open();
280
+ }
281
+ });
282
+ onBeforeUnmount(() => {
283
+ close();
284
+ });
285
+ onUnmounted(() => {
286
+ if (mappedOptions.scrollLock) {
287
+ unlockScroll();
288
+ if (typeof mappedOptions.scrollLock === "object" && mappedOptions.scrollLock.padding) {
289
+ removeScrollLockPadding();
290
+ }
291
+ }
292
+ if (mappedOptions.focusTrap) {
293
+ releaseFocus();
294
+ }
295
+ if (!mappedOptions.preventZoom) {
296
+ resetMetaViewport();
297
+ }
298
+ deleteState();
341
299
  });
342
300
  </script>
343
301
 
@@ -14,12 +14,12 @@ interface MagicDrawerProps {
14
14
  id: MaybeRef<string>;
15
15
  options?: MagicDrawerOptions;
16
16
  }
17
- declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions> & Omit<import("../types/index").DrawerDefaultOptions, keyof MagicDrawerOptions> & {
17
+ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions> & Omit<import("../types/index.js").DrawerDefaultOptions, keyof MagicDrawerOptions> & {
18
18
  threshold: ({
19
19
  lock?: number;
20
20
  distance?: number;
21
21
  momentum?: number;
22
- } & import("../../../../utils").RequireAll<{
22
+ } & import("../../../../utils/index.js").RequireAll<{
23
23
  lock?: number;
24
24
  distance?: number;
25
25
  momentum?: number;
@@ -31,7 +31,7 @@ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions>
31
31
  lock?: number;
32
32
  distance?: number;
33
33
  momentum?: number;
34
- } & import("../../../../utils").RequireAll<{
34
+ } & import("../../../../utils/index.js").RequireAll<{
35
35
  lock?: number;
36
36
  distance?: number;
37
37
  momentum?: number;
@@ -50,7 +50,7 @@ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions>
50
50
  duration?: number;
51
51
  easing?: (t: number) => number;
52
52
  };
53
- } & import("../../../../utils").RequireAll<{
53
+ } & import("../../../../utils/index.js").RequireAll<{
54
54
  snap?: {
55
55
  duration?: number;
56
56
  easing?: (t: number) => number;
@@ -65,7 +65,7 @@ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions>
65
65
  duration?: number;
66
66
  easing?: (t: number) => number;
67
67
  };
68
- } & import("../../../../utils").RequireAll<{
68
+ } & import("../../../../utils/index.js").RequireAll<{
69
69
  snap?: {
70
70
  duration?: number;
71
71
  easing?: (t: number) => number;
@@ -83,17 +83,17 @@ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions>
83
83
  padding: boolean;
84
84
  } | ((boolean | {
85
85
  padding: boolean;
86
- }) & import("../../../../utils").RequireAll<boolean | {
86
+ }) & import("../../../../utils/index.js").RequireAll<boolean | {
87
87
  padding: boolean;
88
88
  } | undefined>) | (Omit<{
89
89
  padding: boolean;
90
- }, "padding"> & Omit<false & import("../../../../utils").RequireAll<{
90
+ }, "padding"> & Omit<false & import("../../../../utils/index.js").RequireAll<{
91
91
  padding: boolean;
92
92
  }>, "padding"> & {
93
93
  padding: boolean;
94
94
  }) | (Omit<{
95
95
  padding: boolean;
96
- }, "padding"> & Omit<true & import("../../../../utils").RequireAll<{
96
+ }, "padding"> & Omit<true & import("../../../../utils/index.js").RequireAll<{
97
97
  padding: boolean;
98
98
  }>, "padding"> & {
99
99
  padding: boolean;
@@ -116,23 +116,23 @@ declare const mappedOptions: Omit<MagicDrawerOptions, keyof MagicDrawerOptions>
116
116
  };
117
117
  keyListener: ({
118
118
  close?: string[] | false;
119
- } & import("../../../../utils").RequireAll<{
119
+ } & import("../../../../utils/index.js").RequireAll<{
120
120
  close?: string[] | false;
121
121
  }>) | (Omit<{
122
122
  close?: string[] | false;
123
123
  }, "close"> & Omit<{
124
124
  close?: string[] | false;
125
- } & import("../../../../utils").RequireAll<{
125
+ } & import("../../../../utils/index.js").RequireAll<{
126
126
  close?: string[] | false;
127
127
  }>, "close"> & {
128
128
  close: (false | string[] | undefined) & (false | string[]);
129
129
  });
130
130
  position: "right" | "left" | "top" | "bottom";
131
- snapPoints: import("../types/index").DrawerSnapPoint[];
131
+ snapPoints: import("../types/index.js").DrawerSnapPoint[];
132
132
  initial: {
133
133
  open?: boolean;
134
134
  transition?: boolean;
135
- snapPoint?: import("../types/index").DrawerSnapPoint;
135
+ snapPoint?: import("../types/index.js").DrawerSnapPoint;
136
136
  };
137
137
  enableMousewheel: boolean;
138
138
  preventZoom: boolean;