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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/index.d.ts +5 -5
  3. package/dist/composables/index.js +23 -13
  4. package/dist/composables/index.js.map +1 -1
  5. package/dist/nuxt/module.d.mts +2 -1
  6. package/dist/nuxt/module.json +2 -2
  7. package/dist/nuxt/module.mjs +9 -2
  8. package/dist/nuxt/types.d.mts +3 -1
  9. package/dist/plugins/.turbo/turbo-lint.log +2 -10
  10. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +59 -82
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +35 -22
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +17 -31
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +12 -21
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +57 -62
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +23 -59
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +34 -45
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +17 -22
  19. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +1 -0
  21. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  22. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +1 -0
  23. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  24. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +146 -152
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +24 -13
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +42 -52
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +12 -21
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +72 -87
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +29 -28
  31. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +37 -47
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +12 -21
  33. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +61 -77
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +12 -58
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +23 -39
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +80 -86
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +25 -60
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +36 -48
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +15 -22
  40. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  41. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  42. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  43. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +1 -0
  44. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  45. package/dist/plugins/MagicCommand/src/types/index.d.ts +1 -1
  46. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  47. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +34 -41
  48. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +13 -22
  49. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  50. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +9 -21
  51. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +40 -72
  52. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +21 -12
  53. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +0 -1
  54. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  55. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  56. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +81 -100
  57. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +94 -22
  58. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  59. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +43 -63
  60. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  61. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  62. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +117 -64
  63. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  64. package/dist/plugins/MagicDraggable/src/types/index.d.ts +2 -1
  65. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  66. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  67. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +271 -308
  68. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +165 -23
  69. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  70. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  71. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  72. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  73. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  74. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  75. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  76. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  77. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  78. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +1 -1
  79. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  80. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  81. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +100 -100
  82. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  83. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  84. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +14 -25
  85. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  86. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  87. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  88. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  89. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +51 -63
  90. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +18 -21
  91. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +178 -214
  92. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +41 -24
  93. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  94. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +40 -25
  95. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +87 -113
  96. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +31 -28
  97. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  98. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +12 -58
  99. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +63 -86
  100. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +19 -23
  101. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +94 -97
  102. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +27 -60
  103. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +49 -61
  104. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +15 -22
  105. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  106. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  107. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  108. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  109. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  110. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +6 -2
  111. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  112. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +2 -0
  113. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  114. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  115. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  116. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  117. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  118. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  119. package/dist/plugins/MagicModal/src/components/MagicModal.vue +133 -168
  120. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +44 -21
  121. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  122. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  123. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  124. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  125. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  126. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  127. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  128. package/dist/plugins/MagicPie/index.d.ts +7 -0
  129. package/dist/plugins/MagicPie/index.mjs +8 -0
  130. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  131. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  132. package/dist/plugins/MagicPie/src/components/MagicPie.vue +168 -0
  133. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  134. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  135. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  136. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  137. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  138. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  139. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  140. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  141. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +58 -63
  142. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +99 -127
  143. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +30 -26
  144. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +32 -42
  145. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  146. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +106 -105
  147. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  148. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +51 -76
  149. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +29 -14
  150. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +18 -37
  151. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +12 -11
  152. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +41 -55
  153. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +23 -23
  154. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  155. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +74 -71
  156. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +163 -209
  157. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +63 -33
  158. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  159. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +6 -47
  160. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +7 -34
  161. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +154 -235
  162. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  163. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +17 -157
  164. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +2 -3
  165. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +7 -25
  166. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  167. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +56 -0
  168. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +3 -8
  169. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +7 -62
  170. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +32 -51
  171. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +49 -2
  172. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +5 -2
  173. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +10 -1
  174. package/dist/plugins/MagicPlayer/src/types/index.d.ts +29 -0
  175. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  176. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +54 -61
  177. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +9 -23
  178. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  179. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +9 -23
  180. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  181. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +45 -37
  182. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +63 -71
  183. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +13 -24
  184. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  185. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +16 -6
  186. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  187. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  188. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  189. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  190. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +94 -118
  191. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -10
  192. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +54 -81
  193. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +24 -23
  194. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  195. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  196. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +22 -22
  197. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  198. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  199. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  200. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  201. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  202. package/dist/plugins/MagicToast/src/types/index.d.ts +1 -1
  203. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  204. package/dist/plugins/index.d.ts +1 -0
  205. package/dist/plugins/index.mjs +1 -0
  206. package/dist/utils/index.d.ts +9 -4
  207. package/dist/utils/index.js +39 -3
  208. package/dist/utils/index.js.map +1 -1
  209. package/package.json +17 -8
  210. package/dist/nuxt/module.cjs +0 -5
  211. package/dist/nuxt/module.d.ts +0 -9
  212. package/dist/nuxt/types.d.ts +0 -1
  213. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  214. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  215. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  216. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  217. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
