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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +2 -2
  2. package/dist/composables/index.d.ts +5 -5
  3. package/dist/composables/index.js +23 -13
  4. package/dist/composables/index.js.map +1 -1
  5. package/dist/nuxt/module.d.mts +2 -1
  6. package/dist/nuxt/module.json +2 -2
  7. package/dist/nuxt/module.mjs +9 -2
  8. package/dist/nuxt/types.d.mts +3 -1
  9. package/dist/plugins/.turbo/turbo-lint.log +2 -10
  10. package/dist/plugins/MagicAccordion/nuxt.d.ts +1 -1
  11. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue +59 -82
  12. package/dist/plugins/MagicAccordion/src/components/MagicAccordionContent.vue.d.ts +35 -22
  13. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue +17 -31
  14. package/dist/plugins/MagicAccordion/src/components/MagicAccordionProvider.vue.d.ts +12 -21
  15. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue +57 -62
  16. package/dist/plugins/MagicAccordion/src/components/MagicAccordionTrigger.vue.d.ts +23 -59
  17. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue +34 -45
  18. package/dist/plugins/MagicAccordion/src/components/MagicAccordionView.vue.d.ts +17 -22
  19. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.d.ts +1 -1
  20. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionTrigger.mjs +1 -0
  21. package/dist/plugins/MagicAccordion/src/composables/private/useAccordionView.mjs +1 -0
  22. package/dist/plugins/MagicAccordion/src/composables/useMagicAccordion.mjs +1 -0
  23. package/dist/plugins/MagicAccordion/src/symbols/index.d.ts +2 -2
  24. package/dist/plugins/MagicCommand/nuxt.d.ts +1 -1
  25. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue +146 -152
  26. package/dist/plugins/MagicCommand/src/components/MagicCommandContent.vue.d.ts +24 -13
  27. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +42 -52
  28. package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +12 -21
  29. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +72 -87
  30. package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +29 -28
  31. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +37 -47
  32. package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +12 -21
  33. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +61 -77
  34. package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +12 -58
  35. package/dist/plugins/MagicCommand/src/components/MagicCommandRenderer.vue +23 -39
  36. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue +80 -86
  37. package/dist/plugins/MagicCommand/src/components/MagicCommandTrigger.vue.d.ts +25 -60
  38. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +36 -48
  39. package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +15 -22
  40. package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.d.ts +2 -2
  41. package/dist/plugins/MagicCommand/src/composables/private/useCommandState.mjs +1 -1
  42. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.d.ts +1 -1
  43. package/dist/plugins/MagicCommand/src/composables/private/useCommandTrigger.mjs +1 -0
  44. package/dist/plugins/MagicCommand/src/symbols/index.d.ts +4 -4
  45. package/dist/plugins/MagicCommand/src/types/index.d.ts +1 -1
  46. package/dist/plugins/MagicCookie/nuxt.d.ts +1 -1
  47. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue +34 -41
  48. package/dist/plugins/MagicCookie/src/components/MagicCookieItem.vue.d.ts +13 -22
  49. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue +19 -36
  50. package/dist/plugins/MagicCookie/src/components/MagicCookieProvider.vue.d.ts +9 -21
  51. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue +40 -72
  52. package/dist/plugins/MagicCookie/src/components/MagicCookieView.vue.d.ts +21 -12
  53. package/dist/plugins/MagicCookie/src/composables/private/useCookieItem.mjs +0 -1
  54. package/dist/plugins/MagicCookie/src/symbols/index.d.ts +2 -2
  55. package/dist/plugins/MagicDraggable/nuxt.d.ts +1 -1
  56. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +81 -100
  57. package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +94 -22
  58. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.d.ts +2 -2
  59. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableDrag.mjs +43 -63
  60. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableScrollLock.mjs +34 -14
  61. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.d.ts +2 -15
  62. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableSnap.mjs +117 -64
  63. package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.mjs +6 -5
  64. package/dist/plugins/MagicDraggable/src/types/index.d.ts +2 -1
  65. package/dist/plugins/MagicDraggable/src/utils/defaultOptions.mjs +1 -1
  66. package/dist/plugins/MagicDrawer/nuxt.d.ts +1 -1
  67. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +271 -308
  68. package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +165 -23
  69. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +34 -14
  70. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.d.ts +2 -2
  71. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -3
  72. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.d.ts +1 -1
  73. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerGuards.mjs +28 -10
  74. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.d.ts +2 -2
  75. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.d.ts +3 -3
  76. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerSnap.mjs +16 -14
  77. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.d.ts +1 -1
  78. package/dist/plugins/MagicDrawer/src/composables/private/useDrawerWheel.mjs +1 -1
  79. package/dist/plugins/MagicDrawer/src/types/index.mjs +1 -0
  80. package/dist/plugins/MagicEmitter/nuxt.d.ts +1 -1
  81. package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +100 -100
  82. package/dist/plugins/MagicMarquee/nuxt.d.ts +1 -1
  83. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +38 -72
  84. package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +14 -25
  85. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.d.ts +1 -1
  86. package/dist/plugins/MagicMarquee/src/composables/private/useMarqueeApi.mjs +8 -2
  87. package/dist/plugins/MagicMarquee/src/composables/useMagicMarquee.d.ts +1 -1
  88. package/dist/plugins/MagicMenu/nuxt.d.ts +1 -1
  89. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue +51 -63
  90. package/dist/plugins/MagicMenu/src/components/MagicMenuChannel.vue.d.ts +18 -21
  91. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +178 -214
  92. package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +41 -24
  93. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +171 -198
  94. package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +40 -25
  95. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +87 -113
  96. package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +31 -28
  97. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +82 -81
  98. package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +12 -58
  99. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue +63 -86
  100. package/dist/plugins/MagicMenu/src/components/MagicMenuRemote.vue.d.ts +19 -23
  101. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +94 -97
  102. package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +27 -60
  103. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +49 -61
  104. package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +15 -22
  105. package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +1 -1
  106. package/dist/plugins/MagicMenu/src/composables/private/useMenuChannel.mjs +15 -5
  107. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.d.ts +3 -3
  108. package/dist/plugins/MagicMenu/src/composables/private/useMenuCursor.mjs +4 -4
  109. package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +35 -15
  110. package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +1 -0
  111. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +1 -1
  112. package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +2 -0
  113. package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +18 -6
  114. package/dist/plugins/MagicMenu/src/composables/useMagicMenu.mjs +1 -0
  115. package/dist/plugins/MagicMenu/src/symbols/index.d.ts +4 -4
  116. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.d.ts +2 -2
  117. package/dist/plugins/MagicMenu/src/utils/modeDelayDefaults.mjs +2 -2
  118. package/dist/plugins/MagicModal/nuxt.d.ts +1 -1
  119. package/dist/plugins/MagicModal/src/components/MagicModal.vue +133 -168
  120. package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +44 -21
  121. package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +34 -14
  122. package/dist/plugins/MagicModal/src/types/index.mjs +1 -0
  123. package/dist/plugins/MagicNoise/nuxt.d.ts +1 -1
  124. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +50 -81
  125. package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +1 -10
  126. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +3 -3
  127. package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.mjs +2 -2
  128. package/dist/plugins/MagicPie/index.d.ts +7 -0
  129. package/dist/plugins/MagicPie/index.mjs +8 -0
  130. package/dist/plugins/MagicPie/nuxt.d.ts +2 -0
  131. package/dist/plugins/MagicPie/nuxt.mjs +23 -0
  132. package/dist/plugins/MagicPie/src/components/MagicPie.vue +168 -0
  133. package/dist/plugins/MagicPie/src/components/MagicPie.vue.d.ts +7 -0
  134. package/dist/plugins/MagicPie/src/composables/private/usePieState.d.ts +6 -0
  135. package/dist/plugins/MagicPie/src/composables/private/usePieState.mjs +33 -0
  136. package/dist/plugins/MagicPie/src/composables/useMagicPie.d.ts +13 -0
  137. package/dist/plugins/MagicPie/src/composables/useMagicPie.mjs +43 -0
  138. package/dist/plugins/MagicPie/src/types/index.d.ts +9 -0
  139. package/dist/plugins/MagicPie/src/types/index.mjs +0 -0
  140. package/dist/plugins/MagicPlayer/nuxt.d.ts +1 -1
  141. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudio.vue +58 -63
  142. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue +99 -127
  143. package/dist/plugins/MagicPlayer/src/components/MagicPlayerAudioControls.vue.d.ts +30 -26
  144. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +32 -42
  145. package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +1 -10
  146. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +106 -105
  147. package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +1 -10
  148. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +51 -76
  149. package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +29 -14
  150. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue +18 -37
  151. package/dist/plugins/MagicPlayer/src/components/MagicPlayerPoster.vue.d.ts +12 -11
  152. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue +41 -55
  153. package/dist/plugins/MagicPlayer/src/components/MagicPlayerProvider.vue.d.ts +23 -23
  154. package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +60 -109
  155. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideo.vue +74 -71
  156. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue +163 -209
  157. package/dist/plugins/MagicPlayer/src/components/MagicPlayerVideoControls.vue.d.ts +63 -33
  158. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.d.ts +0 -4
  159. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerAudioApi.mjs +6 -47
  160. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.d.ts +7 -34
  161. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerControlsApi.mjs +154 -235
  162. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.d.ts +3 -17
  163. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +17 -157
  164. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +2 -3
  165. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +7 -25
  166. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.d.ts +7 -0
  167. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerState.mjs +56 -0
  168. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.d.ts +3 -8
  169. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerVideoApi.mjs +7 -62
  170. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.d.ts +32 -51
  171. package/dist/plugins/MagicPlayer/src/composables/useMagicPlayer.mjs +49 -2
  172. package/dist/plugins/MagicPlayer/src/symbols/index.d.ts +5 -2
  173. package/dist/plugins/MagicPlayer/src/symbols/index.mjs +10 -1
  174. package/dist/plugins/MagicPlayer/src/types/index.d.ts +29 -0
  175. package/dist/plugins/MagicScroll/nuxt.d.ts +1 -1
  176. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +54 -61
  177. package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +9 -23
  178. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +56 -71
  179. package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +9 -23
  180. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +26 -33
  181. package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +45 -37
  182. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +63 -71
  183. package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +13 -24
  184. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.d.ts +2 -2
  185. package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetection.mjs +16 -6
  186. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +2 -2
  187. package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.mjs +41 -26
  188. package/dist/plugins/MagicScroll/src/symbols/index.d.ts +1 -1
  189. package/dist/plugins/MagicToast/nuxt.d.ts +1 -1
  190. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue +94 -118
  191. package/dist/plugins/MagicToast/src/components/MagicToastProvider.vue.d.ts +1 -10
  192. package/dist/plugins/MagicToast/src/components/MagicToastView.vue +54 -81
  193. package/dist/plugins/MagicToast/src/components/MagicToastView.vue.d.ts +24 -23
  194. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +2 -2
  195. package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -5
  196. package/dist/plugins/MagicToast/src/composables/private/useToastDrag.mjs +22 -22
  197. package/dist/plugins/MagicToast/src/composables/private/useToastListener.mjs +1 -0
  198. package/dist/plugins/MagicToast/src/composables/private/useToastScrollLock.mjs +33 -15
  199. package/dist/plugins/MagicToast/src/composables/private/useToastView.mjs +1 -0
  200. package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +1 -0
  201. package/dist/plugins/MagicToast/src/composables/useMagicToast.mjs +10 -2
  202. package/dist/plugins/MagicToast/src/types/index.d.ts +1 -1
  203. package/dist/plugins/MagicToast/src/utils/defaultOptions.mjs +1 -1
  204. package/dist/plugins/index.d.ts +1 -0
  205. package/dist/plugins/index.mjs +1 -0
  206. package/dist/utils/index.d.ts +9 -4
  207. package/dist/utils/index.js +39 -3
  208. package/dist/utils/index.js.map +1 -1
  209. package/package.json +17 -8
  210. package/dist/nuxt/module.cjs +0 -5
  211. package/dist/nuxt/module.d.ts +0 -9
  212. package/dist/nuxt/types.d.ts +0 -1
  213. package/dist/plugins/MagicAccordion/demo/data/footer.json +0 -117
  214. package/dist/plugins/MagicCommand/demo/data/about.json +0 -3
  215. package/dist/plugins/MagicCommand/demo/data/search.json +0 -594
  216. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.d.ts +0 -15
  217. package/dist/plugins/MagicPlayer/src/composables/private/usePlayerStateEmitter.mjs +0 -9
