@maas/vue-equipment 1.0.0-beta.4 → 1.0.0-beta.40

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 (374) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/useCountdown/index.d.ts +23 -0
  3. package/dist/composables/useCountdown/index.js +133 -0
  4. package/dist/composables/useCountdown/index.js.map +1 -0
  5. package/dist/composables/useEasings/index.d.ts +21 -0
  6. package/dist/composables/useEasings/index.js +40 -0
  7. package/dist/composables/useEasings/index.js.map +1 -0
  8. package/dist/composables/useMetaViewport/index.d.ts +9 -0
  9. package/dist/composables/useMetaViewport/index.js +29 -0
  10. package/dist/composables/useMetaViewport/index.js.map +1 -0
  11. package/dist/composables/useScrollTo/index.d.ts +49 -0
  12. package/dist/composables/useScrollTo/index.js +152 -0
  13. package/dist/composables/useScrollTo/index.js.map +1 -0
  14. package/dist/nuxt/module.d.mts +4 -3
  15. package/dist/nuxt/module.json +2 -2
  16. package/dist/nuxt/module.mjs +55 -35
  17. package/dist/nuxt/types.d.mts +3 -1
  18. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  19. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.d.vue.ts +26 -0
  20. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +70 -84
  21. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +11 -24
  22. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.d.vue.ts +20 -0
  23. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +18 -32
  24. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +7 -20
  25. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.d.vue.ts +23 -0
  26. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +62 -62
  27. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +10 -59
  28. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.d.vue.ts +20 -0
  29. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +40 -45
  30. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +9 -22
  31. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionCallback.mjs +1 -1
  32. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +4 -4
  33. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +9 -8
  34. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  35. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.d.ts +1 -5
  36. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +3 -3
  37. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  38. package/dist/plugins/MagicAccordion/src/types/index.d.ts +2 -2
  39. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  40. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.d.vue.ts +15 -0
  41. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +164 -152
  42. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +9 -15
  43. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.d.vue.ts +17 -0
  44. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +50 -54
  45. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +7 -20
  46. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.d.vue.ts +27 -0
  47. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +89 -87
  48. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +15 -28
  49. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.d.vue.ts +17 -0
  50. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +39 -49
  51. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +7 -20
  52. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.d.vue.ts +20 -0
  53. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +75 -76
  54. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +7 -57
  55. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.d.vue.ts +3 -0
  56. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +30 -40
  57. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue.d.ts +2 -1
  58. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.d.vue.ts +24 -0
  59. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +88 -85
  60. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +10 -61
  61. package/dist/plugins/MagicCommand/src/components/MagicCommandView.d.vue.ts +19 -0
  62. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +44 -48
  63. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +9 -22
  64. package/dist/plugins/MagicCommand/src/composables/private/useCommandCallback.mjs +1 -1
  65. package/dist/plugins/MagicCommand/src/composables/private/useCommandItem.mjs +11 -13
  66. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  67. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  68. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +2 -2
  69. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +3 -2
  70. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.d.ts +1 -1
  71. package/dist/plugins/MagicCommand/src/composables/private/useCommandView.mjs +63 -44
  72. package/dist/plugins/MagicCommand/src/composables/useMagicCommand.mjs +21 -4
  73. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  74. package/dist/plugins/MagicCommand/src/types/index.d.ts +3 -3
  75. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  76. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.d.vue.ts +20 -0
  77. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +43 -41
  78. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +9 -22
  79. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.d.vue.ts +19 -0
  80. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  81. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +7 -20
  82. package/dist/plugins/MagicCookie/src/components/MagicCookieView.d.vue.ts +17 -0
  83. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +47 -73
  84. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +11 -15
  85. package/dist/plugins/MagicCookie/src/composables/private/useCookieCallback.mjs +1 -1
  86. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +12 -4
  87. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.d.ts +2 -1
  88. package/dist/plugins/MagicCookie/src/composables/useMagicCookie.mjs +10 -6
  89. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  90. package/dist/plugins/MagicCookie/src/types/index.d.ts +3 -2
  91. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  92. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.d.vue.ts +19 -0
  93. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +92 -101
  94. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +7 -24
  95. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  96. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +51 -66
  97. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +37 -15
  98. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  99. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +111 -56
  100. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  101. package/dist/plugins/MagicDraggable/src/composables/useMagicDraggable.mjs +1 -1
  102. package/dist/plugins/MagicDraggable/src/types/index.d.ts +4 -3
  103. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  104. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  105. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.d.vue.ts +31 -0
  106. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +290 -324
  107. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +19 -35
  108. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerCallback.mjs +2 -2
  109. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +37 -15
  110. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  111. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +10 -5
  112. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  113. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  114. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  115. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.mjs +1 -1
  116. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  117. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +55 -19
  118. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.mjs +3 -1
  119. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerUtils.mjs +21 -8
  120. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  121. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +7 -2
  122. package/dist/plugins/MagicDrawer/src/composables/useMagicDrawer.mjs +1 -1
  123. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  124. package/dist/plugins/MagicDrawer/src/utils/defaultOptions.mjs +2 -2
  125. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  126. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +202 -100
  127. package/dist/plugins/MagicEmitter/src/types/index.d.ts +2 -0
  128. package/dist/plugins/MagicError/index.d.ts +5 -0
  129. package/dist/plugins/MagicError/index.mjs +3 -0
  130. package/dist/plugins/MagicError/nuxt.d.ts +2 -0
  131. package/dist/plugins/MagicError/nuxt.mjs +12 -0
  132. package/dist/plugins/MagicError/package.json +40 -0
  133. package/dist/plugins/MagicError/src/MagicError.mjs +0 -0
  134. package/dist/plugins/MagicError/src/class/MagicError.d.ts +6 -0
  135. package/dist/plugins/MagicError/src/class/MagicError.mjs +15 -0
  136. package/dist/plugins/MagicError/src/composables/useMagicError.d.ts +18 -0
  137. package/dist/plugins/MagicError/src/composables/useMagicError.mjs +31 -0
  138. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  139. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.d.vue.ts +21 -0
  140. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  141. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +9 -24
  142. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  143. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  144. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  145. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  146. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.d.vue.ts +17 -0
  147. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +60 -60
  148. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +7 -20
  149. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.d.vue.ts +25 -0
  150. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +189 -216
  151. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +11 -25
  152. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.d.vue.ts +24 -0
  153. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  154. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +12 -26
  155. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.d.vue.ts +26 -0
  156. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +103 -112
  157. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +15 -28
  158. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.d.vue.ts +20 -0
  159. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  160. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +7 -57
  161. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.d.vue.ts +25 -0
  162. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +69 -86
  163. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +10 -23
  164. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.d.vue.ts +24 -0
  165. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +99 -97
  166. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +12 -60
  167. package/dist/plugins/MagicMenu/src/components/MagicMenuView.d.vue.ts +20 -0
  168. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +57 -61
  169. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +11 -24
  170. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +2 -2
  171. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  172. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  173. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  174. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +38 -16
  175. package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.mjs +12 -2
  176. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.d.ts +2 -2
  177. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +45 -18
  178. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +2 -2
  179. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +4 -2
  180. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +31 -10
  181. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  182. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  183. package/dist/plugins/MagicMenu/src/types/index.d.ts +4 -4
  184. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  185. package/dist/plugins/MagicModal/src/components/MagicModal.d.vue.ts +24 -0
  186. package/dist/plugins/MagicModal/src/components/MagicModal.vue +134 -171
  187. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +11 -25
  188. package/dist/plugins/MagicModal/src/composables/private/useModalCallback.mjs +1 -1
  189. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +37 -15
  190. package/dist/plugins/MagicModal/src/types/index.d.ts +2 -2
  191. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  192. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  193. package/dist/plugins/MagicNoise/src/components/MagicNoise.d.vue.ts +8 -0
  194. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  195. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +2 -10
  196. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  197. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +17 -9
  198. package/dist/plugins/MagicNoise/src/types/index.d.ts +2 -0
  199. package/dist/plugins/MagicNoise/src/utils/defaultOptions.mjs +3 -1
  200. package/dist/plugins/MagicPie/index.d.ts +7 -0
  201. package/dist/plugins/MagicPie/index.mjs +8 -0
  202. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  203. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  204. package/dist/plugins/MagicPie/src/components/MagicPie.d.vue.ts +8 -0
  205. package/dist/plugins/MagicPie/src/components/MagicPie.vue +181 -0
  206. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +8 -0
  207. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  208. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +35 -0
  209. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  210. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  211. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  212. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  213. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  214. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.d.vue.ts +3 -0
  215. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +103 -65
  216. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue.d.ts +2 -1
  217. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.d.vue.ts +18 -0
  218. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +129 -127
  219. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +10 -25
  220. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.d.vue.ts +6 -0
  221. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +38 -42
  222. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +2 -10
  223. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.d.vue.ts +6 -0
  224. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +131 -102
  225. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +2 -10
  226. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.d.vue.ts +25 -0
  227. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +140 -82
  228. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +18 -13
  229. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.d.vue.ts +13 -0
  230. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +26 -36
  231. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +7 -11
  232. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.d.vue.ts +19 -0
  233. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +66 -56
  234. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +7 -22
  235. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.d.vue.ts +3 -0
  236. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +66 -109
  237. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +2 -1
  238. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.d.vue.ts +3 -0
  239. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +128 -68
  240. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue.d.ts +2 -1
  241. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.d.vue.ts +36 -0
  242. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +185 -210
  243. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +25 -34
  244. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.d.vue.ts +3 -0
  245. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenEnter.vue.d.ts +2 -1
  246. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.d.vue.ts +3 -0
  247. package/dist/plugins/MagicPlayer/src/components/icons/FullscreenExit.vue.d.ts +2 -1
  248. package/dist/plugins/MagicPlayer/src/components/icons/Pause.d.vue.ts +3 -0
  249. package/dist/plugins/MagicPlayer/src/components/icons/Pause.vue.d.ts +2 -1
  250. package/dist/plugins/MagicPlayer/src/components/icons/Play.d.vue.ts +3 -0
  251. package/dist/plugins/MagicPlayer/src/components/icons/Play.vue.d.ts +2 -1
  252. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.d.vue.ts +3 -0
  253. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOff.vue.d.ts +2 -1
  254. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.d.vue.ts +3 -0
  255. package/dist/plugins/MagicPlayer/src/components/icons/VolumeOn.vue.d.ts +2 -1
  256. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.d.vue.ts +3 -0
  257. package/dist/plugins/MagicPlayer/src/components/icons/Waiting.vue.d.ts +2 -1
  258. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  259. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +9 -52
  260. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +8 -34
  261. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +170 -234
  262. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.d.ts +8 -0
  263. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerEmitter.mjs +103 -0
  264. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  265. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +113 -176
  266. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.d.ts +6 -0
  267. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerProvider.mjs +34 -0
  268. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +4 -4
  269. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +113 -49
  270. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  271. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +62 -0
  272. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +4 -8
  273. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +50 -93
  274. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +37 -52
  275. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +53 -3
  276. package/dist/plugins/MagicPlayer/src/css/magic-player-audio-controls.css +0 -1
  277. package/dist/plugins/MagicPlayer/src/css/magic-player-overlay.css +0 -0
  278. package/dist/plugins/MagicPlayer/src/css/magic-player-timeline.css +5 -0
  279. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +6 -2
  280. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +12 -1
  281. package/dist/plugins/MagicPlayer/src/types/index.d.ts +77 -10
  282. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.d.ts +2 -2
  283. package/dist/plugins/MagicPlayer/src/utils/defaultOptions.mjs +7 -1
  284. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.d.ts +3 -0
  285. package/dist/plugins/MagicPlayer/src/utils/playbackDefaults.mjs +7 -0
  286. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  287. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.d.vue.ts +18 -0
  288. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +60 -61
  289. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +7 -22
  290. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.d.vue.ts +20 -0
  291. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  292. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +7 -22
  293. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.d.vue.ts +36 -0
  294. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  295. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +25 -38
  296. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.d.vue.ts +20 -0
  297. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +71 -71
  298. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +9 -24
  299. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  300. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +17 -7
  301. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  302. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  303. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  304. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  305. package/dist/plugins/MagicToast/src/components/MagicToastProvider.d.vue.ts +15 -0
  306. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +91 -110
  307. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +8 -16
  308. package/dist/plugins/MagicToast/src/components/MagicToastView.d.vue.ts +17 -0
  309. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +66 -82
  310. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +7 -23
  311. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +9 -7
  312. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +23 -23
  313. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  314. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +36 -16
  315. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  316. package/dist/plugins/MagicToast/src/types/index.d.ts +11 -11
  317. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  318. package/dist/utils/css/animations/fade-down.css +9 -0
  319. package/dist/utils/css/animations.css +9 -22
  320. package/dist/utils/css/easings.css +9 -1
  321. package/dist/utils/css/keyframes.css +22 -0
  322. package/dist/utils/index.d.ts +9 -4
  323. package/dist/utils/index.js +42 -4
  324. package/dist/utils/index.js.map +1 -1
  325. package/package.json +25 -21
  326. package/dist/composables/index.d.ts +0 -97
  327. package/dist/composables/index.js +0 -338
  328. package/dist/composables/index.js.map +0 -1
  329. package/dist/nuxt/module.cjs +0 -5
  330. package/dist/nuxt/module.d.ts +0 -9
  331. package/dist/nuxt/types.d.ts +0 -1
  332. package/dist/plugins/.turbo/turbo-lint.log +0 -13
  333. package/dist/plugins/.turbo/turbo-release.log +0 -7
  334. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  335. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  336. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  337. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  338. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
  339. package/dist/plugins/index.d.ts +0 -13
  340. package/dist/plugins/index.mjs +0 -13
  341. package/dist/utils/css/transitions.css +0 -8
  342. /package/dist/plugins/{.turbo/turbo-build.log → MagicError/src/MagicError.d.ts} +0 -0
  343. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.d.ts +0 -0
  344. /package/dist/plugins/MagicToast/{symbols → src/symbols}/index.mjs +0 -0
  345. /package/dist/utils/css/{transitions → animations}/clip.css +0 -0
  346. /package/dist/utils/css/{transitions → animations}/fade-up.css +0 -0
  347. /package/dist/utils/css/{transitions → animations}/fade.css +0 -0
  348. /package/dist/utils/css/{transitions → animations}/slide-btt.css +0 -0
  349. /package/dist/utils/css/{transitions → animations}/slide-ltr.css +0 -0
  350. /package/dist/utils/css/{transitions → animations}/slide-rtl.css +0 -0
  351. /package/dist/utils/css/{transitions → animations}/slide-ttb.css +0 -0
  352. /package/dist/utils/css/{transitions → animations}/zoom.css +0 -0
  353. /package/dist/utils/css/{animations → keyframes}/auto-size-out.css +0 -0
  354. /package/dist/utils/css/{animations → keyframes}/clip-in.css +0 -0
  355. /package/dist/utils/css/{animations → keyframes}/clip-out.css +0 -0
  356. /package/dist/utils/css/{animations → keyframes}/fade-down-in.css +0 -0
  357. /package/dist/utils/css/{animations → keyframes}/fade-down-out.css +0 -0
  358. /package/dist/utils/css/{animations → keyframes}/fade-in.css +0 -0
  359. /package/dist/utils/css/{animations → keyframes}/fade-out.css +0 -0
  360. /package/dist/utils/css/{animations → keyframes}/fade-up-in.css +0 -0
  361. /package/dist/utils/css/{animations → keyframes}/fade-up-out.css +0 -0
  362. /package/dist/utils/css/{animations → keyframes}/flip-in.css +0 -0
  363. /package/dist/utils/css/{animations → keyframes}/flip-out.css +0 -0
  364. /package/dist/utils/css/{animations → keyframes}/slide-btt-in.css +0 -0
  365. /package/dist/utils/css/{animations → keyframes}/slide-btt-out.css +0 -0
  366. /package/dist/utils/css/{animations → keyframes}/slide-ltr-in.css +0 -0
  367. /package/dist/utils/css/{animations → keyframes}/slide-ltr-out.css +0 -0
  368. /package/dist/utils/css/{animations → keyframes}/slide-rtl-in.css +0 -0
  369. /package/dist/utils/css/{animations → keyframes}/slide-rtl-out.css +0 -0
  370. /package/dist/utils/css/{animations → keyframes}/slide-ttb-in.css +0 -0
  371. /package/dist/utils/css/{animations → keyframes}/slide-ttb-out.css +0 -0
  372. /package/dist/utils/css/{animations → keyframes}/squash-y.css +0 -0
  373. /package/dist/utils/css/{animations → keyframes}/zoom-in.css +0 -0
  374. /package/dist/utils/css/{animations → keyframes}/zoom-out.css +0 -0
