@vindral/web-sdk 4.3.3 → 4.4.0-1-g326623f9

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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.3.3",
2
+ "version": "4.4.0-1-g326623f9",
3
3
  "name": "@vindral/web-sdk",
4
4
  "main": "./legacy.umd.js",
5
5
  "module": "./legacy.es.js",
package/player.d.ts CHANGED
@@ -1859,11 +1859,25 @@ declare class Fullscreen extends Emitter<FullscreenEvents> {
1859
1859
  private get requestFn();
1860
1860
  private get exitFn();
1861
1861
  }
1862
+ /** A timeline marker as rendered by the seek bar, time normalized to epoch ms. */
1863
+ export interface TimelineMarker {
1864
+ /** Wall-clock time of the event in epoch ms */
1865
+ time: number;
1866
+ label: string;
1867
+ type?: string;
1868
+ }
1869
+ /** Accepted input shape for the public timelineMarkers API. */
1870
+ export interface TimelineMarkerInput {
1871
+ /** Wall-clock time of the event as epoch ms, ISO 8601 string or Date */
1872
+ time: number | string | Date;
1873
+ label: string;
1874
+ type?: string;
1875
+ }
1862
1876
  type ControllerAttributes = (typeof Controller.observedAttributes)[number];
1863
1877
  export declare class Controller extends HTMLElement {
1864
1878
  #private;
1865
1879
  static observedAttributes: readonly [
1866
- ...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state")[],
1880
+ ...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "timeline-markers" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state")[],
1867
1881
  "url",
1868
1882
  "edge-url",
1869
1883
  "target-buffer-time",
@@ -1913,6 +1927,16 @@ export declare class Controller extends HTMLElement {
1913
1927
  get instance(): Vindral | undefined;
1914
1928
  get fullscreen(): Fullscreen | undefined;
1915
1929
  get airPlay(): AirPlaySender | undefined;
1930
+ /**
1931
+ * Markers rendered on the seek bar timeline, normalized to epoch ms times.
1932
+ */
1933
+ get timelineMarkers(): TimelineMarker[];
1934
+ /**
1935
+ * Replaces the markers rendered on the seek bar timeline. Marker times are
1936
+ * wall-clock times (epoch ms, ISO 8601 string or Date); markers outside the
1937
+ * timeshift window are ignored until they slide into view.
1938
+ */
1939
+ set timelineMarkers(markers: TimelineMarkerInput[]);
1916
1940
  connect(): void;
1917
1941
  }
1918
1942
  export declare class FullscreenButton extends VindralButton {
@@ -1985,13 +2009,23 @@ export declare class PlayButton extends VindralButton {
1985
2009
  */
1986
2010
  export declare class Player extends HTMLElement {
1987
2011
  #private;
1988
- static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state" | "url" | "decoders" | "min-buffer-time" | "max-buffer-time" | "edge-url" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "stream-to-media-element-enabled" | "ios-media-element-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
2012
+ static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "timeline-markers" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state" | "url" | "decoders" | "min-buffer-time" | "max-buffer-time" | "edge-url" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "stream-to-media-element-enabled" | "ios-media-element-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
1989
2013
  constructor();
1990
2014
  connectedCallback(): void;
1991
2015
  disconnectedCallback(): void;
1992
2016
  attributeChangedCallback(name: string, oldValue?: string, newValue?: string): void;
1993
2017
  get instance(): Vindral | undefined;
1994
2018
  get airPlay(): AirPlaySender | undefined;
2019
+ /**
2020
+ * Markers rendered on the seek bar timeline, normalized to epoch ms times.
2021
+ */
2022
+ get timelineMarkers(): TimelineMarker[];
2023
+ /**
2024
+ * Replaces the markers rendered on the seek bar timeline. Marker times are
2025
+ * wall-clock times (epoch ms, ISO 8601 string or Date); markers outside the
2026
+ * timeshift window are ignored until they slide into view.
2027
+ */
2028
+ set timelineMarkers(markers: TimelineMarkerInput[]);
1995
2029
  }
1996
2030
  type PosterOverlayAttributes = (typeof PosterOverlay.observedAttributes)[number];
1997
2031
  export declare class PosterOverlay extends HTMLElement {
package/player.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./BFPgdE3l.js";
2
- import "./_2aj2ylj.js";
3
- import { t } from "./DAKX3dD2.js";
1
+ import { t as e } from "./C2-H3s2r.js";
2
+ import "./DouCsRwR.js";
3
+ import { t } from "./CIfCv3_W.js";
4
4
  export { t as registerComponents, e as registerDebugComponents };
package/react.d.ts CHANGED
@@ -1870,11 +1870,23 @@ declare class Fullscreen extends Emitter<FullscreenEvents> {
1870
1870
  private get requestFn();
1871
1871
  private get exitFn();
1872
1872
  }
1873
+ interface TimelineMarker {
1874
+ /** Wall-clock time of the event in epoch ms */
1875
+ time: number;
1876
+ label: string;
1877
+ type?: string;
1878
+ }
1879
+ interface TimelineMarkerInput {
1880
+ /** Wall-clock time of the event as epoch ms, ISO 8601 string or Date */
1881
+ time: number | string | Date;
1882
+ label: string;
1883
+ type?: string;
1884
+ }
1873
1885
  type ControllerAttributes = (typeof Controller.observedAttributes)[number];
1874
1886
  declare class Controller extends HTMLElement {
1875
1887
  #private;
1876
1888
  static observedAttributes: readonly [
1877
- ...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state")[],
1889
+ ...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "timeline-markers" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state")[],
1878
1890
  "url",
1879
1891
  "edge-url",
1880
1892
  "target-buffer-time",
@@ -1924,6 +1936,16 @@ declare class Controller extends HTMLElement {
1924
1936
  get instance(): Vindral | undefined;
1925
1937
  get fullscreen(): Fullscreen | undefined;
1926
1938
  get airPlay(): AirPlaySender | undefined;
1939
+ /**
1940
+ * Markers rendered on the seek bar timeline, normalized to epoch ms times.
1941
+ */
1942
+ get timelineMarkers(): TimelineMarker[];
1943
+ /**
1944
+ * Replaces the markers rendered on the seek bar timeline. Marker times are
1945
+ * wall-clock times (epoch ms, ISO 8601 string or Date); markers outside the
1946
+ * timeshift window are ignored until they slide into view.
1947
+ */
1948
+ set timelineMarkers(markers: TimelineMarkerInput[]);
1927
1949
  connect(): void;
1928
1950
  }
1929
1951
  type FullscreenButtonAttributes = (typeof FullscreenButton.observedAttributes)[number];
@@ -1997,13 +2019,23 @@ declare class PlayButton extends VindralButton {
1997
2019
  type PlayerAttributes = (typeof Player.observedAttributes)[number];
1998
2020
  declare class Player extends HTMLElement {
1999
2021
  #private;
2000
- static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state" | "url" | "decoders" | "min-buffer-time" | "max-buffer-time" | "edge-url" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "stream-to-media-element-enabled" | "ios-media-element-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
2022
+ static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "double-click-fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "timeline-markers" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state" | "url" | "decoders" | "min-buffer-time" | "max-buffer-time" | "edge-url" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "stream-to-media-element-enabled" | "ios-media-element-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
2001
2023
  constructor();
2002
2024
  connectedCallback(): void;
2003
2025
  disconnectedCallback(): void;
2004
2026
  attributeChangedCallback(name: string, oldValue?: string, newValue?: string): void;
2005
2027
  get instance(): Vindral | undefined;
2006
2028
  get airPlay(): AirPlaySender | undefined;
2029
+ /**
2030
+ * Markers rendered on the seek bar timeline, normalized to epoch ms times.
2031
+ */
2032
+ get timelineMarkers(): TimelineMarker[];
2033
+ /**
2034
+ * Replaces the markers rendered on the seek bar timeline. Marker times are
2035
+ * wall-clock times (epoch ms, ISO 8601 string or Date); markers outside the
2036
+ * timeshift window are ignored until they slide into view.
2037
+ */
2038
+ set timelineMarkers(markers: TimelineMarkerInput[]);
2007
2039
  }
2008
2040
  type PosterOverlayAttributes = (typeof PosterOverlay.observedAttributes)[number];
2009
2041
  declare class PosterOverlay extends HTMLElement {
@@ -1,5 +1,5 @@
1
- import "./_2aj2ylj.js";
2
- import { t as e } from "./DAKX3dD2.js";
1
+ import "./DouCsRwR.js";
2
+ import { t as e } from "./CIfCv3_W.js";
3
3
  //#region src/vindral-player-component.ts
4
4
  e();
5
5
  //#endregion