@maas/vue-equipment 1.0.0-beta.2 → 1.0.0-beta.20

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