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

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 +63 -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 +114 -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 +16 -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;
@@ -228,6 +214,9 @@ export function useDraggableDrag(args) {
228
214
  );
229
215
  for (let i = 0; i < mappedSnapPoints.value.length; i++) {
230
216
  const snapPoint = mappedSnapPoints.value[i];
217
+ if (!snapPoint) {
218
+ return;
219
+ }
231
220
  const targetVector = vectorBetweenCoordinates(
232
221
  intermediateDraggedCoords,
233
222
  snapPoint
@@ -252,10 +241,22 @@ export function useDraggableDrag(args) {
252
241
  function findClosestSnapPoint() {
253
242
  const draggedCoords = { x: draggedX.value, y: draggedY.value };
254
243
  const closestSnapPoint = mappedSnapPoints.value.reduce((a, b) => {
244
+ if (!a) {
245
+ return b;
246
+ }
255
247
  return calculateDistance(a, draggedCoords) < calculateDistance(b, draggedCoords) ? a : b;
256
- });
248
+ }, mappedSnapPoints.value[0]);
257
249
  return closestSnapPoint;
258
250
  }
251
+ function onIdle() {
252
+ interpolateTo.value = findClosestSnapPoint();
253
+ if (distanceThresholdReached.value && momentumThresholdReached.value) {
254
+ intermediateDraggedX.value = draggedX.value;
255
+ intermediateDraggedY.value = draggedY.value;
256
+ distanceThresholdReached.value = false;
257
+ momentumThresholdReached.value = false;
258
+ }
259
+ }
259
260
  function onPointerup(e) {
260
261
  if (!momentumThresholdReached.value && distanceThresholdReached.value) {
261
262
  interpolateTo.value = findClosestSnapPoint();
@@ -263,9 +264,7 @@ export function useDraggableDrag(args) {
263
264
  const { x, y } = interpolateTo.value || {};
264
265
  if (x !== void 0 && y !== void 0) {
265
266
  interpolateDragged({ x, y });
266
- }
267
- if (interpolateTo.value) {
268
- const key = `x${interpolateTo.value.x}y${interpolateTo.value.y}`;
267
+ const key = `x${x}y${y}`;
269
268
  activeSnapPoint.value = snapPointsMap.value[key];
270
269
  }
271
270
  if (intermediateDraggedX.value === draggedX.value && intermediateDraggedY.value === draggedY.value) {
@@ -291,13 +290,11 @@ export function useDraggableDrag(args) {
291
290
  }
292
291
  guardedReleasePointerCapture({ event: e, element: elRef.value });
293
292
  }
294
- function onPointermove(e) {
293
+ async function onPointermove(e) {
295
294
  if (!e.isPrimary) {
296
295
  return;
297
296
  }
298
297
  setDragged({ x: e.screenX, y: e.screenY });
299
- getSizes();
300
- detectCollision();
301
298
  if (!distanceThresholdReached.value) {
302
299
  checkDistance();
303
300
  }
@@ -305,50 +302,50 @@ export function useDraggableDrag(args) {
305
302
  checkMomentum();
306
303
  }
307
304
  if (!distanceThresholdReached.value && !momentumThresholdReached.value) {
308
- interpolateTo.value = { x: lastDraggedX.value, y: lastDraggedY.value };
305
+ const { x, y } = mappedActiveSnapPoint.value ?? {};
306
+ if (x !== void 0 && y !== void 0) {
307
+ interpolateTo.value = { x, y };
308
+ }
309
309
  return;
310
310
  }
311
- if (toValue(snapPoints).length) {
312
- findSnapPointByVector();
313
- }
311
+ findSnapPointByVector();
314
312
  emitter.emit("drag", {
315
313
  id: toValue(id),
316
314
  x: draggedX.value,
317
315
  y: draggedY.value
318
316
  });
319
317
  }
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
318
  function onPointerdown(e) {
319
+ const isSelect = ["SELECT", "OPTION"].includes(
320
+ e.target.tagName
321
+ );
322
+ if (isSelect) {
323
+ return;
324
+ }
330
325
  const scrollLockValue = toValue(scrollLock);
331
326
  if (scrollLockValue) {
332
- lockScroll();
333
327
  if (typeof scrollLockValue === "object" && scrollLockValue.padding) {
334
328
  addScrollLockPadding();
335
329
  }
330
+ lockScroll();
336
331
  }
337
332
  if (dragging.value) {
338
333
  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
334
  }
335
+ checkSizes();
336
+ guardedSetPointerCapture({ event: e, element: elRef.value });
337
+ dragging.value = true;
338
+ emitter.emit("beforeDrag", {
339
+ id: toValue(id),
340
+ x: draggedX.value,
341
+ y: draggedY.value
342
+ });
348
343
  intermediateDraggedX.value = draggedX.value;
349
344
  intermediateDraggedY.value = draggedY.value;
350
345
  lastDraggedX.value = draggedX.value;
351
346
  lastDraggedY.value = draggedY.value;
347
+ originX.value = e.screenX - draggedX.value;
348
+ originY.value = e.screenY - draggedY.value;
352
349
  cancelPointerup = useEventListener(document, "pointerup", onPointerup);
353
350
  cancelPointermove = useEventListener(
354
351
  document,
@@ -357,8 +354,6 @@ export function useDraggableDrag(args) {
357
354
  { passive: false }
358
355
  );
359
356
  cancelTouchend = isIOS() ? useEventListener(document, "touchend", onPointerup) : void 0;
360
- originX.value = e.screenX - draggedX.value;
361
- originY.value = e.screenY - draggedY.value;
362
357
  dragStart.value = /* @__PURE__ */ new Date();
363
358
  onPointermove(e);
364
359
  }
@@ -372,7 +367,7 @@ export function useDraggableDrag(args) {
372
367
  if (elRect.value && wrapperRect.value) {
373
368
  emitter.on("snapTo", snapToCallback);
374
369
  if (elRect.value.width > wrapperRect.value.width || elRect.value.height > wrapperRect.value.height) {
375
- console.warn("MagicDraggable is too small for its content");
370
+ logWarning("is too small for its content");
376
371
  return;
377
372
  }
378
373
  }
@@ -394,19 +389,21 @@ export function useDraggableDrag(args) {
394
389
  });
395
390
  useResizeObserver(wrapperRef, async () => {
396
391
  useThrottleFn(async () => {
397
- await getSizes();
392
+ getSizes();
398
393
  if (activeSnapPoint.value) {
399
394
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
400
395
  snapPointsMap.trigger();
396
+ mappedSnapPoints.trigger();
401
397
  }
402
398
  }, 100)();
403
399
  });
404
400
  useResizeObserver(elRef, async () => {
405
401
  useThrottleFn(async () => {
406
- await getSizes();
402
+ getSizes();
407
403
  if (activeSnapPoint.value) {
408
404
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
409
405
  snapPointsMap.trigger();
406
+ mappedSnapPoints.trigger();
410
407
  }
411
408
  }, 100)();
412
409
  });
@@ -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;