@maas/vue-equipment 1.0.0-beta.27 → 1.0.0-beta.28

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment/nuxt",
3
3
  "configKey": "vueEquipment",
4
- "version": "1.0.0-beta.26",
4
+ "version": "1.0.0-beta.27",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.1",
7
7
  "unbuild": "unknown"
@@ -1,6 +1,5 @@
1
1
  <template>
2
2
  <div
3
- ref="el"
4
3
  class="magic-player-video-controls"
5
4
  :data-fullscreen="fullscreen"
6
5
  :data-touched="touched"
@@ -85,7 +84,7 @@ import {
85
84
  useTemplateRef,
86
85
  onBeforeUnmount
87
86
  } from "vue";
88
- import { useElementVisibility, useIdle } from "@vueuse/core";
87
+ import { useIdle } from "@vueuse/core";
89
88
  import IconPlay from "./icons/Play.vue";
90
89
  import IconPause from "./icons/Pause.vue";
91
90
  import IconVolumeOn from "./icons/VolumeOn.vue";
@@ -150,18 +149,17 @@ const { initialize, destroy, onMouseenter, onMouseleave } = usePlayerControlsApi
150
149
  trackRef,
151
150
  popoverRef
152
151
  });
153
- const elRef = useTemplateRef("el");
154
- const isVisible = useElementVisibility(elRef);
155
152
  const { idle } = useIdle(injectedOptions?.threshold?.idle);
156
153
  const visible = computed(() => {
157
154
  switch (true) {
158
155
  case standalone:
159
156
  return true;
160
- case !isVisible.value:
161
157
  case (hasOverlay.value && !started.value):
162
158
  case (playing.value && idle.value):
163
159
  case (playing.value && !mouseEntered.value && !controlsMouseEntered.value):
164
- case (injectedOptions?.autoplay && (!started.value || !mouseEntered.value)):
160
+ case (injectedOptions?.autoplay && !started.value):
161
+ case (injectedOptions?.autoplay && !mouseEntered.value):
162
+ case (injectedOptions?.autoplay && !mouseEntered.value && !touched.value):
165
163
  return false;
166
164
  default:
167
165
  return true;
@@ -1,6 +1,5 @@
1
1
  import { type MaybeRef } from 'vue';
2
2
  export declare function usePlayerProvider(id: MaybeRef<string>): {
3
- onTouchstart: () => void;
4
3
  onMouseenter: () => void;
5
4
  onMouseleave: () => void;
6
5
  onPointerdown: () => void;
@@ -1,21 +1,19 @@
1
1
  import { toRefs } from "vue";
2
2
  import { useEventListener } from "@vueuse/core";
3
+ import { isIOS } from "@maas/vue-equipment/utils";
3
4
  import { usePlayerState } from "./usePlayerState.mjs";
4
5
  export function usePlayerProvider(id) {
5
6
  const { initializeState } = usePlayerState(id);
6
7
  const state = initializeState();
7
8
  const { mouseEntered, touched } = toRefs(state);
9
+ let cancelPointerup = void 0;
8
10
  let cancelTouchend = void 0;
9
- function onTouchend() {
11
+ function onPointerup() {
12
+ touched.value = false;
13
+ cancelPointerup?.();
10
14
  cancelTouchend?.();
15
+ cancelPointerup = void 0;
11
16
  cancelTouchend = void 0;
12
- mouseEntered.value = false;
13
- }
14
- function onTouchstart() {
15
- mouseEntered.value = true;
16
- cancelTouchend = useEventListener(document, "touchend", onTouchend, {
17
- passive: true
18
- });
19
17
  }
20
18
  function onMouseenter() {
21
19
  mouseEntered.value = true;
@@ -25,9 +23,10 @@ export function usePlayerProvider(id) {
25
23
  }
26
24
  function onPointerdown() {
27
25
  touched.value = true;
26
+ cancelPointerup = useEventListener(document, "pointerup", onPointerup);
27
+ cancelTouchend = isIOS() ? useEventListener(document, "touchend", onPointerup) : void 0;
28
28
  }
29
29
  return {
30
- onTouchstart,
31
30
  onMouseenter,
32
31
  onMouseleave,
33
32
  onPointerdown
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maas/vue-equipment",
3
3
  "description": "Our Frontend Toolkit, Free and Open Source",
4
- "version": "1.0.0-beta.27",
4
+ "version": "1.0.0-beta.28",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Robin Scholz",