@hh.ru/magritte-ui-video 1.0.1 → 1.0.2

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.
@@ -0,0 +1,31 @@
1
+ import './../index.css';
2
+ import { useEffect } from 'react';
3
+
4
+ const VISIBLE_RATIO = 0.1;
5
+ const useViewportVisibility = (ref, store, enabled) => {
6
+ useEffect(() => {
7
+ const element = ref.current;
8
+ if (!enabled || !element) {
9
+ return void 0;
10
+ }
11
+ if (typeof IntersectionObserver === "undefined") {
12
+ store.setVisible(true);
13
+ return () => store.setVisible(null);
14
+ }
15
+ const observer = new IntersectionObserver(
16
+ (entries) => {
17
+ const entry = entries[entries.length - 1];
18
+ store.setVisible(entry.isIntersecting && entry.intersectionRatio >= VISIBLE_RATIO);
19
+ },
20
+ { threshold: [0, VISIBLE_RATIO] }
21
+ );
22
+ observer.observe(element);
23
+ return () => {
24
+ observer.disconnect();
25
+ store.setVisible(null);
26
+ };
27
+ }, [ref, store, enabled]);
28
+ };
29
+
30
+ export { VISIBLE_RATIO, useViewportVisibility };
31
+ //# sourceMappingURL=useViewportVisibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewportVisibility.js","sources":["src/internal/useViewportVisibility.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\nimport { type VideoStore } from '@hh.ru/magritte-ui-video/internal/store';\n\n/** Плеер считается видимым, когда во вьюпорт попала эта доля его площади */\nexport const VISIBLE_RATIO = 0.1;\n\n/** Сообщает стору видимость плеера во вьюпорте — по ней работают автовоспроизведение и автопауза */\nexport const useViewportVisibility = (ref: RefObject<HTMLElement>, store: VideoStore, enabled: boolean): void => {\n useEffect(() => {\n const element = ref.current;\n if (!enabled || !element) {\n return undefined;\n }\n // без IntersectionObserver видимость не узнать — считаем плеер видимым, чтобы автовоспроизведение работало\n if (typeof IntersectionObserver === 'undefined') {\n store.setVisible(true);\n return () => store.setVisible(null);\n }\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[entries.length - 1];\n store.setVisible(entry.isIntersecting && entry.intersectionRatio >= VISIBLE_RATIO);\n },\n { threshold: [0, VISIBLE_RATIO] }\n );\n observer.observe(element);\n return () => {\n observer.disconnect();\n store.setVisible(null);\n };\n }, [ref, store, enabled]);\n};\n"],"names":[],"mappings":";;AAKO,MAAM,aAAgB,GAAA,IAAA;AAGtB,MAAM,qBAAwB,GAAA,CAAC,GAA6B,EAAA,KAAA,EAAmB,OAA2B,KAAA;AAC7G,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,MAAM,UAAU,GAAI,CAAA,OAAA,CAAA;AACpB,IAAI,IAAA,CAAC,OAAW,IAAA,CAAC,OAAS,EAAA;AACtB,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACX;AAEA,IAAI,IAAA,OAAO,yBAAyB,WAAa,EAAA;AAC7C,MAAA,KAAA,CAAM,WAAW,IAAI,CAAA,CAAA;AACrB,MAAO,OAAA,MAAM,KAAM,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,KACtC;AACA,IAAA,MAAM,WAAW,IAAI,oBAAA;AAAA,MACjB,CAAC,OAAY,KAAA;AACT,QAAA,MAAM,KAAQ,GAAA,OAAA,CAAQ,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AACxC,QAAA,KAAA,CAAM,UAAW,CAAA,KAAA,CAAM,cAAkB,IAAA,KAAA,CAAM,qBAAqB,aAAa,CAAA,CAAA;AAAA,OACrF;AAAA,MACA,EAAE,SAAA,EAAW,CAAC,CAAA,EAAG,aAAa,CAAE,EAAA;AAAA,KACpC,CAAA;AACA,IAAA,QAAA,CAAS,QAAQ,OAAO,CAAA,CAAA;AACxB,IAAA,OAAO,MAAM;AACT,MAAA,QAAA,CAAS,UAAW,EAAA,CAAA;AACpB,MAAA,KAAA,CAAM,WAAW,IAAI,CAAA,CAAA;AAAA,KACzB,CAAA;AAAA,GACD,EAAA,CAAC,GAAK,EAAA,KAAA,EAAO,OAAO,CAAC,CAAA,CAAA;AAC5B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-video",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -41,5 +41,5 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "8698a3192e8b1e240ed711246219b782df00195e"
44
+ "gitHead": "815900ad0a3f7936efeab31da95a22a2f814a1ba"
45
45
  }