@@ -1,68 +1,61 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- import { ref, inject, computed, toValue, watch, useId, onMounted } from "vue";
1
+ <template>
2
+ <div ref="el" class="magic-scroll-collision">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import {
9
+ shallowRef,
10
+ inject,
11
+ computed,
12
+ toValue,
13
+ watch,
14
+ useId,
15
+ onMounted,
16
+ useTemplateRef
17
+ } from "vue";
5
18
  import { useCollisionDetection } from "../composables/private/useCollisionDetection";
6
19
  import { MagicScrollReturn, MagicScrollTarget } from "../symbols";
7
20
  import { useIntersectionObserver } from "@vueuse/core";
8
- export default /* @__PURE__ */ _defineComponent({
9
- __name: "MagicScrollCollision",
10
- props: {
11
- id: { type: String, required: false },
12
- offset: { type: Object, required: false }
13
- },
14
- setup(__props) {
15
- const scrollReturn = inject(MagicScrollReturn, void 0);
16
- const scrollTarget = inject(MagicScrollTarget);
17
- if (!scrollTarget) {
18
- console.error(
19
- "MagicScrollCollision must be used within a MagicScrollProvider"
20
- );
21
- }
22
- const intersecting = ref(false);
23
- const elRef = ref(void 0);
24
- const scrollY = computed(() => toValue(scrollReturn?.y) || 0);
25
- const mappedId = computed(() => __props.id ?? `magic-scroll-collision-${useId()}`);
26
- const { observe } = useCollisionDetection({
27
- id: mappedId.value,
28
- child: elRef,
29
- parent: scrollTarget,
30
- scrollY,
31
- offset: __props.offset
32
- });
33
- watch(
34
- () => scrollY.value,
35
- () => {
36
- if (intersecting.value) {
37
- observe();
38
- }
39
- }
40
- );
41
- useIntersectionObserver(
42
- elRef,
43
- ([{ isIntersecting }]) => {
44
- intersecting.value = isIntersecting;
45
- },
46
- { rootMargin: "150% 0px 150% 0px", immediate: true }
47
- );
48
- onMounted(() => {
21
+ const { id, offset } = defineProps({
22
+ id: { type: String, required: false },
23
+ offset: { type: Object, required: false }
24
+ });
25
+ const scrollReturn = inject(MagicScrollReturn, void 0);
26
+ const scrollTarget = inject(MagicScrollTarget);
27
+ if (!scrollTarget) {
28
+ console.error(
29
+ "MagicScrollCollision must be used within a MagicScrollProvider"
30
+ );
31
+ }
32
+ const intersecting = shallowRef(false);
33
+ const elRef = useTemplateRef("el");
34
+ const scrollY = computed(() => toValue(scrollReturn?.y) || 0);
35
+ const mappedId = computed(() => id ?? `magic-scroll-collision-${useId()}`);
36
+ const { observe } = useCollisionDetection({
37
+ id: mappedId.value,
38
+ child: elRef,
39
+ parent: scrollTarget,
40
+ scrollY,
41
+ offset
42
+ });
43
+ watch(
44
+ () => scrollY.value,
45
+ () => {
46
+ if (intersecting.value) {
49
47
  observe();
50
- });
51
- return (_ctx, _cache) => {
52
- return _openBlock(), _createElementBlock(
53
- "div",
54
- {
55
- ref_key: "elRef",
56
- ref: elRef,
57
- class: "magic-scroll-collision"
58
- },
59
- [
60
- _renderSlot(_ctx.$slots, "default")
61
- ],
62
- 512
63
- /* NEED_PATCH */
64
- );
65
- };
48
+ }
66
49
  }
50
+ );
51
+ useIntersectionObserver(
52
+ elRef,
53
+ ([{ isIntersecting }]) => {
54
+ intersecting.value = isIntersecting;
55
+ },
56
+ { rootMargin: "150% 0px 150% 0px", immediate: true }
57
+ );
58
+ onMounted(() => {
59
+ observe();
67
60
  });
68
61
  </script>
@@ -3,30 +3,16 @@ interface MagicScrollCollisionProps {
3
3
  id?: string;
4
4
  offset?: CollisionOffset;
5
5
  }
6
- declare function __VLS_template(): {
7
- attrs: Partial<{}>;
8
- slots: {
9
- default?(_: {}): any;
10
- };
11
- refs: {
12
- elRef: HTMLDivElement;
13
- };
14
- rootEl: HTMLDivElement;
15
- };
16
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollCollisionProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollCollisionProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
6
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ }>;
11
+ declare const __VLS_self: import("vue").DefineComponent<MagicScrollCollisionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollCollisionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_component: import("vue").DefineComponent<MagicScrollCollisionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollCollisionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
14
  export default _default;
20
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
21
- type __VLS_TypePropsToOption<T> = {
22
- [K in keyof T]-?: {} extends Pick<T, K> ? {
23
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
24
- } : {
25
- type: import('vue').PropType<T[K]>;
26
- required: true;
27
- };
28
- };
29
- type __VLS_WithTemplateSlots<T, S> = T & {
15
+ type __VLS_WithSlots<T, S> = T & {
30
16
  new (): {
31
17
  $slots: S;
32
18
  };
@@ -1,81 +1,66 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- import { ref, inject, computed, onMounted, watch } from "vue";
1
+ <template>
2
+ <div ref="el" class="magic-scroll-motion">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { ref, inject, computed, onMounted, watch, useTemplateRef } from "vue";
5
9
  import { unrefElement } from "@vueuse/core";
6
10
  import defu from "defu";
7
11
  import {
8
12
  animate
9
13
  } from "motion";
10
14
  import { MagicScrollProgress } from "../symbols";
11
- export default /* @__PURE__ */ _defineComponent({
12
- __name: "MagicScrollMotion",
13
- props: {
14
- sequence: { type: Array, required: true },
15
- sequenceOptions: { type: Object, required: false },
16
- progress: { type: Number, required: false }
15
+ import {} from "../types";
16
+ const { progress, sequence, sequenceOptions } = defineProps({
17
+ sequence: { type: Array, required: true },
18
+ sequenceOptions: { type: Object, required: false },
19
+ progress: { type: Number, required: false }
20
+ });
21
+ const animation = ref(void 0);
22
+ const elRef = useTemplateRef("el");
23
+ const injectedProgress = inject(
24
+ MagicScrollProgress,
25
+ computed(() => 0)
26
+ );
27
+ const mappedProgress = computed(() => {
28
+ return progress || injectedProgress.value || 0;
29
+ });
30
+ const defaultSequenceOptions = {
31
+ duration: 1,
32
+ delay: 0
33
+ };
34
+ const mappedSequenceOptions = defu(sequenceOptions, defaultSequenceOptions);
35
+ function createAnimation() {
36
+ const el = unrefElement(elRef);
37
+ if (!sequence || !sequence.length || !el) {
38
+ return;
39
+ }
40
+ const mappedSequence = sequence.map((item) => {
41
+ const [animation2 = [], options = {}] = item;
42
+ return [el, animation2, options];
43
+ });
44
+ animation.value = animate(mappedSequence, mappedSequenceOptions);
45
+ animation.value.pause();
46
+ animation.value.time = mappedProgress.value;
47
+ }
48
+ watch(mappedProgress, (value) => {
49
+ if (!value && value !== 0 || !animation.value) {
50
+ return;
51
+ }
52
+ animation.value.time = value;
53
+ });
54
+ watch(
55
+ () => sequence,
56
+ () => {
57
+ createAnimation();
17
58
  },
18
- setup(__props) {
19
- const animation = ref(void 0);
20
- const elRef = ref(void 0);
21
- const injectedProgress = inject(
22
- MagicScrollProgress,
23
- computed(() => 0)
24
- );
25
- const mappedProgress = computed(() => {
26
- return __props.progress || injectedProgress.value || 0;
27
- });
28
- const defaultSequenceOptions = {
29
- duration: 1,
30
- delay: 0
31
- };
32
- const mappedSequenceOptions = defu(__props.sequenceOptions, defaultSequenceOptions);
33
- function createAnimation() {
34
- const el = unrefElement(elRef);
35
- if (!__props.sequence || !__props.sequence.length || !el) {
36
- return;
37
- }
38
- const mappedSequence = __props.sequence.map((item) => {
39
- const [animation2 = [], options = {}] = item;
40
- return [el, animation2, options];
41
- });
42
- animation.value = animate(mappedSequence, mappedSequenceOptions);
43
- animation.value.pause();
44
- animation.value.time = mappedProgress.value;
45
- }
46
- watch(mappedProgress, (value) => {
47
- if (!value && value !== 0 || !animation.value) {
48
- return;
49
- }
50
- animation.value.time = value;
51
- });
52
- watch(
53
- () => __props.sequence,
54
- () => {
55
- createAnimation();
56
- },
57
- {
58
- deep: true
59
- }
60
- );
61
- onMounted(() => {
62
- createAnimation();
63
- });
64
- return (_ctx, _cache) => {
65
- return _openBlock(), _createElementBlock(
66
- "div",
67
- {
68
- ref_key: "elRef",
69
- ref: elRef,
70
- class: "magic-scroll-motion"
71
- },
72
- [
73
- _renderSlot(_ctx.$slots, "default")
74
- ],
75
- 512
76
- /* NEED_PATCH */
77
- );
78
- };
59
+ {
60
+ deep: true
79
61
  }
62
+ );
63
+ onMounted(() => {
64
+ createAnimation();
80
65
  });
81
66
  </script>
@@ -5,30 +5,16 @@ interface MagicScrollMotionProps {
5
5
  sequenceOptions?: SequenceOptions;
6
6
  progress?: number;
7
7
  }
8
- declare function __VLS_template(): {
9
- attrs: Partial<{}>;
10
- slots: {
11
- default?(_: {}): any;
12
- };
13
- refs: {
14
- elRef: HTMLDivElement;
15
- };
16
- rootEl: HTMLDivElement;
17
- };
18
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollMotionProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollMotionProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
8
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
9
+ declare var __VLS_1: {};
10
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
11
+ default?: (props: typeof __VLS_1) => any;
12
+ }>;
13
+ declare const __VLS_self: import("vue").DefineComponent<MagicScrollMotionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollMotionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_component: import("vue").DefineComponent<MagicScrollMotionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollMotionProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
21
16
  export default _default;
22
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
23
- type __VLS_TypePropsToOption<T> = {
24
- [K in keyof T]-?: {} extends Pick<T, K> ? {
25
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
26
- } : {
27
- type: import('vue').PropType<T[K]>;
28
- required: true;
29
- };
30
- };
31
- type __VLS_WithTemplateSlots<T, S> = T & {
17
+ type __VLS_WithSlots<T, S> = T & {
32
18
  new (): {
33
19
  $slots: S;
34
20
  };
@@ -1,40 +1,33 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { unref as _unref, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- const _hoisted_1 = { class: "magic-scroll-provider" };
1
+ <template>
2
+ <div class="magic-scroll-provider">
3
+ <slot :scroll-return="scrollReturn" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
5
8
  import { provide, computed } from "vue";
6
9
  import { useScroll, unrefElement } from "@vueuse/core";
7
10
  import { MagicScrollReturn, MagicScrollTarget } from "../symbols";
8
- export default /* @__PURE__ */ _defineComponent({
9
- __name: "MagicScrollProvider",
10
- props: {
11
- target: { type: null, required: false }
12
- },
13
- setup(__props) {
14
- const mappedTarget = computed(() => {
15
- switch (true) {
16
- case !!__props.target:
17
- return unrefElement(__props.target);
18
- case typeof window !== "undefined":
19
- return window;
20
- default:
21
- return void 0;
22
- }
23
- });
24
- const providedTarget = computed(() => {
25
- if (__props.target) {
26
- return unrefElement(__props.target);
27
- }
11
+ const { target } = defineProps({
12
+ target: { type: null, required: false }
13
+ });
14
+ const mappedTarget = computed(() => {
15
+ switch (true) {
16
+ case !!target:
17
+ return unrefElement(target);
18
+ case typeof window !== "undefined":
19
+ return window;
20
+ default:
28
21
  return void 0;
29
- });
30
- const scrollReturn = useScroll(mappedTarget);
31
- provide(MagicScrollReturn, scrollReturn);
32
- provide(MagicScrollTarget, providedTarget);
33
- return (_ctx, _cache) => {
34
- return _openBlock(), _createElementBlock("div", _hoisted_1, [
35
- _renderSlot(_ctx.$slots, "default", { scrollReturn: _unref(scrollReturn) })
36
- ]);
37
- };
38
22
  }
39
23
  });
24
+ const providedTarget = computed(() => {
25
+ if (target) {
26
+ return unrefElement(target);
27
+ }
28
+ return void 0;
29
+ });
30
+ const scrollReturn = useScroll(mappedTarget);
31
+ provide(MagicScrollReturn, scrollReturn);
32
+ provide(MagicScrollTarget, providedTarget);
40
33
  </script>
@@ -2,47 +2,55 @@ import { type MaybeElementRef } from '@vueuse/core';
2
2
  interface MagicScrollProviderProps {
3
3
  target?: MaybeElementRef<HTMLElement>;
4
4
  }
5
- declare function __VLS_template(): {
6
- attrs: Partial<{}>;
7
- slots: {
8
- default?(_: {
9
- scrollReturn: {
10
- x: import("vue").WritableComputedRef<number, number>;
11
- y: import("vue").WritableComputedRef<number, number>;
12
- isScrolling: import("vue").Ref<boolean, boolean>;
13
- arrivedState: {
14
- left: boolean;
15
- right: boolean;
16
- top: boolean;
17
- bottom: boolean;
18
- };
19
- directions: {
20
- left: boolean;
21
- right: boolean;
22
- top: boolean;
23
- bottom: boolean;
24
- };
25
- measure(): void;
26
- };
27
- }): any;
5
+ declare const scrollReturn: {
6
+ x: import("vue").WritableComputedRef<number, number>;
7
+ y: import("vue").WritableComputedRef<number, number>;
8
+ isScrolling: import("vue").ShallowRef<boolean, boolean>;
9
+ arrivedState: {
10
+ left: boolean;
11
+ right: boolean;
12
+ top: boolean;
13
+ bottom: boolean;
28
14
  };
29
- refs: {};
30
- rootEl: HTMLDivElement;
15
+ directions: {
16
+ left: boolean;
17
+ right: boolean;
18
+ top: boolean;
19
+ bottom: boolean;
20
+ };
21
+ measure(): void;
31
22
  };
32
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
33
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollProviderProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicScrollProviderProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
34
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
35
- export default _default;
36
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
37
- type __VLS_TypePropsToOption<T> = {
38
- [K in keyof T]-?: {} extends Pick<T, K> ? {
39
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
40
- } : {
41
- type: import('vue').PropType<T[K]>;
42
- required: true;
23
+ declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
24
+ declare var __VLS_1: {
25
+ scrollReturn: {
26
+ x: import("vue").WritableComputedRef<number, number>;
27
+ y: import("vue").WritableComputedRef<number, number>;
28
+ isScrolling: import("vue").ShallowRef<boolean, boolean>;
29
+ arrivedState: {
30
+ left: boolean;
31
+ right: boolean;
32
+ top: boolean;
33
+ bottom: boolean;
34
+ };
35
+ directions: {
36
+ left: boolean;
37
+ right: boolean;
38
+ top: boolean;
39
+ bottom: boolean;
40
+ };
41
+ measure(): void;
43
42
  };
44
43
  };
45
- type __VLS_WithTemplateSlots<T, S> = T & {
44
+ type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
45
+ default?: (props: typeof __VLS_1) => any;
46
+ }>;
47
+ declare const __VLS_self: import("vue").DefineComponent<MagicScrollProviderProps, {
48
+ scrollReturn: typeof scrollReturn;
49
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
50
+ declare const __VLS_component: import("vue").DefineComponent<MagicScrollProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MagicScrollProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
+ export default _default;
53
+ type __VLS_WithSlots<T, S> = T & {
46
54
  new (): {
47
55
  $slots: S;
48
56
  };
@@ -1,7 +1,19 @@
1
- <script>
2
- import { defineComponent as _defineComponent } from "vue";
3
- import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
4
- import { ref, provide, inject, watch, nextTick, readonly } from "vue";
1
+ <template>
2
+ <div ref="el" class="magic-scroll-scene">
3
+ <slot :progress="progress" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import {
9
+ shallowRef,
10
+ provide,
11
+ inject,
12
+ watch,
13
+ nextTick,
14
+ readonly,
15
+ useTemplateRef
16
+ } from "vue";
5
17
  import { useIntersectionObserver } from "@vueuse/core";
6
18
  import { useScrollApi } from "../composables/private/useScrollApi";
7
19
  import {
@@ -9,73 +21,53 @@ import {
9
21
  MagicScrollProgress,
10
22
  MagicScrollReturn
11
23
  } from "../symbols";
12
- export default /* @__PURE__ */ _defineComponent({
13
- __name: "MagicScrollScene",
14
- props: {
15
- from: { type: String, required: false, default: "top-bottom" },
16
- to: { type: String, required: false, default: "bottom-top" }
17
- },
18
- setup(__props) {
19
- const scrollReturn = inject(MagicScrollReturn, void 0);
20
- const scrollTarget = inject(MagicScrollTarget);
21
- if (!scrollTarget) {
22
- console.error("MagicScrollScene must be used within a MagicScrollProvider");
23
- }
24
- const progress = ref(0);
25
- const intersecting = ref(false);
26
- const elRef = ref(void 0);
27
- const { getCalculations, getProgress } = useScrollApi({
28
- child: elRef,
29
- parent: scrollTarget,
30
- from: __props.from,
31
- to: __props.to
32
- });
33
- async function calculate() {
34
- getCalculations();
35
- await nextTick();
36
- progress.value = getProgress();
24
+ const { from = "top-bottom", to = "bottom-top" } = defineProps({
25
+ from: { type: String, required: false },
26
+ to: { type: String, required: false }
27
+ });
28
+ const scrollReturn = inject(MagicScrollReturn, void 0);
29
+ const scrollTarget = inject(MagicScrollTarget, void 0);
30
+ if (!scrollTarget) {
31
+ console.error("MagicScrollScene must be used within a MagicScrollProvider");
32
+ }
33
+ const progress = shallowRef(0);
34
+ const intersecting = shallowRef(false);
35
+ const elRef = useTemplateRef("el");
36
+ const { getCalculations, getProgress } = useScrollApi({
37
+ child: elRef,
38
+ parent: scrollTarget,
39
+ from,
40
+ to
41
+ });
42
+ async function calculate() {
43
+ getCalculations();
44
+ await nextTick();
45
+ progress.value = getProgress();
46
+ }
47
+ watch(
48
+ () => scrollReturn?.y.value,
49
+ () => {
50
+ if (intersecting.value) {
51
+ calculate();
37
52
  }
38
- watch(
39
- () => scrollReturn?.y.value,
40
- () => {
41
- if (intersecting.value) {
42
- calculate();
43
- }
44
- }
45
- );
46
- watch(
47
- () => scrollReturn?.y.value,
48
- () => {
49
- calculate();
50
- },
51
- { once: true }
52
- );
53
- useIntersectionObserver(
54
- elRef,
55
- ([{ isIntersecting }]) => {
56
- intersecting.value = isIntersecting;
57
- if (isIntersecting) {
58
- calculate();
59
- }
60
- },
61
- { rootMargin: "150% 0px 150% 0px", immediate: true }
62
- );
63
- provide(MagicScrollProgress, readonly(progress));
64
- return (_ctx, _cache) => {
65
- return _openBlock(), _createElementBlock(
66
- "div",
67
- {
68
- ref_key: "elRef",
69
- ref: elRef,
70
- class: "magic-scroll-scene"
71
- },
72
- [
73
- _renderSlot(_ctx.$slots, "default", { progress: progress.value })
74
- ],
75
- 512
76
- /* NEED_PATCH */
77
- );
78
- };
79
53
  }
80
- });
54
+ );
55
+ watch(
56
+ () => scrollReturn?.y.value,
57
+ () => {
58
+ calculate();
59
+ },
60
+ { once: true }
61
+ );
62
+ useIntersectionObserver(
63
+ elRef,
64
+ ([{ isIntersecting }]) => {
65
+ intersecting.value = isIntersecting;
66
+ if (isIntersecting) {
67
+ calculate();
68
+ }
69
+ },
70
+ { rootMargin: "150% 0px 150% 0px", immediate: true }
71
+ );
72
+ provide(MagicScrollProgress, readonly(progress));
81
73
  </script>