@maas/vue-equipment 0.29.2 → 0.29.4
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.
- package/dist/composables/index.js +5 -10
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/index.mjs +5 -10
- package/dist/composables/index.mjs.map +1 -1
- package/dist/nuxt/module.json +5 -1
- package/dist/nuxt/module.mjs +16 -9
- package/dist/nuxt/types.d.mts +1 -16
- package/dist/nuxt/types.d.ts +1 -16
- package/dist/plugins/MagicCommand/index.d.ts +2 -4
- package/dist/plugins/MagicCommand/index.mjs +2 -2
- package/dist/plugins/MagicCommand/src/components/MagicCommandBody.vue +3 -3
- package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue +7 -4
- package/dist/plugins/MagicCommand/src/components/MagicCommandDrawer.vue.d.ts +2 -4
- package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue +4 -4
- package/dist/plugins/MagicCommand/src/components/MagicCommandItem.vue.d.ts +5 -5
- package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue +9 -6
- package/dist/plugins/MagicCommand/src/components/MagicCommandModal.vue.d.ts +2 -4
- package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue +4 -4
- package/dist/plugins/MagicCommand/src/components/MagicCommandProvider.vue.d.ts +5 -5
- package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue +4 -2
- package/dist/plugins/MagicCommand/src/components/MagicCommandView.vue.d.ts +3 -3
- package/dist/plugins/MagicCommand/src/composables/private/useCommandScroll.mjs +1 -1
- package/dist/plugins/MagicCommand/src/composables/private/useCommandStore.mjs +1 -1
- package/dist/plugins/MagicCommand/src/symbols/index.d.ts +3 -3
- package/dist/plugins/MagicCommand/src/symbols/index.mjs +2 -2
- package/dist/plugins/MagicCommand/src/types/index.d.ts +5 -5
- package/dist/plugins/MagicCommand/src/utils/defaultOptions.d.ts +2 -2
- package/dist/plugins/MagicCookie/index.d.ts +0 -2
- package/dist/plugins/MagicCookie/src/components/MagicCookie.vue +6 -7
- package/dist/plugins/MagicCookie/src/components/MagicCookie.vue.d.ts +6 -6
- package/dist/plugins/MagicCookie/src/composables/private/useCookieApi.d.ts +17 -0
- package/dist/plugins/MagicCookie/src/composables/private/{defineCookieApi.mjs → useCookieApi.mjs} +4 -4
- package/dist/plugins/MagicCookie/src/composables/useMagicCookie.d.ts +5 -5
- package/dist/plugins/MagicCookie/src/composables/useMagicCookie.mjs +4 -4
- package/dist/plugins/MagicCookie/src/types/index.d.ts +6 -10
- package/dist/plugins/MagicDraggable/index.d.ts +2 -2
- package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue +10 -9
- package/dist/plugins/MagicDraggable/src/components/MagicDraggable.vue.d.ts +6 -8
- package/dist/plugins/MagicDraggable/src/composables/private/useDraggableState.d.ts +1 -2
- package/dist/plugins/MagicDraggable/src/types/index.d.ts +1 -1
- package/dist/plugins/MagicDraggable/src/utils/defaultOptions.d.ts +4 -4
- package/dist/plugins/MagicDrawer/index.d.ts +2 -2
- package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue +9 -8
- package/dist/plugins/MagicDrawer/src/components/MagicDrawer.vue.d.ts +3 -5
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerCallback.d.ts +2 -2
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.d.ts +3 -3
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDOM.mjs +2 -2
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerDrag.mjs +3 -1
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerProgress.mjs +3 -1
- package/dist/plugins/MagicDrawer/src/composables/private/useDrawerState.mjs +1 -3
- package/dist/plugins/MagicDrawer/src/types/index.d.ts +1 -1
- package/dist/plugins/MagicDrawer/src/utils/defaultOptions.d.ts +7 -7
- package/dist/plugins/MagicEmitter/src/composables/useMagicEmitter.d.ts +494 -170
- package/dist/plugins/MagicEmitter/src/types/index.d.ts +9 -9
- package/dist/plugins/MagicMarquee/nuxt.mjs +1 -5
- package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue +3 -3
- package/dist/plugins/MagicMarquee/src/components/MagicMarquee.vue.d.ts +3 -3
- package/dist/plugins/MagicMenu/index.d.ts +4 -0
- package/dist/plugins/MagicMenu/index.mjs +27 -0
- package/dist/plugins/MagicMenu/nuxt.d.ts +2 -0
- package/dist/plugins/MagicMenu/nuxt.mjs +14 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue +144 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuContent.vue.d.ts +26 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue +169 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuFloat.vue.d.ts +24 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue +137 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuItem.vue.d.ts +29 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue +106 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuProvider.vue.d.ts +24 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +122 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue.d.ts +26 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue +53 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuView.vue.d.ts +21 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.d.ts +18 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuCallback.mjs +52 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.d.ts +6 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuDOM.mjs +42 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.d.ts +15 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuItem.mjs +75 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.d.ts +10 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuKeyListener.mjs +178 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuState.d.ts +7 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuState.mjs +48 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.d.ts +18 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuTrigger.mjs +262 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuUtils.d.ts +3 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuUtils.mjs +16 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuView.d.ts +20 -0
- package/dist/plugins/MagicMenu/src/composables/private/useMenuView.mjs +116 -0
- package/dist/plugins/MagicMenu/src/symbols/index.d.ts +9 -0
- package/dist/plugins/MagicMenu/src/symbols/index.mjs +16 -0
- package/dist/plugins/MagicMenu/src/types/index.d.ts +72 -0
- package/dist/plugins/MagicMenu/src/types/index.mjs +0 -0
- package/dist/plugins/MagicMenu/src/utils/defaultOptions.d.ts +4 -0
- package/dist/plugins/MagicMenu/src/utils/defaultOptions.mjs +9 -0
- package/dist/plugins/MagicModal/index.d.ts +2 -2
- package/dist/plugins/MagicModal/src/components/MagicModal.vue +9 -6
- package/dist/plugins/MagicModal/src/components/MagicModal.vue.d.ts +5 -6
- package/dist/plugins/MagicModal/src/composables/private/useModalCallback.d.ts +2 -2
- package/dist/plugins/MagicModal/src/composables/private/useModalDOM.d.ts +3 -3
- package/dist/plugins/MagicModal/src/composables/private/useModalDOM.mjs +2 -2
- package/dist/plugins/MagicModal/src/types/index.d.ts +1 -1
- package/dist/plugins/MagicModal/src/utils/defaultOptions.d.ts +2 -2
- package/dist/plugins/MagicNoise/index.d.ts +1 -2
- package/dist/plugins/MagicNoise/index.mjs +1 -2
- package/dist/plugins/MagicNoise/nuxt.mjs +1 -5
- package/dist/plugins/MagicNoise/src/components/MagicNoise.vue +4 -4
- package/dist/plugins/MagicNoise/src/components/MagicNoise.vue.d.ts +5 -5
- package/dist/plugins/MagicNoise/src/composables/private/useNoiseApi.d.ts +2 -2
- package/dist/plugins/MagicNoise/src/types/index.d.ts +1 -1
- package/dist/plugins/MagicNoise/src/utils/defaultOptions.d.ts +2 -2
- package/dist/plugins/MagicPlayer/index.d.ts +0 -1
- package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayer.vue +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayer.vue.d.ts +3 -3
- package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayerControls.vue +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicAudioPlayerControls.vue.d.ts +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayer.vue +9 -30
- package/dist/plugins/MagicPlayer/src/components/MagicPlayer.vue.d.ts +10 -14
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerControls.vue +79 -56
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerControls.vue.d.ts +20 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerDisplayTime.vue.d.ts +3 -3
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue +9 -7
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerMuxPopover.vue.d.ts +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerOverlay.vue.d.ts +2 -2
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue +2 -3
- package/dist/plugins/MagicPlayer/src/components/MagicPlayerTimeline.vue.d.ts +2 -2
- package/dist/plugins/MagicPlayer/src/composables/private/usePlayerMediaApi.mjs +3 -0
- package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.d.ts +2 -2
- package/dist/plugins/MagicPlayer/src/composables/private/usePlayerRuntime.mjs +23 -4
- package/dist/plugins/MagicPlayer/src/types/index.d.ts +1 -1
- package/dist/plugins/MagicScroll/index.d.ts +3 -3
- package/dist/plugins/MagicScroll/index.mjs +1 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue +11 -7
- package/dist/plugins/MagicScroll/src/components/MagicScrollCollision.vue.d.ts +2 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue +2 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollMotion.vue.d.ts +3 -3
- package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue +2 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollProvider.vue.d.ts +3 -3
- package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue +2 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollScene.vue.d.ts +3 -3
- package/dist/plugins/MagicScroll/src/components/MagicScrollTransform.vue +2 -2
- package/dist/plugins/MagicScroll/src/components/MagicScrollTransform.vue.d.ts +3 -3
- package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetect.d.ts +28 -0
- package/dist/plugins/MagicScroll/src/composables/private/useCollisionDetect.mjs +144 -0
- package/dist/plugins/MagicScroll/src/composables/private/useScrollApi.d.ts +0 -1
- package/dist/plugins/MagicScroll/src/types/index.d.ts +19 -25
- package/dist/plugins/MagicToast/index.d.ts +0 -2
- package/dist/plugins/MagicToast/src/components/MagicToast.vue +4 -4
- package/dist/plugins/MagicToast/src/components/MagicToast.vue.d.ts +2 -2
- package/dist/plugins/MagicToast/src/components/MagicToastComponent.vue +4 -4
- package/dist/plugins/MagicToast/src/components/MagicToastComponent.vue.d.ts +5 -5
- package/dist/plugins/MagicToast/src/composables/private/useToastApi.d.ts +1 -1
- package/dist/plugins/MagicToast/src/composables/private/useToastCallback.d.ts +3 -3
- package/dist/plugins/MagicToast/src/composables/private/useToastCallback.mjs +5 -7
- package/dist/plugins/MagicToast/src/composables/private/useToastInternalApi.d.ts +2 -2
- package/dist/plugins/MagicToast/src/composables/private/useToastStore.d.ts +4 -14
- package/dist/plugins/MagicToast/src/composables/useMagicToast.d.ts +6 -6
- package/dist/plugins/MagicToast/src/types/index.d.ts +20 -21
- package/dist/plugins/MagicToast/src/utils/defaultOptions.d.ts +2 -2
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.mjs +1 -0
- package/dist/utils/index.js +4 -8
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +4 -8
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +9 -4
- package/dist/plugins/MagicCookie/src/composables/private/defineCookieApi.d.ts +0 -12
- package/dist/plugins/MagicScroll/src/composables/useCollisionDetect.d.ts +0 -6
- package/dist/plugins/MagicScroll/src/composables/useCollisionDetect.mjs +0 -119
|
@@ -12,67 +12,70 @@
|
|
|
12
12
|
'-not-idle': !idle,
|
|
13
13
|
'-hover': mouseEntered,
|
|
14
14
|
'-not-hover': !mouseEntered,
|
|
15
|
+
'-standalone': standalone,
|
|
15
16
|
}"
|
|
16
17
|
>
|
|
17
|
-
<
|
|
18
|
-
<div
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<div class="magic-player-controls__bar--inner" ref="barRef">
|
|
28
|
-
<div class="magic-player-controls__item -shrink-0">
|
|
29
|
-
<button v-if="!playing" @click="play">
|
|
30
|
-
<slot name="playIcon">
|
|
31
|
-
<icon-play />
|
|
32
|
-
</slot>
|
|
33
|
-
</button>
|
|
34
|
-
<button v-else @click="pause">
|
|
35
|
-
<slot name="pauseIcon">
|
|
36
|
-
<icon-pause />
|
|
37
|
-
</slot>
|
|
38
|
-
</button>
|
|
18
|
+
<transition :name="transition">
|
|
19
|
+
<div class="magic-player-controls__bar" v-show="!hidden">
|
|
20
|
+
<div
|
|
21
|
+
v-if="$slots.seekPopover"
|
|
22
|
+
v-show="!!seekedTime && touched"
|
|
23
|
+
ref="popoverRef"
|
|
24
|
+
class="magic-player-controls__popover"
|
|
25
|
+
:style="{ marginLeft: `${popoverOffsetX}%` }"
|
|
26
|
+
>
|
|
27
|
+
<slot name="seekPopover" />
|
|
39
28
|
</div>
|
|
40
|
-
<div class="magic-player-
|
|
41
|
-
<div class="magic-player-
|
|
42
|
-
<
|
|
29
|
+
<div class="magic-player-controls__bar--inner" ref="barRef">
|
|
30
|
+
<div class="magic-player-controls__item -shrink-0">
|
|
31
|
+
<button v-if="!playing" @click="play">
|
|
32
|
+
<slot name="playIcon">
|
|
33
|
+
<icon-play />
|
|
34
|
+
</slot>
|
|
35
|
+
</button>
|
|
36
|
+
<button v-else @click="pause">
|
|
37
|
+
<slot name="pauseIcon">
|
|
38
|
+
<icon-pause />
|
|
39
|
+
</slot>
|
|
40
|
+
</button>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="magic-player-controls__item -grow">
|
|
43
|
+
<div class="magic-player-controls__timeline" ref="trackRef">
|
|
44
|
+
<magic-player-timeline :id="id" />
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="magic-player-controls__item -shrink-0">
|
|
48
|
+
<button v-if="muted" @click="unmute">
|
|
49
|
+
<slot name="volumeOffIcon">
|
|
50
|
+
<icon-volume-off />
|
|
51
|
+
</slot>
|
|
52
|
+
</button>
|
|
53
|
+
<button v-else @click="mute">
|
|
54
|
+
<slot name="volumeOnIcon">
|
|
55
|
+
<icon-volume-on />
|
|
56
|
+
</slot>
|
|
57
|
+
</button>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="magic-player-controls__item -shrink-0">
|
|
60
|
+
<button v-if="isFullscreen" @click="exitFullscreen">
|
|
61
|
+
<slot name="fullscreenExitIcon">
|
|
62
|
+
<icon-fullscreen-exit />
|
|
63
|
+
</slot>
|
|
64
|
+
</button>
|
|
65
|
+
<button v-else @click="enterFullscreen">
|
|
66
|
+
<slot name="fullscreenEnterIcon">
|
|
67
|
+
<icon-fullscreen-enter />
|
|
68
|
+
</slot>
|
|
69
|
+
</button>
|
|
43
70
|
</div>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="magic-player-controls__item -shrink-0">
|
|
46
|
-
<button v-if="muted" @click="unmute">
|
|
47
|
-
<slot name="volumeOffIcon">
|
|
48
|
-
<icon-volume-off />
|
|
49
|
-
</slot>
|
|
50
|
-
</button>
|
|
51
|
-
<button v-else @click="mute">
|
|
52
|
-
<slot name="volumeOnIcon">
|
|
53
|
-
<icon-volume-on />
|
|
54
|
-
</slot>
|
|
55
|
-
</button>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="magic-player-controls__item -shrink-0">
|
|
58
|
-
<button v-if="isFullscreen" @click="exitFullscreen">
|
|
59
|
-
<slot name="fullscreenExitIcon">
|
|
60
|
-
<icon-fullscreen-exit />
|
|
61
|
-
</slot>
|
|
62
|
-
</button>
|
|
63
|
-
<button v-else @click="enterFullscreen">
|
|
64
|
-
<slot name="fullscreenEnterIcon">
|
|
65
|
-
<icon-fullscreen-enter />
|
|
66
|
-
</slot>
|
|
67
|
-
</button>
|
|
68
71
|
</div>
|
|
69
72
|
</div>
|
|
70
|
-
</
|
|
73
|
+
</transition>
|
|
71
74
|
</div>
|
|
72
75
|
</template>
|
|
73
76
|
|
|
74
77
|
<script setup lang="ts">
|
|
75
|
-
import { ref } from 'vue'
|
|
78
|
+
import { ref, computed } from 'vue'
|
|
76
79
|
import { useIdle } from '@vueuse/core'
|
|
77
80
|
import IconPlay from './icons/Play.vue'
|
|
78
81
|
import IconPause from './icons/Pause.vue'
|
|
@@ -84,11 +87,18 @@ import { usePlayerMediaApi } from '../composables/private/usePlayerMediaApi'
|
|
|
84
87
|
import { usePlayerVideoApi } from '../composables/private/usePlayerVideoApi'
|
|
85
88
|
import { usePlayerControlsApi } from '../composables/private/usePlayerControlsApi'
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
import '@maas/vue-equipment/utils/css/animations/fade-up-in.css'
|
|
91
|
+
import '@maas/vue-equipment/utils/css/animations/fade-up-out.css'
|
|
92
|
+
|
|
93
|
+
interface MagicPlayerControlsProps {
|
|
88
94
|
id: string
|
|
95
|
+
standalone?: boolean
|
|
96
|
+
transition?: string
|
|
89
97
|
}
|
|
90
98
|
|
|
91
|
-
const props = defineProps<
|
|
99
|
+
const props = withDefaults(defineProps<MagicPlayerControlsProps>(), {
|
|
100
|
+
transition: 'magic-player-controls',
|
|
101
|
+
})
|
|
92
102
|
|
|
93
103
|
const barRef = ref<HTMLDivElement | undefined>(undefined)
|
|
94
104
|
const trackRef = ref<HTMLDivElement | undefined>(undefined)
|
|
@@ -118,10 +128,23 @@ const { popoverOffsetX, seekedTime } = usePlayerControlsApi({
|
|
|
118
128
|
})
|
|
119
129
|
|
|
120
130
|
const { idle } = useIdle(3000)
|
|
131
|
+
|
|
132
|
+
const hidden = computed(() => {
|
|
133
|
+
switch (true) {
|
|
134
|
+
case props.standalone:
|
|
135
|
+
return false
|
|
136
|
+
case playing.value && idle.value:
|
|
137
|
+
return true
|
|
138
|
+
case playing.value && !mouseEntered.value:
|
|
139
|
+
return true
|
|
140
|
+
case !touched.value:
|
|
141
|
+
return true
|
|
142
|
+
default:
|
|
143
|
+
return false
|
|
144
|
+
}
|
|
145
|
+
})
|
|
121
146
|
</script>
|
|
122
147
|
|
|
123
148
|
<style>
|
|
124
|
-
:root{--magic-player-controls-height:3rem;--magic-player-controls-padding:0.75rem;--magic-player-controls-bottom:1.5rem;--magic-player-controls-left:1.5rem;--magic-player-controls-width:calc(100% - var(--magic-player-controls-left)*2);--magic-player-controls-gap:1rem;--magic-player-controls-border-radius:50rem;--magic-player-controls-background:rgba(32,32,32,.8);--magic-player-controls-backdrop-filter:blur(80px);--magic-player-controls-color:#fff;--magic-player-controls-button-width:3rem;--magic-player-controls-icon-width:1.25rem
|
|
125
|
-
--magic-player-controls-transition-timing-function
|
|
126
|
-
);width:var(--magic-player-controls-width)}.magic-player-controls__bar--inner{align-items:center;-webkit-backdrop-filter:var(--magic-player-controls-backdrop-filter);backdrop-filter:var(--magic-player-controls-backdrop-filter);background-color:var(--magic-player-controls-background);border-radius:var(--magic-player-controls-border-radius);box-sizing:border-box;color:var(--magic-player-controls-color);display:flex;height:var(--magic-player-controls-height);padding:0 var(--magic-player-controls-padding);width:100%}.magic-player-controls__item{align-items:center;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.magic-player-controls__item.-shrink-0{flex-shrink:0}.magic-player-controls__item.-grow{flex-grow:1}.magic-player-controls__item button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:0;color:inherit;cursor:pointer;display:flex;height:var(--magic-player-controls-height);justify-content:center;outline:none;padding:0;width:var(--magic-player-controls-button-width)}.magic-player-controls__item button svg{display:block;height:auto;width:var(--magic-player-controls-icon-width)}.magic-player-controls__timeline{width:100%}.magic-player-controls:not(.-standalone).-playing.-idle .magic-player-controls__bar,.magic-player-controls:not(.-standalone).-playing.-not-hover .magic-player-controls__bar,.magic-player-controls:not(.-standalone).-untouched .magic-player-controls__bar{opacity:0;transform:translateY(25%)}.magic-player-controls.-standalone{inset:unset;position:relative;--magic-player-controls-width:100%;--magic-player-controls-bottom:0;--magic-player-controls-left:0;--magic-player-controls-padding:0;--magic-player-controls-background:unset;--magic-player-controls-border-radius:unset;--magic-player-controls-background:transparent;--magic-player-controls-backdrop-filter:none;--magic-player-controls-transition-duration:unset;--magic-player-controls-transition-timing-function:unset}.magic-player-controls.-standalone .magic-player-controls__bar{position:relative}
|
|
149
|
+
:root{--magic-player-controls-height:3rem;--magic-player-controls-padding:0.75rem;--magic-player-controls-bottom:1.5rem;--magic-player-controls-left:1.5rem;--magic-player-controls-width:calc(100% - var(--magic-player-controls-left)*2);--magic-player-controls-gap:1rem;--magic-player-controls-border-radius:50rem;--magic-player-controls-background:rgba(32,32,32,.8);--magic-player-controls-backdrop-filter:blur(80px);--magic-player-controls-color:#fff;--magic-player-controls-button-width:3rem;--magic-player-controls-icon-width:1.25rem}@media (max-width:640px){:root{--magic-player-controls-height:2.5rem;--magic-player-controls-bottom:0.75rem;--magic-player-controls-padding:0.5rem}}.magic-player-controls{inset:0;pointer-events:none;position:absolute;width:100%}.magic-player-controls-enter-active{animation:fade-up-in .15s ease}.magic-player-controls-leave-active{animation:fade-up-out .15s ease}.magic-player-controls__bar{align-items:flex-start;bottom:var(--magic-player-controls-bottom);display:flex;flex-direction:column;gap:var(--magic-player-controls-gap);left:var(--magic-player-controls-left);margin:0 auto;pointer-events:auto;position:absolute;width:var(--magic-player-controls-width)}.magic-player-controls__bar--inner{align-items:center;-webkit-backdrop-filter:var(--magic-player-controls-backdrop-filter);backdrop-filter:var(--magic-player-controls-backdrop-filter);background-color:var(--magic-player-controls-background);border-radius:var(--magic-player-controls-border-radius);box-sizing:border-box;color:var(--magic-player-controls-color);display:flex;height:var(--magic-player-controls-height);padding:0 var(--magic-player-controls-padding);width:100%}.magic-player-controls__item{align-items:center;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.magic-player-controls__item.-shrink-0{flex-shrink:0}.magic-player-controls__item.-grow{flex-grow:1}.magic-player-controls__item button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:0;color:inherit;cursor:pointer;display:flex;height:var(--magic-player-controls-height);justify-content:center;outline:none;padding:0;width:var(--magic-player-controls-button-width)}.magic-player-controls__item button svg{display:block;height:auto;width:var(--magic-player-controls-icon-width)}.magic-player-controls__timeline{width:100%}.magic-player-controls.-standalone{inset:unset;position:relative;--magic-player-controls-width:100%;--magic-player-controls-bottom:0;--magic-player-controls-left:0;--magic-player-controls-padding:0;--magic-player-controls-background:unset;--magic-player-controls-border-radius:unset;--magic-player-controls-background:transparent;--magic-player-controls-backdrop-filter:none;--magic-player-controls-transition-duration:unset;--magic-player-controls-transition-timing-function:unset}.magic-player-controls.-standalone .magic-player-controls__bar{position:relative}
|
|
127
150
|
</style>
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import '@maas/vue-equipment/utils/css/animations/fade-up-in.css';
|
|
2
|
+
import '@maas/vue-equipment/utils/css/animations/fade-up-out.css';
|
|
3
|
+
interface MagicPlayerControlsProps {
|
|
2
4
|
id: string;
|
|
5
|
+
standalone?: boolean;
|
|
6
|
+
transition?: string;
|
|
3
7
|
}
|
|
4
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<
|
|
8
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicPlayerControlsProps>, {
|
|
9
|
+
transition: string;
|
|
10
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicPlayerControlsProps>, {
|
|
11
|
+
transition: string;
|
|
12
|
+
}>>>, {
|
|
13
|
+
transition: string;
|
|
14
|
+
}, {}>, {
|
|
5
15
|
seekPopover?(_: {}): any;
|
|
6
16
|
playIcon?(_: {}): any;
|
|
7
17
|
pauseIcon?(_: {}): any;
|
|
@@ -11,6 +21,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
|
|
|
11
21
|
fullscreenEnterIcon?(_: {}): any;
|
|
12
22
|
}>;
|
|
13
23
|
export default _default;
|
|
24
|
+
type __VLS_WithDefaults<P, D> = {
|
|
25
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
26
|
+
default: D[K];
|
|
27
|
+
}> : P[K];
|
|
28
|
+
};
|
|
29
|
+
type __VLS_Prettify<T> = {
|
|
30
|
+
[K in keyof T]: T[K];
|
|
31
|
+
} & {};
|
|
14
32
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
15
33
|
new (): {
|
|
16
34
|
$slots: S;
|
|
@@ -9,12 +9,12 @@ import { computed } from 'vue'
|
|
|
9
9
|
import { usePlayerMediaApi } from '../composables/private/usePlayerMediaApi'
|
|
10
10
|
import { formatTime } from '@maas/vue-equipment/utils'
|
|
11
11
|
|
|
12
|
-
interface
|
|
12
|
+
interface MagicPlayerDisplayTimeProps {
|
|
13
13
|
id: string
|
|
14
14
|
type: 'current' | 'remaining' | 'duration'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
const props = withDefaults(defineProps<
|
|
17
|
+
const props = withDefaults(defineProps<MagicPlayerDisplayTimeProps>(), {
|
|
18
18
|
type: 'current',
|
|
19
19
|
})
|
|
20
20
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface MagicPlayerDisplayTimeProps {
|
|
2
2
|
id: string;
|
|
3
3
|
type: 'current' | 'remaining' | 'duration';
|
|
4
4
|
}
|
|
5
|
-
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicPlayerDisplayTimeProps>, {
|
|
6
6
|
type: string;
|
|
7
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
7
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicPlayerDisplayTimeProps>, {
|
|
8
8
|
type: string;
|
|
9
9
|
}>>>, {
|
|
10
10
|
type: "current" | "duration" | "remaining";
|
|
@@ -18,24 +18,26 @@ import { shallowRef, onMounted, watch, computed, type Ref } from 'vue'
|
|
|
18
18
|
import { useDevicePixelRatio } from '@vueuse/core'
|
|
19
19
|
import { usePlayerControlsApi } from '../composables/private/usePlayerControlsApi'
|
|
20
20
|
|
|
21
|
-
type
|
|
21
|
+
type MagicPlayerMuxPopoverProps = {
|
|
22
22
|
id: string
|
|
23
23
|
playbackId: string
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
type Tile = {
|
|
27
|
+
start: number
|
|
28
|
+
x: number
|
|
29
|
+
y: number
|
|
30
|
+
}
|
|
31
|
+
|
|
26
32
|
type MuxStoryboard = {
|
|
27
33
|
url: string
|
|
28
34
|
tile_width: number
|
|
29
35
|
tile_height: number
|
|
30
36
|
duration: number
|
|
31
|
-
tiles:
|
|
32
|
-
start: number
|
|
33
|
-
x: number
|
|
34
|
-
y: number
|
|
35
|
-
}>
|
|
37
|
+
tiles: Tile[]
|
|
36
38
|
}
|
|
37
39
|
|
|
38
|
-
const props = defineProps<
|
|
40
|
+
const props = defineProps<MagicPlayerMuxPopoverProps>()
|
|
39
41
|
|
|
40
42
|
const { seekedTime } = usePlayerControlsApi({ id: props.id })
|
|
41
43
|
const { pixelRatio } = useDevicePixelRatio()
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
type
|
|
1
|
+
type MagicPlayerMuxPopoverProps = {
|
|
2
2
|
id: string;
|
|
3
3
|
playbackId: string;
|
|
4
4
|
};
|
|
5
|
-
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<MagicPlayerMuxPopoverProps>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerMuxPopoverProps>>>, {}, {}>;
|
|
6
6
|
export default _default;
|
|
7
7
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
8
|
type __VLS_TypePropsToOption<T> = {
|
|
@@ -43,11 +43,11 @@ import IconWaiting from './icons/Waiting.vue'
|
|
|
43
43
|
import { usePlayerMediaApi } from '../composables/private/usePlayerMediaApi'
|
|
44
44
|
import { usePlayerVideoApi } from '../composables/private/usePlayerVideoApi'
|
|
45
45
|
|
|
46
|
-
interface
|
|
46
|
+
interface MagicPlayerOverlayProps {
|
|
47
47
|
id: string
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
const props = defineProps<
|
|
50
|
+
const props = defineProps<MagicPlayerOverlayProps>()
|
|
51
51
|
|
|
52
52
|
const { playing, waiting } = usePlayerMediaApi({
|
|
53
53
|
id: props.id,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface MagicPlayerOverlayProps {
|
|
2
2
|
id: string;
|
|
3
3
|
}
|
|
4
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToOption<
|
|
4
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToOption<MagicPlayerOverlayProps>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerOverlayProps>>>, {}, {}>, {
|
|
5
5
|
default?(_: {}): any;
|
|
6
6
|
waitingIcon?(_: {}): any;
|
|
7
7
|
playIcon?(_: {}): any;
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
<script setup lang="ts">
|
|
39
39
|
import { usePlayerControlsApi } from '../composables/private/usePlayerControlsApi'
|
|
40
40
|
|
|
41
|
-
interface
|
|
41
|
+
interface MagicPlayerTimelineProps {
|
|
42
42
|
id: string
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
const props = defineProps<
|
|
45
|
+
const props = defineProps<MagicPlayerTimelineProps>()
|
|
46
46
|
|
|
47
47
|
const {
|
|
48
48
|
mouseEntered,
|
|
@@ -54,7 +54,6 @@ const {
|
|
|
54
54
|
onPointerdown,
|
|
55
55
|
onPointerup,
|
|
56
56
|
onPointermove,
|
|
57
|
-
trackRect,
|
|
58
57
|
} = usePlayerControlsApi({
|
|
59
58
|
id: props.id,
|
|
60
59
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
interface
|
|
1
|
+
interface MagicPlayerTimelineProps {
|
|
2
2
|
id: string;
|
|
3
3
|
}
|
|
4
|
-
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<
|
|
4
|
+
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<MagicPlayerTimelineProps>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<MagicPlayerTimelineProps>>>, {}, {}>;
|
|
5
5
|
export default _default;
|
|
6
6
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
7
7
|
type __VLS_TypePropsToOption<T> = {
|
|
@@ -110,6 +110,9 @@ export function usePlayerMediaApi(args) {
|
|
|
110
110
|
useEventListener(mediaRef, "stalled", () => {
|
|
111
111
|
stalled.value = true;
|
|
112
112
|
});
|
|
113
|
+
useEventListener(mediaRef, "suspend", () => {
|
|
114
|
+
waiting.value = false;
|
|
115
|
+
});
|
|
113
116
|
useEventListener(mediaRef, "ended", () => {
|
|
114
117
|
ended.value = true;
|
|
115
118
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type MaybeRef } from 'vue';
|
|
2
|
-
import type {
|
|
2
|
+
import type { MagicPlayerSourceType } from '../../types.js';
|
|
3
3
|
export type UsePlayerRuntimeArgs = {
|
|
4
4
|
id: MaybeRef<string>;
|
|
5
5
|
mediaRef?: MaybeRef<HTMLVideoElement | undefined>;
|
|
6
|
-
srcType?:
|
|
6
|
+
srcType?: MagicPlayerSourceType;
|
|
7
7
|
src?: string;
|
|
8
8
|
};
|
|
9
9
|
export declare function usePlayerRuntime(args: UsePlayerRuntimeArgs): {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ref, watch, toValue } from "vue";
|
|
2
2
|
import { usePlayerStateEmitter } from "./usePlayerStateEmitter.mjs";
|
|
3
|
+
import { useEventListener } from "@vueuse/core";
|
|
3
4
|
export function usePlayerRuntime(args) {
|
|
4
5
|
let hls;
|
|
5
6
|
const loaded = ref(false);
|
|
7
|
+
const defferedLoading = ref(false);
|
|
6
8
|
const { mediaRef, srcType, src } = args;
|
|
7
9
|
const useNative = () => {
|
|
8
10
|
const el = toValue(mediaRef);
|
|
@@ -16,22 +18,38 @@ export function usePlayerRuntime(args) {
|
|
|
16
18
|
},
|
|
17
19
|
{ once: true }
|
|
18
20
|
);
|
|
19
|
-
el.load();
|
|
20
21
|
};
|
|
21
22
|
const useHlsJS = async () => {
|
|
22
23
|
const el = toValue(mediaRef);
|
|
23
24
|
if (!el)
|
|
24
25
|
return;
|
|
26
|
+
useEventListener(mediaRef, "play", () => {
|
|
27
|
+
defferedLoading.value = true;
|
|
28
|
+
});
|
|
25
29
|
const { default: Hls } = await import("hls.js");
|
|
26
|
-
hls = new Hls();
|
|
30
|
+
hls = new Hls({ autoStartLoad: false });
|
|
27
31
|
if (!Hls.isSupported()) {
|
|
28
32
|
useNative();
|
|
29
33
|
} else if (src) {
|
|
30
|
-
hls.loadSource(src);
|
|
31
|
-
hls.attachMedia(el);
|
|
32
34
|
hls.on(Hls.Events.FRAG_LOADED, () => {
|
|
33
35
|
loaded.value = true;
|
|
34
36
|
});
|
|
37
|
+
hls.on(Hls.Events.MEDIA_ATTACHED, () => {
|
|
38
|
+
toValue(mediaRef)?.dispatchEvent(new Event("suspend"));
|
|
39
|
+
});
|
|
40
|
+
hls.on(Hls.Events.MANIFEST_PARSED, () => {
|
|
41
|
+
if (defferedLoading.value) {
|
|
42
|
+
hls?.startLoad();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
useEventListener(mediaRef, "pause", () => {
|
|
46
|
+
hls?.stopLoad();
|
|
47
|
+
});
|
|
48
|
+
useEventListener(mediaRef, "play", () => {
|
|
49
|
+
hls?.startLoad();
|
|
50
|
+
});
|
|
51
|
+
hls.loadSource(src);
|
|
52
|
+
hls.attachMedia(el);
|
|
35
53
|
}
|
|
36
54
|
};
|
|
37
55
|
function initialize() {
|
|
@@ -43,6 +61,7 @@ export function usePlayerRuntime(args) {
|
|
|
43
61
|
}
|
|
44
62
|
function destroy() {
|
|
45
63
|
hls?.destroy();
|
|
64
|
+
defferedLoading.value = false;
|
|
46
65
|
}
|
|
47
66
|
const emitter = usePlayerStateEmitter();
|
|
48
67
|
emitter.on("update", (payload) => {
|
|
@@ -3,10 +3,10 @@ import MagicScrollScene from './src/components/MagicScrollScene.vue.js';
|
|
|
3
3
|
import MagicScrollTransform from './src/components/MagicScrollTransform.vue.js';
|
|
4
4
|
import MagicScrollMotion from './src/components/MagicScrollMotion.vue.js';
|
|
5
5
|
import MagicScrollCollision from './src/components/MagicScrollCollision.vue.js';
|
|
6
|
-
import { useCollisionDetect } from './src/composables/useCollisionDetect.js';
|
|
6
|
+
import { useCollisionDetect } from './src/composables/private/useCollisionDetect.js';
|
|
7
7
|
import { MagicScrollParent, MagicScrollProgress, MagicScrollReturn } from './src/symbols/index.js';
|
|
8
|
+
import type { MagicScrollCollisionEntry } from './src/types/index.js';
|
|
8
9
|
import type { Plugin } from 'vue';
|
|
9
10
|
declare const MagicScrollPlugin: Plugin;
|
|
10
11
|
export { MagicScrollPlugin, MagicScrollProvider, MagicScrollScene, MagicScrollTransform, MagicScrollMotion, MagicScrollCollision, useCollisionDetect, MagicScrollParent, MagicScrollProgress, MagicScrollReturn, };
|
|
11
|
-
export
|
|
12
|
-
export type * from './src/types/index';
|
|
12
|
+
export type { MagicScrollCollisionEntry };
|
|
@@ -3,7 +3,7 @@ import MagicScrollScene from "./src/components/MagicScrollScene.vue";
|
|
|
3
3
|
import MagicScrollTransform from "./src/components/MagicScrollTransform.vue";
|
|
4
4
|
import MagicScrollMotion from "./src/components/MagicScrollMotion.vue";
|
|
5
5
|
import MagicScrollCollision from "./src/components/MagicScrollCollision.vue";
|
|
6
|
-
import { useCollisionDetect } from "./src/composables/useCollisionDetect.mjs";
|
|
6
|
+
import { useCollisionDetect } from "./src/composables/private/useCollisionDetect.mjs";
|
|
7
7
|
import {
|
|
8
8
|
MagicScrollParent,
|
|
9
9
|
MagicScrollProgress,
|
|
@@ -30,4 +30,3 @@ export {
|
|
|
30
30
|
MagicScrollProgress,
|
|
31
31
|
MagicScrollReturn
|
|
32
32
|
};
|
|
33
|
-
export * from "./src/symbols/index.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="
|
|
2
|
+
<div ref="elRef" :style="{ display: 'contents' }">
|
|
3
3
|
<slot />
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
@@ -7,22 +7,26 @@
|
|
|
7
7
|
<script setup lang="ts">
|
|
8
8
|
import { ref, inject, computed, onMounted } from 'vue'
|
|
9
9
|
import { toValue } from '@vueuse/core'
|
|
10
|
-
import { useCollisionDetect } from '../composables/useCollisionDetect'
|
|
10
|
+
import { useCollisionDetect } from '../composables/private/useCollisionDetect'
|
|
11
11
|
import { MagicScrollReturn } from '../symbols'
|
|
12
12
|
|
|
13
|
-
import type {
|
|
13
|
+
import type { MagicScrollCollisionEntry } from '../types'
|
|
14
14
|
|
|
15
15
|
interface Props {
|
|
16
|
-
|
|
16
|
+
entries: MagicScrollCollisionEntry[]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
const props = defineProps<Props>()
|
|
20
|
-
const
|
|
20
|
+
const elRef = ref<HTMLElement | undefined>(undefined)
|
|
21
21
|
|
|
22
22
|
const scrollReturn = inject(MagicScrollReturn, undefined)
|
|
23
|
-
const
|
|
23
|
+
const scrollY = computed(() => toValue(scrollReturn?.y) || 0)
|
|
24
24
|
|
|
25
25
|
onMounted(() => {
|
|
26
|
-
useCollisionDetect(
|
|
26
|
+
useCollisionDetect({
|
|
27
|
+
scrollY,
|
|
28
|
+
entries: props.entries,
|
|
29
|
+
parent: toValue(elRef),
|
|
30
|
+
})
|
|
27
31
|
})
|
|
28
32
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MagicScrollCollisionEntry } from '../types';
|
|
2
2
|
interface Props {
|
|
3
|
-
|
|
3
|
+
entries: MagicScrollCollisionEntry[];
|
|
4
4
|
}
|
|
5
5
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}, {}>, {
|
|
6
6
|
default?(_: {}): any;
|
|
@@ -15,14 +15,14 @@ import {
|
|
|
15
15
|
} from 'motion'
|
|
16
16
|
import { MagicScrollProgress } from '../symbols'
|
|
17
17
|
|
|
18
|
-
interface
|
|
18
|
+
interface MagicScrollMotionProps {
|
|
19
19
|
keyframes?: MotionKeyframesDefinition
|
|
20
20
|
offset?: number[]
|
|
21
21
|
easing?: Easing
|
|
22
22
|
progress?: number
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
const props = withDefaults(defineProps<
|
|
25
|
+
const props = withDefaults(defineProps<MagicScrollMotionProps>(), {
|
|
26
26
|
easing: 'linear',
|
|
27
27
|
})
|
|
28
28
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type MotionKeyframesDefinition, type Easing } from 'motion';
|
|
2
|
-
interface
|
|
2
|
+
interface MagicScrollMotionProps {
|
|
3
3
|
keyframes?: MotionKeyframesDefinition;
|
|
4
4
|
offset?: number[];
|
|
5
5
|
easing?: Easing;
|
|
6
6
|
progress?: number;
|
|
7
7
|
}
|
|
8
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
8
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollMotionProps>, {
|
|
9
9
|
easing: string;
|
|
10
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
10
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollMotionProps>, {
|
|
11
11
|
easing: string;
|
|
12
12
|
}>>>, {
|
|
13
13
|
easing: Easing;
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
} from '@vueuse/core'
|
|
14
14
|
import { MagicScrollReturn, MagicScrollParent } from '../symbols'
|
|
15
15
|
|
|
16
|
-
interface
|
|
16
|
+
interface MagicScrollProviderProps {
|
|
17
17
|
active?: Boolean
|
|
18
18
|
el?: MaybeComputedElementRef<HTMLElement>
|
|
19
19
|
}
|
|
20
|
-
const props = withDefaults(defineProps<
|
|
20
|
+
const props = withDefaults(defineProps<MagicScrollProviderProps>(), {
|
|
21
21
|
active: () => true,
|
|
22
22
|
})
|
|
23
23
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type MaybeComputedElementRef } from '@vueuse/core';
|
|
2
|
-
interface
|
|
2
|
+
interface MagicScrollProviderProps {
|
|
3
3
|
active?: Boolean;
|
|
4
4
|
el?: MaybeComputedElementRef<HTMLElement>;
|
|
5
5
|
}
|
|
6
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
6
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollProviderProps>, {
|
|
7
7
|
active: () => true;
|
|
8
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
8
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollProviderProps>, {
|
|
9
9
|
active: () => true;
|
|
10
10
|
}>>>, {
|
|
11
11
|
active: Boolean;
|
|
@@ -16,13 +16,13 @@ import {
|
|
|
16
16
|
|
|
17
17
|
import type { FromTo } from '../types'
|
|
18
18
|
|
|
19
|
-
interface
|
|
19
|
+
interface MagicScrollSceneProps {
|
|
20
20
|
from?: FromTo
|
|
21
21
|
to?: FromTo
|
|
22
22
|
debug?: boolean
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
const props = withDefaults(defineProps<
|
|
25
|
+
const props = withDefaults(defineProps<MagicScrollSceneProps>(), {
|
|
26
26
|
from: 'top-bottom',
|
|
27
27
|
to: 'bottom-top',
|
|
28
28
|
})
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { FromTo } from '../types';
|
|
2
|
-
interface
|
|
2
|
+
interface MagicScrollSceneProps {
|
|
3
3
|
from?: FromTo;
|
|
4
4
|
to?: FromTo;
|
|
5
5
|
debug?: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
7
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollSceneProps>, {
|
|
8
8
|
from: string;
|
|
9
9
|
to: string;
|
|
10
|
-
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<
|
|
10
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<MagicScrollSceneProps>, {
|
|
11
11
|
from: string;
|
|
12
12
|
to: string;
|
|
13
13
|
}>>>, {
|