package/types.d.ts CHANGED
@@ -44,6 +44,40 @@ export interface VideoProps {
44
44
  * источник у `<video>`. Функция читается при подключении элемента: чтобы переподключить источник, смените `src`
45
45
  */
46
46
  attachMedia?: VideoAttachMedia;
47
+ /**
48
+ * Автовоспроизведение: видео запускается без звука, когда во вьюпорт попадает 10% плеера. Звук остаётся
49
+ * выключенным, пока его не включит пользователь. После паузы пользователем само не запускается
50
+ * @default false
51
+ */
52
+ autoPlay?: boolean;
53
+ /**
54
+ * Автопауза: видео ставится на паузу, когда в вьюпорте остаётся меньше 10% плеера. С `autoPlay` видео
55
+ * продолжается, когда плеер возвращается во вьюпорт
56
+ * @default false
57
+ */
58
+ autoPause?: boolean;
59
+ /**
60
+ * Зацикленное воспроизведение: по окончании видео запускается сначала, `onEnded` не вызывается
61
+ * @default false
62
+ */
63
+ loop?: boolean;
64
+ /**
65
+ * Звук выключен на старте. Читается при монтировании; дальше звуком управляет пользователь.
66
+ * С `autoPlay` и `interactive={false}` звук выключен всегда
67
+ * @default false
68
+ */
69
+ defaultMuted?: boolean;
70
+ /**
71
+ * Громкость на старте, от 0 до 1. Читается при монтировании; дальше громкостью управляет пользователь
72
+ * @default 1
73
+ */
74
+ defaultVolume?: number;
75
+ /**
76
+ * `false` — неинтерактивный режим: видео запускается автоматически (как с `autoPlay`), зациклено и без звука,
77
+ * а пользователь не может им управлять — нет кнопок, контролов, жестов и горячих клавиш
78
+ * @default true
79
+ */
80
+ interactive?: boolean;
47
81
  /** Колбэк начала воспроизведения */
48
82
  onPlay?: VoidFunction;
49
83
  /** Колбэк паузы */
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var styles = {"player":"magritte-player___IHHy5_1-0-2","player-fit":"magritte-player-fit___TX-6X_1-0-2","playerFit":"magritte-player-fit___TX-6X_1-0-2","player-embedded":"magritte-player-embedded___GNvRb_1-0-2","playerEmbedded":"magritte-player-embedded___GNvRb_1-0-2","video":"magritte-video___4cS-u_1-0-2","video-hidden":"magritte-video-hidden___agqVq_1-0-2","videoHidden":"magritte-video-hidden___agqVq_1-0-2","overlay-button":"magritte-overlay-button___MIRAP_1-0-2","overlayButton":"magritte-overlay-button___MIRAP_1-0-2","duration":"magritte-duration___ND1ei_1-0-2","seek-indicator":"magritte-seek-indicator___VJQBC_1-0-2","seekIndicator":"magritte-seek-indicator___VJQBC_1-0-2","seek-indicator-forward":"magritte-seek-indicator-forward___9C5gD_1-0-2","seekIndicatorForward":"magritte-seek-indicator-forward___9C5gD_1-0-2","seek-indicator-backward":"magritte-seek-indicator-backward___gIZ0E_1-0-2","seekIndicatorBackward":"magritte-seek-indicator-backward___gIZ0E_1-0-2","seek-arrows":"magritte-seek-arrows___Ql1eP_1-0-2","seekArrows":"magritte-seek-arrows___Ql1eP_1-0-2","seek-arrow-incoming":"magritte-seek-arrow-incoming___oZxww_1-0-2","seekArrowIncoming":"magritte-seek-arrow-incoming___oZxww_1-0-2","seek-arrow-in":"magritte-seek-arrow-in___CB4-s_1-0-2","seekArrowIn":"magritte-seek-arrow-in___CB4-s_1-0-2","boost-indicator":"magritte-boost-indicator___ujllx_1-0-2","boostIndicator":"magritte-boost-indicator___ujllx_1-0-2","loader":"magritte-loader___qVu0P_1-0-2","error":"magritte-error___Rm7uG_1-0-2","overlay-button-hidden":"magritte-overlay-button-hidden___AoGFc_1-0-2","overlayButtonHidden":"magritte-overlay-button-hidden___AoGFc_1-0-2","controls":"magritte-controls___pKoSN_1-0-2","controls-hidden":"magritte-controls-hidden___bePTD_1-0-2","controlsHidden":"magritte-controls-hidden___bePTD_1-0-2","controls-mobile":"magritte-controls-mobile___tdKGT_1-0-2","controlsMobile":"magritte-controls-mobile___tdKGT_1-0-2","controls-overlay":"magritte-controls-overlay___mRsJL_1-0-2","controlsOverlay":"magritte-controls-overlay___mRsJL_1-0-2","controls-row":"magritte-controls-row___2sdJg_1-0-2","controlsRow":"magritte-controls-row___2sdJg_1-0-2","controls-group-start":"magritte-controls-group-start___yY9ZA_1-0-2","controlsGroupStart":"magritte-controls-group-start___yY9ZA_1-0-2","controls-group-end":"magritte-controls-group-end___ziIm8_1-0-2","controlsGroupEnd":"magritte-controls-group-end___ziIm8_1-0-2","control-pill":"magritte-control-pill___hK8Mv_1-0-2","controlPill":"magritte-control-pill___hK8Mv_1-0-2","controls-time":"magritte-controls-time___e9zoz_1-0-2","controlsTime":"magritte-controls-time___e9zoz_1-0-2","controls-volume":"magritte-controls-volume___o4ajR_1-0-2","controlsVolume":"magritte-controls-volume___o4ajR_1-0-2","control-pill-bare":"magritte-control-pill-bare___lU9ev_1-0-2","controlPillBare":"magritte-control-pill-bare___lU9ev_1-0-2","control-button":"magritte-control-button___VJ2Qr_1-0-2","controlButton":"magritte-control-button___VJ2Qr_1-0-2","scrubber":"magritte-scrubber___-K3ik_1-0-2","scrubber-track":"magritte-scrubber-track___ki1zV_1-0-2","scrubberTrack":"magritte-scrubber-track___ki1zV_1-0-2","scrubber-buffered":"magritte-scrubber-buffered___ufvLe_1-0-2","scrubberBuffered":"magritte-scrubber-buffered___ufvLe_1-0-2","scrubber-progress":"magritte-scrubber-progress___ZIyew_1-0-2","scrubberProgress":"magritte-scrubber-progress___ZIyew_1-0-2","scrubber-thumb":"magritte-scrubber-thumb___VXyPP_1-0-2","scrubberThumb":"magritte-scrubber-thumb___VXyPP_1-0-2","scrubber-timecode":"magritte-scrubber-timecode___M-syA_1-0-2","scrubberTimecode":"magritte-scrubber-timecode___M-syA_1-0-2","volume-slider":"magritte-volume-slider___qE2P7_1-0-2","volumeSlider":"magritte-volume-slider___qE2P7_1-0-2","volume-track":"magritte-volume-track___up8nd_1-0-2","volumeTrack":"magritte-volume-track___up8nd_1-0-2","volume-value":"magritte-volume-value___aUSuU_1-0-2","volumeValue":"magritte-volume-value___aUSuU_1-0-2"};
3
+
4
+ export { styles as s };
5
+ //# sourceMappingURL=video-BnfN4Emx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-BnfN4Emx.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/video-C-iklAZX.js DELETED
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"player":"magritte-player___IHHy5_1-0-1","player-fit":"magritte-player-fit___TX-6X_1-0-1","playerFit":"magritte-player-fit___TX-6X_1-0-1","player-embedded":"magritte-player-embedded___GNvRb_1-0-1","playerEmbedded":"magritte-player-embedded___GNvRb_1-0-1","video":"magritte-video___4cS-u_1-0-1","video-hidden":"magritte-video-hidden___agqVq_1-0-1","videoHidden":"magritte-video-hidden___agqVq_1-0-1","overlay-button":"magritte-overlay-button___MIRAP_1-0-1","overlayButton":"magritte-overlay-button___MIRAP_1-0-1","duration":"magritte-duration___ND1ei_1-0-1","seek-indicator":"magritte-seek-indicator___VJQBC_1-0-1","seekIndicator":"magritte-seek-indicator___VJQBC_1-0-1","seek-indicator-forward":"magritte-seek-indicator-forward___9C5gD_1-0-1","seekIndicatorForward":"magritte-seek-indicator-forward___9C5gD_1-0-1","seek-indicator-backward":"magritte-seek-indicator-backward___gIZ0E_1-0-1","seekIndicatorBackward":"magritte-seek-indicator-backward___gIZ0E_1-0-1","seek-arrows":"magritte-seek-arrows___Ql1eP_1-0-1","seekArrows":"magritte-seek-arrows___Ql1eP_1-0-1","seek-arrow-incoming":"magritte-seek-arrow-incoming___oZxww_1-0-1","seekArrowIncoming":"magritte-seek-arrow-incoming___oZxww_1-0-1","seek-arrow-in":"magritte-seek-arrow-in___CB4-s_1-0-1","seekArrowIn":"magritte-seek-arrow-in___CB4-s_1-0-1","boost-indicator":"magritte-boost-indicator___ujllx_1-0-1","boostIndicator":"magritte-boost-indicator___ujllx_1-0-1","loader":"magritte-loader___qVu0P_1-0-1","error":"magritte-error___Rm7uG_1-0-1","overlay-button-hidden":"magritte-overlay-button-hidden___AoGFc_1-0-1","overlayButtonHidden":"magritte-overlay-button-hidden___AoGFc_1-0-1","controls":"magritte-controls___pKoSN_1-0-1","controls-hidden":"magritte-controls-hidden___bePTD_1-0-1","controlsHidden":"magritte-controls-hidden___bePTD_1-0-1","controls-mobile":"magritte-controls-mobile___tdKGT_1-0-1","controlsMobile":"magritte-controls-mobile___tdKGT_1-0-1","controls-overlay":"magritte-controls-overlay___mRsJL_1-0-1","controlsOverlay":"magritte-controls-overlay___mRsJL_1-0-1","controls-row":"magritte-controls-row___2sdJg_1-0-1","controlsRow":"magritte-controls-row___2sdJg_1-0-1","controls-group-start":"magritte-controls-group-start___yY9ZA_1-0-1","controlsGroupStart":"magritte-controls-group-start___yY9ZA_1-0-1","controls-group-end":"magritte-controls-group-end___ziIm8_1-0-1","controlsGroupEnd":"magritte-controls-group-end___ziIm8_1-0-1","control-pill":"magritte-control-pill___hK8Mv_1-0-1","controlPill":"magritte-control-pill___hK8Mv_1-0-1","controls-time":"magritte-controls-time___e9zoz_1-0-1","controlsTime":"magritte-controls-time___e9zoz_1-0-1","controls-volume":"magritte-controls-volume___o4ajR_1-0-1","controlsVolume":"magritte-controls-volume___o4ajR_1-0-1","control-pill-bare":"magritte-control-pill-bare___lU9ev_1-0-1","controlPillBare":"magritte-control-pill-bare___lU9ev_1-0-1","control-button":"magritte-control-button___VJ2Qr_1-0-1","controlButton":"magritte-control-button___VJ2Qr_1-0-1","scrubber":"magritte-scrubber___-K3ik_1-0-1","scrubber-track":"magritte-scrubber-track___ki1zV_1-0-1","scrubberTrack":"magritte-scrubber-track___ki1zV_1-0-1","scrubber-buffered":"magritte-scrubber-buffered___ufvLe_1-0-1","scrubberBuffered":"magritte-scrubber-buffered___ufvLe_1-0-1","scrubber-progress":"magritte-scrubber-progress___ZIyew_1-0-1","scrubberProgress":"magritte-scrubber-progress___ZIyew_1-0-1","scrubber-thumb":"magritte-scrubber-thumb___VXyPP_1-0-1","scrubberThumb":"magritte-scrubber-thumb___VXyPP_1-0-1","scrubber-timecode":"magritte-scrubber-timecode___M-syA_1-0-1","scrubberTimecode":"magritte-scrubber-timecode___M-syA_1-0-1","volume-slider":"magritte-volume-slider___qE2P7_1-0-1","volumeSlider":"magritte-volume-slider___qE2P7_1-0-1","volume-track":"magritte-volume-track___up8nd_1-0-1","volumeTrack":"magritte-volume-track___up8nd_1-0-1","volume-value":"magritte-volume-value___aUSuU_1-0-1","volumeValue":"magritte-volume-value___aUSuU_1-0-1"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=video-C-iklAZX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video-C-iklAZX.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}