@@ -4,32 +4,104 @@ 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;
7
+ declare const mappedOptions: Omit<MagicDraggableOptions, keyof MagicDraggableOptions> & Omit<import("../types/index.js").DraggableDefaultOptions, keyof MagicDraggableOptions> & {
8
+ threshold: ({
9
+ lock?: number;
10
+ distance?: number;
11
+ momentum?: number;
12
+ idle?: number;
13
+ } & import("../../../../utils/index.js").RequireAll<{
14
+ lock?: number;
15
+ distance?: number;
16
+ momentum?: number;
17
+ idle?: number;
18
+ }>) | (Omit<{
19
+ lock?: number;
20
+ distance?: number;
21
+ momentum?: number;
22
+ idle?: number;
23
+ }, "lock" | "distance" | "momentum" | "idle"> & Omit<{
24
+ lock?: number;
25
+ distance?: number;
26
+ momentum?: number;
27
+ idle?: number;
28
+ } & import("../../../../utils/index.js").RequireAll<{
29
+ lock?: number;
30
+ distance?: number;
31
+ momentum?: number;
32
+ idle?: number;
33
+ }>, "lock" | "distance" | "momentum" | "idle"> & {
34
+ lock: number;
35
+ distance: number;
36
+ momentum: number;
37
+ idle: number;
38
+ });
39
+ disabled: boolean;
40
+ animation: ({
41
+ snap?: {
42
+ duration?: number;
43
+ easing?: (t: number) => number;
44
+ };
45
+ } & import("../../../../utils/index.js").RequireAll<{
46
+ snap?: {
47
+ duration?: number;
48
+ easing?: (t: number) => number;
49
+ };
50
+ }>) | (Omit<{
51
+ snap?: {
52
+ duration?: number;
53
+ easing?: (t: number) => number;
54
+ };
55
+ }, "snap"> & Omit<{
56
+ snap?: {
57
+ duration?: number;
58
+ easing?: (t: number) => number;
59
+ };
60
+ } & import("../../../../utils/index.js").RequireAll<{
61
+ snap?: {
62
+ duration?: number;
63
+ easing?: (t: number) => number;
64
+ };
65
+ }>, "snap"> & {
66
+ snap: {
67
+ duration?: number;
68
+ easing?: (t: number) => number;
69
+ };
70
+ });
71
+ tag: "div" | "dialog";
72
+ scrollLock: boolean | {
73
+ padding: boolean;
11
74
  };
12
- refs: {
13
- drawerRef: HTMLDivElement;
14
- wrapperRef: HTMLDivElement;
15
- elRef: unknown;
75
+ snapPoints: import("../types/index.js").DraggableSnapPoint[];
76
+ initial: {
77
+ snapPoint?: import("../types/index.js").DraggableSnapPoint;
16
78
  };
17
- rootEl: any;
18
79
  };
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"]>;
80
+ declare const mappedId: string;
81
+ declare const dragging: import("vue").Ref<boolean, boolean>;
82
+ declare const disabled: import("vue").ComputedRef<boolean>;
83
+ declare const style: import("vue").ComputedRef<string>, hasDragged: import("vue").ComputedRef<boolean>;
84
+ declare function guardedPointerdown(event: PointerEvent): void;
85
+ declare function guardedClick(event: PointerEvent): void;
86
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
87
+ declare var __VLS_12: {};
88
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
89
+ default?: (props: typeof __VLS_12) => any;
90
+ }>;
91
+ declare const __VLS_self: import("vue").DefineComponent<MagicDraggableProps, {
92
+ mappedOptions: typeof mappedOptions;
93
+ mappedId: typeof mappedId;
94
+ dragging: typeof dragging;
95
+ disabled: typeof disabled;
96
+ style: typeof style;
97
+ hasDragged: typeof hasDragged;
98
+ guardedPointerdown: typeof guardedPointerdown;
99
+ guardedClick: typeof guardedClick;
100
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
101
+ declare const __VLS_component: import("vue").DefineComponent<MagicDraggableProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicDraggableProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
102
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
22
103
  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 & {
104
+ type __VLS_WithSlots<T, S> = T & {
33
105
  new (): {
34
106
  $slots: S;
35
107
  };
@@ -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,
@@ -53,13 +53,14 @@ export function useDraggableDrag(args) {
53
53
  draggedX,
54
54
  draggedY,
55
55
  elRect,
56
- wrapperRect
56
+ wrapperRect,
57
+ activeSnapPoint
57
58
  } = toRefs(state);
58
59
  let cancelPointerup = void 0;
59
60
  let cancelPointermove = void 0;
60
61
  let cancelTouchend = void 0;
61
- const momentumThresholdReached = ref(false);
62
- const distanceThresholdReached = ref(false);
62
+ const momentumThresholdReached = shallowRef(false);
63
+ const distanceThresholdReached = shallowRef(false);
63
64
  const style = computed(
64
65
  () => `transform: translate3d(${draggedX.value}px, ${draggedY.value}px, 0)`
65
66
  );
@@ -78,19 +79,15 @@ export function useDraggableDrag(args) {
78
79
  });
79
80
  const {
80
81
  snapTo,
81
- activeSnapPoint,
82
+ mappedActiveSnapPoint,
82
83
  mapSnapPoint,
83
84
  mappedSnapPoints,
84
85
  snapPointsMap,
85
86
  interpolateDragged
86
87
  } = useDraggableSnap({
87
88
  id,
88
- elRect,
89
- wrapperRect,
90
89
  animation,
91
- snapPoints,
92
- draggedY,
93
- draggedX
90
+ snapPoints
94
91
  });
95
92
  const emitter = useMagicEmitter();
96
93
  const {
@@ -99,10 +96,9 @@ export function useDraggableDrag(args) {
99
96
  addScrollLockPadding,
100
97
  removeScrollLockPadding
101
98
  } = useDraggableScrollLock();
102
- async function getSizes() {
99
+ function getSizes() {
103
100
  elRect.value = unrefElement(elRef)?.getBoundingClientRect();
104
101
  wrapperRect.value = unrefElement(wrapperRef)?.getBoundingClientRect();
105
- await nextTick();
106
102
  }
107
103
  function setDragged({ x, y }) {
108
104
  draggedX.value = x - originX.value;
@@ -126,33 +122,18 @@ export function useDraggableDrag(args) {
126
122
  });
127
123
  }
128
124
  }
129
- function detectCollision() {
125
+ async function checkSizes() {
126
+ getSizes();
130
127
  const childRect = toValue(elRect);
131
128
  const parentRect = toValue(wrapperRect);
132
129
  if (!childRect || !parentRect) {
130
+ console.warn("MagicDraggable could not calculate sizing");
133
131
  return;
134
132
  }
135
133
  if (childRect.width > parentRect.width || childRect.height > parentRect.height) {
136
134
  console.warn("MagicDraggable is too small for its content");
137
135
  return;
138
136
  }
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
137
  }
157
138
  function vectorBetweenCoordinates(a, b) {
158
139
  const dx = b.x - a.x;
@@ -253,9 +234,18 @@ export function useDraggableDrag(args) {
253
234
  const draggedCoords = { x: draggedX.value, y: draggedY.value };
254
235
  const closestSnapPoint = mappedSnapPoints.value.reduce((a, b) => {
255
236
  return calculateDistance(a, draggedCoords) < calculateDistance(b, draggedCoords) ? a : b;
256
- });
237
+ }, mappedSnapPoints.value[0]);
257
238
  return closestSnapPoint;
258
239
  }
240
+ function onIdle() {
241
+ interpolateTo.value = findClosestSnapPoint();
242
+ if (distanceThresholdReached.value && momentumThresholdReached.value) {
243
+ intermediateDraggedX.value = draggedX.value;
244
+ intermediateDraggedY.value = draggedY.value;
245
+ distanceThresholdReached.value = false;
246
+ momentumThresholdReached.value = false;
247
+ }
248
+ }
259
249
  function onPointerup(e) {
260
250
  if (!momentumThresholdReached.value && distanceThresholdReached.value) {
261
251
  interpolateTo.value = findClosestSnapPoint();
@@ -263,9 +253,7 @@ export function useDraggableDrag(args) {
263
253
  const { x, y } = interpolateTo.value || {};
264
254
  if (x !== void 0 && y !== void 0) {
265
255
  interpolateDragged({ x, y });
266
- }
267
- if (interpolateTo.value) {
268
- const key = `x${interpolateTo.value.x}y${interpolateTo.value.y}`;
256
+ const key = `x${x}y${y}`;
269
257
  activeSnapPoint.value = snapPointsMap.value[key];
270
258
  }
271
259
  if (intermediateDraggedX.value === draggedX.value && intermediateDraggedY.value === draggedY.value) {
@@ -291,13 +279,11 @@ export function useDraggableDrag(args) {
291
279
  }
292
280
  guardedReleasePointerCapture({ event: e, element: elRef.value });
293
281
  }
294
- function onPointermove(e) {
282
+ async function onPointermove(e) {
295
283
  if (!e.isPrimary) {
296
284
  return;
297
285
  }
298
286
  setDragged({ x: e.screenX, y: e.screenY });
299
- getSizes();
300
- detectCollision();
301
287
  if (!distanceThresholdReached.value) {
302
288
  checkDistance();
303
289
  }
@@ -305,50 +291,44 @@ export function useDraggableDrag(args) {
305
291
  checkMomentum();
306
292
  }
307
293
  if (!distanceThresholdReached.value && !momentumThresholdReached.value) {
308
- interpolateTo.value = { x: lastDraggedX.value, y: lastDraggedY.value };
294
+ const { x, y } = mappedActiveSnapPoint.value ?? {};
295
+ if (x !== void 0 && y !== void 0) {
296
+ interpolateTo.value = { x, y };
297
+ }
309
298
  return;
310
299
  }
311
- if (toValue(snapPoints).length) {
312
- findSnapPointByVector();
313
- }
300
+ findSnapPointByVector();
314
301
  emitter.emit("drag", {
315
302
  id: toValue(id),
316
303
  x: draggedX.value,
317
304
  y: draggedY.value
318
305
  });
319
306
  }
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
307
  function onPointerdown(e) {
330
308
  const scrollLockValue = toValue(scrollLock);
331
309
  if (scrollLockValue) {
332
- lockScroll();
333
310
  if (typeof scrollLockValue === "object" && scrollLockValue.padding) {
334
311
  addScrollLockPadding();
335
312
  }
313
+ lockScroll();
336
314
  }
337
315
  if (dragging.value) {
338
316
  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
317
  }
318
+ checkSizes();
319
+ guardedSetPointerCapture({ event: e, element: elRef.value });
320
+ dragging.value = true;
321
+ emitter.emit("beforeDrag", {
322
+ id: toValue(id),
323
+ x: draggedX.value,
324
+ y: draggedY.value
325
+ });
348
326
  intermediateDraggedX.value = draggedX.value;
349
327
  intermediateDraggedY.value = draggedY.value;
350
328
  lastDraggedX.value = draggedX.value;
351
329
  lastDraggedY.value = draggedY.value;
330
+ originX.value = e.screenX - draggedX.value;
331
+ originY.value = e.screenY - draggedY.value;
352
332
  cancelPointerup = useEventListener(document, "pointerup", onPointerup);
353
333
  cancelPointermove = useEventListener(
354
334
  document,
@@ -357,8 +337,6 @@ export function useDraggableDrag(args) {
357
337
  { passive: false }
358
338
  );
359
339
  cancelTouchend = isIOS() ? useEventListener(document, "touchend", onPointerup) : void 0;
360
- originX.value = e.screenX - draggedX.value;
361
- originY.value = e.screenY - draggedY.value;
362
340
  dragStart.value = /* @__PURE__ */ new Date();
363
341
  onPointermove(e);
364
342
  }
@@ -394,19 +372,21 @@ export function useDraggableDrag(args) {
394
372
  });
395
373
  useResizeObserver(wrapperRef, async () => {
396
374
  useThrottleFn(async () => {
397
- await getSizes();
375
+ getSizes();
398
376
  if (activeSnapPoint.value) {
399
377
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
400
378
  snapPointsMap.trigger();
379
+ mappedSnapPoints.trigger();
401
380
  }
402
381
  }, 100)();
403
382
  });
404
383
  useResizeObserver(elRef, async () => {
405
384
  useThrottleFn(async () => {
406
- await getSizes();
385
+ getSizes();
407
386
  if (activeSnapPoint.value) {
408
387
  await snapTo({ snapPoint: activeSnapPoint.value, interpolate: false });
409
388
  snapPointsMap.trigger();
389
+ mappedSnapPoints.trigger();
410
390
  }
411
391
  }, 100)();
412
392
  });
@@ -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() {
@@ -13,24 +17,40 @@ export function useDraggableScrollLock() {
13
17
  function addScrollLockPadding() {
14
18
  if (typeof window === "undefined") return;
15
19
  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)";
20
+ document.body.style.setProperty(
21
+ "--scrollbar-width",
22
+ `${scrollbarWidth()}px`
23
+ );
19
24
  positionFixedElements.value = [
20
25
  ...document.body.getElementsByTagName("*")
21
26
  ].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)"
27
+ (x) => getComputedStyle(x, null).getPropertyValue("position") === "fixed" && getComputedStyle(x, null).getPropertyValue("right") === "0px" && !matchClass(x, exclude)
26
28
  );
29
+ switch (scrollbarGutterSupport()) {
30
+ case true:
31
+ document.documentElement.style.scrollbarGutter = "stable";
32
+ positionFixedElements.value.forEach((elem) => {
33
+ elem.style.scrollbarGutter = "stable";
34
+ elem.style.overflow = "auto";
35
+ });
36
+ break;
37
+ case false:
38
+ document.body.style.paddingRight = "var(--scrollbar-width)";
39
+ positionFixedElements.value.forEach(
40
+ (elem) => elem.style.paddingRight = "var(--scrollbar-width)"
41
+ );
42
+ break;
43
+ }
27
44
  }
28
45
  function removeScrollLockPadding() {
29
- document.body.style.paddingRight = "";
46
+ document.documentElement.style.scrollbarGutter = "";
30
47
  document.body.style.removeProperty("--scrollbar-width");
31
- positionFixedElements.value.forEach(
32
- (elem) => elem.style.paddingRight = ""
33
- );
48
+ document.body.style.paddingRight = "";
49
+ positionFixedElements.value.forEach((elem) => {
50
+ elem.style.paddingRight = "";
51
+ elem.style.scrollbarGutter = "";
52
+ elem.style.overflow = "";
53
+ });
34
54
  }
35
55
  return {
36
56
  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;