@maas/vue-equipment 1.0.0-beta.3 → 1.0.0-beta.31

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 (274) 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 +32 -25
  8. package/dist/nuxt/types.d.mts +3 -1
  9. package/dist/plugins/.turbo/turbo-lint.log +1 -9
  10. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +61 -84
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +10 -24
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +17 -31
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +6 -20
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +57 -62
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +9 -24
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +34 -45
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +8 -22
  19. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +2 -2
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +4 -3
  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/MagicAccordion/src/types/index.d.ts +2 -2
  25. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +148 -154
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +7 -14
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +42 -52
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +6 -20
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +72 -87
  31. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +13 -25
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +37 -47
  33. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +6 -20
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +61 -77
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +6 -22
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +23 -39
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +80 -86
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +9 -25
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +36 -48
  40. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +8 -22
  41. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  42. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  43. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +2 -2
  44. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +3 -2
  45. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  46. package/dist/plugins/MagicCommand/src/types/index.d.ts +3 -3
  47. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  48. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +34 -41
  49. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +8 -22
  50. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  51. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +6 -20
  52. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +42 -74
  53. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +9 -14
  54. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +3 -2
  55. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.d.ts +2 -1
  56. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.mjs +9 -5
  57. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  58. package/dist/plugins/MagicCookie/src/types/index.d.ts +3 -2
  59. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  60. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +82 -100
  61. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +6 -24
  62. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  63. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +43 -63
  64. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  65. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  66. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +103 -53
  67. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  68. package/dist/plugins/MagicDraggable/src/types/index.d.ts +4 -3
  69. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  70. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  71. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +284 -323
  72. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +18 -35
  73. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  74. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  75. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  76. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  77. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  78. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  79. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  80. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  81. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  82. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +1 -1
  83. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.mjs +1 -1
  84. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  85. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +2 -2
  86. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  87. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +202 -100
  88. package/dist/plugins/MagicEmitter/src/types/index.d.ts +2 -0
  89. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  90. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  91. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +8 -24
  92. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  93. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  94. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  95. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  96. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +51 -63
  97. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +6 -20
  98. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +180 -216
  99. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +10 -25
  100. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  101. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +8 -24
  102. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +87 -113
  103. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +13 -25
  104. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  105. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +6 -22
  106. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +63 -86
  107. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +9 -23
  108. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +94 -97
  109. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +11 -25
  110. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +49 -61
  111. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +8 -22
  112. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  113. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  114. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  115. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  116. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  117. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.d.ts +1 -1
  118. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +8 -4
  119. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +2 -2
  120. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +4 -2
  121. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  122. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  123. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  124. package/dist/plugins/MagicMenu/src/types/index.d.ts +2 -2
  125. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  126. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  127. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  128. package/dist/plugins/MagicModal/src/components/MagicModal.vue +134 -171
  129. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +10 -25
  130. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  131. package/dist/plugins/MagicModal/src/types/index.d.ts +2 -2
  132. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  133. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  134. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  135. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  136. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  137. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +10 -6
  138. package/dist/plugins/MagicNoise/src/types/index.d.ts +2 -0
  139. package/dist/plugins/MagicNoise/src/utils/defaultOptions.mjs +3 -1
  140. package/dist/plugins/MagicPie/index.d.ts +7 -0
  141. package/dist/plugins/MagicPie/index.mjs +8 -0
  142. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  143. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  144. package/dist/plugins/MagicPie/src/components/MagicPie.vue +168 -0
  145. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  146. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  147. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  148. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  149. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  150. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  151. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  152. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  153. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +93 -65
  154. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +123 -127
  155. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +9 -25
  156. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +32 -42
  157. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  158. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +117 -103
  159. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  160. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +134 -82
  161. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +17 -13
  162. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +20 -36
  163. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +5 -10
  164. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +66 -56
  165. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +6 -22
  166. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  167. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +118 -68
  168. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +179 -210
  169. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +24 -34
  170. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  171. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +9 -52
  172. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +8 -34
  173. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +170 -234
  174. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.d.ts +8 -0
  175. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.mjs +103 -0
  176. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  177. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +59 -176
  178. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.d.ts +6 -0
  179. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.mjs +34 -0
  180. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +3 -4
  181. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +19 -35
  182. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  183. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +60 -0
  184. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +4 -8
  185. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +43 -91
  186. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +37 -52
  187. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +53 -3
  188. package/dist/plugins/MagicPlayer/src/css/magic-player-audio-controls.css +0 -1
  189. package/dist/plugins/MagicPlayer/src/css/magic-player-timeline.css +5 -0
  190. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +6 -2
  191. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +12 -1
  192. package/dist/plugins/MagicPlayer/src/types/index.d.ts +75 -10
  193. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.d.ts +2 -2
  194. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.mjs +6 -1
  195. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.d.ts +3 -0
  196. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.mjs +7 -0
  197. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  198. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +54 -61
  199. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +6 -22
  200. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  201. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +6 -22
  202. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  203. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +24 -21
  204. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +63 -71
  205. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +8 -24
  206. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  207. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +16 -6
  208. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  209. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  210. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  211. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  212. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +90 -109
  213. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +7 -16
  214. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +53 -81
  215. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +6 -23
  216. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  217. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  218. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +23 -23
  219. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  220. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  221. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  222. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  223. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  224. package/dist/plugins/MagicToast/src/types/index.d.ts +3 -3
  225. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  226. package/dist/plugins/index.d.ts +1 -0
  227. package/dist/plugins/index.mjs +1 -0
  228. package/dist/utils/css/animations/fade-down.css +9 -0
  229. package/dist/utils/css/animations.css +9 -22
  230. package/dist/utils/css/easings.css +9 -1
  231. package/dist/utils/css/keyframes.css +22 -0
  232. package/dist/utils/index.d.ts +9 -4
  233. package/dist/utils/index.js +39 -3
  234. package/dist/utils/index.js.map +1 -1
  235. package/package.json +13 -9
  236. package/dist/nuxt/module.cjs +0 -5
  237. package/dist/nuxt/module.d.ts +0 -9
  238. package/dist/nuxt/types.d.ts +0 -1
  239. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  240. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  241. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  242. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  243. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
  244. package/dist/utils/css/transitions.css +0 -8
  245. /package/dist/utils/css/{transitions → animations}/clip.css +0 -0
  246. /package/dist/utils/css/{transitions → animations}/fade-up.css +0 -0
  247. /package/dist/utils/css/{transitions → animations}/fade.css +0 -0
  248. /package/dist/utils/css/{transitions → animations}/slide-btt.css +0 -0
  249. /package/dist/utils/css/{transitions → animations}/slide-ltr.css +0 -0
  250. /package/dist/utils/css/{transitions → animations}/slide-rtl.css +0 -0
  251. /package/dist/utils/css/{transitions → animations}/slide-ttb.css +0 -0
  252. /package/dist/utils/css/{transitions → animations}/zoom.css +0 -0
  253. /package/dist/utils/css/{animations → keyframes}/auto-size-out.css +0 -0
  254. /package/dist/utils/css/{animations → keyframes}/clip-in.css +0 -0
  255. /package/dist/utils/css/{animations → keyframes}/clip-out.css +0 -0
  256. /package/dist/utils/css/{animations → keyframes}/fade-down-in.css +0 -0
  257. /package/dist/utils/css/{animations → keyframes}/fade-down-out.css +0 -0
  258. /package/dist/utils/css/{animations → keyframes}/fade-in.css +0 -0
  259. /package/dist/utils/css/{animations → keyframes}/fade-out.css +0 -0
  260. /package/dist/utils/css/{animations → keyframes}/fade-up-in.css +0 -0
  261. /package/dist/utils/css/{animations → keyframes}/fade-up-out.css +0 -0
  262. /package/dist/utils/css/{animations → keyframes}/flip-in.css +0 -0
  263. /package/dist/utils/css/{animations → keyframes}/flip-out.css +0 -0
  264. /package/dist/utils/css/{animations → keyframes}/slide-btt-in.css +0 -0
  265. /package/dist/utils/css/{animations → keyframes}/slide-btt-out.css +0 -0
  266. /package/dist/utils/css/{animations → keyframes}/slide-ltr-in.css +0 -0
  267. /package/dist/utils/css/{animations → keyframes}/slide-ltr-out.css +0 -0
  268. /package/dist/utils/css/{animations → keyframes}/slide-rtl-in.css +0 -0
  269. /package/dist/utils/css/{animations → keyframes}/slide-rtl-out.css +0 -0
  270. /package/dist/utils/css/{animations → keyframes}/slide-ttb-in.css +0 -0
  271. /package/dist/utils/css/{animations → keyframes}/slide-ttb-out.css +0 -0
  272. /package/dist/utils/css/{animations → keyframes}/squash-y.css +0 -0
  273. /package/dist/utils/css/{animations → keyframes}/zoom-in.css +0 -0
  274. /package/dist/utils/css/{animations → keyframes}/zoom-out.css +0 -0