@@ -1,103 +1,95 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { unref as _unref, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeStyle as _normalizeStyle, withCtx as _withCtx, createBlock as _createBlock, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
4
- const _hoisted_1 = ["id"];
5
- const _hoisted_2 = {
6
- key: 0,
7
- class: "magic-draggable__overlay"
8
- };
9
- import { ref, computed, toValue, toRefs } from "vue";
10
- import { defu } from "defu";
1
+ <template>
2
+ <div
3
+ :data-id="mappedId"
4
+ :data-dragging="dragging"
5
+ :data-disabled="disabled"
6
+ :data-active-snap-point="activeSnapPoint"
7
+ class="magic-draggable"
8
+ v-bind="$attrs"
9
+ >
10
+ <div ref="wrapper" class="magic-draggable__wrapper">
11
+ <component
12
+ :is="mappedOptions.tag"
13
+ ref="el"
14
+ class="magic-draggable__drag"
15
+ :style="style"
16
+ @pointerdown="guardedPointerdown"
17
+ @click="guardedClick"
18
+ >
19
+ <slot />
20
+ <div v-if="hasDragged" class="magic-draggable__overlay" />
21
+ </component>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script setup>
27
+ import { useTemplateRef, computed, toValue, toRefs } from "vue";
28
+ import { createDefu } from "defu";
29
+ import {
30
+ useMagicError
31
+ } from "@maas/vue-equipment/plugins/MagicError";
11
32
  import { useDraggableDrag } from "../composables/private/useDraggableDrag";
12
33
  import { useDraggableState } from "../composables/private/useDraggableState";
13
34
  import { defaultOptions } from "../utils/defaultOptions";
14
- export default /* @__PURE__ */ _defineComponent({
15
- ...{
16
- inheritAttrs: false
17
- },
18
- __name: "MagicDraggable",
19
- props: {
20
- id: { type: null, required: true },
21
- options: { type: Object, required: false, default: () => ({}) }
22
- },
23
- setup(__props) {
24
- const mappedOptions = defu(__props.options, defaultOptions);
25
- const elRef = ref(void 0);
26
- const wrapperRef = ref(void 0);
27
- const { initializeState } = useDraggableState(__props.id);
28
- const state = initializeState();
29
- const { dragging } = toRefs(state);
30
- const disabled = computed(() => {
31
- if (__props.options.disabled === void 0) {
32
- return defaultOptions.disabled;
33
- } else {
34
- return __props.options.disabled;
35
- }
36
- });
37
- const { snapPoints, animation, initial, threshold, scrollLock } = mappedOptions;
38
- const { onPointerdown, onClick, style, hasDragged } = useDraggableDrag({
39
- id: __props.id,
40
- elRef,
41
- wrapperRef,
42
- threshold,
43
- snapPoints,
44
- animation,
45
- initial,
46
- scrollLock
47
- });
48
- function guardedPointerdown(event) {
49
- if (!disabled.value) {
50
- onPointerdown(event);
51
- }
52
- }
53
- function guardedClick(event) {
54
- if (!disabled.value) {
55
- onClick(event);
56
- }
57
- }
58
- return (_ctx, _cache) => {
59
- return _openBlock(), _createElementBlock("div", _mergeProps({
60
- id: toValue(_ctx.id),
61
- ref: "drawerRef",
62
- class: [
63
- "magic-draggable",
64
- {
65
- "-dragging": _unref(dragging),
66
- "-disabled": disabled.value
67
- }
68
- ]
69
- }, _ctx.$attrs), [
70
- _createElementVNode(
71
- "div",
72
- {
73
- ref_key: "wrapperRef",
74
- ref: wrapperRef,
75
- class: "magic-draggable__wrapper"
76
- },
77
- [
78
- (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(mappedOptions).tag), {
79
- ref_key: "elRef",
80
- ref: elRef,
81
- class: "magic-draggable__drag",
82
- style: _normalizeStyle(_unref(style)),
83
- onPointerdown: guardedPointerdown,
84
- onClick: guardedClick
85
- }, {
86
- default: _withCtx(() => [
87
- _renderSlot(_ctx.$slots, "default"),
88
- _unref(hasDragged) ? (_openBlock(), _createElementBlock("div", _hoisted_2)) : _createCommentVNode("v-if", true)
89
- ]),
90
- _: 3
91
- /* FORWARDED */
92
- }, 40, ["style"]))
93
- ],
94
- 512
95
- /* NEED_PATCH */
96
- )
97
- ], 16, _hoisted_1);
98
- };
35
+ defineOptions({
36
+ inheritAttrs: false
37
+ });
38
+ const { id, options = {} } = defineProps({
39
+ id: { type: null, required: true },
40
+ options: { type: Object, required: false }
41
+ });
42
+ const magicError = useMagicError({
43
+ prefix: "MagicDraggable",
44
+ source: "MagicDraggable"
45
+ });
46
+ const customDefu = createDefu((obj, key, value) => {
47
+ if (key === "snapPoints") {
48
+ obj[key] = value;
49
+ return true;
50
+ }
51
+ });
52
+ const mappedOptions = customDefu(options, defaultOptions);
53
+ const mappedId = toValue(id);
54
+ if (!mappedOptions.snapPoints.length) {
55
+ magicError.throwError({
56
+ message: "MagicDraggable must have at least one snap point set",
57
+ errorCode: "missing_snap_point"
58
+ });
59
+ }
60
+ const elRef = useTemplateRef("el");
61
+ const wrapperRef = useTemplateRef("wrapper");
62
+ const { initializeState } = useDraggableState(id);
63
+ const state = initializeState();
64
+ const { dragging, activeSnapPoint } = toRefs(state);
65
+ const disabled = computed(() => {
66
+ if (options.disabled === void 0) {
67
+ return defaultOptions.disabled;
68
+ } else {
69
+ return options.disabled;
99
70
  }
100
71
  });
72
+ const { snapPoints, animation, initial, threshold, scrollLock } = mappedOptions;
73
+ const { onPointerdown, onClick, style, hasDragged } = useDraggableDrag({
74
+ id,
75
+ elRef,
76
+ wrapperRef,
77
+ threshold,
78
+ snapPoints,
79
+ animation,
80
+ initial,
81
+ scrollLock
82
+ });
83
+ function guardedPointerdown(event) {
84
+ if (!disabled.value) {
85
+ onPointerdown(event);
86
+ }
87
+ }
88
+ function guardedClick(event) {
89
+ if (!disabled.value) {
90
+ onClick(event);
91
+ }
92
+ }
101
93
  </script>
102
94
 
103
95
  <style>
@@ -108,13 +100,12 @@ export default /* @__PURE__ */ _defineComponent({
108
100
  z-index: var(--magic-draggable-z-index, 999);
109
101
  inset: var(--magic-draggable-inset, 0);
110
102
  pointer-events: none;
111
- background: transparent;
112
103
  color: inherit;
113
104
  padding: 0;
114
105
  border: none;
115
106
  }
116
107
 
117
- .magic-draggable.-disabled {
108
+ .magic-draggable[data-disabled='true'] {
118
109
  pointer-events: none;
119
110
  }
120
111
 
@@ -125,7 +116,7 @@ export default /* @__PURE__ */ _defineComponent({
125
116
  }
126
117
 
127
118
  .magic-draggable__drag {
128
- cursor: grab;
119
+ cursor: var(--magic-draggable-cursor, grab);
129
120
  user-select: none;
130
121
  pointer-events: auto;
131
122
  position: relative;
@@ -136,12 +127,12 @@ export default /* @__PURE__ */ _defineComponent({
136
127
  touch-action: none;
137
128
  }
138
129
 
139
- .magic-draggable.-dragging .magic-draggable__drag {
140
- cursor: grabbing;
130
+ .magic-draggable[data-dragging='true'] .magic-draggable__drag {
131
+ cursor: var(--magic-draggable-cursor-dragging, grabbing);
141
132
  user-select: none;
142
133
  }
143
134
 
144
- .magic-draggable.-disabled .magic-draggable__drag {
135
+ .magic-draggable[data-disabled='true'] .magic-draggable__drag {
145
136
  cursor: default;
146
137
  }
147
138
 
@@ -4,32 +4,15 @@ interface MagicDraggableProps {
4
4
  id: MaybeRef<string>;
5
5
  options?: MagicDraggableOptions;
6
6
  }
7
- declare function __VLS_template(): {
8
- attrs: Partial<{}>;
9
- slots: {
10
- default?(_: {}): any;
11
- };
12
- refs: {
13
- drawerRef: HTMLDivElement;
14
- wrapperRef: HTMLDivElement;
15
- elRef: unknown;
16
- };
17
- rootEl: any;
7
+ declare var __VLS_12: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_12) => any;
18
10
  };
19
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicDraggableProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicDraggableProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
11
+ declare const __VLS_base: import("vue").DefineComponent<MagicDraggableProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
22
14
  export default _default;
23
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
24
- type __VLS_TypePropsToOption<T> = {
25
- [K in keyof T]-?: {} extends Pick<T, K> ? {
26
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
27
- } : {
28
- type: import('vue').PropType<T[K]>;
29
- required: true;
30
- };
31
- };
32
- type __VLS_WithTemplateSlots<T, S> = T & {
15
+ type __VLS_WithSlots<T, S> = T & {
33
16
  new (): {
34
17
  $slots: S;
35
18
  };
@@ -2,8 +2,8 @@ import { type Ref, type MaybeRef } from 'vue';
2
2
  import type { DraggableDefaultOptions } from '../../types/index.js';
3
3
  type UseDraggableDragArgs = {
4
4
  id: MaybeRef<string>;
5
- elRef: Ref<HTMLElement | undefined>;
6
- wrapperRef: Ref<HTMLDivElement | undefined>;
5
+ elRef: Ref<HTMLElement | null>;
6
+ wrapperRef: Ref<HTMLDivElement | null>;
7
7
  threshold: MaybeRef<DraggableDefaultOptions['threshold']>;
8
8
  snapPoints: MaybeRef<DraggableDefaultOptions['snapPoints']>;
9
9
  animation: MaybeRef<DraggableDefaultOptions['animation']>;
@@ -1,5 +1,5 @@
1
1
  import {
2
- ref,
2
+ shallowRef,
3
3
  computed,
4
4
  toValue,
5
5
  nextTick,
@@ -23,7 +23,8 @@ import {
23
23
  } from "@maas/vue-equipment/utils";
24
24
  import {
25
25
  useMagicEmitter
26
- } from "@maas/vue-equipment/plugins";
26
+ } from "@maas/vue-equipment/plugins/MagicEmitter";
27
+ import { useMagicError } from "@maas/vue-equipment/plugins/MagicError";
27
28
  import { useDraggableSnap } from "./useDraggableSnap.mjs";
28
29
  import { useDraggableState } from "./useDraggableState.mjs";
29
30
  import { useDraggableScrollLock } from "./useDraggableScrollLock.mjs";
@@ -38,6 +39,10 @@ export function useDraggableDrag(args) {
38
39
  animation,
39
40
  scrollLock
40
41
  } = args;
42
+ const { logWarning } = useMagicError({
43
+ prefix: "MagicDraggable",
44
+ source: "useDraggableDrag"
45
+ });
41
46
  const { initializeState } = useDraggableState(toValue(id));
42
47
  const state = initializeState();
43
48
  const {
@@ -53,13 +58,14 @@ export function useDraggableDrag(args) {
53
58
  draggedX,
54
59
  draggedY,
55
60
  elRect,
56
- wrapperRect
61
+ wrapperRect,
62
+ activeSnapPoint
57
63
  } = toRefs(state);
58
64
  let cancelPointerup = void 0;
59
65
  let cancelPointermove = void 0;
60
66
  let cancelTouchend = void 0;
61
- const momentumThresholdReached = ref(false);
62
- const distanceThresholdReached = ref(false);
67
+ const momentumThresholdReached = shallowRef(false);
68
+ const distanceThresholdReached = shallowRef(false);
63
69
  const style = computed(
64
70
  () => `transform: translate3d(${draggedX.value}px, ${draggedY.value}px, 0)`
65
71
  );
@@ -78,19 +84,15 @@ export function useDraggableDrag(args) {
78
84
  });
79
85
  const {
80
86
  snapTo,
81
- activeSnapPoint,
87
+ mappedActiveSnapPoint,
82
88
  mapSnapPoint,
83
89
  mappedSnapPoints,
84
90
  snapPointsMap,
85
91
  interpolateDragged
86
92
  } = useDraggableSnap({
87
93
  id,
88
- elRect,
89
- wrapperRect,
90
94
  animation,
91
- snapPoints,
92
- draggedY,
93
- draggedX
95
+ snapPoints
94
96
  });
95
97
  const emitter = useMagicEmitter();
96
98
  const {
@@ -99,10 +101,9 @@ export function useDraggableDrag(args) {
99
101
  addScrollLockPadding,
100
102
  removeScrollLockPadding
101
103
  } = useDraggableScrollLock();
102
- async function getSizes() {
104
+ function getSizes() {
103
105
  elRect.value = unrefElement(elRef)?.getBoundingClientRect();
104
106
  wrapperRect.value = unrefElement(wrapperRef)?.getBoundingClientRect();
105
- await nextTick();
106
107
  }
107
108
  function setDragged({ x, y }) {
108
109
  draggedX.value = x - originX.value;
@@ -126,33 +127,18 @@ export function useDraggableDrag(args) {
126
127
  });
127
128
  }
128
129
  }
129
- function detectCollision() {
130
+ async function checkSizes() {
131
+ getSizes();
130
132
  const childRect = toValue(elRect);
131
133
  const parentRect = toValue(wrapperRect);
132
134
  if (!childRect || !parentRect) {
135
+ logWarning("Could not calculate sizing");
133
136
  return;
134
137
  }
135
138
  if (childRect.width > parentRect.width || childRect.height > parentRect.height) {
136
- console.warn("MagicDraggable is too small for its content");
139
+ logWarning("Element is too small for its content");
137
140
  return;
138
141
  }
139
- interpolateTo.value = { x: draggedX.value, y: draggedY.value };
140
- if (childRect.top < parentRect.top) {
141
- interpolateTo.value = { x: interpolateTo.value?.x, y: 0 };
142
- } else if (childRect.bottom > parentRect.bottom) {
143
- interpolateTo.value = {
144
- x: interpolateTo.value?.x,
145
- y: parentRect.height - childRect.height
146
- };
147
- }
148
- if (childRect.left < parentRect.left) {
149
- interpolateTo.value = { x: 0, y: interpolateTo.value?.y };
150
- } else if (childRect.right > parentRect.right) {
151
- interpolateTo.value = {
152
- x: parentRect.width - childRect.width,
153
- y: interpolateTo.value?.y
154
- };
155
- }
156
142
  }
157
143
  function vectorBetweenCoordinates(a, b) {
158
144
  const dx = b.x - a.x;
@@ -253,9 +239,18 @@ export function useDraggableDrag(args) {
253
239
  const draggedCoords = { x: draggedX.value, y: draggedY.value };
254
240
  const closestSnapPoint = mappedSnapPoints.value.reduce((a, b) => {
255
241
  return calculateDistance(a, draggedCoords) < calculateDistance(b, draggedCoords) ? a : b;
256
- });
242
+ }, mappedSnapPoints.value[0]);
257
243
  return closestSnapPoint;
258
244
  }
245
+ function onIdle() {
246
+ interpolateTo.value = findClosestSnapPoint();
247
+ if (distanceThresholdReached.value && momentumThresholdReached.value) {
248
+ intermediateDraggedX.value = draggedX.value;
249
+ intermediateDraggedY.value = draggedY.value;
250
+ distanceThresholdReached.value = false;
251
+ momentumThresholdReached.value = false;
252
+ }
253
+ }
259
254
  function onPointerup(e) {
260
255
  if (!momentumThresholdReached.value && distanceThresholdReached.value) {
261
256
  interpolateTo.value = findClosestSnapPoint();
@@ -263,9 +258,7 @@ export function useDraggableDrag(args) {
263
258
  const { x, y } = interpolateTo.value || {};
264
259
  if (x !== void 0 && y !== void 0) {
265
260
  interpolateDragged({ x, y });
266
- }
267
- if (interpolateTo.value) {
268
- const key = `x${interpolateTo.value.x}y${interpolateTo.value.y}`;
261
+ const key = `x${x}y${y}`;
269
262
  activeSnapPoint.value = snapPointsMap.value[key];
270
263
  }
271
264
  if (intermediateDraggedX.value === draggedX.value && intermediateDraggedY.value === draggedY.value) {
@@ -291,13 +284,11 @@ export function useDraggableDrag(args) {
291
284
  }
292
285
  guardedReleasePointerCapture({ event: e, element: elRef.value });
293
286
  }
294
- function onPointermove(e) {
287
+ async function onPointermove(e) {
295
288
  if (!e.isPrimary) {
296
289
  return;
297
290
  }
298
291
  setDragged({ x: e.screenX, y: e.screenY });
299
- getSizes();
300
- detectCollision();
301
292
  if (!distanceThresholdReached.value) {
302
293
  checkDistance();
303
294
  }
@@ -305,50 +296,44 @@ export function useDraggableDrag(args) {
305
296
  checkMomentum();
306
297
  }
307
298
  if (!distanceThresholdReached.value && !momentumThresholdReached.value) {
308
- interpolateTo.value = { x: lastDraggedX.value, y: lastDraggedY.value };
299
+ const { x, y } = mappedActiveSnapPoint.value ?? {};
300
+ if (x !== void 0 && y !== void 0) {
301
+ interpolateTo.value = { x, y };
302
+ }
309
303
  return;
310
304
  }
311
- if (toValue(snapPoints).length) {
312
- findSnapPointByVector();
313
- }
305
+ findSnapPointByVector();
314
306
  emitter.emit("drag", {
315
307
  id: toValue(id),
316
308
  x: draggedX.value,
317
309
  y: draggedY.value
318
310
  });
319
311
  }
320
- function onIdle() {
321
- interpolateTo.value = findClosestSnapPoint();
322
- if (distanceThresholdReached.value && momentumThresholdReached.value) {
323
- intermediateDraggedX.value = draggedX.value;
324
- intermediateDraggedY.value = draggedY.value;
325
- distanceThresholdReached.value = false;
326
- momentumThresholdReached.value = false;
327
- }
328
- }
329
312
  function onPointerdown(e) {
330
313
  const scrollLockValue = toValue(scrollLock);
331
314
  if (scrollLockValue) {
332
- lockScroll();
333
315
  if (typeof scrollLockValue === "object" && scrollLockValue.padding) {
334
316
  addScrollLockPadding();
335
317
  }
318
+ lockScroll();
336
319
  }
337
320
  if (dragging.value) {
338
321
  return;
339
- } else {
340
- guardedSetPointerCapture({ event: e, element: elRef.value });
341
- dragging.value = true;
342
- emitter.emit("beforeDrag", {
343
- id: toValue(id),
344
- x: draggedX.value,
345
- y: draggedY.value
346
- });
347
322
  }
323
+ checkSizes();
324
+ guardedSetPointerCapture({ event: e, element: elRef.value });
325
+ dragging.value = true;
326
+ emitter.emit("beforeDrag", {
327
+ id: toValue(id),
328
+ x: draggedX.value,
329
+ y: draggedY.value
330
+ });
348
331
  intermediateDraggedX.value = draggedX.value;
349
332
  intermediateDraggedY.value = draggedY.value;
350
333
  lastDraggedX.value = draggedX.value;
351
334
  lastDraggedY.value = draggedY.value;
335
+ originX.value = e.screenX - draggedX.value;
336
+ originY.value = e.screenY - draggedY.value;
352
337
  cancelPointerup = useEventListener(document, "pointerup", onPointerup);
353
338
  cancelPointermove = useEventListener(
354
339
  document,
@@ -357,8 +342,6 @@ export function useDraggableDrag(args) {
357
342
  { passive: false }
358
343
  );
359
344
  cancelTouchend = isIOS() ? useEventListener(document, "touchend", onPointerup) : void 0;
360
- originX.value = e.screenX - draggedX.value;
361
- originY.value = e.screenY - draggedY.value;
362
345
  dragStart.value = /* @__PURE__ */ new Date();
363
346
  onPointermove(e);
364
347
  }
@@ -372,7 +355,7 @@ export function useDraggableDrag(args) {
372
355
  if (elRect.value && wrapperRect.value) {
373
356
  emitter.on("snapTo", snapToCallback);
374
357
  if (elRect.value.width > wrapperRect.value.width || elRect.value.height > wrapperRect.value.height) {
375
- console.warn("MagicDraggable is too small for its content");
358
+ logWarning("is too small for its content");
376
359
  return;
377
360
  }
378
361
  }
@@ -394,19 +377,21 @@ export function useDraggableDrag(args) {
394
377
  });
395
378
  useResizeObserver(wrapperRef, async () => {
396
379
  useThrottleFn(async () => {
397
- await getSizes();
380
+ getSizes();
398
381
  if (activeSnapPoint.value) {
399
382
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
400
383
  snapPointsMap.trigger();
384
+ mappedSnapPoints.trigger();
401
385
  }
402
386
  }, 100)();
403
387
  });
404
388
  useResizeObserver(elRef, async () => {
405
389
  useThrottleFn(async () => {
406
- await getSizes();
390
+ getSizes();
407
391
  if (activeSnapPoint.value) {
408
392
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
409
393
  snapPointsMap.trigger();
394
+ mappedSnapPoints.trigger();
410
395
  }
411
396
  }, 100)();
412
397
  });
@@ -1,7 +1,11 @@
1
- import { ref } from "vue";
1
+ import { shallowRef, ref } from "vue";
2
2
  import { useScrollLock } from "@vueuse/core";
3
- import { matchClass } from "@maas/vue-equipment/utils";
4
- const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : ref(false);
3
+ import {
4
+ matchClass,
5
+ scrollbarWidth,
6
+ scrollbarGutterSupport
7
+ } from "@maas/vue-equipment/utils";
8
+ const scrollLock = typeof window !== "undefined" ? useScrollLock(document?.documentElement) : shallowRef(false);
5
9
  export function useDraggableScrollLock() {
6
10
  const positionFixedElements = ref([]);
7
11
  function lockScroll() {
@@ -11,26 +15,44 @@ export function useDraggableScrollLock() {
11
15
  scrollLock.value = false;
12
16
  }
13
17
  function addScrollLockPadding() {
14
- if (typeof window === "undefined") return;
18
+ if (typeof window === "undefined") {
19
+ return;
20
+ }
15
21
  const exclude = new RegExp(/magic-draggable/);
16
- const scrollbarWidth = window.innerWidth - document.body.offsetWidth;
17
- document.body.style.setProperty("--scrollbar-width", `${scrollbarWidth}px`);
18
- document.body.style.paddingRight = "var(--scrollbar-width)";
22
+ document.body.style.setProperty(
23
+ "--scrollbar-width",
24
+ `${scrollbarWidth()}px`
25
+ );
19
26
  positionFixedElements.value = [
20
27
  ...document.body.getElementsByTagName("*")
21
28
  ].filter(
22
- (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && !matchClass(x, exclude)
23
- );
24
- positionFixedElements.value.forEach(
25
- (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
29
+ (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && getComputedStyle(x, null).getPropertyValue("right") === "0px" && !matchClass(x, exclude)
26
30
  );
31
+ switch (scrollbarGutterSupport()) {
32
+ case true:
33
+ document.documentElement.style.scrollbarGutter = "stable";
34
+ positionFixedElements.value.forEach((elem) => {
35
+ elem.style.scrollbarGutter = "stable";
36
+ elem.style.overflow = "auto";
37
+ });
38
+ break;
39
+ case false:
40
+ document.body.style.paddingRight = "var(--scrollbar-width)";
41
+ positionFixedElements.value.forEach(
42
+ (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
43
+ );
44
+ break;
45
+ }
27
46
  }
28
47
  function removeScrollLockPadding() {
29
- document.body.style.paddingRight = "";
48
+ document.documentElement.style.scrollbarGutter = "";
30
49
  document.body.style.removeProperty("--scrollbar-width");
31
- positionFixedElements.value.forEach(
32
- (elem) => elem.style.paddingRight = ""
33
- );
50
+ document.body.style.paddingRight = "";
51
+ positionFixedElements.value.forEach((elem) => {
52
+ elem.style.paddingRight = "";
53
+ elem.style.scrollbarGutter = "";
54
+ elem.style.overflow = "";
55
+ });
34
56
  }
35
57
  return {
36
58
  lockScroll,
@@ -1,11 +1,7 @@
1
- import { type MaybeRef, type Ref } from 'vue';
1
+ import { type MaybeRef } from 'vue';
2
2
  import type { DraggableSnapPoint, Coordinates, DraggableDefaultOptions } from '../../types/index.js';
3
3
  type UseDraggableSnapArgs = {
4
4
  id: MaybeRef<string>;
5
- elRect: Ref<DOMRect | undefined>;
6
- wrapperRect: Ref<DOMRect | undefined>;
7
- draggedY: Ref<number>;
8
- draggedX: Ref<number>;
9
5
  animation: MaybeRef<DraggableDefaultOptions['animation']>;
10
6
  snapPoints: MaybeRef<DraggableDefaultOptions['snapPoints']>;
11
7
  };
@@ -21,17 +17,8 @@ type SnapToArgs = {
21
17
  duration?: number;
22
18
  };
23
19
  export declare function useDraggableSnap(args: UseDraggableSnapArgs): {
20
+ mappedActiveSnapPoint: import("vue").ComputedRef<Coordinates | undefined>;
24
21
  mappedSnapPoints: import("@vueuse/core").ComputedRefWithControl<Coordinates[]>;
25
- activeSnapPoint: Ref<("center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right") | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
26
- x?: number | undefined;
27
- y?: number | undefined;
28
- } | undefined] | undefined, "center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right" | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
29
- x?: number;
30
- y?: number;
31
- } | undefined] | ["center" | "top-left" | "top-center" | "top-right" | "center-left" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right", offset?: {
32
- x?: number | undefined;
33
- y?: number | undefined;
34
- } | undefined] | undefined>;
35
22
  snapPointsMap: import("@vueuse/core").ComputedRefWithControl<Record<string, DraggableSnapPoint>>;
36
23
  mapSnapPoint: (snapPoint: DraggableSnapPoint) => Coordinates | undefined;
37
24
  interpolateDragged: (args: InterpolateDraggedArgs) => void;