@@ -1,3 +1,5 @@
1
+ import {} from "vue";
2
+ import { Primitive } from "@maas/vue-primitive";
1
3
  import { useMagicKeys, useFocus } from "@vueuse/core";
2
4
  import { useMenuView } from "./useMenuView.mjs";
3
5
  import { useMenuState } from "./useMenuState.mjs";
@@ -32,7 +34,7 @@ export function useMenuTrigger(args) {
32
34
  unselectView(viewId);
33
35
  }
34
36
  }
35
- function onEnter(e) {
37
+ function onKeypress(e) {
36
38
  if (focused.value && !mappedDisabled.value && !view?.active) {
37
39
  e.preventDefault();
38
40
  e.stopPropagation();
@@ -95,6 +97,6 @@ export function useMenuTrigger(args) {
95
97
  return {
96
98
  onMouseenter,
97
99
  onClick,
98
- onEnter
100
+ onKeypress
99
101
  };
100
102
  }
@@ -68,7 +68,9 @@ export function useMenuView(instanceId) {
68
68
  }
69
69
  function getRelativeViewIndex(id) {
70
70
  const view = getView(id);
71
- if (!view) return -1;
71
+ if (!view) {
72
+ return -1;
73
+ }
72
74
  const nestingLevel = view.parent.views.length;
73
75
  return state.views.findIndex(
74
76
  (v) => v.parent.views.length === nestingLevel && v.id === id
@@ -90,25 +92,33 @@ export function useMenuView(instanceId) {
90
92
  }
91
93
  function getParentView(id) {
92
94
  const view = getView(id);
93
- if (!view) return void 0;
95
+ if (!view) {
96
+ return void 0;
97
+ }
94
98
  const parentId = view.parent.views[view.parent.views.length - 1];
95
99
  return parentId ? getView(parentId) : void 0;
96
100
  }
97
101
  function getUnrelatedViews(id) {
98
102
  const view = getView(id);
99
- if (!view) return [];
103
+ if (!view) {
104
+ return [];
105
+ }
100
106
  const parentViewsSet = new Set(view.parent.views);
101
107
  return state.views.filter((v) => v.id !== id && !parentViewsSet.has(v.id));
102
108
  }
103
109
  function getDescendingViews(id) {
104
110
  const view = getView(id);
105
- if (!view) return [];
111
+ if (!view) {
112
+ return [];
113
+ }
106
114
  const parentViewsSet = new Set(view.parent.views);
107
115
  return state.views.filter((v) => v.id !== id && !parentViewsSet.has(v.id));
108
116
  }
109
117
  async function selectView(id, delayMs = 0) {
110
118
  const view = getView(id);
111
- if (!view) return;
119
+ if (!view) {
120
+ return;
121
+ }
112
122
  if (view.state.unselectAbortController) {
113
123
  view.state.unselectAbortController.abort();
114
124
  }
@@ -128,7 +138,9 @@ export function useMenuView(instanceId) {
128
138
  }
129
139
  async function unselectView(id, delayMs = 0) {
130
140
  const view = getView(id);
131
- if (!view) return;
141
+ if (!view) {
142
+ return;
143
+ }
132
144
  if (view.state.selectAbortController) {
133
145
  view.state.selectAbortController.abort();
134
146
  }
@@ -1,3 +1,4 @@
1
+ import {} from "vue";
1
2
  import { useMenuView } from "./private/useMenuView.mjs";
2
3
  import { useMenuChannel } from "./private/useMenuChannel.mjs";
3
4
  export function useMagicMenu(args) {
@@ -1,11 +1,11 @@
1
- import type { InjectionKey, MaybeRef } from 'vue';
1
+ import type { InjectionKey, MaybeRef, Ref } from 'vue';
2
2
  declare const MagicMenuInstanceId: InjectionKey<MaybeRef<string>>;
3
3
  declare const MagicMenuParentTree: InjectionKey<string[]>;
4
4
  declare const MagicMenuViewId: InjectionKey<string>;
5
- declare const MagicMenuViewActive: InjectionKey<MaybeRef<boolean>>;
5
+ declare const MagicMenuViewActive: InjectionKey<Ref<boolean>>;
6
6
  declare const MagicMenuContentId: InjectionKey<string>;
7
7
  declare const MagicMenuItemId: InjectionKey<string>;
8
- declare const MagicMenuItemActive: InjectionKey<MaybeRef<boolean>>;
8
+ declare const MagicMenuItemActive: InjectionKey<Ref<boolean>>;
9
9
  declare const MagicMenuChannelId: InjectionKey<string>;
10
- declare const MagicMenuChannelActive: InjectionKey<MaybeRef<boolean>>;
10
+ declare const MagicMenuChannelActive: InjectionKey<Ref<boolean>>;
11
11
  export { MagicMenuInstanceId, MagicMenuParentTree, MagicMenuViewId, MagicMenuViewActive, MagicMenuContentId, MagicMenuItemId, MagicMenuItemActive, MagicMenuChannelId, MagicMenuChannelActive, };
@@ -77,7 +77,7 @@ export interface MenuState {
77
77
  view: string | undefined;
78
78
  };
79
79
  }
80
- export type MenuEvents = {
80
+ export interface MenuEvents {
81
81
  beforeEnter: {
82
82
  id: string;
83
83
  viewId: string;
@@ -102,5 +102,5 @@ export type MenuEvents = {
102
102
  id: string;
103
103
  viewId: string;
104
104
  };
105
- };
105
+ }
106
106
  export {};
@@ -2,10 +2,10 @@ export declare enum ModeDelayMouseenter {
2
2
  menubar = 0,
3
3
  dropdown = 0,
4
4
  context = 0,
5
- navigation = 50
5
+ navigation = 0
6
6
  }
7
7
  export declare enum ModeDelayMouseleave {
8
- navigation = 200
8
+ navigation = 100
9
9
  }
10
10
  export declare enum ModeDelayClick {
11
11
  menubar = 0,
@@ -2,11 +2,11 @@ export var ModeDelayMouseenter = /* @__PURE__ */ ((ModeDelayMouseenter2) => {
2
2
  ModeDelayMouseenter2[ModeDelayMouseenter2["menubar"] = 0] = "menubar";
3
3
  ModeDelayMouseenter2[ModeDelayMouseenter2["dropdown"] = 0] = "dropdown";
4
4
  ModeDelayMouseenter2[ModeDelayMouseenter2["context"] = 0] = "context";
5
- ModeDelayMouseenter2[ModeDelayMouseenter2["navigation"] = 50] = "navigation";
5
+ ModeDelayMouseenter2[ModeDelayMouseenter2["navigation"] = 0] = "navigation";
6
6
  return ModeDelayMouseenter2;
7
7
  })(ModeDelayMouseenter || {});
8
8
  export var ModeDelayMouseleave = /* @__PURE__ */ ((ModeDelayMouseleave2) => {
9
- ModeDelayMouseleave2[ModeDelayMouseleave2["navigation"] = 200] = "navigation";
9
+ ModeDelayMouseleave2[ModeDelayMouseleave2["navigation"] = 100] = "navigation";
10
10
  return ModeDelayMouseleave2;
11
11
  })(ModeDelayMouseleave || {});
12
12
  export var ModeDelayClick = /* @__PURE__ */ ((ModeDelayClick2) => {
@@ -1,2 +1,2 @@
1
- declare const _default: import("@nuxt/schema").NuxtModule<import("@nuxt/schema").ModuleOptions, import("@nuxt/schema").ModuleOptions, false>;
1
+ declare const _default: import("nuxt/schema").NuxtModule<import("nuxt/schema").ModuleOptions, import("nuxt/schema").ModuleOptions, false>;
2
2
  export default _default;
@@ -1,9 +1,55 @@
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, resolveDynamicComponent as _resolveDynamicComponent, createVNode as _createVNode, mergeProps as _mergeProps, Teleport as _Teleport } from "vue";
4
- const _hoisted_1 = ["id"];
1
+ <template>
2
+ <teleport
3
+ v-if="wrapperActive"
4
+ :to="mappedOptions.teleport?.target"
5
+ :disabled="mappedOptions.teleport?.disabled"
6
+ >
7
+ <div
8
+ ref="modal"
9
+ class="magic-modal"
10
+ :data-id="mappedId"
11
+ v-bind="$attrs"
12
+ aria-modal="true"
13
+ @click.self="close"
14
+ >
15
+ <transition
16
+ v-if="mappedOptions.backdrop || !!$slots.backdrop"
17
+ :name="mappedOptions.transition?.backdrop"
18
+ >
19
+ <div
20
+ v-show="innerActive"
21
+ class="magic-modal__backdrop"
22
+ @click.self="close"
23
+ >
24
+ <slot name="backdrop" />
25
+ </div>
26
+ </transition>
27
+ <transition
28
+ :name="mappedOptions.transition?.content"
29
+ @before-enter="onBeforeEnter"
30
+ @enter="onEnter"
31
+ @after-enter="onAfterEnter"
32
+ @before-leave="onBeforeLeave"
33
+ @leave="onLeave"
34
+ @after-leave="onAfterLeave"
35
+ >
36
+ <component
37
+ :is="mappedOptions.tag"
38
+ v-show="innerActive"
39
+ class="magic-modal__content"
40
+ @click.self="close"
41
+ >
42
+ <slot />
43
+ </component>
44
+ </transition>
45
+ </div>
46
+ </teleport>
47
+ </template>
48
+
49
+ <script setup>
5
50
  import {
6
- ref,
51
+ useTemplateRef,
52
+ shallowRef,
7
53
  watch,
8
54
  nextTick,
9
55
  toValue,
@@ -16,173 +62,90 @@ import { defaultOptions } from "./../utils/defaultOptions";
16
62
  import { useModalDOM } from "../composables/private/useModalDOM";
17
63
  import { useModalCallback } from "../composables/private/useModalCallback";
18
64
  import { useMagicModal } from "../composables/useMagicModal";
19
- import "@maas/vue-equipment/utils/css/animations/fade-in.css";
20
- import "@maas/vue-equipment/utils/css/animations/fade-out.css";
21
- export default /* @__PURE__ */ _defineComponent({
22
- ...{
23
- inheritAttrs: false
24
- },
25
- __name: "MagicModal",
26
- props: {
27
- id: { type: null, required: true },
28
- props: { type: Object, required: false },
29
- options: { type: Object, required: false, default: () => ({}) }
30
- },
31
- setup(__props) {
32
- const customDefu = createDefu((obj, key, value) => {
33
- if (key === "close") {
34
- obj[key] = value;
35
- return true;
36
- }
37
- });
38
- const mappedOptions = customDefu(__props.options, defaultOptions);
39
- const modalRef = ref(void 0);
40
- const {
41
- trapFocus,
42
- releaseFocus,
43
- lockScroll,
44
- unlockScroll,
45
- addScrollLockPadding,
46
- removeScrollLockPadding
47
- } = useModalDOM({
48
- focusTarget: modalRef,
49
- focusTrap: mappedOptions.focusTrap
50
- });
51
- const { isActive, close } = useMagicModal(__props.id);
52
- const innerActive = ref(false);
53
- const wrapperActive = ref(false);
54
- const {
55
- onBeforeEnter,
56
- onEnter,
57
- onAfterEnter,
58
- onBeforeLeave,
59
- onLeave,
60
- onAfterLeave
61
- } = useModalCallback({
62
- id: __props.id,
63
- mappedOptions,
64
- addScrollLockPadding,
65
- removeScrollLockPadding,
66
- lockScroll,
67
- unlockScroll,
68
- trapFocus,
69
- releaseFocus,
70
- wrapperActive
71
- });
72
- async function onOpen() {
73
- wrapperActive.value = true;
74
- await nextTick();
75
- innerActive.value = true;
76
- }
77
- function onClose() {
78
- innerActive.value = false;
79
- }
80
- if (mappedOptions.keyListener?.close) {
81
- for (const key of mappedOptions.keyListener.close) {
82
- onKeyStroke(key, (e) => {
83
- close();
84
- e.preventDefault();
85
- });
86
- }
65
+ import "@maas/vue-equipment/utils/css/keyframes/fade-in.css";
66
+ import "@maas/vue-equipment/utils/css/keyframes/fade-out.css";
67
+ defineOptions({
68
+ inheritAttrs: false
69
+ });
70
+ const customDefu = createDefu((obj, key, value) => {
71
+ if (key === "close") {
72
+ obj[key] = value;
73
+ return true;
74
+ }
75
+ });
76
+ const { id, options = {} } = defineProps({
77
+ id: { type: null, required: true },
78
+ props: { type: Object, required: false },
79
+ options: { type: Object, required: false }
80
+ });
81
+ const mappedOptions = customDefu(options, defaultOptions);
82
+ const mappedId = toValue(id);
83
+ const modalRef = useTemplateRef("modal");
84
+ const {
85
+ trapFocus,
86
+ releaseFocus,
87
+ lockScroll,
88
+ unlockScroll,
89
+ addScrollLockPadding,
90
+ removeScrollLockPadding
91
+ } = useModalDOM({
92
+ focusTarget: modalRef,
93
+ focusTrap: mappedOptions.focusTrap
94
+ });
95
+ const { isActive, close } = useMagicModal(id);
96
+ const innerActive = shallowRef(false);
97
+ const wrapperActive = shallowRef(false);
98
+ const {
99
+ onBeforeEnter,
100
+ onEnter,
101
+ onAfterEnter,
102
+ onBeforeLeave,
103
+ onLeave,
104
+ onAfterLeave
105
+ } = useModalCallback({
106
+ id,
107
+ mappedOptions,
108
+ addScrollLockPadding,
109
+ removeScrollLockPadding,
110
+ lockScroll,
111
+ unlockScroll,
112
+ trapFocus,
113
+ releaseFocus,
114
+ wrapperActive
115
+ });
116
+ async function onOpen() {
117
+ wrapperActive.value = true;
118
+ await nextTick();
119
+ innerActive.value = true;
120
+ }
121
+ function onClose() {
122
+ innerActive.value = false;
123
+ }
124
+ if (mappedOptions.keyListener?.close) {
125
+ onKeyStroke(mappedOptions.keyListener.close, (e) => {
126
+ close();
127
+ e.preventDefault();
128
+ });
129
+ }
130
+ watch(isActive, async (value) => {
131
+ if (value) {
132
+ await onOpen();
133
+ } else {
134
+ onClose();
135
+ }
136
+ });
137
+ onBeforeUnmount(() => {
138
+ close();
139
+ });
140
+ onUnmounted(() => {
141
+ if (mappedOptions.scrollLock) {
142
+ unlockScroll();
143
+ if (typeof mappedOptions.scrollLock === "object" && mappedOptions.scrollLock.padding) {
144
+ removeScrollLockPadding();
87
145
  }
88
- watch(isActive, async (value) => {
89
- if (value) {
90
- await onOpen();
91
- } else {
92
- onClose();
93
- }
94
- });
95
- onBeforeUnmount(() => {
96
- close();
97
- });
98
- onUnmounted(() => {
99
- if (mappedOptions.scrollLock) {
100
- unlockScroll();
101
- if (typeof mappedOptions.scrollLock === "object" && mappedOptions.scrollLock.padding) {
102
- removeScrollLockPadding();
103
- }
104
- }
105
- if (mappedOptions.focusTrap) {
106
- releaseFocus();
107
- }
108
- });
109
- return (_ctx, _cache) => {
110
- return wrapperActive.value ? (_openBlock(), _createBlock(_Teleport, {
111
- key: 0,
112
- to: _unref(mappedOptions).teleport?.target,
113
- disabled: _unref(mappedOptions).teleport?.disabled
114
- }, [
115
- _createElementVNode("div", _mergeProps({
116
- id: toValue(_ctx.id),
117
- ref_key: "modalRef",
118
- ref: modalRef,
119
- class: "magic-modal"
120
- }, _ctx.$attrs, {
121
- "aria-modal": "true",
122
- onClick: _cache[1] || (_cache[1] = _withModifiers(
123
- //@ts-ignore
124
- (...args) => _unref(close) && _unref(close)(...args),
125
- ["self"]
126
- ))
127
- }), [
128
- _unref(mappedOptions).backdrop || !!_ctx.$slots.backdrop ? (_openBlock(), _createBlock(_Transition, {
129
- key: 0,
130
- name: _unref(mappedOptions).transition?.backdrop,
131
- persisted: ""
132
- }, {
133
- default: _withCtx(() => [
134
- _withDirectives(_createElementVNode(
135
- "div",
136
- {
137
- class: "magic-modal__backdrop",
138
- onClick: _cache[0] || (_cache[0] = _withModifiers(
139
- //@ts-ignore
140
- (...args) => _unref(close) && _unref(close)(...args),
141
- ["self"]
142
- ))
143
- },
144
- [
145
- _renderSlot(_ctx.$slots, "backdrop")
146
- ],
147
- 512
148
- /* NEED_PATCH */
149
- ), [
150
- [_vShow, innerActive.value]
151
- ])
152
- ]),
153
- _: 3
154
- /* FORWARDED */
155
- }, 8, ["name"])) : _createCommentVNode("v-if", true),
156
- _createVNode(_Transition, {
157
- name: _unref(mappedOptions).transition?.content,
158
- onBeforeLeave: _unref(onBeforeLeave),
159
- onLeave: _unref(onLeave),
160
- onAfterLeave: _unref(onAfterLeave),
161
- onBeforeEnter: _unref(onBeforeEnter),
162
- onEnter: _unref(onEnter),
163
- onAfterEnter: _unref(onAfterEnter),
164
- persisted: ""
165
- }, {
166
- default: _withCtx(() => [
167
- _withDirectives((_openBlock(), _createBlock(_resolveDynamicComponent(_unref(mappedOptions).tag), {
168
- class: "magic-modal__content",
169
- onClick: _withModifiers(_unref(close), ["self"])
170
- }, {
171
- default: _withCtx(() => [
172
- _renderSlot(_ctx.$slots, "default")
173
- ]),
174
- _: 3
175
- /* FORWARDED */
176
- }, 8, ["onClick"])), [
177
- [_vShow, innerActive.value]
178
- ])
179
- ]),
180
- _: 3
181
- /* FORWARDED */
182
- }, 8, ["name", "onBeforeLeave", "onLeave", "onAfterLeave", "onBeforeEnter", "onEnter", "onAfterEnter"])
183
- ], 16, _hoisted_1)
184
- ], 8, ["to", "disabled"])) : _createCommentVNode("v-if", true);
185
- };
146
+ }
147
+ if (mappedOptions.focusTrap) {
148
+ releaseFocus();
186
149
  }
187
150
  });
188
151
  </script>
@@ -1,37 +1,22 @@
1
1
  import { type MaybeRef } from 'vue';
2
2
  import type { MagicModalOptions } 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';
3
+ import '@maas/vue-equipment/utils/css/keyframes/fade-in.css';
4
+ import '@maas/vue-equipment/utils/css/keyframes/fade-out.css';
5
5
  interface MagicModalProps {
6
6
  id: MaybeRef<string>;
7
7
  props?: Record<string, unknown>;
8
8
  options?: MagicModalOptions;
9
9
  }
10
- declare function __VLS_template(): {
11
- attrs: Partial<{}>;
12
- slots: {
13
- backdrop?(_: {}): any;
14
- default?(_: {}): any;
15
- };
16
- refs: {
17
- modalRef: any;
18
- };
19
- rootEl: any;
10
+ declare var __VLS_9: {}, __VLS_32: {};
11
+ type __VLS_Slots = {} & {
12
+ backdrop?: (props: typeof __VLS_9) => any;
13
+ } & {
14
+ default?: (props: typeof __VLS_32) => any;
20
15
  };
21
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicModalProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicModalProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
16
+ declare const __VLS_component: import("vue").DefineComponent<MagicModalProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicModalProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
24
18
  export default _default;
25
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
26
- type __VLS_TypePropsToOption<T> = {
27
- [K in keyof T]-?: {} extends Pick<T, K> ? {
28
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
29
- } : {
30
- type: import('vue').PropType<T[K]>;
31
- required: true;
32
- };
33
- };
34
- type __VLS_WithTemplateSlots<T, S> = T & {
19
+ type __VLS_WithSlots<T, S> = T & {
35
20
  new (): {
36
21
  $slots: S;
37
22
  };
@@ -1,14 +1,18 @@
1
- import { ref } from "vue";
1
+ import { ref, shallowRef } from "vue";
2
2
  import { defu } from "defu";
3
3
  import { useScrollLock } from "@vueuse/core";
4
4
  import { useFocusTrap } from "@vueuse/integrations/useFocusTrap";
5
- import { matchClass } from "@maas/vue-equipment/utils";
5
+ import {
6
+ matchClass,
7
+ scrollbarGutterSupport,
8
+ scrollbarWidth
9
+ } from "@maas/vue-equipment/utils";
6
10
  const defaultOptions = {
7
11
  focusTrap: false,
8
12
  focusTarget: void 0,
9
13
  scrollLock: true
10
14
  };
11
- const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : ref(false);
15
+ const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : shallowRef(false);
12
16
  export function useModalDOM(args) {
13
17
  const positionFixedElements = ref([]);
14
18
  const mappedOptions = defu(args, defaultOptions);
@@ -36,24 +40,40 @@ export function useModalDOM(args) {
36
40
  function addScrollLockPadding() {
37
41
  if (typeof window === "undefined") return;
38
42
  const exclude = new RegExp(/magic-modal(__backdrop)?/);
39
- const scrollbarWidth = window.innerWidth - document.body.offsetWidth;
40
- document.body.style.setProperty("--scrollbar-width", `${scrollbarWidth}px`);
41
- document.body.style.paddingRight = "var(--scrollbar-width)";
43
+ document.body.style.setProperty(
44
+ "--scrollbar-width",
45
+ `${scrollbarWidth()}px`
46
+ );
42
47
  positionFixedElements.value = [
43
48
  ...document.body.getElementsByTagName("*")
44
49
  ].filter(
45
- (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && !matchClass(x, exclude)
46
- );
47
- positionFixedElements.value.forEach(
48
- (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
50
+ (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && getComputedStyle(x, null).getPropertyValue("right") === "0px" && !matchClass(x, exclude)
49
51
  );
52
+ switch (scrollbarGutterSupport()) {
53
+ case true:
54
+ document.documentElement.style.scrollbarGutter = "stable";
55
+ positionFixedElements.value.forEach((elem) => {
56
+ elem.style.scrollbarGutter = "stable";
57
+ elem.style.overflow = "auto";
58
+ });
59
+ break;
60
+ case false:
61
+ document.body.style.paddingRight = "var(--scrollbar-width)";
62
+ positionFixedElements.value.forEach(
63
+ (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
64
+ );
65
+ break;
66
+ }
50
67
  }
51
68
  function removeScrollLockPadding() {
52
- document.body.style.paddingRight = "";
69
+ document.documentElement.style.scrollbarGutter = "";
53
70
  document.body.style.removeProperty("--scrollbar-width");
54
- positionFixedElements.value.forEach(
55
- (elem) => elem.style.paddingRight = ""
56
- );
71
+ document.body.style.paddingRight = "";
72
+ positionFixedElements.value.forEach((elem) => {
73
+ elem.style.paddingRight = "";
74
+ elem.style.scrollbarGutter = "";
75
+ elem.style.overflow = "";
76
+ });
57
77
  }
58
78
  return {
59
79
  trapFocus,
@@ -18,11 +18,11 @@ export interface MagicModalOptions {
18
18
  close?: string[] | false;
19
19
  };
20
20
  }
21
- export type ModalEvents = {
21
+ export interface ModalEvents {
22
22
  beforeEnter: string;
23
23
  enter: string;
24
24
  afterEnter: string;
25
25
  beforeLeave: string;
26
26
  leave: string;
27
27
  afterLeave: string;
28
- };
28
+ }
@@ -0,0 +1 @@
1
+ import {} from "focus-trap";
@@ -1,2 +1,2 @@
1
- declare const _default: import("@nuxt/schema").NuxtModule<import("@nuxt/schema").ModuleOptions, import("@nuxt/schema").ModuleOptions, false>;
1
+ declare const _default: import("nuxt/schema").NuxtModule<import("nuxt/schema").ModuleOptions, import("nuxt/schema").ModuleOptions, false>;
2
2
  export default _default;